iptdevs-design-system 3.2.159 → 3.2.160

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVyY2lhbC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb3JlL21vZGVscy9jb21tZXJjaWFsL2NvbW1lcmNpYWwubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDb2RCeXN0dWRlbnRzUnMgfSBmcm9tIFwiLi4vY29kL2NvZC1ycS5tb2RlbFwiO1xuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gXCIuLi9wYXJhbWV0ZXJzL3BhcmFtZXRlcnMtcnMubW9kZWxcIjtcbmltcG9ydCB7IElJcHRVc2VyRnVsbERhdGFScSB9IGZyb20gXCIuLi91c2VyL3VzZXItcnEubW9kZWxcIjtcbmltcG9ydCB7SVBheW1lbnRCaWxsR3JhcGhSc30gZnJvbSBcIi4uL2J1ZGdldC9idWRnZXQubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb2RQcmljZXMge1xuICBjb2RlOiBudW1iZXIsXG4gIG5hbWU6IHN0cmluZyxcbiAgYWdyZWVtZW50OiBudW1iZXIsXG4gIGVucm9sbG1lbnQ6IG51bWJlcixcbiAgbm9ybWFsX3ByaWNlOiBudW1iZXIsXG4gIGZpbmFuY2VkX3ByaWNlOiBudW1iZXIsXG4gIGZlZV9udW1iZXI6IG51bWJlcixcbiAgcXVvdGFfcHJpY2U6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmVudEJ5Q29kZVJxIHtcbiAgcGFyZW50X2NvZGU6IG51bWJlciB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRpY0luZm9CeUNvZGVScSB7XG4gIGFkaWNfaW5mbzogbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RBZGl0aW9uYWxJbmZvcm1hdGlvblJxIHtcbiAgY29kZTogICAgICAgICAgICAgICBudW1iZXI7XG4gIGdyYWRlOiAgICAgICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgcHJvZ3JhbV9uYW1lOiAgICAgICBzdHJpbmcgfCBudWxsO1xuICBpbnN0aXR1dGlvbl9uYW1lOiAgIHN0cmluZyB8IG51bGw7XG4gIG9jY3VwYXRpb246ICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgcGFyZW50X29jY3VwYXRpb246ICBzdHJpbmcgfCBudWxsO1xuICBkaXNhYmlsaXR5OiAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gIGhlYWx0aF9yZWdpbWVuOiAgICAgc3RyaW5nIHwgbnVsbDtcbiAgbWFya2V0aW5nX3JlYXNvbnM6ICBudW1iZXI7XG4gIHN0dWR5X3JlYXNvbnM6ICAgICAgbnVtYmVyO1xuICBvYnNlcnZhdGlvbjogICAgICAgIHN0cmluZyB8IG51bGw7XG4gIGhlYWRfb2ZfdGhlX2ZhbWlseTogbnVtYmVyO1xuICBhZnJvX2Rlc2NlbmRhbnQ6ICAgIG51bWJlcjtcbiAgZGlzcGxhY2VkOiAgICAgICAgICBudW1iZXI7XG4gIGluZGlnZW5vdXM6ICAgICAgICAgbnVtYmVyO1xuICByZWluc2VydGVkOiAgICAgICAgIG51bWJlcjtcbiAgcm9tX3BvcHVsYXRpb246ICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kUGFyZW50UnEge1xuICBjb2RlOiAgICAgICAgICAgICBudW1iZXI7XG4gIG5hbWU6ICAgICAgICAgICAgIHN0cmluZztcbiAgbGFzdF9uYW1lOiAgICAgICAgc3RyaW5nO1xuICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gIGlkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgcGhvbmVfaW5kaWNhdGl2ZTogbnVtYmVyO1xuICBwaG9uZV9udW1iZXI6ICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kUHJpY2VzUnEge1xuICBhZ3JlZW1lbnQ6ICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9tZXRob2Q6ICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdvYWxJbnRlcmZhY2VSc3tcbiAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gIGNvZGU6ICAgICAgICAgbnVtYmVyLFxuICBuYW1lOiAgICAgICAgIHN0cmluZyxcbiAgbW9udGhseV9nb2FsOiBudW1iZXIsXG4gIHdlZWtseV9nb2FsOiAgbnVtYmVyLFxuICBkYWlseV9nb2FsOiAgIG51bWJlcixcbiAgZ29hbF9wZXJpb2Q6ICBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdvYWxJbnRlcmZhY2VScXtcbiAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gIG5hbWU6ICAgICAgICAgc3RyaW5nLFxuICBtb250aGx5X2dvYWw6IG51bWJlcixcbiAgd2Vla2x5X2dvYWw6ICBudW1iZXIsXG4gIGRhaWx5X2dvYWw6ICAgbnVtYmVyLFxuICBnb2FsX3BlcmlvZDogIERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR29hbEludGVyZmFjZXtcbiAgY29kZTogICAgICAgICBudW1iZXIsXG4gIG5hbWU6ICAgICAgICAgc3RyaW5nLFxuICBtb250aGx5X2dvYWw6IG51bWJlcixcbiAgd2Vla2x5X2dvYWw6ICBudW1iZXIsXG4gIGRhaWx5X2dvYWw6ICAgbnVtYmVyLFxuICBnb2FsX3BlcmlvZDogIERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSAgRG9jdW1lbnRzUnF7XG4gIGZpbGU6IEZpbGU7XG4gIHVzZXJfYXV0b3I6IG51bWJlcjtcbiAgY29kZV91c2VyOiBudW1iZXI7XG4gIHR5cGVfZG9jdW1lbnQ6IG51bWJlcjtcbiAgdG9rZW46c3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXREb2N1bWVudFN0dWRlbnRScXtcbiAgY29kZV91c2VyOiBudW1iZXI7XG4gIHRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURvY3VtZW50c1Jze1xuICBjb2RlOiBudW1iZXI7XG4gIGNvZGVfbWVkaWE6IElNZWRpYVJzO1xuICBjb2RlX3VzZXI6IG51bWJlcjtcbiAgc3RhdHVzOiBudW1iZXI7XG4gIHR5cGVfZG9jdW1lbnQ6SVR5cGVEb2N1bWVudHNOYW1lUnM7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTWVkaWFSc3tcbiAgY29kZTogbnVtYmVyO1xuICBsaW5rOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZV9mb3JtOiBudW1iZXI7XG4gIHVzZXJfYXV0b3I6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHlwZURvY3VtZW50c05hbWVSc3tcbiAgY29kZTogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlcG9ydEV4Y2VsUnEge1xuICB0b2tlbjogICAgICAgIHN0cmluZztcbiAgY29kZV9hZHZpc2VyOiBudW1iZXI7XG4gIHN0YXJ0X2RhdGU6ICAgc3RyaW5nO1xuICBmaW5pc2hfZGF0ZTogIHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSWFkdmlzZXJzUnEge1xuICBjb2RlOiAgICAgICAgIG51bWJlcjtcbiAgaWRfY2FyZDogICAgICBzdHJpbmc7XG4gIG5hbWU6ICAgICAgICAgc3RyaW5nO1xuICBsYXN0X25hbWU6ICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICBudWxsIHwgc3RyaW5nO1xuICBlbWFpbDogICAgICAgIHN0cmluZztcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmc7XG4gIGdlbmRlcjogICAgICAgbnVtYmVyO1xuICBjaXR5OiAgICAgICAgIHN0cmluZztcbiAgYmlydGhkYXRlOiAgICBzdHJpbmc7XG4gIHJvbGU6ICAgICAgICAgc3RyaW5nO1xuICBzZXJ2aWNlX2hvdXI6IG51bWJlcjtcbiAgZW1haWxfaXB0OiAgICBzdHJpbmc7XG4gIHVwZGF0ZWRfYXQ6ICAgRGF0ZTtcbiAgaWRfY2FyZF90eXBlOiBzdHJpbmc7XG4gIHRva2VuOiAgICAgICAgc3RyaW5nO1xuICB1c2VyX3N0YXR1czogIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUmVmZXJzQnlVc2VyUnEge1xuICB0b2tlbjogICAgICAgc3RyaW5nO1xuICBjb2RlX3JlZmVyczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5SZWZlcnJhbHNCeVVzZXJScyB7XG4gIGlwX2FwcGxpY2FudDogc3RyaW5nO1xuICBzdGF0dXM6ICAgICAgIG51bWJlcjtcbiAgbWVzc2FnZTogICAgICBNZXNzYWdlO1xuICBkYXRhOiAgICAgICAgIElSZWZlcnJhbHNCeVVzZXJSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZWZlcnJhbHNCeVVzZXJScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgYW1vdW50X3BheWFibGU6ICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X3N0YXR1czogICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9jb2RlOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgc3R1ZGVudF9jb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICBzdHVkZW50X2lkX2NhcmQ6ICAgICAgICAgICBzdHJpbmc7XG4gIHN0dWRlbnRfcm9sZTogICAgICAgICAgICAgIHN0cmluZztcbiAgc3R1ZGVudF9uYW1lOiAgICAgICAgICAgICAgc3RyaW5nO1xuICBzdHVkZW50X2xhc3RfbmFtZTogICAgICAgICBzdHJpbmc7XG4gIHN0dWRlbnRfcGhvbmVfbnVtYmVyOiAgICAgIHN0cmluZztcbiAgc3R1ZGVudF9lbWFpbDogICAgICAgICAgICAgc3RyaW5nO1xuICBzdHVkZW50X2Vucm9sbG1lbnRfc3RhdHVzOiBzdHJpbmc7XG4gIHN0dWRlbnRfY291cnNlX3R5cGU6ICAgICAgIHN0cmluZztcbiAgc3R1ZGVudF9hZHZpc2VyOiAgICAgICAgICAgc3RyaW5nO1xuICByZWZlcnJlZF9jb2RlOiAgICAgICAgICAgICBudW1iZXI7XG4gIHJlZmVycmVkX2lkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgcmVmZXJyZWRfcm9sZTogICAgICAgICAgICAgc3RyaW5nO1xuICByZWZlcnJlZF9uYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIHJlZmVycmVkX2xhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgcmVmZXJyZWRfcGhvbmVfbnVtYmVyOiAgICAgc3RyaW5nO1xuICByZWZlcnJlZF9lbWFpbDogICAgICAgICAgICBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25Qb3NpYmxlU3R1ZGVudEZvclZhbHVlUnEge1xuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgY29kZUFkdmlzZXI6bnVtYmVyLFxuICAgIHZhbHVlQXNzaW5nOm51bWJlclxuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldENvbnRhY3RzYWR2aXNlclJxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIGNvZGVUeXBlQ29uc3VsdDogbnVtYmVyXG4gIGNvZGVfYWR2aXNlcjogICAgbnVtYmVyO1xuICBzdGFydF9kYXRlOiAgICAgIHN0cmluZztcbiAgZmluaXNoX2RhdGU6ICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpbkNvZFByaWNlc1JxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV90eXBlOiAgICAgbnVtYmVyO1xuICBhZ3JlZW1lbnQ6ICAgICAgIG51bWJlcjtcbiAgY291cnNlX21vZGFsaXR5OiBudW1iZXI7XG4gIHBheW1lbnRfbWV0aG9kOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb2RQcmljZXNCeVByb2dyYW1ScyB7XG4gIGNvZGU6ICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgIHN0cmluZztcbiAgYWdyZWVtZW50OiAgICAgICBudW1iZXI7XG4gIHR5cGVfY291cnNlOiAgICAgbnVtYmVyO1xuICBjb3Vyc2VfbW9kYWxpdHk6IG51bWJlcjtcbiAgZW5yb2xsbWVudDogICAgICBudW1iZXI7XG4gIG5vcm1hbF9wcmljZTogICAgbnVtYmVyO1xuICBmaW5hbmNlZF9wcmljZTogIG51bWJlcjtcbiAgZmVlX251bWJlcjogICAgICBudW1iZXI7XG4gIHF1b3RhX3ByaWNlOiAgICAgbnVtYmVyO1xuICBwYWlkX2xldmVsOiAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXNzaWduaW5nQWR2aXNvckdvYWxzUnEge1xuICB0b2tlbjogICAgICAgICAgICAgIHN0cmluZztcbiAgY29kZV9nb2FsOiAgICAgICAgICBudW1iZXJcbiAgYXNzaWduX2Fkdmlzb3JzOiAgICBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXNzaWdBZHZpc29yR29hbHNScyB7XG4gIHVzZXI6ICAgbnVtYmVyO1xuICBnb2FsOiAgIG51bWJlcjtcbiAgc3RhdHVzOiBudW1iZXI7XG4gIGNvZGU6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBZHZpc29yR29hbHNScyB7XG4gIGNvZGU6ICAgbnVtYmVyO1xuICB1c2VyOiAgIG51bWJlcjtcbiAgZ29hbDogICBJR29hbFJzO1xuICBzdGF0dXM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR29hbFJzIHtcbiAgY29kZTogICAgICAgICBudW1iZXI7XG4gIG5hbWU6ICAgICAgICAgc3RyaW5nO1xuICBtb250aGx5X2dvYWw6IG51bWJlcjtcbiAgd2Vla2x5X2dvYWw6ICBudW1iZXI7XG4gIGRhaWx5X2dvYWw6ICAgbnVtYmVyO1xuICBnb2FsX3BlcmlvZDogIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU92ZXJhbEdvYWxBZHZpc29yUnMge1xuICB0b3RhbE1vbnRobHlHb2FsOiBudW1iZXI7XG4gIGFsbEdvYWxzQWR2aXNvcjogIElBbGxHb2Fsc0Fkdmlzb3JSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBbGxHb2Fsc0Fkdmlzb3JScyB7XG4gIGNvZGU6ICAgICAgICAgbnVtYmVyO1xuICB1c2VyOiAgICAgICAgIG51bWJlcjtcbiAgZ29hbDogICAgICAgICBudW1iZXI7XG4gIHN0YXR1czogICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgIHN0cmluZztcbiAgbW9udGhseV9nb2FsOiBudW1iZXI7XG4gIHdlZWtseV9nb2FsOiAgbnVtYmVyO1xuICBkYWlseV9nb2FsOiAgIG51bWJlcjtcbiAgZ29hbF9wZXJpb2Q6ICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZXBvcnRDb2RGb3JBZHZpc2VyUnEge1xuICB0b2tlbjpzdHJpbmc7XG4gIGNvZGVfYWR2aXNlcjogbnVtYmVyO1xuICBjb2RlVHlwZUNvbnN1bHQ6IG51bWJlcixcbiAgc3RhcnRfZGF0ZTogRGF0ZTtcbiAgZmluaXNoX2RhdGU6IERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNyZWF0ZVRpY2tldFJlZmVycmFsUnEge1xuICB0b2tlbjogICAgICAgICBzdHJpbmc7XG4gIGNvZGVfcmVmZXJyYWw6IG51bWJlcjtcbiAgY29kZV9jb250ZXN0OiAgbnVtYmVyO1xuICBjb2RlX2F3YXJkOiAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVByaXplc0ZvckNvbnRlc3Qge1xuICBuZXdUaWNrZXQ6ICAgICAgSU5ld1RpY2tldFJzO1xuICB1cGRhdGVSZWZlcnJhbDogSVVwZGF0ZVJlZmVycmFsUnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5ld1RpY2tldFJzIHtcbiAgY29kZV9yZWZlcnJhbF9tYW5hZ2VtZW50OiBudW1iZXI7XG4gIHR5cGVfYXdhcmQ6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICB0eXBlX3RpY2tldDogICAgICAgICAgICAgIG51bWJlcjtcbiAgdXBkYXRlZF9hdDogICAgICAgICAgICAgICBEYXRlO1xuICBjcmVhdGVkX2F0OiAgICAgICAgICAgICAgIERhdGU7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGRhdGVSZWZlcnJhbFJzIHtcbiAgY29kZTogICAgICAgICAgICAgICBudW1iZXI7XG4gIHVzZXJfcmVmZXJyZWQ6ICAgICAgbnVtYmVyO1xuICBjb2RfY29kZTogICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9zdGF0dXM6ICAgICBudW1iZXI7XG4gIGFtb3VudF9wYXlhYmxlOiAgICAgbnVtYmVyO1xuICB0eXBlX21vdmVtZW50OiAgICAgIG51bGw7XG4gIHRyYW5zYWN0aW9uX251bWJlcjogbnVsbDtcbiAgY29kZV90aWtldDogICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUF2YWlsYWJsZUNvbnRlc3RzUnMge1xuICBjb250ZXN0OiBJQ29udGVzdFJzO1xuICBwcml6ZXM6ICBJUHJpemVSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb250ZXN0UnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIG5hbWU6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgY29tcGV0aXRpb25fc3RhcnRfZGF0ZTogRGF0ZTtcbiAgY29tcGV0aXRpb25fZW5kX2RhdGU6ICAgRGF0ZTtcbiAgdGVybXNfYW5kX2NvbmRpdGlvbnM6ICAgc3RyaW5nO1xuICB1cGRhdGVkX2F0OiAgICAgICAgICAgICBEYXRlO1xuICBjcmVhdGVkX2F0OiAgICAgICAgICAgICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcml6ZVJzIHtcbiAgY29kZV9hd2FyZDogICAgICAgIG51bWJlcjtcbiAgY29kZV90eXBlX3RpY2tldDogIG51bWJlcjtcbiAgYXdhcmRfbmFtZTogICAgICAgIHN0cmluZztcbiAgYXdhcmRfZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUHJpemVScyB7XG4gIGNvZGVfYXdhcmQ6ICAgICAgICBudW1iZXI7XG4gIGNvZGVfdHlwZV90aWNrZXQ6ICBudW1iZXI7XG4gIGF3YXJkX25hbWU6ICAgICAgICBzdHJpbmc7XG4gIGF3YXJkX2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvZERldGFpbHNieUFkdmlzZXIgIHtcbiAgdG9rZW46c3RyaW5nO1xuICBjb2RlX2FkdmlzZXI6IG51bWJlcjtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRQb3NpYmxlU3R1ZGVudEJ5RGF0ZVJxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIGNvZGVUeXBlQ29uc3VsdDogbnVtYmVyXG4gIHN0YXJ0X2RhdGU6ICAgICAgc3RyaW5nO1xuICBmaW5pc2hfZGF0ZTogICAgIHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUdldFVzZXJBZHZpc2VyQ29tbWVyY2lhbEJ5VHlwZUFzc2luZ0NvbnRhY3RzUnEge1xuICB0b2tlbjogICAgICAgICAgIHN0cmluZztcbiAgc3RhcnRfZGF0ZTogICAgICBzdHJpbmc7XG4gIGZpbmlzaF9kYXRlOiAgICAgc3RyaW5nO1xuICBjb2RlVHlwZUNvbnN1bHQ6IG51bWJlcjtcbiAgc2VsZWN0ZWR0eXBlQXNzaW5nOm51bWJlcjtcbiAgdmFsdWVBc2luZzogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBBc3NpbmdDdXN0b21lcnNCeVR5cGVBc3NpbmdDb250YWN0Rm9yQWR2aXNlclJxIHtcbiAgdG9rZW46ICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvZGVUeXBlQ29uc3VsdDogICAgbnVtYmVyO1xuICBmaW5pc2hfZGF0ZTogICAgICAgIHN0cmluZztcbiAgc2VsZWN0ZWR0eXBlQXNzaW5nOiBudW1iZXI7XG4gIHN0YXJ0X2RhdGU6ICAgICAgICAgc3RyaW5nO1xuICB2YWx1ZUFzaW5nOiAgICAgICAgIG51bWJlcjtcbiAgY29kZUFkdmlzZXI6ICAgICAgICBudW1iZXI7XG4gIGFzc2lnbm1lbnRzOiAgICAgICAgQXNzaWdubWVudFJxW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaWdubWVudFJxIHtcbiAgY29kZTogIG51bWJlcjtcbiAgdmFsdWU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBnZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvclJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgc3RhcnRfZGF0ZTogc3RyaW5nO1xuICBlbmRfZGF0ZTogc3RyaW5nO1xuICBpbmNsdWRlX2RldGFpbHM6IGZhbHNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVUeXBlUGF5bWVudFJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVDb21taXNzaW9uQXJlYVJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25Db3Vyc2VUeXBlc1RvQXJlYVJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgY29tbWlzc2lvbl9hcmVhX2NvZGU6IG51bWJlcjtcbiAgY291cnNlX3R5cGVfY29kZXM6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVQYXltZW50QXJlYUNvbW1pc3Npb25ScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGFyZWFfY291cnNlOiBudW1iZXI7XG4gIHR5cGVfcGF5bWVudDogbnVtYmVyO1xuICBhbW91bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRlVHlwZVVzZXJDb21taXNzaW9uUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvbmNlcHRfY29kZXM6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25Db21taXNzaW9uTW9kZWxUb1VzZXJScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHVzZXJfY29kZTogbnVtYmVyO1xuICB0eXBlX3VzZXJfY29tbWlzc2lvbl9jb2RlOiBudW1iZXI7XG4gIGdvYWxfY29kZT86IG51bWJlcjtcbiAgYm9udXNfYW1vdW50PzogbnVtYmVyO1xuICBwZXJjZW50YWdlX3JhdGU/OiBudW1iZXI7XG4gIHBhcmFtczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRBY3RpdmVDb21taXNzaW9uR29hbEZvclVzZXJScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHVzZXJfY29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXlDb21taXNzaW9uc1JxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgdXNlcl9jb2RlczogbnVtYmVyW107XG4gIHN0YXJ0X2RhdGU6IHN0cmluZztcbiAgZW5kX2RhdGU6IHN0cmluZztcbiAgbm90ZXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldFN1bW1hcnlCeUNvbW1lcmNpYWxBZHZpc29yUnEge1xuICAgIHRva2VuOiBzdHJpbmc7XG4gICAgc3RhcnRfZGF0ZT86IHN0cmluZztcbiAgICBlbmRfZGF0ZT86IHN0cmluZztcbiAgICBjYW1wdXM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldENvZFN0dWRlbnREZXRhaWxzQnlBZHZpc2VyUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBzdGFydF9kYXRlPzogc3RyaW5nO1xuICBlbmRfZGF0ZT86IHN0cmluZztcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElUb2tlblJxIHtcbiAgICB0b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGRhdGVQYXltZW50QXJlYUNvbW1pc3Npb25ScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGFtb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb21taXNzaW9uQ29uZGl0aW9uIHtcbiAgY29kZTogbnVtYmVyO1xuICBrZXk6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWdyZWVtZW50IHtcbiAgY29kZTogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZENvbmRpdGlvblRvUnVsZVJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgY29uZGl0aW9uX2lkOiBudW1iZXI7XG4gIG9wZXJhdG9yOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVwZGF0ZVR5cGVQYXltZW50UnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsO1xuICB0eXBlOiBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0UHJlYXNzaWduZWRDb3Vyc2VzQW5kU3R1ZGVudEVucm9sbFJzIHtcbiAgICBzdHVkZW50OiAgICAgICAgICAgICAgICBJSXB0VXNlckZ1bGxEYXRhUnE7XG4gICAgcHJlQXNzaWduZWRDb3Vyc2VzOiAgICAgbnVtYmVyW107XG4gICAgcmVnaXN0cmF0aW9uSW5Qcm9ncmVzczogSVJlZ2lzdHJhdGlvbkluUHJvZ3Jlc3NSc1tdO1xuICAgIGhhc0Vucm9sbG1lbnRzOiAgICAgICAgIGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlZ2lzdHJhdGlvbkluUHJvZ3Jlc3NScyB7XG4gICAgY29kZTogICAgICAgICAgICAgICAgICBudW1iZXI7XG4gICAgY291cnNlOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gICAgY291cnNlX3R5cGU6ICAgICAgICAgICBudW1iZXI7XG4gICAgYWdyZWVtZW50OiAgICAgICAgICAgICBudW1iZXI7XG4gICAgZW5nbGlzaF9sZXZlbDogICAgICAgICBudW1iZXI7XG4gICAgc3R1ZGVudDogICAgICAgICAgICAgICBudW1iZXI7XG4gICAgcGFyZW50OiAgICAgICAgICAgICAgICBudW1iZXI7XG4gICAgYWRpdGlvbmFsX2luZm9ybWF0aW9uOiBudW1iZXI7XG4gICAgYWR2aXNlcjogICAgICAgICAgICAgICBudW1iZXI7XG4gICAgY29kX3N0YXR1czogICAgICAgICAgICBudW1iZXI7XG4gICAgY29kX3ByaWNlOiAgICAgICAgICAgICBudW1iZXI7XG4gICAgY29kX3BhaWQ6ICAgICAgICAgICAgICBudW1iZXI7XG4gICAgYWNjZXB0X3Rlcm1zX2NvZGU6ICAgICBudW1iZXIgfCBudWxsO1xuICAgIGNyZWF0ZWRfYXQ6ICAgICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZW5ld2FsUmVzdWx0UnMge1xuICBzdHVkZW50X2NvZGU6IG51bWJlcjtcbiAgc3R1ZGVudF9uYW1lOiBzdHJpbmc7XG4gIHN0dWRlbnRfaWRfY2FyZDogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbiAgZGF0YTogYW55OyAvLyBQdWVkZXMgdGlwYXIgZXN0byBtw6FzIGVzcGVjw61maWNhbWVudGUgc2kgY29ub2NlcyBsYSBlc3RydWN0dXJhIGRlIGRhdGFcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVuZXdhbEVycm9yUnMge1xuICBzdHVkZW50X2NvZGU6IG51bWJlcjtcbiAgc3R1ZGVudF9uYW1lOiBzdHJpbmc7XG4gIHN0dWRlbnRfaWRfY2FyZDogc3RyaW5nO1xuICBzdGF0dXM6IG51bWJlcjtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICB3YXJuaW5nPzogYW55OyAvLyBQdWVkZSBzZXIgdW4gb2JqZXRvIG8gc3RyaW5nIChzZSBwYXJzZWEgc2kgZXMgbmVjZXNhcmlvKVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFeHRlbmRlZENvZEJ5c3R1ZGVudHNScyBleHRlbmRzIElDb2RCeXN0dWRlbnRzUnMge1xuICBpc19yZW5ld2VkPzogYm9vbGVhbjtcbiAgcmVuZXdhbF9lcnJvcj86IHN0cmluZyB8IG51bGw7XG4gIG5ld19jb2RfZGF0YT86IGFueTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUxvY2FsUmVuZXdhbFJlc3VsdFJzIHtcbiAgc3R1ZGVudF9jb2RlOiBzdHJpbmc7XG4gIHN0dWRlbnRfbmFtZTogc3RyaW5nO1xuICBzdHVkZW50X2lkX2NhcmQ6IHN0cmluZztcbiAgZGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMb2NhbFJlbmV3YWxFcnJvclJzIHtcbiAgc3R1ZGVudF9jb2RlOiBzdHJpbmc7XG4gIHN0dWRlbnRfbmFtZTogc3RyaW5nO1xuICBzdHVkZW50X2lkX2NhcmQ6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICB3YXJuaW5nPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25TdWJvcmRpbmF0ZVJxIGV4dGVuZHMgSVRva2VuUnEge1xuICBtYW5hZ2VyX2NvZGU6IG51bWJlcjtcbiAgc3Vib3JkaW5hdGVfY29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZW1vdmVTdWJvcmRpbmF0ZVJxIGV4dGVuZHMgSVRva2VuUnEge1xuICBtYW5hZ2VyX2NvZGU6IG51bWJlcjtcbiAgc3Vib3JkaW5hdGVfY29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25TdWJvcmRpbmF0ZXNNYXNzaXZlUnEgZXh0ZW5kcyBJVG9rZW5ScSB7XG4gIG1hbmFnZXJfY29kZTogbnVtYmVyO1xuICBzdWJvcmRpbmF0ZV9jb2RlczogbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVwZGF0ZVR5cGVVc2VyQ29tbWlzc2lvblJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBjb25jZXB0X2NvZGVzOiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5U2VsZWN0ZWRDb21taXNzaW9uc1JxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgdXNlcl9jb2RlOiBudW1iZXI7XG4gIGNvbW1pc3Npb25zX3RvX3BheTogSUNvbW1pc3Npb25zVG9QYXlScVtdO1xuICBvYnNlcnZhdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb21taXNzaW9uc1RvUGF5UnEge1xuICBjb2RfY29kZTogbnVtYmVyO1xuICBjb21taXNzaW9uX2Ftb3VudDogbnVtYmVyO1xuICBtb3Rpdm9fZGV0YWxsZTogc3RyaW5nO1xuICBydWxlX2NvZGVfYXBwbGllZDogbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5QWR2aXNvckJvbnVzZXNScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHVzZXJfY29kZTogbnVtYmVyO1xuICBzdGFydF9kYXRlOiBzdHJpbmc7XG4gIGVuZF9kYXRlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldFN1Ym9yZGluYXRlc1JxIGV4dGVuZHMgSVRva2VuUnEge1xuICBtYW5hZ2VyX2NvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTWFuYWdlU3Vib3JkaW5hdGVScSBleHRlbmRzIElUb2tlblJxIHtcbiAgbWFuYWdlcl9jb2RlOiBudW1iZXI7XG4gIHN1Ym9yZGluYXRlX2NvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGVsZXRlVHlwZVVzZXJDb21taXNzaW9uUnEge1xuICB0b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb25zdWx0Q29tbWlzc2lvbnNCeUFkdmlzZXJScyB7XG4gIGNvZHM6ICAgICAgICAgSUNvbW1pc3Npb25MaXN0UnNbXTtcbiAgdHJhbnNhY3Rpb25zOiBJVHJhbnNhY3Rpb25Sc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb21taXNzaW9uTGlzdFJzIHtcbiAgYWR2aXNlcl9jb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb2RfY29kZTogICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIHN0dWRlbnRfbmFtZTogICAgICAgICAgICAgIHN0cmluZztcbiAgY29kX3N0YXR1c19jb2RlOiAgICAgICAgICAgbnVtYmVyO1xuICBjb2Rfc3RhdHVzX25hbWU6ICAgICAgICAgICBzdHJpbmc7XG4gIGNvZF9kYXRlOiAgICAgICAgICAgICAgICAgIERhdGU7XG4gIGNvdXJzZV90eXBlX25hbWU6ICAgICAgICAgIHN0cmluZztcbiAgY291cnNlX3R5cGVfbGFiZWw6ICAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfY29kZTogICAgICAgICAgICAgICBudW1iZXIgfCBudWxsO1xuICBhZ3JlZW1lbnRfY29kZTogICAgICAgICAgICBudW1iZXI7XG4gIGFncmVlbWVudF9uYW1lOiAgICAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gIGNvbW1pc3Npb25fYXJlYV9uYW1lOiAgICAgIHN0cmluZyB8IG51bGw7XG4gIHBsYW5fZGVfcGFnbzogICAgICAgICAgICAgIHN0cmluZztcbiAgcGF5bWVudF90eXBlX25hbWU6ICAgICAgICAgc3RyaW5nO1xuICBydWxlX2NvZGVfYXBwbGllZDogICAgICAgICBudW1iZXIgfCBudWxsO1xuICBydWxlX2Jhc2VfYW1vdW50OiAgICAgICAgICBudW1iZXIgfCBzdHJpbmcgfCBudWxsO1xuICBydWxlX2NvbmRpdGlvbnM6ICAgICAgICAgICBudWxsIHwgc3RyaW5nO1xuICBjb21taXNzaW9uX3N0YXR1czogICAgICAgICBudW1iZXI7XG4gIG1vdGl2b19kZXRhbGxlOiAgICAgICAgICAgIHN0cmluZztcbiAgY29tbWlzc2lvbl9hbW91bnQ6ICAgICAgICAgbnVtYmVyIHwgc3RyaW5nO1xuICBjb2RfcHJpY2U6ICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIHBheW1lbnRzX29rOiAgICAgICAgICAgICAgIGJvb2xlYW47XG4gIGV4aXN0aW5nX2NvbW1pc3Npb246ICAgICAgIGJvb2xlYW47XG4gIHN0dWRlbnRfaWRfY2FyZD86ICAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gIGNvbW1pc3Npb25fY29kZTogICAgICAgICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25fY29kZTogICAgICAgICAgbnVtYmVyO1xuICB0eXBlOiAgICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIHBheW1lbnRfdmFsaWRhdGlvbjogICAgICAgIFBheW1lbnRWYWxpZGF0aW9uO1xuICB2YWxpZGF0aW9uOiAgICAgICAgICAgICAgICBWYWxpZGF0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJvbnVzTGlzdFJzIHtcbiAgY29tbWlzc2lvbl9zdGF0dXM6IG51bWJlcjtcbiAgdHlwZTogICAgICAgICAgICAgIHN0cmluZztcbiAgbW90aXZvX2RldGFsbGU6ICAgIHN0cmluZztcbiAgY29tbWlzc2lvbl9hbW91bnQ6IG51bWJlcjtcbiAgY29uZmlndXJlZF9hbW91bnQ6IG51bWJlcjtcbiAgYWNoaWV2ZWRfcXVhbnRpdHk6IG51bWJlcjtcbiAgdGFyZ2V0X3F1YW50aXR5OiAgIG51bWJlcjtcbiAgYWR2aXNlcl9jb2RlOiAgICAgIG51bWJlcjtcbiAgYm9udXNfcnVsZTogICAgICAgIG51bWJlciB8IG51bGw7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBJRXhpc3RpbmdDb21taXNzaW9uRGF0YVJzIHtcbiAgY29kZTogICAgICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIHRyYW5zYWN0aW9uX2NvZGU6ICAgICAgICAgbnVtYmVyO1xuICB1c2VyX2NvbW1pc3Npb246ICAgICAgICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25fc3RhdHVzOiAgICAgICBudW1iZXI7XG4gIGFtb3VudDogICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb2RfY29kZTogICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9jb21taXNzaW9uczogICAgICBudW1iZXI7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgICAgICAgICAgRGF0ZTtcbiAgdXBkYXRlZF9hdDogICAgICAgICAgICAgICBEYXRlO1xuICBwYXltZW50X2FyZWFfY29tbWlzc2lvbj86IFBheW1lbnRBcmVhQ29tbWlzc2lvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXltZW50QXJlYUNvbW1pc3Npb24ge1xuICBjb2RlOiAgICAgICAgIG51bWJlcjtcbiAgdHlwZV9wYXltZW50OiBUeXBlUGF5bWVudDtcbiAgYXJlYV9jb3Vyc2U6ICBudW1iZXI7XG4gIGFtb3VudDogICAgICAgc3RyaW5nO1xuICBzdGF0dXM6ICAgICAgIG51bWJlcjtcbiAgY3JlYXRlZF9hdDogICBEYXRlO1xuICB1cGRhdGVkX2F0OiAgIERhdGU7XG4gIGRlbGV0ZWRfYXQ6ICAgRGF0ZSB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVBheW1lbnQge1xuICBjb2RlOiAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogbnVsbDtcbiAgdHlwZTogICAgICAgIHN0cmluZztcbiAgY3JlYXRlZF9hdDogIERhdGU7XG4gIHVwZGF0ZWRfYXQ6ICBEYXRlO1xuICBkZWxldGVkX2F0OiAgRGF0ZSB8IG51bGw7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBQYXltZW50VmFsaWRhdGlvbiB7XG4gIGVucm9sbG1lbnRfb2s6ICAgICAgYm9vbGVhbjtcbiAgZmVlMV9vazogICAgICAgICAgICBib29sZWFuO1xuICBpbnN0YWxsbWVudHNfcGFpZDogIG51bWJlcjtcbiAgcGF5bWVudHNfb2s6ICAgICAgICBib29sZWFuO1xuICBlbnJvbGxtZW50X3BhaWQ6ICAgIG51bWJlcjtcbiAgZW5yb2xsbWVudF9wZW5kaW5nOiBudW1iZXI7XG4gIGZlZTFfcGFpZDogICAgICAgICAgbnVtYmVyO1xuICBmZWUxX3BlbmRpbmc6ICAgICAgIG51bWJlcjtcbiAgdG90YWxfcGFpZDogICAgICAgICBudW1iZXI7XG4gIHRvdGFsX3BlbmRpbmc6ICAgICAgbnVtYmVyO1xuICBudW1iZXJfcGFpZDogICAgICAgIG51bWJlcjtcbiAgbnVtYmVyX3BlbmRpbmc6ICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvbiB7XG4gIGtleTogICAgICAgc3RyaW5nO1xuICBvcGVyYXRvcjogIHN0cmluZztcbiAgdmFsdWU6ICAgICBzdHJpbmc7XG4gIGNvZF92YWx1ZTogbnVtYmVyIHwgc3RyaW5nO1xuICBjaGVjazogICAgIGJvb2xlYW47XG4gIG1lc3NhZ2U6ICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2FjdGlvblJzIHtcbiAgY29kZTogICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X2JpbGxfY29kZTogICBudW1iZXIgfCBudWxsO1xuICBnZW5lcmF0ZWRfYnk6ICAgICAgICBJVXNlclRyYW5zYWN0aW9uUnMgfCBudW1iZXIgIHwgbnVsbDtcbiAgYXBwcm92ZWRfYnk6ICAgICAgICAgSVVzZXJUcmFuc2FjdGlvblJzIHwgbnVtYmVyIHwgbnVsbDtcbiAgdXNlcl9jb21taXNzaW9uOiAgICAgbnVtYmVyO1xuICB0cmFuc2FjdGlvbl9zdGF0dXM6ICBudW1iZXI7XG4gIG9ic2VydmF0aW9uOiAgICAgICAgIHN0cmluZztcbiAgc3RhcnRfdHJhbnNhY3Rpb246ICAgRGF0ZTtcbiAgZW5kX3RyYW5zYWN0aW9uOiAgICAgRGF0ZSB8IG51bGw7XG4gIGRlbGV0ZWRfYXQ6ICAgICAgICAgIERhdGUgfCBudWxsO1xuICB1cGRhdGVkX2F0OiAgICAgICAgICBEYXRlIHwgbnVsbDtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgRGF0ZSB8IG51bGw7XG4gIG1hbmFnZWRfY29tbWlzc2lvbnM/OiBJRXhpc3RpbmdDb21taXNzaW9uRGF0YVJzW10gfCBJQ29tbWlzc2lvbkxpc3RSc1tdO1xuICBtYW5hZ2VkX2JvbnVzPzogICAgICAgSU1hbmFnZWRCb251c1JzW107XG4gIHBheW1lbnRfYmlsbD86ICAgICAgICBudW1iZXIgfCBJUGF5bWVudEJpbGxHcmFwaFJzIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTWFuYWdlZEJvbnVzUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgdXNlcl9ib251czogICAgICAgICBudW1iZXI7XG4gIGFtb3VudDogICAgICAgICAgICAgbnVtYmVyO1xuICBib251c19ydWxlOiAgICAgICAgIG51bWJlcjtcbiAgY29kX3JlYWNoZWQ6ICAgICAgICBudW1iZXI7XG4gIHRyYW5zYWN0aW9uX3N0YXR1czogbnVtYmVyO1xuICB0cmFuc2FjdGlvbl9jb2RlOiAgIG51bWJlcjtcbiAgcGVyaW9kX21vbnRoOiAgICAgICBudW1iZXI7XG4gIHBlcmlvZF95ZWFyOiAgICAgICAgbnVtYmVyO1xuICBkZWxldGVkX2F0OiAgICAgICAgIERhdGUgfCBudWxsO1xuICBjcmVhdGVkX2F0OiAgICAgICAgIERhdGU7XG4gIHVwZGF0ZWRfYXQ6ICAgICAgICAgRGF0ZTtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyVHJhbnNhY3Rpb25ScyB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG4vLyBleHBvcnQgaW50ZXJmYWNlIElHZXRDb21taXNzaW9uc0J5VHJhbnNhY3Rpb25Db2RlUnEge1xuLy8gICB0b2tlbjogc3RyaW5nO1xuLy8gICB0cmFuc2FjdGlvbl9jb2RlOiBudW1iZXI7XG4vLyAgIGVuZF9kYXRlPzogc3RyaW5nO1xuLy8gfVxuXG5leHBvcnQgaW50ZXJmYWNlIElBcHByb3ZlVHJhbnNhY3Rpb25Db21taXNzaW9uUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICB0cmFuc2FjdGlvbl9jb2RlOiBudW1iZXI7XG4gIG9ic2VydmF0aW9uOiBzdHJpbmc7XG4gIHdhbGxldDogIG51bWJlcjtcbiAgYmFuayA6IG51bWJlcjtcbiAgcGF5bWVudF9yZWZlcmVuY2U6IG51bWJlcjtcbiAgcGF5bWVudF9tZXRob2Q6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJcmVqZWN0VHJhbnNhY3Rpb25Db21taXNzaW9uUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICB0cmFuc2FjdGlvbl9jb2RlOiBudW1iZXI7XG4gIG9ic2VydmF0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVkaXRDb25kaXRpb25SdWxlUnEge1xuICB0b2tlbjogICAgICAgIHN0cmluZztcbiAgY29kZTogICAgICAgICBudW1iZXI7XG4gIG9wZXJhdG9yOiAgICAgc3RyaW5nO1xuICB2YWx1ZTogICAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXBwcm92ZVRyYW5zYWN0aW9uUnMge1xuICB0cmFuc2FjdGlvbjogICAgICAgIElUcmFuc2FjdGlvblJzO1xuICBiaWxsOiAgICAgICAgICAgICAgIElCaWxsQ3JlYXRlZFJzO1xuICBiaWxsX29ic2VydmF0aW9uPzogIElCaWxsT2JzZXJ2YXRpb25MaXN0UnM7XG4gIGNvbW1pc3Npb25zOiAgICAgICAgSUNvbW1pc3Npb25MaXN0UnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQmlsbENyZWF0ZWRScyB7XG4gIHBheW1lbnRfbWV0aG9kOiAgICAgbnVtYmVyO1xuICBwYXltZW50X3NlcnZpY2VzOiAgIG51bWJlcjtcbiAgcGF5bWVudF93YWxsZXQ6ICAgICBudW1iZXI7XG4gIGJhbms6ICAgICAgICAgICAgICAgc3RyaW5nO1xuICBwYXltZW50X3JlZmVyZW5jZTogIHN0cmluZztcbiAgZ2VuZXJhdGVkX2ZvcjogICAgICBudW1iZXI7XG4gIGdlbmVyYXRlZF9ieTogICAgICAgbnVtYmVyO1xuICB0eXBlX21vdmVtZW50czogICAgIG51bWJlcjtcbiAgY29tbW9uX2V4cGVuc2VzOiAgICBudW1iZXI7XG4gIHRvdGFsX2Ftb3VudDogICAgICAgbnVtYmVyO1xuICBwYXltZW50X2Ftb3VudDogICAgIG51bWJlcjtcbiAgb3V0c3RhbmRpbmdfYW1vdW50OiBudW1iZXI7XG4gIHBvc2l0aXZlX2Ftb3VudDogICAgbnVtYmVyO1xuICBkaXNjb3VudDogICAgICAgICAgIG51bWJlcjtcbiAgcGF5ZXJfbmFtZTogICAgICAgICBudWxsO1xuICBwYXllcl9kb2N1bWVudDogICAgIG51bGw7XG4gIHBheW1lbnRfZGF0ZTogICAgICAgRGF0ZTtcbiAgb2JzZXJ2YXRpb246ICAgICAgICBzdHJpbmc7XG4gIHRyYW5zZmVyX2NvZGU6ICAgICAgbnVsbDtcbiAgY29kZTogICAgICAgICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJpbGxPYnNlcnZhdGlvbkxpc3RScyB7XG4gIGRldGFpbHM6ICAgICAgICAgICBJRGV0YWlsQmlsbFJzW107XG4gIHRvdGFsX2NvbW1pc3Npb25zOiBudW1iZXI7XG4gIHRvdGFsX2Ftb3VudDogICAgICBudW1iZXI7XG4gIHBlcmlvZDogICAgICAgICAgICBJUGVyaW9kQmlsbFJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEZXRhaWxCaWxsUnMge1xuICBhcmVhOiAgICAgc3RyaW5nO1xuICBxdWFudGl0eTogbnVtYmVyO1xuICBhbW91bnQ6ICAgbnVtYmVyO1xuICBzdGF0dXNlczogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQZXJpb2RCaWxsUnMge1xuICBmcm9tOiBzdHJpbmc7XG4gIHRvOiAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2hvd1RyYW5zYWN0aW9uQmlsbFJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgY29kZTogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWFkZERldm9sdXRpb25Db21taXNzaW9uUnEge1xuICB0b2tlbjogICAgICAgICAgICAgIHN0cmluZztcbiAgY29tbWlzc2lvbl9jb2RlOiAgICBudW1iZXI7XG4gIHRyYW5zYWN0aW9uX2NvZGU6ICAgbnVtYmVyO1xuICBjb21taXNzaW9uc190b19kZXZvbHZlIDogSWNvbW1pc3Npb25zX3RvX2Rldm9sdmVScVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljb21taXNzaW9uc190b19kZXZvbHZlUnEge1xuICBjb21taXNzaW9uX2NvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJb2J0YWluVHJhbnNhY3Rpb25zQnlTdGF0dXNScSB7XG4gIHRva2VuOiAgICAgICBzdHJpbmc7XG4gIHN0YXR1czogICAgICBudW1iZXI7XG4gIHVzZXJfY29kZTogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWFkdmlzZXJSZXN1bWVScyB7XG4gIHN0YXR1czogICAgICAgc3RyaW5nO1xuICBtZXNzYWdlOiAgICAgIHN0cmluZztcbiAgcmFuZ29fZmVjaGFzOiBJUmFuZ29GZWNoYXNScztcbiAgcmVzdW1lbjogICAgICBJUmVzdW1lbkFkdmlzb3JScztcbiAgYXNlc29yZXM6ICAgICBJQXZpc29yRGV0YWlsdFJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJhbmdvRmVjaGFzUnMge1xuICBmZWNoYV9pbmljaW86IERhdGU7XG4gIGZlY2hhX2ZpbjogICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXZpc29yRGV0YWlsdFJzIHtcbiAgZ2VuZXJhbDogICAgICAgICBJQWR2aXNvckdlbmVyYWxScztcbiAgbWV0cmljYXM6ICAgICAgICBJTWV0cmljc1JzO1xuICBjb21pc2lvbmVzOiAgICAgIElCb25vc0NvbW1pc3Npb25ScztcbiAgYm9ub3M6ICAgICAgICAgICBJQm9ub3NDb21taXNzaW9uUnM7XG4gIHRyYW5zYWNjaW9uZXM6ICAgSVRyYW5zYWNjaW9uZXNMaXN0UnM7XG4gIGFkdmVydGVuY2lhczogICAgYW55W107XG4gIGFjdGl2ZV9jb25jZXB0czogc3RyaW5nW107XG4gIGV2YWx1YXRpb25zOiAgICAgSUNvbW1pc3Npb25MaXN0UnNbXSB8IElCb251c0xpc3RSc1tdIDtcbiAgZWZlY3RpdmlkYWQ6ICAgICBJRWZlY3RpdmlkYWRScztcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElBZHZpc29yR2VuZXJhbFJzIHtcbiAgY29kaWdvX2FzZXNvcjogICAgICAgIG51bWJlcjtcbiAgbm9tYnJlX2FzZXNvcjogICAgICAgIHN0cmluZztcbiAgcm9sX2FzZXNvcjogICAgICAgICAgIElSb2xBc2Vzb3JScztcbiAgdGlwb19jb250cmF0b19ub21icmU6IHN0cmluZztcbiAgdGlwb19jb250cmF0bzogICAgICAgIElUaXBvQ29udHJhdG9ScztcbiAgbWF0cmljdWxhZG9zOiAgICAgICAgIG51bWJlcjtcbiAgYWN0aXZvczogICAgICAgICAgICAgIG51bWJlcjtcbiAgcmV0aXJhZG9zOiAgICAgICAgICAgIG51bWJlcjtcbiAgcGF1c2Fkb3M6ICAgICAgICAgICAgIG51bWJlcjtcbiAgY3VsbWluYWRvczogICAgICAgICAgIG51bWJlcjtcbiAgc3VzcGVuZGlkb3M6ICAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUm9sQXNlc29yUnMge1xuICBjb2RlOiBudW1iZXI7XG4gIHJvbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGlwb0NvbnRyYXRvUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIG5hbWU6ICAgICAgICAgICAgICAgIHN0cmluZztcbiAgc3RhdHVzOiAgICAgICAgICAgICAgbnVtYmVyO1xuICBjcmVhdGVkX2F0OiAgICAgICAgICBEYXRlO1xuICB1cGRhdGVkX2F0OiAgICAgICAgICBEYXRlO1xuICBjb21taXNzaW9uX2NvbmNlcHRzOiBJQ29tbWlzc2lvbkNvbmNlcHRSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb21taXNzaW9uQ29uY2VwdFJzIHtcbiAgY29kZTogICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgIHN0cmluZztcbiAga2V5OiAgICAgICAgIHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgcGl2b3Q6ICAgICAgIElQaXZvdFR5cGVVc2VyQ29tbWlzc2lvbkNvbmNlcHRScztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGl2b3RUeXBlVXNlckNvbW1pc3Npb25Db25jZXB0UnMge1xuICB0eXBlX3VzZXJfY29tbWlzc2lvbl9jb2RlOiBudW1iZXI7XG4gIGNvbW1pc3Npb25fY29uY2VwdF9jb2RlOiAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVzdW1lbkFkdmlzb3JScyB7XG4gIGdlbmVyYWw6ICAgICAgIElSZXN1bWVuR2VuZXJhbFJzO1xuICBtZXRyaWNhczogICAgICBJTWV0cmljc1JzO1xuICBjb21pc2lvbmVzOiAgICBJQm9ub3NDb21taXNzaW9uUnM7XG4gIGJvbm9zOiAgICAgICAgIElCb25vc0NvbW1pc3Npb25ScztcbiAgdHJhbnNhY2Npb25lczogSVRyYW5zYWNjaW9uZXNMaXN0UnM7XG4gIGVmZWN0aXZpZGFkOiAgIElFZmVjdGl2aWRhZFJzO1xuICBhZHZlcnRlbmNpYXM6ICBhbnlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVzdW1lbkdlbmVyYWxScyB7XG4gIHRvdGFsX2FzZXNvcmVzOiBudW1iZXI7XG4gIG1hdHJpY3VsYWRvczogICBudW1iZXI7XG4gIGFjdGl2b3M6ICAgICAgICBudW1iZXI7XG4gIHJldGlyYWRvczogICAgICBudW1iZXI7XG4gIHBhdXNhZG9zOiAgICAgICBudW1iZXI7XG4gIGN1bG1pbmFkb3M6ICAgICBudW1iZXI7XG4gIHN1c3BlbmRpZG9zOiAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1ldHJpY3NScyB7XG4gIG1hdHJpY3VsYV9wYWdhZGFfY291bnQ6ICAgICAgICAgIG51bWJlcjtcbiAgbWF0cmljdWxhX3BhZ2FkYV9wZXJjZW50YWdlOiAgICAgbnVtYmVyO1xuICBwcmltZXJhX2N1b3RhX3BhZ2FkYV9jb3VudDogICAgICBudW1iZXI7XG4gIHByaW1lcmFfY3VvdGFfcGFnYWRhX3BlcmNlbnRhZ2U6IG51bWJlcjtcbiAgZWZlY3RpdmlkYWRfY291bnQ6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICBlZmVjdGl2aWRhZF9wZXJjZW50YWdlOiAgICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zYWNjaW9uZXNMaXN0UnMge1xuICB0b3RhbF90cmFuc2FjY2lvbmVzOiBudW1iZXI7XG4gIHRvZGFzOiAgICAgICAgICAgICAgIElUcmFuc2FjdGlvblJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJvbm9zQ29tbWlzc2lvblJzIHtcbiAgcGVuZGllbnRlc19jb3VudDogbnVtYmVyO1xuICBtb250b19wZW5kaWVudGU6ICBudW1iZXI7XG4gIHBhZ2Fkb3NfY291bnQ6ICAgIG51bWJlcjtcbiAgbW9udG9fcGFnYWRvOiAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFZmVjdGl2aWRhZFJzIHtcbiAgcG9yY2VudGFqZTogbnVtYmVyO1xuICBjYXRlZ29yaWE6ICBzdHJpbmc7XG4gIGNvbG9yOiAgICAgIHN0cmluZztcbiAgbWVuc2FqZTogICAgc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVyY2lhbC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb3JlL21vZGVscy9jb21tZXJjaWFsL2NvbW1lcmNpYWwubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDb2RCeXN0dWRlbnRzUnMgfSBmcm9tIFwiLi4vY29kL2NvZC1ycS5tb2RlbFwiO1xuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gXCIuLi9wYXJhbWV0ZXJzL3BhcmFtZXRlcnMtcnMubW9kZWxcIjtcbmltcG9ydCB7IElJcHRVc2VyRnVsbERhdGFScSB9IGZyb20gXCIuLi91c2VyL3VzZXItcnEubW9kZWxcIjtcbmltcG9ydCB7SVBheW1lbnRCaWxsR3JhcGhSc30gZnJvbSBcIi4uL2J1ZGdldC9idWRnZXQubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb2RQcmljZXMge1xuICBjb2RlOiBudW1iZXIsXG4gIG5hbWU6IHN0cmluZyxcbiAgYWdyZWVtZW50OiBudW1iZXIsXG4gIGVucm9sbG1lbnQ6IG51bWJlcixcbiAgbm9ybWFsX3ByaWNlOiBudW1iZXIsXG4gIGZpbmFuY2VkX3ByaWNlOiBudW1iZXIsXG4gIGZlZV9udW1iZXI6IG51bWJlcixcbiAgcXVvdGFfcHJpY2U6IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmVudEJ5Q29kZVJxIHtcbiAgcGFyZW50X2NvZGU6IG51bWJlciB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRpY0luZm9CeUNvZGVScSB7XG4gIGFkaWNfaW5mbzogbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RBZGl0aW9uYWxJbmZvcm1hdGlvblJxIHtcbiAgY29kZTogICAgICAgICAgICAgICBudW1iZXI7XG4gIGdyYWRlOiAgICAgICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgcHJvZ3JhbV9uYW1lOiAgICAgICBzdHJpbmcgfCBudWxsO1xuICBpbnN0aXR1dGlvbl9uYW1lOiAgIHN0cmluZyB8IG51bGw7XG4gIG9jY3VwYXRpb246ICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgcGFyZW50X29jY3VwYXRpb246ICBzdHJpbmcgfCBudWxsO1xuICBkaXNhYmlsaXR5OiAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gIGhlYWx0aF9yZWdpbWVuOiAgICAgc3RyaW5nIHwgbnVsbDtcbiAgbWFya2V0aW5nX3JlYXNvbnM6ICBudW1iZXI7XG4gIHN0dWR5X3JlYXNvbnM6ICAgICAgbnVtYmVyO1xuICBvYnNlcnZhdGlvbjogICAgICAgIHN0cmluZyB8IG51bGw7XG4gIGhlYWRfb2ZfdGhlX2ZhbWlseTogbnVtYmVyO1xuICBhZnJvX2Rlc2NlbmRhbnQ6ICAgIG51bWJlcjtcbiAgZGlzcGxhY2VkOiAgICAgICAgICBudW1iZXI7XG4gIGluZGlnZW5vdXM6ICAgICAgICAgbnVtYmVyO1xuICByZWluc2VydGVkOiAgICAgICAgIG51bWJlcjtcbiAgcm9tX3BvcHVsYXRpb246ICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kUGFyZW50UnEge1xuICBjb2RlOiAgICAgICAgICAgICBudW1iZXI7XG4gIG5hbWU6ICAgICAgICAgICAgIHN0cmluZztcbiAgbGFzdF9uYW1lOiAgICAgICAgc3RyaW5nO1xuICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gIGlkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgcGhvbmVfaW5kaWNhdGl2ZTogbnVtYmVyO1xuICBwaG9uZV9udW1iZXI6ICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kUHJpY2VzUnEge1xuICBhZ3JlZW1lbnQ6ICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9tZXRob2Q6ICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdvYWxJbnRlcmZhY2VSc3tcbiAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gIGNvZGU6ICAgICAgICAgbnVtYmVyLFxuICBuYW1lOiAgICAgICAgIHN0cmluZyxcbiAgbW9udGhseV9nb2FsOiBudW1iZXIsXG4gIHdlZWtseV9nb2FsOiAgbnVtYmVyLFxuICBkYWlseV9nb2FsOiAgIG51bWJlcixcbiAgZ29hbF9wZXJpb2Q6ICBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdvYWxJbnRlcmZhY2VScXtcbiAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gIG5hbWU6ICAgICAgICAgc3RyaW5nLFxuICBtb250aGx5X2dvYWw6IG51bWJlcixcbiAgd2Vla2x5X2dvYWw6ICBudW1iZXIsXG4gIGRhaWx5X2dvYWw6ICAgbnVtYmVyLFxuICBnb2FsX3BlcmlvZDogIERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR29hbEludGVyZmFjZXtcbiAgY29kZTogICAgICAgICBudW1iZXIsXG4gIG5hbWU6ICAgICAgICAgc3RyaW5nLFxuICBtb250aGx5X2dvYWw6IG51bWJlcixcbiAgd2Vla2x5X2dvYWw6ICBudW1iZXIsXG4gIGRhaWx5X2dvYWw6ICAgbnVtYmVyLFxuICBnb2FsX3BlcmlvZDogIERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSAgRG9jdW1lbnRzUnF7XG4gIGZpbGU6IEZpbGU7XG4gIHVzZXJfYXV0b3I6IG51bWJlcjtcbiAgY29kZV91c2VyOiBudW1iZXI7XG4gIHR5cGVfZG9jdW1lbnQ6IG51bWJlcjtcbiAgdG9rZW46c3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXREb2N1bWVudFN0dWRlbnRScXtcbiAgY29kZV91c2VyOiBudW1iZXI7XG4gIHRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURvY3VtZW50c1Jze1xuICBjb2RlOiBudW1iZXI7XG4gIGNvZGVfbWVkaWE6IElNZWRpYVJzO1xuICBjb2RlX3VzZXI6IG51bWJlcjtcbiAgc3RhdHVzOiBudW1iZXI7XG4gIHR5cGVfZG9jdW1lbnQ6SVR5cGVEb2N1bWVudHNOYW1lUnM7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTWVkaWFSc3tcbiAgY29kZTogbnVtYmVyO1xuICBsaW5rOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZV9mb3JtOiBudW1iZXI7XG4gIHVzZXJfYXV0b3I6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHlwZURvY3VtZW50c05hbWVSc3tcbiAgY29kZTogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlcG9ydEV4Y2VsUnEge1xuICB0b2tlbjogICAgICAgIHN0cmluZztcbiAgY29kZV9hZHZpc2VyOiBudW1iZXI7XG4gIHN0YXJ0X2RhdGU6ICAgc3RyaW5nO1xuICBmaW5pc2hfZGF0ZTogIHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSWFkdmlzZXJzUnEge1xuICBjb2RlOiAgICAgICAgIG51bWJlcjtcbiAgaWRfY2FyZDogICAgICBzdHJpbmc7XG4gIG5hbWU6ICAgICAgICAgc3RyaW5nO1xuICBsYXN0X25hbWU6ICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICBudWxsIHwgc3RyaW5nO1xuICBlbWFpbDogICAgICAgIHN0cmluZztcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmc7XG4gIGdlbmRlcjogICAgICAgbnVtYmVyO1xuICBjaXR5OiAgICAgICAgIHN0cmluZztcbiAgYmlydGhkYXRlOiAgICBzdHJpbmc7XG4gIHJvbGU6ICAgICAgICAgc3RyaW5nO1xuICBzZXJ2aWNlX2hvdXI6IG51bWJlcjtcbiAgZW1haWxfaXB0OiAgICBzdHJpbmc7XG4gIHVwZGF0ZWRfYXQ6ICAgRGF0ZTtcbiAgaWRfY2FyZF90eXBlOiBzdHJpbmc7XG4gIHRva2VuOiAgICAgICAgc3RyaW5nO1xuICB1c2VyX3N0YXR1czogIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluUmVmZXJzQnlVc2VyUnEge1xuICB0b2tlbjogICAgICAgc3RyaW5nO1xuICBjb2RlX3JlZmVyczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElPYnRhaW5SZWZlcnJhbHNCeVVzZXJScyB7XG4gIGlwX2FwcGxpY2FudDogc3RyaW5nO1xuICBzdGF0dXM6ICAgICAgIG51bWJlcjtcbiAgbWVzc2FnZTogICAgICBNZXNzYWdlO1xuICBkYXRhOiAgICAgICAgIElSZWZlcnJhbHNCeVVzZXJSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZWZlcnJhbHNCeVVzZXJScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgYW1vdW50X3BheWFibGU6ICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X3N0YXR1czogICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9jb2RlOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgc3R1ZGVudF9jb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICBzdHVkZW50X2lkX2NhcmQ6ICAgICAgICAgICBzdHJpbmc7XG4gIHN0dWRlbnRfcm9sZTogICAgICAgICAgICAgIHN0cmluZztcbiAgc3R1ZGVudF9uYW1lOiAgICAgICAgICAgICAgc3RyaW5nO1xuICBzdHVkZW50X2xhc3RfbmFtZTogICAgICAgICBzdHJpbmc7XG4gIHN0dWRlbnRfcGhvbmVfbnVtYmVyOiAgICAgIHN0cmluZztcbiAgc3R1ZGVudF9lbWFpbDogICAgICAgICAgICAgc3RyaW5nO1xuICBzdHVkZW50X2Vucm9sbG1lbnRfc3RhdHVzOiBzdHJpbmc7XG4gIHN0dWRlbnRfY291cnNlX3R5cGU6ICAgICAgIHN0cmluZztcbiAgc3R1ZGVudF9hZHZpc2VyOiAgICAgICAgICAgc3RyaW5nO1xuICByZWZlcnJlZF9jb2RlOiAgICAgICAgICAgICBudW1iZXI7XG4gIHJlZmVycmVkX2lkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgcmVmZXJyZWRfcm9sZTogICAgICAgICAgICAgc3RyaW5nO1xuICByZWZlcnJlZF9uYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIHJlZmVycmVkX2xhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgcmVmZXJyZWRfcGhvbmVfbnVtYmVyOiAgICAgc3RyaW5nO1xuICByZWZlcnJlZF9lbWFpbDogICAgICAgICAgICBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25Qb3NpYmxlU3R1ZGVudEZvclZhbHVlUnEge1xuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgY29kZUFkdmlzZXI6bnVtYmVyLFxuICAgIHZhbHVlQXNzaW5nOm51bWJlclxuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldENvbnRhY3RzYWR2aXNlclJxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIGNvZGVUeXBlQ29uc3VsdDogbnVtYmVyXG4gIGNvZGVfYWR2aXNlcjogICAgbnVtYmVyO1xuICBzdGFydF9kYXRlOiAgICAgIHN0cmluZztcbiAgZmluaXNoX2RhdGU6ICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU9idGFpbkNvZFByaWNlc1JxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV90eXBlOiAgICAgbnVtYmVyO1xuICBhZ3JlZW1lbnQ6ICAgICAgIG51bWJlcjtcbiAgY291cnNlX21vZGFsaXR5OiBudW1iZXI7XG4gIHBheW1lbnRfbWV0aG9kOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb2RQcmljZXNCeVByb2dyYW1ScyB7XG4gIGNvZGU6ICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgIHN0cmluZztcbiAgYWdyZWVtZW50OiAgICAgICBudW1iZXI7XG4gIHR5cGVfY291cnNlOiAgICAgbnVtYmVyO1xuICBjb3Vyc2VfbW9kYWxpdHk6IG51bWJlcjtcbiAgZW5yb2xsbWVudDogICAgICBudW1iZXI7XG4gIG5vcm1hbF9wcmljZTogICAgbnVtYmVyO1xuICBmaW5hbmNlZF9wcmljZTogIG51bWJlcjtcbiAgZmVlX251bWJlcjogICAgICBudW1iZXI7XG4gIHF1b3RhX3ByaWNlOiAgICAgbnVtYmVyO1xuICBwYWlkX2xldmVsOiAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXNzaWduaW5nQWR2aXNvckdvYWxzUnEge1xuICB0b2tlbjogICAgICAgICAgICAgIHN0cmluZztcbiAgY29kZV9nb2FsOiAgICAgICAgICBudW1iZXJcbiAgYXNzaWduX2Fkdmlzb3JzOiAgICBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXNzaWdBZHZpc29yR29hbHNScyB7XG4gIHVzZXI6ICAgbnVtYmVyO1xuICBnb2FsOiAgIG51bWJlcjtcbiAgc3RhdHVzOiBudW1iZXI7XG4gIGNvZGU6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBZHZpc29yR29hbHNScyB7XG4gIGNvZGU6ICAgbnVtYmVyO1xuICB1c2VyOiAgIG51bWJlcjtcbiAgZ29hbDogICBJR29hbFJzO1xuICBzdGF0dXM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJR29hbFJzIHtcbiAgY29kZTogICAgICAgICBudW1iZXI7XG4gIG5hbWU6ICAgICAgICAgc3RyaW5nO1xuICBtb250aGx5X2dvYWw6IG51bWJlcjtcbiAgd2Vla2x5X2dvYWw6ICBudW1iZXI7XG4gIGRhaWx5X2dvYWw6ICAgbnVtYmVyO1xuICBnb2FsX3BlcmlvZDogIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU92ZXJhbEdvYWxBZHZpc29yUnMge1xuICB0b3RhbE1vbnRobHlHb2FsOiBudW1iZXI7XG4gIGFsbEdvYWxzQWR2aXNvcjogIElBbGxHb2Fsc0Fkdmlzb3JSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBbGxHb2Fsc0Fkdmlzb3JScyB7XG4gIGNvZGU6ICAgICAgICAgbnVtYmVyO1xuICB1c2VyOiAgICAgICAgIG51bWJlcjtcbiAgZ29hbDogICAgICAgICBudW1iZXI7XG4gIHN0YXR1czogICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgIHN0cmluZztcbiAgbW9udGhseV9nb2FsOiBudW1iZXI7XG4gIHdlZWtseV9nb2FsOiAgbnVtYmVyO1xuICBkYWlseV9nb2FsOiAgIG51bWJlcjtcbiAgZ29hbF9wZXJpb2Q6ICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZXBvcnRDb2RGb3JBZHZpc2VyUnEge1xuICB0b2tlbjpzdHJpbmc7XG4gIGNvZGVfYWR2aXNlcjogbnVtYmVyO1xuICBjb2RlVHlwZUNvbnN1bHQ6IG51bWJlcixcbiAgc3RhcnRfZGF0ZTogRGF0ZTtcbiAgZmluaXNoX2RhdGU6IERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNyZWF0ZVRpY2tldFJlZmVycmFsUnEge1xuICB0b2tlbjogICAgICAgICBzdHJpbmc7XG4gIGNvZGVfcmVmZXJyYWw6IG51bWJlcjtcbiAgY29kZV9jb250ZXN0OiAgbnVtYmVyO1xuICBjb2RlX2F3YXJkOiAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVByaXplc0ZvckNvbnRlc3Qge1xuICBuZXdUaWNrZXQ6ICAgICAgSU5ld1RpY2tldFJzO1xuICB1cGRhdGVSZWZlcnJhbDogSVVwZGF0ZVJlZmVycmFsUnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5ld1RpY2tldFJzIHtcbiAgY29kZV9yZWZlcnJhbF9tYW5hZ2VtZW50OiBudW1iZXI7XG4gIHR5cGVfYXdhcmQ6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICB0eXBlX3RpY2tldDogICAgICAgICAgICAgIG51bWJlcjtcbiAgdXBkYXRlZF9hdDogICAgICAgICAgICAgICBEYXRlO1xuICBjcmVhdGVkX2F0OiAgICAgICAgICAgICAgIERhdGU7XG4gIGNvZGU6ICAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGRhdGVSZWZlcnJhbFJzIHtcbiAgY29kZTogICAgICAgICAgICAgICBudW1iZXI7XG4gIHVzZXJfcmVmZXJyZWQ6ICAgICAgbnVtYmVyO1xuICBjb2RfY29kZTogICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9zdGF0dXM6ICAgICBudW1iZXI7XG4gIGFtb3VudF9wYXlhYmxlOiAgICAgbnVtYmVyO1xuICB0eXBlX21vdmVtZW50OiAgICAgIG51bGw7XG4gIHRyYW5zYWN0aW9uX251bWJlcjogbnVsbDtcbiAgY29kZV90aWtldDogICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUF2YWlsYWJsZUNvbnRlc3RzUnMge1xuICBjb250ZXN0OiBJQ29udGVzdFJzO1xuICBwcml6ZXM6ICBJUHJpemVSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb250ZXN0UnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIG5hbWU6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgY29tcGV0aXRpb25fc3RhcnRfZGF0ZTogRGF0ZTtcbiAgY29tcGV0aXRpb25fZW5kX2RhdGU6ICAgRGF0ZTtcbiAgdGVybXNfYW5kX2NvbmRpdGlvbnM6ICAgc3RyaW5nO1xuICB1cGRhdGVkX2F0OiAgICAgICAgICAgICBEYXRlO1xuICBjcmVhdGVkX2F0OiAgICAgICAgICAgICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQcml6ZVJzIHtcbiAgY29kZV9hd2FyZDogICAgICAgIG51bWJlcjtcbiAgY29kZV90eXBlX3RpY2tldDogIG51bWJlcjtcbiAgYXdhcmRfbmFtZTogICAgICAgIHN0cmluZztcbiAgYXdhcmRfZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUHJpemVScyB7XG4gIGNvZGVfYXdhcmQ6ICAgICAgICBudW1iZXI7XG4gIGNvZGVfdHlwZV90aWNrZXQ6ICBudW1iZXI7XG4gIGF3YXJkX25hbWU6ICAgICAgICBzdHJpbmc7XG4gIGF3YXJkX2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvZERldGFpbHNieUFkdmlzZXIgIHtcbiAgdG9rZW46c3RyaW5nO1xuICBjb2RlX2FkdmlzZXI6IG51bWJlcjtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRQb3NpYmxlU3R1ZGVudEJ5RGF0ZVJxIHtcbiAgdG9rZW46ICAgICAgICAgICBzdHJpbmc7XG4gIGNvZGVUeXBlQ29uc3VsdDogbnVtYmVyXG4gIHN0YXJ0X2RhdGU6ICAgICAgc3RyaW5nO1xuICBmaW5pc2hfZGF0ZTogICAgIHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUdldFVzZXJBZHZpc2VyQ29tbWVyY2lhbEJ5VHlwZUFzc2luZ0NvbnRhY3RzUnEge1xuICB0b2tlbjogICAgICAgICAgIHN0cmluZztcbiAgc3RhcnRfZGF0ZTogICAgICBzdHJpbmc7XG4gIGZpbmlzaF9kYXRlOiAgICAgc3RyaW5nO1xuICBjb2RlVHlwZUNvbnN1bHQ6IG51bWJlcjtcbiAgc2VsZWN0ZWR0eXBlQXNzaW5nOm51bWJlcjtcbiAgdmFsdWVBc2luZzogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBBc3NpbmdDdXN0b21lcnNCeVR5cGVBc3NpbmdDb250YWN0Rm9yQWR2aXNlclJxIHtcbiAgdG9rZW46ICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvZGVUeXBlQ29uc3VsdDogICAgbnVtYmVyO1xuICBmaW5pc2hfZGF0ZTogICAgICAgIHN0cmluZztcbiAgc2VsZWN0ZWR0eXBlQXNzaW5nOiBudW1iZXI7XG4gIHN0YXJ0X2RhdGU6ICAgICAgICAgc3RyaW5nO1xuICB2YWx1ZUFzaW5nOiAgICAgICAgIG51bWJlcjtcbiAgY29kZUFkdmlzZXI6ICAgICAgICBudW1iZXI7XG4gIGFzc2lnbm1lbnRzOiAgICAgICAgQXNzaWdubWVudFJxW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaWdubWVudFJxIHtcbiAgY29kZTogIG51bWJlcjtcbiAgdmFsdWU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBnZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvclJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgc3RhcnRfZGF0ZTogc3RyaW5nO1xuICBlbmRfZGF0ZTogc3RyaW5nO1xuICBpbmNsdWRlX2RldGFpbHM6IGZhbHNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVUeXBlUGF5bWVudFJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVDb21taXNzaW9uQXJlYVJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25Db3Vyc2VUeXBlc1RvQXJlYVJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgY29tbWlzc2lvbl9hcmVhX2NvZGU6IG51bWJlcjtcbiAgY291cnNlX3R5cGVfY29kZXM6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVQYXltZW50QXJlYUNvbW1pc3Npb25ScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGFyZWFfY291cnNlOiBudW1iZXI7XG4gIHR5cGVfcGF5bWVudDogbnVtYmVyO1xuICBhbW91bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRlVHlwZVVzZXJDb21taXNzaW9uUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvbmNlcHRfY29kZXM6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25Db21taXNzaW9uTW9kZWxUb1VzZXJScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHVzZXJfY29kZTogbnVtYmVyO1xuICB0eXBlX3VzZXJfY29tbWlzc2lvbl9jb2RlOiBudW1iZXI7XG4gIGdvYWxfY29kZT86IG51bWJlcjtcbiAgYm9udXNfYW1vdW50PzogbnVtYmVyO1xuICBwZXJjZW50YWdlX3JhdGU/OiBudW1iZXI7XG4gIHBhcmFtczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElHZXRBY3RpdmVDb21taXNzaW9uR29hbEZvclVzZXJScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHVzZXJfY29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXlDb21taXNzaW9uc1JxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgdXNlcl9jb2RlczogbnVtYmVyW107XG4gIHN0YXJ0X2RhdGU6IHN0cmluZztcbiAgZW5kX2RhdGU6IHN0cmluZztcbiAgbm90ZXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldFN1bW1hcnlCeUNvbW1lcmNpYWxBZHZpc29yUnEge1xuICAgIHRva2VuOiBzdHJpbmc7XG4gICAgc3RhcnRfZGF0ZT86IHN0cmluZztcbiAgICBlbmRfZGF0ZT86IHN0cmluZztcbiAgICBjYW1wdXM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldENvZFN0dWRlbnREZXRhaWxzQnlBZHZpc2VyUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBzdGFydF9kYXRlPzogc3RyaW5nO1xuICBlbmRfZGF0ZT86IHN0cmluZztcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElUb2tlblJxIHtcbiAgICB0b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVcGRhdGVQYXltZW50QXJlYUNvbW1pc3Npb25ScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGFtb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb21taXNzaW9uQ29uZGl0aW9uIHtcbiAgY29kZTogbnVtYmVyO1xuICBrZXk6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWdyZWVtZW50IHtcbiAgY29kZTogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZENvbmRpdGlvblRvUnVsZVJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgY29uZGl0aW9uX2lkOiBudW1iZXI7XG4gIG9wZXJhdG9yOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVwZGF0ZVR5cGVQYXltZW50UnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsO1xuICB0eXBlOiBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0UHJlYXNzaWduZWRDb3Vyc2VzQW5kU3R1ZGVudEVucm9sbFJzIHtcbiAgICBzdHVkZW50OiAgICAgICAgICAgICAgICBJSXB0VXNlckZ1bGxEYXRhUnE7XG4gICAgcHJlQXNzaWduZWRDb3Vyc2VzOiAgICAgbnVtYmVyW107XG4gICAgcmVnaXN0cmF0aW9uSW5Qcm9ncmVzczogSVJlZ2lzdHJhdGlvbkluUHJvZ3Jlc3NSc1tdO1xuICAgIGhhc0Vucm9sbG1lbnRzOiAgICAgICAgIGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlZ2lzdHJhdGlvbkluUHJvZ3Jlc3NScyB7XG4gICAgY29kZTogICAgICAgICAgICAgICAgICBudW1iZXI7XG4gICAgY291cnNlOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gICAgY291cnNlX3R5cGU6ICAgICAgICAgICBudW1iZXI7XG4gICAgYWdyZWVtZW50OiAgICAgICAgICAgICBudW1iZXI7XG4gICAgZW5nbGlzaF9sZXZlbDogICAgICAgICBudW1iZXI7XG4gICAgc3R1ZGVudDogICAgICAgICAgICAgICBudW1iZXI7XG4gICAgcGFyZW50OiAgICAgICAgICAgICAgICBudW1iZXI7XG4gICAgYWRpdGlvbmFsX2luZm9ybWF0aW9uOiBudW1iZXI7XG4gICAgYWR2aXNlcjogICAgICAgICAgICAgICBudW1iZXI7XG4gICAgY29kX3N0YXR1czogICAgICAgICAgICBudW1iZXI7XG4gICAgY29kX3ByaWNlOiAgICAgICAgICAgICBudW1iZXI7XG4gICAgY29kX3BhaWQ6ICAgICAgICAgICAgICBudW1iZXI7XG4gICAgYWNjZXB0X3Rlcm1zX2NvZGU6ICAgICBudW1iZXIgfCBudWxsO1xuICAgIGNyZWF0ZWRfYXQ6ICAgICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZW5ld2FsUmVzdWx0UnMge1xuICBzdHVkZW50X2NvZGU6IG51bWJlcjtcbiAgc3R1ZGVudF9uYW1lOiBzdHJpbmc7XG4gIHN0dWRlbnRfaWRfY2FyZDogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbiAgZGF0YTogYW55OyAvLyBQdWVkZXMgdGlwYXIgZXN0byBtw6FzIGVzcGVjw61maWNhbWVudGUgc2kgY29ub2NlcyBsYSBlc3RydWN0dXJhIGRlIGRhdGFcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVuZXdhbEVycm9yUnMge1xuICBzdHVkZW50X2NvZGU6IG51bWJlcjtcbiAgc3R1ZGVudF9uYW1lOiBzdHJpbmc7XG4gIHN0dWRlbnRfaWRfY2FyZDogc3RyaW5nO1xuICBzdGF0dXM6IG51bWJlcjtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICB3YXJuaW5nPzogYW55OyAvLyBQdWVkZSBzZXIgdW4gb2JqZXRvIG8gc3RyaW5nIChzZSBwYXJzZWEgc2kgZXMgbmVjZXNhcmlvKVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElFeHRlbmRlZENvZEJ5c3R1ZGVudHNScyBleHRlbmRzIElDb2RCeXN0dWRlbnRzUnMge1xuICBpc19yZW5ld2VkPzogYm9vbGVhbjtcbiAgcmVuZXdhbF9lcnJvcj86IHN0cmluZyB8IG51bGw7XG4gIG5ld19jb2RfZGF0YT86IGFueTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUxvY2FsUmVuZXdhbFJlc3VsdFJzIHtcbiAgc3R1ZGVudF9jb2RlOiBzdHJpbmc7XG4gIHN0dWRlbnRfbmFtZTogc3RyaW5nO1xuICBzdHVkZW50X2lkX2NhcmQ6IHN0cmluZztcbiAgZGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMb2NhbFJlbmV3YWxFcnJvclJzIHtcbiAgc3R1ZGVudF9jb2RlOiBzdHJpbmc7XG4gIHN0dWRlbnRfbmFtZTogc3RyaW5nO1xuICBzdHVkZW50X2lkX2NhcmQ6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICB3YXJuaW5nPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25TdWJvcmRpbmF0ZVJxIGV4dGVuZHMgSVRva2VuUnEge1xuICBtYW5hZ2VyX2NvZGU6IG51bWJlcjtcbiAgc3Vib3JkaW5hdGVfY29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZW1vdmVTdWJvcmRpbmF0ZVJxIGV4dGVuZHMgSVRva2VuUnEge1xuICBtYW5hZ2VyX2NvZGU6IG51bWJlcjtcbiAgc3Vib3JkaW5hdGVfY29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBc3NpZ25TdWJvcmRpbmF0ZXNNYXNzaXZlUnEgZXh0ZW5kcyBJVG9rZW5ScSB7XG4gIG1hbmFnZXJfY29kZTogbnVtYmVyO1xuICBzdWJvcmRpbmF0ZV9jb2RlczogbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVVwZGF0ZVR5cGVVc2VyQ29tbWlzc2lvblJxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBjb25jZXB0X2NvZGVzOiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5U2VsZWN0ZWRDb21taXNzaW9uc1JxIHtcbiAgdG9rZW46IHN0cmluZztcbiAgdXNlcl9jb2RlOiBudW1iZXI7XG4gIGNvbW1pc3Npb25zX3RvX3BheTogSUNvbW1pc3Npb25zVG9QYXlScVtdO1xuICBvYnNlcnZhdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb21taXNzaW9uc1RvUGF5UnEge1xuICBjb2RfY29kZTogbnVtYmVyO1xuICBjb21taXNzaW9uX2Ftb3VudDogbnVtYmVyO1xuICBtb3Rpdm9fZGV0YWxsZTogc3RyaW5nO1xuICBydWxlX2NvZGVfYXBwbGllZDogbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGF5QWR2aXNvckJvbnVzZXNScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHVzZXJfY29kZTogbnVtYmVyO1xuICBzdGFydF9kYXRlOiBzdHJpbmc7XG4gIGVuZF9kYXRlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldFN1Ym9yZGluYXRlc1JxIGV4dGVuZHMgSVRva2VuUnEge1xuICBtYW5hZ2VyX2NvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTWFuYWdlU3Vib3JkaW5hdGVScSBleHRlbmRzIElUb2tlblJxIHtcbiAgbWFuYWdlcl9jb2RlOiBudW1iZXI7XG4gIHN1Ym9yZGluYXRlX2NvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGVsZXRlVHlwZVVzZXJDb21taXNzaW9uUnEge1xuICB0b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb25zdWx0Q29tbWlzc2lvbnNCeUFkdmlzZXJScyB7XG4gIGNvZHM6ICAgICAgICAgSUNvbW1pc3Npb25MaXN0UnNbXTtcbiAgdHJhbnNhY3Rpb25zOiBJVHJhbnNhY3Rpb25Sc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb21taXNzaW9uTGlzdFJzIHtcbiAgYWR2aXNlcl9jb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb2RfY29kZTogICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIHN0dWRlbnRfbmFtZTogICAgICAgICAgICAgIHN0cmluZztcbiAgY29kX3N0YXR1c19jb2RlOiAgICAgICAgICAgbnVtYmVyO1xuICBjb2Rfc3RhdHVzX25hbWU6ICAgICAgICAgICBzdHJpbmc7XG4gIGNvZF9kYXRlOiAgICAgICAgICAgICAgICAgIERhdGU7XG4gIGNvdXJzZV90eXBlX25hbWU6ICAgICAgICAgIHN0cmluZztcbiAgY291cnNlX3R5cGVfbGFiZWw6ICAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfY29kZTogICAgICAgICAgICAgICBudW1iZXIgfCBudWxsO1xuICBhZ3JlZW1lbnRfY29kZTogICAgICAgICAgICBudW1iZXI7XG4gIGFncmVlbWVudF9uYW1lOiAgICAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gIGNvbW1pc3Npb25fYXJlYV9uYW1lOiAgICAgIHN0cmluZyB8IG51bGw7XG4gIHBsYW5fZGVfcGFnbzogICAgICAgICAgICAgIHN0cmluZztcbiAgcGF5bWVudF90eXBlX25hbWU6ICAgICAgICAgc3RyaW5nO1xuICBydWxlX2NvZGVfYXBwbGllZDogICAgICAgICBudW1iZXIgfCBudWxsO1xuICBydWxlX2Jhc2VfYW1vdW50OiAgICAgICAgICBudW1iZXIgfCBzdHJpbmcgfCBudWxsO1xuICBydWxlX2NvbmRpdGlvbnM6ICAgICAgICAgICBudWxsIHwgc3RyaW5nO1xuICBjb21taXNzaW9uX3N0YXR1czogICAgICAgICBudW1iZXI7XG4gIG1vdGl2b19kZXRhbGxlOiAgICAgICAgICAgIHN0cmluZztcbiAgY29tbWlzc2lvbl9hbW91bnQ6ICAgICAgICAgbnVtYmVyIHwgc3RyaW5nO1xuICBjb2RfcHJpY2U6ICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIHBheW1lbnRzX29rOiAgICAgICAgICAgICAgIGJvb2xlYW47XG4gIGV4aXN0aW5nX2NvbW1pc3Npb246ICAgICAgIGJvb2xlYW47XG4gIHN0dWRlbnRfaWRfY2FyZD86ICAgICAgICAgIHN0cmluZyB8IG51bGw7XG4gIGNvbW1pc3Npb25fY29kZTogICAgICAgICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25fY29kZTogICAgICAgICAgbnVtYmVyO1xuICB0eXBlOiAgICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIHBheW1lbnRfdmFsaWRhdGlvbjogICAgICAgIFBheW1lbnRWYWxpZGF0aW9uO1xuICB2YWxpZGF0aW9uOiAgICAgICAgICAgICAgICBWYWxpZGF0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJvbnVzTGlzdFJzIHtcbiAgY29tbWlzc2lvbl9zdGF0dXM6IG51bWJlcjtcbiAgdHlwZTogICAgICAgICAgICAgIHN0cmluZztcbiAgbW90aXZvX2RldGFsbGU6ICAgIHN0cmluZztcbiAgY29tbWlzc2lvbl9hbW91bnQ6IG51bWJlcjtcbiAgY29uZmlndXJlZF9hbW91bnQ6IG51bWJlcjtcbiAgYWNoaWV2ZWRfcXVhbnRpdHk6IG51bWJlcjtcbiAgdGFyZ2V0X3F1YW50aXR5OiAgIG51bWJlcjtcbiAgYWR2aXNlcl9jb2RlOiAgICAgIG51bWJlcjtcbiAgYm9udXNfcnVsZTogICAgICAgIG51bWJlciB8IG51bGw7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBJRXhpc3RpbmdDb21taXNzaW9uRGF0YVJzIHtcbiAgY29kZTogICAgICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIHRyYW5zYWN0aW9uX2NvZGU6ICAgICAgICAgbnVtYmVyO1xuICB1c2VyX2NvbW1pc3Npb246ICAgICAgICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25fc3RhdHVzOiAgICAgICBudW1iZXI7XG4gIGFtb3VudDogICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb2RfY29kZTogICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgcGF5bWVudF9jb21taXNzaW9uczogICAgICBudW1iZXI7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgICAgICAgICAgRGF0ZTtcbiAgdXBkYXRlZF9hdDogICAgICAgICAgICAgICBEYXRlO1xuICBwYXltZW50X2FyZWFfY29tbWlzc2lvbj86IFBheW1lbnRBcmVhQ29tbWlzc2lvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXltZW50QXJlYUNvbW1pc3Npb24ge1xuICBjb2RlOiAgICAgICAgIG51bWJlcjtcbiAgdHlwZV9wYXltZW50OiBUeXBlUGF5bWVudDtcbiAgYXJlYV9jb3Vyc2U6ICBudW1iZXI7XG4gIGFtb3VudDogICAgICAgc3RyaW5nO1xuICBzdGF0dXM6ICAgICAgIG51bWJlcjtcbiAgY3JlYXRlZF9hdDogICBEYXRlO1xuICB1cGRhdGVkX2F0OiAgIERhdGU7XG4gIGRlbGV0ZWRfYXQ6ICAgRGF0ZSB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVBheW1lbnQge1xuICBjb2RlOiAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogbnVsbDtcbiAgdHlwZTogICAgICAgIHN0cmluZztcbiAgY3JlYXRlZF9hdDogIERhdGU7XG4gIHVwZGF0ZWRfYXQ6ICBEYXRlO1xuICBkZWxldGVkX2F0OiAgRGF0ZSB8IG51bGw7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBQYXltZW50VmFsaWRhdGlvbiB7XG4gIGVucm9sbG1lbnRfb2s6ICAgICAgYm9vbGVhbjtcbiAgZmVlMV9vazogICAgICAgICAgICBib29sZWFuO1xuICBpbnN0YWxsbWVudHNfcGFpZDogIG51bWJlcjtcbiAgcGF5bWVudHNfb2s6ICAgICAgICBib29sZWFuO1xuICBlbnJvbGxtZW50X3BhaWQ6ICAgIG51bWJlcjtcbiAgZW5yb2xsbWVudF9wZW5kaW5nOiBudW1iZXI7XG4gIGZlZTFfcGFpZDogICAgICAgICAgbnVtYmVyO1xuICBmZWUxX3BlbmRpbmc6ICAgICAgIG51bWJlcjtcbiAgdG90YWxfcGFpZDogICAgICAgICBudW1iZXI7XG4gIHRvdGFsX3BlbmRpbmc6ICAgICAgbnVtYmVyO1xuICBudW1iZXJfcGFpZDogICAgICAgIG51bWJlcjtcbiAgbnVtYmVyX3BlbmRpbmc6ICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvbiB7XG4gIGtleTogICAgICAgc3RyaW5nO1xuICBvcGVyYXRvcjogIHN0cmluZztcbiAgdmFsdWU6ICAgICBzdHJpbmc7XG4gIGNvZF92YWx1ZTogbnVtYmVyIHwgc3RyaW5nO1xuICBjaGVjazogICAgIGJvb2xlYW47XG4gIG1lc3NhZ2U6ICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2FjdGlvblJzIHtcbiAgY29kZTogICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXltZW50X2JpbGxfY29kZTogICBudW1iZXIgfCBudWxsO1xuICBnZW5lcmF0ZWRfYnk6ICAgICAgICBJVXNlclRyYW5zYWN0aW9uUnMgfCBudW1iZXIgIHwgbnVsbDtcbiAgYXBwcm92ZWRfYnk6ICAgICAgICAgSVVzZXJUcmFuc2FjdGlvblJzIHwgbnVtYmVyIHwgbnVsbDtcbiAgdXNlcl9jb21taXNzaW9uOiAgICAgbnVtYmVyO1xuICB0cmFuc2FjdGlvbl9zdGF0dXM6ICBudW1iZXI7XG4gIG9ic2VydmF0aW9uOiAgICAgICAgIHN0cmluZztcbiAgc3RhcnRfdHJhbnNhY3Rpb246ICAgRGF0ZTtcbiAgZW5kX3RyYW5zYWN0aW9uOiAgICAgRGF0ZSB8IG51bGw7XG4gIGRlbGV0ZWRfYXQ6ICAgICAgICAgIERhdGUgfCBudWxsO1xuICB1cGRhdGVkX2F0OiAgICAgICAgICBEYXRlIHwgbnVsbDtcbiAgY3JlYXRlZF9hdDogICAgICAgICAgRGF0ZSB8IG51bGw7XG4gIG1hbmFnZWRfY29tbWlzc2lvbnM/OiBJRXhpc3RpbmdDb21taXNzaW9uRGF0YVJzW10gfCBJQ29tbWlzc2lvbkxpc3RSc1tdO1xuICBtYW5hZ2VkX2JvbnVzPzogICAgICAgSU1hbmFnZWRCb251c1JzW107XG4gIHBheW1lbnRfYmlsbD86ICAgICAgICBudW1iZXIgfCBJUGF5bWVudEJpbGxHcmFwaFJzIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTWFuYWdlZEJvbnVzUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgIG51bWJlcjtcbiAgdXNlcl9ib251czogICAgICAgICBudW1iZXI7XG4gIGFtb3VudDogICAgICAgICAgICAgbnVtYmVyO1xuICBib251c19ydWxlOiAgICAgICAgIG51bWJlcjtcbiAgY29kX3JlYWNoZWQ6ICAgICAgICBudW1iZXI7XG4gIHRyYW5zYWN0aW9uX3N0YXR1czogbnVtYmVyO1xuICB0cmFuc2FjdGlvbl9jb2RlOiAgIG51bWJlcjtcbiAgcGVyaW9kX21vbnRoOiAgICAgICBudW1iZXI7XG4gIHBlcmlvZF95ZWFyOiAgICAgICAgbnVtYmVyO1xuICBkZWxldGVkX2F0OiAgICAgICAgIERhdGUgfCBudWxsO1xuICBjcmVhdGVkX2F0OiAgICAgICAgIERhdGU7XG4gIHVwZGF0ZWRfYXQ6ICAgICAgICAgRGF0ZTtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyVHJhbnNhY3Rpb25ScyB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcHJvdmVUcmFuc2FjdGlvbkNvbW1pc3Npb25ScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uX2NvZGU6IG51bWJlcjtcbiAgb2JzZXJ2YXRpb246IHN0cmluZztcbiAgd2FsbGV0OiAgbnVtYmVyO1xuICBiYW5rIDogbnVtYmVyO1xuICBwYXltZW50X3JlZmVyZW5jZTogbnVtYmVyO1xuICBwYXltZW50X21ldGhvZDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElyZWplY3RUcmFuc2FjdGlvbkNvbW1pc3Npb25ScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uX2NvZGU6IG51bWJlcjtcbiAgb2JzZXJ2YXRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRWRpdENvbmRpdGlvblJ1bGVScSB7XG4gIHRva2VuOiAgICAgICAgc3RyaW5nO1xuICBjb2RlOiAgICAgICAgIG51bWJlcjtcbiAgb3BlcmF0b3I6ICAgICBzdHJpbmc7XG4gIHZhbHVlOiAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBcHByb3ZlVHJhbnNhY3Rpb25ScyB7XG4gIHRyYW5zYWN0aW9uOiAgICAgICAgSVRyYW5zYWN0aW9uUnM7XG4gIGJpbGw6ICAgICAgICAgICAgICAgSUJpbGxDcmVhdGVkUnM7XG4gIGJpbGxfb2JzZXJ2YXRpb24/OiAgSUJpbGxPYnNlcnZhdGlvbkxpc3RScztcbiAgY29tbWlzc2lvbnM6ICAgICAgICBJQ29tbWlzc2lvbkxpc3RSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCaWxsQ3JlYXRlZFJzIHtcbiAgcGF5bWVudF9tZXRob2Q6ICAgICBudW1iZXI7XG4gIHBheW1lbnRfc2VydmljZXM6ICAgbnVtYmVyO1xuICBwYXltZW50X3dhbGxldDogICAgIG51bWJlcjtcbiAgYmFuazogICAgICAgICAgICAgICBzdHJpbmc7XG4gIHBheW1lbnRfcmVmZXJlbmNlOiAgc3RyaW5nO1xuICBnZW5lcmF0ZWRfZm9yOiAgICAgIG51bWJlcjtcbiAgZ2VuZXJhdGVkX2J5OiAgICAgICBudW1iZXI7XG4gIHR5cGVfbW92ZW1lbnRzOiAgICAgbnVtYmVyO1xuICBjb21tb25fZXhwZW5zZXM6ICAgIG51bWJlcjtcbiAgdG90YWxfYW1vdW50OiAgICAgICBudW1iZXI7XG4gIHBheW1lbnRfYW1vdW50OiAgICAgbnVtYmVyO1xuICBvdXRzdGFuZGluZ19hbW91bnQ6IG51bWJlcjtcbiAgcG9zaXRpdmVfYW1vdW50OiAgICBudW1iZXI7XG4gIGRpc2NvdW50OiAgICAgICAgICAgbnVtYmVyO1xuICBwYXllcl9uYW1lOiAgICAgICAgIG51bGw7XG4gIHBheWVyX2RvY3VtZW50OiAgICAgbnVsbDtcbiAgcGF5bWVudF9kYXRlOiAgICAgICBEYXRlO1xuICBvYnNlcnZhdGlvbjogICAgICAgIHN0cmluZztcbiAgdHJhbnNmZXJfY29kZTogICAgICBudWxsO1xuICBjb2RlOiAgICAgICAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQmlsbE9ic2VydmF0aW9uTGlzdFJzIHtcbiAgZGV0YWlsczogICAgICAgICAgIElEZXRhaWxCaWxsUnNbXTtcbiAgdG90YWxfY29tbWlzc2lvbnM6IG51bWJlcjtcbiAgdG90YWxfYW1vdW50OiAgICAgIG51bWJlcjtcbiAgcGVyaW9kOiAgICAgICAgICAgIElQZXJpb2RCaWxsUnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURldGFpbEJpbGxScyB7XG4gIGFyZWE6ICAgICBzdHJpbmc7XG4gIHF1YW50aXR5OiBudW1iZXI7XG4gIGFtb3VudDogICBudW1iZXI7XG4gIHN0YXR1c2VzOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcmlvZEJpbGxScyB7XG4gIGZyb206IHN0cmluZztcbiAgdG86ICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTaG93VHJhbnNhY3Rpb25CaWxsUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICBjb2RlOiAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJYWRkRGV2b2x1dGlvbkNvbW1pc3Npb25ScSB7XG4gIHRva2VuOiAgICAgICAgICAgICAgc3RyaW5nO1xuICBjb21taXNzaW9uX2NvZGU6ICAgIG51bWJlcjtcbiAgdHJhbnNhY3Rpb25fY29kZTogICBudW1iZXI7XG4gIGNvbW1pc3Npb25zX3RvX2Rldm9sdmUgOiBJY29tbWlzc2lvbnNfdG9fZGV2b2x2ZVJxW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNvbW1pc3Npb25zX3RvX2Rldm9sdmVScSB7XG4gIGNvbW1pc3Npb25fY29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElvYnRhaW5UcmFuc2FjdGlvbnNCeVN0YXR1c1JxIHtcbiAgdG9rZW46ICAgICAgIHN0cmluZztcbiAgc3RhdHVzOiAgICAgIG51bWJlcjtcbiAgdXNlcl9jb2RlOiAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJYWR2aXNlclJlc3VtZVJzIHtcbiAgc3RhdHVzOiAgICAgICBzdHJpbmc7XG4gIG1lc3NhZ2U6ICAgICAgc3RyaW5nO1xuICByYW5nb19mZWNoYXM6IElSYW5nb0ZlY2hhc1JzO1xuICByZXN1bWVuOiAgICAgIElSZXN1bWVuQWR2aXNvclJzO1xuICBhc2Vzb3JlczogICAgIElBdmlzb3JEZXRhaWx0UnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmFuZ29GZWNoYXNScyB7XG4gIGZlY2hhX2luaWNpbzogRGF0ZTtcbiAgZmVjaGFfZmluOiAgICBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBdmlzb3JEZXRhaWx0UnMge1xuICBnZW5lcmFsOiAgICAgICAgIElBZHZpc29yR2VuZXJhbFJzO1xuICBtZXRyaWNhczogICAgICAgIElNZXRyaWNzUnM7XG4gIGNvbWlzaW9uZXM6ICAgICAgSUJvbm9zQ29tbWlzc2lvblJzO1xuICBib25vczogICAgICAgICAgIElCb25vc0NvbW1pc3Npb25ScztcbiAgdHJhbnNhY2Npb25lczogICBJVHJhbnNhY2Npb25lc0xpc3RScztcbiAgYWR2ZXJ0ZW5jaWFzOiAgICBhbnlbXTtcbiAgYWN0aXZlX2NvbmNlcHRzOiBzdHJpbmdbXTtcbiAgZXZhbHVhdGlvbnM6ICAgICBJQ29tbWlzc2lvbkxpc3RSc1tdIHwgSUJvbnVzTGlzdFJzW10gO1xuICBlZmVjdGl2aWRhZDogICAgIElFZmVjdGl2aWRhZFJzO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkdmlzb3JHZW5lcmFsUnMge1xuICBjb2RpZ29fYXNlc29yOiAgICAgICAgbnVtYmVyO1xuICBub21icmVfYXNlc29yOiAgICAgICAgc3RyaW5nO1xuICByb2xfYXNlc29yOiAgICAgICAgICAgSVJvbEFzZXNvclJzO1xuICB0aXBvX2NvbnRyYXRvX25vbWJyZTogc3RyaW5nO1xuICB0aXBvX2NvbnRyYXRvOiAgICAgICAgSVRpcG9Db250cmF0b1JzO1xuICBtYXRyaWN1bGFkb3M6ICAgICAgICAgbnVtYmVyO1xuICBhY3Rpdm9zOiAgICAgICAgICAgICAgbnVtYmVyO1xuICByZXRpcmFkb3M6ICAgICAgICAgICAgbnVtYmVyO1xuICBwYXVzYWRvczogICAgICAgICAgICAgbnVtYmVyO1xuICBjdWxtaW5hZG9zOiAgICAgICAgICAgbnVtYmVyO1xuICBzdXNwZW5kaWRvczogICAgICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSb2xBc2Vzb3JScyB7XG4gIGNvZGU6IG51bWJlcjtcbiAgcm9sZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUaXBvQ29udHJhdG9ScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgICAgICAgICAgc3RyaW5nO1xuICBzdGF0dXM6ICAgICAgICAgICAgICBudW1iZXI7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgICAgIERhdGU7XG4gIHVwZGF0ZWRfYXQ6ICAgICAgICAgIERhdGU7XG4gIGNvbW1pc3Npb25fY29uY2VwdHM6IElDb21taXNzaW9uQ29uY2VwdFJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbW1pc3Npb25Db25jZXB0UnMge1xuICBjb2RlOiAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgc3RyaW5nO1xuICBrZXk6ICAgICAgICAgc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBwaXZvdDogICAgICAgSVBpdm90VHlwZVVzZXJDb21taXNzaW9uQ29uY2VwdFJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQaXZvdFR5cGVVc2VyQ29tbWlzc2lvbkNvbmNlcHRScyB7XG4gIHR5cGVfdXNlcl9jb21taXNzaW9uX2NvZGU6IG51bWJlcjtcbiAgY29tbWlzc2lvbl9jb25jZXB0X2NvZGU6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZXN1bWVuQWR2aXNvclJzIHtcbiAgZ2VuZXJhbDogICAgICAgSVJlc3VtZW5HZW5lcmFsUnM7XG4gIG1ldHJpY2FzOiAgICAgIElNZXRyaWNzUnM7XG4gIGNvbWlzaW9uZXM6ICAgIElCb25vc0NvbW1pc3Npb25ScztcbiAgYm9ub3M6ICAgICAgICAgSUJvbm9zQ29tbWlzc2lvblJzO1xuICB0cmFuc2FjY2lvbmVzOiBJVHJhbnNhY2Npb25lc0xpc3RScztcbiAgZWZlY3RpdmlkYWQ6ICAgSUVmZWN0aXZpZGFkUnM7XG4gIGFkdmVydGVuY2lhczogIGFueVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZXN1bWVuR2VuZXJhbFJzIHtcbiAgdG90YWxfYXNlc29yZXM6IG51bWJlcjtcbiAgbWF0cmljdWxhZG9zOiAgIG51bWJlcjtcbiAgYWN0aXZvczogICAgICAgIG51bWJlcjtcbiAgcmV0aXJhZG9zOiAgICAgIG51bWJlcjtcbiAgcGF1c2Fkb3M6ICAgICAgIG51bWJlcjtcbiAgY3VsbWluYWRvczogICAgIG51bWJlcjtcbiAgc3VzcGVuZGlkb3M6ICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTWV0cmljc1JzIHtcbiAgbWF0cmljdWxhX3BhZ2FkYV9jb3VudDogICAgICAgICAgbnVtYmVyO1xuICBtYXRyaWN1bGFfcGFnYWRhX3BlcmNlbnRhZ2U6ICAgICBudW1iZXI7XG4gIHByaW1lcmFfY3VvdGFfcGFnYWRhX2NvdW50OiAgICAgIG51bWJlcjtcbiAgcHJpbWVyYV9jdW90YV9wYWdhZGFfcGVyY2VudGFnZTogbnVtYmVyO1xuICBlZmVjdGl2aWRhZF9jb3VudDogICAgICAgICAgICAgICBudW1iZXI7XG4gIGVmZWN0aXZpZGFkX3BlcmNlbnRhZ2U6ICAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNhY2Npb25lc0xpc3RScyB7XG4gIHRvdGFsX3RyYW5zYWNjaW9uZXM6IG51bWJlcjtcbiAgdG9kYXM6ICAgICAgICAgICAgICAgSVRyYW5zYWN0aW9uUnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQm9ub3NDb21taXNzaW9uUnMge1xuICBwZW5kaWVudGVzX2NvdW50OiBudW1iZXI7XG4gIG1vbnRvX3BlbmRpZW50ZTogIG51bWJlcjtcbiAgcGFnYWRvc19jb3VudDogICAgbnVtYmVyO1xuICBtb250b19wYWdhZG86ICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVmZWN0aXZpZGFkUnMge1xuICBwb3JjZW50YWplOiBudW1iZXI7XG4gIGNhdGVnb3JpYTogIHN0cmluZztcbiAgY29sb3I6ICAgICAgc3RyaW5nO1xuICBtZW5zYWplOiAgICBzdHJpbmc7XG59XG5cblxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldENvbW1pc3Npb25zQnlUcmFuc2FjdGlvbkNvZGVScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uX2NvZGU6IG51bWJlcjtcbiAgZW5kX2RhdGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNhbmNlbGxUcmFuc2FjdGlvbkJpbGxScSB7XG4gIHRva2VuOiAgICAgICAgc3RyaW5nO1xuICBjb2RlOiAgICAgICAgIG51bWJlcjtcbiAgb2JzZXJ2YXRpb246ICBzdHJpbmc7XG59Il19
@@ -553,6 +553,16 @@ export class CommercialService extends IPTGeneralService {
553
553
  this.generateRequestParams(request);
554
554
  return this.http.get(serviceUrl, this.httpOptions);
555
555
  }
