mrpj 0.2.10 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVuLXByb2plY3Qtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9qZW4tcHJvamVjdC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5pbXBvcnQgdHlwZSB7IGNkaywgZ2l0aHViLCBHaXRPcHRpb25zLCBHcm91cFJ1bm5lck9wdGlvbnMsIElnbm9yZUZpbGVPcHRpb25zLCBqYXZhc2NyaXB0LCBMb2dnZXJPcHRpb25zLCBQcm9qZWN0LCBQcm9qZW5yY0pzb25PcHRpb25zLCByZWxlYXNlLCBSZW5vdmF0ZWJvdE9wdGlvbnMsIFNhbXBsZVJlYWRtZVByb3BzLCB0eXBlc2NyaXB0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB0eXBlIHsgbG9nbyB9IGZyb20gJy4vJztcblxuLyoqXG4gKiBQcm9qZW5Qcm9qZWN0T3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2plblByb2plY3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIEBkZWZhdWx0IFwiLlwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByb290ZGlyPzogc3RyaW5nO1xuICAvKipcbiAgICogUHVibGlzaCB0byBweXBpLlxuICAgKiBAZGVmYXVsdCAtIG5vIHB1Ymxpc2hpbmdcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUb1B5cGk/OiBjZGsuSnNpaVB5dGhvblRhcmdldDtcbiAgLyoqXG4gICAqIFB1Ymxpc2ggdG8gTnVHZXQuXG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvTnVnZXQ/OiBjZGsuSnNpaURvdE5ldFRhcmdldDtcbiAgLyoqXG4gICAqIFB1Ymxpc2ggdG8gbWF2ZW4uXG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvTWF2ZW4/OiBjZGsuSnNpaUphdmFUYXJnZXQ7XG4gIC8qKlxuICAgKiBQdWJsaXNoIEdvIGJpbmRpbmdzIHRvIGEgZ2l0IHJlcG9zaXRvcnkuXG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvR28/OiBjZGsuSnNpaUdvVGFyZ2V0O1xuICAvKipcbiAgICogQWNjZXB0cyBhIGxpc3Qgb2YgZ2xvYiBwYXR0ZXJucy5cbiAgICogRmlsZXMgbWF0Y2hpbmcgYW55IG9mIHRob3NlIHBhdHRlcm5zIHdpbGwgYmUgZXhjbHVkZWQgZnJvbSB0aGUgVHlwZVNjcmlwdCBjb21waWxlciBpbnB1dC5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwganNpaSB3aWxsIGluY2x1ZGUgYWxsICoudHMgZmlsZXMgKGV4Y2VwdCAuZC50cyBmaWxlcykgaW4gdGhlIFR5cGVTY3JpcHQgY29tcGlsZXIgaW5wdXQuXG4gICAqIFRoaXMgY2FuIGJlIHByb2JsZW1hdGljIGZvciBleGFtcGxlIHdoZW4gdGhlIHBhY2thZ2UncyBidWlsZCBvciB0ZXN0IHByb2NlZHVyZSBnZW5lcmF0ZXMgLnRzIGZpbGVzXG4gICAqIHRoYXQgY2Fubm90IGJlIGNvbXBpbGVkIHdpdGgganNpaSdzIGNvbXBpbGVyIHNldHRpbmdzLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhjbHVkZVR5cGVzY3JpcHQ/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogRmlsZSBwYXRoIGZvciBnZW5lcmF0ZWQgZG9jcy5cbiAgICogQGRlZmF1bHQgXCJBUEkubWRcIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9jZ2VuRmlsZVBhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbWl0IGEgY29tcHJlc3NlZCB2ZXJzaW9uIG9mIHRoZSBhc3NlbWJseS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNvbXByZXNzQXNzZW1ibHk/OiBib29sZWFuO1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgaWdub3JlIGZpbGUgZm9yIEFQSSBjb21wYXRpYmlsaXR5IHRlc3RzLlxuICAgKiBAZGVmYXVsdCBcIi5jb21wYXRpZ25vcmVcIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGF0SWdub3JlPzogc3RyaW5nO1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBydW4gQVBJIGNvbXBhdGliaWxpdHkgdGVzdCBhZ2FpbnN0IHRoZSBsYXRlc3QgdmVyc2lvbiBwdWJsaXNoZWQgdG8gbnBtIGFmdGVyIGNvbXBpbGF0aW9uLlxuICAgKiAtIFlvdSBjYW4gbWFudWFsbHkgcnVuIGNvbXBhdGliaWxpdHkgdGVzdHMgdXNpbmcgYHlhcm4gY29tcGF0YCBpZiB0aGlzIGZlYXR1cmUgaXMgZGlzYWJsZWQuXG4gICAqIC0gWW91IGNhbiBpZ25vcmUgY29tcGF0aWJpbGl0eSBmYWlsdXJlcyBieSBhZGRpbmcgbGluZXMgdG8gYSBcIi5jb21wYXRpZ25vcmVcIiBmaWxlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcGF0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVtYWlsIG9yIFVSTCBvZiB0aGUgbGlicmFyeSBhdXRob3IuXG4gICAqIEBkZWZhdWx0ICRHSVRfVVNFUl9FTUFJTFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yQWRkcmVzcz86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHRzLWplc3QuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSB0c0plc3RPcHRpb25zPzogdHlwZXNjcmlwdC5Uc0plc3RPcHRpb25zO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGRldmVsb3BtZW50IHRzY29uZmlnLmpzb24gZmlsZS5cbiAgICogQGRlZmF1bHQgXCJ0c2NvbmZpZy5kZXYuanNvblwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSB0c2NvbmZpZ0RldkZpbGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDdXN0b20gdHNjb25maWcgb3B0aW9ucyBmb3IgdGhlIGRldmVsb3BtZW50IHRzY29uZmlnLmpzb24gZmlsZSAodXNlZCBmb3IgdGVzdGluZykuXG4gICAqIEBkZWZhdWx0IC0gdXNlIHRoZSBwcm9kdWN0aW9uIHRzY29uZmlnIG9wdGlvbnNcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRzY29uZmlnRGV2PzogamF2YXNjcmlwdC5UeXBlc2NyaXB0Q29uZmlnT3B0aW9ucztcbiAgLyoqXG4gICAqIEN1c3RvbSBUU0NvbmZpZy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRzY29uZmlnPzogamF2YXNjcmlwdC5UeXBlc2NyaXB0Q29uZmlnT3B0aW9ucztcbiAgLyoqXG4gICAqIEplc3QgdGVzdHMgZGlyZWN0b3J5LiBUZXN0cyBmaWxlcyBzaG91bGQgYmUgbmFtZWQgYHh4eC50ZXN0LnRzYC5cbiAgICogSWYgdGhpcyBkaXJlY3RvcnkgaXMgdW5kZXIgYHNyY2RpcmAgKGUuZy4gYHNyYy90ZXN0YCwgYHNyYy9fX3Rlc3RzX19gKSxcbiAgICogdGhlbiB0ZXN0cyBhcmUgZ29pbmcgdG8gYmUgY29tcGlsZWQgaW50byBgbGliL2AgYW5kIGV4ZWN1dGVkIGFzIGphdmFzY3JpcHQuXG4gICAqIElmIHRoZSB0ZXN0IGRpcmVjdG9yeSBpcyBvdXRzaWRlIG9mIGBzcmNgLCB0aGVuIHdlIGNvbmZpZ3VyZSBqZXN0IHRvXG4gICAqIGNvbXBpbGUgdGhlIGNvZGUgaW4tbWVtb3J5LlxuICAgKiBAZGVmYXVsdCBcInRlc3RcIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdGVzdGRpcj86IHN0cmluZztcbiAgLyoqXG4gICAqIFR5cGVzY3JpcHQgc291cmNlcyBkaXJlY3RvcnkuXG4gICAqIEBkZWZhdWx0IFwic3JjXCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHNyY2Rpcj86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIC5wcm9qZW5yYy50cy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjVHNPcHRpb25zPzogdHlwZXNjcmlwdC5Qcm9qZW5yY09wdGlvbnM7XG4gIC8qKlxuICAgKiBUeXBlc2NyaXB0ICBhcnRpZmFjdHMgb3V0cHV0IGRpcmVjdG9yeS5cbiAgICogQGRlZmF1bHQgXCJsaWJcIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbGliZGlyPzogc3RyaW5nO1xuICAvKipcbiAgICogRXNsaW50IG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gb3BpbmlvbmF0ZWQgZGVmYXVsdCBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBlc2xpbnRPcHRpb25zPzogamF2YXNjcmlwdC5Fc2xpbnRPcHRpb25zO1xuICAvKipcbiAgICogU2V0dXAgZXNsaW50LlxuICAgKiBAZGVmYXVsdCAtIHRydWUsIHVubGVzcyBiaW9tZSBpcyBlbmFibGVkXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBlc2xpbnQ/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIC5kLnRzIGZpbGUgdGhhdCBpbmNsdWRlcyB0aGUgdHlwZSBkZWNsYXJhdGlvbnMgZm9yIHRoaXMgbW9kdWxlLlxuICAgKiBAZGVmYXVsdCAtIC5kLnRzIGZpbGUgZGVyaXZlZCBmcm9tIHRoZSBwcm9qZWN0J3MgZW50cnlwb2ludCAodXN1YWxseSBsaWIvaW5kZXguZC50cylcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5cG9pbnRUeXBlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIERvY3MgZGlyZWN0b3J5LlxuICAgKiBAZGVmYXVsdCBcImRvY3NcIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIERvY2dlbiBieSBUeXBlZG9jLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9jZ2VuPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERvIG5vdCBnZW5lcmF0ZSBhIGB0c2NvbmZpZy5kZXYuanNvbmAgZmlsZS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVUc2NvbmZpZ0Rldj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEbyBub3QgZ2VuZXJhdGUgYSBgdHNjb25maWcuanNvbmAgZmlsZSAodXNlZCBieSBqc2lpIHByb2plY3RzIHNpbmNlIHRzY29uZmlnLmpzb24gaXMgZ2VuZXJhdGVkIGJ5IHRoZSBqc2lpIGNvbXBpbGVyKS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVUc2NvbmZpZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGUgTm9kZS5qcyBwYWNrYWdlIGNhY2hlIGluIEdpdEh1YiB3b3JrZmxvd3MuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd1BhY2thZ2VDYWNoZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgbm9kZSB2ZXJzaW9uIHVzZWQgaW4gR2l0SHViIEFjdGlvbnMgd29ya2Zsb3dzLlxuICAgKiBBbHdheXMgdXNlIHRoaXMgb3B0aW9uIGlmIHlvdXIgR2l0SHViIEFjdGlvbnMgd29ya2Zsb3dzIHJlcXVpcmUgYSBzcGVjaWZpYyB0byBydW4uXG4gICAqIEBkZWZhdWx0IC0gYG1pbk5vZGVWZXJzaW9uYCBpZiBzZXQsIG90aGVyd2lzZSBgbHRzLypgLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOb2RlVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBnaXQgaWRlbnRpdHkgdG8gdXNlIGluIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IEdpdEh1YiBBY3Rpb25zIHVzZXJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93R2l0SWRlbnRpdHk/OiBnaXRodWIuR2l0SWRlbnRpdHk7XG4gIC8qKlxuICAgKiBXb3JrZmxvdyBzdGVwcyB0byB1c2UgaW4gb3JkZXIgdG8gYm9vdHN0cmFwIHRoaXMgcmVwby5cbiAgICogQGRlZmF1bHQgXCJ5YXJuIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGUgJiYgeWFybiBwcm9qZW5cIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dCb290c3RyYXBTdGVwcz86IEFycmF5PGdpdGh1Yi53b3JrZmxvd3MuSm9iU3RlcD47XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IHJlbGVhc2UgdG8gbnBtIHdoZW4gbmV3IHZlcnNpb25zIGFyZSBpbnRyb2R1Y2VkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVRvTnBtPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFkZCByZWxlYXNlIG1hbmFnZW1lbnQgdG8gdGhpcyBwcm9qZWN0LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgY29udGVudHMgb2YgdGhlIHB1bGwgcmVxdWVzdCB0ZW1wbGF0ZS5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IGNvbnRlbnRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHB1bGxSZXF1ZXN0VGVtcGxhdGVDb250ZW50cz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBJbmNsdWRlIGEgR2l0SHViIHB1bGwgcmVxdWVzdCB0ZW1wbGF0ZS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVsbFJlcXVlc3RUZW1wbGF0ZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciAucHJvamVucmMuanMuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY0pzT3B0aW9ucz86IGphdmFzY3JpcHQuUHJvamVucmNPcHRpb25zO1xuICAvKipcbiAgICogR2VuZXJhdGUgKG9uY2UpIC5wcm9qZW5yYy5qcyAoaW4gSmF2YVNjcmlwdCkuIFNldCB0byBgZmFsc2VgIGluIG9yZGVyIHRvIGRpc2FibGUgLnByb2plbnJjLmpzIGdlbmVyYXRpb24uXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSBpZiBwcm9qZW5yY0pzb24gaXMgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjSnM/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIG9mIFwicHJvamVuXCIgc2hvdWxkIGJlIGluc3RhbGxlZCBhcyBhIGRldkRlcGVuZGVuY3kuXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSBpZiBub3QgYSBzdWJwcm9qZWN0XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5EZXZEZXBlbmRlbmN5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFByZXR0aWVyIG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwcmV0dGllck9wdGlvbnM/OiBqYXZhc2NyaXB0LlByZXR0aWVyT3B0aW9ucztcbiAgLyoqXG4gICAqIFNldHVwIHByZXR0aWVyLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJldHRpZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogRGVmaW5lcyBhIGBwYWNrYWdlYCB0YXNrIHRoYXQgd2lsbCBwcm9kdWNlIGFuIG5wbSB0YXJiYWxsIHVuZGVyIHRoZSBhcnRpZmFjdHMgZGlyZWN0b3J5IChlLmcuIGBkaXN0YCkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2U/OiBib29sZWFuO1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciAubnBtaWdub3JlIGZpbGUuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBucG1JZ25vcmVPcHRpb25zPzogSWdub3JlRmlsZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGFuIC5ucG1pZ25vcmUgZmlsZS4gTm9ybWFsbHkgdGhpcyBpcyBvbmx5IG5lZWRlZCBmb3IgbGlicmFyaWVzIHRoYXQgYXJlIHBhY2thZ2VkIGFzIHRhcmJhbGxzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBucG1pZ25vcmVFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEplc3Qgb3B0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGplc3RPcHRpb25zPzogamF2YXNjcmlwdC5KZXN0T3B0aW9ucztcbiAgLyoqXG4gICAqIFNldHVwIGplc3QgdW5pdCB0ZXN0cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgamVzdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGVudHJpZXMgdG8gLmdpdGlnbm9yZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGdpdGlnbm9yZT86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBgVXBncmFkZURlcGVuZGVuY2llc2AuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkZXBzVXBncmFkZU9wdGlvbnM/OiBqYXZhc2NyaXB0LlVwZ3JhZGVEZXBlbmRlbmNpZXNPcHRpb25zO1xuICAvKipcbiAgICogVXNlIHRhc2tzIGFuZCBnaXRodWIgd29ya2Zsb3dzIHRvIGhhbmRsZSBkZXBlbmRlbmN5IHVwZ3JhZGVzLlxuICAgKiBDYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGBkZXBlbmRhYm90YC5cbiAgICogQGRlZmF1bHQgLSBgdHJ1ZWAgZm9yIHJvb3QgcHJvamVjdHMsIGBmYWxzZWAgZm9yIHN1YnByb2plY3RzXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkZXBzVXBncmFkZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBkZXBlbmRhYm90LlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVwZW5kYWJvdE9wdGlvbnM/OiBnaXRodWIuRGVwZW5kYWJvdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBVc2UgZGVwZW5kYWJvdCB0byBoYW5kbGUgZGVwZW5kZW5jeSB1cGdyYWRlcy5cbiAgICogQ2Fubm90IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgZGVwc1VwZ3JhZGVgLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVwZW5kYWJvdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgY29weXJpZ2h0IHllYXJzIHRvIHB1dCBpbiB0aGUgTElDRU5TRSBmaWxlLlxuICAgKiBAZGVmYXVsdCAtIGN1cnJlbnQgeWVhclxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29weXJpZ2h0UGVyaW9kPzogc3RyaW5nO1xuICAvKipcbiAgICogTGljZW5zZSBjb3B5cmlnaHQgb3duZXIuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdHMgdG8gdGhlIHZhbHVlIG9mIGF1dGhvck5hbWUgb3IgXCJcIiBpZiBgYXV0aG9yTmFtZWAgaXMgdW5kZWZpbmVkLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29weXJpZ2h0T3duZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIHNlY3JldCBuYW1lIGZvciBhIHNwZWNpZmllZCBodHRwczovL2NvZGVjb3YuaW8vIHRva2VuLlxuICAgKiBAZGVmYXVsdCAtIE9JREMgYXV0aCBpcyB1c2VkXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb2RlQ292VG9rZW5TZWNyZXQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmUgYSBHaXRIdWIgd29ya2Zsb3cgc3RlcCBmb3Igc2VuZGluZyBjb2RlIGNvdmVyYWdlIG1ldHJpY3MgdG8gaHR0cHM6Ly9jb2RlY292LmlvLyBVc2VzIGNvZGVjb3YvY29kZWNvdi1hY3Rpb25AdjUgQnkgZGVmYXVsdCwgT0lEQyBhdXRoIGlzIHVzZWQuIEFsdGVybmF0aXZlbHkgYSB0b2tlbiBjYW4gYmUgcHJvdmlkZWQgdmlhIGBjb2RlQ292VG9rZW5TZWNyZXRgLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUNvdj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmUgd2hpY2ggbGljZW5zZXMgc2hvdWxkIGJlIGRlZW1lZCBhY2NlcHRhYmxlIGZvciB1c2UgYnkgZGVwZW5kZW5jaWVzLlxuICAgKiBUaGlzIHNldHRpbmcgd2lsbCBjYXVzZSB0aGUgYnVpbGQgdG8gZmFpbCwgaWYgYW55IHByb2hpYml0ZWQgb3Igbm90IGFsbG93ZWQgbGljZW5zZXMgYXJlcyBlbmNvdW50ZXJlZC5cbiAgICogQGRlZmF1bHQgLSBubyBsaWNlbnNlIGNoZWNrcyBhcmUgcnVuIGR1cmluZyB0aGUgYnVpbGQgYW5kIGFsbCBsaWNlbnNlcyB3aWxsIGJlIGFjY2VwdGVkXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjaGVja0xpY2Vuc2VzPzogamF2YXNjcmlwdC5MaWNlbnNlQ2hlY2tlck9wdGlvbnM7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBgQnVuZGxlcmAuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBidW5kbGVyT3B0aW9ucz86IGphdmFzY3JpcHQuQnVuZGxlck9wdGlvbnM7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBQUiBidWlsZCB3b3JrZmxvdy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkV29ya2Zsb3dPcHRpb25zPzogamF2YXNjcmlwdC5CdWlsZFdvcmtmbG93T3B0aW9ucztcbiAgLyoqXG4gICAqIERlZmluZSBhIEdpdEh1YiB3b3JrZmxvdyBmb3IgYnVpbGRpbmcgUFJzLlxuICAgKiBAZGVmYXVsdCAtIHRydWUgaWYgbm90IGEgc3VicHJvamVjdFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRXb3JrZmxvdz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCaW9tZSBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYmlvbWVPcHRpb25zPzogamF2YXNjcmlwdC5CaW9tZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBTZXR1cCBCaW9tZS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGJpb21lPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYXBwcm92ZSBkZXBzIHVwZ3JhZGUgUFJzLCBhbGxvd2luZyB0aGVtIHRvIGJlIG1lcmdlZCBieSBtZXJnaWZ5IChpZiBjb25maWd1cmVkKS5cbiAgICogVGhyb3cgaWYgc2V0IHRvIHRydWUgYnV0IGBhdXRvQXBwcm92ZU9wdGlvbnNgIGFyZSBub3QgZGVmaW5lZC5cbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhdXRvQXBwcm92ZVVwZ3JhZGVzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNlY3VyaXR5IGF1ZGl0IG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhdWRpdERlcHNPcHRpb25zPzogamF2YXNjcmlwdC5BdWRpdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBSdW4gc2VjdXJpdHkgYXVkaXQgb24gZGVwZW5kZW5jaWVzLlxuICAgKiBXaGVuIGVuYWJsZWQsIGNyZWF0ZXMgYW4gXCJhdWRpdFwiIHRhc2sgdGhhdCBjaGVja3MgZm9yIGtub3duIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllc1xuICAgKiBpbiBkZXBlbmRlbmNpZXMuIEJ5IGRlZmF1bHQsIHJ1bnMgZHVyaW5nIGV2ZXJ5IGJ1aWxkIGFuZCBjaGVja3MgZm9yIFwiaGlnaFwiIHNldmVyaXR5XG4gICAqIHZ1bG5lcmFiaWxpdGllcyBvciBhYm92ZSBpbiBhbGwgZGVwZW5kZW5jaWVzIChpbmNsdWRpbmcgZGV2IGRlcGVuZGVuY2llcykuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhdWRpdERlcHM/OiBib29sZWFuO1xuICAvKipcbiAgICogQSBkaXJlY3Rvcnkgd2hpY2ggd2lsbCBjb250YWluIGJ1aWxkIGFydGlmYWN0cy5cbiAgICogQGRlZmF1bHQgXCJkaXN0XCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFydGlmYWN0c0RpcmVjdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBtYWluIHJlbGVhc2UgYnJhbmNoLlxuICAgKiBAZGVmYXVsdCBcIm1haW5cIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJlbGVhc2VCcmFuY2g/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIEdyb3VwIHNlbGVjdGlvbiBvcHRpb25zLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKiBAZGVzY3JpcHRpb24gRGVmaW5lcyBhIHRhcmdldCBSdW5uZXIgR3JvdXAgYnkgbmFtZSBhbmQvb3IgbGFiZWxzXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBpZiBib3RoIGBydW5zT25gIGFuZCBgcnVuc09uR3JvdXBgIGFyZSBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93UnVuc09uR3JvdXA/OiBHcm91cFJ1bm5lck9wdGlvbnM7XG4gIC8qKlxuICAgKiBHaXRodWIgUnVubmVyIHNlbGVjdGlvbiBsYWJlbHMuXG4gICAqIEBkZWZhdWx0IFtcInVidW50dS1sYXRlc3RcIl1cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICogQGRlc2NyaXB0aW9uIERlZmluZXMgYSB0YXJnZXQgUnVubmVyIGJ5IGxhYmVsc1xuICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgYm90aCBgcnVuc09uYCBhbmQgYHJ1bnNPbkdyb3VwYCBhcmUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd1J1bnNPbj86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBDb250YWluZXIgaW1hZ2UgdG8gdXNlIGZvciBHaXRIdWIgd29ya2Zsb3dzLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgaW1hZ2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93Q29udGFpbmVySW1hZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDdXN0b20gY29uZmlndXJhdGlvbiB1c2VkIHdoZW4gY3JlYXRpbmcgY2hhbmdlbG9nIHdpdGggY29tbWl0LWFuZC10YWctdmVyc2lvbiBwYWNrYWdlLlxuICAgKiBHaXZlbiB2YWx1ZXMgZWl0aGVyIGFwcGVuZCB0byBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gb3Igb3ZlcndyaXRlIHZhbHVlcyBpbiBpdC5cbiAgICogQGRlZmF1bHQgLSBzdGFuZGFyZCBjb25maWd1cmF0aW9uIGFwcGxpY2FibGUgZm9yIEdpdEh1YiByZXBvc2l0b3JpZXNcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25yY09wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAvKipcbiAgICogQSBzZXQgb2Ygd29ya2Zsb3cgc3RlcHMgdG8gZXhlY3V0ZSBpbiBvcmRlciB0byBzZXR1cCB0aGUgd29ya2Zsb3cgY29udGFpbmVyLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVdvcmtmbG93U2V0dXBTdGVwcz86IEFycmF5PGdpdGh1Yi53b3JrZmxvd3MuSm9iU3RlcD47XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZGVmYXVsdCByZWxlYXNlIHdvcmtmbG93LlxuICAgKiBAZGVmYXVsdCBcInJlbGVhc2VcIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZVdvcmtmbG93TmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEJ1aWxkIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgcmVsZWFzZSB3b3JrZmxvd3MuXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlV29ya2Zsb3dFbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogVGhlIHJlbGVhc2UgdHJpZ2dlciB0byB1c2UuXG4gICAqIEBkZWZhdWx0IC0gQ29udGludW91cyByZWxlYXNlcyAoYFJlbGVhc2VUcmlnZ2VyLmNvbnRpbnVvdXMoKWApXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVHJpZ2dlcj86IHJlbGVhc2UuUmVsZWFzZVRyaWdnZXI7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZCB0aGUgZ2l2ZW4gcHJlZml4IHRvIHJlbGVhc2UgdGFncy4gVXNlZnVsIGlmIHlvdSBhcmUgcmVsZWFzaW5nIG9uIG11bHRpcGxlIGJyYW5jaGVzIHdpdGggb3ZlcmxhcHBpbmcgdmVyc2lvbiBudW1iZXJzLlxuICAgKiBOb3RlOiB0aGlzIHByZWZpeCBpcyB1c2VkIHRvIGRldGVjdCB0aGUgbGF0ZXN0IHRhZ2dlZCB2ZXJzaW9uXG4gICAqIHdoZW4gYnVtcGluZywgc28gaWYgeW91IGNoYW5nZSB0aGlzIG9uIGEgcHJvamVjdCB3aXRoIGFuIGV4aXN0aW5nIHZlcnNpb25cbiAgICogaGlzdG9yeSwgeW91IG1heSBuZWVkIHRvIG1hbnVhbGx5IHRhZyB5b3VyIGxhdGVzdCByZWxlYXNlXG4gICAqIHdpdGggdGhlIG5ldyBwcmVmaXguXG4gICAqIEBkZWZhdWx0IFwidlwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVGFnUHJlZml4Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGxhYmVsIHRvIGFwcGx5IHRvIGlzc3VlcyBpbmRpY2F0aW5nIHB1Ymxpc2ggZmFpbHVyZXMuXG4gICAqIE9ubHkgYXBwbGllcyBpZiBgcmVsZWFzZUZhaWx1cmVJc3N1ZWAgaXMgdHJ1ZS5cbiAgICogQGRlZmF1bHQgXCJmYWlsZWQtcmVsZWFzZVwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlRmFpbHVyZUlzc3VlTGFiZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBnaXRodWIgaXNzdWUgb24gZXZlcnkgZmFpbGVkIHB1Ymxpc2hpbmcgdGFzay5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VGYWlsdXJlSXNzdWU/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIEdpdEh1YiBBY3Rpb25zIGVudmlyb25tZW50IHVzZWQgZm9yIHRoZSByZWxlYXNlLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGFkZCBhbiBleHBsaWNpdCBhcHByb3ZhbCBzdGVwIHRvIHRoZSByZWxlYXNlXG4gICAqIG9yIGxpbWl0IHdobyBjYW4gaW5pdGlhdGUgYSByZWxlYXNlIHRocm91Z2ggZW52aXJvbm1lbnQgcHJvdGVjdGlvbiBydWxlcy5cbiAgICpcbiAgICogV2hlbiBtdWx0aXBsZSBhcnRpZmFjdHMgYXJlIHJlbGVhc2VkLCB0aGUgZW52aXJvbm1lbnQgY2FuIGJlIG92ZXJ3cml0dGVuXG4gICAqIG9uIGEgcGVyIGFydGlmYWN0IGJhc2lzLlxuICAgKiBAZGVmYXVsdCAtIG5vIGVudmlyb25tZW50IHVzZWQsIHVubGVzcyBzZXQgYXQgdGhlIGFydGlmYWN0IGxldmVsXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlRW52aXJvbm1lbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmVzIGFkZGl0aW9uYWwgcmVsZWFzZSBicmFuY2hlcy5cbiAgICogQSB3b3JrZmxvdyB3aWxsIGJlIGNyZWF0ZWQgZm9yIGVhY2hcbiAgICogcmVsZWFzZSBicmFuY2ggd2hpY2ggd2lsbCBwdWJsaXNoIHJlbGVhc2VzIGZyb20gY29tbWl0cyBpbiB0aGlzIGJyYW5jaC5cbiAgICogRWFjaCByZWxlYXNlIGJyYW5jaCBfbXVzdF8gYmUgYXNzaWduZWQgYSBtYWpvciB2ZXJzaW9uIG51bWJlciB3aGljaCBpcyB1c2VkXG4gICAqIHRvIGVuZm9yY2UgdGhhdCB2ZXJzaW9ucyBwdWJsaXNoZWQgZnJvbSB0aGF0IGJyYW5jaCBhbHdheXMgdXNlIHRoYXQgbWFqb3JcbiAgICogdmVyc2lvbi4gSWYgbXVsdGlwbGUgYnJhbmNoZXMgYXJlIHVzZWQsIHRoZSBgbWFqb3JWZXJzaW9uYCBmaWVsZCBtdXN0IGFsc29cbiAgICogYmUgcHJvdmlkZWQgZm9yIHRoZSBkZWZhdWx0IGJyYW5jaC5cbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIGJyYW5jaGVzIGFyZSB1c2VkIGZvciByZWxlYXNlLiB5b3UgY2FuIHVzZVxuYGFkZEJyYW5jaCgpYCB0byBhZGQgYWRkaXRpb25hbCBicmFuY2hlcy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VCcmFuY2hlcz86IFJlY29yZDxzdHJpbmcsIHJlbGVhc2UuQnJhbmNoT3B0aW9ucz47XG4gIC8qKlxuICAgKiBEZWZpbmUgcHVibGlzaGluZyB0YXNrcyB0aGF0IGNhbiBiZSBleGVjdXRlZCBtYW51YWxseSBhcyB3ZWxsIGFzIHdvcmtmbG93cy5cbiAgICogTm9ybWFsbHksIHB1Ymxpc2hpbmcgb25seSBoYXBwZW5zIHdpdGhpbiBhdXRvbWF0ZWQgd29ya2Zsb3dzLiBFbmFibGUgdGhpc1xuICAgKiBpbiBvcmRlciB0byBjcmVhdGUgYSBwdWJsaXNoaW5nIHRhc2sgZm9yIGVhY2ggcHVibGlzaGluZyBhY3Rpdml0eS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hUYXNrcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbnN0ZWFkIG9mIGFjdHVhbGx5IHB1Ymxpc2hpbmcgdG8gcGFja2FnZSBtYW5hZ2VycywganVzdCBwcmludCB0aGUgcHVibGlzaGluZyBjb21tYW5kLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaERyeVJ1bj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCdW1wIHZlcnNpb25zIGZyb20gdGhlIGRlZmF1bHQgYnJhbmNoIGFzIHByZS1yZWxlYXNlcyAoZS5nLiBcImJldGFcIiwgXCJhbHBoYVwiLCBcInByZVwiKS5cbiAgICogQGRlZmF1bHQgLSBub3JtYWwgc2VtYW50aWMgdmVyc2lvbnNcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByZXJlbGVhc2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTdGVwcyB0byBleGVjdXRlIGFmdGVyIGJ1aWxkIGFzIHBhcnQgb2YgdGhlIHJlbGVhc2Ugd29ya2Zsb3cuXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwb3N0QnVpbGRTdGVwcz86IEFycmF5PGdpdGh1Yi53b3JrZmxvd3MuSm9iU3RlcD47XG4gIC8qKlxuICAgKiBUaGUgbnBtRGlzdFRhZyB0byB1c2Ugd2hlbiBwdWJsaXNoaW5nIGZyb20gdGhlIGRlZmF1bHQgYnJhbmNoLlxuICAgKiBUbyBzZXQgdGhlIG5wbSBkaXN0LXRhZyBmb3IgcmVsZWFzZSBicmFuY2hlcywgc2V0IHRoZSBgbnBtRGlzdFRhZ2AgcHJvcGVydHlcbiAgICogZm9yIGVhY2ggYnJhbmNoLlxuICAgKiBAZGVmYXVsdCBcImxhdGVzdFwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBucG1EaXN0VGFnPzogc3RyaW5nO1xuICAvKipcbiAgICogQSBzaGVsbCBjb21tYW5kIHRvIGNvbnRyb2wgdGhlIG5leHQgdmVyc2lvbiB0byByZWxlYXNlLlxuICAgKiBJZiBwcmVzZW50LCB0aGlzIHNoZWxsIGNvbW1hbmQgd2lsbCBiZSBydW4gYmVmb3JlIHRoZSBidW1wIGlzIGV4ZWN1dGVkLCBhbmRcbiAgICogaXQgZGV0ZXJtaW5lcyB3aGF0IHZlcnNpb24gdG8gcmVsZWFzZS4gSXQgd2lsbCBiZSBleGVjdXRlZCBpbiB0aGUgZm9sbG93aW5nXG4gICAqIGVudmlyb25tZW50OlxuICAgKlxuICAgKiAtIFdvcmtpbmcgZGlyZWN0b3J5OiB0aGUgcHJvamVjdCBkaXJlY3RvcnkuXG4gICAqIC0gYCRWRVJTSU9OYDogdGhlIGN1cnJlbnQgdmVyc2lvbi4gTG9va3MgbGlrZSBgMS4yLjNgLlxuICAgKiAtIGAkTEFURVNUX1RBR2A6IHRoZSBtb3N0IHJlY2VudCB0YWcuIExvb2tzIGxpa2UgYHByZWZpeC12MS4yLjNgLCBvciBtYXkgYmUgdW5zZXQuXG4gICAqIC0gYCRTVUdHRVNURURfQlVNUGA6IHRoZSBzdWdnZXN0ZWQgYnVtcCBhY3Rpb24gYmFzZWQgb24gY29tbWl0cy4gT25lIG9mIGBtYWpvcnxtaW5vcnxwYXRjaHxub25lYC5cbiAgICpcbiAgICogVGhlIGNvbW1hbmQgc2hvdWxkIHByaW50IG9uZSBvZiB0aGUgZm9sbG93aW5nIHRvIGBzdGRvdXRgOlxuICAgKlxuICAgKiAtIE5vdGhpbmc6IHRoZSBuZXh0IHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgZGV0ZXJtaW5lZCBiYXNlZCBvbiBjb21taXQgaGlzdG9yeS5cbiAgICogLSBgeC55LnpgOiB0aGUgbmV4dCB2ZXJzaW9uIG51bWJlciB3aWxsIGJlIGB4LnkuemAuXG4gICAqIC0gYG1ham9yfG1pbm9yfHBhdGNoYDogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSB0aGUgY3VycmVudCB2ZXJzaW9uIG51bWJlclxuICAgKiAgIHdpdGggdGhlIGluZGljYXRlZCBjb21wb25lbnQgYnVtcGVkLlxuICAgKlxuICAgKiBUaGlzIHNldHRpbmcgY2Fubm90IGJlIHNwZWNpZmllZCB0b2dldGhlciB3aXRoIGBtaW5NYWpvclZlcnNpb25gOyB0aGUgaW52b2tlZFxuICAgKiBzY3JpcHQgY2FuIGJlIHVzZWQgdG8gYWNoaWV2ZSB0aGUgZWZmZWN0cyBvZiBgbWluTWFqb3JWZXJzaW9uYC5cbiAgICogQGRlZmF1bHQgLSBUaGUgbmV4dCB2ZXJzaW9uIHdpbGwgYmUgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0aGUgY29tbWl0IGhpc3RvcnkgYW5kIHByb2plY3Qgc2V0dGluZ3MuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBuZXh0VmVyc2lvbkNvbW1hbmQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNaW5pbWFsIE1ham9yIHZlcnNpb24gdG8gcmVsZWFzZS5cbiAgICogVGhpcyBjYW4gYmUgdXNlZnVsIHRvIHNldCB0byAxLCBhcyBicmVha2luZyBjaGFuZ2VzIGJlZm9yZSB0aGUgMS54IG1ham9yXG4gICAqIHJlbGVhc2UgYXJlIG5vdCBpbmNyZW1lbnRpbmcgdGhlIG1ham9yIHZlcnNpb24gbnVtYmVyLlxuICAgKlxuICAgKiBDYW4gbm90IGJlIHNldCB0b2dldGhlciB3aXRoIGBtYWpvclZlcnNpb25gLlxuICAgKiBAZGVmYXVsdCAtIE5vIG1pbmltdW0gdmVyc2lvbiBpcyBiZWluZyBlbmZvcmNlZFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbWluTWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuICAvKipcbiAgICogTWFqb3IgdmVyc2lvbiB0byByZWxlYXNlIGZyb20gdGhlIGRlZmF1bHQgYnJhbmNoLlxuICAgKiBJZiB0aGlzIGlzIHNwZWNpZmllZCwgd2UgYnVtcCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtYWpvciB2ZXJzaW9uIGxpbmUuXG4gICAqIElmIG5vdCBzcGVjaWZpZWQsIHdlIGJ1bXAgdGhlIGdsb2JhbCBsYXRlc3QgdmVyc2lvbi5cbiAgICogQGRlZmF1bHQgLSBNYWpvciB2ZXJzaW9uIGlzIG5vdCBlbmZvcmNlZC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG1ham9yVmVyc2lvbj86IG51bWJlcjtcbiAgLyoqXG4gICAqIFZlcnNpb24gcmVxdWlyZW1lbnQgb2YgYHB1YmxpYmAgd2hpY2ggaXMgdXNlZCB0byBwdWJsaXNoIG1vZHVsZXMgdG8gbnBtLlxuICAgKiBAZGVmYXVsdCBcImxhdGVzdFwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBqc2lpUmVsZWFzZVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgYGNvbW1pdC1hbmQtdGFnLXZlcnNpb25gIGNvbXBhdGlibGUgcGFja2FnZSB1c2VkIHRvIGJ1bXAgdGhlIHBhY2thZ2UgdmVyc2lvbiwgYXMgYSBkZXBlbmRlbmN5IHN0cmluZy5cbiAgICogVGhpcyBjYW4gYmUgYW55IGNvbXBhdGlibGUgcGFja2FnZSB2ZXJzaW9uLCBpbmNsdWRpbmcgdGhlIGRlcHJlY2F0ZWQgYHN0YW5kYXJkLXZlcnNpb25AOWAuXG4gICAqIEBkZWZhdWx0IC0gQSByZWNlbnQgdmVyc2lvbiBvZiBcImNvbW1pdC1hbmQtdGFnLXZlcnNpb25cIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVtcFBhY2thZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBZYXJuIEJlcnJ5LlxuICAgKiBAZGVmYXVsdCAtIFlhcm4gQmVycnkgdjQgd2l0aCBhbGwgZGVmYXVsdCBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSB5YXJuQmVycnlPcHRpb25zPzogamF2YXNjcmlwdC5ZYXJuQmVycnlPcHRpb25zO1xuICAvKipcbiAgICogUGFja2FnZSdzIFN0YWJpbGl0eS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YWJpbGl0eT86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHByaXZhdGVseSBob3N0ZWQgc2NvcGVkIHBhY2thZ2VzLlxuICAgKiBAZGVmYXVsdCAtIGZldGNoIGFsbCBzY29wZWQgcGFja2FnZXMgZnJvbSB0aGUgcHVibGljIG5wbSByZWdpc3RyeVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc2NvcGVkUGFja2FnZXNPcHRpb25zPzogQXJyYXk8amF2YXNjcmlwdC5TY29wZWRQYWNrYWdlc09wdGlvbnM+O1xuICAvKipcbiAgICogSWYgdGhlIHBhY2thZ2UuanNvbiBmb3IgeW91ciBwYWNrYWdlIGlzIG5vdCBpbiB0aGUgcm9vdCBkaXJlY3RvcnkgKGZvciBleGFtcGxlIGlmIGl0IGlzIHBhcnQgb2YgYSBtb25vcmVwbyksIHlvdSBjYW4gc3BlY2lmeSB0aGUgZGlyZWN0b3J5IGluIHdoaWNoIGl0IGxpdmVzLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yeURpcmVjdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IGlzIHRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgYWN0dWFsIGNvZGUgZm9yIHlvdXIgcGFja2FnZSBsaXZlcy5cbiAgICogU2VlIGh0dHBzOi8vY2xhc3NpYy55YXJucGtnLmNvbS9lbi9kb2NzL3BhY2thZ2UtanNvbi8jdG9jLXJlcG9zaXRvcnlcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiBQTlBNIHRvIHVzZSBpZiB1c2luZyBQTlBNIGFzIGEgcGFja2FnZSBtYW5hZ2VyLlxuICAgKiBAZGVmYXVsdCBcIjlcIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcG5wbVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQZWVyIGRlcGVuZGVuY2llcyBmb3IgdGhpcyBtb2R1bGUuXG4gICAqIERlcGVuZGVuY2llcyBsaXN0ZWQgaGVyZSBhcmUgcmVxdWlyZWQgdG9cbiAgICogYmUgaW5zdGFsbGVkIChhbmQgc2F0aXNmaWVkKSBieSB0aGUgX2NvbnN1bWVyXyBvZiB0aGlzIGxpYnJhcnkuIFVzaW5nIHBlZXJcbiAgICogZGVwZW5kZW5jaWVzIGFsbG93cyB5b3UgdG8gZW5zdXJlIHRoYXQgb25seSBhIHNpbmdsZSBtb2R1bGUgb2YgYSBjZXJ0YWluXG4gICAqIGxpYnJhcnkgZXhpc3RzIGluIHRoZSBgbm9kZV9tb2R1bGVzYCB0cmVlIG9mIHlvdXIgY29uc3VtZXJzLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgcHJpb3IgdG8gbnBtQDcsIHBlZXIgZGVwZW5kZW5jaWVzIGFyZSBfbm90XyBhdXRvbWF0aWNhbGx5XG4gICAqIGluc3RhbGxlZCwgd2hpY2ggbWVhbnMgdGhhdCBhZGRpbmcgcGVlciBkZXBlbmRlbmNpZXMgdG8gYSBsaWJyYXJ5IHdpbGwgYmUgYVxuICAgKiBicmVha2luZyBjaGFuZ2UgZm9yIHlvdXIgY3VzdG9tZXJzLlxuICAgKlxuICAgKiBVbmxlc3MgYHBlZXJEZXBlbmRlbmN5T3B0aW9ucy5waW5uZWREZXZEZXBlbmRlbmN5YCBpcyBkaXNhYmxlZCAoaXQgaXNcbiAgICogZW5hYmxlZCBieSBkZWZhdWx0KSwgcHJvamVuIHdpbGwgYXV0b21hdGljYWxseSBhZGQgYSBkZXYgZGVwZW5kZW5jeSB3aXRoIGFcbiAgICogcGlubmVkIHZlcnNpb24gZm9yIGVhY2ggcGVlciBkZXBlbmRlbmN5LiBUaGlzIHdpbGwgZW5zdXJlIHRoYXQgeW91IGJ1aWxkICZcbiAgICogdGVzdCB5b3VyIG1vZHVsZSBhZ2FpbnN0IHRoZSBsb3dlc3QgcGVlciB2ZXJzaW9uIHJlcXVpcmVkLlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcGVlckRlcHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgYHBlZXJEZXBzYC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHBlZXJEZXBlbmRlbmN5T3B0aW9ucz86IGphdmFzY3JpcHQuUGVlckRlcGVuZGVuY3lPcHRpb25zO1xuICAvKipcbiAgICogVGhlIFwibmFtZVwiIGluIHBhY2thZ2UuanNvbi5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0cyB0byBwcm9qZWN0IG5hbWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICogQGZlYXR1cmVkIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIE5vZGUgUGFja2FnZSBNYW5hZ2VyIHVzZWQgdG8gZXhlY3V0ZSBzY3JpcHRzLlxuICAgKiBAZGVmYXVsdCBOb2RlUGFja2FnZU1hbmFnZXIuWUFSTl9DTEFTU0lDXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTWFuYWdlcj86IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyO1xuICAvKipcbiAgICogVXNlIHRydXN0ZWQgcHVibGlzaGluZyBmb3IgcHVibGlzaGluZyB0byBucG1qcy5jb20gTmVlZHMgdG8gYmUgcHJlLWNvbmZpZ3VyZWQgb24gbnBtLmpzIHRvIHdvcmsuXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG5wbVRydXN0ZWRQdWJsaXNoaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEdpdEh1YiBzZWNyZXQgd2hpY2ggY29udGFpbnMgdGhlIE5QTSB0b2tlbiB0byB1c2Ugd2hlbiBwdWJsaXNoaW5nIHBhY2thZ2VzLlxuICAgKiBAZGVmYXVsdCBcIk5QTV9UT0tFTlwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBucG1Ub2tlblNlY3JldD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBiYXNlIFVSTCBvZiB0aGUgbnBtIHBhY2thZ2UgcmVnaXN0cnkuXG4gICAqIE11c3QgYmUgYSBVUkwgKGUuZy4gc3RhcnQgd2l0aCBcImh0dHBzOi8vXCIgb3IgXCJodHRwOi8vXCIpXG4gICAqIEBkZWZhdWx0IFwiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmdcIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbnBtUmVnaXN0cnlVcmw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTaG91bGQgcHJvdmVuYW5jZSBzdGF0ZW1lbnRzIGJlIGdlbmVyYXRlZCB3aGVuIHRoZSBwYWNrYWdlIGlzIHB1Ymxpc2hlZC5cbiAgICogQSBzdXBwb3J0ZWQgcGFja2FnZSBtYW5hZ2VyIGlzIHJlcXVpcmVkIHRvIHB1Ymxpc2ggYSBwYWNrYWdlIHdpdGggbnBtIHByb3ZlbmFuY2Ugc3RhdGVtZW50cyBhbmRcbiAgICogeW91IHdpbGwgbmVlZCB0byB1c2UgYSBzdXBwb3J0ZWQgQ0kvQ0QgcHJvdmlkZXIuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGUgcHJvamVuIGBSZWxlYXNlYCBhbmQgYFB1Ymxpc2hlcmAgY29tcG9uZW50cyBhcmUgdXNpbmcgYHB1YmxpYmAgdG8gcHVibGlzaCBwYWNrYWdlcyxcbiAgICogd2hpY2ggaXMgdXNpbmcgbnBtIGludGVybmFsbHkgYW5kIHN1cHBvcnRzIHByb3ZlbmFuY2Ugc3RhdGVtZW50cyBpbmRlcGVuZGVudGx5IG9mIHRoZSBwYWNrYWdlIG1hbmFnZXIgdXNlZC5cbiAgICogQGRlZmF1bHQgLSB0cnVlIGZvciBwdWJsaWMgcGFja2FnZXMsIGZhbHNlIG90aGVyd2lzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbnBtUHJvdmVuYW5jZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBY2Nlc3MgbGV2ZWwgb2YgdGhlIG5wbSBwYWNrYWdlLlxuICAgKiBAZGVmYXVsdCAtIGZvciBzY29wZWQgcGFja2FnZXMgKGUuZy4gYGZvb0BiYXJgKSwgdGhlIGRlZmF1bHQgaXNcbmBOcG1BY2Nlc3MuUkVTVFJJQ1RFRGAsIGZvciBub24tc2NvcGVkIHBhY2thZ2VzLCB0aGUgZGVmYXVsdCBpc1xuYE5wbUFjY2Vzcy5QVUJMSUNgLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbnBtQWNjZXNzPzogamF2YXNjcmlwdC5OcG1BY2Nlc3M7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBub2RlIHZlcnNpb24gcmVxdWlyZWQgYnkgdGhpcyBwYWNrYWdlIHRvIGZ1bmN0aW9uLiBNb3N0IHByb2plY3RzIHNob3VsZCBub3QgdXNlIHRoaXMgb3B0aW9uLlxuICAgKiBUaGUgdmFsdWUgaW5kaWNhdGVzIHRoYXQgdGhlIHBhY2thZ2UgaXMgaW5jb21wYXRpYmxlIHdpdGggYW55IG9sZGVyIHZlcnNpb25zIG9mIG5vZGUuXG4gICAqIFRoaXMgcmVxdWlyZW1lbnQgaXMgZW5mb3JjZWQgdmlhIHRoZSBlbmdpbmVzIGZpZWxkLlxuICAgKlxuICAgKiBZb3Ugd2lsbCBub3JtYWxseSBub3QgbmVlZCB0byBzZXQgdGhpcyBvcHRpb24sIGV2ZW4gaWYgeW91ciBwYWNrYWdlIGlzIGluY29tcGF0aWJsZSB3aXRoIEVPTCB2ZXJzaW9ucyBvZiBub2RlLlxuICAgKiBDb25zaWRlciB0aGlzIG9wdGlvbiBvbmx5IGlmIHlvdXIgcGFja2FnZSBkZXBlbmRzIG9uIGEgc3BlY2lmaWMgZmVhdHVyZSwgdGhhdCBpcyBub3QgYXZhaWxhYmxlIGluIG90aGVyIExUUyB2ZXJzaW9ucy5cbiAgICogU2V0dGluZyB0aGlzIG9wdGlvbiBoYXMgdmVyeSBoaWdoIGltcGFjdCBvbiB0aGUgY29uc3VtZXJzIG9mIHlvdXIgcGFja2FnZSxcbiAgICogYXMgcGFja2FnZSBtYW5hZ2VycyB3aWxsIGFjdGl2ZWx5IHByZXZlbnQgdXNhZ2Ugd2l0aCBub2RlIHZlcnNpb25zIHlvdSBoYXZlIG1hcmtlZCBhcyBpbmNvbXBhdGlibGUuXG4gICAqXG4gICAqIFRvIGNoYW5nZSB0aGUgbm9kZSB2ZXJzaW9uIG9mIHlvdXIgQ0kvQ0Qgd29ya2Zsb3dzLCB1c2UgYHdvcmtmbG93Tm9kZVZlcnNpb25gLlxuICAgKiBAZGVmYXVsdCAtIG5vIG1pbmltdW0gdmVyc2lvbiBpcyBlbmZvcmNlZFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbWluTm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBub2RlIHZlcnNpb24gc3VwcG9ydGVkIGJ5IHRoaXMgcGFja2FnZS4gTW9zdCBwcm9qZWN0cyBzaG91bGQgbm90IHVzZSB0aGlzIG9wdGlvbi5cbiAgICogVGhlIHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZSBwYWNrYWdlIGlzIGluY29tcGF0aWJsZSB3aXRoIGFueSBuZXdlciB2ZXJzaW9ucyBvZiBub2RlLlxuICAgKiBUaGlzIHJlcXVpcmVtZW50IGlzIGVuZm9yY2VkIHZpYSB0aGUgZW5naW5lcyBmaWVsZC5cbiAgICpcbiAgICogWW91IHdpbGwgbm9ybWFsbHkgbm90IG5lZWQgdG8gc2V0IHRoaXMgb3B0aW9uLlxuICAgKiBDb25zaWRlciB0aGlzIG9wdGlvbiBvbmx5IGlmIHlvdXIgcGFja2FnZSBpcyBrbm93biB0byBub3QgZnVuY3Rpb24gd2l0aCBuZXdlciB2ZXJzaW9ucyBvZiBub2RlLlxuICAgKiBAZGVmYXVsdCAtIG5vIG1heGltdW0gdmVyc2lvbiBpcyBlbmZvcmNlZFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Tm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgYSBsaWNlbnNlIHNob3VsZCBiZSBhZGRlZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbGljZW5zZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogTGljZW5zZSdzIFNQRFggaWRlbnRpZmllci5cbiAgICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wcm9qZW4vcHJvamVuL3RyZWUvbWFpbi9saWNlbnNlLXRleHQgZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgbGljZW5zZXMuXG4gICAqIFVzZSB0aGUgYGxpY2Vuc2VkYCBvcHRpb24gaWYgeW91IHdhbnQgdG8gbm8gbGljZW5zZSB0byBiZSBzcGVjaWZpZWQuXG4gICAqIEBkZWZhdWx0IFwiTUlUXCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxpY2Vuc2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBLZXl3b3JkcyB0byBpbmNsdWRlIGluIGBwYWNrYWdlLmpzb25gLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkga2V5d29yZHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogUGFja2FnZSdzIEhvbWVwYWdlIC8gV2Vic2l0ZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGhvbWVwYWdlPzogc3RyaW5nO1xuICAvKipcbiAgICogTW9kdWxlIGVudHJ5cG9pbnQgKGBtYWluYCBpbiBgcGFja2FnZS5qc29uYCkuXG4gICAqIFNldCB0byBhbiBlbXB0eSBzdHJpbmcgdG8gbm90IGluY2x1ZGUgYG1haW5gIGluIHlvdXIgcGFja2FnZS5qc29uXG4gICAqIEBkZWZhdWx0IFwibGliL2luZGV4LmpzXCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5cG9pbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBCdWlsZCBkZXBlbmRlbmNpZXMgZm9yIHRoaXMgbW9kdWxlLlxuICAgKiBUaGVzZSBkZXBlbmRlbmNpZXMgd2lsbCBvbmx5IGJlXG4gICAqIGF2YWlsYWJsZSBpbiB5b3VyIGJ1aWxkIGVudmlyb25tZW50IGJ1dCB3aWxsIG5vdCBiZSBmZXRjaGVkIHdoZW4gdGhpc1xuICAgKiBtb2R1bGUgaXMgY29uc3VtZWQuXG4gICAqXG4gICAqIFRoZSByZWNvbW1lbmRhdGlvbiBpcyB0byBvbmx5IHNwZWNpZnkgdGhlIG1vZHVsZSBuYW1lIGhlcmUgKGUuZy5cbiAgICogYGV4cHJlc3NgKS4gVGhpcyB3aWxsIGJlaGF2ZSBzaW1pbGFyIHRvIGB5YXJuIGFkZGAgb3IgYG5wbSBpbnN0YWxsYCBpbiB0aGVcbiAgICogc2Vuc2UgdGhhdCBpdCB3aWxsIGFkZCB0aGUgbW9kdWxlIGFzIGEgZGVwZW5kZW5jeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gXG4gICAqIGZpbGUgd2l0aCB0aGUgbGF0ZXN0IHZlcnNpb24gKGBeYCkuIFlvdSBjYW4gc3BlY2lmeSBzZW12ZXIgcmVxdWlyZW1lbnRzIGluXG4gICAqIHRoZSBzYW1lIHN5bnRheCBwYXNzZWQgdG8gYG5wbSBpYCBvciBgeWFybiBhZGRgIChlLmcuIGBleHByZXNzQF4yYCkgYW5kXG4gICAqIHRoaXMgd2lsbCBiZSB3aGF0IHlvdSBgcGFja2FnZS5qc29uYCB3aWxsIGV2ZW50dWFsbHkgaW5jbHVkZS5cbiAgICogQGRlZmF1bHQgW11cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICogQGZlYXR1cmVkIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRldkRlcHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIGlzIGp1c3QgYSBzdHJpbmcgdGhhdCBoZWxwcyBwZW9wbGUgdW5kZXJzdGFuZCB0aGUgcHVycG9zZSBvZiB0aGUgcGFja2FnZS5cbiAgICogSXQgY2FuIGJlIHVzZWQgd2hlbiBzZWFyY2hpbmcgZm9yIHBhY2thZ2VzIGluIGEgcGFja2FnZSBtYW5hZ2VyIGFzIHdlbGwuXG4gICAqIFNlZSBodHRwczovL2NsYXNzaWMueWFybnBrZy5jb20vZW4vZG9jcy9wYWNrYWdlLWpzb24vI3RvYy1kZXNjcmlwdGlvblxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKiBAZmVhdHVyZWQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBSdW50aW1lIGRlcGVuZGVuY2llcyBvZiB0aGlzIG1vZHVsZS5cbiAgICogVGhlIHJlY29tbWVuZGF0aW9uIGlzIHRvIG9ubHkgc3BlY2lmeSB0aGUgbW9kdWxlIG5hbWUgaGVyZSAoZS5nLlxuICAgKiBgZXhwcmVzc2ApLiBUaGlzIHdpbGwgYmVoYXZlIHNpbWlsYXIgdG8gYHlhcm4gYWRkYCBvciBgbnBtIGluc3RhbGxgIGluIHRoZVxuICAgKiBzZW5zZSB0aGF0IGl0IHdpbGwgYWRkIHRoZSBtb2R1bGUgYXMgYSBkZXBlbmRlbmN5IHRvIHlvdXIgYHBhY2thZ2UuanNvbmBcbiAgICogZmlsZSB3aXRoIHRoZSBsYXRlc3QgdmVyc2lvbiAoYF5gKS4gWW91IGNhbiBzcGVjaWZ5IHNlbXZlciByZXF1aXJlbWVudHMgaW5cbiAgICogdGhlIHNhbWUgc3ludGF4IHBhc3NlZCB0byBgbnBtIGlgIG9yIGB5YXJuIGFkZGAgKGUuZy4gYGV4cHJlc3NAXjJgKSBhbmRcbiAgICogdGhpcyB3aWxsIGJlIHdoYXQgeW91IGBwYWNrYWdlLmpzb25gIHdpbGwgZXZlbnR1YWxseSBpbmNsdWRlLlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKiBAZmVhdHVyZWQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVwcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBucG0gcGFja2FnZXMgdXNpbmcgQVdTIENvZGVBcnRpZmFjdC5cbiAgICogVGhpcyBpcyByZXF1aXJlZCBpZiBwdWJsaXNoaW5nIHBhY2thZ2VzIHRvLCBvciBpbnN0YWxsaW5nIHNjb3BlZCBwYWNrYWdlcyBmcm9tIEFXUyBDb2RlQXJ0aWZhY3RcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNvZGVBcnRpZmFjdE9wdGlvbnM/OiBqYXZhc2NyaXB0LkNvZGVBcnRpZmFjdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiBCdW4gdG8gdXNlIGlmIHVzaW5nIEJ1biBhcyBhIHBhY2thZ2UgbWFuYWdlci5cbiAgICogQGRlZmF1bHQgXCJsYXRlc3RcIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVuVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIExpc3Qgb2YgZGVwZW5kZW5jaWVzIHRvIGJ1bmRsZSBpbnRvIHRoaXMgbW9kdWxlLlxuICAgKiBUaGVzZSBtb2R1bGVzIHdpbGwgYmVcbiAgICogYWRkZWQgYm90aCB0byB0aGUgYGRlcGVuZGVuY2llc2Agc2VjdGlvbiBhbmQgYGJ1bmRsZWREZXBlbmRlbmNpZXNgIHNlY3Rpb24gb2ZcbiAgICogeW91ciBgcGFja2FnZS5qc29uYC5cbiAgICpcbiAgICogVGhlIHJlY29tbWVuZGF0aW9uIGlzIHRvIG9ubHkgc3BlY2lmeSB0aGUgbW9kdWxlIG5hbWUgaGVyZSAoZS5nLlxuICAgKiBgZXhwcmVzc2ApLiBUaGlzIHdpbGwgYmVoYXZlIHNpbWlsYXIgdG8gYHlhcm4gYWRkYCBvciBgbnBtIGluc3RhbGxgIGluIHRoZVxuICAgKiBzZW5zZSB0aGF0IGl0IHdpbGwgYWRkIHRoZSBtb2R1bGUgYXMgYSBkZXBlbmRlbmN5IHRvIHlvdXIgYHBhY2thZ2UuanNvbmBcbiAgICogZmlsZSB3aXRoIHRoZSBsYXRlc3QgdmVyc2lvbiAoYF5gKS4gWW91IGNhbiBzcGVjaWZ5IHNlbXZlciByZXF1aXJlbWVudHMgaW5cbiAgICogdGhlIHNhbWUgc3ludGF4IHBhc3NlZCB0byBgbnBtIGlgIG9yIGB5YXJuIGFkZGAgKGUuZy4gYGV4cHJlc3NAXjJgKSBhbmRcbiAgICogdGhpcyB3aWxsIGJlIHdoYXQgeW91IGBwYWNrYWdlLmpzb25gIHdpbGwgZXZlbnR1YWxseSBpbmNsdWRlLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVuZGxlZERlcHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogVGhlIHVybCB0byB5b3VyIHByb2plY3QncyBpc3N1ZSB0cmFja2VyLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVnc1VybD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBlbWFpbCBhZGRyZXNzIHRvIHdoaWNoIGlzc3VlcyBzaG91bGQgYmUgcmVwb3J0ZWQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBidWdzRW1haWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBCaW5hcnkgcHJvZ3JhbXMgdmVuZGVkIHdpdGggeW91ciBtb2R1bGUuXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgb3B0aW9uIHRvIGFkZC9jdXN0b21pemUgaG93IGJpbmFyaWVzIGFyZSByZXByZXNlbnRlZCBpblxuICAgKiB5b3VyIGBwYWNrYWdlLmpzb25gLCBidXQgdW5sZXNzIGBhdXRvRGV0ZWN0QmluYCBpcyBgZmFsc2VgLCBldmVyeVxuICAgKiBleGVjdXRhYmxlIGZpbGUgdW5kZXIgYGJpbmAgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGFkZGVkIHRvIHRoaXMgc2VjdGlvbi5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGJpbj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZCBhbGwgZXhlY3V0YWJsZXMgdW5kZXIgdGhlIGBiaW5gIGRpcmVjdG9yeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gIGZpbGUgdW5kZXIgdGhlIGBiaW5gIHNlY3Rpb24uXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9EZXRlY3RCaW4/OiBib29sZWFuO1xuICAvKipcbiAgICogSXMgdGhlIGF1dGhvciBhbiBvcmdhbml6YXRpb24uXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhdXRob3JPcmdhbml6YXRpb24/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0aG9yJ3MgbmFtZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvck5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEF1dGhvcidzIGUtbWFpbC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvckVtYWlsPzogc3RyaW5nO1xuICAvKipcbiAgICogQWxsb3cgdGhlIHByb2plY3QgdG8gaW5jbHVkZSBgcGVlckRlcGVuZGVuY2llc2AgYW5kIGBidW5kbGVkRGVwZW5kZW5jaWVzYC5cbiAgICogVGhpcyBpcyBub3JtYWxseSBvbmx5IGFsbG93ZWQgZm9yIGxpYnJhcmllcy4gRm9yIGFwcHMsIHRoZXJlJ3Mgbm8gbWVhbmluZ1xuICAgKiBmb3Igc3BlY2lmeWluZyB0aGVzZS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dMaWJyYXJ5RGVwZW5kZW5jaWVzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVuYWJsZSBWU0NvZGUgaW50ZWdyYXRpb24uXG4gICAqIEVuYWJsZWQgYnkgZGVmYXVsdCBmb3Igcm9vdCBwcm9qZWN0cy4gRGlzYWJsZWQgZm9yIG5vbi1yb290IHByb2plY3RzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSB2c2NvZGU/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0by1jbG9zZSBzdGFsZSBpc3N1ZXMgYW5kIHB1bGwgcmVxdWVzdHMuXG4gICAqIFRvIGRpc2FibGUgc2V0IGBzdGFsZWAgdG8gYGZhbHNlYC5cbiAgICogQGRlZmF1bHQgLSBzZWUgZGVmYXVsdHMgaW4gYFN0YWxlT3B0aW9uc2BcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YWxlT3B0aW9ucz86IGdpdGh1Yi5TdGFsZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBBdXRvLWNsb3NlIG9mIHN0YWxlIGlzc3VlcyBhbmQgcHVsbCByZXF1ZXN0LlxuICAgKiBTZWUgYHN0YWxlT3B0aW9uc2AgZm9yIG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBzdGFsZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgUkVBRE1FIHNldHVwLlxuICAgKiBAZGVmYXVsdCAtIHsgZmlsZW5hbWU6ICdSRUFETUUubWQnLCBjb250ZW50czogJyMgcmVwbGFjZSB0aGlzJyB9XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZWFkbWU/OiBTYW1wbGVSZWFkbWVQcm9wcztcbiAgLyoqXG4gICAqIENob29zZSBhIG1ldGhvZCBvZiBwcm92aWRpbmcgR2l0SHViIEFQSSBhY2Nlc3MgZm9yIHByb2plbiB3b3JrZmxvd3MuXG4gICAqIEBkZWZhdWx0IC0gdXNlIGEgcGVyc29uYWwgYWNjZXNzIHRva2VuIG5hbWVkIFBST0pFTl9HSVRIVUJfVE9LRU5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbkNyZWRlbnRpYWxzPzogZ2l0aHViLkdpdGh1YkNyZWRlbnRpYWxzO1xuICAvKipcbiAgICogQWRkIGEgR2l0cG9kIGRldmVsb3BtZW50IGVudmlyb25tZW50LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0cG9kPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIEdpdEh1YiBpbnRlZ3JhdGlvbi5cbiAgICogQGRlZmF1bHQgLSBzZWUgR2l0SHViT3B0aW9uc1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aHViT3B0aW9ucz86IGdpdGh1Yi5HaXRIdWJPcHRpb25zO1xuICAvKipcbiAgICogRW5hYmxlIEdpdEh1YiBpbnRlZ3JhdGlvbi5cbiAgICogRW5hYmxlZCBieSBkZWZhdWx0IGZvciByb290IHByb2plY3RzLiBEaXNhYmxlZCBmb3Igbm9uLXJvb3QgcHJvamVjdHMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGdpdGh1Yj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBZGQgYSBWU0NvZGUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgKHVzZWQgZm9yIEdpdEh1YiBDb2Rlc3BhY2VzKS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRldkNvbnRhaW5lcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBZGQgYSBgY2xvYmJlcmAgdGFzayB3aGljaCByZXNldHMgdGhlIHJlcG8gdG8gb3JpZ2luLlxuICAgKiBAZGVmYXVsdCAtIHRydWUsIGJ1dCBmYWxzZSBmb3Igc3VicHJvamVjdHNcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNsb2JiZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogQ29uZmlndXJlIG9wdGlvbnMgZm9yIGF1dG9tYXRpYyBtZXJnaW5nIG9uIEdpdEh1Yi5cbiAgICogSGFzIG5vIGVmZmVjdCBpZlxuICAgKiBgZ2l0aHViLm1lcmdpZnlgIG9yIGBhdXRvTWVyZ2VgIGlzIHNldCB0byBmYWxzZS5cbiAgICogQGRlZmF1bHQgLSBzZWUgZGVmYXVsdHMgaW4gYEF1dG9NZXJnZU9wdGlvbnNgXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhdXRvTWVyZ2VPcHRpb25zPzogZ2l0aHViLkF1dG9NZXJnZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBFbmFibGUgYXV0b21hdGljIG1lcmdpbmcgb24gR2l0SHViLlxuICAgKiBIYXMgbm8gZWZmZWN0IGlmIGBnaXRodWIubWVyZ2lmeWBcbiAgICogaXMgc2V0IHRvIGZhbHNlLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhdXRvTWVyZ2U/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5hYmxlIGFuZCBjb25maWd1cmUgdGhlICdhdXRvIGFwcHJvdmUnIHdvcmtmbG93LlxuICAgKiBAZGVmYXVsdCAtIGF1dG8gYXBwcm92ZSBpcyBkaXNhYmxlZFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b0FwcHJvdmVPcHRpb25zPzogZ2l0aHViLkF1dG9BcHByb3ZlT3B0aW9ucztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHJlbm92YXRlYm90LlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVub3ZhdGVib3RPcHRpb25zPzogUmVub3ZhdGVib3RPcHRpb25zO1xuICAvKipcbiAgICogVXNlIHJlbm92YXRlYm90IHRvIGhhbmRsZSBkZXBlbmRlbmN5IHVwZ3JhZGVzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVub3ZhdGVib3Q/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgLnByb2plbnJjLmpzb24uXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5yY0pzb25PcHRpb25zPzogUHJvamVucmNKc29uT3B0aW9ucztcbiAgLyoqXG4gICAqIEdlbmVyYXRlIChvbmNlKSAucHJvamVucmMuanNvbiAoaW4gSlNPTikuIFNldCB0byBgZmFsc2VgIGluIG9yZGVyIHRvIGRpc2FibGUgLnByb2plbnJjLmpzb24gZ2VuZXJhdGlvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjSnNvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgc2hlbGwgY29tbWFuZCB0byB1c2UgaW4gb3JkZXIgdG8gcnVuIHRoZSBwcm9qZW4gQ0xJLlxuICAgKiBDYW4gYmUgdXNlZCB0byBjdXN0b21pemUgaW4gc3BlY2lhbCBlbnZpcm9ubWVudHMuXG4gICAqIEBkZWZhdWx0IFwibnB4IHByb2plblwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5Db21tYW5kPzogc3RyaW5nO1xuICAvKipcbiAgICogR2VuZXJhdGUgYSBwcm9qZWN0IHRyZWUgZmlsZSAoYC5wcm9qZW4vdHJlZS5qc29uYCkgdGhhdCBzaG93cyBhbGwgY29tcG9uZW50cyBhbmQgdGhlaXIgcmVsYXRpb25zaGlwcy4gVXNlZnVsIGZvciB1bmRlcnN0YW5kaW5nIHlvdXIgcHJvamVjdCBzdHJ1Y3R1cmUgYW5kIGRlYnVnZ2luZy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3RUcmVlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBwYXJlbnQgcHJvamVjdCwgaWYgdGhpcyBwcm9qZWN0IGlzIHBhcnQgb2YgYSBiaWdnZXIgcHJvamVjdC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHBhcmVudD86IFByb2plY3Q7XG4gIC8qKlxuICAgKiBUaGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHByb2plY3QuXG4gICAqIFJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5LCBhbGwgZmlsZXMgYXJlIHN5bnRoZXNpemVkLlxuICAgKlxuICAgKiBJZiB0aGlzIHByb2plY3QgaGFzIGEgcGFyZW50LCB0aGlzIGRpcmVjdG9yeSBpcyByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gICAqIGRpcmVjdG9yeSBhbmQgaXQgY2Fubm90IGJlIHRoZSBzYW1lIGFzIHRoZSBwYXJlbnQgb3IgYW55IG9mIGl0J3Mgb3RoZXJcbiAgICogc3VicHJvamVjdHMuXG4gICAqIEBkZWZhdWx0IFwiLlwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBvdXRkaXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDb25maWd1cmUgbG9nZ2luZyBvcHRpb25zIHN1Y2ggYXMgdmVyYm9zaXR5LlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nZ2luZz86IExvZ2dlck9wdGlvbnM7XG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGdpdC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGdpdE9wdGlvbnM/OiBHaXRPcHRpb25zO1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciAuZ2l0aWdub3JlIGZpbGUuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBnaXRJZ25vcmVPcHRpb25zPzogSWdub3JlRmlsZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNvbW1pdCB0aGUgbWFuYWdlZCBmaWxlcyBieSBkZWZhdWx0LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb21taXRHZW5lcmF0ZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhpcyBpcyB0aGUgbmFtZSBvZiB5b3VyIHByb2plY3QuXG4gICAqIEBkZWZhdWx0ICRCQVNFRElSXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqIEBmZWF0dXJlZCB0cnVlXG4gICAqL1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoaWNoIGNvbnZlbnRpb25hbCBjb21taXQgdHlwZXMgc2hvdWxkIGJlIHJlbGVhc2VkXG4gICAqIEBkZWZhdWx0IFsnZmVhdCcsICdmaXgnLCAnY2hvcmUnLCAncmV2ZXJ0J11cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2FibGVDb21taXRUeXBlcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBXaGljaCBjb252ZW50aW9uYWwgY29tbWl0IHR5cGVzIGFyZSBhbGxvd2VkIHRvIGJlIHVzZWRcbiAgICogVHlwZXMgbGlzdGVkIGluIGByZWxlYXNhYmxlQ29tbWl0VHlwZXNgIGFyZSBhbHdheXMgYWxsb3dlZFxuICAgKiBAZGVmYXVsdCBbJ2ZlYXQnLCAnZml4JywgJ2Nob3JlJywgJ3JldmVydCcsICdkb2NzJywgJ2NpJ11cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRDb21taXRUeXBlcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBVc2UgdGhpcyBhcHAgZm9yIHdvcmtmbG93IGF1dG9tYXRpb24uIFJlbWVtYmVyIHRvIGluc3RhbGwgdGhlIGFwcCBhbmQgdG8gY29uZmlndXJlIGNyZWRlbnRpYWxzLlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9tYXRpb25BcHBOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogUHJvdGVjdCBhbnkgYXV0b21hdGlvbiB3aXRoIHRoaXMgZW52aXJvbm1lbnQuIFlvdSB3aWxsIG5lZWQgdG8gc2V0IHRoZSBlbnZpcm9ubWVudCB1cCBpbiBHaXRIdWIuIENyZWRlbnRpYWxzIGNhbiBvbmx5IGJlIHVzZWQgd2l0aGluIHRoaXMgZW52aXJvbm1lbnQuXG4gICAqIEBkZWZhdWx0IFwiYXV0b21hdGlvblwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhdXRvbWF0aW9uRW52aXJvbm1lbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGxvdyB0aGUgcmVwbyBvd25lciB0byBzZWxmIGFwcHJvdmUgUFJzIGJ5IHB1dHRpbmcgYSBsYWJlbCBvbiBpdC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgb3duZXJDYW5TZWxmQXBwcm92ZVBScz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBAZGVmYXVsdCBVcGdyYWRlRGVwZW5kZW5jaWVzU2NoZWR1bGUuV0VFS0xZXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSB1cGdyYWRlc1NjaGVkdWxlPzogamF2YXNjcmlwdC5VcGdyYWRlRGVwZW5kZW5jaWVzU2NoZWR1bGU7XG4gIC8qKlxuICAgKiBBZGQgYSBsb2dvLlxuICAgKiBVc2UgYExvZ28ucGxhY2Vob2xkZXIoKWAgdG8gZ2V0IHN0YXJ0ZWQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsb2dvPzogbG9nby5JTG9nbztcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBob3cgdGhlIHdvcmRtYXJrIGlzIGNyZWF0ZWQgZnJvbSBhIGxvZ28uXG4gICAqIFdvcmRtYXJrcyBhcmUgb25seSBjcmVhdGVkIHdoZW4gYSBsb2dvIGlzIGF2YWlsYWJsZS5cbiAgICogQGRlZmF1bHQgLSBkZXJpdmVkIGZyb20gbG9nbyBhbmQgcHJvamVjdFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgd29yZG1hcmtPcHRpb25zPzogbG9nby5Xb3JkbWFya09wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgcHJvamVuIHZlcnNpb24gY29uc3RyYWludCB0aGF0IGlzIHN1cHBvcnRlZCBieSB0aGlzIHByb2plY3RcbiAgICogQGRlZmF1bHQgXCIwLnggPj0wLjc1LjBcIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVuVmVyc2lvbj86IHN0cmluZztcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVuLXByb2plY3Qtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9qZW4tcHJvamVjdC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5pbXBvcnQgdHlwZSB7IGNkaywgZ2l0aHViLCBHaXRPcHRpb25zLCBHcm91cFJ1bm5lck9wdGlvbnMsIElnbm9yZUZpbGVPcHRpb25zLCBqYXZhc2NyaXB0LCBMb2dnZXJPcHRpb25zLCBQcm9qZWN0LCBQcm9qZW5yY0pzb25PcHRpb25zLCByZWxlYXNlLCBSZW5vdmF0ZWJvdE9wdGlvbnMsIFNhbXBsZVJlYWRtZVByb3BzLCB0eXBlc2NyaXB0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB0eXBlIHsgbG9nbyB9IGZyb20gJy4vJztcblxuLyoqXG4gKiBQcm9qZW5Qcm9qZWN0T3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2plblByb2plY3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIExldmVsIG9mIHRzY29uZmlnIHZhbGlkYXRpb24ganNpaSBzaG91bGQgcGVyZm9ybSBvbiB0aGUgdXNlci1wcm92aWRlZCB0c2NvbmZpZy5cbiAgICogT25seSByZWxldmFudCB3aGVuIHRoZSBwcm9qZWN0IHN5bnRoZXNpemVzIGl0cyBvd24gdHNjb25maWdcbiAgICogKGkuZS4gYGRpc2FibGVUc2NvbmZpZ2AgaXMgbm90IHNldCBvbiB0aGUgVHlwZVNjcmlwdFByb2plY3QpLlxuICAgKiBAZGVmYXVsdCBWYWxpZGF0ZVRzY29uZmlnLlNUUklDVFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdmFsaWRhdGVUc2NvbmZpZz86IGNkay5WYWxpZGF0ZVRzY29uZmlnO1xuICAvKipcbiAgICogQGRlZmF1bHQgXCIuXCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJvb3RkaXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQdWJsaXNoIHRvIHB5cGkuXG4gICAqIEBkZWZhdWx0IC0gbm8gcHVibGlzaGluZ1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRvUHlwaT86IGNkay5Kc2lpUHl0aG9uVGFyZ2V0O1xuICAvKipcbiAgICogUHVibGlzaCB0byBOdUdldC5cbiAgICogQGRlZmF1bHQgLSBubyBwdWJsaXNoaW5nXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVG9OdWdldD86IGNkay5Kc2lpRG90TmV0VGFyZ2V0O1xuICAvKipcbiAgICogUHVibGlzaCB0byBtYXZlbi5cbiAgICogQGRlZmF1bHQgLSBubyBwdWJsaXNoaW5nXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVG9NYXZlbj86IGNkay5Kc2lpSmF2YVRhcmdldDtcbiAgLyoqXG4gICAqIFB1Ymxpc2ggR28gYmluZGluZ3MgdG8gYSBnaXQgcmVwb3NpdG9yeS5cbiAgICogQGRlZmF1bHQgLSBubyBwdWJsaXNoaW5nXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoVG9Hbz86IGNkay5Kc2lpR29UYXJnZXQ7XG4gIC8qKlxuICAgKiBBY2NlcHRzIGEgbGlzdCBvZiBnbG9iIHBhdHRlcm5zLlxuICAgKiBGaWxlcyBtYXRjaGluZyBhbnkgb2YgdGhvc2UgcGF0dGVybnMgd2lsbCBiZSBleGNsdWRlZCBmcm9tIHRoZSBUeXBlU2NyaXB0IGNvbXBpbGVyIGlucHV0LlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCBqc2lpIHdpbGwgaW5jbHVkZSBhbGwgKi50cyBmaWxlcyAoZXhjZXB0IC5kLnRzIGZpbGVzKSBpbiB0aGUgVHlwZVNjcmlwdCBjb21waWxlciBpbnB1dC5cbiAgICogVGhpcyBjYW4gYmUgcHJvYmxlbWF0aWMgZm9yIGV4YW1wbGUgd2hlbiB0aGUgcGFja2FnZSdzIGJ1aWxkIG9yIHRlc3QgcHJvY2VkdXJlIGdlbmVyYXRlcyAudHMgZmlsZXNcbiAgICogdGhhdCBjYW5ub3QgYmUgY29tcGlsZWQgd2l0aCBqc2lpJ3MgY29tcGlsZXIgc2V0dGluZ3MuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBleGNsdWRlVHlwZXNjcmlwdD86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBGaWxlIHBhdGggZm9yIGdlbmVyYXRlZCBkb2NzLlxuICAgKiBAZGVmYXVsdCBcIkFQSS5tZFwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkb2NnZW5GaWxlUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIEVtaXQgYSBjb21wcmVzc2VkIHZlcnNpb24gb2YgdGhlIGFzc2VtYmx5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tcHJlc3NBc3NlbWJseT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBpZ25vcmUgZmlsZSBmb3IgQVBJIGNvbXBhdGliaWxpdHkgdGVzdHMuXG4gICAqIEBkZWZhdWx0IFwiLmNvbXBhdGlnbm9yZVwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb21wYXRJZ25vcmU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IHJ1biBBUEkgY29tcGF0aWJpbGl0eSB0ZXN0IGFnYWluc3QgdGhlIGxhdGVzdCB2ZXJzaW9uIHB1Ymxpc2hlZCB0byBucG0gYWZ0ZXIgY29tcGlsYXRpb24uXG4gICAqIC0gWW91IGNhbiBtYW51YWxseSBydW4gY29tcGF0aWJpbGl0eSB0ZXN0cyB1c2luZyBgeWFybiBjb21wYXRgIGlmIHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZC5cbiAgICogLSBZb3UgY2FuIGlnbm9yZSBjb21wYXRpYmlsaXR5IGZhaWx1cmVzIGJ5IGFkZGluZyBsaW5lcyB0byBhIFwiLmNvbXBhdGlnbm9yZVwiIGZpbGUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb21wYXQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRW1haWwgb3IgVVJMIG9mIHRoZSBsaWJyYXJ5IGF1dGhvci5cbiAgICogQGRlZmF1bHQgJEdJVF9VU0VSX0VNQUlMXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhdXRob3JBZGRyZXNzPzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgdHMtamVzdC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRzSmVzdE9wdGlvbnM/OiB0eXBlc2NyaXB0LlRzSmVzdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZGV2ZWxvcG1lbnQgdHNjb25maWcuanNvbiBmaWxlLlxuICAgKiBAZGVmYXVsdCBcInRzY29uZmlnLmRldi5qc29uXCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRzY29uZmlnRGV2RmlsZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSB0c2NvbmZpZyBvcHRpb25zIGZvciB0aGUgZGV2ZWxvcG1lbnQgdHNjb25maWcuanNvbiBmaWxlICh1c2VkIGZvciB0ZXN0aW5nKS5cbiAgICogQGRlZmF1bHQgLSB1c2UgdGhlIHByb2R1Y3Rpb24gdHNjb25maWcgb3B0aW9uc1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdHNjb25maWdEZXY/OiBqYXZhc2NyaXB0LlR5cGVzY3JpcHRDb25maWdPcHRpb25zO1xuICAvKipcbiAgICogQ3VzdG9tIFRTQ29uZmlnLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdHNjb25maWc/OiBqYXZhc2NyaXB0LlR5cGVzY3JpcHRDb25maWdPcHRpb25zO1xuICAvKipcbiAgICogSmVzdCB0ZXN0cyBkaXJlY3RvcnkuIFRlc3RzIGZpbGVzIHNob3VsZCBiZSBuYW1lZCBgeHh4LnRlc3QudHNgLlxuICAgKiBJZiB0aGlzIGRpcmVjdG9yeSBpcyB1bmRlciBgc3JjZGlyYCAoZS5nLiBgc3JjL3Rlc3RgLCBgc3JjL19fdGVzdHNfX2ApLFxuICAgKiB0aGVuIHRlc3RzIGFyZSBnb2luZyB0byBiZSBjb21waWxlZCBpbnRvIGBsaWIvYCBhbmQgZXhlY3V0ZWQgYXMgamF2YXNjcmlwdC5cbiAgICogSWYgdGhlIHRlc3QgZGlyZWN0b3J5IGlzIG91dHNpZGUgb2YgYHNyY2AsIHRoZW4gd2UgY29uZmlndXJlIGplc3QgdG9cbiAgICogY29tcGlsZSB0aGUgY29kZSBpbi1tZW1vcnkuXG4gICAqIEBkZWZhdWx0IFwidGVzdFwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSB0ZXN0ZGlyPzogc3RyaW5nO1xuICAvKipcbiAgICogVHlwZXNjcmlwdCBzb3VyY2VzIGRpcmVjdG9yeS5cbiAgICogQGRlZmF1bHQgXCJzcmNcIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc3JjZGlyPzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgLnByb2plbnJjLnRzLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNUc09wdGlvbnM/OiB0eXBlc2NyaXB0LlByb2plbnJjT3B0aW9ucztcbiAgLyoqXG4gICAqIFR5cGVzY3JpcHQgIGFydGlmYWN0cyBvdXRwdXQgZGlyZWN0b3J5LlxuICAgKiBAZGVmYXVsdCBcImxpYlwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsaWJkaXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFc2xpbnQgb3B0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBvcGluaW9uYXRlZCBkZWZhdWx0IG9wdGlvbnNcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVzbGludE9wdGlvbnM/OiBqYXZhc2NyaXB0LkVzbGludE9wdGlvbnM7XG4gIC8qKlxuICAgKiBTZXR1cCBlc2xpbnQuXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSwgdW5sZXNzIGJpb21lIGlzIGVuYWJsZWRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVzbGludD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgLmQudHMgZmlsZSB0aGF0IGluY2x1ZGVzIHRoZSB0eXBlIGRlY2xhcmF0aW9ucyBmb3IgdGhpcyBtb2R1bGUuXG4gICAqIEBkZWZhdWx0IC0gLmQudHMgZmlsZSBkZXJpdmVkIGZyb20gdGhlIHByb2plY3QncyBlbnRyeXBvaW50ICh1c3VhbGx5IGxpYi9pbmRleC5kLnRzKVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZW50cnlwb2ludFR5cGVzPzogc3RyaW5nO1xuICAvKipcbiAgICogRG9jcyBkaXJlY3RvcnkuXG4gICAqIEBkZWZhdWx0IFwiZG9jc1wiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkb2NzRGlyZWN0b3J5Pzogc3RyaW5nO1xuICAvKipcbiAgICogRG9jZ2VuIGJ5IFR5cGVkb2MuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkb2NnZW4/OiBib29sZWFuO1xuICAvKipcbiAgICogRG8gbm90IGdlbmVyYXRlIGEgYHRzY29uZmlnLmRldi5qc29uYCBmaWxlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZVRzY29uZmlnRGV2PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERvIG5vdCBnZW5lcmF0ZSBhIGB0c2NvbmZpZy5qc29uYCBmaWxlICh1c2VkIGJ5IGpzaWkgcHJvamVjdHMgc2luY2UgdHNjb25maWcuanNvbiBpcyBnZW5lcmF0ZWQgYnkgdGhlIGpzaWkgY29tcGlsZXIpLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZVRzY29uZmlnPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVuYWJsZSBOb2RlLmpzIHBhY2thZ2UgY2FjaGUgaW4gR2l0SHViIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93UGFja2FnZUNhY2hlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBub2RlIHZlcnNpb24gdXNlZCBpbiBHaXRIdWIgQWN0aW9ucyB3b3JrZmxvd3MuXG4gICAqIEFsd2F5cyB1c2UgdGhpcyBvcHRpb24gaWYgeW91ciBHaXRIdWIgQWN0aW9ucyB3b3JrZmxvd3MgcmVxdWlyZSBhIHNwZWNpZmljIHRvIHJ1bi5cbiAgICogQGRlZmF1bHQgLSBgbWluTm9kZVZlcnNpb25gIGlmIHNldCwgb3RoZXJ3aXNlIGBsdHMvKmAuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd05vZGVWZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGdpdCBpZGVudGl0eSB0byB1c2UgaW4gd29ya2Zsb3dzLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgR2l0SHViIEFjdGlvbnMgdXNlclxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dHaXRJZGVudGl0eT86IGdpdGh1Yi5HaXRJZGVudGl0eTtcbiAgLyoqXG4gICAqIFdvcmtmbG93IHN0ZXBzIHRvIHVzZSBpbiBvcmRlciB0byBib290c3RyYXAgdGhpcyByZXBvLlxuICAgKiBAZGVmYXVsdCBcInlhcm4gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZSAmJiB5YXJuIHByb2plblwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd0Jvb3RzdHJhcFN0ZXBzPzogQXJyYXk8Z2l0aHViLndvcmtmbG93cy5Kb2JTdGVwPjtcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgcmVsZWFzZSB0byBucG0gd2hlbiBuZXcgdmVyc2lvbnMgYXJlIGludHJvZHVjZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlVG9OcG0/OiBib29sZWFuO1xuICAvKipcbiAgICogQWRkIHJlbGVhc2UgbWFuYWdlbWVudCB0byB0aGlzIHByb2plY3QuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBjb250ZW50cyBvZiB0aGUgcHVsbCByZXF1ZXN0IHRlbXBsYXRlLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgY29udGVudFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVsbFJlcXVlc3RUZW1wbGF0ZUNvbnRlbnRzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIEluY2x1ZGUgYSBHaXRIdWIgcHVsbCByZXF1ZXN0IHRlbXBsYXRlLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwdWxsUmVxdWVzdFRlbXBsYXRlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIC5wcm9qZW5yYy5qcy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjSnNPcHRpb25zPzogamF2YXNjcmlwdC5Qcm9qZW5yY09wdGlvbnM7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZSAob25jZSkgLnByb2plbnJjLmpzIChpbiBKYXZhU2NyaXB0KS4gU2V0IHRvIGBmYWxzZWAgaW4gb3JkZXIgdG8gZGlzYWJsZSAucHJvamVucmMuanMgZ2VuZXJhdGlvbi5cbiAgICogQGRlZmF1bHQgLSB0cnVlIGlmIHByb2plbnJjSnNvbiBpcyBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNKcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgb2YgXCJwcm9qZW5cIiBzaG91bGQgYmUgaW5zdGFsbGVkIGFzIGEgZGV2RGVwZW5kZW5jeS5cbiAgICogQGRlZmF1bHQgLSB0cnVlIGlmIG5vdCBhIHN1YnByb2plY3RcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbkRldkRlcGVuZGVuY3k/OiBib29sZWFuO1xuICAvKipcbiAgICogUHJldHRpZXIgb3B0aW9ucy5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByZXR0aWVyT3B0aW9ucz86IGphdmFzY3JpcHQuUHJldHRpZXJPcHRpb25zO1xuICAvKipcbiAgICogU2V0dXAgcHJldHRpZXIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwcmV0dGllcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgYHBhY2thZ2VgIHRhc2sgdGhhdCB3aWxsIHByb2R1Y2UgYW4gbnBtIHRhcmJhbGwgdW5kZXIgdGhlIGFydGlmYWN0cyBkaXJlY3RvcnkgKGUuZy4gYGRpc3RgKS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIC5ucG1pZ25vcmUgZmlsZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG5wbUlnbm9yZU9wdGlvbnM/OiBJZ25vcmVGaWxlT3B0aW9ucztcbiAgLyoqXG4gICAqIERlZmluZXMgYW4gLm5wbWlnbm9yZSBmaWxlLiBOb3JtYWxseSB0aGlzIGlzIG9ubHkgbmVlZGVkIGZvciBsaWJyYXJpZXMgdGhhdCBhcmUgcGFja2FnZWQgYXMgdGFyYmFsbHMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG5wbWlnbm9yZUVuYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogSmVzdCBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgamVzdE9wdGlvbnM/OiBqYXZhc2NyaXB0Lkplc3RPcHRpb25zO1xuICAvKipcbiAgICogU2V0dXAgamVzdCB1bml0IHRlc3RzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBqZXN0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgZW50cmllcyB0byAuZ2l0aWdub3JlLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aWdub3JlPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGBVcGdyYWRlRGVwZW5kZW5jaWVzYC5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRlcHNVcGdyYWRlT3B0aW9ucz86IGphdmFzY3JpcHQuVXBncmFkZURlcGVuZGVuY2llc09wdGlvbnM7XG4gIC8qKlxuICAgKiBVc2UgdGFza3MgYW5kIGdpdGh1YiB3b3JrZmxvd3MgdG8gaGFuZGxlIGRlcGVuZGVuY3kgdXBncmFkZXMuXG4gICAqIENhbm5vdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYGRlcGVuZGFib3RgLlxuICAgKiBAZGVmYXVsdCAtIGB0cnVlYCBmb3Igcm9vdCBwcm9qZWN0cywgYGZhbHNlYCBmb3Igc3VicHJvamVjdHNcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRlcHNVcGdyYWRlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGRlcGVuZGFib3QuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkZXBlbmRhYm90T3B0aW9ucz86IGdpdGh1Yi5EZXBlbmRhYm90T3B0aW9ucztcbiAgLyoqXG4gICAqIFVzZSBkZXBlbmRhYm90IHRvIGhhbmRsZSBkZXBlbmRlbmN5IHVwZ3JhZGVzLlxuICAgKiBDYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGBkZXBzVXBncmFkZWAuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkZXBlbmRhYm90PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBtYWluIHJlbGVhc2UgYnJhbmNoLlxuICAgKiBAZGVmYXVsdCBcIm1haW5cIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKiBAZmVhdHVyZWQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJlbGVhc2VCcmFuY2g/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY29weXJpZ2h0IHllYXJzIHRvIHB1dCBpbiB0aGUgTElDRU5TRSBmaWxlLlxuICAgKiBAZGVmYXVsdCAtIGN1cnJlbnQgeWVhclxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29weXJpZ2h0UGVyaW9kPzogc3RyaW5nO1xuICAvKipcbiAgICogTGljZW5zZSBjb3B5cmlnaHQgb3duZXIuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdHMgdG8gdGhlIHZhbHVlIG9mIGF1dGhvck5hbWUgb3IgXCJcIiBpZiBgYXV0aG9yTmFtZWAgaXMgdW5kZWZpbmVkLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29weXJpZ2h0T3duZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIHNlY3JldCBuYW1lIGZvciBhIHNwZWNpZmllZCBodHRwczovL2NvZGVjb3YuaW8vIHRva2VuLlxuICAgKiBAZGVmYXVsdCAtIE9JREMgYXV0aCBpcyB1c2VkXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb2RlQ292VG9rZW5TZWNyZXQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmUgYSBHaXRIdWIgd29ya2Zsb3cgc3RlcCBmb3Igc2VuZGluZyBjb2RlIGNvdmVyYWdlIG1ldHJpY3MgdG8gaHR0cHM6Ly9jb2RlY292LmlvLyBVc2VzIGNvZGVjb3YvY29kZWNvdi1hY3Rpb25AdjUgQnkgZGVmYXVsdCwgT0lEQyBhdXRoIGlzIHVzZWQuIEFsdGVybmF0aXZlbHkgYSB0b2tlbiBjYW4gYmUgcHJvdmlkZWQgdmlhIGBjb2RlQ292VG9rZW5TZWNyZXRgLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUNvdj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmUgd2hpY2ggbGljZW5zZXMgc2hvdWxkIGJlIGRlZW1lZCBhY2NlcHRhYmxlIGZvciB1c2UgYnkgZGVwZW5kZW5jaWVzLlxuICAgKiBUaGlzIHNldHRpbmcgd2lsbCBjYXVzZSB0aGUgYnVpbGQgdG8gZmFpbCwgaWYgYW55IHByb2hpYml0ZWQgb3Igbm90IGFsbG93ZWQgbGljZW5zZXMgYXJlcyBlbmNvdW50ZXJlZC5cbiAgICogQGRlZmF1bHQgLSBubyBsaWNlbnNlIGNoZWNrcyBhcmUgcnVuIGR1cmluZyB0aGUgYnVpbGQgYW5kIGFsbCBsaWNlbnNlcyB3aWxsIGJlIGFjY2VwdGVkXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjaGVja0xpY2Vuc2VzPzogamF2YXNjcmlwdC5MaWNlbnNlQ2hlY2tlck9wdGlvbnM7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBgQnVuZGxlcmAuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBidW5kbGVyT3B0aW9ucz86IGphdmFzY3JpcHQuQnVuZGxlck9wdGlvbnM7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBQUiBidWlsZCB3b3JrZmxvdy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkV29ya2Zsb3dPcHRpb25zPzogamF2YXNjcmlwdC5CdWlsZFdvcmtmbG93T3B0aW9ucztcbiAgLyoqXG4gICAqIERlZmluZSBhIEdpdEh1YiB3b3JrZmxvdyBmb3IgYnVpbGRpbmcgUFJzLlxuICAgKiBAZGVmYXVsdCAtIHRydWUgaWYgbm90IGEgc3VicHJvamVjdFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRXb3JrZmxvdz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCaW9tZSBvcHRpb25zLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYmlvbWVPcHRpb25zPzogamF2YXNjcmlwdC5CaW9tZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBTZXR1cCBCaW9tZS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGJpb21lPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYXBwcm92ZSBkZXBzIHVwZ3JhZGUgUFJzLCBhbGxvd2luZyB0aGVtIHRvIGJlIG1lcmdlZCBieSBtZXJnaWZ5IChpZiBjb25maWd1cmVkKS5cbiAgICogVGhyb3cgaWYgc2V0IHRvIHRydWUgYnV0IGBhdXRvQXBwcm92ZU9wdGlvbnNgIGFyZSBub3QgZGVmaW5lZC5cbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhdXRvQXBwcm92ZVVwZ3JhZGVzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNlY3VyaXR5IGF1ZGl0IG9wdGlvbnMuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhdWRpdERlcHNPcHRpb25zPzogamF2YXNjcmlwdC5BdWRpdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBSdW4gc2VjdXJpdHkgYXVkaXQgb24gZGVwZW5kZW5jaWVzLlxuICAgKiBXaGVuIGVuYWJsZWQsIGNyZWF0ZXMgYW4gXCJhdWRpdFwiIHRhc2sgdGhhdCBjaGVja3MgZm9yIGtub3duIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllc1xuICAgKiBpbiBkZXBlbmRlbmNpZXMuIEJ5IGRlZmF1bHQsIHJ1bnMgZHVyaW5nIGV2ZXJ5IGJ1aWxkIGFuZCBjaGVja3MgZm9yIFwiaGlnaFwiIHNldmVyaXR5XG4gICAqIHZ1bG5lcmFiaWxpdGllcyBvciBhYm92ZSBpbiBhbGwgZGVwZW5kZW5jaWVzIChpbmNsdWRpbmcgZGV2IGRlcGVuZGVuY2llcykuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhdWRpdERlcHM/OiBib29sZWFuO1xuICAvKipcbiAgICogQSBkaXJlY3Rvcnkgd2hpY2ggd2lsbCBjb250YWluIGJ1aWxkIGFydGlmYWN0cy5cbiAgICogQGRlZmF1bHQgXCJkaXN0XCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFydGlmYWN0c0RpcmVjdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIEdpdGh1YiBSdW5uZXIgR3JvdXAgc2VsZWN0aW9uIG9wdGlvbnMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIGEgdGFyZ2V0IFJ1bm5lciBHcm91cCBieSBuYW1lIGFuZC9vciBsYWJlbHNcbiAgICogQHRocm93cyB7RXJyb3J9IGlmIGJvdGggYHJ1bnNPbmAgYW5kIGBydW5zT25Hcm91cGAgYXJlIHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dSdW5zT25Hcm91cD86IEdyb3VwUnVubmVyT3B0aW9ucztcbiAgLyoqXG4gICAqIEdpdGh1YiBSdW5uZXIgc2VsZWN0aW9uIGxhYmVscy5cbiAgICogQGRlZmF1bHQgW1widWJ1bnR1LWxhdGVzdFwiXVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKiBAZGVzY3JpcHRpb24gRGVmaW5lcyBhIHRhcmdldCBSdW5uZXIgYnkgbGFiZWxzXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBpZiBib3RoIGBydW5zT25gIGFuZCBgcnVuc09uR3JvdXBgIGFyZSBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93UnVuc09uPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIENvbnRhaW5lciBpbWFnZSB0byB1c2UgZm9yIEdpdEh1YiB3b3JrZmxvd3MuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBpbWFnZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dDb250YWluZXJJbWFnZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEN1c3RvbSBjb25maWd1cmF0aW9uIHVzZWQgd2hlbiBjcmVhdGluZyBjaGFuZ2Vsb2cgd2l0aCBjb21taXQtYW5kLXRhZy12ZXJzaW9uIHBhY2thZ2UuXG4gICAqIEdpdmVuIHZhbHVlcyBlaXRoZXIgYXBwZW5kIHRvIGRlZmF1bHQgY29uZmlndXJhdGlvbiBvciBvdmVyd3JpdGUgdmFsdWVzIGluIGl0LlxuICAgKiBAZGVmYXVsdCAtIHN0YW5kYXJkIGNvbmZpZ3VyYXRpb24gYXBwbGljYWJsZSBmb3IgR2l0SHViIHJlcG9zaXRvcmllc1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbnJjT3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIC8qKlxuICAgKiBBIHNldCBvZiB3b3JrZmxvdyBzdGVwcyB0byBleGVjdXRlIGluIG9yZGVyIHRvIHNldHVwIHRoZSB3b3JrZmxvdyBjb250YWluZXIuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlV29ya2Zsb3dTZXR1cFN0ZXBzPzogQXJyYXk8Z2l0aHViLndvcmtmbG93cy5Kb2JTdGVwPjtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBkZWZhdWx0IHJlbGVhc2Ugd29ya2Zsb3cuXG4gICAqIEBkZWZhdWx0IFwicmVsZWFzZVwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZWxlYXNlV29ya2Zsb3dOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogQnVpbGQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGZvciByZWxlYXNlIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQge31cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VXb3JrZmxvd0Vudj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBUaGUgcmVsZWFzZSB0cmlnZ2VyIHRvIHVzZS5cbiAgICogQGRlZmF1bHQgLSBDb250aW51b3VzIHJlbGVhc2VzIChgUmVsZWFzZVRyaWdnZXIuY29udGludW91cygpYClcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VUcmlnZ2VyPzogcmVsZWFzZS5SZWxlYXNlVHJpZ2dlcjtcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYWRkIHRoZSBnaXZlbiBwcmVmaXggdG8gcmVsZWFzZSB0YWdzLiBVc2VmdWwgaWYgeW91IGFyZSByZWxlYXNpbmcgb24gbXVsdGlwbGUgYnJhbmNoZXMgd2l0aCBvdmVybGFwcGluZyB2ZXJzaW9uIG51bWJlcnMuXG4gICAqIE5vdGU6IHRoaXMgcHJlZml4IGlzIHVzZWQgdG8gZGV0ZWN0IHRoZSBsYXRlc3QgdGFnZ2VkIHZlcnNpb25cbiAgICogd2hlbiBidW1waW5nLCBzbyBpZiB5b3UgY2hhbmdlIHRoaXMgb24gYSBwcm9qZWN0IHdpdGggYW4gZXhpc3RpbmcgdmVyc2lvblxuICAgKiBoaXN0b3J5LCB5b3UgbWF5IG5lZWQgdG8gbWFudWFsbHkgdGFnIHlvdXIgbGF0ZXN0IHJlbGVhc2VcbiAgICogd2l0aCB0aGUgbmV3IHByZWZpeC5cbiAgICogQGRlZmF1bHQgXCJ2XCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VUYWdQcmVmaXg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgdG8gYXBwbHkgdG8gaXNzdWVzIGluZGljYXRpbmcgcHVibGlzaCBmYWlsdXJlcy5cbiAgICogT25seSBhcHBsaWVzIGlmIGByZWxlYXNlRmFpbHVyZUlzc3VlYCBpcyB0cnVlLlxuICAgKiBAZGVmYXVsdCBcImZhaWxlZC1yZWxlYXNlXCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VGYWlsdXJlSXNzdWVMYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIENyZWF0ZSBhIGdpdGh1YiBpc3N1ZSBvbiBldmVyeSBmYWlsZWQgcHVibGlzaGluZyB0YXNrLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZUZhaWx1cmVJc3N1ZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgR2l0SHViIEFjdGlvbnMgZW52aXJvbm1lbnQgdXNlZCBmb3IgdGhlIHJlbGVhc2UuXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gYWRkIGFuIGV4cGxpY2l0IGFwcHJvdmFsIHN0ZXAgdG8gdGhlIHJlbGVhc2VcbiAgICogb3IgbGltaXQgd2hvIGNhbiBpbml0aWF0ZSBhIHJlbGVhc2UgdGhyb3VnaCBlbnZpcm9ubWVudCBwcm90ZWN0aW9uIHJ1bGVzLlxuICAgKlxuICAgKiBXaGVuIG11bHRpcGxlIGFydGlmYWN0cyBhcmUgcmVsZWFzZWQsIHRoZSBlbnZpcm9ubWVudCBjYW4gYmUgb3ZlcndyaXR0ZW5cbiAgICogb24gYSBwZXIgYXJ0aWZhY3QgYmFzaXMuXG4gICAqIEBkZWZhdWx0IC0gbm8gZW52aXJvbm1lbnQgdXNlZCwgdW5sZXNzIHNldCBhdCB0aGUgYXJ0aWZhY3QgbGV2ZWxcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlbGVhc2VFbnZpcm9ubWVudD86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmluZXMgYWRkaXRpb25hbCByZWxlYXNlIGJyYW5jaGVzLlxuICAgKiBBIHdvcmtmbG93IHdpbGwgYmUgY3JlYXRlZCBmb3IgZWFjaFxuICAgKiByZWxlYXNlIGJyYW5jaCB3aGljaCB3aWxsIHB1Ymxpc2ggcmVsZWFzZXMgZnJvbSBjb21taXRzIGluIHRoaXMgYnJhbmNoLlxuICAgKiBFYWNoIHJlbGVhc2UgYnJhbmNoIF9tdXN0XyBiZSBhc3NpZ25lZCBhIG1ham9yIHZlcnNpb24gbnVtYmVyIHdoaWNoIGlzIHVzZWRcbiAgICogdG8gZW5mb3JjZSB0aGF0IHZlcnNpb25zIHB1Ymxpc2hlZCBmcm9tIHRoYXQgYnJhbmNoIGFsd2F5cyB1c2UgdGhhdCBtYWpvclxuICAgKiB2ZXJzaW9uLiBJZiBtdWx0aXBsZSBicmFuY2hlcyBhcmUgdXNlZCwgdGhlIGBtYWpvclZlcnNpb25gIGZpZWxkIG11c3QgYWxzb1xuICAgKiBiZSBwcm92aWRlZCBmb3IgdGhlIGRlZmF1bHQgYnJhbmNoLlxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgYnJhbmNoZXMgYXJlIHVzZWQgZm9yIHJlbGVhc2UuIHlvdSBjYW4gdXNlXG5gYWRkQnJhbmNoKClgIHRvIGFkZCBhZGRpdGlvbmFsIGJyYW5jaGVzLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZUJyYW5jaGVzPzogUmVjb3JkPHN0cmluZywgcmVsZWFzZS5CcmFuY2hPcHRpb25zPjtcbiAgLyoqXG4gICAqIERlZmluZSBwdWJsaXNoaW5nIHRhc2tzIHRoYXQgY2FuIGJlIGV4ZWN1dGVkIG1hbnVhbGx5IGFzIHdlbGwgYXMgd29ya2Zsb3dzLlxuICAgKiBOb3JtYWxseSwgcHVibGlzaGluZyBvbmx5IGhhcHBlbnMgd2l0aGluIGF1dG9tYXRlZCB3b3JrZmxvd3MuIEVuYWJsZSB0aGlzXG4gICAqIGluIG9yZGVyIHRvIGNyZWF0ZSBhIHB1Ymxpc2hpbmcgdGFzayBmb3IgZWFjaCBwdWJsaXNoaW5nIGFjdGl2aXR5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaFRhc2tzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluc3RlYWQgb2YgYWN0dWFsbHkgcHVibGlzaGluZyB0byBwYWNrYWdlIG1hbmFnZXJzLCBqdXN0IHByaW50IHRoZSBwdWJsaXNoaW5nIGNvbW1hbmQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoRHJ5UnVuPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEJ1bXAgdmVyc2lvbnMgZnJvbSB0aGUgZGVmYXVsdCBicmFuY2ggYXMgcHJlLXJlbGVhc2VzIChlLmcuIFwiYmV0YVwiLCBcImFscGhhXCIsIFwicHJlXCIpLlxuICAgKiBAZGVmYXVsdCAtIG5vcm1hbCBzZW1hbnRpYyB2ZXJzaW9uc1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJlcmVsZWFzZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFN0ZXBzIHRvIGV4ZWN1dGUgYWZ0ZXIgYnVpbGQgYXMgcGFydCBvZiB0aGUgcmVsZWFzZSB3b3JrZmxvdy5cbiAgICogQGRlZmF1bHQgW11cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHBvc3RCdWlsZFN0ZXBzPzogQXJyYXk8Z2l0aHViLndvcmtmbG93cy5Kb2JTdGVwPjtcbiAgLyoqXG4gICAqIFRoZSBucG1EaXN0VGFnIHRvIHVzZSB3aGVuIHB1Ymxpc2hpbmcgZnJvbSB0aGUgZGVmYXVsdCBicmFuY2guXG4gICAqIFRvIHNldCB0aGUgbnBtIGRpc3QtdGFnIGZvciByZWxlYXNlIGJyYW5jaGVzLCBzZXQgdGhlIGBucG1EaXN0VGFnYCBwcm9wZXJ0eVxuICAgKiBmb3IgZWFjaCBicmFuY2guXG4gICAqIEBkZWZhdWx0IFwibGF0ZXN0XCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG5wbURpc3RUYWc/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIHNoZWxsIGNvbW1hbmQgdG8gY29udHJvbCB0aGUgbmV4dCB2ZXJzaW9uIHRvIHJlbGVhc2UuXG4gICAqIElmIHByZXNlbnQsIHRoaXMgc2hlbGwgY29tbWFuZCB3aWxsIGJlIHJ1biBiZWZvcmUgdGhlIGJ1bXAgaXMgZXhlY3V0ZWQsIGFuZFxuICAgKiBpdCBkZXRlcm1pbmVzIHdoYXQgdmVyc2lvbiB0byByZWxlYXNlLiBJdCB3aWxsIGJlIGV4ZWN1dGVkIGluIHRoZSBmb2xsb3dpbmdcbiAgICogZW52aXJvbm1lbnQ6XG4gICAqXG4gICAqIC0gV29ya2luZyBkaXJlY3Rvcnk6IHRoZSBwcm9qZWN0IGRpcmVjdG9yeS5cbiAgICogLSBgJFZFUlNJT05gOiB0aGUgY3VycmVudCB2ZXJzaW9uLiBMb29rcyBsaWtlIGAxLjIuM2AuXG4gICAqIC0gYCRMQVRFU1RfVEFHYDogdGhlIG1vc3QgcmVjZW50IHRhZy4gTG9va3MgbGlrZSBgcHJlZml4LXYxLjIuM2AsIG9yIG1heSBiZSB1bnNldC5cbiAgICogLSBgJFNVR0dFU1RFRF9CVU1QYDogdGhlIHN1Z2dlc3RlZCBidW1wIGFjdGlvbiBiYXNlZCBvbiBjb21taXRzLiBPbmUgb2YgYG1ham9yfG1pbm9yfHBhdGNofG5vbmVgLlxuICAgKlxuICAgKiBUaGUgY29tbWFuZCBzaG91bGQgcHJpbnQgb25lIG9mIHRoZSBmb2xsb3dpbmcgdG8gYHN0ZG91dGA6XG4gICAqXG4gICAqIC0gTm90aGluZzogdGhlIG5leHQgdmVyc2lvbiBudW1iZXIgd2lsbCBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIGNvbW1pdCBoaXN0b3J5LlxuICAgKiAtIGB4LnkuemA6IHRoZSBuZXh0IHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgYHgueS56YC5cbiAgICogLSBgbWFqb3J8bWlub3J8cGF0Y2hgOiB0aGUgbmV4dCB2ZXJzaW9uIG51bWJlciB3aWxsIGJlIHRoZSBjdXJyZW50IHZlcnNpb24gbnVtYmVyXG4gICAqICAgd2l0aCB0aGUgaW5kaWNhdGVkIGNvbXBvbmVudCBidW1wZWQuXG4gICAqXG4gICAqIFRoaXMgc2V0dGluZyBjYW5ub3QgYmUgc3BlY2lmaWVkIHRvZ2V0aGVyIHdpdGggYG1pbk1ham9yVmVyc2lvbmA7IHRoZSBpbnZva2VkXG4gICAqIHNjcmlwdCBjYW4gYmUgdXNlZCB0byBhY2hpZXZlIHRoZSBlZmZlY3RzIG9mIGBtaW5NYWpvclZlcnNpb25gLlxuICAgKiBAZGVmYXVsdCAtIFRoZSBuZXh0IHZlcnNpb24gd2lsbCBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSBjb21taXQgaGlzdG9yeSBhbmQgcHJvamVjdCBzZXR0aW5ncy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG5leHRWZXJzaW9uQ29tbWFuZD86IHN0cmluZztcbiAgLyoqXG4gICAqIE1pbmltYWwgTWFqb3IgdmVyc2lvbiB0byByZWxlYXNlLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VmdWwgdG8gc2V0IHRvIDEsIGFzIGJyZWFraW5nIGNoYW5nZXMgYmVmb3JlIHRoZSAxLnggbWFqb3JcbiAgICogcmVsZWFzZSBhcmUgbm90IGluY3JlbWVudGluZyB0aGUgbWFqb3IgdmVyc2lvbiBudW1iZXIuXG4gICAqXG4gICAqIENhbiBub3QgYmUgc2V0IHRvZ2V0aGVyIHdpdGggYG1ham9yVmVyc2lvbmAuXG4gICAqIEBkZWZhdWx0IC0gTm8gbWluaW11bSB2ZXJzaW9uIGlzIGJlaW5nIGVuZm9yY2VkXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBtaW5NYWpvclZlcnNpb24/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBNYWpvciB2ZXJzaW9uIHRvIHJlbGVhc2UgZnJvbSB0aGUgZGVmYXVsdCBicmFuY2guXG4gICAqIElmIHRoaXMgaXMgc3BlY2lmaWVkLCB3ZSBidW1wIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1ham9yIHZlcnNpb24gbGluZS5cbiAgICogSWYgbm90IHNwZWNpZmllZCwgd2UgYnVtcCB0aGUgZ2xvYmFsIGxhdGVzdCB2ZXJzaW9uLlxuICAgKiBAZGVmYXVsdCAtIE1ham9yIHZlcnNpb24gaXMgbm90IGVuZm9yY2VkLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbWFqb3JWZXJzaW9uPzogbnVtYmVyO1xuICAvKipcbiAgICogVmVyc2lvbiByZXF1aXJlbWVudCBvZiBgcHVibGliYCB3aGljaCBpcyB1c2VkIHRvIHB1Ymxpc2ggbW9kdWxlcyB0byBucG0uXG4gICAqIEBkZWZhdWx0IFwibGF0ZXN0XCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGpzaWlSZWxlYXNlVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBgY29tbWl0LWFuZC10YWctdmVyc2lvbmAgY29tcGF0aWJsZSBwYWNrYWdlIHVzZWQgdG8gYnVtcCB0aGUgcGFja2FnZSB2ZXJzaW9uLCBhcyBhIGRlcGVuZGVuY3kgc3RyaW5nLlxuICAgKiBUaGlzIGNhbiBiZSBhbnkgY29tcGF0aWJsZSBwYWNrYWdlIHZlcnNpb24sIGluY2x1ZGluZyB0aGUgZGVwcmVjYXRlZCBgc3RhbmRhcmQtdmVyc2lvbkA5YC5cbiAgICogQGRlZmF1bHQgLSBBIHJlY2VudCB2ZXJzaW9uIG9mIFwiY29tbWl0LWFuZC10YWctdmVyc2lvblwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBidW1wUGFja2FnZT86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIFlhcm4gQmVycnkuXG4gICAqIEBkZWZhdWx0IC0gWWFybiBCZXJyeSB2NCB3aXRoIGFsbCBkZWZhdWx0IG9wdGlvbnNcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHlhcm5CZXJyeU9wdGlvbnM/OiBqYXZhc2NyaXB0Lllhcm5CZXJyeU9wdGlvbnM7XG4gIC8qKlxuICAgKiBQYWNrYWdlJ3MgU3RhYmlsaXR5LlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhYmlsaXR5Pzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgcHJpdmF0ZWx5IGhvc3RlZCBzY29wZWQgcGFja2FnZXMuXG4gICAqIEBkZWZhdWx0IC0gZmV0Y2ggYWxsIHNjb3BlZCBwYWNrYWdlcyBmcm9tIHRoZSBwdWJsaWMgbnBtIHJlZ2lzdHJ5XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBzY29wZWRQYWNrYWdlc09wdGlvbnM/OiBBcnJheTxqYXZhc2NyaXB0LlNjb3BlZFBhY2thZ2VzT3B0aW9ucz47XG4gIC8qKlxuICAgKiBJZiB0aGUgcGFja2FnZS5qc29uIGZvciB5b3VyIHBhY2thZ2UgaXMgbm90IGluIHRoZSByb290IGRpcmVjdG9yeSAoZm9yIGV4YW1wbGUgaWYgaXQgaXMgcGFydCBvZiBhIG1vbm9yZXBvKSwgeW91IGNhbiBzcGVjaWZ5IHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggaXQgbGl2ZXMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5RGlyZWN0b3J5Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHJlcG9zaXRvcnkgaXMgdGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBhY3R1YWwgY29kZSBmb3IgeW91ciBwYWNrYWdlIGxpdmVzLlxuICAgKiBTZWUgaHR0cHM6Ly9jbGFzc2ljLnlhcm5wa2cuY29tL2VuL2RvY3MvcGFja2FnZS1qc29uLyN0b2MtcmVwb3NpdG9yeVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIFBOUE0gdG8gdXNlIGlmIHVzaW5nIFBOUE0gYXMgYSBwYWNrYWdlIG1hbmFnZXIuXG4gICAqIEBkZWZhdWx0IFwiMTAuMzMuMFwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwbnBtVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFBlZXIgZGVwZW5kZW5jaWVzIGZvciB0aGlzIG1vZHVsZS5cbiAgICogRGVwZW5kZW5jaWVzIGxpc3RlZCBoZXJlIGFyZSByZXF1aXJlZCB0b1xuICAgKiBiZSBpbnN0YWxsZWQgKGFuZCBzYXRpc2ZpZWQpIGJ5IHRoZSBfY29uc3VtZXJfIG9mIHRoaXMgbGlicmFyeS4gVXNpbmcgcGVlclxuICAgKiBkZXBlbmRlbmNpZXMgYWxsb3dzIHlvdSB0byBlbnN1cmUgdGhhdCBvbmx5IGEgc2luZ2xlIG1vZHVsZSBvZiBhIGNlcnRhaW5cbiAgICogbGlicmFyeSBleGlzdHMgaW4gdGhlIGBub2RlX21vZHVsZXNgIHRyZWUgb2YgeW91ciBjb25zdW1lcnMuXG4gICAqXG4gICAqIE5vdGUgdGhhdCBwcmlvciB0byBucG1ANywgcGVlciBkZXBlbmRlbmNpZXMgYXJlIF9ub3RfIGF1dG9tYXRpY2FsbHlcbiAgICogaW5zdGFsbGVkLCB3aGljaCBtZWFucyB0aGF0IGFkZGluZyBwZWVyIGRlcGVuZGVuY2llcyB0byBhIGxpYnJhcnkgd2lsbCBiZSBhXG4gICAqIGJyZWFraW5nIGNoYW5nZSBmb3IgeW91ciBjdXN0b21lcnMuXG4gICAqXG4gICAqIFVubGVzcyBgcGVlckRlcGVuZGVuY3lPcHRpb25zLnBpbm5lZERldkRlcGVuZGVuY3lgIGlzIGRpc2FibGVkIChpdCBpc1xuICAgKiBlbmFibGVkIGJ5IGRlZmF1bHQpLCBwcm9qZW4gd2lsbCBhdXRvbWF0aWNhbGx5IGFkZCBhIGRldiBkZXBlbmRlbmN5IHdpdGggYVxuICAgKiBwaW5uZWQgdmVyc2lvbiBmb3IgZWFjaCBwZWVyIGRlcGVuZGVuY3kuIFRoaXMgd2lsbCBlbnN1cmUgdGhhdCB5b3UgYnVpbGQgJlxuICAgKiB0ZXN0IHlvdXIgbW9kdWxlIGFnYWluc3QgdGhlIGxvd2VzdCBwZWVyIHZlcnNpb24gcmVxdWlyZWQuXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwZWVyRGVwcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBgcGVlckRlcHNgLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcGVlckRlcGVuZGVuY3lPcHRpb25zPzogamF2YXNjcmlwdC5QZWVyRGVwZW5kZW5jeU9wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgXCJuYW1lXCIgaW4gcGFja2FnZS5qc29uLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHRzIHRvIHByb2plY3QgbmFtZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKiBAZmVhdHVyZWQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZU5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgTm9kZSBQYWNrYWdlIE1hbmFnZXIgdXNlZCB0byBleGVjdXRlIHNjcmlwdHMuXG4gICAqIEBkZWZhdWx0IC0gRGV0ZWN0ZWQgZnJvbSB0aGUgY2FsbGluZyBwcm9jZXNzIG9yIGBZQVJOX0NMQVNTSUNgIGlmIGRldGVjdGlvbiBmYWlscy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICogQHBqbmV3ICRQQUNLQUdFX01BTkFHRVJcbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VNYW5hZ2VyPzogamF2YXNjcmlwdC5Ob2RlUGFja2FnZU1hbmFnZXI7XG4gIC8qKlxuICAgKiBVc2UgdHJ1c3RlZCBwdWJsaXNoaW5nIGZvciBwdWJsaXNoaW5nIHRvIG5wbWpzLmNvbSBOZWVkcyB0byBiZSBwcmUtY29uZmlndXJlZCBvbiBucG0uanMgdG8gd29yay5cbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbnBtVHJ1c3RlZFB1Ymxpc2hpbmc/OiBib29sZWFuO1xuICAvKipcbiAgICogR2l0SHViIHNlY3JldCB3aGljaCBjb250YWlucyB0aGUgTlBNIHRva2VuIHRvIHVzZSB3aGVuIHB1Ymxpc2hpbmcgcGFja2FnZXMuXG4gICAqIEBkZWZhdWx0IFwiTlBNX1RPS0VOXCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG5wbVRva2VuU2VjcmV0Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGJhc2UgVVJMIG9mIHRoZSBucG0gcGFja2FnZSByZWdpc3RyeS5cbiAgICogTXVzdCBiZSBhIFVSTCAoZS5nLiBzdGFydCB3aXRoIFwiaHR0cHM6Ly9cIiBvciBcImh0dHA6Ly9cIilcbiAgICogQGRlZmF1bHQgXCJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZ1wiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBucG1SZWdpc3RyeVVybD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNob3VsZCBwcm92ZW5hbmNlIHN0YXRlbWVudHMgYmUgZ2VuZXJhdGVkIHdoZW4gdGhlIHBhY2thZ2UgaXMgcHVibGlzaGVkLlxuICAgKiBBIHN1cHBvcnRlZCBwYWNrYWdlIG1hbmFnZXIgaXMgcmVxdWlyZWQgdG8gcHVibGlzaCBhIHBhY2thZ2Ugd2l0aCBucG0gcHJvdmVuYW5jZSBzdGF0ZW1lbnRzIGFuZFxuICAgKiB5b3Ugd2lsbCBuZWVkIHRvIHVzZSBhIHN1cHBvcnRlZCBDSS9DRCBwcm92aWRlci5cbiAgICpcbiAgICogTm90ZSB0aGF0IHRoZSBwcm9qZW4gYFJlbGVhc2VgIGFuZCBgUHVibGlzaGVyYCBjb21wb25lbnRzIGFyZSB1c2luZyBgcHVibGliYCB0byBwdWJsaXNoIHBhY2thZ2VzLFxuICAgKiB3aGljaCBpcyB1c2luZyBucG0gaW50ZXJuYWxseSBhbmQgc3VwcG9ydHMgcHJvdmVuYW5jZSBzdGF0ZW1lbnRzIGluZGVwZW5kZW50bHkgb2YgdGhlIHBhY2thZ2UgbWFuYWdlciB1c2VkLlxuICAgKiBAZGVmYXVsdCAtIHRydWUgZm9yIHB1YmxpYyBwYWNrYWdlcywgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBucG1Qcm92ZW5hbmNlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFjY2VzcyBsZXZlbCBvZiB0aGUgbnBtIHBhY2thZ2UuXG4gICAqIEBkZWZhdWx0IC0gZm9yIHNjb3BlZCBwYWNrYWdlcyAoZS5nLiBgZm9vQGJhcmApLCB0aGUgZGVmYXVsdCBpc1xuYE5wbUFjY2Vzcy5SRVNUUklDVEVEYCwgZm9yIG5vbi1zY29wZWQgcGFja2FnZXMsIHRoZSBkZWZhdWx0IGlzXG5gTnBtQWNjZXNzLlBVQkxJQ2AuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBucG1BY2Nlc3M/OiBqYXZhc2NyaXB0Lk5wbUFjY2VzcztcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG5vZGUgdmVyc2lvbiByZXF1aXJlZCBieSB0aGlzIHBhY2thZ2UgdG8gZnVuY3Rpb24uIE1vc3QgcHJvamVjdHMgc2hvdWxkIG5vdCB1c2UgdGhpcyBvcHRpb24uXG4gICAqIFRoZSB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgcGFja2FnZSBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbnkgb2xkZXIgdmVyc2lvbnMgb2Ygbm9kZS5cbiAgICogVGhpcyByZXF1aXJlbWVudCBpcyBlbmZvcmNlZCB2aWEgdGhlIGVuZ2luZXMgZmllbGQuXG4gICAqXG4gICAqIFlvdSB3aWxsIG5vcm1hbGx5IG5vdCBuZWVkIHRvIHNldCB0aGlzIG9wdGlvbiwgZXZlbiBpZiB5b3VyIHBhY2thZ2UgaXMgaW5jb21wYXRpYmxlIHdpdGggRU9MIHZlcnNpb25zIG9mIG5vZGUuXG4gICAqIENvbnNpZGVyIHRoaXMgb3B0aW9uIG9ubHkgaWYgeW91ciBwYWNrYWdlIGRlcGVuZHMgb24gYSBzcGVjaWZpYyBmZWF0dXJlLCB0aGF0IGlzIG5vdCBhdmFpbGFibGUgaW4gb3RoZXIgTFRTIHZlcnNpb25zLlxuICAgKiBTZXR0aW5nIHRoaXMgb3B0aW9uIGhhcyB2ZXJ5IGhpZ2ggaW1wYWN0IG9uIHRoZSBjb25zdW1lcnMgb2YgeW91ciBwYWNrYWdlLFxuICAgKiBhcyBwYWNrYWdlIG1hbmFnZXJzIHdpbGwgYWN0aXZlbHkgcHJldmVudCB1c2FnZSB3aXRoIG5vZGUgdmVyc2lvbnMgeW91IGhhdmUgbWFya2VkIGFzIGluY29tcGF0aWJsZS5cbiAgICpcbiAgICogVG8gY2hhbmdlIHRoZSBub2RlIHZlcnNpb24gb2YgeW91ciBDSS9DRCB3b3JrZmxvd3MsIHVzZSBgd29ya2Zsb3dOb2RlVmVyc2lvbmAuXG4gICAqIEBkZWZhdWx0IC0gbm8gbWluaW11bSB2ZXJzaW9uIGlzIGVuZm9yY2VkXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBtaW5Ob2RlVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG5vZGUgdmVyc2lvbiBzdXBwb3J0ZWQgYnkgdGhpcyBwYWNrYWdlLiBNb3N0IHByb2plY3RzIHNob3VsZCBub3QgdXNlIHRoaXMgb3B0aW9uLlxuICAgKiBUaGUgdmFsdWUgaW5kaWNhdGVzIHRoYXQgdGhlIHBhY2thZ2UgaXMgaW5jb21wYXRpYmxlIHdpdGggYW55IG5ld2VyIHZlcnNpb25zIG9mIG5vZGUuXG4gICAqIFRoaXMgcmVxdWlyZW1lbnQgaXMgZW5mb3JjZWQgdmlhIHRoZSBlbmdpbmVzIGZpZWxkLlxuICAgKlxuICAgKiBZb3Ugd2lsbCBub3JtYWxseSBub3QgbmVlZCB0byBzZXQgdGhpcyBvcHRpb24uXG4gICAqIENvbnNpZGVyIHRoaXMgb3B0aW9uIG9ubHkgaWYgeW91ciBwYWNrYWdlIGlzIGtub3duIHRvIG5vdCBmdW5jdGlvbiB3aXRoIG5ld2VyIHZlcnNpb25zIG9mIG5vZGUuXG4gICAqIEBkZWZhdWx0IC0gbm8gbWF4aW11bSB2ZXJzaW9uIGlzIGVuZm9yY2VkXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBtYXhOb2RlVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBhIGxpY2Vuc2Ugc2hvdWxkIGJlIGFkZGVkLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsaWNlbnNlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBMaWNlbnNlJ3MgU1BEWCBpZGVudGlmaWVyLlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Byb2plbi9wcm9qZW4vdHJlZS9tYWluL2xpY2Vuc2UtdGV4dCBmb3IgYSBsaXN0IG9mIHN1cHBvcnRlZCBsaWNlbnNlcy5cbiAgICogVXNlIHRoZSBgbGljZW5zZWRgIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBubyBsaWNlbnNlIHRvIGJlIHNwZWNpZmllZC5cbiAgICogQGRlZmF1bHQgXCJNSVRcIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbGljZW5zZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEtleXdvcmRzIHRvIGluY2x1ZGUgaW4gYHBhY2thZ2UuanNvbmAuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBrZXl3b3Jkcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBQYWNrYWdlJ3MgSG9tZXBhZ2UgLyBXZWJzaXRlLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgaG9tZXBhZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNb2R1bGUgZW50cnlwb2ludCAoYG1haW5gIGluIGBwYWNrYWdlLmpzb25gKS5cbiAgICogU2V0IHRvIGFuIGVtcHR5IHN0cmluZyB0byBub3QgaW5jbHVkZSBgbWFpbmAgaW4geW91ciBwYWNrYWdlLmpzb25cbiAgICogQGRlZmF1bHQgXCJsaWIvaW5kZXguanNcIlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZW50cnlwb2ludD86IHN0cmluZztcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSB0aGUgYGRldkVuZ2luZXNgIGZpZWxkIGluIGBwYWNrYWdlLmpzb25gLlxuICAgKiBUaGUgYGRldkVuZ2luZXMucGFja2FnZU1hbmFnZXJgIGZpZWxkIGlzIGF1dG9tYXRpY2FsbHkgcG9wdWxhdGVkIGJhc2VkIG9uXG4gICAqIHRoZSByZXNvbHZlZCBgcGFja2FnZU1hbmFnZXJgIHZhbHVlLiBBbnkgZmllbGRzIHByb3ZpZGVkIGhlcmUgYXJlIG1lcmdlZFxuICAgKiB3aXRoIHRoZSBhdXRvLXBvcHVsYXRlZCBgcGFja2FnZU1hbmFnZXJgIGVudHJ5LlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGV2RW5naW5lcz86IGphdmFzY3JpcHQuRGV2RW5naW5lcztcbiAgLyoqXG4gICAqIEJ1aWxkIGRlcGVuZGVuY2llcyBmb3IgdGhpcyBtb2R1bGUuXG4gICAqIFRoZXNlIGRlcGVuZGVuY2llcyB3aWxsIG9ubHkgYmVcbiAgICogYXZhaWxhYmxlIGluIHlvdXIgYnVpbGQgZW52aXJvbm1lbnQgYnV0IHdpbGwgbm90IGJlIGZldGNoZWQgd2hlbiB0aGlzXG4gICAqIG1vZHVsZSBpcyBjb25zdW1lZC5cbiAgICpcbiAgICogVGhlIHJlY29tbWVuZGF0aW9uIGlzIHRvIG9ubHkgc3BlY2lmeSB0aGUgbW9kdWxlIG5hbWUgaGVyZSAoZS5nLlxuICAgKiBgZXhwcmVzc2ApLiBUaGlzIHdpbGwgYmVoYXZlIHNpbWlsYXIgdG8gYHBucG0gYWRkYCBvciBgbnBtIGluc3RhbGxgIGluIHRoZVxuICAgKiBzZW5zZSB0aGF0IGl0IHdpbGwgYWRkIHRoZSBtb2R1bGUgYXMgYSBkZXBlbmRlbmN5IHRvIHlvdXIgYHBhY2thZ2UuanNvbmBcbiAgICogZmlsZSB3aXRoIHRoZSBsYXRlc3QgdmVyc2lvbiAoYF5gKS4gWW91IGNhbiBzcGVjaWZ5IHNlbXZlciByZXF1aXJlbWVudHMgaW5cbiAgICogdGhlIHNhbWUgc3ludGF4IHBhc3NlZCB0byBgcG5wbSBhZGRgIG9yIGBucG0gaWAgKGUuZy4gYGV4cHJlc3NAXjJgKSBhbmRcbiAgICogdGhpcyB3aWxsIGJlIHdoYXQgeW91ciBgcGFja2FnZS5qc29uYCB3aWxsIGV2ZW50dWFsbHkgaW5jbHVkZS5cbiAgICogQGRlZmF1bHQgW11cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICogQGZlYXR1cmVkIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRldkRlcHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIGlzIGp1c3QgYSBzdHJpbmcgdGhhdCBoZWxwcyBwZW9wbGUgdW5kZXJzdGFuZCB0aGUgcHVycG9zZSBvZiB0aGUgcGFja2FnZS5cbiAgICogSXQgY2FuIGJlIHVzZWQgd2hlbiBzZWFyY2hpbmcgZm9yIHBhY2thZ2VzIGluIGEgcGFja2FnZSBtYW5hZ2VyIGFzIHdlbGwuXG4gICAqIFNlZSBodHRwczovL2NsYXNzaWMueWFybnBrZy5jb20vZW4vZG9jcy9wYWNrYWdlLWpzb24vI3RvYy1kZXNjcmlwdGlvblxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKiBAZmVhdHVyZWQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBSdW50aW1lIGRlcGVuZGVuY2llcyBvZiB0aGlzIG1vZHVsZS5cbiAgICogVGhlIHJlY29tbWVuZGF0aW9uIGlzIHRvIG9ubHkgc3BlY2lmeSB0aGUgbW9kdWxlIG5hbWUgaGVyZSAoZS5nLlxuICAgKiBgZXhwcmVzc2ApLiBUaGlzIHdpbGwgYmVoYXZlIHNpbWlsYXIgdG8gYHBucG0gYWRkYCBvciBgbnBtIGluc3RhbGxgIGluIHRoZVxuICAgKiBzZW5zZSB0aGF0IGl0IHdpbGwgYWRkIHRoZSBtb2R1bGUgYXMgYSBkZXBlbmRlbmN5IHRvIHlvdXIgYHBhY2thZ2UuanNvbmBcbiAgICogZmlsZSB3aXRoIHRoZSBsYXRlc3QgdmVyc2lvbiAoYF5gKS4gWW91IGNhbiBzcGVjaWZ5IHNlbXZlciByZXF1aXJlbWVudHMgaW5cbiAgICogdGhlIHNhbWUgc3ludGF4IHBhc3NlZCB0byBgcG5wbSBhZGRgIG9yIGBucG0gaWAgKGUuZy4gYGV4cHJlc3NAXjJgKSBhbmRcbiAgICogdGhpcyB3aWxsIGJlIHdoYXQgeW91ciBgcGFja2FnZS5qc29uYCB3aWxsIGV2ZW50dWFsbHkgaW5jbHVkZS5cbiAgICogQGRlZmF1bHQgW11cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICogQGZlYXR1cmVkIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRlcHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBkZWxldGUgbG9ja2ZpbGVzIGZyb20gcGFja2FnZSBtYW5hZ2VycyB0aGF0IGFyZSBub3QgdGhlIGFjdGl2ZSBvbmUuXG4gICAqIE9ubHkgdHJpZ2dlcmVkIHdoZW4gdGhlIGxvY2tmaWxlIGZvciB0aGUgY29uZmlndXJlZCBwYWNrYWdlXG4gICAqIG1hbmFnZXIgYWxyZWFkeSBleGlzdHMuXG4gICAqXG4gICAqIFRoaXMgaXMgdXNlZnVsIHdoZW4gbWlncmF0aW5nIGJldHdlZW4gcGFja2FnZSBtYW5hZ2VycyB0byBhdm9pZCBjb25mbGljdHMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZU9ycGhhbmVkTG9ja0ZpbGVzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIG5wbSBwYWNrYWdlcyB1c2luZyBBV1MgQ29kZUFydGlmYWN0LlxuICAgKiBUaGlzIGlzIHJlcXVpcmVkIGlmIHB1Ymxpc2hpbmcgcGFja2FnZXMgdG8sIG9yIGluc3RhbGxpbmcgc2NvcGVkIHBhY2thZ2VzIGZyb20gQVdTIENvZGVBcnRpZmFjdFxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUFydGlmYWN0T3B0aW9ucz86IGphdmFzY3JpcHQuQ29kZUFydGlmYWN0T3B0aW9ucztcbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIEJ1biB0byB1c2UgaWYgdXNpbmcgQnVuIGFzIGEgcGFja2FnZSBtYW5hZ2VyLlxuICAgKiBAZGVmYXVsdCBcImxhdGVzdFwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBidW5WZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogTGlzdCBvZiBkZXBlbmRlbmNpZXMgdG8gYnVuZGxlIGludG8gdGhpcyBtb2R1bGUuXG4gICAqIFRoZXNlIG1vZHVsZXMgd2lsbCBiZVxuICAgKiBhZGRlZCBib3RoIHRvIHRoZSBgZGVwZW5kZW5jaWVzYCBzZWN0aW9uIGFuZCBgYnVuZGxlZERlcGVuZGVuY2llc2Agc2VjdGlvbiBvZlxuICAgKiB5b3VyIGBwYWNrYWdlLmpzb25gLlxuICAgKlxuICAgKiBUaGUgcmVjb21tZW5kYXRpb24gaXMgdG8gb25seSBzcGVjaWZ5IHRoZSBtb2R1bGUgbmFtZSBoZXJlIChlLmcuXG4gICAqIGBleHByZXNzYCkuIFRoaXMgd2lsbCBiZWhhdmUgc2ltaWxhciB0byBgcG5wbSBhZGRgIG9yIGBucG0gaW5zdGFsbGAgaW4gdGhlXG4gICAqIHNlbnNlIHRoYXQgaXQgd2lsbCBhZGQgdGhlIG1vZHVsZSBhcyBhIGRlcGVuZGVuY3kgdG8geW91ciBgcGFja2FnZS5qc29uYFxuICAgKiBmaWxlIHdpdGggdGhlIGxhdGVzdCB2ZXJzaW9uIChgXmApLiBZb3UgY2FuIHNwZWNpZnkgc2VtdmVyIHJlcXVpcmVtZW50cyBpblxuICAgKiB0aGUgc2FtZSBzeW50YXggcGFzc2VkIHRvIGBwbnBtIGFkZGAgb3IgYG5wbSBpYCAoZS5nLiBgZXhwcmVzc0BeMmApIGFuZFxuICAgKiB0aGlzIHdpbGwgYmUgd2hhdCB5b3VyIGBwYWNrYWdlLmpzb25gIHdpbGwgZXZlbnR1YWxseSBpbmNsdWRlLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVuZGxlZERlcHM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogVGhlIHVybCB0byB5b3VyIHByb2plY3QncyBpc3N1ZSB0cmFja2VyLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVnc1VybD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBlbWFpbCBhZGRyZXNzIHRvIHdoaWNoIGlzc3VlcyBzaG91bGQgYmUgcmVwb3J0ZWQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBidWdzRW1haWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBCaW5hcnkgcHJvZ3JhbXMgdmVuZGVkIHdpdGggeW91ciBtb2R1bGUuXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgb3B0aW9uIHRvIGFkZC9jdXN0b21pemUgaG93IGJpbmFyaWVzIGFyZSByZXByZXNlbnRlZCBpblxuICAgKiB5b3VyIGBwYWNrYWdlLmpzb25gLCBidXQgdW5sZXNzIGBhdXRvRGV0ZWN0QmluYCBpcyBgZmFsc2VgLCBldmVyeVxuICAgKiBleGVjdXRhYmxlIGZpbGUgdW5kZXIgYGJpbmAgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGFkZGVkIHRvIHRoaXMgc2VjdGlvbi5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGJpbj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZCBhbGwgZXhlY3V0YWJsZXMgdW5kZXIgdGhlIGBiaW5gIGRpcmVjdG9yeSB0byB5b3VyIGBwYWNrYWdlLmpzb25gIGZpbGUgdW5kZXIgdGhlIGBiaW5gIHNlY3Rpb24uXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9EZXRlY3RCaW4/OiBib29sZWFuO1xuICAvKipcbiAgICogSXMgdGhlIGF1dGhvciBhbiBvcmdhbml6YXRpb24uXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhdXRob3JPcmdhbml6YXRpb24/OiBib29sZWFuO1xuICAvKipcbiAgICogQXV0aG9yJ3MgbmFtZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvck5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEF1dGhvcidzIGUtbWFpbC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvckVtYWlsPzogc3RyaW5nO1xuICAvKipcbiAgICogQWxsb3cgdGhlIHByb2plY3QgdG8gaW5jbHVkZSBgcGVlckRlcGVuZGVuY2llc2AgYW5kIGBidW5kbGVkRGVwZW5kZW5jaWVzYC5cbiAgICogVGhpcyBpcyBub3JtYWxseSBvbmx5IGFsbG93ZWQgZm9yIGxpYnJhcmllcy4gRm9yIGFwcHMsIHRoZXJlJ3Mgbm8gbWVhbmluZ1xuICAgKiBmb3Igc3BlY2lmeWluZyB0aGVzZS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dMaWJyYXJ5RGVwZW5kZW5jaWVzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYWRkIHRoZSByZXNvbHZlZCBgcGFja2FnZU1hbmFnZXJgIHRvIGBkZXZFbmdpbmVzLnBhY2thZ2VNYW5hZ2VyYCBpbiBgcGFja2FnZS5qc29uYCwgc2V0dGluZyBgb25GYWlsYCB0byBgaWdub3JlYC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkUGFja2FnZU1hbmFnZXJUb0RldkVuZ2luZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5hYmxlIFZTQ29kZSBpbnRlZ3JhdGlvbi5cbiAgICogRW5hYmxlZCBieSBkZWZhdWx0IGZvciByb290IHByb2plY3RzLiBEaXNhYmxlZCBmb3Igbm9uLXJvb3QgcHJvamVjdHMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHZzY29kZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBdXRvLWNsb3NlIHN0YWxlIGlzc3VlcyBhbmQgcHVsbCByZXF1ZXN0cy5cbiAgICogVG8gZGlzYWJsZSBzZXQgYHN0YWxlYCB0byBgZmFsc2VgLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBkZWZhdWx0cyBpbiBgU3RhbGVPcHRpb25zYFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhbGVPcHRpb25zPzogZ2l0aHViLlN0YWxlT3B0aW9ucztcbiAgLyoqXG4gICAqIEF1dG8tY2xvc2Ugb2Ygc3RhbGUgaXNzdWVzIGFuZCBwdWxsIHJlcXVlc3QuXG4gICAqIFNlZSBgc3RhbGVPcHRpb25zYCBmb3Igb3B0aW9ucy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YWxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBSRUFETUUgc2V0dXAuXG4gICAqIEBkZWZhdWx0IC0geyBmaWxlbmFtZTogJ1JFQURNRS5tZCcsIGNvbnRlbnRzOiAnIyByZXBsYWNlIHRoaXMnIH1cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJlYWRtZT86IFNhbXBsZVJlYWRtZVByb3BzO1xuICAvKipcbiAgICogQ2hvb3NlIGEgbWV0aG9kIG9mIHByb3ZpZGluZyBHaXRIdWIgQVBJIGFjY2VzcyBmb3IgcHJvamVuIHdvcmtmbG93cy5cbiAgICogQGRlZmF1bHQgLSB1c2UgYSBwZXJzb25hbCBhY2Nlc3MgdG9rZW4gbmFtZWQgUFJPSkVOX0dJVEhVQl9UT0tFTlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVuQ3JlZGVudGlhbHM/OiBnaXRodWIuR2l0aHViQ3JlZGVudGlhbHM7XG4gIC8qKlxuICAgKiBBZGQgYSBHaXRwb2QgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBnaXRwb2Q/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgR2l0SHViIGludGVncmF0aW9uLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBHaXRIdWJPcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBnaXRodWJPcHRpb25zPzogZ2l0aHViLkdpdEh1Yk9wdGlvbnM7XG4gIC8qKlxuICAgKiBFbmFibGUgR2l0SHViIGludGVncmF0aW9uLlxuICAgKiBFbmFibGVkIGJ5IGRlZmF1bHQgZm9yIHJvb3QgcHJvamVjdHMuIERpc2FibGVkIGZvciBub24tcm9vdCBwcm9qZWN0cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aHViPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFkZCBhIFZTQ29kZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCAodXNlZCBmb3IgR2l0SHViIENvZGVzcGFjZXMpLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGV2Q29udGFpbmVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFkZCBhIGBjbG9iYmVyYCB0YXNrIHdoaWNoIHJlc2V0cyB0aGUgcmVwbyB0byBvcmlnaW4uXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZSwgYnV0IGZhbHNlIGZvciBzdWJwcm9qZWN0c1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2xvYmJlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDb25maWd1cmUgb3B0aW9ucyBmb3IgYXV0b21hdGljIG1lcmdpbmcgb24gR2l0SHViLlxuICAgKiBIYXMgbm8gZWZmZWN0IGlmXG4gICAqIGBnaXRodWIubWVyZ2lmeWAgb3IgYGF1dG9NZXJnZWAgaXMgc2V0IHRvIGZhbHNlLlxuICAgKiBAZGVmYXVsdCAtIHNlZSBkZWZhdWx0cyBpbiBgQXV0b01lcmdlT3B0aW9uc2BcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NZXJnZU9wdGlvbnM/OiBnaXRodWIuQXV0b01lcmdlT3B0aW9ucztcbiAgLyoqXG4gICAqIEVuYWJsZSBhdXRvbWF0aWMgbWVyZ2luZyBvbiBHaXRIdWIuXG4gICAqIEhhcyBubyBlZmZlY3QgaWYgYGdpdGh1Yi5tZXJnaWZ5YFxuICAgKiBpcyBzZXQgdG8gZmFsc2UuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NZXJnZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGUgYW5kIGNvbmZpZ3VyZSB0aGUgJ2F1dG8gYXBwcm92ZScgd29ya2Zsb3cuXG4gICAqIEBkZWZhdWx0IC0gYXV0byBhcHByb3ZlIGlzIGRpc2FibGVkXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhdXRvQXBwcm92ZU9wdGlvbnM/OiBnaXRodWIuQXV0b0FwcHJvdmVPcHRpb25zO1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgcmVub3ZhdGVib3QuXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZW5vdmF0ZWJvdE9wdGlvbnM/OiBSZW5vdmF0ZWJvdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBVc2UgcmVub3ZhdGVib3QgdG8gaGFuZGxlIGRlcGVuZGVuY3kgdXBncmFkZXMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZW5vdmF0ZWJvdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciAucHJvamVucmMuanNvbi5cbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbnJjSnNvbk9wdGlvbnM/OiBQcm9qZW5yY0pzb25PcHRpb25zO1xuICAvKipcbiAgICogR2VuZXJhdGUgKG9uY2UpIC5wcm9qZW5yYy5qc29uIChpbiBKU09OKS4gU2V0IHRvIGBmYWxzZWAgaW4gb3JkZXIgdG8gZGlzYWJsZSAucHJvamVucmMuanNvbiBnZW5lcmF0aW9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVucmNKc29uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBzaGVsbCBjb21tYW5kIHRvIHVzZSBpbiBvcmRlciB0byBydW4gdGhlIHByb2plbiBDTEkuXG4gICAqIENhbiBiZSB1c2VkIHRvIGN1c3RvbWl6ZSBpbiBzcGVjaWFsIGVudmlyb25tZW50cy5cbiAgICogQGRlZmF1bHQgXCJucHggcHJvamVuXCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHByb2plbkNvbW1hbmQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIHByb2plY3QgdHJlZSBmaWxlIChgLnByb2plbi90cmVlLmpzb25gKSB0aGF0IHNob3dzIGFsbCBjb21wb25lbnRzIGFuZCB0aGVpciByZWxhdGlvbnNoaXBzLiBVc2VmdWwgZm9yIHVuZGVyc3RhbmRpbmcgeW91ciBwcm9qZWN0IHN0cnVjdHVyZSBhbmQgZGVidWdnaW5nLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVjdFRyZWU/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIHBhcmVudCBwcm9qZWN0LCBpZiB0aGlzIHByb2plY3QgaXMgcGFydCBvZiBhIGJpZ2dlciBwcm9qZWN0LlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcGFyZW50PzogUHJvamVjdDtcbiAgLyoqXG4gICAqIFRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgcHJvamVjdC5cbiAgICogUmVsYXRpdmUgdG8gdGhpcyBkaXJlY3RvcnksIGFsbCBmaWxlcyBhcmUgc3ludGhlc2l6ZWQuXG4gICAqXG4gICAqIElmIHRoaXMgcHJvamVjdCBoYXMgYSBwYXJlbnQsIHRoaXMgZGlyZWN0b3J5IGlzIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgICogZGlyZWN0b3J5IGFuZCBpdCBjYW5ub3QgYmUgdGhlIHNhbWUgYXMgdGhlIHBhcmVudCBvciBhbnkgb2YgaXQncyBvdGhlclxuICAgKiBzdWJwcm9qZWN0cy5cbiAgICogQGRlZmF1bHQgXCIuXCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG91dGRpcj86IHN0cmluZztcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBsb2dnaW5nIG9wdGlvbnMgc3VjaCBhcyB2ZXJib3NpdHkuXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsb2dnaW5nPzogTG9nZ2VyT3B0aW9ucztcbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgZ2l0LlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0T3B0aW9ucz86IEdpdE9wdGlvbnM7XG4gIC8qKlxuICAgKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIC5naXRpZ25vcmUgZmlsZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGdpdElnbm9yZU9wdGlvbnM/OiBJZ25vcmVGaWxlT3B0aW9ucztcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY29tbWl0IHRoZSBtYW5hZ2VkIGZpbGVzIGJ5IGRlZmF1bHQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNvbW1pdEdlbmVyYXRlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGlzIGlzIHRoZSBuYW1lIG9mIHlvdXIgcHJvamVjdC5cbiAgICogQGRlZmF1bHQgJEJBU0VESVJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICogQGZlYXR1cmVkIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVwbzogc3RyaW5nO1xuICAvKipcbiAgICogV2hpY2ggY29udmVudGlvbmFsIGNvbW1pdCB0eXBlcyBzaG91bGQgYmUgcmVsZWFzZWRcbiAgICogQGRlZmF1bHQgWydmZWF0JywgJ2ZpeCcsICdjaG9yZScsICdyZXZlcnQnXVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzYWJsZUNvbW1pdFR5cGVzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIFdoaWNoIGNvbnZlbnRpb25hbCBjb21taXQgdHlwZXMgYXJlIGFsbG93ZWQgdG8gYmUgdXNlZFxuICAgKiBUeXBlcyBsaXN0ZWQgaW4gYHJlbGVhc2FibGVDb21taXRUeXBlc2AgYXJlIGFsd2F5cyBhbGxvd2VkXG4gICAqIEBkZWZhdWx0IFsnZmVhdCcsICdmaXgnLCAnY2hvcmUnLCAncmV2ZXJ0JywgJ2RvY3MnLCAnY2knXVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dlZENvbW1pdFR5cGVzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIFVzZSB0aGlzIGFwcCBmb3Igd29ya2Zsb3cgYXV0b21hdGlvbi4gUmVtZW1iZXIgdG8gaW5zdGFsbCB0aGUgYXBwIGFuZCB0byBjb25maWd1cmUgY3JlZGVudGlhbHMuXG4gICAqIEBkZWZhdWx0IC0gbm9uZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b21hdGlvbkFwcE5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQcm90ZWN0IGFueSBhdXRvbWF0aW9uIHdpdGggdGhpcyBlbnZpcm9ubWVudC4gWW91IHdpbGwgbmVlZCB0byBzZXQgdGhlIGVudmlyb25tZW50IHVwIGluIEdpdEh1Yi4gQ3JlZGVudGlhbHMgY2FuIG9ubHkgYmUgdXNlZCB3aXRoaW4gdGhpcyBlbnZpcm9ubWVudC5cbiAgICogQGRlZmF1bHQgXCJhdXRvbWF0aW9uXCJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9tYXRpb25FbnZpcm9ubWVudD86IHN0cmluZztcbiAgLyoqXG4gICAqIEFsbG93IHRoZSByZXBvIG93bmVyIHRvIHNlbGYgYXBwcm92ZSBQUnMgYnkgcHV0dGluZyBhIGxhYmVsIG9uIGl0LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBvd25lckNhblNlbGZBcHByb3ZlUFJzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEBkZWZhdWx0IFVwZ3JhZGVEZXBlbmRlbmNpZXNTY2hlZHVsZS5XRUVLTFlcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHVwZ3JhZGVzU2NoZWR1bGU/OiBqYXZhc2NyaXB0LlVwZ3JhZGVEZXBlbmRlbmNpZXNTY2hlZHVsZTtcbiAgLyoqXG4gICAqIEFkZCBhIGxvZ28uXG4gICAqIFVzZSBgTG9nby5wbGFjZWhvbGRlcigpYCB0byBnZXQgc3RhcnRlZC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxvZ28/OiBsb2dvLklMb2dvO1xuICAvKipcbiAgICogQ29uZmlndXJlIGhvdyB0aGUgd29yZG1hcmsgaXMgY3JlYXRlZCBmcm9tIGEgbG9nby5cbiAgICogV29yZG1hcmtzIGFyZSBvbmx5IGNyZWF0ZWQgd2hlbiBhIGxvZ28gaXMgYXZhaWxhYmxlLlxuICAgKiBAZGVmYXVsdCAtIGRlcml2ZWQgZnJvbSBsb2dvIGFuZCBwcm9qZWN0XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSB3b3JkbWFya09wdGlvbnM/OiBsb2dvLldvcmRtYXJrT3B0aW9ucztcbiAgLyoqXG4gICAqIFRoZSBwcm9qZW4gdmVyc2lvbiBjb25zdHJhaW50IHRoYXQgaXMgc3VwcG9ydGVkIGJ5IHRoaXMgcHJvamVjdFxuICAgKiBAZGVmYXVsdCBcIjAueCA+PTAuNzUuMFwiXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5WZXJzaW9uPzogc3RyaW5nO1xufVxuIl19
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.ProjenProject = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -12,11 +11,14 @@ const utils_1 = require("./utils");
12
11
  * @pjid projen
