@cubist-labs/cubesigner-sdk 0.4.206 → 0.4.209
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.
- package/dist/package.json +1 -1
- package/dist/src/role.d.ts +20 -3
- package/dist/src/role.d.ts.map +1 -1
- package/dist/src/role.js +1 -1
- package/dist/src/schema.d.ts +97 -20
- package/dist/src/schema.d.ts.map +1 -1
- package/dist/src/schema.js +1 -1
- package/dist/src/scopes.d.ts.map +1 -1
- package/dist/src/scopes.js +2 -1
- package/package.json +1 -1
- package/src/role.ts +34 -10
- package/src/schema.ts +118 -16
- package/src/scopes.ts +1 -0
package/dist/src/scopes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/scopes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,GAAG,CAAC;AAEvC,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC,CAAC;AAEtF,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB;AAED,mDAAmD;AACnD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/scopes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,GAAG,CAAC;AAEvC,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC,CAAC;AAEtF,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB;AAED,mDAAmD;AACnD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAsLnD,CAAC;AAyFF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAA4C,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;eArTsB,MAAM;gBAAU,SAAS,EAAE;;;eAA3B,MAAM;gBAAU,SAAS,EAAE;;;;;;CAgVtD,CAAC;AAE7B;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;eAtVsB,MAAM;gBAAU,SAAS,EAAE;;;eAA3B,MAAM;gBAAU,SAAS,EAAE;;;eAA3B,MAAM;gBAAU,SAAS,EAAE;;CA0VjF,CAAC"}
|
package/dist/src/scopes.js
CHANGED
|
@@ -100,6 +100,7 @@ exports.AllScopes =
|
|
|
100
100
|
"manage:policy:secrets:get": "Allows access only to the policy secrets 'get' endpoint",
|
|
101
101
|
"manage:policy:secrets:update:*": "Allows access to all policy secrets 'update' endpoints",
|
|
102
102
|
"manage:policy:secrets:update:values": "Allows access only to the policy secrets 'update' endpoint, but restricting updates to the secrets keys and values",
|
|
103
|
+
"manage:policy:secrets:update:acl": "Allows access only to the policy secrets 'update' endpoint, but restricting updates to the secrets acl",
|
|
103
104
|
"manage:policy:secrets:update:editPolicy": "Allows access only to the policy secrets 'update' endpoint, but restricting updates to the `edit_policy` property",
|
|
104
105
|
"manage:contact:*": "Allows access to all contact endpoints",
|
|
105
106
|
"manage:contact:create": "Allows access to the contact 'create' endpoint",
|
|
@@ -329,4 +330,4 @@ exports.userScopesDictionary = {
|
|
|
329
330
|
sign: exports.allScopesDictionary.sign,
|
|
330
331
|
mmi: exports.allScopesDictionary.mmi,
|
|
331
332
|
};
|
|
332
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Njb3Blcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0NBQWdDOzs7QUFZaEMsbURBQW1EO0FBQ3RDLFFBQUEsU0FBUztBQUNwQixrQkFBa0I7QUFDbEI7SUFDQSxRQUFRLEVBQXdDLHVHQUF1RztJQUN2SixVQUFVLEVBQXNDLDBDQUEwQztJQUMxRixXQUFXLEVBQXFDLDJDQUEyQztJQUMzRixvQkFBb0IsRUFBNEIsd0pBQXdKO0lBQ3hNLFlBQVksRUFBb0Msb0NBQW9DO0lBQ3BGLGlCQUFpQixFQUErQiwrREFBK0Q7SUFDL0csa0JBQWtCLEVBQThCLGdFQUFnRTtJQUNoSCxpQkFBaUIsRUFBK0IsNkRBQTZEO0lBQzdHLG9CQUFvQixFQUE0QiwwREFBMEQ7SUFDMUcsc0JBQXNCLEVBQTBCLDREQUE0RDtJQUM1RyxzQkFBc0IsRUFBMEIsNERBQTREO0lBQzVHLHVCQUF1QixFQUF5Qiw2REFBNkQ7SUFDN0cseUJBQXlCLEVBQXVCLHFFQUFxRTtJQUNySCxvQkFBb0IsRUFBNEIsb0VBQW9FO0lBQ3BILHlCQUF5QixFQUF1QixtRUFBbUU7SUFDbkgseUJBQXlCLEVBQXVCLG1FQUFtRTtJQUNuSCxnQkFBZ0IsRUFBZ0Msd0NBQXdDO0lBQ3hGLHFCQUFxQixFQUEyQiw2Q0FBNkM7SUFDN0YsMEJBQTBCLEVBQXNCLHFEQUFxRDtJQUNyRyx3QkFBd0IsRUFBd0IsNENBQTRDO0lBQzVGLHdCQUF3QixFQUF3QiwwRUFBMEU7SUFDMUgsOEJBQThCLEVBQWtCLDREQUE0RDtJQUM1Ryw2QkFBNkIsRUFBbUIsNkRBQTZEO0lBQzdHLCtCQUErQixFQUFpQiwrREFBK0Q7SUFDL0csNEJBQTRCLEVBQW9CLDJFQUEyRTtJQUMzSCwyQkFBMkIsRUFBcUIsZ0VBQWdFO0lBQ2hILHVCQUF1QixFQUF5QixvRUFBb0U7SUFDcEgsWUFBWSxFQUFvQywyQ0FBMkM7SUFDM0YsYUFBYSxFQUFt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QVUsQ0FBRTtpQkFDcEMsUUFBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxjQUFjLENBQUU7aUJBQ2xELFFBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssaUJBQWlCLENBQUU7U0FDekQ7S0FDRjtDQUN5QixDQUFDO0FBRTdCOzs7R0FHRztBQUNVLFFBQUEsb0JBQW9CLEdBQUc7SUFDbEMsTUFBTSxFQUFFLDJCQUFtQixDQUFDLE1BQU07SUFDbEMsSUFBSSxFQUFFLDJCQUFtQixDQUFDLElBQUk7SUFDOUIsR0FBRyxFQUFFLDJCQUFtQixDQUFDLEdBQUc7Q0FDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlIHNwYWNlZC1jb21tZW50XG5cbmltcG9ydCB7IHR5cGUgRXhwbGljaXRTY29wZSB9IGZyb20gXCIuXCI7XG5cbmV4cG9ydCB0eXBlIFNjb3Blc0RpY3Rpb25hcnkgPSBSZWNvcmQ8c3RyaW5nLCB7IGxhYmVsOiBzdHJpbmc7IHNjb3BlczogU2NvcGVJdGVtW10gfT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NvcGVJdGVtIHtcbiAgdmFsdWU6IEV4cGxpY2l0U2NvcGU7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogU2NvcGVJdGVtW107XG59XG5cbi8qKiBNYXBwaW5nIGZyb20gc2NvcGUgbmFtZSB0byBzY29wZSBkZXNjcmlwdGlvbiAqL1xuZXhwb3J0IGNvbnN0IEFsbFNjb3BlczogUmVjb3JkPEV4cGxpY2l0U2NvcGUsIHN0cmluZz4gPVxuICAvLyBwcmV0dGllci1pZ25vcmVcbiAge1xuICBcInNpZ246KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgc2lnbmVyIGVuZHBvaW50cyAoZS5nLiwgc2lnbiBibG9iLCBzaWduIGJpdGNvaW4vYXZhbGFuY2hlL2V2bSB0cmFuc2FjdGlvbiwgZXRjLilcIixcbiAgXCJzaWduOmF2YVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ24gJ2F2YScgZW5kcG9pbnRcIixcbiAgXCJzaWduOmJsb2JcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ24gJ2Jsb2InIGVuZHBvaW50XCIsXG4gIFwic2lnbjpkaWZmaWVIZWxsbWFuXCIgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBEaWZmaWUtSGVsbG1hbiBlbmRwb2ludC4gVGhpcyBpcyBub3QgcmVhbGx5IHNpZ25pbmcsIGJ1dCB3ZSBwdXQgaXQgdW5kZXIgdGhlIGBzaWduYCBoaWVyYXJjaHkgYmVjYXVzZSBpdCBpcyBjb25jZXB0dWFsbHkgc2ltaWxhci5cIixcbiAgXCJzaWduOmJ0YzoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIEJUQyBlbmRwb2ludHNcIixcbiAgXCJzaWduOmJ0YzpzZWd3aXRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIHNlZ3dpdCB0cmFuc2FjdGlvbnNcIixcbiAgXCJzaWduOmJ0Yzp0YXByb290XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIHRhcHJvb3QgdHJhbnNhY3Rpb25zXCIsXG4gIFwic2lnbjpidGM6cHNidDoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBQU0JUIHNpZ25pbmcgZW5kcG9pbnQgZm9yIGFueSBrZXkgdHlwZVwiLFxuICBcInNpZ246YnRjOnBzYnQ6ZG9nZVwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgUFNCVCBzaWduaW5nIGVuZHBvaW50IGZvciBEb2dlIGtleXNcIixcbiAgXCJzaWduOmJ0Yzpwc2J0OmxlZ2FjeVwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFBTQlQgc2lnbmluZyBlbmRwb2ludCBmb3IgbGVnYWN5IGtleXNcIixcbiAgXCJzaWduOmJ0Yzpwc2J0OnNlZ3dpdFwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFBTQlQgc2lnbmluZyBlbmRwb2ludCBmb3Igc2Vnd2l0IGtleXNcIixcbiAgXCJzaWduOmJ0Yzpwc2J0OnRhcHJvb3RcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFBTQlQgc2lnbmluZyBlbmRwb2ludCBmb3IgdGFwcm9vdCBrZXlzXCIsXG4gIFwic2lnbjpidGM6cHNidDpsdGNTZWd3aXRcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBQU0JUIHNpZ25pbmcgZW5kcG9pbnQgZm9yIExpdGVjb2luIHNlZ3dpdCBrZXlzXCIsXG4gIFwic2lnbjpidGM6bWVzc2FnZToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBCVEMgbWVzc2FnZSBzaWduaW5nIGVuZHBvaW50IGZvciBhbnkga2V5IHR5cGVcIixcbiAgXCJzaWduOmJ0YzptZXNzYWdlOnNlZ3dpdFwiICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEJUQyBtZXNzYWdlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIHNlZ3dpdCBrZXlzXCIsXG4gIFwic2lnbjpidGM6bWVzc2FnZTpsZWdhY3lcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBCVEMgbWVzc2FnZSBzaWduaW5nIGVuZHBvaW50IGZvciBsZWdhY3kga2V5c1wiLFxuICBcInNpZ246YmFieWxvbjoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgQmFieWxvbiBlbmRwb2ludHNcIixcbiAgXCJzaWduOmJhYnlsb246ZW90czoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIEJhYnlsb24gRU9UUyBlbmRwb2ludHNcIixcbiAgXCJzaWduOmJhYnlsb246ZW90czpub25jZXNcIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEVPVFMgbm9uY2UgZ2VuZXJhdGlvbiBlbmRwb2ludFwiLFxuICBcInNpZ246YmFieWxvbjplb3RzOnNpZ25cIiAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgRU9UUyBzaWduaW5nIGVuZHBvaW50XCIsXG4gIFwic2lnbjpiYWJ5bG9uOnN0YWtpbmc6KlwiICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBhbGwgQmFieWxvbiBzdGFraW5nIG9wZXJhdGlvbnNcIixcbiAgXCJzaWduOmJhYnlsb246c3Rha2luZzpkZXBvc2l0XCIgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIEJhYnlsb24gZGVwb3NpdHNcIixcbiAgXCJzaWduOmJhYnlsb246c3Rha2luZzp1bmJvbmRcIiAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIEJhYnlsb24gdW5ib25kaW5nXCIsXG4gIFwic2lnbjpiYWJ5bG9uOnN0YWtpbmc6d2l0aGRyYXdcIiAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBCYWJ5bG9uIHdpdGhkcmF3YWxzXCIsXG4gIFwic2lnbjpiYWJ5bG9uOnN0YWtpbmc6c2xhc2hcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBCYWJ5bG9uIHNsYXNoaW5nIHByZS1zaWduYXR1cmVzXCIsXG4gIFwic2lnbjpiYWJ5bG9uOnJlZ2lzdHJhdGlvblwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBCYWJ5bG9uIHJlZ2lzdHJhdGlvblwiLFxuICBcInNpZ246YmFieWxvbjpjb3ZlbmFudFwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbmluZyBlbmRwb2ludCBmb3IgQmFieWxvbiBjb3ZlbmFudCBzaWduaW5nXCIsXG4gIFwic2lnbjpldm06KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBzaWduICdldm0nIGVuZHBvaW50c1wiLFxuICBcInNpZ246ZXZtOnR4XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbmluZyBlbmRwb2ludCBmb3IgZXZtIHRyYW5zYWN0aW9uc1wiLFxuICBcInNpZ246ZXZtOmVpcDE5MVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbmluZyBlbmRwb2ludCBmb3IgRUlQLTE5MSBwZXJzb25hbF9tZXNzYWdlIGRhdGFcIixcbiAgXCJzaWduOmV2bTplaXA3MTJcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2VzcyB0byB0aGUgc2lnbmluZyBlbmRwb2ludCBmb3IgRUlQLTcxMiB0eXBlZCBkYXRhXCIsXG4gIFwic2lnbjpldGgyOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBzaWduICdldGgyJyBlbmRwb2ludHNcIixcbiAgXCJzaWduOmV0aDI6dmFsaWRhdGVcIiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ24gZXRoMiAndmFsaWRhdGUnIGVuZHBvaW50XCIsXG4gIFwic2lnbjpldGgyOnN0YWtlXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduIGV0aDIgJ3N0YWtlJyBlbmRwb2ludFwiLFxuICBcInNpZ246ZXRoMjp1bnN0YWtlXCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbiBldGgyICd1bnN0YWtlJyBlbmRwb2ludFwiLFxuICBcInNpZ246c29sYW5hXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbiAnc29sYW5hJyBlbmRwb2ludFwiLFxuICBcInNpZ246c3VpXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbiAnc3VpJyBlbmRwb2ludFwiLFxuICBcInNpZ246dGVuZGVybWludFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbiAndGVuZGVybWludCcgZW5kcG9pbnRcIixcbiAgXCJzaWduOm1taVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ24gJ21taScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIG1hbmFnZW1lbnQgZW5kcG9pbnRzIChlLmcuLCBjcmVhdGUgcm9sZSwgY3JlYXRlIGtleSwgYWRkIGtleSB0byByb2xlLCBldGMuKVwiLFxuICBcIm1hbmFnZTpyZWFkb25seVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgbWFuYWdlbWVudCByZWFkb25seSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6ZW1haWxcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgZW1haWwgbWFuYWdlbWVudCBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6bWZhOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byBNRkEgZW5kcG9pbnRzIChlLmcuLCBnZXQvYXBwcm92ZSBleGlzdGluZyBNRkEgcmVxdWVzdClcIixcbiAgXCJtYW5hZ2U6bWZhOnJlYWRvbmx5XCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byBNRkEgcmVhZG9ubHkgZW5kcG9pbnRzIChlLmcuLCBnZXQvbGlzdCBleGlzdGluZyBNRkEgcmVxdWVzdChzKSlcIixcbiAgXCJtYW5hZ2U6bWZhOmxpc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBIGxpc3QgZW5kcG9pbnQgKGxpc3QgZXhpc3RpbmcgTUZBIHJlcXVlc3RzKVwiLFxuICBcIm1hbmFnZTptZmE6dm90ZToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgTUZBIHZvdGUgZW5kcG9pbnRzICh2b3RlIHVzaW5nIGN1cnJlbnQgQ3ViZVNpZ25lciBzZXNzaW9uLCBUT1RQLCBvciBGSURPKVwiLFxuICBcIm1hbmFnZTptZmE6dm90ZTpjc1wiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBNRkEgJ3ZvdGUgd2l0aCBDdWJlU2lnbmVyJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTptZmE6dm90ZTplbWFpbFwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBNRkEgJ3ZvdGUgd2l0aCBlbWFpbCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOnZvdGU6Zmlkb1wiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICd2b3RlIHdpdGggVE9UUCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOnZvdGU6dG90cFwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICd2b3RlIHdpdGggRklETycgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOnJlZ2lzdGVyOipcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIE1GQSByZWdpc3RlciBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6bWZhOnJlZ2lzdGVyOmZpZG9cIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICdyZWdpc3RlciBUT1RQJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTptZmE6cmVnaXN0ZXI6dG90cFwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBNRkEgJ3JlZ2lzdGVyIEZJRE8nIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm1mYTpyZWdpc3RlcjplbWFpbFwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIE1GQSAncmVnaXN0ZXIgdmVyaWZpZWQgZW1haWwnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm1mYTp1bnJlZ2lzdGVyOipcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBNRkEgdW5yZWdpc3RlciBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6bWZhOnVucmVnaXN0ZXI6Zmlkb1wiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICdkZWxldGUgVE9UUCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOnVucmVnaXN0ZXI6dG90cFwiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICdkZWxldGUgRklETycgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOnZlcmlmeToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIE1GQSB2ZXJpZnkgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOm1mYTp2ZXJpZnk6dG90cFwiICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIE1GQSAndmVyaWZ5IFRPVFAnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmtleToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBrZXkgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmtleTpyZWFkb25seVwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBrZXkgcmVhZG9ubHkgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmtleTphdHRlc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAnYXR0ZXN0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTprZXk6Z2V0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ2dldCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6a2V5Omxpc3RSb2xlc1wiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICdsaXN0Um9sZXMnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmtleTpsaXN0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAnbGlzdCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6a2V5Omhpc3Rvcnk6dHg6bGlzdFwiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICdsaXN0X2hpc3RvcmljYWxfdHgnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmtleTpjcmVhdGVcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8ga2V5IGNyZWF0aW9uIGVuZHBvaW50cyAoZS5nLiwgJ2NyZWF0ZScgYW5kICdkZXJpdmUnKVwiLFxuICBcIm1hbmFnZTprZXk6aW1wb3J0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ2ltcG9ydCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6a2V5OnVwZGF0ZToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICd1cGRhdGUnIGVuZHBvaW50LCB3aXRoaW4gd2hpY2ggYWxsb3dpbmcgYWxsIHBvc3NpYmxlIHVwZGF0ZXNcIixcbiAgXCJtYW5hZ2U6a2V5OnVwZGF0ZTpvd25lclwiICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUga2V5IG93bmVyIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOmtleTp1cGRhdGU6cG9saWN5XCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIGtleSBwb2xpY3kgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6a2V5OnVwZGF0ZTplbmFibGVkXCIgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUga2V5IGVuYWJsZWQgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6a2V5OnVwZGF0ZTptZXRhZGF0YVwiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICd1cGRhdGUnIGVuZHBvaW50IGFuZCByZXN0cmljdHMgdXBkYXRlcyB0byB0aGUga2V5IG1ldGFkYXRhIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOmtleTp1cGRhdGU6ZWRpdFBvbGljeVwiICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAndXBkYXRlJyBlbmRwb2ludCBhbmQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlICdlZGl0X3BvbGljeScgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6a2V5OmRlbGV0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICdkZWxldGUnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnBvbGljeToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBwb2xpY3kgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOnBvbGljeTpjcmVhdGVcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBjcmVhdGlvbiBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6Z2V0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ2dldCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cG9saWN5Omxpc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5ICdsaXN0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6ZGVsZXRlXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgYGRlbGV0ZWAgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnVwZGF0ZToqXCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5ICd1cGRhdGUnIGVuZHBvaW50LCB3aXRoaW4gd2hpY2ggYWxsb3dpbmcgYWxsIHBvc3NpYmxlIHVwZGF0ZXNcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnVwZGF0ZTphY2xcIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgcG9saWN5IEFDTFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6dXBkYXRlOm93bmVyXCIgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBwb2xpY3kgb3duZXIgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnVwZGF0ZTpuYW1lXCIgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgcG9saWN5IG5hbWVcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnVwZGF0ZTplZGl0UG9saWN5XCIgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgJ2VkaXRfcG9saWN5JyBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTpwb2xpY3k6dXBkYXRlOm1ldGFkYXRhXCIgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSAnbWV0YWRhdGEnIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOnBvbGljeTp1cGRhdGU6cnVsZVwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIHBvbGljeSBydWxlIGl0c2VsZlwiLFxuICBcIm1hbmFnZTpwb2xpY3k6aW52b2tlXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ2ludm9rZScgZW5kcG9pbnQuXCIsXG4gIFwibWFuYWdlOnBvbGljeTp3YXNtOipcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCB3YXNtIHBvbGljeSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6cG9saWN5Ondhc206dXBsb2FkXCIgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgd2FzbSBwb2xpY3kgJ3VwbG9hZCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnNlY3JldHM6KlwiICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHBvbGljeSBzZWNyZXRzIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpwb2xpY3k6c2VjcmV0czpnZXRcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgc2VjcmV0cyAnZ2V0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6c2VjcmV0czp1cGRhdGU6KlwiICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgcG9saWN5IHNlY3JldHMgJ3VwZGF0ZScgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOnBvbGljeTpzZWNyZXRzOnVwZGF0ZTp2YWx1ZXNcIiAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBzZWNyZXRzICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgc2VjcmV0cyBrZXlzIGFuZCB2YWx1ZXNcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnNlY3JldHM6dXBkYXRlOmVkaXRQb2xpY3lcIiAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5IHNlY3JldHMgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBgZWRpdF9wb2xpY3lgIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOmNvbnRhY3Q6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBjb250YWN0IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpjb250YWN0OmNyZWF0ZVwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgY29udGFjdCAnY3JlYXRlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpjb250YWN0OmdldFwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgY29udGFjdCBgZ2V0YCBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpjb250YWN0Omxpc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgY29udGFjdCBgbGlzdGAgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6Y29udGFjdDpkZWxldGVcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIGNvbnRhY3QgYGRlbGV0ZWAgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6Y29udGFjdDp1cGRhdGU6KlwiICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgY29udGFjdCAndXBkYXRlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTpuYW1lXCIgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnbmFtZScgZmllbGQuXCIsXG4gIFwibWFuYWdlOmNvbnRhY3Q6dXBkYXRlOmFkZHJlc3Nlc1wiICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGNvbnRhY3QgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdHMgdXBkYXRlcyB0byB0aGUgY29udGFjdCdzICdhZGRyZXNzZXMnIGZpZWxkLlwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTpvd25lclwiICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnb3duZXInIGZpZWxkLlwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTptZXRhZGF0YVwiICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnbWV0YWRhdGEnIGZpZWxkLlwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTplZGl0UG9saWN5XCIgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnZWRpdF9wb2xpY3knIGZpZWxkLlwiLFxuICBcIm1hbmFnZTpjb250YWN0Omxvb2t1cDoqXCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgY29udGFjdCBgbG9va3VwYCBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6Y29udGFjdDpsb29rdXA6YWRkcmVzc1wiICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgY29udGFjdCAnbG9va3VwIGJ5IGFkZHJlc3MnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnBvbGljeTpjcmVhdGVJbXBvcnRLZXlcIiAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBrZXkgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHJvbGUgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOnJvbGU6cmVhZG9ubHlcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCByb2xlIHJlYWRvbmx5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpyb2xlOmNyZWF0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSByb2xlICdjcmVhdGUnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnJvbGU6ZGVsZXRlXCIgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ2RlbGV0ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTpnZXQ6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcm9sZSAnZ2V0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOmdldDprZXlzXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAnbGlzdCBrZXlzJyBhbmQgJ2dldCBrZXknIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpyb2xlOmdldDprZXlzOmxpc3RcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAnbGlzdCBrZXlzJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOmdldDprZXlzOmdldFwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAnZ2V0IGtleScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTpnZXQ6dXNlcnNcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHJvbGUgJ2xpc3QgdXNlcnMnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnJvbGU6bGlzdFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ2xpc3QnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnJvbGU6dXBkYXRlOipcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ3VwZGF0ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6ZW5hYmxlZFwiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcm9sZSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIHJvbGUgJ2VuYWJsZWQnIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOnJvbGU6dXBkYXRlOnBvbGljeVwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSByb2xlICdwb2xpY3knIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOnJvbGU6dXBkYXRlOmVkaXRQb2xpY3lcIiAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSByb2xlICdlZGl0X3BvbGljeScgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6a2V5OipcIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHJvbGUgJ3VwZGF0ZTprZXknIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpyb2xlOnVwZGF0ZTprZXk6YWRkXCIgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAndXBkYXRlOmtleXM6YWRkJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOnVwZGF0ZTprZXk6cmVtb3ZlXCIgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAndXBkYXRlOmtleXM6cmVtb3ZlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOnVwZGF0ZTp1c2VyOipcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgcm9sZSAndXBkYXRlOnVzZXInIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpyb2xlOnVwZGF0ZTp1c2VyOmFkZFwiICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAndXBkYXRlOnVzZXI6YWRkJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOnVwZGF0ZTp1c2VyOnJlbW92ZVwiICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAndXBkYXRlOnVzZXI6cmVtb3ZlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOmhpc3Rvcnk6dHg6bGlzdFwiICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSByb2xlICdsaXN0X2hpc3RvcmljYWxfdHgnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmlkZW50aXR5OipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBpZGVudGl0eSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6aWRlbnRpdHk6dmVyaWZ5XCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgaWRlbnRpdHkgJ3ZlcmlmeScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6aWRlbnRpdHk6YWRkXCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgaWRlbnRpdHkgJ2FkZCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6aWRlbnRpdHk6cmVtb3ZlXCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgaWRlbnRpdHkgJ3JlbW92ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6aWRlbnRpdHk6bGlzdFwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgaWRlbnRpdHkgJ2xpc3QnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm9yZzoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBvcmcgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOm9yZzpjcmVhdGVcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBvcmcgJ2NyZWF0ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6b3JnOm1ldHJpY3M6cXVlcnlcIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gcmV0cmlldmluZyBvcmcgbWV0cmljc1wiLFxuICBcIm1hbmFnZTpvcmc6cmVhZG9ubHlcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgb3JnIHJlYWRvbmx5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpvcmc6YWRkVXNlclwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnQgZm9yIGFkZGluZyBhbiBPSURDIHVzZXIgdG8gdGhlIG9yZ1wiLFxuICBcIm1hbmFnZTpvcmc6aW52aXRlVXNlclwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnQgZm9yIGludml0aW5nIGEgbmV3IG1lbWJlciBvciBvcmcgb3duZXIgdG8gdGhlIG9yZ1wiLFxuICBcIm1hbmFnZTpvcmc6aW52aXRlQWxpZW5cIiAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnQgZm9yIGludml0aW5nIGEgbmV3IGFsaWVuIHVzZXIgdG8gdGhlIG9yZ1wiLFxuICBcIm1hbmFnZTpvcmc6dXBkYXRlTWVtYmVyc2hpcFwiICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnQgZm9yIHVwZGF0aW5nIGV4aXN0aW5nIHVzZXIncyBvcmcgbWVtYmVyc2hpcFwiLFxuICBcIm1hbmFnZTpvcmc6bGlzdFVzZXJzXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnQgZm9yIGxpc3RpbmcgYWxsIG9yZyB1c2VycyAobWVtYmVycylcIixcbiAgXCJtYW5hZ2U6b3JnOnVzZXI6Z2V0XCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgb3JnIGVuZHBvaW50cyBmb3IgZ2V0dGluZyB1c2VycyBieSBpZCBvciBlbWFpbFwiLFxuICBcIm1hbmFnZTpvcmc6ZGVsZXRlVXNlclwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnQgZm9yIGRlbGV0aW5nIGFuIE9JREMgdXNlclwiLFxuICBcIm1hbmFnZTpvcmc6Z2V0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byByZXRyaWV2aW5nIG9yZ2FuaXphdGlvbiBpbmZvcm1hdGlvblwiLFxuICBcIm1hbmFnZTpvcmc6dXNlcjpyZXNldE1mYVwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFuIG93bmVyIHRvIGluaXRpYXRlIGFuIE1GQSByZXNldCBmb3IgYSB1c2VyXCIsXG4gIFwibWFuYWdlOnNlc3Npb246KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBzZXNzaW9uIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpzZXNzaW9uOnJlYWRvbmx5XCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgc2Vzc2lvbiByZWFkb25seSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6c2Vzc2lvbjpnZXRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgc2Vzc2lvbiAnZ2V0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpzZXNzaW9uOmxpc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBzZXNzaW9uICdsaXN0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpzZXNzaW9uOmNyZWF0ZVwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBzZXNzaW9uICdjcmVhdGUnIGVuZHBvaW50LCBidXQgd2l0aG91dCB0aGUgYWJpbGl0eSB0byBleHRlbmQgc2Vzc2lvbiBsaWZldGltZXNcIixcbiAgXCJtYW5hZ2U6c2Vzc2lvbjpleHRlbmRcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgc2Vzc2lvbiAnY3JlYXRlJyBlbmRwb2ludCwgaW5jbHVkaW5nIHRoZSBhYmlsaXR5IHRvIGV4dGVuZCBzZXNzaW9uIGxpZmV0aW1lc1wiLFxuICBcIm1hbmFnZTpzZXNzaW9uOnJldm9rZVwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBzZXNzaW9uICdyZXZva2UnIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpleHBvcnQ6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgZXhwb3J0IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpleHBvcnQ6b3JnOipcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgb3JnLWV4cG9ydCBtYW5hZ2VtZW50IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpleHBvcnQ6b3JnOmdldFwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgb3JnLWV4cG9ydCBkb3dubG9hZCBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpleHBvcnQ6dXNlcjoqXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgdXNlci1leHBvcnQgbWFuYWdlbWVudCBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6ZXhwb3J0OnVzZXI6ZGVsZXRlXCIgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBkZWxldGluZyBhbiBleGlzdGluZyB1c2VyLWV4cG9ydCByZXF1ZXN0XCIsXG4gIFwibWFuYWdlOmV4cG9ydDp1c2VyOmxpc3RcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgbGlzdGluZyBleGlzdGluZyB1c2VyLWV4cG9ydCByZXF1ZXN0c1wiLFxuICBcIm1hbmFnZTphdXRoTWlncmF0aW9uOipcIiAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFsbCBhdXRoIG1pZ3JhdGlvbiBzY29wZXNcIixcbiAgXCJtYW5hZ2U6YXV0aE1pZ3JhdGlvbjppZGVudGl0eTphZGRcIiAgICAgICAgICAgOiBcIkFsbG93cyBhZGRpbmcgaWRlbnRpdGllcyB0byBleGlzdGluZyB1c2VycyBkdXJpbmcgYW4gYXV0aCBtaWdyYXRpb25cIixcbiAgXCJtYW5hZ2U6YXV0aE1pZ3JhdGlvbjppZGVudGl0eTpyZW1vdmVcIiAgICAgICAgOiBcIkFsbG93cyByZW1vdmluZyBpZGVudGl0aWVzIGZyb20gZXhpc3RpbmcgdXNlcnMgZHVyaW5nIGFuIGF1dGggbWlncmF0aW9uXCIsXG4gIFwibWFuYWdlOmF1dGhNaWdyYXRpb246dXNlcjp1cGRhdGVcIiAgICAgICAgICAgIDogXCJBbGxvd3MgdXBkYXRpbmcgZXhpc3RpbmcgdXNlcnMnIHByb2ZpbGVzXCIsXG4gIFwibWFuYWdlOm1taToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWxsIENSVUQgb3BlcmF0aW9ucyBvbiBNTUkgcGVuZGluZyBtZXNzYWdlc1wiLFxuICBcIm1hbmFnZTptbWk6cmVhZG9ubHlcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFsbCByZWFkb25seSBvcGVyYXRpb25zIG9uIE1NSSBwZW5kaW5nIG1lc3NhZ2VzXCIsXG4gIFwibWFuYWdlOm1taTpnZXRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgcmV0cmlldmluZyBNTUkgcGVuZGluZyBtZXNzYWdlc1wiLFxuICBcIm1hbmFnZTptbWk6bGlzdFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGxpc3RpbmcgTU1JIHBlbmRpbmcgbWVzc2FnZXNcIixcbiAgXCJtYW5hZ2U6bW1pOnJlamVjdFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyByZWplY3RpbmcgTU1JIHBlbmRpbmcgbWVzc2FnZXNcIixcbiAgXCJtYW5hZ2U6bW1pOmRlbGV0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBkZWxldGluZyBNTUkgcGVuZGluZyBtZXNzYWdlc1wiLFxuICBcImV4cG9ydDoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgZXhwb3J0IGVuZHBvaW50c1wiLFxuICBcImV4cG9ydDp1c2VyOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgdXNlci1leHBvcnQgZXhlY3V0aW9uIGVuZHBvaW50c1wiLFxuICBcImV4cG9ydDp1c2VyOmluaXRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGluaXRpYXRpbmcgYSBuZXcgdXNlci1leHBvcnQgcmVxdWVzdFwiLFxuICBcImV4cG9ydDp1c2VyOmNvbXBsZXRlXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGNvbXBsZXRpbmcgYW4gZXhpc3RpbmcgdXNlci1leHBvcnQgcmVxdWVzdFwiLFxuICBcIm1taToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGNhbGxzIHRvIHRoZSBNTUkgZW5kcG9pbnRcIixcbiAgXCJvcmdBY2Nlc3M6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gY2VydGFpbiBvcmdzIG90aGVyIHRoYW4gdGhlIGN1cnJlbnQgc2Vzc2lvbidzXCIsXG4gIFwib3JnQWNjZXNzOmNoaWxkOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYSBzZXNzaW9uIHRvIGJlIHVzZWQgZm9yIGFjY2VzcyB0byBvcmdzIHRyYW5zaXRpdmVseSBwYXJlbnRlZCBieSB0aGUgc2Vzc2lvbidzIG9yZy5cIixcbn07XG5cbi8vIENvbnN0IGZvciBzY29wZSBjYXRlZ29yeSBsYWJlbHNcbmNvbnN0IENBVEVHT1JZX0xBQkVMUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgc2lnbjogXCJTaWduXCIsXG4gIG1hbmFnZTogXCJNYW5hZ2VcIixcbiAgZXhwb3J0OiBcIkV4cG9ydFwiLFxuICBtbWk6IFwiTU1JXCIsXG4gIG9yZ0FjY2VzczogXCJPcmcgQWNjZXNzXCIsXG59O1xuXG4vKipcbiAqIEZpbmRzIHRoZSBwYXJlbnQgc2NvcGUgZm9yIGEgZ2l2ZW4gc2NvcGUuXG4gKiBBIHBhcmVudCBpcyBhIHNjb3BlIGVuZGluZyB3aXRoICcqJyB0aGF0IGlzIGEgcHJlZml4IG9mIHRoZSBjdXJyZW50IHNjb3BlLlxuICogUmV0dXJucyB0aGUgbG9uZ2VzdCBtYXRjaGluZyBwYXJlbnQgKGNsb3Nlc3QgYW5jZXN0b3IpLCBleGNsdWRpbmcgdGhlIHNjb3BlIGl0c2VsZi5cbiAqXG4gKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIHRvIGZpbmQgdGhlIHBhcmVudCBmb3IuXG4gKiBAcGFyYW0gYWxsU2NvcGVzIFRoZSBsaXN0IG9mIGFsbCBzY29wZXMuXG4gKiBAcmV0dXJucyBUaGUgcGFyZW50IHNjb3BlIG9yIG51bGwgaWYgbm8gcGFyZW50IGlzIGZvdW5kLlxuICovXG5mdW5jdGlvbiBmaW5kUGFyZW50KHNjb3BlOiBFeHBsaWNpdFNjb3BlLCBhbGxTY29wZXM6IEV4cGxpY2l0U2NvcGVbXSk6IEV4cGxpY2l0U2NvcGUgfCBudWxsIHtcbiAgbGV0IHBhcmVudDogRXhwbGljaXRTY29wZSB8IG51bGwgPSBudWxsO1xuICBsZXQgbWF4TGVuZ3RoID0gMDtcblxuICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBhbGxTY29wZXMpIHtcbiAgICAvLyBTa2lwIHRoZSBzY29wZSBpdHNlbGZcbiAgICBpZiAoY2FuZGlkYXRlID09PSBzY29wZSkgY29udGludWU7XG5cbiAgICBpZiAoY2FuZGlkYXRlLmVuZHNXaXRoKFwiKlwiKSAmJiBzY29wZS5zdGFydHNXaXRoKGNhbmRpZGF0ZS5zbGljZSgwLCAtMSkpKSB7XG4gICAgICAvLyBQcmVmZXIgdGhlIGxvbmdlc3QgbWF0Y2hpbmcgcGFyZW50IChjbG9zZXN0IGFuY2VzdG9yKVxuICAgICAgaWYgKGNhbmRpZGF0ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgICAgcGFyZW50ID0gY2FuZGlkYXRlO1xuICAgICAgICBtYXhMZW5ndGggPSBjYW5kaWRhdGUubGVuZ3RoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXJlbnQ7XG59XG5cbi8qKlxuICogQ29tcHV0ZXMgdGhlIHNjb3BlcyBkaWN0aW9uYXJ5IGZyb20gQWxsU2NvcGVzLlxuICpcbiAqIEByZXR1cm5zIFRoZSBjb21wbGV0ZSBkaWN0aW9uYXJ5IG9mIGFsbCBhdmFpbGFibGUgc2NvcGVzIG9yZ2FuaXplZCBieSBjYXRlZ29yeS5cbiAqL1xuZnVuY3Rpb24gY29tcHV0ZVNjb3Blc0RpY3Rpb25hcnkoKTogU2NvcGVzRGljdGlvbmFyeSB7XG4gIGNvbnN0IGFsbFNjb3BlcyA9IE9iamVjdC5rZXlzKEFsbFNjb3BlcykgYXMgRXhwbGljaXRTY29wZVtdO1xuICBjb25zdCBpdGVtcyA9IG5ldyBNYXA8RXhwbGljaXRTY29wZSwgU2NvcGVJdGVtPigpO1xuICBjb25zdCByZXN1bHQ6IFNjb3Blc0RpY3Rpb25hcnkgPSB7fTtcblxuICAvLyBGaXJzdCBwYXNzOiBjcmVhdGUgYWxsIGl0ZW1zXG4gIGZvciAoY29uc3Qgc2NvcGUgb2YgYWxsU2NvcGVzKSB7XG4gICAgY29uc3QgY2F0ZWdvcnkgPSBzY29wZS5zcGxpdChcIjpcIilbMF07XG4gICAgaWYgKCFyZXN1bHRbY2F0ZWdvcnldKSB7XG4gICAgICByZXN1bHRbY2F0ZWdvcnldID0geyBsYWJlbDogQ0FURUdPUllfTEFCRUxTW2NhdGVnb3J5XSB8fCBjYXRlZ29yeSwgc2NvcGVzOiBbXSB9O1xuICAgIH1cblxuICAgIGl0ZW1zLnNldChzY29wZSwge1xuICAgICAgdmFsdWU6IHNjb3BlLFxuICAgICAgZGVzY3JpcHRpb246IEFsbFNjb3Blc1tzY29wZV0sXG4gICAgICBjaGlsZHJlbjogW10sXG4gICAgfSk7XG4gIH1cblxuICAvLyBTZWNvbmQgcGFzczogYnVpbGQgcGFyZW50LWNoaWxkIHJlbGF0aW9uc2hpcHNcbiAgZm9yIChjb25zdCBzY29wZSBvZiBhbGxTY29wZXMpIHtcbiAgICBjb25zdCBjYXRlZ29yeSA9IHNjb3BlLnNwbGl0KFwiOlwiKVswXTtcbiAgICBjb25zdCBpdGVtID0gaXRlbXMuZ2V0KHNjb3BlKSE7XG4gICAgY29uc3QgcGFyZW50U2NvcGUgPSBmaW5kUGFyZW50KHNjb3BlLCBhbGxTY29wZXMpO1xuXG4gICAgaWYgKHBhcmVudFNjb3BlICYmIHBhcmVudFNjb3BlICE9PSBzY29wZSkge1xuICAgICAgaXRlbXMuZ2V0KHBhcmVudFNjb3BlKSEuY2hpbGRyZW4hLnB1c2goaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdFtjYXRlZ29yeV0uc2NvcGVzLnB1c2goaXRlbSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU29ydCByb290czogd2lsZGNhcmRzIGZpcnN0XG4gIGZvciAoY29uc3QgY2F0ZWdvcnkgb2YgT2JqZWN0LnZhbHVlcyhyZXN1bHQpKSB7XG4gICAgY2F0ZWdvcnkuc2NvcGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGlmIChhLnZhbHVlLmVuZHNXaXRoKFwiKlwiKSAmJiAhYi52YWx1ZS5lbmRzV2l0aChcIipcIikpIHJldHVybiAtMTtcbiAgICAgIGlmICghYS52YWx1ZS5lbmRzV2l0aChcIipcIikgJiYgYi52YWx1ZS5lbmRzV2l0aChcIipcIikpIHJldHVybiAxO1xuICAgICAgcmV0dXJuIGEudmFsdWUubG9jYWxlQ29tcGFyZShiLnZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ29tcGxldGUgZGljdGlvbmFyeSBvZiBhbGwgYXZhaWxhYmxlIHNjb3BlcyBvcmdhbml6ZWQgYnkgY2F0ZWdvcnkuXG4gKlxuICogVGhpcyBkaWN0aW9uYXJ5IGlzIGF1dG9tYXRpY2FsbHkgY29tcHV0ZWQgZnJvbSB7QGxpbmsgQWxsU2NvcGVzfSBieSBpbmZlcnJpbmdcbiAqIHRoZSBoaWVyYXJjaHkgZnJvbSBzY29wZSBuYW1lcy4gQSBzY29wZSdzIHBhcmVudCBpcyBkZXRlcm1pbmVkIGJ5IGZpbmRpbmcgYVxuICogc2NvcGUgZW5kaW5nIHdpdGggJyonIHRoYXQgaXMgYSBwcmVmaXggb2YgdGhlIGN1cnJlbnQgc2NvcGUuXG4gKlxuICogVGhlIGRpY3Rpb25hcnkgaXMgb3JnYW5pemVkIGludG8gdGhlIGZvbGxvd2luZyBjYXRlZ29yaWVzOlxuICogLSBgc2lnbmA6IFNjb3BlcyBmb3Igc2lnbmluZyBvcGVyYXRpb25zIChibG9iLCB0cmFuc2FjdGlvbnMsIGV0Yy4pXG4gKiAtIGBtYW5hZ2VgOiBTY29wZXMgZm9yIG1hbmFnZW1lbnQgb3BlcmF0aW9ucyAoa2V5cywgcm9sZXMsIHBvbGljaWVzLCBldGMuKVxuICogLSBgZXhwb3J0YDogU2NvcGVzIGZvciBleHBvcnQgb3BlcmF0aW9uc1xuICogLSBgbW1pYDogU2NvcGVzIGZvciBNZXRhTWFzayBJbnRlZ3JhdGlvblxuICogLSBgb3JnQWNjZXNzYDogU2NvcGVzIGZvciBjcm9zcy1vcmdhbml6YXRpb24gYWNjZXNzXG4gKlxuICogVGhpcyBkaWN0aW9uYXJ5IHNlcnZlcyBhcyB0aGUgc291cmNlIG9mIHRydXRoIGZvciBzY29wZSBkZWZpbml0aW9ucyBhbmQgaXMgdXNlZFxuICogdG8gZ2VuZXJhdGUgc2NvcGVzIGZvciByb2xlIGFuZCB1c2VyIHNlc3Npb25zLiBJdCBpcyBhbHNvIHJlZmVyZW5jZWQgYnlcbiAqIHtAbGluayByb2xlU2NvcGVzRGljdGlvbmFyeX0gYW5kIHtAbGluayB1c2VyU2NvcGVzRGljdGlvbmFyeX0gd2hpY2ggcHJvdmlkZVxuICogZmlsdGVyZWQgc3Vic2V0cyBvZiB0aGVzZSBzY29wZXMuXG4gKlxuICogQHNlZSB7QGxpbmsgQWxsU2NvcGVzfSAtIFRoZSBzb3VyY2UgcmVjb3JkIGNvbnRhaW5pbmcgc2NvcGUgZGVzY3JpcHRpb25zXG4gKiBAc2VlIHtAbGluayByb2xlU2NvcGVzRGljdGlvbmFyeX0gLSBSZXN0cmljdGVkIHNjb3BlcyBmb3Igcm9sZSBzZXNzaW9uc1xuICogQHNlZSB7QGxpbmsgdXNlclNjb3Blc0RpY3Rpb25hcnl9IC0gUmVzdHJpY3RlZCBzY29wZXMgZm9yIHVzZXIgc2Vzc2lvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IGFsbFNjb3Blc0RpY3Rpb25hcnk6IFNjb3Blc0RpY3Rpb25hcnkgPSBjb21wdXRlU2NvcGVzRGljdGlvbmFyeSgpO1xuXG4vKipcbiAqIFJlc3RyaWN0ZWQgc2NvcGVzIGRpY3Rpb25hcnkgZm9yIHJvbGUtYmFzZWQgc2Vzc2lvbiBnZW5lcmF0aW9uLlxuICogQ29udGFpbnMgb25seSB0aGUgc2NvcGVzIHRoYXQgYXJlIGFsbG93ZWQgZm9yIHJvbGUgc2Vzc2lvbnMuXG4gKi9cbmV4cG9ydCBjb25zdCByb2xlU2NvcGVzRGljdGlvbmFyeSA9IHtcbiAgc2lnbjogYWxsU2NvcGVzRGljdGlvbmFyeS5zaWduLFxuICBtbWk6IGFsbFNjb3Blc0RpY3Rpb25hcnkubW1pLFxuICBtYW5hZ2U6IHtcbiAgICBsYWJlbDogXCJNYW5hZ2VcIixcbiAgICBzY29wZXM6IFtcbiAgICAgIC8vIEZpbmQgYW5kIGluY2x1ZGUgbWFuYWdlOm1taToqXG4gICAgICAoYWxsU2NvcGVzRGljdGlvbmFyeS5tYW5hZ2Uuc2NvcGVzIGFzIFNjb3BlSXRlbVtdKVxuICAgICAgICAuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6KlwiKSFcbiAgICAgICAgLmNoaWxkcmVuIS5maW5kKChzKSA9PiBzLnZhbHVlID09PSBcIm1hbmFnZTptbWk6KlwiKSEsXG4gICAgICAvLyBGaW5kIGFuZCBpbmNsdWRlIG1hbmFnZTptZmE6bGlzdFxuICAgICAgKGFsbFNjb3Blc0RpY3Rpb25hcnkubWFuYWdlLnNjb3BlcyBhcyBTY29wZUl0ZW1bXSlcbiAgICAgICAgLmZpbmQoKHMpID0+IHMudmFsdWUgPT09IFwibWFuYWdlOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6bWZhOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6bWZhOmxpc3RcIikhLFxuICAgICAgLy8gRmluZCBhbmQgaW5jbHVkZSBtYW5hZ2U6a2V5OmdldFxuICAgICAgKGFsbFNjb3Blc0RpY3Rpb25hcnkubWFuYWdlLnNjb3BlcyBhcyBTY29wZUl0ZW1bXSlcbiAgICAgICAgLmZpbmQoKHMpID0+IHMudmFsdWUgPT09IFwibWFuYWdlOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5OipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5OmdldFwiKSEsXG4gICAgICAvLyBGaW5kIGFuZCBpbmNsdWRlIG1hbmFnZTprZXk6bGlzdFxuICAgICAgKGFsbFNjb3Blc0RpY3Rpb25hcnkubWFuYWdlLnNjb3BlcyBhcyBTY29wZUl0ZW1bXSlcbiAgICAgICAgLmZpbmQoKHMpID0+IHMudmFsdWUgPT09IFwibWFuYWdlOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5OipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5Omxpc3RcIikhLFxuICAgIF0sXG4gIH0sXG59IHNhdGlzZmllcyBTY29wZXNEaWN0aW9uYXJ5O1xuXG4vKipcbiAqIFJlc3RyaWN0ZWQgc2NvcGVzIGRpY3Rpb25hcnkgZm9yIHVzZXIgc2Vzc2lvbiBnZW5lcmF0aW9uLlxuICogRXhjbHVkZXMgc2NvcGVzIHRoYXQgcmVxdWlyZSBlbGV2YXRlZCBwZXJtaXNzaW9ucyAob3JnQWNjZXNzLCBleHBvcnQpLlxuICovXG5leHBvcnQgY29uc3QgdXNlclNjb3Blc0RpY3Rpb25hcnkgPSB7XG4gIG1hbmFnZTogYWxsU2NvcGVzRGljdGlvbmFyeS5tYW5hZ2UsXG4gIHNpZ246IGFsbFNjb3Blc0RpY3Rpb25hcnkuc2lnbixcbiAgbW1pOiBhbGxTY29wZXNEaWN0aW9uYXJ5Lm1taSxcbn07XG4iXX0=
|
|
333
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Njb3Blcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0NBQWdDOzs7QUFZaEMsbURBQW1EO0FBQ3RDLFFBQUEsU0FBUztBQUNwQixrQkFBa0I7QUFDbEI7SUFDQSxRQUFRLEVBQXdDLHVHQUF1RztJQUN2SixVQUFVLEVBQXNDLDBDQUEwQztJQUMxRixXQUFXLEVBQXFDLDJDQUEyQztJQUMzRixvQkFBb0IsRUFBNEIsd0pBQXdKO0lBQ3hNLFlBQVksRUFBb0Msb0NBQW9DO0lBQ3BGLGlCQUFpQixFQUErQiwrREFBK0Q7SUFDL0csa0JBQWtCLEVBQThCLGdFQUFnRTtJQUNoSCxpQkFBaUIsRUFBK0IsNkRBQTZEO0lBQzdHLG9CQUFvQixFQUE0QiwwREFBMEQ7SUFDMUcsc0JBQXNCLEVBQTBCLDREQUE0RDtJQUM1RyxzQkFBc0IsRUFBMEIsNERBQTREO0lBQzVHLHVCQUF1QixFQUF5Qiw2REFBNkQ7SUFDN0cseUJBQXlCLEVBQXVCLHFFQUFxRTtJQUNySCxvQkFBb0IsRUFBNEIsb0VBQW9FO0lBQ3BILHlCQUF5QixFQUF1QixtRUFBbUU7SUFDbkgseUJBQXlCLEVBQXVCLG1FQUFtRTtJQUNuSCxnQkFBZ0IsRUFBZ0Msd0NBQXdDO0lBQ3hGLHFCQUFxQixFQUEyQiw2Q0FBNkM7SUFDN0YsMEJBQTBCLEVBQXNCLHFEQUFxRDtJQUNyRyx3QkFBd0IsRUFBd0IsNENBQTRDO0lBQzVGLHdCQUF3QixFQUF3QiwwRUFBMEU7SUFDMUgsOEJBQThCLEVBQWtCLDREQUE0RDtJQUM1Ryw2QkFBNkIsRUFBbUIsNkRBQTZEO0lBQzdHLCtCQUErQixFQUFpQiwrREFBK0Q7SUFDL0csNEJBQTRCLEVBQW9CLDJFQUEyRTtJQUMzSCwyQkFBMkIsRUFBcUIsZ0VBQWdFO0lBQ2hILHVCQUF1QixFQUF5QixvRUFBb0U7SUFDcEgsWUFBWSxFQUFvQywyQ0FBMkM7SUFDM0YsYUFBYSxFQUFt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QUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUU7aUJBQ3BDLFFBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssY0FBYyxDQUFFO2lCQUNsRCxRQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLGlCQUFpQixDQUFFO1NBQ3pEO0tBQ0Y7Q0FDeUIsQ0FBQztBQUU3Qjs7O0dBR0c7QUFDVSxRQUFBLG9CQUFvQixHQUFHO0lBQ2xDLE1BQU0sRUFBRSwyQkFBbUIsQ0FBQyxNQUFNO0lBQ2xDLElBQUksRUFBRSwyQkFBbUIsQ0FBQyxJQUFJO0lBQzlCLEdBQUcsRUFBRSwyQkFBbUIsQ0FBQyxHQUFHO0NBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZSBzcGFjZWQtY29tbWVudFxuXG5pbXBvcnQgeyB0eXBlIEV4cGxpY2l0U2NvcGUgfSBmcm9tIFwiLlwiO1xuXG5leHBvcnQgdHlwZSBTY29wZXNEaWN0aW9uYXJ5ID0gUmVjb3JkPHN0cmluZywgeyBsYWJlbDogc3RyaW5nOyBzY29wZXM6IFNjb3BlSXRlbVtdIH0+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjb3BlSXRlbSB7XG4gIHZhbHVlOiBFeHBsaWNpdFNjb3BlO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBjaGlsZHJlbj86IFNjb3BlSXRlbVtdO1xufVxuXG4vKiogTWFwcGluZyBmcm9tIHNjb3BlIG5hbWUgdG8gc2NvcGUgZGVzY3JpcHRpb24gKi9cbmV4cG9ydCBjb25zdCBBbGxTY29wZXM6IFJlY29yZDxFeHBsaWNpdFNjb3BlLCBzdHJpbmc+ID1cbiAgLy8gcHJldHRpZXItaWdub3JlXG4gIHtcbiAgXCJzaWduOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHNpZ25lciBlbmRwb2ludHMgKGUuZy4sIHNpZ24gYmxvYiwgc2lnbiBiaXRjb2luL2F2YWxhbmNoZS9ldm0gdHJhbnNhY3Rpb24sIGV0Yy4pXCIsXG4gIFwic2lnbjphdmFcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduICdhdmEnIGVuZHBvaW50XCIsXG4gIFwic2lnbjpibG9iXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduICdibG9iJyBlbmRwb2ludFwiLFxuICBcInNpZ246ZGlmZmllSGVsbG1hblwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgRGlmZmllLUhlbGxtYW4gZW5kcG9pbnQuIFRoaXMgaXMgbm90IHJlYWxseSBzaWduaW5nLCBidXQgd2UgcHV0IGl0IHVuZGVyIHRoZSBgc2lnbmAgaGllcmFyY2h5IGJlY2F1c2UgaXQgaXMgY29uY2VwdHVhbGx5IHNpbWlsYXIuXCIsXG4gIFwic2lnbjpidGM6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBCVEMgZW5kcG9pbnRzXCIsXG4gIFwic2lnbjpidGM6c2Vnd2l0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBzZWd3aXQgdHJhbnNhY3Rpb25zXCIsXG4gIFwic2lnbjpidGM6dGFwcm9vdFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciB0YXByb290IHRyYW5zYWN0aW9uc1wiLFxuICBcInNpZ246YnRjOnBzYnQ6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgUFNCVCBzaWduaW5nIGVuZHBvaW50IGZvciBhbnkga2V5IHR5cGVcIixcbiAgXCJzaWduOmJ0Yzpwc2J0OmRvZ2VcIiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIFBTQlQgc2lnbmluZyBlbmRwb2ludCBmb3IgRG9nZSBrZXlzXCIsXG4gIFwic2lnbjpidGM6cHNidDpsZWdhY3lcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBQU0JUIHNpZ25pbmcgZW5kcG9pbnQgZm9yIGxlZ2FjeSBrZXlzXCIsXG4gIFwic2lnbjpidGM6cHNidDpzZWd3aXRcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBQU0JUIHNpZ25pbmcgZW5kcG9pbnQgZm9yIHNlZ3dpdCBrZXlzXCIsXG4gIFwic2lnbjpidGM6cHNidDp0YXByb290XCIgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBQU0JUIHNpZ25pbmcgZW5kcG9pbnQgZm9yIHRhcHJvb3Qga2V5c1wiLFxuICBcInNpZ246YnRjOnBzYnQ6bHRjU2Vnd2l0XCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgUFNCVCBzaWduaW5nIGVuZHBvaW50IGZvciBMaXRlY29pbiBzZWd3aXQga2V5c1wiLFxuICBcInNpZ246YnRjOm1lc3NhZ2U6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgQlRDIG1lc3NhZ2Ugc2lnbmluZyBlbmRwb2ludCBmb3IgYW55IGtleSB0eXBlXCIsXG4gIFwic2lnbjpidGM6bWVzc2FnZTpzZWd3aXRcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBCVEMgbWVzc2FnZSBzaWduaW5nIGVuZHBvaW50IGZvciBzZWd3aXQga2V5c1wiLFxuICBcInNpZ246YnRjOm1lc3NhZ2U6bGVnYWN5XCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgQlRDIG1lc3NhZ2Ugc2lnbmluZyBlbmRwb2ludCBmb3IgbGVnYWN5IGtleXNcIixcbiAgXCJzaWduOmJhYnlsb246KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIEJhYnlsb24gZW5kcG9pbnRzXCIsXG4gIFwic2lnbjpiYWJ5bG9uOmVvdHM6KlwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBCYWJ5bG9uIEVPVFMgZW5kcG9pbnRzXCIsXG4gIFwic2lnbjpiYWJ5bG9uOmVvdHM6bm9uY2VzXCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBFT1RTIG5vbmNlIGdlbmVyYXRpb24gZW5kcG9pbnRcIixcbiAgXCJzaWduOmJhYnlsb246ZW90czpzaWduXCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIEVPVFMgc2lnbmluZyBlbmRwb2ludFwiLFxuICBcInNpZ246YmFieWxvbjpzdGFraW5nOipcIiAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbmluZyBlbmRwb2ludCBmb3IgYWxsIEJhYnlsb24gc3Rha2luZyBvcGVyYXRpb25zXCIsXG4gIFwic2lnbjpiYWJ5bG9uOnN0YWtpbmc6ZGVwb3NpdFwiICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBCYWJ5bG9uIGRlcG9zaXRzXCIsXG4gIFwic2lnbjpiYWJ5bG9uOnN0YWtpbmc6dW5ib25kXCIgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduaW5nIGVuZHBvaW50IGZvciBCYWJ5bG9uIHVuYm9uZGluZ1wiLFxuICBcInNpZ246YmFieWxvbjpzdGFraW5nOndpdGhkcmF3XCIgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbmluZyBlbmRwb2ludCBmb3IgQmFieWxvbiB3aXRoZHJhd2Fsc1wiLFxuICBcInNpZ246YmFieWxvbjpzdGFraW5nOnNsYXNoXCIgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbmluZyBlbmRwb2ludCBmb3IgQmFieWxvbiBzbGFzaGluZyBwcmUtc2lnbmF0dXJlc1wiLFxuICBcInNpZ246YmFieWxvbjpyZWdpc3RyYXRpb25cIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbmluZyBlbmRwb2ludCBmb3IgQmFieWxvbiByZWdpc3RyYXRpb25cIixcbiAgXCJzaWduOmJhYnlsb246Y292ZW5hbnRcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIEJhYnlsb24gY292ZW5hbnQgc2lnbmluZ1wiLFxuICBcInNpZ246ZXZtOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgc2lnbiAnZXZtJyBlbmRwb2ludHNcIixcbiAgXCJzaWduOmV2bTp0eFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIGV2bSB0cmFuc2FjdGlvbnNcIixcbiAgXCJzaWduOmV2bTplaXAxOTFcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIEVJUC0xOTEgcGVyc29uYWxfbWVzc2FnZSBkYXRhXCIsXG4gIFwic2lnbjpldm06ZWlwNzEyXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNlc3MgdG8gdGhlIHNpZ25pbmcgZW5kcG9pbnQgZm9yIEVJUC03MTIgdHlwZWQgZGF0YVwiLFxuICBcInNpZ246ZXRoMjoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgc2lnbiAnZXRoMicgZW5kcG9pbnRzXCIsXG4gIFwic2lnbjpldGgyOnZhbGlkYXRlXCIgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduIGV0aDIgJ3ZhbGlkYXRlJyBlbmRwb2ludFwiLFxuICBcInNpZ246ZXRoMjpzdGFrZVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgc2lnbiBldGgyICdzdGFrZScgZW5kcG9pbnRcIixcbiAgXCJzaWduOmV0aDI6dW5zdGFrZVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ24gZXRoMiAndW5zdGFrZScgZW5kcG9pbnRcIixcbiAgXCJzaWduOnNvbGFuYVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ24gJ3NvbGFuYScgZW5kcG9pbnRcIixcbiAgXCJzaWduOnN1aVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ24gJ3N1aScgZW5kcG9pbnRcIixcbiAgXCJzaWduOnRlbmRlcm1pbnRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNpZ24gJ3RlbmRlcm1pbnQnIGVuZHBvaW50XCIsXG4gIFwic2lnbjptbWlcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBzaWduICdtbWknIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBtYW5hZ2VtZW50IGVuZHBvaW50cyAoZS5nLiwgY3JlYXRlIHJvbGUsIGNyZWF0ZSBrZXksIGFkZCBrZXkgdG8gcm9sZSwgZXRjLilcIixcbiAgXCJtYW5hZ2U6cmVhZG9ubHlcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIG1hbmFnZW1lbnQgcmVhZG9ubHkgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOmVtYWlsXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGVtYWlsIG1hbmFnZW1lbnQgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOm1mYToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gTUZBIGVuZHBvaW50cyAoZS5nLiwgZ2V0L2FwcHJvdmUgZXhpc3RpbmcgTUZBIHJlcXVlc3QpXCIsXG4gIFwibWFuYWdlOm1mYTpyZWFkb25seVwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gTUZBIHJlYWRvbmx5IGVuZHBvaW50cyAoZS5nLiwgZ2V0L2xpc3QgZXhpc3RpbmcgTUZBIHJlcXVlc3QocykpXCIsXG4gIFwibWFuYWdlOm1mYTpsaXN0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIE1GQSBsaXN0IGVuZHBvaW50IChsaXN0IGV4aXN0aW5nIE1GQSByZXF1ZXN0cylcIixcbiAgXCJtYW5hZ2U6bWZhOnZvdGU6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIE1GQSB2b3RlIGVuZHBvaW50cyAodm90ZSB1c2luZyBjdXJyZW50IEN1YmVTaWduZXIgc2Vzc2lvbiwgVE9UUCwgb3IgRklETylcIixcbiAgXCJtYW5hZ2U6bWZhOnZvdGU6Y3NcIiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICd2b3RlIHdpdGggQ3ViZVNpZ25lcicgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOnZvdGU6ZW1haWxcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICd2b3RlIHdpdGggZW1haWwnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm1mYTp2b3RlOmZpZG9cIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIE1GQSAndm90ZSB3aXRoIFRPVFAnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm1mYTp2b3RlOnRvdHBcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIE1GQSAndm90ZSB3aXRoIEZJRE8nIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm1mYTpyZWdpc3RlcjoqXCIgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBNRkEgcmVnaXN0ZXIgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOm1mYTpyZWdpc3RlcjpmaWRvXCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIE1GQSAncmVnaXN0ZXIgVE9UUCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6bWZhOnJlZ2lzdGVyOnRvdHBcIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgTUZBICdyZWdpc3RlciBGSURPJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTptZmE6cmVnaXN0ZXI6ZW1haWxcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBNRkEgJ3JlZ2lzdGVyIHZlcmlmaWVkIGVtYWlsJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTptZmE6dW5yZWdpc3RlcjoqXCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgTUZBIHVucmVnaXN0ZXIgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOm1mYTp1bnJlZ2lzdGVyOmZpZG9cIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIE1GQSAnZGVsZXRlIFRPVFAnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm1mYTp1bnJlZ2lzdGVyOnRvdHBcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIE1GQSAnZGVsZXRlIEZJRE8nIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm1mYTp2ZXJpZnk6KlwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBNRkEgdmVyaWZ5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTptZmE6dmVyaWZ5OnRvdHBcIiAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBNRkEgJ3ZlcmlmeSBUT1RQJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTprZXk6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwga2V5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTprZXk6cmVhZG9ubHlcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwga2V5IHJlYWRvbmx5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTprZXk6YXR0ZXN0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ2F0dGVzdCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6a2V5OmdldFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICdnZXQnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmtleTpsaXN0Um9sZXNcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAnbGlzdFJvbGVzJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTprZXk6bGlzdFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ2xpc3QnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmtleTpoaXN0b3J5OnR4Omxpc3RcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAnbGlzdF9oaXN0b3JpY2FsX3R4JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTprZXk6Y3JlYXRlXCIgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIGtleSBjcmVhdGlvbiBlbmRwb2ludHMgKGUuZy4sICdjcmVhdGUnIGFuZCAnZGVyaXZlJylcIixcbiAgXCJtYW5hZ2U6a2V5OmltcG9ydFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUga2V5ICdpbXBvcnQnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmtleTp1cGRhdGU6KlwiICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAndXBkYXRlJyBlbmRwb2ludCwgd2l0aGluIHdoaWNoIGFsbG93aW5nIGFsbCBwb3NzaWJsZSB1cGRhdGVzXCIsXG4gIFwibWFuYWdlOmtleTp1cGRhdGU6b3duZXJcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIGtleSBvd25lciBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTprZXk6dXBkYXRlOnBvbGljeVwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBrZXkgcG9saWN5IHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOmtleTp1cGRhdGU6ZW5hYmxlZFwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIGtleSBlbmFibGVkIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOmtleTp1cGRhdGU6bWV0YWRhdGFcIiAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAndXBkYXRlJyBlbmRwb2ludCBhbmQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGtleSBtZXRhZGF0YSBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTprZXk6dXBkYXRlOmVkaXRQb2xpY3lcIiAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBrZXkgJ3VwZGF0ZScgZW5kcG9pbnQgYW5kIHJlc3RyaWN0cyB1cGRhdGVzIHRvIHRoZSAnZWRpdF9wb2xpY3knIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOmtleTpkZWxldGVcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGtleSAnZGVsZXRlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpwb2xpY3k6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgcG9saWN5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpwb2xpY3k6Y3JlYXRlXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgY3JlYXRpb24gZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cG9saWN5OmdldFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5ICdnZXQnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnBvbGljeTpsaXN0XCIgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSAnbGlzdCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cG9saWN5OmRlbGV0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5IGBkZWxldGVgIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnBvbGljeTp1cGRhdGU6KlwiICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSAndXBkYXRlJyBlbmRwb2ludCwgd2l0aGluIHdoaWNoIGFsbG93aW5nIGFsbCBwb3NzaWJsZSB1cGRhdGVzXCIsXG4gIFwibWFuYWdlOnBvbGljeTp1cGRhdGU6YWNsXCIgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIHBvbGljeSBBQ0xcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnVwZGF0ZTpvd25lclwiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgcG9saWN5IG93bmVyIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOnBvbGljeTp1cGRhdGU6bmFtZVwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIHBvbGljeSBuYW1lXCIsXG4gIFwibWFuYWdlOnBvbGljeTp1cGRhdGU6ZWRpdFBvbGljeVwiICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlICdlZGl0X3BvbGljeScgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnVwZGF0ZTptZXRhZGF0YVwiICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgJ21ldGFkYXRhJyBwcm9wZXJ0eVwiLFxuICBcIm1hbmFnZTpwb2xpY3k6dXBkYXRlOnJ1bGVcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBwb2xpY3kgcnVsZSBpdHNlbGZcIixcbiAgXCJtYW5hZ2U6cG9saWN5Omludm9rZVwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5ICdpbnZva2UnIGVuZHBvaW50LlwiLFxuICBcIm1hbmFnZTpwb2xpY3k6d2FzbToqXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgd2FzbSBwb2xpY3kgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOnBvbGljeTp3YXNtOnVwbG9hZFwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHdhc20gcG9saWN5ICd1cGxvYWQnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnBvbGljeTpzZWNyZXRzOipcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBwb2xpY3kgc2VjcmV0cyBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnNlY3JldHM6Z2V0XCIgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5IHNlY3JldHMgJ2dldCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnNlY3JldHM6dXBkYXRlOipcIiAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHBvbGljeSBzZWNyZXRzICd1cGRhdGUnIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpwb2xpY3k6c2VjcmV0czp1cGRhdGU6dmFsdWVzXCIgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBwb2xpY3kgc2VjcmV0cyAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIHNlY3JldHMga2V5cyBhbmQgdmFsdWVzXCIsXG4gIFwibWFuYWdlOnBvbGljeTpzZWNyZXRzOnVwZGF0ZTphY2xcIiAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBzZWNyZXRzICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RpbmcgdXBkYXRlcyB0byB0aGUgc2VjcmV0cyBhY2xcIixcbiAgXCJtYW5hZ2U6cG9saWN5OnNlY3JldHM6dXBkYXRlOmVkaXRQb2xpY3lcIiAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcG9saWN5IHNlY3JldHMgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSBgZWRpdF9wb2xpY3lgIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOmNvbnRhY3Q6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBjb250YWN0IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpjb250YWN0OmNyZWF0ZVwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgY29udGFjdCAnY3JlYXRlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpjb250YWN0OmdldFwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgY29udGFjdCBgZ2V0YCBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpjb250YWN0Omxpc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgY29udGFjdCBgbGlzdGAgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6Y29udGFjdDpkZWxldGVcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIGNvbnRhY3QgYGRlbGV0ZWAgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6Y29udGFjdDp1cGRhdGU6KlwiICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgY29udGFjdCAndXBkYXRlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTpuYW1lXCIgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnbmFtZScgZmllbGQuXCIsXG4gIFwibWFuYWdlOmNvbnRhY3Q6dXBkYXRlOmFkZHJlc3Nlc1wiICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIGNvbnRhY3QgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdHMgdXBkYXRlcyB0byB0aGUgY29udGFjdCdzICdhZGRyZXNzZXMnIGZpZWxkLlwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTpvd25lclwiICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnb3duZXInIGZpZWxkLlwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTptZXRhZGF0YVwiICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnbWV0YWRhdGEnIGZpZWxkLlwiLFxuICBcIm1hbmFnZTpjb250YWN0OnVwZGF0ZTplZGl0UG9saWN5XCIgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBjb250YWN0ICd1cGRhdGUnIGVuZHBvaW50LCBidXQgcmVzdHJpY3RzIHVwZGF0ZXMgdG8gdGhlIGNvbnRhY3QncyAnZWRpdF9wb2xpY3knIGZpZWxkLlwiLFxuICBcIm1hbmFnZTpjb250YWN0Omxvb2t1cDoqXCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgY29udGFjdCBgbG9va3VwYCBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6Y29udGFjdDpsb29rdXA6YWRkcmVzc1wiICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgY29udGFjdCAnbG9va3VwIGJ5IGFkZHJlc3MnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnBvbGljeTpjcmVhdGVJbXBvcnRLZXlcIiAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHBvbGljeSBrZXkgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHJvbGUgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOnJvbGU6cmVhZG9ubHlcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCByb2xlIHJlYWRvbmx5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpyb2xlOmNyZWF0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSByb2xlICdjcmVhdGUnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnJvbGU6ZGVsZXRlXCIgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ2RlbGV0ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTpnZXQ6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcm9sZSAnZ2V0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOmdldDprZXlzXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAnbGlzdCBrZXlzJyBhbmQgJ2dldCBrZXknIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpyb2xlOmdldDprZXlzOmxpc3RcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAnbGlzdCBrZXlzJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOmdldDprZXlzOmdldFwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAnZ2V0IGtleScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTpnZXQ6dXNlcnNcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHJvbGUgJ2xpc3QgdXNlcnMnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnJvbGU6bGlzdFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ2xpc3QnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOnJvbGU6dXBkYXRlOipcIiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ3VwZGF0ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6ZW5hYmxlZFwiICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgcm9sZSAndXBkYXRlJyBlbmRwb2ludCwgYnV0IHJlc3RyaWN0aW5nIHVwZGF0ZXMgdG8gdGhlIHJvbGUgJ2VuYWJsZWQnIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOnJvbGU6dXBkYXRlOnBvbGljeVwiICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSByb2xlICdwb2xpY3knIHByb3BlcnR5XCIsXG4gIFwibWFuYWdlOnJvbGU6dXBkYXRlOmVkaXRQb2xpY3lcIiAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIG9ubHkgdG8gdGhlIHJvbGUgJ3VwZGF0ZScgZW5kcG9pbnQsIGJ1dCByZXN0cmljdGluZyB1cGRhdGVzIHRvIHRoZSByb2xlICdlZGl0X3BvbGljeScgcHJvcGVydHlcIixcbiAgXCJtYW5hZ2U6cm9sZTp1cGRhdGU6a2V5OipcIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gYWxsIHJvbGUgJ3VwZGF0ZTprZXknIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpyb2xlOnVwZGF0ZTprZXk6YWRkXCIgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAndXBkYXRlOmtleXM6YWRkJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOnVwZGF0ZTprZXk6cmVtb3ZlXCIgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAndXBkYXRlOmtleXM6cmVtb3ZlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOnVwZGF0ZTp1c2VyOipcIiAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgcm9sZSAndXBkYXRlOnVzZXInIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpyb2xlOnVwZGF0ZTp1c2VyOmFkZFwiICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAndXBkYXRlOnVzZXI6YWRkJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOnVwZGF0ZTp1c2VyOnJlbW92ZVwiICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgcm9sZSAndXBkYXRlOnVzZXI6cmVtb3ZlJyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpyb2xlOmhpc3Rvcnk6dHg6bGlzdFwiICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSByb2xlICdsaXN0X2hpc3RvcmljYWxfdHgnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOmlkZW50aXR5OipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBpZGVudGl0eSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6aWRlbnRpdHk6dmVyaWZ5XCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgaWRlbnRpdHkgJ3ZlcmlmeScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6aWRlbnRpdHk6YWRkXCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgaWRlbnRpdHkgJ2FkZCcgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6aWRlbnRpdHk6cmVtb3ZlXCIgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgaWRlbnRpdHkgJ3JlbW92ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6aWRlbnRpdHk6bGlzdFwiICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgaWRlbnRpdHkgJ2xpc3QnIGVuZHBvaW50XCIsXG4gIFwibWFuYWdlOm9yZzoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBvcmcgZW5kcG9pbnRzXCIsXG4gIFwibWFuYWdlOm9yZzpjcmVhdGVcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIHRoZSBvcmcgJ2NyZWF0ZScgZW5kcG9pbnRcIixcbiAgXCJtYW5hZ2U6b3JnOm1ldHJpY3M6cXVlcnlcIiAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gcmV0cmlldmluZyBvcmcgbWV0cmljc1wiLFxuICBcIm1hbmFnZTpvcmc6cmVhZG9ubHlcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgb3JnIHJlYWRvbmx5IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpvcmc6YWRkVXNlclwiICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnQgZm9yIGFkZGluZyBhbiBPSURDIHVzZXIgdG8gdGhlIG9yZ1wiLFxuICBcIm1hbmFnZTpvcmc6aW52aXRlVXNlclwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnQgZm9yIGludml0aW5nIGEgbmV3IG1lbWJlciBvciBvcmcgb3duZXIgdG8gdGhlIG9yZ1wiLFxuICBcIm1hbmFnZTpvcmc6aW52aXRlQWxpZW5cIiAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnQgZm9yIGludml0aW5nIGEgbmV3IGFsaWVuIHVzZXIgdG8gdGhlIG9yZ1wiLFxuICBcIm1hbmFnZTpvcmc6dXBkYXRlTWVtYmVyc2hpcFwiICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnQgZm9yIHVwZGF0aW5nIGV4aXN0aW5nIHVzZXIncyBvcmcgbWVtYmVyc2hpcFwiLFxuICBcIm1hbmFnZTpvcmc6bGlzdFVzZXJzXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnQgZm9yIGxpc3RpbmcgYWxsIG9yZyB1c2VycyAobWVtYmVycylcIixcbiAgXCJtYW5hZ2U6b3JnOnVzZXI6Z2V0XCIgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgb3JnIGVuZHBvaW50cyBmb3IgZ2V0dGluZyB1c2VycyBieSBpZCBvciBlbWFpbFwiLFxuICBcIm1hbmFnZTpvcmc6ZGVsZXRlVXNlclwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBvcmcgZW5kcG9pbnQgZm9yIGRlbGV0aW5nIGFuIE9JREMgdXNlclwiLFxuICBcIm1hbmFnZTpvcmc6Z2V0XCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byByZXRyaWV2aW5nIG9yZ2FuaXphdGlvbiBpbmZvcm1hdGlvblwiLFxuICBcIm1hbmFnZTpvcmc6dXNlcjpyZXNldE1mYVwiICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFuIG93bmVyIHRvIGluaXRpYXRlIGFuIE1GQSByZXNldCBmb3IgYSB1c2VyXCIsXG4gIFwibWFuYWdlOnNlc3Npb246KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWNjZXNzIHRvIGFsbCBzZXNzaW9uIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpzZXNzaW9uOnJlYWRvbmx5XCIgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgc2Vzc2lvbiByZWFkb25seSBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6c2Vzc2lvbjpnZXRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgc2Vzc2lvbiAnZ2V0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpzZXNzaW9uOmxpc3RcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBzZXNzaW9uICdsaXN0JyBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpzZXNzaW9uOmNyZWF0ZVwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBzZXNzaW9uICdjcmVhdGUnIGVuZHBvaW50LCBidXQgd2l0aG91dCB0aGUgYWJpbGl0eSB0byBleHRlbmQgc2Vzc2lvbiBsaWZldGltZXNcIixcbiAgXCJtYW5hZ2U6c2Vzc2lvbjpleHRlbmRcIiAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3Mgb25seSB0byB0aGUgc2Vzc2lvbiAnY3JlYXRlJyBlbmRwb2ludCwgaW5jbHVkaW5nIHRoZSBhYmlsaXR5IHRvIGV4dGVuZCBzZXNzaW9uIGxpZmV0aW1lc1wiLFxuICBcIm1hbmFnZTpzZXNzaW9uOnJldm9rZVwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyBvbmx5IHRvIHRoZSBzZXNzaW9uICdyZXZva2UnIGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpleHBvcnQ6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgZXhwb3J0IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpleHBvcnQ6b3JnOipcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgb3JnLWV4cG9ydCBtYW5hZ2VtZW50IGVuZHBvaW50c1wiLFxuICBcIm1hbmFnZTpleHBvcnQ6b3JnOmdldFwiICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byB0aGUgb3JnLWV4cG9ydCBkb3dubG9hZCBlbmRwb2ludFwiLFxuICBcIm1hbmFnZTpleHBvcnQ6dXNlcjoqXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgdXNlci1leHBvcnQgbWFuYWdlbWVudCBlbmRwb2ludHNcIixcbiAgXCJtYW5hZ2U6ZXhwb3J0OnVzZXI6ZGVsZXRlXCIgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBkZWxldGluZyBhbiBleGlzdGluZyB1c2VyLWV4cG9ydCByZXF1ZXN0XCIsXG4gIFwibWFuYWdlOmV4cG9ydDp1c2VyOmxpc3RcIiAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgbGlzdGluZyBleGlzdGluZyB1c2VyLWV4cG9ydCByZXF1ZXN0c1wiLFxuICBcIm1hbmFnZTphdXRoTWlncmF0aW9uOipcIiAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFsbCBhdXRoIG1pZ3JhdGlvbiBzY29wZXNcIixcbiAgXCJtYW5hZ2U6YXV0aE1pZ3JhdGlvbjppZGVudGl0eTphZGRcIiAgICAgICAgICAgOiBcIkFsbG93cyBhZGRpbmcgaWRlbnRpdGllcyB0byBleGlzdGluZyB1c2VycyBkdXJpbmcgYW4gYXV0aCBtaWdyYXRpb25cIixcbiAgXCJtYW5hZ2U6YXV0aE1pZ3JhdGlvbjppZGVudGl0eTpyZW1vdmVcIiAgICAgICAgOiBcIkFsbG93cyByZW1vdmluZyBpZGVudGl0aWVzIGZyb20gZXhpc3RpbmcgdXNlcnMgZHVyaW5nIGFuIGF1dGggbWlncmF0aW9uXCIsXG4gIFwibWFuYWdlOmF1dGhNaWdyYXRpb246dXNlcjp1cGRhdGVcIiAgICAgICAgICAgIDogXCJBbGxvd3MgdXBkYXRpbmcgZXhpc3RpbmcgdXNlcnMnIHByb2ZpbGVzXCIsXG4gIFwibWFuYWdlOm1taToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYWxsIENSVUQgb3BlcmF0aW9ucyBvbiBNTUkgcGVuZGluZyBtZXNzYWdlc1wiLFxuICBcIm1hbmFnZTptbWk6cmVhZG9ubHlcIiAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFsbCByZWFkb25seSBvcGVyYXRpb25zIG9uIE1NSSBwZW5kaW5nIG1lc3NhZ2VzXCIsXG4gIFwibWFuYWdlOm1taTpnZXRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgcmV0cmlldmluZyBNTUkgcGVuZGluZyBtZXNzYWdlc1wiLFxuICBcIm1hbmFnZTptbWk6bGlzdFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGxpc3RpbmcgTU1JIHBlbmRpbmcgbWVzc2FnZXNcIixcbiAgXCJtYW5hZ2U6bW1pOnJlamVjdFwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyByZWplY3RpbmcgTU1JIHBlbmRpbmcgbWVzc2FnZXNcIixcbiAgXCJtYW5hZ2U6bW1pOmRlbGV0ZVwiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBkZWxldGluZyBNTUkgcGVuZGluZyBtZXNzYWdlc1wiLFxuICBcImV4cG9ydDoqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgZXhwb3J0IGVuZHBvaW50c1wiLFxuICBcImV4cG9ydDp1c2VyOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGFjY2VzcyB0byBhbGwgdXNlci1leHBvcnQgZXhlY3V0aW9uIGVuZHBvaW50c1wiLFxuICBcImV4cG9ydDp1c2VyOmluaXRcIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGluaXRpYXRpbmcgYSBuZXcgdXNlci1leHBvcnQgcmVxdWVzdFwiLFxuICBcImV4cG9ydDp1c2VyOmNvbXBsZXRlXCIgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGNvbXBsZXRpbmcgYW4gZXhpc3RpbmcgdXNlci1leHBvcnQgcmVxdWVzdFwiLFxuICBcIm1taToqXCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiQWxsb3dzIGNhbGxzIHRvIHRoZSBNTUkgZW5kcG9pbnRcIixcbiAgXCJvcmdBY2Nlc3M6KlwiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIkFsbG93cyBhY2Nlc3MgdG8gY2VydGFpbiBvcmdzIG90aGVyIHRoYW4gdGhlIGN1cnJlbnQgc2Vzc2lvbidzXCIsXG4gIFwib3JnQWNjZXNzOmNoaWxkOipcIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJBbGxvd3MgYSBzZXNzaW9uIHRvIGJlIHVzZWQgZm9yIGFjY2VzcyB0byBvcmdzIHRyYW5zaXRpdmVseSBwYXJlbnRlZCBieSB0aGUgc2Vzc2lvbidzIG9yZy5cIixcbn07XG5cbi8vIENvbnN0IGZvciBzY29wZSBjYXRlZ29yeSBsYWJlbHNcbmNvbnN0IENBVEVHT1JZX0xBQkVMUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgc2lnbjogXCJTaWduXCIsXG4gIG1hbmFnZTogXCJNYW5hZ2VcIixcbiAgZXhwb3J0OiBcIkV4cG9ydFwiLFxuICBtbWk6IFwiTU1JXCIsXG4gIG9yZ0FjY2VzczogXCJPcmcgQWNjZXNzXCIsXG59O1xuXG4vKipcbiAqIEZpbmRzIHRoZSBwYXJlbnQgc2NvcGUgZm9yIGEgZ2l2ZW4gc2NvcGUuXG4gKiBBIHBhcmVudCBpcyBhIHNjb3BlIGVuZGluZyB3aXRoICcqJyB0aGF0IGlzIGEgcHJlZml4IG9mIHRoZSBjdXJyZW50IHNjb3BlLlxuICogUmV0dXJucyB0aGUgbG9uZ2VzdCBtYXRjaGluZyBwYXJlbnQgKGNsb3Nlc3QgYW5jZXN0b3IpLCBleGNsdWRpbmcgdGhlIHNjb3BlIGl0c2VsZi5cbiAqXG4gKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIHRvIGZpbmQgdGhlIHBhcmVudCBmb3IuXG4gKiBAcGFyYW0gYWxsU2NvcGVzIFRoZSBsaXN0IG9mIGFsbCBzY29wZXMuXG4gKiBAcmV0dXJucyBUaGUgcGFyZW50IHNjb3BlIG9yIG51bGwgaWYgbm8gcGFyZW50IGlzIGZvdW5kLlxuICovXG5mdW5jdGlvbiBmaW5kUGFyZW50KHNjb3BlOiBFeHBsaWNpdFNjb3BlLCBhbGxTY29wZXM6IEV4cGxpY2l0U2NvcGVbXSk6IEV4cGxpY2l0U2NvcGUgfCBudWxsIHtcbiAgbGV0IHBhcmVudDogRXhwbGljaXRTY29wZSB8IG51bGwgPSBudWxsO1xuICBsZXQgbWF4TGVuZ3RoID0gMDtcblxuICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBhbGxTY29wZXMpIHtcbiAgICAvLyBTa2lwIHRoZSBzY29wZSBpdHNlbGZcbiAgICBpZiAoY2FuZGlkYXRlID09PSBzY29wZSkgY29udGludWU7XG5cbiAgICBpZiAoY2FuZGlkYXRlLmVuZHNXaXRoKFwiKlwiKSAmJiBzY29wZS5zdGFydHNXaXRoKGNhbmRpZGF0ZS5zbGljZSgwLCAtMSkpKSB7XG4gICAgICAvLyBQcmVmZXIgdGhlIGxvbmdlc3QgbWF0Y2hpbmcgcGFyZW50IChjbG9zZXN0IGFuY2VzdG9yKVxuICAgICAgaWYgKGNhbmRpZGF0ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgICAgcGFyZW50ID0gY2FuZGlkYXRlO1xuICAgICAgICBtYXhMZW5ndGggPSBjYW5kaWRhdGUubGVuZ3RoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXJlbnQ7XG59XG5cbi8qKlxuICogQ29tcHV0ZXMgdGhlIHNjb3BlcyBkaWN0aW9uYXJ5IGZyb20gQWxsU2NvcGVzLlxuICpcbiAqIEByZXR1cm5zIFRoZSBjb21wbGV0ZSBkaWN0aW9uYXJ5IG9mIGFsbCBhdmFpbGFibGUgc2NvcGVzIG9yZ2FuaXplZCBieSBjYXRlZ29yeS5cbiAqL1xuZnVuY3Rpb24gY29tcHV0ZVNjb3Blc0RpY3Rpb25hcnkoKTogU2NvcGVzRGljdGlvbmFyeSB7XG4gIGNvbnN0IGFsbFNjb3BlcyA9IE9iamVjdC5rZXlzKEFsbFNjb3BlcykgYXMgRXhwbGljaXRTY29wZVtdO1xuICBjb25zdCBpdGVtcyA9IG5ldyBNYXA8RXhwbGljaXRTY29wZSwgU2NvcGVJdGVtPigpO1xuICBjb25zdCByZXN1bHQ6IFNjb3Blc0RpY3Rpb25hcnkgPSB7fTtcblxuICAvLyBGaXJzdCBwYXNzOiBjcmVhdGUgYWxsIGl0ZW1zXG4gIGZvciAoY29uc3Qgc2NvcGUgb2YgYWxsU2NvcGVzKSB7XG4gICAgY29uc3QgY2F0ZWdvcnkgPSBzY29wZS5zcGxpdChcIjpcIilbMF07XG4gICAgaWYgKCFyZXN1bHRbY2F0ZWdvcnldKSB7XG4gICAgICByZXN1bHRbY2F0ZWdvcnldID0geyBsYWJlbDogQ0FURUdPUllfTEFCRUxTW2NhdGVnb3J5XSB8fCBjYXRlZ29yeSwgc2NvcGVzOiBbXSB9O1xuICAgIH1cblxuICAgIGl0ZW1zLnNldChzY29wZSwge1xuICAgICAgdmFsdWU6IHNjb3BlLFxuICAgICAgZGVzY3JpcHRpb246IEFsbFNjb3Blc1tzY29wZV0sXG4gICAgICBjaGlsZHJlbjogW10sXG4gICAgfSk7XG4gIH1cblxuICAvLyBTZWNvbmQgcGFzczogYnVpbGQgcGFyZW50LWNoaWxkIHJlbGF0aW9uc2hpcHNcbiAgZm9yIChjb25zdCBzY29wZSBvZiBhbGxTY29wZXMpIHtcbiAgICBjb25zdCBjYXRlZ29yeSA9IHNjb3BlLnNwbGl0KFwiOlwiKVswXTtcbiAgICBjb25zdCBpdGVtID0gaXRlbXMuZ2V0KHNjb3BlKSE7XG4gICAgY29uc3QgcGFyZW50U2NvcGUgPSBmaW5kUGFyZW50KHNjb3BlLCBhbGxTY29wZXMpO1xuXG4gICAgaWYgKHBhcmVudFNjb3BlICYmIHBhcmVudFNjb3BlICE9PSBzY29wZSkge1xuICAgICAgaXRlbXMuZ2V0KHBhcmVudFNjb3BlKSEuY2hpbGRyZW4hLnB1c2goaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdFtjYXRlZ29yeV0uc2NvcGVzLnB1c2goaXRlbSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU29ydCByb290czogd2lsZGNhcmRzIGZpcnN0XG4gIGZvciAoY29uc3QgY2F0ZWdvcnkgb2YgT2JqZWN0LnZhbHVlcyhyZXN1bHQpKSB7XG4gICAgY2F0ZWdvcnkuc2NvcGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGlmIChhLnZhbHVlLmVuZHNXaXRoKFwiKlwiKSAmJiAhYi52YWx1ZS5lbmRzV2l0aChcIipcIikpIHJldHVybiAtMTtcbiAgICAgIGlmICghYS52YWx1ZS5lbmRzV2l0aChcIipcIikgJiYgYi52YWx1ZS5lbmRzV2l0aChcIipcIikpIHJldHVybiAxO1xuICAgICAgcmV0dXJuIGEudmFsdWUubG9jYWxlQ29tcGFyZShiLnZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ29tcGxldGUgZGljdGlvbmFyeSBvZiBhbGwgYXZhaWxhYmxlIHNjb3BlcyBvcmdhbml6ZWQgYnkgY2F0ZWdvcnkuXG4gKlxuICogVGhpcyBkaWN0aW9uYXJ5IGlzIGF1dG9tYXRpY2FsbHkgY29tcHV0ZWQgZnJvbSB7QGxpbmsgQWxsU2NvcGVzfSBieSBpbmZlcnJpbmdcbiAqIHRoZSBoaWVyYXJjaHkgZnJvbSBzY29wZSBuYW1lcy4gQSBzY29wZSdzIHBhcmVudCBpcyBkZXRlcm1pbmVkIGJ5IGZpbmRpbmcgYVxuICogc2NvcGUgZW5kaW5nIHdpdGggJyonIHRoYXQgaXMgYSBwcmVmaXggb2YgdGhlIGN1cnJlbnQgc2NvcGUuXG4gKlxuICogVGhlIGRpY3Rpb25hcnkgaXMgb3JnYW5pemVkIGludG8gdGhlIGZvbGxvd2luZyBjYXRlZ29yaWVzOlxuICogLSBgc2lnbmA6IFNjb3BlcyBmb3Igc2lnbmluZyBvcGVyYXRpb25zIChibG9iLCB0cmFuc2FjdGlvbnMsIGV0Yy4pXG4gKiAtIGBtYW5hZ2VgOiBTY29wZXMgZm9yIG1hbmFnZW1lbnQgb3BlcmF0aW9ucyAoa2V5cywgcm9sZXMsIHBvbGljaWVzLCBldGMuKVxuICogLSBgZXhwb3J0YDogU2NvcGVzIGZvciBleHBvcnQgb3BlcmF0aW9uc1xuICogLSBgbW1pYDogU2NvcGVzIGZvciBNZXRhTWFzayBJbnRlZ3JhdGlvblxuICogLSBgb3JnQWNjZXNzYDogU2NvcGVzIGZvciBjcm9zcy1vcmdhbml6YXRpb24gYWNjZXNzXG4gKlxuICogVGhpcyBkaWN0aW9uYXJ5IHNlcnZlcyBhcyB0aGUgc291cmNlIG9mIHRydXRoIGZvciBzY29wZSBkZWZpbml0aW9ucyBhbmQgaXMgdXNlZFxuICogdG8gZ2VuZXJhdGUgc2NvcGVzIGZvciByb2xlIGFuZCB1c2VyIHNlc3Npb25zLiBJdCBpcyBhbHNvIHJlZmVyZW5jZWQgYnlcbiAqIHtAbGluayByb2xlU2NvcGVzRGljdGlvbmFyeX0gYW5kIHtAbGluayB1c2VyU2NvcGVzRGljdGlvbmFyeX0gd2hpY2ggcHJvdmlkZVxuICogZmlsdGVyZWQgc3Vic2V0cyBvZiB0aGVzZSBzY29wZXMuXG4gKlxuICogQHNlZSB7QGxpbmsgQWxsU2NvcGVzfSAtIFRoZSBzb3VyY2UgcmVjb3JkIGNvbnRhaW5pbmcgc2NvcGUgZGVzY3JpcHRpb25zXG4gKiBAc2VlIHtAbGluayByb2xlU2NvcGVzRGljdGlvbmFyeX0gLSBSZXN0cmljdGVkIHNjb3BlcyBmb3Igcm9sZSBzZXNzaW9uc1xuICogQHNlZSB7QGxpbmsgdXNlclNjb3Blc0RpY3Rpb25hcnl9IC0gUmVzdHJpY3RlZCBzY29wZXMgZm9yIHVzZXIgc2Vzc2lvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IGFsbFNjb3Blc0RpY3Rpb25hcnk6IFNjb3Blc0RpY3Rpb25hcnkgPSBjb21wdXRlU2NvcGVzRGljdGlvbmFyeSgpO1xuXG4vKipcbiAqIFJlc3RyaWN0ZWQgc2NvcGVzIGRpY3Rpb25hcnkgZm9yIHJvbGUtYmFzZWQgc2Vzc2lvbiBnZW5lcmF0aW9uLlxuICogQ29udGFpbnMgb25seSB0aGUgc2NvcGVzIHRoYXQgYXJlIGFsbG93ZWQgZm9yIHJvbGUgc2Vzc2lvbnMuXG4gKi9cbmV4cG9ydCBjb25zdCByb2xlU2NvcGVzRGljdGlvbmFyeSA9IHtcbiAgc2lnbjogYWxsU2NvcGVzRGljdGlvbmFyeS5zaWduLFxuICBtbWk6IGFsbFNjb3Blc0RpY3Rpb25hcnkubW1pLFxuICBtYW5hZ2U6IHtcbiAgICBsYWJlbDogXCJNYW5hZ2VcIixcbiAgICBzY29wZXM6IFtcbiAgICAgIC8vIEZpbmQgYW5kIGluY2x1ZGUgbWFuYWdlOm1taToqXG4gICAgICAoYWxsU2NvcGVzRGljdGlvbmFyeS5tYW5hZ2Uuc2NvcGVzIGFzIFNjb3BlSXRlbVtdKVxuICAgICAgICAuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6KlwiKSFcbiAgICAgICAgLmNoaWxkcmVuIS5maW5kKChzKSA9PiBzLnZhbHVlID09PSBcIm1hbmFnZTptbWk6KlwiKSEsXG4gICAgICAvLyBGaW5kIGFuZCBpbmNsdWRlIG1hbmFnZTptZmE6bGlzdFxuICAgICAgKGFsbFNjb3Blc0RpY3Rpb25hcnkubWFuYWdlLnNjb3BlcyBhcyBTY29wZUl0ZW1bXSlcbiAgICAgICAgLmZpbmQoKHMpID0+IHMudmFsdWUgPT09IFwibWFuYWdlOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6bWZhOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6bWZhOmxpc3RcIikhLFxuICAgICAgLy8gRmluZCBhbmQgaW5jbHVkZSBtYW5hZ2U6a2V5OmdldFxuICAgICAgKGFsbFNjb3Blc0RpY3Rpb25hcnkubWFuYWdlLnNjb3BlcyBhcyBTY29wZUl0ZW1bXSlcbiAgICAgICAgLmZpbmQoKHMpID0+IHMudmFsdWUgPT09IFwibWFuYWdlOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5OipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5OmdldFwiKSEsXG4gICAgICAvLyBGaW5kIGFuZCBpbmNsdWRlIG1hbmFnZTprZXk6bGlzdFxuICAgICAgKGFsbFNjb3Blc0RpY3Rpb25hcnkubWFuYWdlLnNjb3BlcyBhcyBTY29wZUl0ZW1bXSlcbiAgICAgICAgLmZpbmQoKHMpID0+IHMudmFsdWUgPT09IFwibWFuYWdlOipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5OipcIikhXG4gICAgICAgIC5jaGlsZHJlbiEuZmluZCgocykgPT4gcy52YWx1ZSA9PT0gXCJtYW5hZ2U6a2V5Omxpc3RcIikhLFxuICAgIF0sXG4gIH0sXG59IHNhdGlzZmllcyBTY29wZXNEaWN0aW9uYXJ5O1xuXG4vKipcbiAqIFJlc3RyaWN0ZWQgc2NvcGVzIGRpY3Rpb25hcnkgZm9yIHVzZXIgc2Vzc2lvbiBnZW5lcmF0aW9uLlxuICogRXhjbHVkZXMgc2NvcGVzIHRoYXQgcmVxdWlyZSBlbGV2YXRlZCBwZXJtaXNzaW9ucyAob3JnQWNjZXNzLCBleHBvcnQpLlxuICovXG5leHBvcnQgY29uc3QgdXNlclNjb3Blc0RpY3Rpb25hcnkgPSB7XG4gIG1hbmFnZTogYWxsU2NvcGVzRGljdGlvbmFyeS5tYW5hZ2UsXG4gIHNpZ246IGFsbFNjb3Blc0RpY3Rpb25hcnkuc2lnbixcbiAgbW1pOiBhbGxTY29wZXNEaWN0aW9uYXJ5Lm1taSxcbn07XG4iXX0=
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"url": "git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git",
|
|
6
6
|
"directory": "packages/sdk"
|
|
7
7
|
},
|
|
8
|
-
"version": "0.4.
|
|
8
|
+
"version": "0.4.209",
|
|
9
9
|
"description": "CubeSigner TypeScript SDK",
|
|
10
10
|
"license": "MIT OR Apache-2.0",
|
|
11
11
|
"author": "Cubist, Inc.",
|
package/src/role.ts
CHANGED
|
@@ -451,9 +451,24 @@ export type AllowEip712Signing = typeof AllowEip712Signing;
|
|
|
451
451
|
export const AllowBtcMessageSigning = "AllowBtcMessageSigning" as const;
|
|
452
452
|
export type AllowBtcMessageSigning = typeof AllowBtcMessageSigning;
|
|
453
453
|
|
|
454
|
-
|
|
454
|
+
export type AllowPolicy =
|
|
455
|
+
| AllowRawBlobSigning
|
|
456
|
+
| AllowDiffieHellmanExchange
|
|
457
|
+
| AllowEip191Signing
|
|
458
|
+
| AllowEip712Signing
|
|
459
|
+
| AllowBtcMessageSigning;
|
|
460
|
+
|
|
461
|
+
/** A reference to an org-level named policy, using its name/id and its version */
|
|
455
462
|
export type PolicyReference = `${string}/v${number}` | `${string}/latest`;
|
|
456
463
|
|
|
464
|
+
/**
|
|
465
|
+
* A reference to an org-level named policy using its id.
|
|
466
|
+
* We cannot use the policy's name in this format.
|
|
467
|
+
*/
|
|
468
|
+
export type NamedPolicyReference = {
|
|
469
|
+
Reference: PolicyReference;
|
|
470
|
+
};
|
|
471
|
+
|
|
457
472
|
/** Key policies that restrict the requests that the signing endpoints accept */
|
|
458
473
|
export type KeyDenyPolicy =
|
|
459
474
|
| TxReceiver
|
|
@@ -472,7 +487,11 @@ export type KeyDenyPolicy =
|
|
|
472
487
|
| RequireMfa
|
|
473
488
|
| RequireRoleSession
|
|
474
489
|
| BabylonStaking
|
|
475
|
-
| WebhookPolicy
|
|
490
|
+
| WebhookPolicy
|
|
491
|
+
| PolicyAnd
|
|
492
|
+
| PolicyOr
|
|
493
|
+
| PolicyNot
|
|
494
|
+
| NamedPolicyReference;
|
|
476
495
|
|
|
477
496
|
/**
|
|
478
497
|
* Key policy
|
|
@@ -502,20 +521,25 @@ export type KeyDenyPolicy =
|
|
|
502
521
|
*/
|
|
503
522
|
export type KeyPolicy = KeyPolicyRule[];
|
|
504
523
|
|
|
505
|
-
export type KeyPolicyRule =
|
|
506
|
-
| KeyDenyPolicy
|
|
507
|
-
| AllowRawBlobSigning
|
|
508
|
-
| AllowDiffieHellmanExchange
|
|
509
|
-
| AllowEip191Signing
|
|
510
|
-
| AllowEip712Signing
|
|
511
|
-
| AllowBtcMessageSigning
|
|
512
|
-
| PolicyReference;
|
|
524
|
+
export type KeyPolicyRule = KeyDenyPolicy | AllowPolicy | PolicyReference;
|
|
513
525
|
|
|
514
526
|
/** Role policy */
|
|
515
527
|
export type RolePolicy = RolePolicyRule[];
|
|
516
528
|
|
|
517
529
|
export type RolePolicyRule = KeyDenyPolicy | PolicyReference;
|
|
518
530
|
|
|
531
|
+
export type PolicyAnd = {
|
|
532
|
+
And: KeyDenyPolicy[];
|
|
533
|
+
};
|
|
534
|
+
|
|
535
|
+
export type PolicyOr = {
|
|
536
|
+
Or: KeyDenyPolicy[];
|
|
537
|
+
};
|
|
538
|
+
|
|
539
|
+
export type PolicyNot = {
|
|
540
|
+
Not: KeyDenyPolicy;
|
|
541
|
+
};
|
|
542
|
+
|
|
519
543
|
/** A key guarded by a policy. */
|
|
520
544
|
export class KeyWithPolicies {
|
|
521
545
|
readonly #apiClient: ApiClient;
|
package/src/schema.ts
CHANGED
|
@@ -2754,6 +2754,7 @@ export interface components {
|
|
|
2754
2754
|
| "InvalidPolicyReference"
|
|
2755
2755
|
| "PolicyEngineDisabled"
|
|
2756
2756
|
| "InvalidWasmPolicy"
|
|
2757
|
+
| "InvalidPolicy"
|
|
2757
2758
|
| "RedundantDerivationPath"
|
|
2758
2759
|
| "ImportKeyMissing"
|
|
2759
2760
|
| "InvalidAbiMethods"
|
|
@@ -2762,7 +2763,8 @@ export interface components {
|
|
|
2762
2763
|
| "UserProfileMigrationMultipleEntries"
|
|
2763
2764
|
| "UserProfileMigrationTooManyItems"
|
|
2764
2765
|
| "InputTooShort"
|
|
2765
|
-
| "InvalidTweakLength"
|
|
2766
|
+
| "InvalidTweakLength"
|
|
2767
|
+
| "InvalidCustomChains";
|
|
2766
2768
|
BillingArgs: {
|
|
2767
2769
|
billing_org: components["schemas"]["Id"];
|
|
2768
2770
|
event_type: components["schemas"]["BillingEvent"];
|
|
@@ -3550,6 +3552,11 @@ export interface components {
|
|
|
3550
3552
|
/** @description CubeSigner's user identifier */
|
|
3551
3553
|
user_id: string;
|
|
3552
3554
|
};
|
|
3555
|
+
/** @description Information about an org's custom chains. */
|
|
3556
|
+
CustomChainsData: {
|
|
3557
|
+
/** @description Custom EVM chains. */
|
|
3558
|
+
evm: components["schemas"]["EvmCustomChain"][];
|
|
3559
|
+
};
|
|
3553
3560
|
/**
|
|
3554
3561
|
* @description Information produced by a successful deposit
|
|
3555
3562
|
* @example {
|
|
@@ -4183,6 +4190,44 @@ export interface components {
|
|
|
4183
4190
|
*/
|
|
4184
4191
|
chain?: string | null;
|
|
4185
4192
|
};
|
|
4193
|
+
/** @description Information about a currency used on an EVM chain. */
|
|
4194
|
+
EvmCurrencyInfo: {
|
|
4195
|
+
/**
|
|
4196
|
+
* Format: int32
|
|
4197
|
+
* @description The number of decimals this currency uses.
|
|
4198
|
+
* @example 18
|
|
4199
|
+
*/
|
|
4200
|
+
decimals: number;
|
|
4201
|
+
/**
|
|
4202
|
+
* @description The full name of the currency.
|
|
4203
|
+
* @example Ether
|
|
4204
|
+
*/
|
|
4205
|
+
name: string;
|
|
4206
|
+
/**
|
|
4207
|
+
* @description The symbol for the currency, typically a three letter string.
|
|
4208
|
+
* @example ETH
|
|
4209
|
+
*/
|
|
4210
|
+
symbol: string;
|
|
4211
|
+
};
|
|
4212
|
+
/** @description A custom EVM chain. */
|
|
4213
|
+
EvmCustomChain: {
|
|
4214
|
+
/**
|
|
4215
|
+
* @description The chain id. Enforced to be unique among all custom EVM chains in the organization. It must be a hex string (starting with "0x") with even length.
|
|
4216
|
+
* @example 0x01
|
|
4217
|
+
*/
|
|
4218
|
+
chain_id: string;
|
|
4219
|
+
/**
|
|
4220
|
+
* @description The name of the chain.
|
|
4221
|
+
* @example Ethereum Mainnet
|
|
4222
|
+
*/
|
|
4223
|
+
name: string;
|
|
4224
|
+
native_currency: components["schemas"]["EvmCurrencyInfo"];
|
|
4225
|
+
/**
|
|
4226
|
+
* @description The URL of the RPC provider for this chain.
|
|
4227
|
+
* @example https://ethereum-rpc.publicnode.com/
|
|
4228
|
+
*/
|
|
4229
|
+
rpc_url: string;
|
|
4230
|
+
};
|
|
4186
4231
|
EvmTxCmp: {
|
|
4187
4232
|
/**
|
|
4188
4233
|
* Format: int64
|
|
@@ -4332,6 +4377,7 @@ export interface components {
|
|
|
4332
4377
|
| "manage:policy:secrets:get"
|
|
4333
4378
|
| "manage:policy:secrets:update:*"
|
|
4334
4379
|
| "manage:policy:secrets:update:values"
|
|
4380
|
+
| "manage:policy:secrets:update:acl"
|
|
4335
4381
|
| "manage:policy:secrets:update:editPolicy"
|
|
4336
4382
|
| "manage:contact:*"
|
|
4337
4383
|
| "manage:contact:create"
|
|
@@ -4788,19 +4834,12 @@ export interface components {
|
|
|
4788
4834
|
*/
|
|
4789
4835
|
salt: string;
|
|
4790
4836
|
};
|
|
4791
|
-
/** @description Helper type for enforcing validation before having access to the configs and import key. */
|
|
4792
|
-
ImportableSecrets: {
|
|
4793
|
-
import_key?: components["schemas"]["KeyImportKey"] | null;
|
|
4794
|
-
/** @description The policy secrets. */
|
|
4795
|
-
secrets?: {
|
|
4796
|
-
[key: string]: components["schemas"]["SecretValue"];
|
|
4797
|
-
} | null;
|
|
4798
|
-
};
|
|
4799
4837
|
/** @enum {string} */
|
|
4800
4838
|
InternalErrorCode:
|
|
4801
4839
|
| "NoMaterialId"
|
|
4802
4840
|
| "UnexpectedCheckerRule"
|
|
4803
4841
|
| "UnresolvedPolicyReference"
|
|
4842
|
+
| "UnexpectedAclAction"
|
|
4804
4843
|
| "FidoKeyAssociatedWithMultipleUsers"
|
|
4805
4844
|
| "ClaimsParseError"
|
|
4806
4845
|
| "InvalidThrottleId"
|
|
@@ -5818,6 +5857,12 @@ export interface components {
|
|
|
5818
5857
|
org_event: "KeyCreated";
|
|
5819
5858
|
owner_id: components["schemas"]["Id"];
|
|
5820
5859
|
}
|
|
5860
|
+
| {
|
|
5861
|
+
approved_with_mfa_type: components["schemas"]["MfaType"];
|
|
5862
|
+
mfa_request: components["schemas"]["MfaRequestInfo"];
|
|
5863
|
+
/** @enum {string} */
|
|
5864
|
+
org_event: "MfaApproved";
|
|
5865
|
+
}
|
|
5821
5866
|
| {
|
|
5822
5867
|
mfa_request: components["schemas"]["MfaRequestInfo"];
|
|
5823
5868
|
/** @enum {string} */
|
|
@@ -5900,6 +5945,7 @@ export interface components {
|
|
|
5900
5945
|
| "Eth2Unstake"
|
|
5901
5946
|
| "Eth2ExceededMaxUnstake"
|
|
5902
5947
|
| "KeyCreated"
|
|
5948
|
+
| "MfaApproved"
|
|
5903
5949
|
| "MfaRejected"
|
|
5904
5950
|
| "PolicyChanged"
|
|
5905
5951
|
| "TendermintConcurrentSigning"
|
|
@@ -5927,6 +5973,7 @@ export interface components {
|
|
|
5927
5973
|
};
|
|
5928
5974
|
OrgInfo: components["schemas"]["MfaRequirements"] & {
|
|
5929
5975
|
access_model: components["schemas"]["AccessModel"];
|
|
5976
|
+
custom_chains?: components["schemas"]["CustomChainsData"] | null;
|
|
5930
5977
|
default_invite_kind?: components["schemas"]["InviteKind"];
|
|
5931
5978
|
email_preferences?: components["schemas"]["EmailPreferences"];
|
|
5932
5979
|
/** @description When false, all cryptographic operations involving keys in this org are disabled. */
|
|
@@ -6491,6 +6538,7 @@ export interface components {
|
|
|
6491
6538
|
| components["schemas"]["EvmTxDepositErrorCode"];
|
|
6492
6539
|
/** @enum {string} */
|
|
6493
6540
|
PolicyErrorOwnCodes:
|
|
6541
|
+
| "Inapplicable"
|
|
6494
6542
|
| "SuiTxReceiversDisallowedTransactionKind"
|
|
6495
6543
|
| "SuiTxReceiversDisallowedTransferAddress"
|
|
6496
6544
|
| "SuiTxReceiversDisallowedCommand"
|
|
@@ -6516,12 +6564,14 @@ export interface components {
|
|
|
6516
6564
|
| "Erc20SpenderMismatch"
|
|
6517
6565
|
| "EvmFunctionNotInAllowlist"
|
|
6518
6566
|
| "EvmFunctionCallInvalid"
|
|
6567
|
+
| "EvmFunctionCallDisallowedArg"
|
|
6519
6568
|
| "PolicyDisjunctionError"
|
|
6520
6569
|
| "PolicyNegationError"
|
|
6521
6570
|
| "Eth2ExceededMaxUnstake"
|
|
6522
6571
|
| "Eth2ConcurrentUnstaking"
|
|
6523
6572
|
| "NotInIpv4Allowlist"
|
|
6524
6573
|
| "NotInOriginAllowlist"
|
|
6574
|
+
| "NotInOperationAllowlist"
|
|
6525
6575
|
| "InvalidSourceIp"
|
|
6526
6576
|
| "RawSigningNotAllowed"
|
|
6527
6577
|
| "DiffieHellmanExchangeNotAllowed"
|
|
@@ -6623,8 +6673,13 @@ export interface components {
|
|
|
6623
6673
|
};
|
|
6624
6674
|
/** @description A struct containing all non-secret information about policy secrets. */
|
|
6625
6675
|
PolicySecretsInfo: components["schemas"]["CommonFields"] & {
|
|
6626
|
-
/**
|
|
6676
|
+
/**
|
|
6677
|
+
* @deprecated
|
|
6678
|
+
* @description The names of the secrets.
|
|
6679
|
+
*/
|
|
6627
6680
|
names: string[];
|
|
6681
|
+
/** @description The policy secrets. */
|
|
6682
|
+
secrets: components["schemas"]["SecretInfo"][];
|
|
6628
6683
|
};
|
|
6629
6684
|
/**
|
|
6630
6685
|
* @description The type of a [NamedPolicy].
|
|
@@ -7056,7 +7111,15 @@ export interface components {
|
|
|
7056
7111
|
passkey_login_enabled: boolean;
|
|
7057
7112
|
};
|
|
7058
7113
|
/** @enum {string} */
|
|
7059
|
-
Purpose:
|
|
7114
|
+
Purpose:
|
|
7115
|
+
| "otp"
|
|
7116
|
+
| "mfa_reset"
|
|
7117
|
+
| "otp_mfa"
|
|
7118
|
+
| "alien_password_reset"
|
|
7119
|
+
| "member_password_reset"
|
|
7120
|
+
| "alien_invite"
|
|
7121
|
+
| "member_invite"
|
|
7122
|
+
| "welcome";
|
|
7060
7123
|
/** @description The request type for querying metrics. */
|
|
7061
7124
|
QueryMetricsRequest: {
|
|
7062
7125
|
/**
|
|
@@ -7285,6 +7348,13 @@ export interface components {
|
|
|
7285
7348
|
* A wrapper type for serialization that encodes a `Duration` as a `u64` representing the number of seconds.
|
|
7286
7349
|
*/
|
|
7287
7350
|
Seconds: number;
|
|
7351
|
+
/** @description Information about a specific secret. */
|
|
7352
|
+
SecretInfo: {
|
|
7353
|
+
/** @description The access-control entries for this secret. */
|
|
7354
|
+
acl?: unknown[] | null;
|
|
7355
|
+
/** @description The name of the secret. */
|
|
7356
|
+
name: string;
|
|
7357
|
+
};
|
|
7288
7358
|
/** @description The value of a policy secret. */
|
|
7289
7359
|
SecretValue: OneOf<
|
|
7290
7360
|
[
|
|
@@ -7366,10 +7436,20 @@ export interface components {
|
|
|
7366
7436
|
/** @description The list of sessions */
|
|
7367
7437
|
sessions: components["schemas"]["SessionInfo"][];
|
|
7368
7438
|
};
|
|
7369
|
-
/**
|
|
7439
|
+
/**
|
|
7440
|
+
* @description A request for setting an Org-level policy secret.
|
|
7441
|
+
*
|
|
7442
|
+
* Either `value` or `acl` must be provided.
|
|
7443
|
+
*/
|
|
7370
7444
|
SetPolicySecretRequest: {
|
|
7445
|
+
/**
|
|
7446
|
+
* @description The secret's access-control entries.
|
|
7447
|
+
* Can be `None` if the request is creating a secret without ACL or updating an
|
|
7448
|
+
* existing secret's value.
|
|
7449
|
+
*/
|
|
7450
|
+
acl?: unknown[] | null;
|
|
7371
7451
|
import_key?: components["schemas"]["KeyImportKey"] | null;
|
|
7372
|
-
value
|
|
7452
|
+
value?: components["schemas"]["SecretValue"] | null;
|
|
7373
7453
|
};
|
|
7374
7454
|
SignDimensions: {
|
|
7375
7455
|
/** @description The sign operation */
|
|
@@ -8051,6 +8131,7 @@ export interface components {
|
|
|
8051
8131
|
allowed_mfa_types?: {
|
|
8052
8132
|
[key: string]: components["schemas"]["MfaType"][];
|
|
8053
8133
|
} | null;
|
|
8134
|
+
custom_chains?: components["schemas"]["CustomChainsData"] | null;
|
|
8054
8135
|
default_invite_kind?: components["schemas"]["InviteKind"] | null;
|
|
8055
8136
|
email_preferences?: components["schemas"]["EmailPreferences"] | null;
|
|
8056
8137
|
/** @description If set, update this org's `enabled` field to this value. */
|
|
@@ -8162,6 +8243,7 @@ export interface components {
|
|
|
8162
8243
|
allowed_mfa_types?: {
|
|
8163
8244
|
[key: string]: components["schemas"]["MfaType"][];
|
|
8164
8245
|
} | null;
|
|
8246
|
+
custom_chains?: components["schemas"]["CustomChainsData"] | null;
|
|
8165
8247
|
default_invite_kind?: components["schemas"]["InviteKind"] | null;
|
|
8166
8248
|
email_preferences?: components["schemas"]["EmailPreferences"] | null;
|
|
8167
8249
|
/** @description The new value of the 'enabled' property */
|
|
@@ -8257,7 +8339,7 @@ export interface components {
|
|
|
8257
8339
|
rules?: unknown[] | null;
|
|
8258
8340
|
};
|
|
8259
8341
|
/** @description A request for updating Org-level policy secrets */
|
|
8260
|
-
UpdatePolicySecretsRequest:
|
|
8342
|
+
UpdatePolicySecretsRequest: {
|
|
8261
8343
|
edit_policy?: components["schemas"]["EditPolicy"] | null;
|
|
8262
8344
|
};
|
|
8263
8345
|
UpdateRoleRequest: {
|
|
@@ -9261,6 +9343,7 @@ export interface components {
|
|
|
9261
9343
|
content: {
|
|
9262
9344
|
"application/json": components["schemas"]["MfaRequirements"] & {
|
|
9263
9345
|
access_model: components["schemas"]["AccessModel"];
|
|
9346
|
+
custom_chains?: components["schemas"]["CustomChainsData"] | null;
|
|
9264
9347
|
default_invite_kind?: components["schemas"]["InviteKind"];
|
|
9265
9348
|
email_preferences?: components["schemas"]["EmailPreferences"];
|
|
9266
9349
|
/** @description When false, all cryptographic operations involving keys in this org are disabled. */
|
|
@@ -9723,8 +9806,13 @@ export interface components {
|
|
|
9723
9806
|
PolicySecretsInfo: {
|
|
9724
9807
|
content: {
|
|
9725
9808
|
"application/json": components["schemas"]["CommonFields"] & {
|
|
9726
|
-
/**
|
|
9809
|
+
/**
|
|
9810
|
+
* @deprecated
|
|
9811
|
+
* @description The names of the secrets.
|
|
9812
|
+
*/
|
|
9727
9813
|
names: string[];
|
|
9814
|
+
/** @description The policy secrets. */
|
|
9815
|
+
secrets: components["schemas"]["SecretInfo"][];
|
|
9728
9816
|
};
|
|
9729
9817
|
};
|
|
9730
9818
|
};
|
|
@@ -10017,6 +10105,7 @@ export interface components {
|
|
|
10017
10105
|
allowed_mfa_types?: {
|
|
10018
10106
|
[key: string]: components["schemas"]["MfaType"][];
|
|
10019
10107
|
} | null;
|
|
10108
|
+
custom_chains?: components["schemas"]["CustomChainsData"] | null;
|
|
10020
10109
|
default_invite_kind?: components["schemas"]["InviteKind"] | null;
|
|
10021
10110
|
email_preferences?: components["schemas"]["EmailPreferences"] | null;
|
|
10022
10111
|
/** @description The new value of the 'enabled' property */
|
|
@@ -11346,7 +11435,15 @@ export interface operations {
|
|
|
11346
11435
|
*/
|
|
11347
11436
|
org_id: string;
|
|
11348
11437
|
/** @description Which email to configure */
|
|
11349
|
-
purpose:
|
|
11438
|
+
purpose:
|
|
11439
|
+
| "otp"
|
|
11440
|
+
| "mfa_reset"
|
|
11441
|
+
| "otp_mfa"
|
|
11442
|
+
| "alien_password_reset"
|
|
11443
|
+
| "member_password_reset"
|
|
11444
|
+
| "alien_invite"
|
|
11445
|
+
| "member_invite"
|
|
11446
|
+
| "welcome";
|
|
11350
11447
|
};
|
|
11351
11448
|
};
|
|
11352
11449
|
requestBody: {
|
|
@@ -13076,6 +13173,11 @@ export interface operations {
|
|
|
13076
13173
|
* the exact value previously returned as 'last_evaluated_key' from the same endpoint.
|
|
13077
13174
|
*/
|
|
13078
13175
|
"page.start"?: string | null;
|
|
13176
|
+
/**
|
|
13177
|
+
* @description The optional type of policies to return
|
|
13178
|
+
* @example Key
|
|
13179
|
+
*/
|
|
13180
|
+
policy_type?: components["schemas"]["PolicyType"] | null;
|
|
13079
13181
|
};
|
|
13080
13182
|
path: {
|
|
13081
13183
|
/**
|
package/src/scopes.ts
CHANGED
|
@@ -108,6 +108,7 @@ export const AllScopes: Record<ExplicitScope, string> =
|
|
|
108
108
|
"manage:policy:secrets:get" : "Allows access only to the policy secrets 'get' endpoint",
|
|
109
109
|
"manage:policy:secrets:update:*" : "Allows access to all policy secrets 'update' endpoints",
|
|
110
110
|
"manage:policy:secrets:update:values" : "Allows access only to the policy secrets 'update' endpoint, but restricting updates to the secrets keys and values",
|
|
111
|
+
"manage:policy:secrets:update:acl" : "Allows access only to the policy secrets 'update' endpoint, but restricting updates to the secrets acl",
|
|
111
112
|
"manage:policy:secrets:update:editPolicy" : "Allows access only to the policy secrets 'update' endpoint, but restricting updates to the `edit_policy` property",
|
|
112
113
|
"manage:contact:*" : "Allows access to all contact endpoints",
|
|
113
114
|
"manage:contact:create" : "Allows access to the contact 'create' endpoint",
|