556
+ getTransactionCommissionsByCode(request) {
557
+ const serviceUrl = this.SERVICE_URL + `get/commissions/by/transaction/code`;
558
+ this.generateRequestParams(request);
559
+ return this.http.get(serviceUrl, this.httpOptions);
560
+ }
561
+ cancellTransactionBill(params) {
562
+ const serviceUrl = this.SERVICE_URL + 'commissions/cancell/transaction/bill';
563
+ this.generateRequestParams(params);
564
+ return this.http.post(serviceUrl, this.httpOptions);
565
+ }
556
566
  }
557
567
  CommercialService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
558
568
  CommercialService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, providedIn: 'root' });
@@ -560,4 +570,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
560
570
  type: Injectable,
561
571
  args: [{ providedIn: 'root' }]
562
572
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
563
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXJjaWFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tZXJjaWFsLXNlcnZpY2UvY29tZXJjaWFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBWTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFJdEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7UUFJdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQW9CO1FBQzVCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWEsRUFBRSxlQUF1QjtRQUN6RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FB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QUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELDBCQUEwQixDQUFDLE9BQWlCO1FBQzFDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsZ0NBQWdDLENBQUM7UUFDdkUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyRCxDQUFDOzs4R0F4b0JVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBREwsTUFBTTsyRkFDbEIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZFJxIH0gZnJvbSAnLi8uLi8uLi9tb2RlbHMvcmVwb3J0cy9yZXBvcnRzLm1vZGVsJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHZXREaXNjb3VudENvdXBvbnNScSwgSUdldERpc2NvdW50Q291cG9uSW5mb3JtYXRpb25ScSB9IGZyb20gJy4uLy4uL21vZGVscy9wYXltZW50L3BheW1lbnQtcnEubW9kZWwnO1xuaW1wb3J0IHsgQ3JlYXRlQ09EUnEsIEZ1bGxEYXRhQ09EUnEsIEdldENvZEJ5Q291cnNlUnEsIElVcGRhdGVDT0RScSwgSW9idGFpbmNvZEN1cnJyZW50QW5kTGV2ZWxGdWxsRGF0YVJlbm92YXRpb25zUnEsIElDb2RQYXltZW50UnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29kL2NvZC1ycS5tb2RlbCc7XG5pbXBvcnQgeyBJUFRHZW5lcmFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UtZW52aXJvbWVudHMnO1xuaW1wb3J0IHsgQWRpY0luZm9CeUNvZGVScSwgQ29kUHJpY2VzUnEsIElHb2FsSW50ZXJmYWNlUnEsIFBhcmVudEJ5Q29kZVJxLCBJT2J0YWluUmVmZXJzQnlVc2VyUnEsIElBc3NpZ25Qb3NpYmxlU3R1ZGVudEZvclZhbHVlUnEsIElHZXRDb250YWN0c2FkdmlzZXJScSwgSU9idGFpbkNvZFByaWNlc1JxLCBJQXNzaWduaW5nQWR2aXNvckdvYWxzUnEsIElSZXBvcnRDb2RGb3JBZHZpc2VyUnEsIElDcmVhdGVUaWNrZXRSZWZlcnJhbFJxLCBJR2V0UG9zaWJsZVN0dWRlbnRCeURhdGVScSwgSUdldFVzZXJBZHZpc2VyQ29tbWVyY2lhbEJ5VHlwZUFzc2luZ0NvbnRhY3RzUnEsIEFzc2luZ0N1c3RvbWVyc0J5VHlwZUFzc2luZ0NvbnRhY3RGb3JBZHZpc2VyUnEsSUNyZWF0ZVR5cGVQYXltZW50UnEsIElDcmVhdGVDb21taXNzaW9uQXJlYVJxLCBJQXNzaWduQ291cnNlVHlwZXNUb0FyZWFScSxcbiAgSUNyZWF0ZVBheW1lbnRBcmVhQ29tbWlzc2lvblJxLCBJQ3JlYXRlVHlwZVVzZXJDb21taXNzaW9uUnEsIElBc3NpZ25Db21taXNzaW9uTW9kZWxUb1VzZXJScSwgSVRva2VuUnEsIElHZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvclJxLCBJR2V0Q29kU3R1ZGVudERldGFpbHNCeUFkdmlzZXJScSxJVXBkYXRlUGF5bWVudEFyZWFDb21taXNzaW9uUnEsSUFkZENvbmRpdGlvblRvUnVsZVJxLElFZGl0Q29uZGl0aW9uUnVsZVJxLCBJVXBkYXRlVHlwZVBheW1lbnRScSxJQXNzaWduU3Vib3JkaW5hdGVScSxJUmVtb3ZlU3Vib3JkaW5hdGVScSxJVXBkYXRlVHlwZVVzZXJDb21taXNzaW9uUnEsSVBheUFkdmlzb3JCb251c2VzUnEsSVBheVNlbGVjdGVkQ29tbWlzc2lvbnNScSxJQXNzaWduU3Vib3JkaW5hdGVzTWFzc2l2ZVJxLElEZWxldGVUeXBlVXNlckNvbW1pc3Npb25ScSxcbiAgSXJlamVjdFRyYW5zYWN0aW9uQ29tbWlzc2lvblJxLCBJQXBwcm92ZVRyYW5zYWN0aW9uQ29tbWlzc2lvblJxICwgSVNob3dUcmFuc2FjdGlvbkJpbGxScSwgSWFkZERldm9sdXRpb25Db21taXNzaW9uUnEsIElvYnRhaW5UcmFuc2FjdGlvbnNCeVN0YXR1c1JxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbW1lcmNpYWwvY29tbWVyY2lhbC5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyVG9rZW5ScSB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyL3VzZXItcnEubW9kZWwnO1xuaW1wb3J0IHsgSVNvY2lhbE5ldHdvcmtzUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWFya2V0aW5nL21hcmtldGluZy5tb2RlbCc7XG5pbXBvcnQgeyBJT2J0YWluQWxsQ291cnNld2FsbGV0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2J1ZGdldC9idWRnZXQubW9kZWwnO1xuaW1wb3J0IHsgSU9idGFpbkFsbFJlZmVycmFsc0J5VXNlclJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zZmVyL3RyYW5zZmVyLm1vZGVsJztcbmltcG9ydCB7IElDb2RXaXRoVGhlaXJTdGF0ZXNScSwgSUV4dGVuZFRpbWVUZXJtc1JxLCBJTmV3VGVybXNBbmRDb25kUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGVybXMvdGVybXMtcnMubW9kZWwnO1xuXG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENvbW1lcmNpYWxTZXJ2aWNlIGV4dGVuZHMgSVBUR2VuZXJhbFNlcnZpY2Uge1xuXG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnY29tbWVyY2lhbC9hcGkvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuU0VSVklDRV9VUkwgPSB0aGlzLmJhc2VVcmwoKSArIHRoaXMuU0VSVklDRV9VUkw7XG4gIH1cblxuICBjcmVhdGVDT0QocmVxdWVzdDogQ3JlYXRlQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0U3R1ZGVudENvZEhpc3RvcnkodG9rZW46IHN0cmluZywgc3R1ZGVudF9pZF9jYXJkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh7dG9rZW4sIHN0dWRlbnRfaWRfY2FyZH0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZEhpc3RvcnlBbGwodXNlclRva2VuOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9hbGwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHVzZXJUb2tlbik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUJ5Q291cnNlKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUJ5Q291cnNlRXhwb3J0KHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L2NvdXJzZS9leHBvcnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldERpc2NvdW50Q291cG9ucyhwYXJhbXM6IEdldERpc2NvdW50Q291cG9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9kaXNjb3VudC9jb3Vwb24vc2VhcmNoJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFByaWNlc0J5QWdyZWVtZW50KGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb2QvcHJpY2VzL2J5L2FncmVlbWVudC8nICsgY29kZTtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhjb2RlKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFBhcmVudEJ5Q29kZShwYXJhbXM6IFBhcmVudEJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3BhcmVudC9ieS9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFkaWNJbmZvQnlDb2RlKHBhcmFtczogQWRpY0luZm9CeUNvZGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9hZGl0aW9uYWxpbmZvL2J5L2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RnVsbERhdGFDb2RCeVN0dWRlbnQocGFyYW1zOiBGdWxsRGF0YUNPRFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZnVsbC9kYXRhL2NvZC9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEZ1bGxEYXRhQ29kQnlTdHVkZW50QW5kQ29kc0JlZm9yZShwYXJhbXM6IEZ1bGxEYXRhQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9mdWxsL2RhdGEvY29kL2J5L3N0dWRlbnQvYW5kL2NvZC9iZWZvcmUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kUHJpY2VzQnlBZ3JlZW1lbnRUeXBlUGF5bWVudChwYXJhbXM6IENvZFByaWNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb2QvcHJpY2VzL2J5L2FncmVlbWVudC9hbmQvdHlwZS9wYXltZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZEJ5QWR2YWlzZXIocGFyYW1zOiBVc2VyVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9ieS9hZHZhaXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RDb3Vyc2VzQnlBZHZpc29yKHBhcmFtczogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvY291cnNlcy9ieS9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZEJ5QWR2aXNvckFuZENvdXJzZShwYXJhbXM6IEdldENvZEJ5Q291cnNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2Qvc3R1ZGVudC9ieS9jb3Vyc2UvYW5kL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlR29hbChwYXJhbXM6IElHb2FsSW50ZXJmYWNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvbnRhY3Qvc3RyYXRlZ3kvY3JlYXRlL2dvYWwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsdGhpcy5odHRwT3B0aW9ucyk7XG4gICAgfVxuXG4gIGdldEFsbEdvYWxzKHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvbnRhY3Qvc3RyYXRlZ3kvdmlldy9nb2Fscyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModG9rZW4pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlRG9jdW1lbnQocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L21lZGlhL2RvY3VtZW50JztcbiAgICBsZXQgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBwYXJhbXMuZmlsZSk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCd1c2VyX2F1dG9yJywgcGFyYW1zLnVzZXJfYXV0b3IpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnY29kZV91c2VyJywgcGFyYW1zLmNvZGVfdXNlcik7XG4gICAgZm9ybURhdGEuYXBwZW5kKCd0eXBlX2RvY3VtZW50JywgcGFyYW1zLnR5cGVfZG9jdW1lbnQpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndG9rZW4nLCBwYXJhbXMudG9rZW4pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIGZvcm1EYXRhKTtcbiAgfVxuXG4gIGdldERvY3VtZW50c0J5U3R1ZGVudChwYXJhbXM6YW55KTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvbWVkaWEvZG9jdW1lbnQvdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZFN0dWRlbnRCeUNvZGVBZHZpc2VyKHBhcmFtczogSVJlcG9ydENvZEZvckFkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb2Qvc3R1ZGVudC9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIEV4cG9ydEZpbGVFeGNlbENvZEJ5QWR2aXNlcihwYXJhbXM6IElSZXBvcnRDb2RGb3JBZHZpc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2V4cG9ydC9leGNlbC9jb2Qvc3R1ZGVudC9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIE9idGFpblJlZmVycmFsc0J5VXNlcihwYXJhbXM6IElPYnRhaW5SZWZlcnNCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL3JlZmVycmFscy9ieS91c2VyL2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgICBnZXRQb3NpYmxlU3R1ZGVudHNBbGwocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9wb3NpYmxlL3N0dWRlbnRzL2FsbC9tb2RlbHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHBvc3RBc3NpZ25Qb3NpYmxlU3R1ZW50Rm9yVmFsdWUocGFyYW1zOiBJQXNzaWduUG9zaWJsZVN0dWRlbnRGb3JWYWx1ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wb3NpYmxlL3N0dWRlbnRzL3ZhbHVlL2Fzc2luZyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0Q29udGFjdHNCeUFkdmlzZXJDb21tZXJjaWFsKHBhcmFtczogSUdldENvbnRhY3RzYWR2aXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb250YWN0cy9tYXJrZXRpbmcvc3RyYXRlZ3kvYXNzaW5nL2J5L2FkdmlzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgT2J0YWluQ29kUHJpY2VzKHBhcmFtczogSU9idGFpbkNvZFByaWNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3ByaWNlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0Q3JlYXRlZFNvY2lhbE5ldG93cmtzKHBhcmFtczogSVNvY2lhbE5ldHdvcmtzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L25ldy9yZWdpc3Rlci9zb2NpYWwvbmV0d29yayc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0QXNzaWduaW5nQWR2aXNvckdvYWxzKHBhcmFtczogSUFzc2lnbmluZ0Fkdmlzb3JHb2Fsc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hc3NpZ25pbmcvYWR2aXNvcnkvZ29hbHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zT2J0YWluQWR2aXNvckdvYWxzKHBhcmFtczogSU9idGFpbkFsbENvdXJzZXdhbGxldCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2dvYWxzL2Fzc2lnbmVkL3RvL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdE9idGFpbk92ZXJhbEdvYWxBZHZpc28ocGFyYW1zOiBJT2J0YWluQWxsQ291cnNld2FsbGV0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vb3ZlcmFsL2dvYWwvb2YvYWR2aXNvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0T2J0YWluaW5mb0NvZEFjdHVhbGx5QnlVc2VyKHBhcmFtczogSWdldENvdXJzZXNGaW5pc2hBbmR1bmFzc2lnbmVkUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9pbmZvL2NvZC91c2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbmdMYXRlc0NvZEJ5U3R1ZGVudENvZGUgKGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvbGF0ZXN0L2NvZC9ieS9zdHVkZW50L2NvZGUvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgdXBkYXRlQ09EKHJlcXVlc3Q6IElVcGRhdGVDT0RScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdXBkYXRlL2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIG9idGFpbmNvZEN1cnJyZW50QW5kTGV2ZWxGdWxsRGF0YVJlbm92YXRpb25zKHJlcXVlc3Q6IElvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZnVsbC9kYXRhL2N1cnJlbnQvY29kL2J5L2NvZGUvc3R1ZGVudC9yZW5vdmF0aW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0ZGF0YUN1cnJlbnRDb2RCeVNUdWRlbnRDb2RlKHJlcXVlc3Q6IElvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2RhdGEvY3VycmVudC9kYXRhL2NvZC9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgdXBkYXRlQ29kQ3VycmVudEluT2JzZXJ2YXRpb25zUmVub3ZhdGlvbnMocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jaGFuZ2UvY29kL3N0YXR1cy9vYnNlcnZhdGlvbnMvcmVub3ZhdGlvbnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZFByZXZpdXNPclBsYWNlbWVudFRlc3RCeWNvZGUocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3JlZ2lzdGVyL3ByZXZpb3VzL29yL3BsYWNlbWVudC90ZXN0L2J5L3N0YXR1cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHVwZGF0ZUNvbnRyb2xTdGVwc0NvZFNlbGZNYW5hZ2VkKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2hhbmdlL3N0ZXAvZm9ybS9jb250cm9sL2NvZC9zZWxmL21hbmFnZWQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBPYnRhaW5Db2RQcmljZXNDb2RTZWxmTWFuYWdlZChwYXJhbXM6IElPYnRhaW5Db2RQcmljZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9zZWxmL21hbmFnZWQvcHJpY2VzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBjcmVhdGVDb2RTZWxmTWFuYWdlZChwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29kL3NlbGYvbWFuYWdlZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwcml6ZXNGb3JEdXJhdGlvbk9kQ29udGVzdCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICAncHJpemVzL2Zvci9kdXJhdGlvbi9vZi9jb250ZXN0JztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGNyZWF0ZVRpY2tldFJlZmVycmFsKHBhcmFtczogSUNyZWF0ZVRpY2tldFJlZmVycmFsUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdjcmVhdGUvY29udGVzdC9yZWdpc3RyYXRpb24vYnkvcmVmZXJyYWxlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gICAgb2J0YWluU3RhdHVzQW5kUmVmZXJyYWxzQnlVc2VyQ29kZShwYXJhbXM6IElPYnRhaW5SZWZlcnNCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9zdGF0dXMvYW5kL3JlZmVycmFscy9ieS91c2VyL2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2VzUG9zaWJsZVN0dWRlbnRBbGxGb3VyTW9kZWxzQnlEYXRlKHBhcmFtczogSUdldFBvc2libGVTdHVkZW50QnlEYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcG9zaWJsZS9zdHVkZW50cy9hbGwvZm91ci9tb2RlbHMvYnkvZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXNVc2VyQWR2aXNlckNvbW1lcmNpYWxCeVR5cGVBc3NpbmdDb250YWN0KHBhcmFtczogSUdldFVzZXJBZHZpc2VyQ29tbWVyY2lhbEJ5VHlwZUFzc2luZ0NvbnRhY3RzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvdXNlci9jb21tZXJjaWFsL2J5L3R5cGUvYXNzaW5nJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGFzc2luZ0N1c3RvbWVyc0J5VHlwZUFzc2luZ0NvbnRhY3RGb3JBZHZpc2VyKHBhcmFtczogQXNzaW5nQ3VzdG9tZXJzQnlUeXBlQXNzaW5nQ29udGFjdEZvckFkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvQXNzaW5nL3VzZXIvcG9zaWJsZS9zdHVkZW50L2J5L2RhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWRkaXRpb25hbFVzZXJEYXRhQnlDb3Vyc2UocGFyYW1zOiBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9hZGRpdGlvbmFsL3VzZXIvZGF0YS9ieS9jb3Vyc2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWxsUmVmZXJyYWxzQnlVc2VyKHBhcmFtczogSU9idGFpbkFsbFJlZmVycmFsc0J5VXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2FsbC9yZWZlcnJhbHMvYnkvdXNlci9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvZEluZm9ybWF0aW9uRm9yRXhwb3J0aW5nKHBhcmFtczogSUNvZFBheW1lbnRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvY29kL2luZm9ybWF0aW9uL2Zvci9leHBvcnRpbmcnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kQnlBZHZpc29yV2l0aFRoZWlyU3RhdGVzKHBhcmFtczogSUNvZFdpdGhUaGVpclN0YXRlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvZC9ieS9hZHZpc29yL3dpdGgvdGhlaXIvc3RhdGVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGV4dGVuZFRpbWVPZkFjY2VwdGFuY2VPZlRlcm1zKHBhcmFtczogSUV4dGVuZFRpbWVUZXJtc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZXh0ZW5kL3RpbWUvb2YvYWNjZXB0YW5jZS9vZi90ZXJtcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBuZXdUZXJtc0FuZENvbmRpdGlvbnNBY2NlcHRhbmNlVG9rZW4ocGFyYW1zOiBJTmV3VGVybXNBbmRDb25kUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICduZXcvdGVybXMvYW5kL2NvbmRpdGlvbnMvYWNjZXB0YW5jZS90b2tlbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVTdGF0dXNPZlRlcm1zQW5kQ29uZGl0aW9uc1JlY29yZHMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAndXBkYXRlL3N0YXR1cy9vZi90JmMvcmVjb3JkcycgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKG51bGwpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kQnlDb29kaW5hdG9yV2l0aFRoZWlyU3RhdGVzKHBhcmFtczogSUNvZFdpdGhUaGVpclN0YXRlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvZC9ieS9jb29kaW5hdG9lL3dpdGgvdGhlaXIvc3RhdGVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkFsbEluZm9ybWF0aW9uQ29kQnlDb2RlKGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9hbGwvaW5mb3JtYXRpb24vY29kL2J5L2NvZGUvJyArIGNvZGU7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMoY29kZSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvcihwYXJhbXM6IElHZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3N1bW1hcnkvYnkvY29tbWVyY2lhbC9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFN0dWRlbnREZXRhaWxzQnlBZHZpc2VyKHJlcXVlc3Q6IElHZXRDb2RTdHVkZW50RGV0YWlsc0J5QWR2aXNlclJxLCBhZHZpc2VyQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvY29kL3N0dWRlbnQvZGV0YWlscy9ieS9hZHZpc2VyLyR7YWR2aXNlckNvZGV9YDtcbiAgICBjb25zdCBvcHRpb25zID0geyAuLi50aGlzLmh0dHBPcHRpb25zLCBwYXJhbXM6IHJlcXVlc3QgYXMgYW55IH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgb3B0aW9ucyk7XG4gIH1cblxuICBjcmVhdGVUeXBlUGF5bWVudChwYXJhbXM6IElDcmVhdGVUeXBlUGF5bWVudFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NyZWF0ZS90eXBlL3BheW1lbnQvY29tbWlzc2lvbnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsVHlwZVBheW1lbnRzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsL3R5cGUvcGF5bWVudC9jb21taXNzaW9ucyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuY3JlYXRlQ29tbWlzc2lvbkFyZWEocGFyYW1zOiBJQ3JlYXRlQ29tbWlzc2lvbkFyZWFScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL2NvbW1pc3Npb24vYXJlYSc7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxuICBnZXRBbGxDb21taXNzaW9uQXJlYXMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvY29tbWlzc2lvbi9hcmVhcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuYXNzaWduQ291cnNlVHlwZXNUb0FyZWEocGFyYW1zOiBJQXNzaWduQ291cnNlVHlwZXNUb0FyZWFScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvYXNzaWduL2NvdXJzZS10eXBlcy90by1hcmVhJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5jcmVhdGVQYXltZW50QXJlYUNvbW1pc3Npb24ocGFyYW1zOiBJQ3JlYXRlUGF5bWVudEFyZWFDb21taXNzaW9uUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NyZWF0ZS9wYXltZW50L2FyZWEvY29tbWlzc2lvbic7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxuICBnZXRDb21taXNzaW9uUnVsZXNCeUFyZWEocmVxdWVzdDogSVRva2VuUnEsIGFyZWFDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGdldC9jb21taXNzaW9uLXJ1bGVzL2J5LWFyZWEvJHthcmVhQ29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBjcmVhdGVUeXBlVXNlckNvbW1pc3Npb24ocGFyYW1zOiBJQ3JlYXRlVHlwZVVzZXJDb21taXNzaW9uUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL3R5cGUvdXNlci9jb21taXNzaW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbFR5cGVVc2VyQ29tbWlzc2lvbnMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvdHlwZS91c2VyL2NvbW1pc3Npb25zJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGFzc2lnbkNvbW1pc3Npb25Nb2RlbFRvVXNlcihwYXJhbXM6IElBc3NpZ25Db21taXNzaW9uTW9kZWxUb1VzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hc3NpZ24vbW9kZWwvdG8vdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBY3RpdmVDb21taXNzaW9uTW9kZWxGb3JVc2VyKHJlcXVlc3Q6IElUb2tlblJxLCB1c2VyQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvYWN0aXZlL21vZGVsL2Zvci91c2VyLyR7dXNlckNvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBheUNvbW1pc3Npb25zKHBhcmFtczogSVBheVNlbGVjdGVkQ29tbWlzc2lvbnNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY29tbWlzc2lvbnMvcGF5L2NvZHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgLy9yZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgcGFyYW1zLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICByZWplY3RUcmFuc2FjdGlvbkJ5Q29kZShwYXJhbXM6IElyZWplY3RUcmFuc2FjdGlvbkNvbW1pc3Npb25ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY29tbWlzc2lvbnMvcmVqZWN0L3RyYW5zYWN0aW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGFwcHJvdmVUcmFuc2FjdGlvbkJ5Q29kZShwYXJhbXM6IElBcHByb3ZlVHJhbnNhY3Rpb25Db21taXNzaW9uUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2NvbW1pc3Npb25zL2FwcHJvdmUvdHJhbnNhY3Rpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgYWRkRGV2b2x1dGlvbkNvbW1pc3Npb24ocGFyYW1zOiBJYWRkRGV2b2x1dGlvbkNvbW1pc3Npb25ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY29tbWlzc2lvbnMvYWRkL2Rldm9sdXRpb24vY29tbWlzc2lvbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5UcmFuc2FjdGlvbnNCeVN0YXR1cyhyZXF1ZXN0OiBJb2J0YWluVHJhbnNhY3Rpb25zQnlTdGF0dXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZ2V0L3RyYW5zYWN0aW9ucy9ieS91c2VyL2FuZC9zdGF0dXNgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgc2VlVHJhbnNhY3Rpb25CaWxsKHJlcXVlc3Q6IElTaG93VHJhbnNhY3Rpb25CaWxsUnEgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBjb21taXNzaW9ucy9zZWUvdHJhbnNhY3Rpb24vYmlsbGA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwYXlBZHZpc29yQm9udXNlcyhwYXJhbXM6IElQYXlBZHZpc29yQm9udXNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdjb21taXNzaW9ucy9wYXkvYm9udXNlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgcGFyYW1zLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHVwZGF0ZVBheW1lbnRBcmVhQ29tbWlzc2lvbihyZXF1ZXN0OiBJVXBkYXRlUGF5bWVudEFyZWFDb21taXNzaW9uUnEsIHJ1bGVDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYHB1dC91cGRhdGUvcGF5bWVudC1hcmVhLWNvbW1pc3Npb24vJHtydWxlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHNlcnZpY2VVcmwsIHJlcXVlc3QsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5nZXRBbGxBcmVhc1dpdGhDb21taXNzaW9uUnVsZXMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsLWFyZWFzLXdpdGgtY29tbWlzc2lvbi1ydWxlcyc7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxuZ2V0QWxsQ29uZGl0aW9ucyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvY29tbWlzc2lvbi1jb25kaXRpb25zJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5nZXRBbGxBZ3JlZW1lbnRzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9hZ3JlZW1lbnRzJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5hZGRDb25kaXRpb25Ub1J1bGUocmVxdWVzdDogSUFkZENvbmRpdGlvblRvUnVsZVJxLCBydWxlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcG9zdC9hZGQvY29uZGl0aW9uL3RvLXJ1bGUvJHtydWxlQ29kZX1gO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5lZGl0Q29uZGl0aW9uVG9SdWxlKHJlcXVlc3Q6IElFZGl0Q29uZGl0aW9uUnVsZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcHV0L2VkaXQvY29uZGl0aW9uL3J1bGVgO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5kZWxldGVDb25kaXRpb25Gcm9tUnVsZShyZXF1ZXN0OiBJVG9rZW5ScSwgY29uZGl0aW9uSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGRlbGV0ZS9ydWxlLWNvbmRpdGlvbi8ke2NvbmRpdGlvbklkfWA7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIGhlYWRlcnM6IHRoaXMuaHR0cE9wdGlvbnMuaGVhZGVycyxcbiAgICBwYXJhbXM6IHRoaXMuaHR0cE9wdGlvbnMucGFyYW1zXG4gIH07XG4gIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHNlcnZpY2VVcmwsIG9wdGlvbnMpO1xufVxuXG51cGRhdGVUeXBlUGF5bWVudChyZXF1ZXN0OiBJVXBkYXRlVHlwZVBheW1lbnRScSwgY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcHV0L3VwZGF0ZS90eXBlLXBheW1lbnQtY29tbWlzc2lvbi8ke2NvZGV9YDtcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIHJldHVybiB0aGlzLmh0dHAucHV0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5kZWxldGVUeXBlUGF5bWVudChyZXF1ZXN0OiBJVG9rZW5ScSwgY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZGVsZXRlL3R5cGUtcGF5bWVudC1jb21taXNzaW9uLyR7Y29kZX1gO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICBoZWFkZXJzOiB0aGlzLmh0dHBPcHRpb25zLmhlYWRlcnMsXG4gICAgcGFyYW1zOiB0aGlzLmh0dHBPcHRpb25zLnBhcmFtc1xuICB9O1xuICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShzZXJ2aWNlVXJsLCBvcHRpb25zKTtcbn1cblxuZGVsZXRlUGF5bWVudEFyZWFDb21taXNzaW9uKHJlcXVlc3Q6IElUb2tlblJxLCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBkZWxldGUvcGF5bWVudC1hcmVhLWNvbW1pc3Npb24vJHtjb2RlfWA7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIGhlYWRlcnM6IHRoaXMuaHR0cE9wdGlvbnMuaGVhZGVycyxcbiAgICBwYXJhbXM6IHRoaXMuaHR0cE9wdGlvbnMucGFyYW1zXG4gIH07XG4gIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHNlcnZpY2VVcmwsIG9wdGlvbnMpO1xufVxuXG4gIG9idGFpblByZWFzc2lnbmVkQ291cnNlc0FuZFN0dWRlbnRFbnJvbGxtZW50U3RhdHVzKGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9wcmVhc3NpZ25lZC9jb3Vyc2VzL3N0dWRlbnQvZW5yb2xsbWVudC9zdGF0dXMvJyArIGNvZGU7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMoY29kZSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgZGVsZXRlQ29uZGl0aW9uKHJlcXVlc3Q6IElUb2tlblJxLCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGRlbGV0ZS9jb21taXNzaW9uLWNvbmRpdGlvbi8ke2NvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgaGVhZGVyczogdGhpcy5odHRwT3B0aW9ucy5oZWFkZXJzLFxuICAgICAgcGFyYW1zOiB0aGlzLmh0dHBPcHRpb25zLnBhcmFtc1xuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoc2VydmljZVVybCwgb3B0aW9ucyk7XG4gIH1cblxuICByZW5ld1N0dWRlbnRzVG9OZXh0TGV2ZWwocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBwb3N0L2NvZC9hbmQvcmVuZXdhbC9ieS9jb3Vyc2VzYDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QcmVhc3NpZ25lZENvdXJzZXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3ByZWFzc2lnbmVkL2NvdXJzZXMnO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgIGZ1bGxEYXRhQ29kQnlTdHVkZW50Q291cnNlUHJlYXNzaWduZWQoY29kZV9zdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdmdWxsZGF0YS9jb2QvYnkvc3R1ZGVudC9jb3Vyc2UvcHJlYXNzaWduZWQvJyArIGNvZGVfc3R1ZGVudDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhjb2RlX3N0dWRlbnQpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgc2VhcmNoU3R1ZGVudEJ5SWRjYXJkQ291cnNlUHJlYXNzaWduZWQoaWRjYXJkX3N0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3NlYXJjaC9zdHVkZW50L2J5L2lkY2FyZC9jb3Vyc2UvcHJlYXNzaWduZWQvJyArIGlkY2FyZF9zdHVkZW50O1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKGlkY2FyZF9zdHVkZW50KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGV4cG9ydFBvc2libGVTdHVkZW50QWxsRm91ck1vZGVsc0J5RGF0ZShwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9wb3NpYmxlL3N0dWRlbnRzL2FsbC9mb3VyL21vZGVscy9ieS9kYXRlL2Zvci9leHBvcnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsR29hbHNGb3JDb21taXNzaW9uTW9kZWxzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvaGVscGVycy9nb2Fscyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuXG4gIGdldFRlYW1CeU1hbmFnZXIocmVxdWVzdDogSVRva2VuUnEsIG1hbmFnZXJDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGdldC90ZWFtL2J5L21hbmFnZXIvJHttYW5hZ2VyQ29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cblxuICBhc3NpZ25TdWJvcmRpbmF0ZVRvTWFuYWdlcihwYXJhbXM6IElBc3NpZ25TdWJvcmRpbmF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RlYW0vbWVtYmVyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBwYXJhbXMsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcmVtb3ZlU3Vib3JkaW5hdGVGcm9tTWFuYWdlcihwYXJhbXM6IElSZW1vdmVTdWJvcmRpbmF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdkZWxldGUvdGVhbS9tZW1iZXInO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAuLi50aGlzLmh0dHBPcHRpb25zLFxuICAgICAgYm9keTogeyBwYXJhbXMgfVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoc2VydmljZVVybCwgb3B0aW9ucyk7XG59XG5cbm1hc3NBc3NpZ25TdWJvcmRpbmF0ZXMocGFyYW1zOiBJQXNzaWduU3Vib3JkaW5hdGVzTWFzc2l2ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdGVhbS9tZW1iZXJzL21hc3NpdmUnO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbiAgZ2V0VXNlcnNGb3JDb21taXNzaW9uTWFuYWdlbWVudChyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3VzZXJzL2Zvci1tYW5hZ2VtZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvbW1pc3Npb25Db25jZXB0cyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9jb21taXNzaW9uL2NvbmNlcHRzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICB1cGRhdGVUeXBlVXNlckNvbW1pc3Npb24ocGFyYW1zOiBJVXBkYXRlVHlwZVVzZXJDb21taXNzaW9uUnEsIGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcHV0L3VwZGF0ZS90eXBlL3VzZXIvY29tbWlzc2lvbi8ke2NvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0U3Vib3JkaW5hdGVzQnlNYW5hZ2VyKHJlcXVlc3Q6IElUb2tlblJxLCBtYW5hZ2VyQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvdGVhbS9ieS9tYW5hZ2VyLyR7bWFuYWdlckNvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGRlbGV0ZVR5cGVVc2VyQ29tbWlzc2lvbihwYXJhbXM6IElEZWxldGVUeXBlVXNlckNvbW1pc3Npb25ScSwgY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBkZWxldGUvdHlwZS91c2VyL2NvbW1pc3Npb24vJHtjb2RlfWA7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRoaXMuaHR0cE9wdGlvbnMsXG4gICAgICBib2R5OiB7IHBhcmFtcyB9XG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShzZXJ2aWNlVXJsLCBvcHRpb25zKTtcbiAgfVxuICBnZXRNb250aGx5Qm9udXNTdGF0dXMocmVxdWVzdDogYW55LCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBhZHZpc29yL21vbnRobHkvc3RhdHVzLyR7Y29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvdXJzZVR5cGVDYXRlZ29yaWVzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvYWxsL2NvdXJzZS90eXBlL2NhdGVnb3JpZXNgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbn1cbiJdfQ==
573
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXJjaWFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tZXJjaWFsLXNlcnZpY2UvY29tZXJjaWFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBWTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFJdEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7UUFJdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQW9CO1FBQzVCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWEsRUFBRSxlQUF1QjtRQUN6RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FB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QUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELDBCQUEwQixDQUFDLE9BQWlCO1FBQzFDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsZ0NBQWdDLENBQUM7UUFDdkUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBS0MsK0JBQStCLENBQUMsT0FBMkM7UUFDM0UsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQ0FBcUMsQ0FBQztRQUM1RSxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxNQUFpQztRQUN0RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLHNDQUFzQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7OEdBdnBCVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURMLE1BQU07MkZBQ2xCLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSB9IGZyb20gJy4vLi4vLi4vbW9kZWxzL3JlcG9ydHMvcmVwb3J0cy5tb2RlbCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR2V0RGlzY291bnRDb3Vwb25zUnEsIElHZXREaXNjb3VudENvdXBvbkluZm9ybWF0aW9uUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvcGF5bWVudC9wYXltZW50LXJxLm1vZGVsJztcbmltcG9ydCB7IENyZWF0ZUNPRFJxLCBGdWxsRGF0YUNPRFJxLCBHZXRDb2RCeUNvdXJzZVJxLCBJVXBkYXRlQ09EUnEsIElvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9uc1JxLCBJQ29kUGF5bWVudFJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvZC9jb2QtcnEubW9kZWwnO1xuaW1wb3J0IHsgSVBUR2VuZXJhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlLWVudmlyb21lbnRzJztcbmltcG9ydCB7IEFkaWNJbmZvQnlDb2RlUnEsIENvZFByaWNlc1JxLCBJR29hbEludGVyZmFjZVJxLCBQYXJlbnRCeUNvZGVScSwgSU9idGFpblJlZmVyc0J5VXNlclJxLCBJQXNzaWduUG9zaWJsZVN0dWRlbnRGb3JWYWx1ZVJxLCBJR2V0Q29udGFjdHNhZHZpc2VyUnEsIElPYnRhaW5Db2RQcmljZXNScSwgSUFzc2lnbmluZ0Fkdmlzb3JHb2Fsc1JxLCBJUmVwb3J0Q29kRm9yQWR2aXNlclJxLCBJQ3JlYXRlVGlja2V0UmVmZXJyYWxScSwgSUdldFBvc2libGVTdHVkZW50QnlEYXRlUnEsIElHZXRVc2VyQWR2aXNlckNvbW1lcmNpYWxCeVR5cGVBc3NpbmdDb250YWN0c1JxLCBBc3NpbmdDdXN0b21lcnNCeVR5cGVBc3NpbmdDb250YWN0Rm9yQWR2aXNlclJxLElDcmVhdGVUeXBlUGF5bWVudFJxLCBJQ3JlYXRlQ29tbWlzc2lvbkFyZWFScSwgSUFzc2lnbkNvdXJzZVR5cGVzVG9BcmVhUnEsXG4gIElDcmVhdGVQYXltZW50QXJlYUNvbW1pc3Npb25ScSwgSUNyZWF0ZVR5cGVVc2VyQ29tbWlzc2lvblJxLCBJQXNzaWduQ29tbWlzc2lvbk1vZGVsVG9Vc2VyUnEsIElUb2tlblJxLCBJR2V0U3VtbWFyeUJ5Q29tbWVyY2lhbEFkdmlzb3JScSwgSUdldENvZFN0dWRlbnREZXRhaWxzQnlBZHZpc2VyUnEsSVVwZGF0ZVBheW1lbnRBcmVhQ29tbWlzc2lvblJxLElBZGRDb25kaXRpb25Ub1J1bGVScSxJRWRpdENvbmRpdGlvblJ1bGVScSwgSVVwZGF0ZVR5cGVQYXltZW50UnEsSUFzc2lnblN1Ym9yZGluYXRlUnEsSVJlbW92ZVN1Ym9yZGluYXRlUnEsSVVwZGF0ZVR5cGVVc2VyQ29tbWlzc2lvblJxLElQYXlBZHZpc29yQm9udXNlc1JxLElQYXlTZWxlY3RlZENvbW1pc3Npb25zUnEsSUFzc2lnblN1Ym9yZGluYXRlc01hc3NpdmVScSxJRGVsZXRlVHlwZVVzZXJDb21taXNzaW9uUnEsXG4gIElyZWplY3RUcmFuc2FjdGlvbkNvbW1pc3Npb25ScSwgSUFwcHJvdmVUcmFuc2FjdGlvbkNvbW1pc3Npb25ScSAsIElTaG93VHJhbnNhY3Rpb25CaWxsUnEsIElhZGREZXZvbHV0aW9uQ29tbWlzc2lvblJxLCBJb2J0YWluVHJhbnNhY3Rpb25zQnlTdGF0dXNScSwgSUNhbmNlbGxUcmFuc2FjdGlvbkJpbGxScSxJR2V0Q29tbWlzc2lvbnNCeVRyYW5zYWN0aW9uQ29kZVJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbW1lcmNpYWwvY29tbWVyY2lhbC5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyVG9rZW5ScSB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyL3VzZXItcnEubW9kZWwnO1xuaW1wb3J0IHsgSVNvY2lhbE5ldHdvcmtzUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWFya2V0aW5nL21hcmtldGluZy5tb2RlbCc7XG5pbXBvcnQgeyBJT2J0YWluQWxsQ291cnNld2FsbGV0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2J1ZGdldC9idWRnZXQubW9kZWwnO1xuaW1wb3J0IHsgSU9idGFpbkFsbFJlZmVycmFsc0J5VXNlclJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zZmVyL3RyYW5zZmVyLm1vZGVsJztcbmltcG9ydCB7IElDb2RXaXRoVGhlaXJTdGF0ZXNScSwgSUV4dGVuZFRpbWVUZXJtc1JxLCBJTmV3VGVybXNBbmRDb25kUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGVybXMvdGVybXMtcnMubW9kZWwnO1xuXG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENvbW1lcmNpYWxTZXJ2aWNlIGV4dGVuZHMgSVBUR2VuZXJhbFNlcnZpY2Uge1xuXG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnY29tbWVyY2lhbC9hcGkvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuU0VSVklDRV9VUkwgPSB0aGlzLmJhc2VVcmwoKSArIHRoaXMuU0VSVklDRV9VUkw7XG4gIH1cblxuICBjcmVhdGVDT0QocmVxdWVzdDogQ3JlYXRlQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0U3R1ZGVudENvZEhpc3RvcnkodG9rZW46IHN0cmluZywgc3R1ZGVudF9pZF9jYXJkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh7dG9rZW4sIHN0dWRlbnRfaWRfY2FyZH0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZEhpc3RvcnlBbGwodXNlclRva2VuOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9hbGwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHVzZXJUb2tlbik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUJ5Q291cnNlKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUJ5Q291cnNlRXhwb3J0KHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L2NvdXJzZS9leHBvcnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldERpc2NvdW50Q291cG9ucyhwYXJhbXM6IEdldERpc2NvdW50Q291cG9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9kaXNjb3VudC9jb3Vwb24vc2VhcmNoJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFByaWNlc0J5QWdyZWVtZW50KGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb2QvcHJpY2VzL2J5L2FncmVlbWVudC8nICsgY29kZTtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhjb2RlKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFBhcmVudEJ5Q29kZShwYXJhbXM6IFBhcmVudEJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3BhcmVudC9ieS9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFkaWNJbmZvQnlDb2RlKHBhcmFtczogQWRpY0luZm9CeUNvZGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9hZGl0aW9uYWxpbmZvL2J5L2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RnVsbERhdGFDb2RCeVN0dWRlbnQocGFyYW1zOiBGdWxsRGF0YUNPRFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZnVsbC9kYXRhL2NvZC9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEZ1bGxEYXRhQ29kQnlTdHVkZW50QW5kQ29kc0JlZm9yZShwYXJhbXM6IEZ1bGxEYXRhQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9mdWxsL2RhdGEvY29kL2J5L3N0dWRlbnQvYW5kL2NvZC9iZWZvcmUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kUHJpY2VzQnlBZ3JlZW1lbnRUeXBlUGF5bWVudChwYXJhbXM6IENvZFByaWNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb2QvcHJpY2VzL2J5L2FncmVlbWVudC9hbmQvdHlwZS9wYXltZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZEJ5QWR2YWlzZXIocGFyYW1zOiBVc2VyVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9ieS9hZHZhaXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RDb3Vyc2VzQnlBZHZpc29yKHBhcmFtczogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvY291cnNlcy9ieS9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZEJ5QWR2aXNvckFuZENvdXJzZShwYXJhbXM6IEdldENvZEJ5Q291cnNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2Qvc3R1ZGVudC9ieS9jb3Vyc2UvYW5kL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlR29hbChwYXJhbXM6IElHb2FsSW50ZXJmYWNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvbnRhY3Qvc3RyYXRlZ3kvY3JlYXRlL2dvYWwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsdGhpcy5odHRwT3B0aW9ucyk7XG4gICAgfVxuXG4gIGdldEFsbEdvYWxzKHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvbnRhY3Qvc3RyYXRlZ3kvdmlldy9nb2Fscyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModG9rZW4pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlRG9jdW1lbnQocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L21lZGlhL2RvY3VtZW50JztcbiAgICBsZXQgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBwYXJhbXMuZmlsZSk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCd1c2VyX2F1dG9yJywgcGFyYW1zLnVzZXJfYXV0b3IpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnY29kZV91c2VyJywgcGFyYW1zLmNvZGVfdXNlcik7XG4gICAgZm9ybURhdGEuYXBwZW5kKCd0eXBlX2RvY3VtZW50JywgcGFyYW1zLnR5cGVfZG9jdW1lbnQpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndG9rZW4nLCBwYXJhbXMudG9rZW4pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIGZvcm1EYXRhKTtcbiAgfVxuXG4gIGdldERvY3VtZW50c0J5U3R1ZGVudChwYXJhbXM6YW55KTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvbWVkaWEvZG9jdW1lbnQvdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZFN0dWRlbnRCeUNvZGVBZHZpc2VyKHBhcmFtczogSVJlcG9ydENvZEZvckFkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb2Qvc3R1ZGVudC9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIEV4cG9ydEZpbGVFeGNlbENvZEJ5QWR2aXNlcihwYXJhbXM6IElSZXBvcnRDb2RGb3JBZHZpc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2V4cG9ydC9leGNlbC9jb2Qvc3R1ZGVudC9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIE9idGFpblJlZmVycmFsc0J5VXNlcihwYXJhbXM6IElPYnRhaW5SZWZlcnNCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL3JlZmVycmFscy9ieS91c2VyL2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgICBnZXRQb3NpYmxlU3R1ZGVudHNBbGwocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9wb3NpYmxlL3N0dWRlbnRzL2FsbC9tb2RlbHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHBvc3RBc3NpZ25Qb3NpYmxlU3R1ZW50Rm9yVmFsdWUocGFyYW1zOiBJQXNzaWduUG9zaWJsZVN0dWRlbnRGb3JWYWx1ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wb3NpYmxlL3N0dWRlbnRzL3ZhbHVlL2Fzc2luZyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0Q29udGFjdHNCeUFkdmlzZXJDb21tZXJjaWFsKHBhcmFtczogSUdldENvbnRhY3RzYWR2aXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb250YWN0cy9tYXJrZXRpbmcvc3RyYXRlZ3kvYXNzaW5nL2J5L2FkdmlzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgT2J0YWluQ29kUHJpY2VzKHBhcmFtczogSU9idGFpbkNvZFByaWNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3ByaWNlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0Q3JlYXRlZFNvY2lhbE5ldG93cmtzKHBhcmFtczogSVNvY2lhbE5ldHdvcmtzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L25ldy9yZWdpc3Rlci9zb2NpYWwvbmV0d29yayc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0QXNzaWduaW5nQWR2aXNvckdvYWxzKHBhcmFtczogSUFzc2lnbmluZ0Fkdmlzb3JHb2Fsc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hc3NpZ25pbmcvYWR2aXNvcnkvZ29hbHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zT2J0YWluQWR2aXNvckdvYWxzKHBhcmFtczogSU9idGFpbkFsbENvdXJzZXdhbGxldCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2dvYWxzL2Fzc2lnbmVkL3RvL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdE9idGFpbk92ZXJhbEdvYWxBZHZpc28ocGFyYW1zOiBJT2J0YWluQWxsQ291cnNld2FsbGV0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vb3ZlcmFsL2dvYWwvb2YvYWR2aXNvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0T2J0YWluaW5mb0NvZEFjdHVhbGx5QnlVc2VyKHBhcmFtczogSWdldENvdXJzZXNGaW5pc2hBbmR1bmFzc2lnbmVkUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9pbmZvL2NvZC91c2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbmdMYXRlc0NvZEJ5U3R1ZGVudENvZGUgKGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvbGF0ZXN0L2NvZC9ieS9zdHVkZW50L2NvZGUvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgdXBkYXRlQ09EKHJlcXVlc3Q6IElVcGRhdGVDT0RScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdXBkYXRlL2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIG9idGFpbmNvZEN1cnJyZW50QW5kTGV2ZWxGdWxsRGF0YVJlbm92YXRpb25zKHJlcXVlc3Q6IElvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZnVsbC9kYXRhL2N1cnJlbnQvY29kL2J5L2NvZGUvc3R1ZGVudC9yZW5vdmF0aW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0ZGF0YUN1cnJlbnRDb2RCeVNUdWRlbnRDb2RlKHJlcXVlc3Q6IElvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2RhdGEvY3VycmVudC9kYXRhL2NvZC9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgdXBkYXRlQ29kQ3VycmVudEluT2JzZXJ2YXRpb25zUmVub3ZhdGlvbnMocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jaGFuZ2UvY29kL3N0YXR1cy9vYnNlcnZhdGlvbnMvcmVub3ZhdGlvbnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZFByZXZpdXNPclBsYWNlbWVudFRlc3RCeWNvZGUocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3JlZ2lzdGVyL3ByZXZpb3VzL29yL3BsYWNlbWVudC90ZXN0L2J5L3N0YXR1cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHVwZGF0ZUNvbnRyb2xTdGVwc0NvZFNlbGZNYW5hZ2VkKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2hhbmdlL3N0ZXAvZm9ybS9jb250cm9sL2NvZC9zZWxmL21hbmFnZWQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBPYnRhaW5Db2RQcmljZXNDb2RTZWxmTWFuYWdlZChwYXJhbXM6IElPYnRhaW5Db2RQcmljZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9zZWxmL21hbmFnZWQvcHJpY2VzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBjcmVhdGVDb2RTZWxmTWFuYWdlZChwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29kL3NlbGYvbWFuYWdlZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwcml6ZXNGb3JEdXJhdGlvbk9kQ29udGVzdCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICAncHJpemVzL2Zvci9kdXJhdGlvbi9vZi9jb250ZXN0JztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGNyZWF0ZVRpY2tldFJlZmVycmFsKHBhcmFtczogSUNyZWF0ZVRpY2tldFJlZmVycmFsUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdjcmVhdGUvY29udGVzdC9yZWdpc3RyYXRpb24vYnkvcmVmZXJyYWxlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gICAgb2J0YWluU3RhdHVzQW5kUmVmZXJyYWxzQnlVc2VyQ29kZShwYXJhbXM6IElPYnRhaW5SZWZlcnNCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9zdGF0dXMvYW5kL3JlZmVycmFscy9ieS91c2VyL2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2VzUG9zaWJsZVN0dWRlbnRBbGxGb3VyTW9kZWxzQnlEYXRlKHBhcmFtczogSUdldFBvc2libGVTdHVkZW50QnlEYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcG9zaWJsZS9zdHVkZW50cy9hbGwvZm91ci9tb2RlbHMvYnkvZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXNVc2VyQWR2aXNlckNvbW1lcmNpYWxCeVR5cGVBc3NpbmdDb250YWN0KHBhcmFtczogSUdldFVzZXJBZHZpc2VyQ29tbWVyY2lhbEJ5VHlwZUFzc2luZ0NvbnRhY3RzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvdXNlci9jb21tZXJjaWFsL2J5L3R5cGUvYXNzaW5nJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGFzc2luZ0N1c3RvbWVyc0J5VHlwZUFzc2luZ0NvbnRhY3RGb3JBZHZpc2VyKHBhcmFtczogQXNzaW5nQ3VzdG9tZXJzQnlUeXBlQXNzaW5nQ29udGFjdEZvckFkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvQXNzaW5nL3VzZXIvcG9zaWJsZS9zdHVkZW50L2J5L2RhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWRkaXRpb25hbFVzZXJEYXRhQnlDb3Vyc2UocGFyYW1zOiBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9hZGRpdGlvbmFsL3VzZXIvZGF0YS9ieS9jb3Vyc2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWxsUmVmZXJyYWxzQnlVc2VyKHBhcmFtczogSU9idGFpbkFsbFJlZmVycmFsc0J5VXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2FsbC9yZWZlcnJhbHMvYnkvdXNlci9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvZEluZm9ybWF0aW9uRm9yRXhwb3J0aW5nKHBhcmFtczogSUNvZFBheW1lbnRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvY29kL2luZm9ybWF0aW9uL2Zvci9leHBvcnRpbmcnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kQnlBZHZpc29yV2l0aFRoZWlyU3RhdGVzKHBhcmFtczogSUNvZFdpdGhUaGVpclN0YXRlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvZC9ieS9hZHZpc29yL3dpdGgvdGhlaXIvc3RhdGVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGV4dGVuZFRpbWVPZkFjY2VwdGFuY2VPZlRlcm1zKHBhcmFtczogSUV4dGVuZFRpbWVUZXJtc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZXh0ZW5kL3RpbWUvb2YvYWNjZXB0YW5jZS9vZi90ZXJtcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBuZXdUZXJtc0FuZENvbmRpdGlvbnNBY2NlcHRhbmNlVG9rZW4ocGFyYW1zOiBJTmV3VGVybXNBbmRDb25kUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICduZXcvdGVybXMvYW5kL2NvbmRpdGlvbnMvYWNjZXB0YW5jZS90b2tlbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVTdGF0dXNPZlRlcm1zQW5kQ29uZGl0aW9uc1JlY29yZHMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAndXBkYXRlL3N0YXR1cy9vZi90JmMvcmVjb3JkcycgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKG51bGwpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kQnlDb29kaW5hdG9yV2l0aFRoZWlyU3RhdGVzKHBhcmFtczogSUNvZFdpdGhUaGVpclN0YXRlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvZC9ieS9jb29kaW5hdG9lL3dpdGgvdGhlaXIvc3RhdGVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkFsbEluZm9ybWF0aW9uQ29kQnlDb2RlKGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9hbGwvaW5mb3JtYXRpb24vY29kL2J5L2NvZGUvJyArIGNvZGU7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMoY29kZSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvcihwYXJhbXM6IElHZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3N1bW1hcnkvYnkvY29tbWVyY2lhbC9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFN0dWRlbnREZXRhaWxzQnlBZHZpc2VyKHJlcXVlc3Q6IElHZXRDb2RTdHVkZW50RGV0YWlsc0J5QWR2aXNlclJxLCBhZHZpc2VyQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvY29kL3N0dWRlbnQvZGV0YWlscy9ieS9hZHZpc2VyLyR7YWR2aXNlckNvZGV9YDtcbiAgICBjb25zdCBvcHRpb25zID0geyAuLi50aGlzLmh0dHBPcHRpb25zLCBwYXJhbXM6IHJlcXVlc3QgYXMgYW55IH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgb3B0aW9ucyk7XG4gIH1cblxuICBjcmVhdGVUeXBlUGF5bWVudChwYXJhbXM6IElDcmVhdGVUeXBlUGF5bWVudFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NyZWF0ZS90eXBlL3BheW1lbnQvY29tbWlzc2lvbnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsVHlwZVBheW1lbnRzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsL3R5cGUvcGF5bWVudC9jb21taXNzaW9ucyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuY3JlYXRlQ29tbWlzc2lvbkFyZWEocGFyYW1zOiBJQ3JlYXRlQ29tbWlzc2lvbkFyZWFScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL2NvbW1pc3Npb24vYXJlYSc7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxuICBnZXRBbGxDb21taXNzaW9uQXJlYXMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvY29tbWlzc2lvbi9hcmVhcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuYXNzaWduQ291cnNlVHlwZXNUb0FyZWEocGFyYW1zOiBJQXNzaWduQ291cnNlVHlwZXNUb0FyZWFScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvYXNzaWduL2NvdXJzZS10eXBlcy90by1hcmVhJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5jcmVhdGVQYXltZW50QXJlYUNvbW1pc3Npb24ocGFyYW1zOiBJQ3JlYXRlUGF5bWVudEFyZWFDb21taXNzaW9uUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NyZWF0ZS9wYXltZW50L2FyZWEvY29tbWlzc2lvbic7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxuICBnZXRDb21taXNzaW9uUnVsZXNCeUFyZWEocmVxdWVzdDogSVRva2VuUnEsIGFyZWFDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGdldC9jb21taXNzaW9uLXJ1bGVzL2J5LWFyZWEvJHthcmVhQ29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBjcmVhdGVUeXBlVXNlckNvbW1pc3Npb24ocGFyYW1zOiBJQ3JlYXRlVHlwZVVzZXJDb21taXNzaW9uUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL3R5cGUvdXNlci9jb21taXNzaW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbFR5cGVVc2VyQ29tbWlzc2lvbnMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvdHlwZS91c2VyL2NvbW1pc3Npb25zJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGFzc2lnbkNvbW1pc3Npb25Nb2RlbFRvVXNlcihwYXJhbXM6IElBc3NpZ25Db21taXNzaW9uTW9kZWxUb1VzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hc3NpZ24vbW9kZWwvdG8vdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBY3RpdmVDb21taXNzaW9uTW9kZWxGb3JVc2VyKHJlcXVlc3Q6IElUb2tlblJxLCB1c2VyQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvYWN0aXZlL21vZGVsL2Zvci91c2VyLyR7dXNlckNvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBheUNvbW1pc3Npb25zKHBhcmFtczogSVBheVNlbGVjdGVkQ29tbWlzc2lvbnNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY29tbWlzc2lvbnMvcGF5L2NvZHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgLy9yZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgcGFyYW1zLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICByZWplY3RUcmFuc2FjdGlvbkJ5Q29kZShwYXJhbXM6IElyZWplY3RUcmFuc2FjdGlvbkNvbW1pc3Npb25ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY29tbWlzc2lvbnMvcmVqZWN0L3RyYW5zYWN0aW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGFwcHJvdmVUcmFuc2FjdGlvbkJ5Q29kZShwYXJhbXM6IElBcHByb3ZlVHJhbnNhY3Rpb25Db21taXNzaW9uUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2NvbW1pc3Npb25zL2FwcHJvdmUvdHJhbnNhY3Rpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgYWRkRGV2b2x1dGlvbkNvbW1pc3Npb24ocGFyYW1zOiBJYWRkRGV2b2x1dGlvbkNvbW1pc3Npb25ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY29tbWlzc2lvbnMvYWRkL2Rldm9sdXRpb24vY29tbWlzc2lvbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5UcmFuc2FjdGlvbnNCeVN0YXR1cyhyZXF1ZXN0OiBJb2J0YWluVHJhbnNhY3Rpb25zQnlTdGF0dXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZ2V0L3RyYW5zYWN0aW9ucy9ieS91c2VyL2FuZC9zdGF0dXNgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgc2VlVHJhbnNhY3Rpb25CaWxsKHJlcXVlc3Q6IElTaG93VHJhbnNhY3Rpb25CaWxsUnEgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBjb21taXNzaW9ucy9zZWUvdHJhbnNhY3Rpb24vYmlsbGA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwYXlBZHZpc29yQm9udXNlcyhwYXJhbXM6IElQYXlBZHZpc29yQm9udXNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdjb21taXNzaW9ucy9wYXkvYm9udXNlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgcGFyYW1zLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHVwZGF0ZVBheW1lbnRBcmVhQ29tbWlzc2lvbihyZXF1ZXN0OiBJVXBkYXRlUGF5bWVudEFyZWFDb21taXNzaW9uUnEsIHJ1bGVDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYHB1dC91cGRhdGUvcGF5bWVudC1hcmVhLWNvbW1pc3Npb24vJHtydWxlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHNlcnZpY2VVcmwsIHJlcXVlc3QsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5nZXRBbGxBcmVhc1dpdGhDb21taXNzaW9uUnVsZXMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsLWFyZWFzLXdpdGgtY29tbWlzc2lvbi1ydWxlcyc7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxuZ2V0QWxsQ29uZGl0aW9ucyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvY29tbWlzc2lvbi1jb25kaXRpb25zJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5nZXRBbGxBZ3JlZW1lbnRzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9hZ3JlZW1lbnRzJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5hZGRDb25kaXRpb25Ub1J1bGUocmVxdWVzdDogSUFkZENvbmRpdGlvblRvUnVsZVJxLCBydWxlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcG9zdC9hZGQvY29uZGl0aW9uL3RvLXJ1bGUvJHtydWxlQ29kZX1gO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5lZGl0Q29uZGl0aW9uVG9SdWxlKHJlcXVlc3Q6IElFZGl0Q29uZGl0aW9uUnVsZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcHV0L2VkaXQvY29uZGl0aW9uL3J1bGVgO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5kZWxldGVDb25kaXRpb25Gcm9tUnVsZShyZXF1ZXN0OiBJVG9rZW5ScSwgY29uZGl0aW9uSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGRlbGV0ZS9ydWxlLWNvbmRpdGlvbi8ke2NvbmRpdGlvbklkfWA7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIGhlYWRlcnM6IHRoaXMuaHR0cE9wdGlvbnMuaGVhZGVycyxcbiAgICBwYXJhbXM6IHRoaXMuaHR0cE9wdGlvbnMucGFyYW1zXG4gIH07XG4gIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHNlcnZpY2VVcmwsIG9wdGlvbnMpO1xufVxuXG51cGRhdGVUeXBlUGF5bWVudChyZXF1ZXN0OiBJVXBkYXRlVHlwZVBheW1lbnRScSwgY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcHV0L3VwZGF0ZS90eXBlLXBheW1lbnQtY29tbWlzc2lvbi8ke2NvZGV9YDtcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIHJldHVybiB0aGlzLmh0dHAucHV0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5kZWxldGVUeXBlUGF5bWVudChyZXF1ZXN0OiBJVG9rZW5ScSwgY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZGVsZXRlL3R5cGUtcGF5bWVudC1jb21taXNzaW9uLyR7Y29kZX1gO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICBoZWFkZXJzOiB0aGlzLmh0dHBPcHRpb25zLmhlYWRlcnMsXG4gICAgcGFyYW1zOiB0aGlzLmh0dHBPcHRpb25zLnBhcmFtc1xuICB9O1xuICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShzZXJ2aWNlVXJsLCBvcHRpb25zKTtcbn1cblxuZGVsZXRlUGF5bWVudEFyZWFDb21taXNzaW9uKHJlcXVlc3Q6IElUb2tlblJxLCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBkZWxldGUvcGF5bWVudC1hcmVhLWNvbW1pc3Npb24vJHtjb2RlfWA7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIGhlYWRlcnM6IHRoaXMuaHR0cE9wdGlvbnMuaGVhZGVycyxcbiAgICBwYXJhbXM6IHRoaXMuaHR0cE9wdGlvbnMucGFyYW1zXG4gIH07XG4gIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHNlcnZpY2VVcmwsIG9wdGlvbnMpO1xufVxuXG4gIG9idGFpblByZWFzc2lnbmVkQ291cnNlc0FuZFN0dWRlbnRFbnJvbGxtZW50U3RhdHVzKGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9wcmVhc3NpZ25lZC9jb3Vyc2VzL3N0dWRlbnQvZW5yb2xsbWVudC9zdGF0dXMvJyArIGNvZGU7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMoY29kZSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgZGVsZXRlQ29uZGl0aW9uKHJlcXVlc3Q6IElUb2tlblJxLCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGRlbGV0ZS9jb21taXNzaW9uLWNvbmRpdGlvbi8ke2NvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgaGVhZGVyczogdGhpcy5odHRwT3B0aW9ucy5oZWFkZXJzLFxuICAgICAgcGFyYW1zOiB0aGlzLmh0dHBPcHRpb25zLnBhcmFtc1xuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoc2VydmljZVVybCwgb3B0aW9ucyk7XG4gIH1cblxuICByZW5ld1N0dWRlbnRzVG9OZXh0TGV2ZWwocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBwb3N0L2NvZC9hbmQvcmVuZXdhbC9ieS9jb3Vyc2VzYDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QcmVhc3NpZ25lZENvdXJzZXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3ByZWFzc2lnbmVkL2NvdXJzZXMnO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgIGZ1bGxEYXRhQ29kQnlTdHVkZW50Q291cnNlUHJlYXNzaWduZWQoY29kZV9zdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdmdWxsZGF0YS9jb2QvYnkvc3R1ZGVudC9jb3Vyc2UvcHJlYXNzaWduZWQvJyArIGNvZGVfc3R1ZGVudDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhjb2RlX3N0dWRlbnQpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgc2VhcmNoU3R1ZGVudEJ5SWRjYXJkQ291cnNlUHJlYXNzaWduZWQoaWRjYXJkX3N0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3NlYXJjaC9zdHVkZW50L2J5L2lkY2FyZC9jb3Vyc2UvcHJlYXNzaWduZWQvJyArIGlkY2FyZF9zdHVkZW50O1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKGlkY2FyZF9zdHVkZW50KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGV4cG9ydFBvc2libGVTdHVkZW50QWxsRm91ck1vZGVsc0J5RGF0ZShwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9wb3NpYmxlL3N0dWRlbnRzL2FsbC9mb3VyL21vZGVscy9ieS9kYXRlL2Zvci9leHBvcnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsR29hbHNGb3JDb21taXNzaW9uTW9kZWxzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvaGVscGVycy9nb2Fscyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuXG4gIGdldFRlYW1CeU1hbmFnZXIocmVxdWVzdDogSVRva2VuUnEsIG1hbmFnZXJDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGdldC90ZWFtL2J5L21hbmFnZXIvJHttYW5hZ2VyQ29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cblxuICBhc3NpZ25TdWJvcmRpbmF0ZVRvTWFuYWdlcihwYXJhbXM6IElBc3NpZ25TdWJvcmRpbmF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RlYW0vbWVtYmVyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBwYXJhbXMsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcmVtb3ZlU3Vib3JkaW5hdGVGcm9tTWFuYWdlcihwYXJhbXM6IElSZW1vdmVTdWJvcmRpbmF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdkZWxldGUvdGVhbS9tZW1iZXInO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAuLi50aGlzLmh0dHBPcHRpb25zLFxuICAgICAgYm9keTogeyBwYXJhbXMgfVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoc2VydmljZVVybCwgb3B0aW9ucyk7XG59XG5cbm1hc3NBc3NpZ25TdWJvcmRpbmF0ZXMocGFyYW1zOiBJQXNzaWduU3Vib3JkaW5hdGVzTWFzc2l2ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdGVhbS9tZW1iZXJzL21hc3NpdmUnO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbiAgZ2V0VXNlcnNGb3JDb21taXNzaW9uTWFuYWdlbWVudChyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3VzZXJzL2Zvci1tYW5hZ2VtZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvbW1pc3Npb25Db25jZXB0cyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9jb21taXNzaW9uL2NvbmNlcHRzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICB1cGRhdGVUeXBlVXNlckNvbW1pc3Npb24ocGFyYW1zOiBJVXBkYXRlVHlwZVVzZXJDb21taXNzaW9uUnEsIGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcHV0L3VwZGF0ZS90eXBlL3VzZXIvY29tbWlzc2lvbi8ke2NvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0U3Vib3JkaW5hdGVzQnlNYW5hZ2VyKHJlcXVlc3Q6IElUb2tlblJxLCBtYW5hZ2VyQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvdGVhbS9ieS9tYW5hZ2VyLyR7bWFuYWdlckNvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGRlbGV0ZVR5cGVVc2VyQ29tbWlzc2lvbihwYXJhbXM6IElEZWxldGVUeXBlVXNlckNvbW1pc3Npb25ScSwgY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBkZWxldGUvdHlwZS91c2VyL2NvbW1pc3Npb24vJHtjb2RlfWA7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRoaXMuaHR0cE9wdGlvbnMsXG4gICAgICBib2R5OiB7IHBhcmFtcyB9XG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShzZXJ2aWNlVXJsLCBvcHRpb25zKTtcbiAgfVxuICBnZXRNb250aGx5Qm9udXNTdGF0dXMocmVxdWVzdDogYW55LCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBhZHZpc29yL21vbnRobHkvc3RhdHVzLyR7Y29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvdXJzZVR5cGVDYXRlZ29yaWVzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvYWxsL2NvdXJzZS90eXBlL2NhdGVnb3JpZXNgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cblxuICBcblxuICAgIGdldFRyYW5zYWN0aW9uQ29tbWlzc2lvbnNCeUNvZGUocmVxdWVzdDogSUdldENvbW1pc3Npb25zQnlUcmFuc2FjdGlvbkNvZGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZ2V0L2NvbW1pc3Npb25zL2J5L3RyYW5zYWN0aW9uL2NvZGVgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY2FuY2VsbFRyYW5zYWN0aW9uQmlsbChwYXJhbXM6IElDYW5jZWxsVHJhbnNhY3Rpb25CaWxsUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2NvbW1pc3Npb25zL2NhbmNlbGwvdHJhbnNhY3Rpb24vYmlsbCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxufVxuXG5cbiJdfQ==
@@ -4534,6 +4534,16 @@ class CommercialService extends IPTGeneralService {
4534
4534
  this.generateRequestParams(request);
4535
4535
  return this.http.get(serviceUrl, this.httpOptions);
4536
4536
  }
4537
+ getTransactionCommissionsByCode(request) {
4538
+ const serviceUrl = this.SERVICE_URL + `get/commissions/by/transaction/code`;
4539
+ this.generateRequestParams(request);
4540
+ return this.http.get(serviceUrl, this.httpOptions);
4541
+ }
4542
+ cancellTransactionBill(params) {
4543
+ const serviceUrl = this.SERVICE_URL + 'commissions/cancell/transaction/bill';
4544
+ this.generateRequestParams(params);
4545
+ return this.http.post(serviceUrl, this.httpOptions);
4546
+ }
4537
4547
  }
4538
4548
  CommercialService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
4539
4549
  CommercialService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, providedIn: 'root' });