13
12
  */
14
13
  class ProjenProject extends projen_1.cdk.JsiiProject {
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "mrpj.ProjenProject", version: "0.2.11" };
15
+ logo;
16
+ wordmark;
15
17
  constructor(options) {
16
18
  const opts = (0, utils_1.mergeOptions)((0, features_1.packageInfo)(), features_1.release, features_1.automation, (0, features_1.dependencies)({
17
19
  projenVersion: options.projenVersion ?? '0.x >=0.75.0',
18
20
  devDeps: ['@mrgrain/jsii-struct-builder', '@jsii/spec', 'jsii-docgen@^10'],
19
- peerDeps: ['constructs@^10.0.0'],
21
+ peerDeps: ['constructs@^10.5.0'],
20
22
  peerDependencyOptions: {
21
23
  pinnedDevDependency: false,
22
24
  },
@@ -33,6 +35,4 @@ class ProjenProject extends projen_1.cdk.JsiiProject {
33
35
  }
34
36
  }
35
37
  exports.ProjenProject = ProjenProject;
36
- _a = JSII_RTTI_SYMBOL_1;
37
- ProjenProject[_a] = { fqn: "mrpj.ProjenProject", version: "0.2.10" };
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVuLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvamVuLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBNkI7QUFDN0IseUNBQTBOO0FBQzFOLHNEQUFxRTtBQUdyRSxtQ0FBMEQ7QUFFMUQ7OztHQUdHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsWUFBRyxDQUFDLFdBQVc7SUFJaEQsWUFBbUIsT0FBNkI7UUFDOUMsTUFBTSxJQUFJLEdBQUcsSUFBQSxvQkFBWSxFQUN2QixJQUFBLHNCQUFXLEdBQUUsRUFDYixrQkFBTyxFQUNQLHFCQUFVLEVBQ1YsSUFBQSx1QkFBWSxFQUFDO1lBQ1gsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhLElBQUksY0FBYztZQUN0RCxPQUFPLEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLENBQUM7WUFDMUUsUUFBUSxFQUFFLENBQUMsb0JBQW9CLENBQUM7WUFDaEMscUJBQXFCLEVBQUU7Z0JBQ3JCLG1CQUFtQixFQUFFLEtBQUs7YUFDM0I7U0FDRixDQUFDLEVBQ0YsSUFBQSx5QkFBYyxFQUF5QixFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQ3pFLElBQUEsdUJBQVksRUFBeUI7WUFDbkMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1lBQzFCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFdBQVcsRUFBRSxPQUFPO1lBQ3BCLGlCQUFpQixFQUFFLE9BQU87U0FDM0IsQ0FBQyxDQUNILENBQUMsT0FBTyxDQUFDLENBQUM7UUFFWCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFWixJQUFBLHlCQUFpQixFQUNmLGlCQUFNLEVBQ04sZUFBSSxFQUNKLHNCQUFXLEVBQ1gsNkJBQWtCLEVBQ2xCLGdDQUFxQixFQUNyQiw4QkFBbUIsRUFDbkIsOEJBQW1CLEVBQ25CLHlDQUE0QixDQUM3QixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDOztBQXhDSCxzQ0F5Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjZGsgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgYXV0b21hdGlvbiwgZGVmYXVsdE9wdGlvbnMsIGRlcGVuZGVuY2llcywgZW5zdXJlRGVwZW5kZW5jaWVzLCBlc2xpbnQsIGZvcmNlT3B0aW9ucywgbG9nbywgbm9kZVZlcnNpb24sIHBhY2thZ2VJbmZvLCBwcmV2ZW50U2VsZkRlcGVuZGVuY3ksIHJlbGVhc2UsIHNlbGZNdXRhdGlvbk9uRm9ya3MsIHRydXN0ZWRQdWJsaXNoZXJGaXggfSBmcm9tICcuL2ZlYXR1cmVzJztcbmltcG9ydCB7IHByb3RlY3RBdXRvbWF0aW9uQ3JlZGVudGlhbHMgfSBmcm9tICcuL2ZlYXR1cmVzL2F1dG9tYXRpb24nO1xuaW1wb3J0IHR5cGUgeyBTdmdGaWxlLCBXb3JkbWFyayB9IGZyb20gJy4vbG9nbyc7XG5pbXBvcnQgdHlwZSB7IFByb2plblByb2plY3RPcHRpb25zIH0gZnJvbSAnLi9wcm9qZW4tcHJvamVjdC1vcHRpb25zJztcbmltcG9ydCB7IGNvbmZpZ3VyZUZlYXR1cmVzLCBtZXJnZU9wdGlvbnMgfSBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBBIHByb2plY3QgdG8gY3JlYXRlIG5ldyBwcm9qZW4gcHJvamVjdHMgJiBjb21wb25lbnRzXG4gKiBAcGppZCBwcm9qZW5cbiAqL1xuZXhwb3J0IGNsYXNzIFByb2plblByb2plY3QgZXh0ZW5kcyBjZGsuSnNpaVByb2plY3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgbG9nbz86IFN2Z0ZpbGU7XG4gIHB1YmxpYyByZWFkb25seSB3b3JkbWFyaz86IFdvcmRtYXJrO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBQcm9qZW5Qcm9qZWN0T3B0aW9ucykge1xuICAgIGNvbnN0IG9wdHMgPSBtZXJnZU9wdGlvbnM8UHJvamVuUHJvamVjdE9wdGlvbnM+KFxuICAgICAgcGFja2FnZUluZm8oKSxcbiAgICAgIHJlbGVhc2UsXG4gICAgICBhdXRvbWF0aW9uLFxuICAgICAgZGVwZW5kZW5jaWVzKHtcbiAgICAgICAgcHJvamVuVmVyc2lvbjogb3B0aW9ucy5wcm9qZW5WZXJzaW9uID8/ICcwLnggPj0wLjc1LjAnLFxuICAgICAgICBkZXZEZXBzOiBbJ0BtcmdyYWluL2pzaWktc3RydWN0LWJ1aWxkZXInLCAnQGpzaWkvc3BlYycsICdqc2lpLWRvY2dlbkBeMTAnXSxcbiAgICAgICAgcGVlckRlcHM6IFsnY29uc3RydWN0c0BeMTAuMC4wJ10sXG4gICAgICAgIHBlZXJEZXBlbmRlbmN5T3B0aW9uczoge1xuICAgICAgICAgIHBpbm5lZERldkRlcGVuZGVuY3k6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBkZWZhdWx0T3B0aW9uczxjZGsuSnNpaVByb2plY3RPcHRpb25zPih7IHdvcmtmbG93Tm9kZVZlcnNpb246ICdsdHMvLTInIH0pLFxuICAgICAgZm9yY2VPcHRpb25zPGNkay5Kc2lpUHJvamVjdE9wdGlvbnM+KHtcbiAgICAgICAgYXV0aG9yOiBvcHRpb25zLmF1dGhvck5hbWUsXG4gICAgICAgIGF1dGhvclVybDogdW5kZWZpbmVkLFxuICAgICAgICBzYW1wbGVDb2RlOiBmYWxzZSxcbiAgICAgICAgcHJvamVucmNUczogdHJ1ZSxcbiAgICAgICAganNpaVZlcnNpb246ICc1LjkueCcsXG4gICAgICAgIHR5cGVzY3JpcHRWZXJzaW9uOiAnNS45LngnLFxuICAgICAgfSksXG4gICAgKShvcHRpb25zKTtcblxuICAgIHN1cGVyKG9wdHMpO1xuXG4gICAgY29uZmlndXJlRmVhdHVyZXMoXG4gICAgICBlc2xpbnQsXG4gICAgICBsb2dvLFxuICAgICAgbm9kZVZlcnNpb24sXG4gICAgICBlbnN1cmVEZXBlbmRlbmNpZXMsXG4gICAgICBwcmV2ZW50U2VsZkRlcGVuZGVuY3ksXG4gICAgICB0cnVzdGVkUHVibGlzaGVyRml4LFxuICAgICAgc2VsZk11dGF0aW9uT25Gb3JrcyxcbiAgICAgIHByb3RlY3RBdXRvbWF0aW9uQ3JlZGVudGlhbHMsXG4gICAgKSh0aGlzLCBvcHRzKTtcbiAgfVxufVxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVuLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvamVuLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLG1DQUE2QjtBQUM3Qix5Q0FBME47QUFDMU4sc0RBQXFFO0FBR3JFLG1DQUEwRDtBQUUxRDs7O0dBR0c7QUFDSCxNQUFhLGFBQWMsU0FBUSxZQUFHLENBQUMsV0FBVzs7SUFDaEMsSUFBSSxDQUFXO0lBQ2YsUUFBUSxDQUFZO0lBRXBDLFlBQW1CLE9BQTZCO1FBQzlDLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVksRUFDdkIsSUFBQSxzQkFBVyxHQUFFLEVBQ2Isa0JBQU8sRUFDUCxxQkFBVSxFQUNWLElBQUEsdUJBQVksRUFBQztZQUNYLGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYSxJQUFJLGNBQWM7WUFDdEQsT0FBTyxFQUFFLENBQUMsOEJBQThCLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixDQUFDO1lBQzFFLFFBQVEsRUFBRSxDQUFDLG9CQUFvQixDQUFDO1lBQ2hDLHFCQUFxQixFQUFFO2dCQUNyQixtQkFBbUIsRUFBRSxLQUFLO2FBQzNCO1NBQ0YsQ0FBQyxFQUNGLElBQUEseUJBQWMsRUFBeUIsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUN6RSxJQUFBLHVCQUFZLEVBQXlCO1lBQ25DLE1BQU0sRUFBRSxPQUFPLENBQUMsVUFBVTtZQUMxQixTQUFTLEVBQUUsU0FBUztZQUNwQixVQUFVLEVBQUUsS0FBSztZQUNqQixVQUFVLEVBQUUsSUFBSTtZQUNoQixXQUFXLEVBQUUsT0FBTztZQUNwQixpQkFBaUIsRUFBRSxPQUFPO1NBQzNCLENBQUMsQ0FDSCxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRVgsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRVosSUFBQSx5QkFBaUIsRUFDZixpQkFBTSxFQUNOLGVBQUksRUFDSixzQkFBVyxFQUNYLDZCQUFrQixFQUNsQixnQ0FBcUIsRUFDckIsOEJBQW1CLEVBQ25CLDhCQUFtQixFQUNuQix5Q0FBNEIsQ0FDN0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEIsQ0FBQzs7QUF4Q0gsc0NBeUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2RrIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IGF1dG9tYXRpb24sIGRlZmF1bHRPcHRpb25zLCBkZXBlbmRlbmNpZXMsIGVuc3VyZURlcGVuZGVuY2llcywgZXNsaW50LCBmb3JjZU9wdGlvbnMsIGxvZ28sIG5vZGVWZXJzaW9uLCBwYWNrYWdlSW5mbywgcHJldmVudFNlbGZEZXBlbmRlbmN5LCByZWxlYXNlLCBzZWxmTXV0YXRpb25PbkZvcmtzLCB0cnVzdGVkUHVibGlzaGVyRml4IH0gZnJvbSAnLi9mZWF0dXJlcyc7XG5pbXBvcnQgeyBwcm90ZWN0QXV0b21hdGlvbkNyZWRlbnRpYWxzIH0gZnJvbSAnLi9mZWF0dXJlcy9hdXRvbWF0aW9uJztcbmltcG9ydCB0eXBlIHsgU3ZnRmlsZSwgV29yZG1hcmsgfSBmcm9tICcuL2xvZ28nO1xuaW1wb3J0IHR5cGUgeyBQcm9qZW5Qcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4vcHJvamVuLXByb2plY3Qtb3B0aW9ucyc7XG5pbXBvcnQgeyBjb25maWd1cmVGZWF0dXJlcywgbWVyZ2VPcHRpb25zIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQSBwcm9qZWN0IHRvIGNyZWF0ZSBuZXcgcHJvamVuIHByb2plY3RzICYgY29tcG9uZW50c1xuICogQHBqaWQgcHJvamVuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9qZW5Qcm9qZWN0IGV4dGVuZHMgY2RrLkpzaWlQcm9qZWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGxvZ28/OiBTdmdGaWxlO1xuICBwdWJsaWMgcmVhZG9ubHkgd29yZG1hcms/OiBXb3JkbWFyaztcblxuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogUHJvamVuUHJvamVjdE9wdGlvbnMpIHtcbiAgICBjb25zdCBvcHRzID0gbWVyZ2VPcHRpb25zPFByb2plblByb2plY3RPcHRpb25zPihcbiAgICAgIHBhY2thZ2VJbmZvKCksXG4gICAgICByZWxlYXNlLFxuICAgICAgYXV0b21hdGlvbixcbiAgICAgIGRlcGVuZGVuY2llcyh7XG4gICAgICAgIHByb2plblZlcnNpb246IG9wdGlvbnMucHJvamVuVmVyc2lvbiA/PyAnMC54ID49MC43NS4wJyxcbiAgICAgICAgZGV2RGVwczogWydAbXJncmFpbi9qc2lpLXN0cnVjdC1idWlsZGVyJywgJ0Bqc2lpL3NwZWMnLCAnanNpaS1kb2NnZW5AXjEwJ10sXG4gICAgICAgIHBlZXJEZXBzOiBbJ2NvbnN0cnVjdHNAXjEwLjUuMCddLFxuICAgICAgICBwZWVyRGVwZW5kZW5jeU9wdGlvbnM6IHtcbiAgICAgICAgICBwaW5uZWREZXZEZXBlbmRlbmN5OiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgZGVmYXVsdE9wdGlvbnM8Y2RrLkpzaWlQcm9qZWN0T3B0aW9ucz4oeyB3b3JrZmxvd05vZGVWZXJzaW9uOiAnbHRzLy0yJyB9KSxcbiAgICAgIGZvcmNlT3B0aW9uczxjZGsuSnNpaVByb2plY3RPcHRpb25zPih7XG4gICAgICAgIGF1dGhvcjogb3B0aW9ucy5hdXRob3JOYW1lLFxuICAgICAgICBhdXRob3JVcmw6IHVuZGVmaW5lZCxcbiAgICAgICAgc2FtcGxlQ29kZTogZmFsc2UsXG4gICAgICAgIHByb2plbnJjVHM6IHRydWUsXG4gICAgICAgIGpzaWlWZXJzaW9uOiAnNS45LngnLFxuICAgICAgICB0eXBlc2NyaXB0VmVyc2lvbjogJzUuOS54JyxcbiAgICAgIH0pLFxuICAgICkob3B0aW9ucyk7XG5cbiAgICBzdXBlcihvcHRzKTtcblxuICAgIGNvbmZpZ3VyZUZlYXR1cmVzKFxuICAgICAgZXNsaW50LFxuICAgICAgbG9nbyxcbiAgICAgIG5vZGVWZXJzaW9uLFxuICAgICAgZW5zdXJlRGVwZW5kZW5jaWVzLFxuICAgICAgcHJldmVudFNlbGZEZXBlbmRlbmN5LFxuICAgICAgdHJ1c3RlZFB1Ymxpc2hlckZpeCxcbiAgICAgIHNlbGZNdXRhdGlvbk9uRm9ya3MsXG4gICAgICBwcm90ZWN0QXV0b21hdGlvbkNyZWRlbnRpYWxzLFxuICAgICkodGhpcywgb3B0cyk7XG4gIH1cbn1cbiJdfQ==
@@ -249,6 +249,13 @@ export interface TypeScriptProjectOptions {
249
249
  * @stability stable
250
250
  */
251
251
  readonly dependabot?: boolean;
252
+ /**
253
+ * The name of the main release branch.
254
+ * @default "main"
255
+ * @stability stable
256
+ * @featured true
257
+ */
258
+ readonly defaultReleaseBranch?: string;
252
259
  /**
253
260
  * The copyright years to put in the LICENSE file.
254
261
  * @default - current year
@@ -336,12 +343,6 @@ export interface TypeScriptProjectOptions {
336
343
  * @stability stable
337
344
  */
338
345
  readonly artifactsDirectory?: string;
339
- /**
340
- * The name of the main release branch.
341
- * @default "main"
342
- * @stability stable
343
- */
344
- readonly defaultReleaseBranch?: string;
345
346
  /**
346
347
  * Github Runner Group selection options.
347
348
  * @stability stable
@@ -559,7 +560,7 @@ export interface TypeScriptProjectOptions {
559
560
  readonly repository?: string;
560
561
  /**
561
562
  * The version of PNPM to use if using PNPM as a package manager.
562
- * @default "9"
563
+ * @default "10.33.0"
563
564
  * @stability stable
564
565
  */
565
566
  readonly pnpmVersion?: string;
@@ -596,8 +597,9 @@ export interface TypeScriptProjectOptions {
596
597
  readonly packageName?: string;
597
598
  /**
598
599
  * The Node Package Manager used to execute scripts.
599
- * @default NodePackageManager.YARN_CLASSIC
600
+ * @default - Detected from the calling process or `YARN_CLASSIC` if detection fails.
600
601
  * @stability stable
602
+ * @pjnew $PACKAGE_MANAGER
601
603
  */
602
604
  readonly packageManager?: javascript.NodePackageManager;
603
605
  /**
@@ -695,6 +697,14 @@ export interface TypeScriptProjectOptions {
695
697
  * @stability stable
696
698
  */
697
699
  readonly entrypoint?: string;
700
+ /**
701
+ * Configure the `devEngines` field in `package.json`.
702
+ * The `devEngines.packageManager` field is automatically populated based on
703
+ * the resolved `packageManager` value. Any fields provided here are merged
704
+ * with the auto-populated `packageManager` entry.
705
+ * @stability stable
706
+ */
707
+ readonly devEngines?: javascript.DevEngines;
698
708
  /**
699
709
  * Build dependencies for this module.
700
710
  * These dependencies will only be
@@ -702,11 +712,11 @@ export interface TypeScriptProjectOptions {
702
712
  * module is consumed.
703
713
  *
704
714
  * The recommendation is to only specify the module name here (e.g.
705
- * `express`). This will behave similar to `yarn add` or `npm install` in the
715
+ * `express`). This will behave similar to `pnpm add` or `npm install` in the
706
716
  * sense that it will add the module as a dependency to your `package.json`
707
717
  * file with the latest version (`^`). You can specify semver requirements in
708
- * the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
709
- * this will be what you `package.json` will eventually include.
718
+ * the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
719
+ * this will be what your `package.json` will eventually include.
710
720
  * @default []
711
721
  * @stability stable
712
722
  * @featured true
@@ -723,16 +733,26 @@ export interface TypeScriptProjectOptions {
723
733
  /**
724
734
  * Runtime dependencies of this module.
725
735
  * The recommendation is to only specify the module name here (e.g.
726
- * `express`). This will behave similar to `yarn add` or `npm install` in the
736
+ * `express`). This will behave similar to `pnpm add` or `npm install` in the
727
737
  * sense that it will add the module as a dependency to your `package.json`
728
738
  * file with the latest version (`^`). You can specify semver requirements in
729
- * the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
730
- * this will be what you `package.json` will eventually include.
739
+ * the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
740
+ * this will be what your `package.json` will eventually include.
731
741
  * @default []
732
742
  * @stability stable
733
743
  * @featured true
734
744
  */
735
745
  readonly deps?: Array<string>;
746
+ /**
747
+ * Automatically delete lockfiles from package managers that are not the active one.
748
+ * Only triggered when the lockfile for the configured package
749
+ * manager already exists.
750
+ *
751
+ * This is useful when migrating between package managers to avoid conflicts.
752
+ * @default true
753
+ * @stability stable
754
+ */
755
+ readonly deleteOrphanedLockFiles?: boolean;
736
756
  /**
737
757
  * Options for npm packages using AWS CodeArtifact.
738
758
  * This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact
@@ -753,11 +773,11 @@ export interface TypeScriptProjectOptions {
753
773
  * your `package.json`.
754
774
  *
755
775
  * The recommendation is to only specify the module name here (e.g.
756
- * `express`). This will behave similar to `yarn add` or `npm install` in the
776
+ * `express`). This will behave similar to `pnpm add` or `npm install` in the
757
777
  * sense that it will add the module as a dependency to your `package.json`
758
778
  * file with the latest version (`^`). You can specify semver requirements in
759
- * the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and
760
- * this will be what you `package.json` will eventually include.
779
+ * the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
780
+ * this will be what your `package.json` will eventually include.
761
781
  * @stability stable
762
782
  */
763
783
  readonly bundledDeps?: Array<string>;
@@ -813,6 +833,12 @@ export interface TypeScriptProjectOptions {
813
833
  * @stability stable
814
834
  */
815
835
  readonly allowLibraryDependencies?: boolean;
836
+ /**
837
+ * Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`.
838
+ * @default true
839
+ * @stability stable
840
+ */
841
+ readonly addPackageManagerToDevEngines?: boolean;
816
842
  /**
817
843
  * Enable VSCode integration.
818
844
  * Enabled by default for root projects. Disabled for non-root projects.