iptdevs-design-system 3.2.86 → 3.2.88

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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNhZGVtaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvbW9kZWxzL2FjYWRlbWljL2FjYWRlbWljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUNvdXJzZVR5cGVDbHVBbmRUaGVScywgSU1lc3NhZ2VScSB9IGZyb20gXCIuLi9idWRnZXQvYnVkZ2V0Lm1vZGVsXCI7XG5pbXBvcnQgeyBFbmdsaXNoX0xldmVscyB9IGZyb20gXCIuLi9jb3Vyc2UvY291cnNlcy5tb2RlbFwiO1xuaW1wb3J0IHsgVXNlckNvdXJzZSB9IGZyb20gXCIuLi9ub3Rlcy9ub3Rlcy5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGludGVyZmFjZSBHZXRDb3Vyc2VCeVR5cGVScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvdXJzZV90eXBlOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIEdldFN0dWRlbnRCeUNvdXJzZSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvdXJzZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFN0dWRlbnRCeVRlYWNoZXJScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHRlYWNoZXJfY29kZTogbnVtYmVyO1xuICBwYXJhbTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBHZXRDZXJ0aWZpY2F0ZXtcbiAgdG9rZW46IHN0cmluZztcbiAgaWRjYXJkOiBudW1iZXI7XG4gIGNvdXJzZTpudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TGFzdFN0dWRlbnRDb2RScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRBbGxTdHVkZW50QnlUZWFjaGVyUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICB0ZWFjaGVyX2NvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGFzc1Jvb21SUUkge1xuICB0b2tlbjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvdXJzZV9tb2RhbGl0eTogbnVtYmVyO1xuICBjYXBhY2l0eTogbnVtYmVyO1xuICBpZF9jYWxlbmRhcjogc3RyaW5nO1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIHVwZGF0ZWRfYXQ/OiBzdHJpbmc7XG4gIGNyZWF0ZWRfYXQ/OiBzdHJpbmc7XG4gIGNvZGU/OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIENsYXNzUm9vbVJxIHtcbiAgaXBfYXBwbGljYW50OiBzdHJpbmdcbiAgc3RhdHVzOiBudW1iZXJcbiAgbWVzc2FnZTogSU1lc3NhZ2VScVxuICBkYXRhOiBzdHJpbmcgfCBEYXRhXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YSB7XG4gIG5hbWU6IHN0cmluZ1xuICBjb3Vyc2VfbW9kYWxpdHk6IG51bWJlclxuICBjYXBhY2l0eTogbnVtYmVyXG4gIGlkX2NhbGVuZGFyOiBzdHJpbmdcbiAgYWRyZXNzOiBzdHJpbmdcbiAgdXBkYXRlZF9hdDogc3RyaW5nXG4gIGNyZWF0ZWRfYXQ6IHN0cmluZ1xuICBjb2RlOiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluQ2xhc1R5cGVScSB7XG4gIGNvZGU6ICAgIG51bWJlcjtcbiAgbmFtZTogICAgc3RyaW5nO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1hbmFnZUNyZWF0ZWRTY2hlcmR1bGVFdmVudHNScSB7XG4gIHRva2VuOiAgICAgICAgIHN0cmluZztcbiAgd2Vla19kYXlzOiAgICAgc3RyaW5nW107XG4gIGNvdXJzZV9ldmVudHM6IElDb3Vyc2VFdmVudFJxW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvdXJzZUV2ZW50UnEge1xuICBjb2RlQ2xhc3NSb29tOiAgICBudW1iZXI7XG4gIGNvZGVUZWFjaGVyOiAgICAgIG51bWJlcjtcbiAgY29sb3JFdmVudDogICAgICAgbnVtYmVyO1xuICBjb3Vyc2VDb2RlOiAgICAgICBudW1iZXI7XG4gIGRhdGVDcmVhdGlvbjogICAgIERhdGUgfCBudWxsO1xuICBkZXNjcmlwdGlvbkV2ZW50OiBzdHJpbmc7XG4gIGVuZDogICAgICAgICAgICAgIERhdGU7XG4gIGxvY2F0aW9uRXZlbnQ6ICAgIHN0cmluZztcbiAgc3RhcnQ6ICAgICAgICAgICAgRGF0ZTtcbiAgdGl0bGU6ICAgICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNYW5hZ2VDcmVhdGVkU2NoZXJkdWxlRXZlbnRzUnMge1xuICBkYXRhQ291cnNlRXZlbnQ6ICAgIElEYXRhQ291cnNlRXZlbnRSc1tdO1xuICBkYXRhQ291cnNlU2NoZWR1bGU6IElEYXRhQ291cnNlU2NoZWR1bGVScztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YUNvdXJzZUV2ZW50UnMge1xuICBjb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfY29kZTogICAgICAgbnVtYmVyO1xuICBkYXRlX2V2ZW50OiAgICAgICAgRGF0ZTtcbiAgbmFtZV9ldmVudDogICAgICAgIHN0cmluZztcbiAgZGVzY3JpcHRpb25fZXZlbnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YUNvdXJzZVNjaGVkdWxlUnMge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3NjaGVkdWxlOiBudW1iZXI7XG4gIHRlYWNoZXI6ICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfdHlwZTogICAgIG51bWJlcjtcbiAgdG9fc3RhcnQ6ICAgICAgICBEYXRlO1xuICBzdGFydF9kYXRlOiAgICAgIERhdGU7XG4gIGZpbmlzaF9kYXRlOiAgICAgRGF0ZTtcbiAgY2FwYWNpdHk6ICAgICAgICBudW1iZXI7XG4gIG1vcmVfZGF5czogICAgICAgbnVsbDtcbiAgZW5nbGlzaF9sZXZlbDogICBudW1iZXI7XG4gIGFncmVlbWVudDogICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfbW9kYWxpdHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGFyYW1zT2J0YWluQ291cnNlc0J5VHlwZUNvdXJzZUluQ3JlYXRlZENvdXJzZXNScyB7XG4gIHRva2VuOiAgICAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfdHlwZTogICAgIG51bWJlcjtcbiAgY291cnNlX21vZGFsaXR5OiBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEl3ZWVrRGF5c1JxIHtcbiAgbmFtZTogc3RyaW5nO1xuICBrZXk6IHN0cmluZztcbiAgY29kZTpudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvdXJzZVR5cGVCeUFjYWRlbWljUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICAgc3RyaW5nO1xuICBsYWJlbDogICAgICAgICAgICAgc3RyaW5nO1xuICBudW1iZXJfY2xhc3M6ICAgICAgbnVtYmVyO1xuICBudW1iZXJfY2xhc3NfY2x1YjogbnVtYmVyO1xuICBhY2FkZW1pY19wbGFuOiAgICAgbnVtYmVyO1xuICB0aGVvcnlfY2xhc3NlczogICAgbnVtYmVyO1xuICBjbHViX2NsYXNzZXM6ICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElnZXRBdmFpbGFibGVDb3Vyc2VzQnlMZXZTdGFNb2RhbFJxIHtcbiAgdG9rZW46ICAgICAgICAgc3RyaW5nO1xuICBtb2RhbGl0eTogICAgICBudW1iZXI7XG4gIHN0YXR1czogICAgICAgIG51bWJlcjtcbiAgZW5nbGlzaF9sZXZlbDogRW5nbGlzaF9MZXZlbHNbXTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIEZ1bmN0aW9uIG9idGFpbiBjb3Vyc2UgYXZhaWxhYmxlXG5leHBvcnQgaW50ZXJmYWNlIElHZXRDb3Vyc2VzQXZhaWxhYmxlRm9yRXhjaGFuZ2VScSB7XG4gIHRva2VuOiAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV9tb2RhbGl0eTogICAgICBudW1iZXI7XG4gIGNvdXJzZV90eXBlOiAgICAgICAgICBudW1iZXI7XG4gIGNvdXJzZV93YWxsZXRfc3RhdHVzOiBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgICAgICBudW1iZXI7XG4gIHRlYWNoZXI6ICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9jb2RlOiAgICAgICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldENvdXJzZXNBdmFpbGFibGVGb3JFeGNoYW5nZVJzIHtcbiAgY3VycmVudF9pbmZvcm1hdGlvbjogSUN1cnJlbnRJbmZvcm1hdGlvblJzO1xuICBhdmFpbGFibGVfY291cnNlczogICBJQXZhaWxhYmxlQ291cnNlc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBdmFpbGFibGVDb3Vyc2VzIHtcbiAgY29kZTogICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3NjaGVkdWxlOiAgICAgICAgIG51bWJlcjtcbiAgdGVhY2hlcjogICAgICAgICAgICAgICAgIElUZWFjaGVyQ291cnNlUnM7XG4gIGNvdXJzZV90eXBlOiAgICAgICAgICAgICBJQ291cnNlVHlwZUNsdUFuZFRoZVJzO1xuICB0b19zdGFydDogICAgICAgICAgICAgICAgRGF0ZTtcbiAgc3RhcnRfZGF0ZTogICAgICAgICAgICAgIERhdGU7XG4gIGZpbmlzaF9kYXRlOiAgICAgICAgICAgICBEYXRlO1xuICBjYXBhY2l0eTogICAgICAgICAgICAgICAgbnVtYmVyO1xuICBtb3JlX2RheXM6ICAgICAgICAgICAgICAgbnVtYmVyIHwgbnVsbDtcbiAgZW5nbGlzaF9sZXZlbDogICAgICAgICAgIElSZWN1cnJpbmdJbmZvcm1hdGlvblJzO1xuICBhZ3JlZW1lbnQ6ICAgICAgICAgICAgICAgSVJlY3VycmluZ0luZm9ybWF0aW9uUnM7XG4gIGNvdXJzZV9tb2RhbGl0eTogICAgICAgICBJUmVjdXJyaW5nSW5mb3JtYXRpb25ScztcbiAgaXNfcmVub3ZhdGlvbjogICAgICAgICAgIG51bWJlcjtcbiAgaXNfZnJvbTogICAgICAgICAgICAgICAgIG51bWJlciB8IG51bGw7XG4gIGlzX2NsdWI6ICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIGlzX3Zpc2libGU6ICAgICAgICAgICAgICBudW1iZXI7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgICAgICAgICBEYXRlO1xuICBhdmFpbGFibGVfY2FwYWNpdHk6ICAgICAgbnVtYmVyO1xuICByZWFsX2F2YWlsYWJsZV9jYXBhY2l0eTogbnVtYmVyO1xuICBhdmFpbGFibGVfY2xhc3Nyb29tOiAgICAgc3RyaW5nO1xuICBjbGFzc2VzR2l2ZW46ICAgICAgICAgICAgSUNsYXNzZXNHaXZlbkluVGhlQ291cnNlUnM7XG4gIGxhc3RDbGFzc0dpdmVuOiAgICAgICAgICBJTGFzdENsYXNzR2l2ZW5JblRoZUNvdXJzZVJzO1xuICBzY2hlZHVsZV9kZXRhaWxfdGhlb3J5OiAgSVNjaGVkdWxlRGV0YWlsUnM7XG4gIHNjaGVkdWxlX2RldGFpbF9jbHViOiAgICBJU2NoZWR1bGVEZXRhaWxScztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVjdXJyaW5nSW5mb3JtYXRpb25ScyB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDbGFzc2VzR2l2ZW5JblRoZUNvdXJzZVJzIHtcbiAgQ2xhc3Nlc0dpdmVuVGhlb3J5OiBudW1iZXI7XG4gIENsYXNzZXNHaXZlbkNsdWI6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMYXN0Q2xhc3NHaXZlbkluVGhlQ291cnNlUnMge1xuICBUaGVvcnlMYXN0Q2xhc3NHaXZlbjogSUxhc3RDbGFzc0dpdmVuUnM7XG4gIENsdWJsYXN0Q2xhc3NHaXZlbjogICBJTGFzdENsYXNzR2l2ZW5Scztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGFzdENsYXNzR2l2ZW5ScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvdXJzZV9jb2RlOiAgICAgICBudW1iZXI7XG4gIGRhdGVfZXZlbnQ6ICAgICAgICBEYXRlO1xuICBuYW1lX2V2ZW50OiAgICAgICAgc3RyaW5nO1xuICBkZXNjcmlwdGlvbl9ldmVudDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTY2hlZHVsZURldGFpbFJzIHtcbiAgQ2xhc3NEYXlzOiBzdHJpbmc7XG4gIFRpbWVzOiAgICAgSVRpbWVzQ291cnNlUnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVzQ291cnNlUnMge1xuICBTdGFyVGltZTogc3RyaW5nO1xuICBFbmRUaW1lOiAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDdXJyZW50SW5mb3JtYXRpb25ScyB7XG4gIGNvZDogICAgICAgICAgICAgICAgICBJQ29kR2V0Q291cnNlUnM7XG4gIGNvdXJzZVR5cGU6ICAgICAgICAgICBJQ291cnNlVHlwZUNsdUFuZFRoZVJzO1xuICBhc3NpZ25lZENvdXJzZTogICAgICAgQXNzaWduZWRDb3Vyc2U7XG4gIHVzZXJDb3Vyc2U6ICAgICAgICAgICBVc2VyQ291cnNlO1xuICBjbGFzc2VzR2l2ZW5UaGVvcnk6ICAgbnVtYmVyO1xuICBjbGFzc2VzR2l2ZW5DbHViOiAgICAgbnVtYmVyO1xuICBsYXN0Q2xhc3NHaXZlblRoZW9yeTogSUxhc3RDbGFzc0dpdmVuUnM7XG4gIGxhc3RDbGFzc0dpdmVuQ2x1YjogICBJTGFzdENsYXNzR2l2ZW5ScztcbiAgdGhlb3J5Q2xhc3Nlc1ZpZXdlZDogIElDbGFzc2VzVmlld2VkUnNbXTtcbiAgY2x1YkNsYXNzZXNWaWV3ZWQ6ICAgIElDbGFzc2VzVmlld2VkUnNbXTtcbiAgdG90YWxDbGFzc2VzVmlld2VkOiAgIElUb3RhbENsYXNzZXNWaWV3ZWRSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2lnbmVkQ291cnNlIHtcbiAgY291cnNlX3RoZW9yeTogbnVtYmVyO1xuICBjb3Vyc2VfY2x1YjogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNsYXNzZXNWaWV3ZWRScyB7XG4gIGF0dGVuZGFuY2U6ICAgbnVtYmVyO1xuICBpc19hdHRlbmRlZDogIG51bWJlcjtcbiAgY291cnNlX2V2ZW50OiBudW1iZXI7XG4gIG5hbWVfZXZlbnQ6ICAgc3RyaW5nO1xuICBkYXRlX2V2ZW50OiAgIERhdGU7XG4gIGNvZDogICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2U6ICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29kR2V0Q291cnNlUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvdXJzZV90eXBlOiAgICAgICAgICAgbnVtYmVyO1xuICBhZ3JlZW1lbnQ6ICAgICAgICAgICAgIG51bWJlcjtcbiAgZW5nbGlzaF9sZXZlbDogICAgICAgICBudW1iZXI7XG4gIHN0dWRlbnQ6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXJlbnQ6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgYWRpdGlvbmFsX2luZm9ybWF0aW9uOiBudW1iZXI7XG4gIGFkdmlzZXI6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb2Rfc3RhdHVzOiAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX3ByaWNlOiAgICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9wYWlkOiAgICAgICAgICAgICAgbnVtYmVyO1xuICB1cGRhdGVkX2F0OiAgICAgICAgICAgIERhdGU7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVG90YWxDbGFzc2VzVmlld2VkUnMge1xuICBjb3Vyc2VfZXZlbnQ6IG51bWJlcjtcbiAgY29kZTogICAgICAgICBudW1iZXI7XG4gIGlzX2F0dGVuZGVkOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUZWFjaGVyQ291cnNlUnMge1xuICBjb2RlOiAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogc3RyaW5nO1xuICBmdWxsX25hbWU6IHN0cmluZztcbn1cblxuXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNhZGVtaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvbW9kZWxzL2FjYWRlbWljL2FjYWRlbWljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUNvdXJzZVR5cGVDbHVBbmRUaGVScywgSU1lc3NhZ2VScSB9IGZyb20gXCIuLi9idWRnZXQvYnVkZ2V0Lm1vZGVsXCI7XG5pbXBvcnQgeyBFbmdsaXNoX0xldmVscyB9IGZyb20gXCIuLi9jb3Vyc2UvY291cnNlcy5tb2RlbFwiO1xuaW1wb3J0IHsgVXNlckNvdXJzZSB9IGZyb20gXCIuLi9ub3Rlcy9ub3Rlcy5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGludGVyZmFjZSBHZXRDb3Vyc2VCeVR5cGVScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvdXJzZV90eXBlOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIEdldFN0dWRlbnRCeUNvdXJzZSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvdXJzZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFN0dWRlbnRCeVRlYWNoZXJScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHRlYWNoZXJfY29kZTogbnVtYmVyO1xuICBwYXJhbTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBHZXRDZXJ0aWZpY2F0ZXtcbiAgdG9rZW46IHN0cmluZztcbiAgaWRjYXJkOiBudW1iZXI7XG4gIGNvdXJzZTpudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TGFzdFN0dWRlbnRDb2RScSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRBbGxTdHVkZW50QnlUZWFjaGVyUnEge1xuICB0b2tlbjogc3RyaW5nO1xuICB0ZWFjaGVyX2NvZGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGFzc1Jvb21SUUkge1xuICB0b2tlbjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvdXJzZV9tb2RhbGl0eTogbnVtYmVyO1xuICBjYXBhY2l0eTogbnVtYmVyO1xuICBpZF9jYWxlbmRhcjogc3RyaW5nO1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIHVwZGF0ZWRfYXQ/OiBzdHJpbmc7XG4gIGNyZWF0ZWRfYXQ/OiBzdHJpbmc7XG4gIGNvZGU/OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIENsYXNzUm9vbVJxIHtcbiAgaXBfYXBwbGljYW50OiBzdHJpbmdcbiAgc3RhdHVzOiBudW1iZXJcbiAgbWVzc2FnZTogSU1lc3NhZ2VScVxuICBkYXRhOiBzdHJpbmcgfCBEYXRhXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YSB7XG4gIG5hbWU6IHN0cmluZ1xuICBjb3Vyc2VfbW9kYWxpdHk6IG51bWJlclxuICBjYXBhY2l0eTogbnVtYmVyXG4gIGlkX2NhbGVuZGFyOiBzdHJpbmdcbiAgYWRyZXNzOiBzdHJpbmdcbiAgdXBkYXRlZF9hdDogc3RyaW5nXG4gIGNyZWF0ZWRfYXQ6IHN0cmluZ1xuICBjb2RlOiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJT2J0YWluQ2xhc1R5cGVScSB7XG4gIGNvZGU6ICAgIG51bWJlcjtcbiAgbmFtZTogICAgc3RyaW5nO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1hbmFnZUNyZWF0ZWRTY2hlcmR1bGVFdmVudHNScSB7XG4gIHRva2VuOiAgICAgICAgIHN0cmluZztcbiAgd2Vla19kYXlzOiAgICAgc3RyaW5nW107XG4gIGNvdXJzZV9ldmVudHM6IElDb3Vyc2VFdmVudFJxW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvdXJzZUV2ZW50UnEge1xuICBjb2RlQ2xhc3NSb29tOiAgICBudW1iZXI7XG4gIGNvZGVUZWFjaGVyOiAgICAgIG51bWJlcjtcbiAgY29sb3JFdmVudDogICAgICAgbnVtYmVyO1xuICBjb3Vyc2VDb2RlOiAgICAgICBudW1iZXI7XG4gIGRhdGVDcmVhdGlvbjogICAgIERhdGUgfCBudWxsO1xuICBkZXNjcmlwdGlvbkV2ZW50OiBzdHJpbmc7XG4gIGVuZDogICAgICAgICAgICAgIERhdGU7XG4gIGxvY2F0aW9uRXZlbnQ6ICAgIHN0cmluZztcbiAgc3RhcnQ6ICAgICAgICAgICAgRGF0ZTtcbiAgdGl0bGU6ICAgICAgICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNYW5hZ2VDcmVhdGVkU2NoZXJkdWxlRXZlbnRzUnMge1xuICBkYXRhQ291cnNlRXZlbnQ6ICAgIElEYXRhQ291cnNlRXZlbnRSc1tdO1xuICBkYXRhQ291cnNlU2NoZWR1bGU6IElEYXRhQ291cnNlU2NoZWR1bGVScztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YUNvdXJzZUV2ZW50UnMge1xuICBjb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfY29kZTogICAgICAgbnVtYmVyO1xuICBkYXRlX2V2ZW50OiAgICAgICAgRGF0ZTtcbiAgbmFtZV9ldmVudDogICAgICAgIHN0cmluZztcbiAgZGVzY3JpcHRpb25fZXZlbnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YUNvdXJzZVNjaGVkdWxlUnMge1xuICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3NjaGVkdWxlOiBudW1iZXI7XG4gIHRlYWNoZXI6ICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfdHlwZTogICAgIG51bWJlcjtcbiAgdG9fc3RhcnQ6ICAgICAgICBEYXRlO1xuICBzdGFydF9kYXRlOiAgICAgIERhdGU7XG4gIGZpbmlzaF9kYXRlOiAgICAgRGF0ZTtcbiAgY2FwYWNpdHk6ICAgICAgICBudW1iZXI7XG4gIG1vcmVfZGF5czogICAgICAgbnVsbDtcbiAgZW5nbGlzaF9sZXZlbDogICBudW1iZXI7XG4gIGFncmVlbWVudDogICAgICAgbnVtYmVyO1xuICBjb3Vyc2VfbW9kYWxpdHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGFyYW1zT2J0YWluQ291cnNlc0J5VHlwZUNvdXJzZUluQ3JlYXRlZENvdXJzZXNScyB7XG4gIHRva2VuOiAgICAgICAgICAgc3RyaW5nO1xuICBjb3Vyc2VfdHlwZTogICAgIG51bWJlcjtcbiAgY291cnNlX21vZGFsaXR5OiBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEl3ZWVrRGF5c1JxIHtcbiAgbmFtZTogc3RyaW5nO1xuICBrZXk6IHN0cmluZztcbiAgY29kZTpudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvdXJzZVR5cGVCeUFjYWRlbWljUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICAgc3RyaW5nO1xuICBsYWJlbDogICAgICAgICAgICAgc3RyaW5nO1xuICBudW1iZXJfY2xhc3M6ICAgICAgbnVtYmVyO1xuICBudW1iZXJfY2xhc3NfY2x1YjogbnVtYmVyO1xuICBhY2FkZW1pY19wbGFuOiAgICAgbnVtYmVyO1xuICB0aGVvcnlfY2xhc3NlczogICAgbnVtYmVyO1xuICBjbHViX2NsYXNzZXM6ICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElnZXRBdmFpbGFibGVDb3Vyc2VzQnlMZXZTdGFNb2RhbFJxIHtcbiAgdG9rZW46ICAgICAgICAgc3RyaW5nO1xuICBtb2RhbGl0eTogICAgICBudW1iZXI7XG4gIHN0YXR1czogICAgICAgIG51bWJlcjtcbiAgZW5nbGlzaF9sZXZlbDogRW5nbGlzaF9MZXZlbHNbXTtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIEZ1bmN0aW9uIG9idGFpbiBjb3Vyc2UgYXZhaWxhYmxlXG5leHBvcnQgaW50ZXJmYWNlIElHZXRDb3Vyc2VzQXZhaWxhYmxlRm9yRXhjaGFuZ2VScSB7XG4gIHRva2VuOiAgICAgICAgICAgICAgICBzdHJpbmc7XG4gIGNvdXJzZV9tb2RhbGl0eTogICAgICBudW1iZXI7XG4gIGNvdXJzZV90eXBlOiAgICAgICAgICBudW1iZXI7XG4gIGNvdXJzZV93YWxsZXRfc3RhdHVzOiBudW1iZXI7XG4gIGVuZ2xpc2hfbGV2ZWw6ICAgICAgICBudW1iZXI7XG4gIHRlYWNoZXI6ICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9jb2RlOiAgICAgICAgICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdldENvdXJzZXNBdmFpbGFibGVGb3JFeGNoYW5nZVJzIHtcbiAgY3VycmVudF9pbmZvcm1hdGlvbjogSUN1cnJlbnRJbmZvcm1hdGlvblJzO1xuICBhdmFpbGFibGVfY291cnNlczogICBJQXZhaWxhYmxlQ291cnNlc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBdmFpbGFibGVDb3Vyc2VzIHtcbiAgY29kZTogICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlX3NjaGVkdWxlOiAgICAgICAgIG51bWJlcjtcbiAgdGVhY2hlcjogICAgICAgICAgICAgICAgIElUZWFjaGVyQ291cnNlUnM7XG4gIGNvdXJzZV90eXBlOiAgICAgICAgICAgICBJQ291cnNlVHlwZUNsdUFuZFRoZVJzO1xuICB0b19zdGFydDogICAgICAgICAgICAgICAgRGF0ZTtcbiAgc3RhcnRfZGF0ZTogICAgICAgICAgICAgIERhdGU7XG4gIGZpbmlzaF9kYXRlOiAgICAgICAgICAgICBEYXRlO1xuICBjYXBhY2l0eTogICAgICAgICAgICAgICAgbnVtYmVyO1xuICBtb3JlX2RheXM6ICAgICAgICAgICAgICAgbnVtYmVyIHwgbnVsbDtcbiAgZW5nbGlzaF9sZXZlbDogICAgICAgICAgIElSZWN1cnJpbmdJbmZvcm1hdGlvblJzO1xuICBhZ3JlZW1lbnQ6ICAgICAgICAgICAgICAgSVJlY3VycmluZ0luZm9ybWF0aW9uUnM7XG4gIGNvdXJzZV9tb2RhbGl0eTogICAgICAgICBJUmVjdXJyaW5nSW5mb3JtYXRpb25ScztcbiAgaXNfcmVub3ZhdGlvbjogICAgICAgICAgIG51bWJlcjtcbiAgaXNfZnJvbTogICAgICAgICAgICAgICAgIG51bWJlciB8IG51bGw7XG4gIGlzX2NsdWI6ICAgICAgICAgICAgICAgICBudW1iZXI7XG4gIGlzX3Zpc2libGU6ICAgICAgICAgICAgICBudW1iZXI7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgICAgICAgICBEYXRlO1xuICBhdmFpbGFibGVfY2FwYWNpdHk6ICAgICAgbnVtYmVyO1xuICByZWFsX2F2YWlsYWJsZV9jYXBhY2l0eTogbnVtYmVyO1xuICBhdmFpbGFibGVfY2xhc3Nyb29tOiAgICAgc3RyaW5nO1xuICBjbGFzc2VzR2l2ZW46ICAgICAgICAgICAgSUNsYXNzZXNHaXZlbkluVGhlQ291cnNlUnM7XG4gIGxhc3RDbGFzc0dpdmVuOiAgICAgICAgICBJTGFzdENsYXNzR2l2ZW5JblRoZUNvdXJzZVJzO1xuICBzY2hlZHVsZV9kZXRhaWxfdGhlb3J5OiAgSVNjaGVkdWxlRGV0YWlsUnM7XG4gIHNjaGVkdWxlX2RldGFpbF9jbHViOiAgICBJU2NoZWR1bGVEZXRhaWxScztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVjdXJyaW5nSW5mb3JtYXRpb25ScyB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDbGFzc2VzR2l2ZW5JblRoZUNvdXJzZVJzIHtcbiAgQ2xhc3Nlc0dpdmVuVGhlb3J5OiBudW1iZXI7XG4gIENsYXNzZXNHaXZlbkNsdWI6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMYXN0Q2xhc3NHaXZlbkluVGhlQ291cnNlUnMge1xuICBUaGVvcnlMYXN0Q2xhc3NHaXZlbjogSUxhc3RDbGFzc0dpdmVuUnM7XG4gIENsdWJsYXN0Q2xhc3NHaXZlbjogICBJTGFzdENsYXNzR2l2ZW5Scztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGFzdENsYXNzR2l2ZW5ScyB7XG4gIGNvZGU6ICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvdXJzZV9jb2RlOiAgICAgICBudW1iZXI7XG4gIGRhdGVfZXZlbnQ6ICAgICAgICBEYXRlO1xuICBuYW1lX2V2ZW50OiAgICAgICAgc3RyaW5nO1xuICBkZXNjcmlwdGlvbl9ldmVudDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTY2hlZHVsZURldGFpbFJzIHtcbiAgQ2xhc3NEYXlzOiBzdHJpbmc7XG4gIFRpbWVzOiAgICAgSVRpbWVzQ291cnNlUnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVzQ291cnNlUnMge1xuICBTdGFyVGltZTogc3RyaW5nO1xuICBFbmRUaW1lOiAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDdXJyZW50SW5mb3JtYXRpb25ScyB7XG4gIGNvZDogICAgICAgICAgICAgICAgICBJQ29kR2V0Q291cnNlUnM7XG4gIGNvdXJzZVR5cGU6ICAgICAgICAgICBJQ291cnNlVHlwZUNsdUFuZFRoZVJzO1xuICBhc3NpZ25lZENvdXJzZTogICAgICAgQXNzaWduZWRDb3Vyc2U7XG4gIHVzZXJDb3Vyc2U6ICAgICAgICAgICBVc2VyQ291cnNlO1xuICBjbGFzc2VzR2l2ZW5UaGVvcnk6ICAgbnVtYmVyO1xuICBjbGFzc2VzR2l2ZW5DbHViOiAgICAgbnVtYmVyO1xuICBsYXN0Q2xhc3NHaXZlblRoZW9yeTogSUxhc3RDbGFzc0dpdmVuUnM7XG4gIGxhc3RDbGFzc0dpdmVuQ2x1YjogICBJTGFzdENsYXNzR2l2ZW5ScztcbiAgdGhlb3J5Q2xhc3Nlc1ZpZXdlZDogIElDbGFzc2VzVmlld2VkUnNbXTtcbiAgY2x1YkNsYXNzZXNWaWV3ZWQ6ICAgIElDbGFzc2VzVmlld2VkUnNbXTtcbiAgdG90YWxDbGFzc2VzVmlld2VkOiAgIElUb3RhbENsYXNzZXNWaWV3ZWRSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2lnbmVkQ291cnNlIHtcbiAgY291cnNlX3RoZW9yeTogbnVtYmVyO1xuICBjb3Vyc2VfY2x1YjogICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNsYXNzZXNWaWV3ZWRScyB7XG4gIGF0dGVuZGFuY2U6ICAgbnVtYmVyO1xuICBpc19hdHRlbmRlZDogIG51bWJlcjtcbiAgY291cnNlX2V2ZW50OiBudW1iZXI7XG4gIG5hbWVfZXZlbnQ6ICAgc3RyaW5nO1xuICBkYXRlX2V2ZW50OiAgIERhdGU7XG4gIGNvZDogICAgICAgICAgbnVtYmVyO1xuICBjb3Vyc2U6ICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29kR2V0Q291cnNlUnMge1xuICBjb2RlOiAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgY291cnNlOiAgICAgICAgICAgICAgICBudW1iZXI7XG4gIGNvdXJzZV90eXBlOiAgICAgICAgICAgbnVtYmVyO1xuICBhZ3JlZW1lbnQ6ICAgICAgICAgICAgIG51bWJlcjtcbiAgZW5nbGlzaF9sZXZlbDogICAgICAgICBudW1iZXI7XG4gIHN0dWRlbnQ6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICBwYXJlbnQ6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgYWRpdGlvbmFsX2luZm9ybWF0aW9uOiBudW1iZXI7XG4gIGFkdmlzZXI6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICBjb2Rfc3RhdHVzOiAgICAgICAgICAgIG51bWJlcjtcbiAgY29kX3ByaWNlOiAgICAgICAgICAgICBudW1iZXI7XG4gIGNvZF9wYWlkOiAgICAgICAgICAgICAgbnVtYmVyO1xuICB1cGRhdGVkX2F0OiAgICAgICAgICAgIERhdGU7XG4gIGNyZWF0ZWRfYXQ6ICAgICAgICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVG90YWxDbGFzc2VzVmlld2VkUnMge1xuICBjb3Vyc2VfZXZlbnQ6IG51bWJlcjtcbiAgY29kZTogICAgICAgICBudW1iZXI7XG4gIGlzX2F0dGVuZGVkOiAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUZWFjaGVyQ291cnNlUnMge1xuICBjb2RlOiAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogc3RyaW5nO1xuICBmdWxsX25hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGFyYW1zT2J0YWluQXR0ZW5kYW5jZUZvckNvZEhpc3RvcnlCeVN0dWRlbnRScSB7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICBzdHVkZW50X2NvZGU6IG51bWJlcjtcbn0iXX0=
@@ -184,6 +184,11 @@ export class AcademicService extends IPTGeneralService {
184
184
  let serviceUrl = `${this.SERVICE_URL}obtain/course/status/by/code/${courseCode}`;
185
185
  return this.http.get(serviceUrl);
186
186
  }
187
+ ObtainAttendanceForCodHistoryByStudent(param) {
188
+ const serviceUrl = this.SERVICE_URL + 'post/attendance/all/cod/by/student';
189
+ this.generateRequestParams(param);
190
+ return this.http.post(serviceUrl, this.httpOptions);
191
+ }
187
192
  }
188
193
  AcademicService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AcademicService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
189
194
  AcademicService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AcademicService, providedIn: 'root' });
@@ -193,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
193
198
  providedIn: 'root',
194
199
  }]
195
200
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNhZGVtaWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2FjYWRlbWljLXNlcnZpY2UvYWNhZGVtaWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFhM0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsaUJBQWlCO0lBR3BELFlBQW9CLElBQWdCO1FBQ2xDLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUY1QixnQkFBVyxHQUFHLGVBQWUsQ0FBQztRQUlwQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxlQUFlLENBQUMsTUFBeUI7UUFDdkMsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztRQUMxRCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxNQUEwQjtRQUMzQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLHNCQUFzQixDQUFDO1FBQzNELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9C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QUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBNkI7UUFDaEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyw4QkFBOEIsQ0FBQztRQUNyRSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxVQUFrQjtRQUN6QyxJQUFJLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLGdDQUFnQyxVQUFVLEVBQUUsQ0FBQztRQUNqRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OzRHQXROVSxlQUFlO2dIQUFmLGVBQWUsY0FGZCxNQUFNOzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJUFRHZW5lcmFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UtZW52aXJvbWVudHMnO1xuaW1wb3J0IHsgR2V0Q291cnNlQnlUeXBlUnEsIEdldFN0dWRlbnRCeUNvdXJzZSwgR2V0TGFzdFN0dWRlbnRDb2RScSwgR2V0U3R1ZGVudEJ5VGVhY2hlclJxLCBHZXRBbGxTdHVkZW50QnlUZWFjaGVyUnEsIENsYXNzUm9vbVJRSSwgSU1hbmFnZUNyZWF0ZWRTY2hlcmR1bGVFdmVudHNScSwgSVBhcmFtc09idGFpbkNvdXJzZXNCeVR5cGVDb3Vyc2VJbkNyZWF0ZWRDb3Vyc2VzUnMsIElnZXRBdmFpbGFibGVDb3Vyc2VzQnlMZXZTdGFNb2RhbFJxLCBJR2V0Q291cnNlc0F2YWlsYWJsZUZvckV4Y2hhbmdlUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNhZGVtaWMvYWNhZGVtaWMuY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJUb2tlblJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXIvdXNlci1ycS5tb2RlbCc7XG5pbXBvcnQgeyBHZXRTdHVkZW50c0J5Q291cnNlUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvc3R1ZGVudC9zdHVkZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHZXRDb2RCeVN0dWRlbnRDb3Vyc2VScSB9IGZyb20gJy4uLy4uL21vZGVscy9jb2QvY29kLXJxLm1vZGVsJztcbmltcG9ydCB7IElDaGFuZ2VPZlN0dWRlbnRHcm91cFJxLCBJZ2V0Q29kQmNvdXJzZUJ5TW9kYWxpdHlBbmREaXNwb25pYmlsaXR5UnEsIElnZXRDb2RCY291cnNlQnlNb2RhbGl0eUFuZExldmVsQW5kQ291cnNlVHlwZVJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvdXJzZS9jb3Vyc2UtcnEubW9kZWwnO1xuaW1wb3J0IHsgSU9idGFpbkNvdXJzZXNCeURpZmZlcmVudFBhcmFtZXRlcnNScSwgSU9idGFpbkNvdXJzZXNTdGF0dXNCeUFyZWFScSwgSU9idGFpbkNvdXJzZXNTdGF0dXNCeURpZmZlcmVudFBhcmFtZXRlcnNScSwgSWdldENvZEJjb3Vyc2VCeU1vZGFsaXR5QW5kU3RhdHVzQW5kTGV2ZWxJbmdsaXNoUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY291cnNlL2NvdXJzZXMubW9kZWwnO1xuaW1wb3J0IHsgSU5vdGVzU3R1ZGVudFJxLCBOb3Rlc1N0dWRlbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25vdGVzL0lOb3Rlc1RlbXBsYXRlJztcbmltcG9ydCB7IElBdHRlbmRhbmNlQ29kUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXR0ZW5kYW5jZS9hdHRlbmRhbmNlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBY2FkZW1pY1NlcnZpY2UgZXh0ZW5kcyBJUFRHZW5lcmFsU2VydmljZXtcbiAgcHJpdmF0ZSBTRVJWSUNFX1VSTCA9ICdhY2FkZW1pYy9hcGkvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuU0VSVklDRV9VUkwgPSB0aGlzLmJhc2VVcmwoKSArIHRoaXMuU0VSVklDRV9VUkw7XG4gIH1cblxuICBnZXRDb3Vyc2VCeVR5cGUocGFyYW1zOiBHZXRDb3Vyc2VCeVR5cGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY291cnNlL2J5L3R5cGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldFN0dWRlbnRCeUNvdXJzZShwYXJhbXM6IEdldFN0dWRlbnRCeUNvdXJzZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY291cnNlL3N0dWRlbnRzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkxhc3RTdHVkZW50Q29kKHBhcmFtczogR2V0TGFzdFN0dWRlbnRDb2RScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2xhc3Qvc3R1ZGVudC9jb2QvYnkvc3R1ZGVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RHZW5EYXRhU3R1ZGVudChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2dlbmVyYWwvZGF0YS9zdHVkZW50L2J5L2NvZGUvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0QWxsQ291cnNlc0luaXRpYWxpemVkKHBhcmFtczogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2FsbC9jb3Vyc2VzL2luaXRpYWxpemVkJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFN0dWRlbnRCeVRlYWNoZXIocGFyYW1zOiBHZXRTdHVkZW50QnlUZWFjaGVyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9zdHVkZW50cy9ieS90ZWFjaGVyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbFN0dWRlbnRCeVRlYWNoZXIocGFyYW1zOiBHZXRBbGxTdHVkZW50QnlUZWFjaGVyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9hbGwvc3R1ZGVudHMvYnkvdGVhY2hlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBbGxTdHVkZW50QnlDb3Vyc2UocGFyYW1zOiBHZXRTdHVkZW50c0J5Q291cnNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9hbGwvc3R1ZGVudHMvYnkvY291cnNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblN0dWRlbnRzQnlUZWFjaGVyKHBhcmFtczogR2V0U3R1ZGVudEJ5VGVhY2hlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9zdHVkZW50cy9ieS90ZWFjaGVyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvZEFjdGl2ZUJ5Q291cnNlKHBhcmFtczogR2V0U3R1ZGVudHNCeUNvdXJzZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vYWxsL2NvZC9hY3RpdmUvYnkvY291cnNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZUNsYXNzcm9vbShwYXJhbXM6IENsYXNzUm9vbVJRSSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jcmVhdGUvY2xhc3Nyb29tJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZEJ5U3R1ZGVudEFuZENvdXJzZShwYXJhbXM6IEdldENvZEJ5U3R1ZGVudENvdXJzZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL2J5L3N0dWRlbnQvYW5kL2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RCY291cnNlQnlNb2RhbGl0eUFuZERpc3BvbmliaWxpdHkocGFyYW1zOiBJZ2V0Q29kQmNvdXJzZUJ5TW9kYWxpdHlBbmREaXNwb25pYmlsaXR5UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvdXJzZS9vYnRhaW4vYnkvbW9kYWxpdHknO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kQmNvdXJzZUJ5TW9kYWxpdHlBbmRTdGF0dXNBbmRMZXZlbEluZ2xpc2gocGFyYW1zOiBJZ2V0Q29kQmNvdXJzZUJ5TW9kYWxpdHlBbmRTdGF0dXNBbmRMZXZlbEluZ2xpc2hScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY291cnNlL29idGFpbi9ieS9tb2RhbGl0eS9zdGF0dXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgbWFuYWdlQ3JlYXRlZFNjaGVyZHVsZUV2ZW50cyhwYXJhbXM6IElNYW5hZ2VDcmVhdGVkU2NoZXJkdWxlRXZlbnRzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L21hbmFnZS9jcmVhdGVkL3NjaGVkdWxlL2V2ZW50cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VzQnlEaWZmZXJlbnRQYXJhbWV0ZXJzKHBhcmFtczogSU9idGFpbkNvdXJzZXNCeURpZmZlcmVudFBhcmFtZXRlcnNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9jb3Vyc2VzL2J5L2RpZmZlcmVudC9wYXJhbWV0ZXJzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBnZXRDb2RCY291cnNlQnlNb2RhbGl0eUFuZGxldmVsRW5nbGlzaEFuZENvdXJzZVR5cGUocGFyYW1zOiBJZ2V0Q29kQmNvdXJzZUJ5TW9kYWxpdHlBbmRMZXZlbEFuZENvdXJzZVR5cGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9jb3Vyc2VzL2J5L2xldmVsL2FuZC90eXBlL2NvdXJzZS9yZW5vdmF0aW9uL21vZGFsaXR5JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvdXJzZXNUaGVvcnlCeURpZmZlcmVudFBhcmFtZXRlcnMocGFyYW1zOiBJT2J0YWluQ291cnNlc0J5RGlmZmVyZW50UGFyYW1ldGVyc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvdXJzZXMvdGhlb3J5L2J5L2RpZmZlcmVudC9wYXJhbWV0ZXJzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvdXJzZVRoZW9yeUJ5Q29kZShjb3Vyc2VDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1vYnRhaW4vY291cnNlL3RoZW9yeS8ke2NvdXJzZUNvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgb2J0YWluQ291cnNlc1RoZW9yeUJ5RGlmZlBhcmFtZXRlcnNGb3JOb3RlcyhwYXJhbXM6IElPYnRhaW5Db3Vyc2VzQnlEaWZmZXJlbnRQYXJhbWV0ZXJzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vY291cnNlcy90aGVvcnkvYnkvZGlmZnBhcmFtZXRlcnMvZm9yL25vdGVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvdXJzZXNCeVR5cGVDb3Vyc2VzSW5DcmVhdGRDb3Vyc2VScyhwYXJhbXM6IElQYXJhbXNPYnRhaW5Db3Vyc2VzQnlUeXBlQ291cnNlSW5DcmVhdGVkQ291cnNlc1JzKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvdXJzZS9ieS9wbGFuL2FjYWRlbWljL3R5cGUvY291cnNlL21vZGFsaXR5JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkFsbENvZEFpckJ5Q291cnNlKHBhcmFtczogR2V0U3R1ZGVudHNCeUNvdXJzZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2FsbC9jb2QvYWlyL2J5L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VTdGF0dXNCeVBhcmFtZXRlcnMocGFyYW1zOiBJT2J0YWluQ291cnNlc1N0YXR1c0J5RGlmZmVyZW50UGFyYW1ldGVyc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvdXJzZXMvc3RhdHVzL2J5L2RpZmZlcmVudC9wYXJhbWV0ZXJzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvdXJzZVN0YXR1c0J5QXJlYShwYXJhbXM6IElPYnRhaW5Db3Vyc2VzU3RhdHVzQnlBcmVhUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vY291cnNlcy9zdGF0dXMvYnkvYXJlYSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRFdmVudHNCeUNvdXJzZUNvZGUoY291ZGVDb3Vyc2U6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9ldmVudHMvYnkvY291cnNlLycgKyBjb3VkZUNvdXJzZTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpblBsYW5zQ291cnNlQXZhbGFpYmxlRm9yUG9zaWJsZVN0dWRlbnRCeUFnZUFuZEdyYWRlKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2F2YWxhaWJsZS9wbGFucy9jb3Vyc2UvYnkvYWdlL2FuZC9ncmFkZS9lZHVjYXRpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgT2J0YWluR3JhZGVzQnlTdHVkZW50KHBhcmFtOklOb3Rlc1N0dWRlbnRScSk6T2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9ub3Rlcy9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIE9idGFpbkxldmVsc0NvZHNCeVN0dWRlbnQocGFyYW06Tm90ZXNTdHVkZW50cyk6T2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2RzL2J5L3N0dWRlbnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBdHRlbmRhbmNlQnlDb2QocGFyYW06SUF0dGVuZGFuY2VDb2RScSk6T2JzZXJ2YWJsZTxhbnk+e1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2F0dGVuZGFuY2UvYnkvY29kL2J5L3N0dWRlbnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRJbmZvU3R1ZGVudENvdXJzZUJ5Q29kKHBhcmFtOiBJQXR0ZW5kYW5jZUNvZFJxKTpPYnNlcnZhYmxlPGFueT57XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vaW5mby9zdHVkZW50L2NvdXJzZS9ieS9jb2QnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb3Vyc2VUeXBlQnlBY2FkZW1pY1BsYW4oY29kZUFjYWRlbWljOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY291cnNldHlwZS9ieS9hY2FkZW1pYy9wbGFuLycgKyBjb2RlQWNhZGVtaWM7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRBdmFpbGFibGVDb3Vyc2VzQnlNb2RhbGl0eVN0YXR1c0FuZExldmVsKHBhcmFtOiBJZ2V0QXZhaWxhYmxlQ291cnNlc0J5TGV2U3RhTW9kYWxScSk6T2JzZXJ2YWJsZTxhbnk+e1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hdmFpbGFibGUvY291cnNlcy9ieS9tb2RhbGl0eS9zdGF0dXMvbGV2ZWwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VzQXZhaWxhYmxlU3BhY2VzQW5kQ2xhc3Nlc1ZpZXdlZChwYXJhbTpJZ2V0QXZhaWxhYmxlQ291cnNlc0J5TGV2U3RhTW9kYWxScSk6T2JzZXJ2YWJsZTxhbnk+e1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9jb3Vyc2UvYWN0aXZlL2J5L3F1b3Rhcy9jbGFzc2VzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q291cnNlc0F2YWlsYWJsZUZvclN0dWRlbnRDaGFuZ2UocGFyYW06SUdldENvdXJzZXNBdmFpbGFibGVGb3JFeGNoYW5nZVJxKTpPYnNlcnZhYmxlPGFueT57XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2NvdXJzZXMvYXZhaWxhYmxlL2Zvci9zdHVkZW50L2NoYW5nZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNoYW5nZU9mU3R1ZGVudEdyb3VwKHBhcmFtOklDaGFuZ2VPZlN0dWRlbnRHcm91cFJxKTpPYnNlcnZhYmxlPGFueT57XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY2hhbmdlL3N0dWRlbnQvdG8vbmV3L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvdXJzZVN0YXR1c0J5Q29kZShjb3Vyc2VDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1vYnRhaW4vY291cnNlL3N0YXR1cy9ieS9jb2RlLyR7Y291cnNlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oc2VydmljZVVybCk7XG4gIH1cblxufVxuIl19
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNhZGVtaWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2FjYWRlbWljLXNlcnZpY2UvYWNhZGVtaWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFhM0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsaUJBQWlCO0lBR3BELFlBQW9CLElBQWdCO1FBQ2xDLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUY1QixnQkFBVyxHQUFHLGVBQWUsQ0FBQztRQUlwQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxlQUFlLENBQUMsTUFBeUI7UUFDdkMsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztRQUMxRCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxNQUEwQjtRQUMzQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLHNCQUFzQixDQUFDO1FBQzNELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9C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QUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBNkI7UUFDaEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyw4QkFBOEIsQ0FBQztRQUNyRSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxVQUFrQjtRQUN6QyxJQUFJLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLGdDQUFnQyxVQUFVLEVBQUUsQ0FBQztRQUNqRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFQyxzQ0FBc0MsQ0FBQyxLQUFxRDtRQUM1RixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7NEdBNU5VLGVBQWU7Z0hBQWYsZUFBZSxjQUZkLE1BQU07MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElQVEdlbmVyYWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS1lbnZpcm9tZW50cyc7XG5pbXBvcnQgeyBHZXRDb3Vyc2VCeVR5cGVScSwgR2V0U3R1ZGVudEJ5Q291cnNlLCBHZXRMYXN0U3R1ZGVudENvZFJxLCBHZXRTdHVkZW50QnlUZWFjaGVyUnEsIEdldEFsbFN0dWRlbnRCeVRlYWNoZXJScSwgQ2xhc3NSb29tUlFJLCBJTWFuYWdlQ3JlYXRlZFNjaGVyZHVsZUV2ZW50c1JxLCBJUGFyYW1zT2J0YWluQ291cnNlc0J5VHlwZUNvdXJzZUluQ3JlYXRlZENvdXJzZXNScywgSWdldEF2YWlsYWJsZUNvdXJzZXNCeUxldlN0YU1vZGFsUnEsIElHZXRDb3Vyc2VzQXZhaWxhYmxlRm9yRXhjaGFuZ2VScSwgSVBhcmFtc09idGFpbkF0dGVuZGFuY2VGb3JDb2RIaXN0b3J5QnlTdHVkZW50UnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNhZGVtaWMvYWNhZGVtaWMuY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJUb2tlblJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXIvdXNlci1ycS5tb2RlbCc7XG5pbXBvcnQgeyBHZXRTdHVkZW50c0J5Q291cnNlUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvc3R1ZGVudC9zdHVkZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHZXRDb2RCeVN0dWRlbnRDb3Vyc2VScSB9IGZyb20gJy4uLy4uL21vZGVscy9jb2QvY29kLXJxLm1vZGVsJztcbmltcG9ydCB7IElDaGFuZ2VPZlN0dWRlbnRHcm91cFJxLCBJZ2V0Q29kQmNvdXJzZUJ5TW9kYWxpdHlBbmREaXNwb25pYmlsaXR5UnEsIElnZXRDb2RCY291cnNlQnlNb2RhbGl0eUFuZExldmVsQW5kQ291cnNlVHlwZVJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvdXJzZS9jb3Vyc2UtcnEubW9kZWwnO1xuaW1wb3J0IHsgSU9idGFpbkNvdXJzZXNCeURpZmZlcmVudFBhcmFtZXRlcnNScSwgSU9idGFpbkNvdXJzZXNTdGF0dXNCeUFyZWFScSwgSU9idGFpbkNvdXJzZXNTdGF0dXNCeURpZmZlcmVudFBhcmFtZXRlcnNScSwgSWdldENvZEJjb3Vyc2VCeU1vZGFsaXR5QW5kU3RhdHVzQW5kTGV2ZWxJbmdsaXNoUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY291cnNlL2NvdXJzZXMubW9kZWwnO1xuaW1wb3J0IHsgSU5vdGVzU3R1ZGVudFJxLCBOb3Rlc1N0dWRlbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25vdGVzL0lOb3Rlc1RlbXBsYXRlJztcbmltcG9ydCB7IElBdHRlbmRhbmNlQ29kUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXR0ZW5kYW5jZS9hdHRlbmRhbmNlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBY2FkZW1pY1NlcnZpY2UgZXh0ZW5kcyBJUFRHZW5lcmFsU2VydmljZXtcbiAgcHJpdmF0ZSBTRVJWSUNFX1VSTCA9ICdhY2FkZW1pYy9hcGkvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuU0VSVklDRV9VUkwgPSB0aGlzLmJhc2VVcmwoKSArIHRoaXMuU0VSVklDRV9VUkw7XG4gIH1cblxuICBnZXRDb3Vyc2VCeVR5cGUocGFyYW1zOiBHZXRDb3Vyc2VCeVR5cGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY291cnNlL2J5L3R5cGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldFN0dWRlbnRCeUNvdXJzZShwYXJhbXM6IEdldFN0dWRlbnRCeUNvdXJzZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY291cnNlL3N0dWRlbnRzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkxhc3RTdHVkZW50Q29kKHBhcmFtczogR2V0TGFzdFN0dWRlbnRDb2RScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2xhc3Qvc3R1ZGVudC9jb2QvYnkvc3R1ZGVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RHZW5EYXRhU3R1ZGVudChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2dlbmVyYWwvZGF0YS9zdHVkZW50L2J5L2NvZGUvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0QWxsQ291cnNlc0luaXRpYWxpemVkKHBhcmFtczogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2FsbC9jb3Vyc2VzL2luaXRpYWxpemVkJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFN0dWRlbnRCeVRlYWNoZXIocGFyYW1zOiBHZXRTdHVkZW50QnlUZWFjaGVyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9zdHVkZW50cy9ieS90ZWFjaGVyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbFN0dWRlbnRCeVRlYWNoZXIocGFyYW1zOiBHZXRBbGxTdHVkZW50QnlUZWFjaGVyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9hbGwvc3R1ZGVudHMvYnkvdGVhY2hlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBbGxTdHVkZW50QnlDb3Vyc2UocGFyYW1zOiBHZXRTdHVkZW50c0J5Q291cnNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9hbGwvc3R1ZGVudHMvYnkvY291cnNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblN0dWRlbnRzQnlUZWFjaGVyKHBhcmFtczogR2V0U3R1ZGVudEJ5VGVhY2hlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9zdHVkZW50cy9ieS90ZWFjaGVyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvZEFjdGl2ZUJ5Q291cnNlKHBhcmFtczogR2V0U3R1ZGVudHNCeUNvdXJzZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vYWxsL2NvZC9hY3RpdmUvYnkvY291cnNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZUNsYXNzcm9vbShwYXJhbXM6IENsYXNzUm9vbVJRSSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jcmVhdGUvY2xhc3Nyb29tJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZEJ5U3R1ZGVudEFuZENvdXJzZShwYXJhbXM6IEdldENvZEJ5U3R1ZGVudENvdXJzZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL2J5L3N0dWRlbnQvYW5kL2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RCY291cnNlQnlNb2RhbGl0eUFuZERpc3BvbmliaWxpdHkocGFyYW1zOiBJZ2V0Q29kQmNvdXJzZUJ5TW9kYWxpdHlBbmREaXNwb25pYmlsaXR5UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvdXJzZS9vYnRhaW4vYnkvbW9kYWxpdHknO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kQmNvdXJzZUJ5TW9kYWxpdHlBbmRTdGF0dXNBbmRMZXZlbEluZ2xpc2gocGFyYW1zOiBJZ2V0Q29kQmNvdXJzZUJ5TW9kYWxpdHlBbmRTdGF0dXNBbmRMZXZlbEluZ2xpc2hScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY291cnNlL29idGFpbi9ieS9tb2RhbGl0eS9zdGF0dXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgbWFuYWdlQ3JlYXRlZFNjaGVyZHVsZUV2ZW50cyhwYXJhbXM6IElNYW5hZ2VDcmVhdGVkU2NoZXJkdWxlRXZlbnRzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L21hbmFnZS9jcmVhdGVkL3NjaGVkdWxlL2V2ZW50cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VzQnlEaWZmZXJlbnRQYXJhbWV0ZXJzKHBhcmFtczogSU9idGFpbkNvdXJzZXNCeURpZmZlcmVudFBhcmFtZXRlcnNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9jb3Vyc2VzL2J5L2RpZmZlcmVudC9wYXJhbWV0ZXJzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBnZXRDb2RCY291cnNlQnlNb2RhbGl0eUFuZGxldmVsRW5nbGlzaEFuZENvdXJzZVR5cGUocGFyYW1zOiBJZ2V0Q29kQmNvdXJzZUJ5TW9kYWxpdHlBbmRMZXZlbEFuZENvdXJzZVR5cGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9jb3Vyc2VzL2J5L2xldmVsL2FuZC90eXBlL2NvdXJzZS9yZW5vdmF0aW9uL21vZGFsaXR5JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvdXJzZXNUaGVvcnlCeURpZmZlcmVudFBhcmFtZXRlcnMocGFyYW1zOiBJT2J0YWluQ291cnNlc0J5RGlmZmVyZW50UGFyYW1ldGVyc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvdXJzZXMvdGhlb3J5L2J5L2RpZmZlcmVudC9wYXJhbWV0ZXJzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvdXJzZVRoZW9yeUJ5Q29kZShjb3Vyc2VDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1vYnRhaW4vY291cnNlL3RoZW9yeS8ke2NvdXJzZUNvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgb2J0YWluQ291cnNlc1RoZW9yeUJ5RGlmZlBhcmFtZXRlcnNGb3JOb3RlcyhwYXJhbXM6IElPYnRhaW5Db3Vyc2VzQnlEaWZmZXJlbnRQYXJhbWV0ZXJzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vY291cnNlcy90aGVvcnkvYnkvZGlmZnBhcmFtZXRlcnMvZm9yL25vdGVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvdXJzZXNCeVR5cGVDb3Vyc2VzSW5DcmVhdGRDb3Vyc2VScyhwYXJhbXM6IElQYXJhbXNPYnRhaW5Db3Vyc2VzQnlUeXBlQ291cnNlSW5DcmVhdGVkQ291cnNlc1JzKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvdXJzZS9ieS9wbGFuL2FjYWRlbWljL3R5cGUvY291cnNlL21vZGFsaXR5JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkFsbENvZEFpckJ5Q291cnNlKHBhcmFtczogR2V0U3R1ZGVudHNCeUNvdXJzZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2FsbC9jb2QvYWlyL2J5L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VTdGF0dXNCeVBhcmFtZXRlcnMocGFyYW1zOiBJT2J0YWluQ291cnNlc1N0YXR1c0J5RGlmZmVyZW50UGFyYW1ldGVyc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvdXJzZXMvc3RhdHVzL2J5L2RpZmZlcmVudC9wYXJhbWV0ZXJzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvdXJzZVN0YXR1c0J5QXJlYShwYXJhbXM6IElPYnRhaW5Db3Vyc2VzU3RhdHVzQnlBcmVhUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vY291cnNlcy9zdGF0dXMvYnkvYXJlYSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRFdmVudHNCeUNvdXJzZUNvZGUoY291ZGVDb3Vyc2U6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9ldmVudHMvYnkvY291cnNlLycgKyBjb3VkZUNvdXJzZTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpblBsYW5zQ291cnNlQXZhbGFpYmxlRm9yUG9zaWJsZVN0dWRlbnRCeUFnZUFuZEdyYWRlKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2F2YWxhaWJsZS9wbGFucy9jb3Vyc2UvYnkvYWdlL2FuZC9ncmFkZS9lZHVjYXRpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgT2J0YWluR3JhZGVzQnlTdHVkZW50KHBhcmFtOklOb3Rlc1N0dWRlbnRScSk6T2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9ub3Rlcy9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIE9idGFpbkxldmVsc0NvZHNCeVN0dWRlbnQocGFyYW06Tm90ZXNTdHVkZW50cyk6T2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2RzL2J5L3N0dWRlbnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBdHRlbmRhbmNlQnlDb2QocGFyYW06SUF0dGVuZGFuY2VDb2RScSk6T2JzZXJ2YWJsZTxhbnk+e1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2F0dGVuZGFuY2UvYnkvY29kL2J5L3N0dWRlbnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRJbmZvU3R1ZGVudENvdXJzZUJ5Q29kKHBhcmFtOiBJQXR0ZW5kYW5jZUNvZFJxKTpPYnNlcnZhYmxlPGFueT57XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vaW5mby9zdHVkZW50L2NvdXJzZS9ieS9jb2QnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb3Vyc2VUeXBlQnlBY2FkZW1pY1BsYW4oY29kZUFjYWRlbWljOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY291cnNldHlwZS9ieS9hY2FkZW1pYy9wbGFuLycgKyBjb2RlQWNhZGVtaWM7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBnZXRBdmFpbGFibGVDb3Vyc2VzQnlNb2RhbGl0eVN0YXR1c0FuZExldmVsKHBhcmFtOiBJZ2V0QXZhaWxhYmxlQ291cnNlc0J5TGV2U3RhTW9kYWxScSk6T2JzZXJ2YWJsZTxhbnk+e1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hdmFpbGFibGUvY291cnNlcy9ieS9tb2RhbGl0eS9zdGF0dXMvbGV2ZWwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VzQXZhaWxhYmxlU3BhY2VzQW5kQ2xhc3Nlc1ZpZXdlZChwYXJhbTpJZ2V0QXZhaWxhYmxlQ291cnNlc0J5TGV2U3RhTW9kYWxScSk6T2JzZXJ2YWJsZTxhbnk+e1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9jb3Vyc2UvYWN0aXZlL2J5L3F1b3Rhcy9jbGFzc2VzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q291cnNlc0F2YWlsYWJsZUZvclN0dWRlbnRDaGFuZ2UocGFyYW06SUdldENvdXJzZXNBdmFpbGFibGVGb3JFeGNoYW5nZVJxKTpPYnNlcnZhYmxlPGFueT57XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2NvdXJzZXMvYXZhaWxhYmxlL2Zvci9zdHVkZW50L2NoYW5nZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNoYW5nZU9mU3R1ZGVudEdyb3VwKHBhcmFtOklDaGFuZ2VPZlN0dWRlbnRHcm91cFJxKTpPYnNlcnZhYmxlPGFueT57XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY2hhbmdlL3N0dWRlbnQvdG8vbmV3L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvdXJzZVN0YXR1c0J5Q29kZShjb3Vyc2VDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1vYnRhaW4vY291cnNlL3N0YXR1cy9ieS9jb2RlLyR7Y291cnNlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oc2VydmljZVVybCk7XG4gIH1cblxuICAgIE9idGFpbkF0dGVuZGFuY2VGb3JDb2RIaXN0b3J5QnlTdHVkZW50KHBhcmFtOklQYXJhbXNPYnRhaW5BdHRlbmRhbmNlRm9yQ29kSGlzdG9yeUJ5U3R1ZGVudFJxKTpPYnNlcnZhYmxlPGFueT57XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hdHRlbmRhbmNlL2FsbC9jb2QvYnkvc3R1ZGVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxufVxuIl19
@@ -480,10 +480,9 @@ export class CommercialService extends IPTGeneralService {
480
480
  return this.http.delete(serviceUrl, options);
481
481
  }
482
482
  massAssignSubordinates(params) {
483
- const serviceUrl = this.SERVICE_URL + 'post/team/members/massive'; // Nueva ruta API
483
+ let serviceUrl = this.SERVICE_URL + 'post/team/members/massive';
484
484
  this.generateRequestParams(params);
485
- // Enviamos el cuerpo (params) y las opciones (headers)
486
- return this.http.post(serviceUrl, params, this.httpOptions);
485
+ return this.http.post(serviceUrl, this.httpOptions);
487
486
  }
488
487
  getUsersForCommissionManagement(request) {
489
488
  const serviceUrl = this.SERVICE_URL + 'get/users/for-management';
@@ -512,4 +511,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
512
511
  type: Injectable,
513
512
  args: [{ providedIn: 'root' }]
514
513
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
515
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXJjaWFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tZXJjaWFsLXNlcnZpY2UvY29tZXJjaWFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBYTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFJdEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7UUFJdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQW9CO1FBQzVCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWEsRUFBRSxlQUF1QjtRQUN6RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FB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QUUsV0FBbUI7UUFDN0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyx1QkFBdUIsV0FBVyxFQUFFLENBQUM7UUFDM0UsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyRCxDQUFDOzs4R0FobEJVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBREwsTUFBTTsyRkFDbEIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZFJxIH0gZnJvbSAnLi8uLi8uLi9tb2RlbHMvcmVwb3J0cy9yZXBvcnRzLm1vZGVsJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHZXREaXNjb3VudENvdXBvbnNScSB9IGZyb20gJy4uLy4uL21vZGVscy9wYXltZW50L3BheW1lbnQtcnEubW9kZWwnO1xuaW1wb3J0IHsgQ3JlYXRlQ09EUnEsIEZ1bGxEYXRhQ09EUnEsIEdldENvZEJ5Q291cnNlUnEsIElVcGRhdGVDT0RScSwgSW9idGFpbmNvZEN1cnJyZW50QW5kTGV2ZWxGdWxsRGF0YVJlbm92YXRpb25zUnEsIElDb2RQYXltZW50UnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29kL2NvZC1ycS5tb2RlbCc7XG5pbXBvcnQgeyBJUFRHZW5lcmFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UtZW52aXJvbWVudHMnO1xuaW1wb3J0IHsgQWRpY0luZm9CeUNvZGVScSwgQ29kUHJpY2VzUnEsIElHb2FsSW50ZXJmYWNlUnEsIFBhcmVudEJ5Q29kZVJxLCBJT2J0YWluUmVmZXJzQnlVc2VyUnEsIElBc3NpZ25Qb3NpYmxlU3R1ZGVudEZvclZhbHVlUnEsIElHZXRDb250YWN0c2FkdmlzZXJScSwgSU9idGFpbkNvZFByaWNlc1JxLCBJQXNzaWduaW5nQWR2aXNvckdvYWxzUnEsIElSZXBvcnRDb2RGb3JBZHZpc2VyUnEsIElDcmVhdGVUaWNrZXRSZWZlcnJhbFJxLCBJR2V0UG9zaWJsZVN0dWRlbnRCeURhdGVScSwgSUdldFVzZXJBZHZpc2VyQ29tbWVyY2lhbEJ5VHlwZUFzc2luZ0NvbnRhY3RzUnEsIEFzc2luZ0N1c3RvbWVyc0J5VHlwZUFzc2luZ0NvbnRhY3RGb3JBZHZpc2VyUnEsSUNyZWF0ZVR5cGVQYXltZW50UnEsIElDcmVhdGVDb21taXNzaW9uQXJlYVJxLCBJQXNzaWduQ291cnNlVHlwZXNUb0FyZWFScSxcbiAgSUNyZWF0ZVBheW1lbnRBcmVhQ29tbWlzc2lvblJxLCBJQ3JlYXRlVHlwZVVzZXJDb21taXNzaW9uUnEsIElBc3NpZ25Db21taXNzaW9uTW9kZWxUb1VzZXJScSxcbiAgSUdldEFjdGl2ZUNvbW1pc3Npb25Hb2FsRm9yVXNlclJxLCBJUGF5Q29tbWlzc2lvbnNScSwgSVRva2VuUnEsXG4gIElHZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvclJxLCBJR2V0Q29kU3R1ZGVudERldGFpbHNCeUFkdmlzZXJScSxJVXBkYXRlUGF5bWVudEFyZWFDb21taXNzaW9uUnEsSUNvbW1pc3Npb25Db25kaXRpb24sSUFncmVlbWVudCxJQWRkQ29uZGl0aW9uVG9SdWxlUnEsIElVcGRhdGVUeXBlUGF5bWVudFJxLElBc3NpZ25TdWJvcmRpbmF0ZVJxLElSZW1vdmVTdWJvcmRpbmF0ZVJxLElVcGRhdGVUeXBlVXNlckNvbW1pc3Npb25ScSxJUGF5QWR2aXNvckJvbnVzZXNScSxJUGF5U2VsZWN0ZWRDb21taXNzaW9uc1JxLElBc3NpZ25TdWJvcmRpbmF0ZXNNYXNzaXZlUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29tbWVyY2lhbC9jb21tZXJjaWFsLm1vZGVsJztcbmltcG9ydCB7IFVzZXJUb2tlblJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXIvdXNlci1ycS5tb2RlbCc7XG5pbXBvcnQgeyBJU29jaWFsTmV0d29ya3NScSB9IGZyb20gJy4uLy4uL21vZGVscy9tYXJrZXRpbmcvbWFya2V0aW5nLm1vZGVsJztcbmltcG9ydCB7IElPYnRhaW5BbGxDb3Vyc2V3YWxsZXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYnVkZ2V0L2J1ZGdldC5tb2RlbCc7XG5pbXBvcnQgeyBJT2J0YWluQWxsUmVmZXJyYWxzQnlVc2VyUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNmZXIvdHJhbnNmZXIubW9kZWwnO1xuaW1wb3J0IHsgSUNvZFdpdGhUaGVpclN0YXRlc1JxLCBJRXh0ZW5kVGltZVRlcm1zUnEsIElOZXdUZXJtc0FuZENvbmRScSB9IGZyb20gJy4uLy4uL21vZGVscy90ZXJtcy90ZXJtcy1ycy5tb2RlbCc7XG5cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQ29tbWVyY2lhbFNlcnZpY2UgZXh0ZW5kcyBJUFRHZW5lcmFsU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBTRVJWSUNFX1VSTCA9ICdjb21tZXJjaWFsL2FwaS8nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5TRVJWSUNFX1VSTCA9IHRoaXMuYmFzZVVybCgpICsgdGhpcy5TRVJWSUNFX1VSTDtcbiAgfVxuXG4gIGNyZWF0ZUNPRChyZXF1ZXN0OiBDcmVhdGVDT0RScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29kJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRTdHVkZW50Q29kSGlzdG9yeSh0b2tlbjogc3RyaW5nLCBzdHVkZW50X2lkX2NhcmQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L3N0dWRlbnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHt0b2tlbiwgc3R1ZGVudF9pZF9jYXJkfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUFsbCh1c2VyVG9rZW46IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2FsbCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModXNlclRva2VuKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RIaXN0b3J5QnlDb3Vyc2UocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL2hpc3RvcnkvYnkvY291cnNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RIaXN0b3J5QnlDb3Vyc2VFeHBvcnQocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL2hpc3RvcnkvYnkvY291cnNlL2V4cG9ydCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RGlzY291bnRDb3Vwb25zKHBhcmFtczogR2V0RGlzY291bnRDb3Vwb25zUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2Rpc2NvdW50L2NvdXBvbi9zZWFyY2gnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kUHJpY2VzQnlBZ3JlZW1lbnQoY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2NvZC9wcmljZXMvYnkvYWdyZWVtZW50LycgKyBjb2RlO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKGNvZGUpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kUGFyZW50QnlDb2RlKHBhcmFtczogUGFyZW50QnlDb2RlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvcGFyZW50L2J5L2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWRpY0luZm9CeUNvZGUocGFyYW1zOiBBZGljSW5mb0J5Q29kZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL2FkaXRpb25hbGluZm8vYnkvY29kZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRGdWxsRGF0YUNvZEJ5U3R1ZGVudChwYXJhbXM6IEZ1bGxEYXRhQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9mdWxsL2RhdGEvY29kL2J5L3N0dWRlbnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RnVsbERhdGFDb2RCeVN0dWRlbnRBbmRDb2RzQmVmb3JlKHBhcmFtczogRnVsbERhdGFDT0RScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2Z1bGwvZGF0YS9jb2QvYnkvc3R1ZGVudC9hbmQvY29kL2JlZm9yZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RQcmljZXNCeUFncmVlbWVudFR5cGVQYXltZW50KHBhcmFtczogQ29kUHJpY2VzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvZC9wcmljZXMvYnkvYWdyZWVtZW50L2FuZC90eXBlL3BheW1lbnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kQnlBZHZhaXNlcihwYXJhbXM6IFVzZXJUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL2J5L2FkdmFpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZENvdXJzZXNCeUFkdmlzb3IocGFyYW1zOiBVc2VyVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9jb3Vyc2VzL2J5L2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kQnlBZHZpc29yQW5kQ291cnNlKHBhcmFtczogR2V0Q29kQnlDb3Vyc2VScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9zdHVkZW50L2J5L2NvdXJzZS9hbmQvYWR2aXNvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBjcmVhdGVHb2FsKHBhcmFtczogSUdvYWxJbnRlcmZhY2VScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29udGFjdC9zdHJhdGVneS9jcmVhdGUvZ29hbCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgICB9XG5cbiAgZ2V0QWxsR29hbHModG9rZW46IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29udGFjdC9zdHJhdGVneS92aWV3L2dvYWxzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh0b2tlbik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBjcmVhdGVEb2N1bWVudChwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvbWVkaWEvZG9jdW1lbnQnO1xuICAgIGxldCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIHBhcmFtcy5maWxlKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3VzZXJfYXV0b3InLCBwYXJhbXMudXNlcl9hdXRvcik7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdjb2RlX3VzZXInLCBwYXJhbXMuY29kZV91c2VyKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3R5cGVfZG9jdW1lbnQnLCBwYXJhbXMudHlwZV9kb2N1bWVudCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCd0b2tlbicsIHBhcmFtcy50b2tlbik7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgZm9ybURhdGEpO1xuICB9XG5cbiAgZ2V0RG9jdW1lbnRzQnlTdHVkZW50KHBhcmFtczphbnkpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9tZWRpYS9kb2N1bWVudC91c2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kU3R1ZGVudEJ5Q29kZUFkdmlzZXIocGFyYW1zOiBJUmVwb3J0Q29kRm9yQWR2aXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2NvZC9zdHVkZW50L2J5L2FkdmlzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgRXhwb3J0RmlsZUV4Y2VsQ29kQnlBZHZpc2VyKHBhcmFtczogSVJlcG9ydENvZEZvckFkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvZXhwb3J0L2V4Y2VsL2NvZC9zdHVkZW50L2J5L2FkdmlzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgT2J0YWluUmVmZXJyYWxzQnlVc2VyKHBhcmFtczogSU9idGFpblJlZmVyc0J5VXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vcmVmZXJyYWxzL2J5L3VzZXIvY29kZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICAgIGdldFBvc2libGVTdHVkZW50c0FsbChwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL3Bvc2libGUvc3R1ZGVudHMvYWxsL21vZGVscyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgcG9zdEFzc2lnblBvc2libGVTdHVlbnRGb3JWYWx1ZShwYXJhbXM6IElBc3NpZ25Qb3NpYmxlU3R1ZGVudEZvclZhbHVlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3Bvc2libGUvc3R1ZGVudHMvdmFsdWUvYXNzaW5nJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBnZXRDb250YWN0c0J5QWR2aXNlckNvbW1lcmNpYWwocGFyYW1zOiBJR2V0Q29udGFjdHNhZHZpc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvbnRhY3RzL21hcmtldGluZy9zdHJhdGVneS9hc3NpbmcvYnkvYWR2aXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBPYnRhaW5Db2RQcmljZXMocGFyYW1zOiBJT2J0YWluQ29kUHJpY2VzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvcHJpY2VzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBvc3RDcmVhdGVkU29jaWFsTmV0b3dya3MocGFyYW1zOiBJU29jaWFsTmV0d29ya3NScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvbmV3L3JlZ2lzdGVyL3NvY2lhbC9uZXR3b3JrJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBvc3RBc3NpZ25pbmdBZHZpc29yR29hbHMocGFyYW1zOiBJQXNzaWduaW5nQWR2aXNvckdvYWxzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2Fzc2lnbmluZy9hZHZpc29yeS9nb2Fscyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3NPYnRhaW5BZHZpc29yR29hbHMocGFyYW1zOiBJT2J0YWluQWxsQ291cnNld2FsbGV0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZ29hbHMvYXNzaWduZWQvdG8vYWR2aXNvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0T2J0YWluT3ZlcmFsR29hbEFkdmlzbyhwYXJhbXM6IElPYnRhaW5BbGxDb3Vyc2V3YWxsZXQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9vdmVyYWwvZ29hbC9vZi9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBvc3RPYnRhaW5pbmZvQ29kQWN0dWFsbHlCeVVzZXIocGFyYW1zOiBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2luZm8vY29kL3VzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluZ0xhdGVzQ29kQnlTdHVkZW50Q29kZSAoY29kZVN0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9sYXRlc3QvY29kL2J5L3N0dWRlbnQvY29kZS8nICsgY29kZVN0dWRlbnQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVDT0QocmVxdWVzdDogSVVwZGF0ZUNPRFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC91cGRhdGUvY29kJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgb2J0YWluY29kQ3VycnJlbnRBbmRMZXZlbEZ1bGxEYXRhUmVub3ZhdGlvbnMocmVxdWVzdDogSW9idGFpbmNvZEN1cnJyZW50QW5kTGV2ZWxGdWxsRGF0YVJlbm92YXRpb25zUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9mdWxsL2RhdGEvY3VycmVudC9jb2QvYnkvY29kZS9zdHVkZW50L3Jlbm92YXRpb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBnZXRkYXRhQ3VycmVudENvZEJ5U1R1ZGVudENvZGUocmVxdWVzdDogSW9idGFpbmNvZEN1cnJyZW50QW5kTGV2ZWxGdWxsRGF0YVJlbm92YXRpb25zUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvZGF0YS9jdXJyZW50L2RhdGEvY29kL2J5L3N0dWRlbnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICB1cGRhdGVDb2RDdXJyZW50SW5PYnNlcnZhdGlvbnNSZW5vdmF0aW9ucyhyZXF1ZXN0OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NoYW5nZS9jb2Qvc3RhdHVzL29ic2VydmF0aW9ucy9yZW5vdmF0aW9ucyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kUHJldml1c09yUGxhY2VtZW50VGVzdEJ5Y29kZShyZXF1ZXN0OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvcmVnaXN0ZXIvcHJldmlvdXMvb3IvcGxhY2VtZW50L3Rlc3QvYnkvc3RhdHVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgdXBkYXRlQ29udHJvbFN0ZXBzQ29kU2VsZk1hbmFnZWQocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jaGFuZ2Uvc3RlcC9mb3JtL2NvbnRyb2wvY29kL3NlbGYvbWFuYWdlZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIE9idGFpbkNvZFByaWNlc0NvZFNlbGZNYW5hZ2VkKHBhcmFtczogSU9idGFpbkNvZFByaWNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3NlbGYvbWFuYWdlZC9wcmljZXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGNyZWF0ZUNvZFNlbGZNYW5hZ2VkKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb2Qvc2VsZi9tYW5hZ2VkJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHByaXplc0ZvckR1cmF0aW9uT2RDb250ZXN0KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgICdwcml6ZXMvZm9yL2R1cmF0aW9uL29mL2NvbnRlc3QnO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgY3JlYXRlVGlja2V0UmVmZXJyYWwocGFyYW1zOiBJQ3JlYXRlVGlja2V0UmVmZXJyYWxScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2NyZWF0ZS9jb250ZXN0L3JlZ2lzdHJhdGlvbi9ieS9yZWZlcnJhbGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgICBvYnRhaW5TdGF0dXNBbmRSZWZlcnJhbHNCeVVzZXJDb2RlKHBhcmFtczogSU9idGFpblJlZmVyc0J5VXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3N0YXR1cy9hbmQvcmVmZXJyYWxzL2J5L3VzZXIvY29kZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXNQb3NpYmxlU3R1ZGVudEFsbEZvdXJNb2RlbHNCeURhdGUocGFyYW1zOiBJR2V0UG9zaWJsZVN0dWRlbnRCeURhdGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9wb3NpYmxlL3N0dWRlbnRzL2FsbC9mb3VyL21vZGVscy9ieS9kYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdlc1VzZXJBZHZpc2VyQ29tbWVyY2lhbEJ5VHlwZUFzc2luZ0NvbnRhY3QocGFyYW1zOiBJR2V0VXNlckFkdmlzZXJDb21tZXJjaWFsQnlUeXBlQXNzaW5nQ29udGFjdHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC91c2VyL2NvbW1lcmNpYWwvYnkvdHlwZS9hc3NpbmcnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgYXNzaW5nQ3VzdG9tZXJzQnlUeXBlQXNzaW5nQ29udGFjdEZvckFkdmlzZXIocGFyYW1zOiBBc3NpbmdDdXN0b21lcnNCeVR5cGVBc3NpbmdDb250YWN0Rm9yQWR2aXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9Bc3NpbmcvdXNlci9wb3NpYmxlL3N0dWRlbnQvYnkvZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5BZGRpdGlvbmFsVXNlckRhdGFCeUNvdXJzZShwYXJhbXM6IElnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2FkZGl0aW9uYWwvdXNlci9kYXRhL2J5L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5BbGxSZWZlcnJhbHNCeVVzZXIocGFyYW1zOiBJT2J0YWluQWxsUmVmZXJyYWxzQnlVc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vYWxsL3JlZmVycmFscy9ieS91c2VyL2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsQ29kSW5mb3JtYXRpb25Gb3JFeHBvcnRpbmcocGFyYW1zOiBJQ29kUGF5bWVudFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9jb2QvaW5mb3JtYXRpb24vZm9yL2V4cG9ydGluZyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RCeUFkdmlzb3JXaXRoVGhlaXJTdGF0ZXMocGFyYW1zOiBJQ29kV2l0aFRoZWlyU3RhdGVzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vY29kL2J5L2Fkdmlzb3Ivd2l0aC90aGVpci9zdGF0ZXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZXh0ZW5kVGltZU9mQWNjZXB0YW5jZU9mVGVybXMocGFyYW1zOiBJRXh0ZW5kVGltZVRlcm1zUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdleHRlbmQvdGltZS9vZi9hY2NlcHRhbmNlL29mL3Rlcm1zJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG5ld1Rlcm1zQW5kQ29uZGl0aW9uc0FjY2VwdGFuY2VUb2tlbihwYXJhbXM6IElOZXdUZXJtc0FuZENvbmRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ25ldy90ZXJtcy9hbmQvY29uZGl0aW9ucy9hY2NlcHRhbmNlL3Rva2VuJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHVwZGF0ZVN0YXR1c09mVGVybXNBbmRDb25kaXRpb25zUmVjb3JkcygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICd1cGRhdGUvc3RhdHVzL29mL3QmYy9yZWNvcmRzJyA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMobnVsbCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RCeUNvb2RpbmF0b3JXaXRoVGhlaXJTdGF0ZXMocGFyYW1zOiBJQ29kV2l0aFRoZWlyU3RhdGVzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vY29kL2J5L2Nvb2RpbmF0b2Uvd2l0aC90aGVpci9zdGF0ZXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWxsSW5mb3JtYXRpb25Db2RCeUNvZGUoY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2FsbC9pbmZvcm1hdGlvbi9jb2QvYnkvY29kZS8nICsgY29kZTtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhjb2RlKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFN1bW1hcnlCeUNvbW1lcmNpYWxBZHZpc29yKHBhcmFtczogSUdldFN1bW1hcnlCeUNvbW1lcmNpYWxBZHZpc29yUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvc3VtbWFyeS9ieS9jb21tZXJjaWFsL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kU3R1ZGVudERldGFpbHNCeUFkdmlzZXIocmVxdWVzdDogSUdldENvZFN0dWRlbnREZXRhaWxzQnlBZHZpc2VyUnEsIGFkdmlzZXJDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGdldC9jb2Qvc3R1ZGVudC9kZXRhaWxzL2J5L2FkdmlzZXIvJHthZHZpc2VyQ29kZX1gO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7IC4uLnRoaXMuaHR0cE9wdGlvbnMsIHBhcmFtczogcmVxdWVzdCBhcyBhbnkgfTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCBvcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZVR5cGVQYXltZW50KHBhcmFtczogSUNyZWF0ZVR5cGVQYXltZW50UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL3R5cGUvcGF5bWVudC9jb21taXNzaW9ucyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBbGxUeXBlUGF5bWVudHMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvdHlwZS9wYXltZW50L2NvbW1pc3Npb25zJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG5jcmVhdGVDb21taXNzaW9uQXJlYShwYXJhbXM6IElDcmVhdGVDb21taXNzaW9uQXJlYVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jcmVhdGUvY29tbWlzc2lvbi9hcmVhJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG4gIGdldEFsbENvbW1pc3Npb25BcmVhcyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9jb21taXNzaW9uL2FyZWFzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG5hc3NpZ25Db3Vyc2VUeXBlc1RvQXJlYShwYXJhbXM6IElBc3NpZ25Db3Vyc2VUeXBlc1RvQXJlYVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hc3NpZ24vY291cnNlLXR5cGVzL3RvLWFyZWEnO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbmNyZWF0ZVBheW1lbnRBcmVhQ29tbWlzc2lvbihwYXJhbXM6IElDcmVhdGVQYXltZW50QXJlYUNvbW1pc3Npb25ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL3BheW1lbnQvYXJlYS9jb21taXNzaW9uJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG4gIGdldENvbW1pc3Npb25SdWxlc0J5QXJlYShyZXF1ZXN0OiBJVG9rZW5ScSwgYXJlYUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZ2V0L2NvbW1pc3Npb24tcnVsZXMvYnktYXJlYS8ke2FyZWFDb2RlfWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZVR5cGVVc2VyQ29tbWlzc2lvbihwYXJhbXM6IElDcmVhdGVUeXBlVXNlckNvbW1pc3Npb25ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jcmVhdGUvdHlwZS91c2VyL2NvbW1pc3Npb24nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsVHlwZVVzZXJDb21taXNzaW9ucyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC90eXBlL3VzZXIvY29tbWlzc2lvbnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgYXNzaWduQ29tbWlzc2lvbk1vZGVsVG9Vc2VyKHBhcmFtczogSUFzc2lnbkNvbW1pc3Npb25Nb2RlbFRvVXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2Fzc2lnbi9tb2RlbC90by91c2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFjdGl2ZUNvbW1pc3Npb25Nb2RlbEZvclVzZXIocmVxdWVzdDogSVRva2VuUnEsIHVzZXJDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGdldC9hY3RpdmUvbW9kZWwvZm9yL3VzZXIvJHt1c2VyQ29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcGF5Q29tbWlzc2lvbnMocGFyYW1zOiBJUGF5U2VsZWN0ZWRDb21taXNzaW9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdjb21taXNzaW9ucy9wYXkvY29kcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgcGFyYW1zLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBheUFkdmlzb3JCb251c2VzKHBhcmFtczogSVBheUFkdmlzb3JCb251c2VzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2NvbW1pc3Npb25zL3BheS9ib251c2VzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHVwZGF0ZVBheW1lbnRBcmVhQ29tbWlzc2lvbihyZXF1ZXN0OiBJVXBkYXRlUGF5bWVudEFyZWFDb21taXNzaW9uUnEsIHJ1bGVDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYHB1dC9wYXltZW50LWFyZWEtY29tbWlzc2lvbi8ke3J1bGVDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoc2VydmljZVVybCwgcmVxdWVzdCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbmdldEFsbEFyZWFzV2l0aENvbW1pc3Npb25SdWxlcyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwtYXJlYXMtd2l0aC1jb21taXNzaW9uLXJ1bGVzJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5nZXRBbGxDb25kaXRpb25zKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9jb21taXNzaW9uLWNvbmRpdGlvbnMnO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbmdldEFsbEFncmVlbWVudHMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsL2FncmVlbWVudHMnO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbmFkZENvbmRpdGlvblRvUnVsZShyZXF1ZXN0OiBJQWRkQ29uZGl0aW9uVG9SdWxlUnEsIHJ1bGVDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBwb3N0L2FkZC9jb25kaXRpb24vdG8tcnVsZS8ke3J1bGVDb2RlfWA7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbmRlbGV0ZUNvbmRpdGlvbkZyb21SdWxlKHJlcXVlc3Q6IElUb2tlblJxLCBjb25kaXRpb25JZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZGVsZXRlL3J1bGUtY29uZGl0aW9uLyR7Y29uZGl0aW9uSWR9YDtcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgaGVhZGVyczogdGhpcy5odHRwT3B0aW9ucy5oZWFkZXJzLFxuICAgIHBhcmFtczogdGhpcy5odHRwT3B0aW9ucy5wYXJhbXNcbiAgfTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoc2VydmljZVVybCwgb3B0aW9ucyk7XG59XG5cbnVwZGF0ZVR5cGVQYXltZW50KHJlcXVlc3Q6IElVcGRhdGVUeXBlUGF5bWVudFJxLCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBwdXQvdXBkYXRlL3R5cGUtcGF5bWVudC1jb21taXNzaW9uLyR7Y29kZX1gO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbmRlbGV0ZVR5cGVQYXltZW50KHJlcXVlc3Q6IElUb2tlblJxLCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBkZWxldGUvdHlwZS1wYXltZW50LWNvbW1pc3Npb24vJHtjb2RlfWA7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIGhlYWRlcnM6IHRoaXMuaHR0cE9wdGlvbnMuaGVhZGVycyxcbiAgICBwYXJhbXM6IHRoaXMuaHR0cE9wdGlvbnMucGFyYW1zXG4gIH07XG4gIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHNlcnZpY2VVcmwsIG9wdGlvbnMpO1xufVxuXG5kZWxldGVQYXltZW50QXJlYUNvbW1pc3Npb24ocmVxdWVzdDogSVRva2VuUnEsIGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGRlbGV0ZS9wYXltZW50LWFyZWEtY29tbWlzc2lvbi8ke2NvZGV9YDtcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgaGVhZGVyczogdGhpcy5odHRwT3B0aW9ucy5oZWFkZXJzLFxuICAgIHBhcmFtczogdGhpcy5odHRwT3B0aW9ucy5wYXJhbXNcbiAgfTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoc2VydmljZVVybCwgb3B0aW9ucyk7XG59XG5cbiAgb2J0YWluUHJlYXNzaWduZWRDb3Vyc2VzQW5kU3R1ZGVudEVucm9sbG1lbnRTdGF0dXMoY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3ByZWFzc2lnbmVkL2NvdXJzZXMvc3R1ZGVudC9lbnJvbGxtZW50L3N0YXR1cy8nICsgY29kZTtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhjb2RlKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuICBkZWxldGVDb25kaXRpb24ocmVxdWVzdDogSVRva2VuUnEsIGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZGVsZXRlL2NvbW1pc3Npb24tY29uZGl0aW9uLyR7Y29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBoZWFkZXJzOiB0aGlzLmh0dHBPcHRpb25zLmhlYWRlcnMsXG4gICAgICBwYXJhbXM6IHRoaXMuaHR0cE9wdGlvbnMucGFyYW1zXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShzZXJ2aWNlVXJsLCBvcHRpb25zKTtcbiAgfVxuXG4gIHJlbmV3U3R1ZGVudHNUb05leHRMZXZlbChyZXF1ZXN0OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYHBvc3QvY29kL2FuZC9yZW5ld2FsL2J5L2NvdXJzZXNgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpblByZWFzc2lnbmVkQ291cnNlcygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vcHJlYXNzaWduZWQvY291cnNlcyc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICAgZnVsbERhdGFDb2RCeVN0dWRlbnRDb3Vyc2VQcmVhc3NpZ25lZChjb2RlX3N0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2Z1bGxkYXRhL2NvZC9ieS9zdHVkZW50L2NvdXJzZS9wcmVhc3NpZ25lZC8nICsgY29kZV9zdHVkZW50O1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKGNvZGVfc3R1ZGVudCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBzZWFyY2hTdHVkZW50QnlJZGNhcmRDb3Vyc2VQcmVhc3NpZ25lZChpZGNhcmRfc3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnc2VhcmNoL3N0dWRlbnQvYnkvaWRjYXJkL2NvdXJzZS9wcmVhc3NpZ25lZC8nICsgaWRjYXJkX3N0dWRlbnQ7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMoaWRjYXJkX3N0dWRlbnQpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZXhwb3J0UG9zaWJsZVN0dWRlbnRBbGxGb3VyTW9kZWxzQnlEYXRlKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3Bvc2libGUvc3R1ZGVudHMvYWxsL2ZvdXIvbW9kZWxzL2J5L2RhdGUvZm9yL2V4cG9ydCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBbGxHb2Fsc0ZvckNvbW1pc3Npb25Nb2RlbHMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9oZWxwZXJzL2dvYWxzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG5cbiAgZ2V0VGVhbUJ5TWFuYWdlcihyZXF1ZXN0OiBJVG9rZW5ScSwgbWFuYWdlckNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZ2V0L3RlYW0vYnkvbWFuYWdlci8ke21hbmFnZXJDb2RlfWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuXG4gIGFzc2lnblN1Ym9yZGluYXRlVG9NYW5hZ2VyKHBhcmFtczogSUFzc2lnblN1Ym9yZGluYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdGVhbS9tZW1iZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHBhcmFtcywgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICByZW1vdmVTdWJvcmRpbmF0ZUZyb21NYW5hZ2VyKHBhcmFtczogSVJlbW92ZVN1Ym9yZGluYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2RlbGV0ZS90ZWFtL21lbWJlcic7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRoaXMuaHR0cE9wdGlvbnMsXG4gICAgICBib2R5OiB7IHBhcmFtcyB9XG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShzZXJ2aWNlVXJsLCBvcHRpb25zKTtcbn1cblxubWFzc0Fzc2lnblN1Ym9yZGluYXRlcyhwYXJhbXM6IElBc3NpZ25TdWJvcmRpbmF0ZXNNYXNzaXZlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdGVhbS9tZW1iZXJzL21hc3NpdmUnOyAvLyBOdWV2YSBydXRhIEFQSVxuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgLy8gRW52aWFtb3MgZWwgY3VlcnBvIChwYXJhbXMpIHkgbGFzIG9wY2lvbmVzIChoZWFkZXJzKVxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBwYXJhbXMsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG4gIGdldFVzZXJzRm9yQ29tbWlzc2lvbk1hbmFnZW1lbnQocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC91c2Vycy9mb3ItbWFuYWdlbWVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBbGxDb21taXNzaW9uQ29uY2VwdHMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvY29tbWlzc2lvbi9jb25jZXB0cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgdXBkYXRlVHlwZVVzZXJDb21taXNzaW9uKHBhcmFtczogSVVwZGF0ZVR5cGVVc2VyQ29tbWlzc2lvblJxLCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYHB1dC91cGRhdGUvdHlwZS91c2VyL2NvbW1pc3Npb24vJHtjb2RlfWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFN1Ym9yZGluYXRlc0J5TWFuYWdlcihyZXF1ZXN0OiBJVG9rZW5ScSwgbWFuYWdlckNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZ2V0L3RlYW0vYnkvbWFuYWdlci8ke21hbmFnZXJDb2RlfWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxufVxuIl19
514
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXJjaWFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tZXJjaWFsLXNlcnZpY2UvY29tZXJjaWFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBYTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFJdEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7UUFJdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQW9CO1FBQzVCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWEsRUFBRSxlQUF1QjtRQUN6RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsU0FBYztRQUM3QixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDZCQUE2QixDQUFDO1FBQ2xFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELHFCQUFxQixDQUFDLE9BQVk7UUFDaEMsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQ0FBbUMsQ0FBQztRQUN4RSxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxPQUFZO1FBQ3RDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsMENBQTBDLENBQUM7UUFDL0UsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBNEI7UUFDN0MsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyw2QkFBNkIsQ0FBQztRQUNsRSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxJQUFZO1FBQ2xDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsOEJBQThCLEdBQUcsSUFBSSxDQUFDO1FBQzFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGtCQUFrQixDQUFDLE1BQXNCO1FBQ3ZDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsZ0NBQWdDLENBQUM7UUFDckUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBd0I7UUFDeEMsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyx1Q0FBdUMsQ0FBQztRQUM1RSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxNQUFxQjtRQUMzQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLHNDQUFzQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9DQUFvQyxDQUFDLE1BQXFCO1FBQ3hELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcscURBQXFELENBQUM7UUFDMUYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsa0NBQWtDLENBQUMsTUFBbUI7UUFDcEQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRywrQ0FBK0MsQ0FBQztRQUNwRixJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFtQjtRQUNyQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDZCQUE2QixDQUFDO1FBQ2xFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELHlCQUF5QixDQUFDLE1BQW1CO1FBQzNDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsb0NBQW9DLENBQUM7UUFDekUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsMkJBQTJCLENBQUMsTUFBd0I7UUFDbEQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRywrQ0FBK0MsQ0FBQztRQUNwRixJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxVQUFVLENBQUMsTUFBd0I7UUFDakMsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQ0FBbUMsQ0FBQztRQUN4RSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFSCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLGtDQUFrQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFXO1FBQ3hCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcscUJBQXFCLENBQUM7UUFDMUQsSUFBSSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUM5QixRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUFVO1FBQzlCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcseUJBQXlCLENBQUM7UUFDOUQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsNkJBQTZCLENBQUMsTUFBOEI7UUFDMUQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyw0QkFBNEIsQ0FBQztRQUNqRSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxNQUE4QjtRQUN4RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDBDQUEwQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELHFCQUFxQixDQUFDLE1BQTZCO1FBQ2pELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsb0NBQW9DLENBQUM7UUFDekUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUMscUJBQXFCLENBQUMsTUFBVztRQUNqQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLHlDQUF5QyxDQUFDO1FBQzlFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELCtCQUErQixDQUFDLE1BQXVDO1FBQ3JFLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsb0NBQW9DLENBQUM7UUFDekUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsOEJBQThCLENBQUMsTUFBNkI7UUFDMUQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxvREFBb0QsQ0FBQztRQUN6RixJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxlQUFlLENBQUMsTUFBMEI7UUFDeEMsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQztRQUM3RCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxNQUF5QjtRQUNqRCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLGtDQUFrQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELHlCQUF5QixDQUFDLE1BQWdDO1FBQ3hELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsK0JBQStCLENBQUM7UUFDcEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQscUJBQXFCLENBQUMsTUFBOEI7UUFDbEQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyx1Q0FBdUMsQ0FBQztRQUM1RSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxNQUE4QjtRQUN2RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELCtCQUErQixDQUFDLE1BQXdDO1FBQ3RFLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsMkJBQTJCLENBQUM7UUFDaEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsNEJBQTRCLENBQUUsV0FBbUI7UUFDL0MsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxpQ0FBaUMsR0FBRyxXQUFXLENBQUM7UUFDcEYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxTQUFTLENBQUMsT0FBcUI7UUFDN0IsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztRQUN0RCxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCw0Q0FBNEMsQ0FBQyxPQUF3RDtRQUNuRyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDhEQUE4RCxDQUFDO1FBQ25HLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELDhCQUE4QixDQUFDLE9BQXdEO1FBQ3JGLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsc0NBQXNDLENBQUM7UUFDM0UsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QseUNBQXlDLENBQUMsT0FBWTtRQUNwRCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLGlEQUFpRCxDQUFDO1FBQ3RGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELHFDQUFxQyxDQUFDLE9BQVk7UUFDaEQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRywrREFBK0QsQ0FBQztRQUNwRyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxnQ0FBZ0MsQ0FBQyxPQUFZO1FBQzNDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsZ0RBQWdELENBQUM7UUFDckYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsNkJBQTZCLENBQUMsTUFBMEI7UUFDdEQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQ0FBcUMsQ0FBQztRQUMxRSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxNQUFXO1FBQzlCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsdUJBQXVCLENBQUM7UUFDNUQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUksZ0NBQWdDLENBQUM7UUFDdEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsTUFBK0I7UUFDbEQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRywwQ0FBMEMsQ0FBQztRQUMvRSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFQyxrQ0FBa0MsQ0FBQyxNQUE2QjtRQUNoRSxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDBDQUEwQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9DQUFvQyxDQUFDLE1BQWtDO1FBQ3JFLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsOENBQThDLENBQUM7UUFDbkYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsMkNBQTJDLENBQUMsTUFBdUQ7UUFDakcsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxvQ0FBb0MsQ0FBQztRQUN6RSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCw0Q0FBNEMsQ0FBQyxNQUFzRDtRQUNqRyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDBDQUEwQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELGdDQUFnQyxDQUFDLE1BQXdDO1FBQ3ZFLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsdUNBQXVDLENBQUM7UUFDNUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsTUFBbUM7UUFDMUQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQ0FBbUMsQ0FBQztRQUN4RSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxnQ0FBZ0MsQ0FBQyxNQUFxQjtRQUNwRCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLHVDQUF1QyxDQUFDO1FBQzVFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELGlDQUFpQyxDQUFDLE1BQTZCO1FBQzdELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcseUNBQXlDLENBQUM7UUFDOUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsNkJBQTZCLENBQUMsTUFBMEI7UUFDdEQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxvQ0FBb0MsQ0FBQztRQUN6RSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxvQ0FBb0MsQ0FBQyxNQUEwQjtRQUM3RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDJDQUEyQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELHVDQUF1QztRQUNyQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDhCQUE4QixDQUFFO1FBQ3BFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELG9DQUFvQyxDQUFDLE1BQTZCO1FBQ2hFLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsNENBQTRDLENBQUM7UUFDakYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsNkJBQTZCLENBQUMsSUFBWTtRQUN4QyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLHFDQUFxQyxHQUFHLElBQUksQ0FBQztRQUNqRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCw2QkFBNkIsQ0FBQyxNQUF3QztRQUNwRSxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG1DQUFtQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELDZCQUE2QixDQUFDLE9BQXlDLEVBQUUsV0FBbUI7UUFDMUYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxzQ0FBc0MsV0FBVyxFQUFFLENBQUM7UUFDMUYsTUFBTSxPQUFPLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLE9BQWMsRUFBRSxDQUFDO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUE0QjtRQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLHNDQUFzQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELGtCQUFrQixDQUFDLE9BQWlCO1FBQ2xDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsa0NBQWtDLENBQUM7UUFDekUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUgsb0JBQW9CLENBQUMsTUFBK0I7UUFDbEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyw2QkFBNkIsQ0FBQztRQUNwRSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFQyxxQkFBcUIsQ0FBQyxPQUFpQjtRQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDBCQUEwQixDQUFDO1FBQ2pFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVILHVCQUF1QixDQUFDLE1BQWtDO1FBQ3hELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsa0NBQWtDLENBQUM7UUFDekUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsMkJBQTJCLENBQUMsTUFBc0M7UUFDaEUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQ0FBcUMsQ0FBQztRQUM1RSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFQyx3QkFBd0IsQ0FBQyxPQUFpQixFQUFFLFFBQWdCO1FBQzFELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsZ0NBQWdDLFFBQVEsRUFBRSxDQUFDO1FBQ2pGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELHdCQUF3QixDQUFDLE1BQW1DO1FBQzFELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsa0NBQWtDLENBQUM7UUFDekUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQseUJBQXlCLENBQUMsT0FBaUI7UUFDekMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRywrQkFBK0IsQ0FBQztRQUN0RSxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxNQUFzQztRQUNoRSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDJCQUEyQixDQUFDO1FBQ2xFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELCtCQUErQixDQUFDLE9BQWlCLEVBQUUsUUFBZ0I7UUFDakUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyw2QkFBNkIsUUFBUSxFQUFFLENBQUM7UUFDOUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWlDO1FBQzlDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsc0JBQXNCLENBQUM7UUFDN0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQTRCO1FBQzVDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcseUJBQXlCLENBQUM7UUFDaEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsMkJBQTJCLENBQUMsT0FBdUMsRUFBRSxRQUFnQjtRQUNuRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLCtCQUErQixRQUFRLEVBQUUsQ0FBQztRQUNoRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCw4QkFBOEIsQ0FBQyxPQUFpQjtRQUM5QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLHFDQUFxQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQWlCO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsK0JBQStCLENBQUM7UUFDdEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBaUI7UUFDaEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQztRQUMzRCxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUE4QixFQUFFLFFBQWdCO1FBQ2pFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsOEJBQThCLFFBQVEsRUFBRSxDQUFDO1FBQy9FLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELHVCQUF1QixDQUFDLE9BQWlCLEVBQUUsV0FBbUI7UUFDNUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyx5QkFBeUIsV0FBVyxFQUFFLENBQUM7UUFDN0UsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sT0FBTyxHQUFHO1lBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTztZQUNqQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNO1NBQ2hDLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBNkIsRUFBRSxJQUFZO1FBQzNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsc0NBQXNDLElBQUksRUFBRSxDQUFDO1FBQ25GLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGlCQUFpQixDQUFDLE9BQWlCLEVBQUUsSUFBWTtRQUMvQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLGtDQUFrQyxJQUFJLEVBQUUsQ0FBQztRQUMvRSxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsTUFBTSxPQUFPLEdBQUc7WUFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO1lBQ2pDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU07U0FDaEMsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxPQUFpQixFQUFFLElBQVk7UUFDekQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQ0FBa0MsSUFBSSxFQUFFLENBQUM7UUFDL0UsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sT0FBTyxHQUFHO1lBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTztZQUNqQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNO1NBQ2hDLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUMsa0RBQWtELENBQUMsSUFBWTtRQUM3RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLHVEQUF1RCxHQUFHLElBQUksQ0FBQztRQUNuRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsZUFBZSxDQUFDLE9BQWlCLEVBQUUsSUFBWTtRQUM3QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLCtCQUErQixJQUFJLEVBQUUsQ0FBQztRQUM1RSxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsTUFBTSxPQUFPLEdBQUc7WUFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPO1lBQ2pDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU07U0FDaEMsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxPQUFZO1FBQ25DLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsaUNBQWlDLENBQUM7UUFDeEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsNEJBQTRCLENBQUM7UUFDakUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUEscUNBQXFDLENBQUMsWUFBb0I7UUFDekQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyw2Q0FBNkMsR0FBRyxZQUFZLENBQUM7UUFDakcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELHNDQUFzQyxDQUFDLGNBQXNCO1FBQzNELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsOENBQThDLEdBQUcsY0FBYyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCx1Q0FBdUMsQ0FBQyxNQUFXO1FBQ2pELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcseURBQXlELENBQUM7UUFDOUYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsOEJBQThCLENBQUMsT0FBaUI7UUFDOUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQztRQUMxRCxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFHRCxnQkFBZ0IsQ0FBQyxPQUFpQixFQUFFLFdBQW1CO1FBQ3JELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsdUJBQXVCLFdBQVcsRUFBRSxDQUFDO1FBQzNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUdELDBCQUEwQixDQUFDLE1BQTRCO1FBQ3JELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUM7UUFDekQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELDRCQUE0QixDQUFDLE1BQTRCO1FBQ3ZELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsb0JBQW9CLENBQUM7UUFDM0QsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLElBQUksQ0FBQyxXQUFXO1lBQ25CLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRTtTQUNqQixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELHNCQUFzQixDQUFDLE1BQW9DO1FBQ3pELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsMkJBQTJCLENBQUM7UUFDaEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUMsK0JBQStCLENBQUMsT0FBaUI7UUFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRywwQkFBMEIsQ0FBQztRQUNqRSxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxPQUFpQjtRQUN4QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDZCQUE2QixDQUFDO1FBQ3BFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELHdCQUF3QixDQUFDLE1BQW1DLEVBQUUsSUFBWTtRQUN4RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG1DQUFtQyxJQUFJLEVBQUUsQ0FBQztRQUNoRixJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxPQUFpQixFQUFFLFdBQW1CO1FBQzdELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsdUJBQXVCLFdBQVcsRUFBRSxDQUFDO1FBQzNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQzs7OEdBL2tCVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURMLE1BQU07MkZBQ2xCLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSB9IGZyb20gJy4vLi4vLi4vbW9kZWxzL3JlcG9ydHMvcmVwb3J0cy5tb2RlbCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR2V0RGlzY291bnRDb3Vwb25zUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvcGF5bWVudC9wYXltZW50LXJxLm1vZGVsJztcbmltcG9ydCB7IENyZWF0ZUNPRFJxLCBGdWxsRGF0YUNPRFJxLCBHZXRDb2RCeUNvdXJzZVJxLCBJVXBkYXRlQ09EUnEsIElvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9uc1JxLCBJQ29kUGF5bWVudFJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvZC9jb2QtcnEubW9kZWwnO1xuaW1wb3J0IHsgSVBUR2VuZXJhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlLWVudmlyb21lbnRzJztcbmltcG9ydCB7IEFkaWNJbmZvQnlDb2RlUnEsIENvZFByaWNlc1JxLCBJR29hbEludGVyZmFjZVJxLCBQYXJlbnRCeUNvZGVScSwgSU9idGFpblJlZmVyc0J5VXNlclJxLCBJQXNzaWduUG9zaWJsZVN0dWRlbnRGb3JWYWx1ZVJxLCBJR2V0Q29udGFjdHNhZHZpc2VyUnEsIElPYnRhaW5Db2RQcmljZXNScSwgSUFzc2lnbmluZ0Fkdmlzb3JHb2Fsc1JxLCBJUmVwb3J0Q29kRm9yQWR2aXNlclJxLCBJQ3JlYXRlVGlja2V0UmVmZXJyYWxScSwgSUdldFBvc2libGVTdHVkZW50QnlEYXRlUnEsIElHZXRVc2VyQWR2aXNlckNvbW1lcmNpYWxCeVR5cGVBc3NpbmdDb250YWN0c1JxLCBBc3NpbmdDdXN0b21lcnNCeVR5cGVBc3NpbmdDb250YWN0Rm9yQWR2aXNlclJxLElDcmVhdGVUeXBlUGF5bWVudFJxLCBJQ3JlYXRlQ29tbWlzc2lvbkFyZWFScSwgSUFzc2lnbkNvdXJzZVR5cGVzVG9BcmVhUnEsXG4gIElDcmVhdGVQYXltZW50QXJlYUNvbW1pc3Npb25ScSwgSUNyZWF0ZVR5cGVVc2VyQ29tbWlzc2lvblJxLCBJQXNzaWduQ29tbWlzc2lvbk1vZGVsVG9Vc2VyUnEsXG4gIElHZXRBY3RpdmVDb21taXNzaW9uR29hbEZvclVzZXJScSwgSVBheUNvbW1pc3Npb25zUnEsIElUb2tlblJxLFxuICBJR2V0U3VtbWFyeUJ5Q29tbWVyY2lhbEFkdmlzb3JScSwgSUdldENvZFN0dWRlbnREZXRhaWxzQnlBZHZpc2VyUnEsSVVwZGF0ZVBheW1lbnRBcmVhQ29tbWlzc2lvblJxLElDb21taXNzaW9uQ29uZGl0aW9uLElBZ3JlZW1lbnQsSUFkZENvbmRpdGlvblRvUnVsZVJxLCBJVXBkYXRlVHlwZVBheW1lbnRScSxJQXNzaWduU3Vib3JkaW5hdGVScSxJUmVtb3ZlU3Vib3JkaW5hdGVScSxJVXBkYXRlVHlwZVVzZXJDb21taXNzaW9uUnEsSVBheUFkdmlzb3JCb251c2VzUnEsSVBheVNlbGVjdGVkQ29tbWlzc2lvbnNScSxJQXNzaWduU3Vib3JkaW5hdGVzTWFzc2l2ZVJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbW1lcmNpYWwvY29tbWVyY2lhbC5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyVG9rZW5ScSB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyL3VzZXItcnEubW9kZWwnO1xuaW1wb3J0IHsgSVNvY2lhbE5ldHdvcmtzUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWFya2V0aW5nL21hcmtldGluZy5tb2RlbCc7XG5pbXBvcnQgeyBJT2J0YWluQWxsQ291cnNld2FsbGV0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2J1ZGdldC9idWRnZXQubW9kZWwnO1xuaW1wb3J0IHsgSU9idGFpbkFsbFJlZmVycmFsc0J5VXNlclJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zZmVyL3RyYW5zZmVyLm1vZGVsJztcbmltcG9ydCB7IElDb2RXaXRoVGhlaXJTdGF0ZXNScSwgSUV4dGVuZFRpbWVUZXJtc1JxLCBJTmV3VGVybXNBbmRDb25kUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGVybXMvdGVybXMtcnMubW9kZWwnO1xuXG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENvbW1lcmNpYWxTZXJ2aWNlIGV4dGVuZHMgSVBUR2VuZXJhbFNlcnZpY2Uge1xuXG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnY29tbWVyY2lhbC9hcGkvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuU0VSVklDRV9VUkwgPSB0aGlzLmJhc2VVcmwoKSArIHRoaXMuU0VSVklDRV9VUkw7XG4gIH1cblxuICBjcmVhdGVDT0QocmVxdWVzdDogQ3JlYXRlQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0U3R1ZGVudENvZEhpc3RvcnkodG9rZW46IHN0cmluZywgc3R1ZGVudF9pZF9jYXJkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh7dG9rZW4sIHN0dWRlbnRfaWRfY2FyZH0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZEhpc3RvcnlBbGwodXNlclRva2VuOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9hbGwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHVzZXJUb2tlbik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUJ5Q291cnNlKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUJ5Q291cnNlRXhwb3J0KHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L2NvdXJzZS9leHBvcnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldERpc2NvdW50Q291cG9ucyhwYXJhbXM6IEdldERpc2NvdW50Q291cG9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9kaXNjb3VudC9jb3Vwb24vc2VhcmNoJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFByaWNlc0J5QWdyZWVtZW50KGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb2QvcHJpY2VzL2J5L2FncmVlbWVudC8nICsgY29kZTtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhjb2RlKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFBhcmVudEJ5Q29kZShwYXJhbXM6IFBhcmVudEJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3BhcmVudC9ieS9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFkaWNJbmZvQnlDb2RlKHBhcmFtczogQWRpY0luZm9CeUNvZGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9hZGl0aW9uYWxpbmZvL2J5L2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RnVsbERhdGFDb2RCeVN0dWRlbnQocGFyYW1zOiBGdWxsRGF0YUNPRFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZnVsbC9kYXRhL2NvZC9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEZ1bGxEYXRhQ29kQnlTdHVkZW50QW5kQ29kc0JlZm9yZShwYXJhbXM6IEZ1bGxEYXRhQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9mdWxsL2RhdGEvY29kL2J5L3N0dWRlbnQvYW5kL2NvZC9iZWZvcmUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kUHJpY2VzQnlBZ3JlZW1lbnRUeXBlUGF5bWVudChwYXJhbXM6IENvZFByaWNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb2QvcHJpY2VzL2J5L2FncmVlbWVudC9hbmQvdHlwZS9wYXltZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZEJ5QWR2YWlzZXIocGFyYW1zOiBVc2VyVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9ieS9hZHZhaXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RDb3Vyc2VzQnlBZHZpc29yKHBhcmFtczogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvY291cnNlcy9ieS9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZEJ5QWR2aXNvckFuZENvdXJzZShwYXJhbXM6IEdldENvZEJ5Q291cnNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2Qvc3R1ZGVudC9ieS9jb3Vyc2UvYW5kL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlR29hbChwYXJhbXM6IElHb2FsSW50ZXJmYWNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvbnRhY3Qvc3RyYXRlZ3kvY3JlYXRlL2dvYWwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsdGhpcy5odHRwT3B0aW9ucyk7XG4gICAgfVxuXG4gIGdldEFsbEdvYWxzKHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvbnRhY3Qvc3RyYXRlZ3kvdmlldy9nb2Fscyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModG9rZW4pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlRG9jdW1lbnQocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L21lZGlhL2RvY3VtZW50JztcbiAgICBsZXQgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBwYXJhbXMuZmlsZSk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCd1c2VyX2F1dG9yJywgcGFyYW1zLnVzZXJfYXV0b3IpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnY29kZV91c2VyJywgcGFyYW1zLmNvZGVfdXNlcik7XG4gICAgZm9ybURhdGEuYXBwZW5kKCd0eXBlX2RvY3VtZW50JywgcGFyYW1zLnR5cGVfZG9jdW1lbnQpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndG9rZW4nLCBwYXJhbXMudG9rZW4pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIGZvcm1EYXRhKTtcbiAgfVxuXG4gIGdldERvY3VtZW50c0J5U3R1ZGVudChwYXJhbXM6YW55KTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvbWVkaWEvZG9jdW1lbnQvdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZFN0dWRlbnRCeUNvZGVBZHZpc2VyKHBhcmFtczogSVJlcG9ydENvZEZvckFkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb2Qvc3R1ZGVudC9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIEV4cG9ydEZpbGVFeGNlbENvZEJ5QWR2aXNlcihwYXJhbXM6IElSZXBvcnRDb2RGb3JBZHZpc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2V4cG9ydC9leGNlbC9jb2Qvc3R1ZGVudC9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIE9idGFpblJlZmVycmFsc0J5VXNlcihwYXJhbXM6IElPYnRhaW5SZWZlcnNCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL3JlZmVycmFscy9ieS91c2VyL2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgICBnZXRQb3NpYmxlU3R1ZGVudHNBbGwocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9wb3NpYmxlL3N0dWRlbnRzL2FsbC9tb2RlbHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHBvc3RBc3NpZ25Qb3NpYmxlU3R1ZW50Rm9yVmFsdWUocGFyYW1zOiBJQXNzaWduUG9zaWJsZVN0dWRlbnRGb3JWYWx1ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wb3NpYmxlL3N0dWRlbnRzL3ZhbHVlL2Fzc2luZyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0Q29udGFjdHNCeUFkdmlzZXJDb21tZXJjaWFsKHBhcmFtczogSUdldENvbnRhY3RzYWR2aXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb250YWN0cy9tYXJrZXRpbmcvc3RyYXRlZ3kvYXNzaW5nL2J5L2FkdmlzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgT2J0YWluQ29kUHJpY2VzKHBhcmFtczogSU9idGFpbkNvZFByaWNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3ByaWNlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0Q3JlYXRlZFNvY2lhbE5ldG93cmtzKHBhcmFtczogSVNvY2lhbE5ldHdvcmtzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L25ldy9yZWdpc3Rlci9zb2NpYWwvbmV0d29yayc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0QXNzaWduaW5nQWR2aXNvckdvYWxzKHBhcmFtczogSUFzc2lnbmluZ0Fkdmlzb3JHb2Fsc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hc3NpZ25pbmcvYWR2aXNvcnkvZ29hbHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zT2J0YWluQWR2aXNvckdvYWxzKHBhcmFtczogSU9idGFpbkFsbENvdXJzZXdhbGxldCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2dvYWxzL2Fzc2lnbmVkL3RvL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdE9idGFpbk92ZXJhbEdvYWxBZHZpc28ocGFyYW1zOiBJT2J0YWluQWxsQ291cnNld2FsbGV0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vb3ZlcmFsL2dvYWwvb2YvYWR2aXNvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0T2J0YWluaW5mb0NvZEFjdHVhbGx5QnlVc2VyKHBhcmFtczogSWdldENvdXJzZXNGaW5pc2hBbmR1bmFzc2lnbmVkUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9pbmZvL2NvZC91c2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbmdMYXRlc0NvZEJ5U3R1ZGVudENvZGUgKGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvbGF0ZXN0L2NvZC9ieS9zdHVkZW50L2NvZGUvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgdXBkYXRlQ09EKHJlcXVlc3Q6IElVcGRhdGVDT0RScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdXBkYXRlL2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIG9idGFpbmNvZEN1cnJyZW50QW5kTGV2ZWxGdWxsRGF0YVJlbm92YXRpb25zKHJlcXVlc3Q6IElvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZnVsbC9kYXRhL2N1cnJlbnQvY29kL2J5L2NvZGUvc3R1ZGVudC9yZW5vdmF0aW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0ZGF0YUN1cnJlbnRDb2RCeVNUdWRlbnRDb2RlKHJlcXVlc3Q6IElvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2RhdGEvY3VycmVudC9kYXRhL2NvZC9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgdXBkYXRlQ29kQ3VycmVudEluT2JzZXJ2YXRpb25zUmVub3ZhdGlvbnMocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jaGFuZ2UvY29kL3N0YXR1cy9vYnNlcnZhdGlvbnMvcmVub3ZhdGlvbnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZFByZXZpdXNPclBsYWNlbWVudFRlc3RCeWNvZGUocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3JlZ2lzdGVyL3ByZXZpb3VzL29yL3BsYWNlbWVudC90ZXN0L2J5L3N0YXR1cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHVwZGF0ZUNvbnRyb2xTdGVwc0NvZFNlbGZNYW5hZ2VkKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2hhbmdlL3N0ZXAvZm9ybS9jb250cm9sL2NvZC9zZWxmL21hbmFnZWQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBPYnRhaW5Db2RQcmljZXNDb2RTZWxmTWFuYWdlZChwYXJhbXM6IElPYnRhaW5Db2RQcmljZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9zZWxmL21hbmFnZWQvcHJpY2VzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBjcmVhdGVDb2RTZWxmTWFuYWdlZChwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29kL3NlbGYvbWFuYWdlZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwcml6ZXNGb3JEdXJhdGlvbk9kQ29udGVzdCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICAncHJpemVzL2Zvci9kdXJhdGlvbi9vZi9jb250ZXN0JztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGNyZWF0ZVRpY2tldFJlZmVycmFsKHBhcmFtczogSUNyZWF0ZVRpY2tldFJlZmVycmFsUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdjcmVhdGUvY29udGVzdC9yZWdpc3RyYXRpb24vYnkvcmVmZXJyYWxlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gICAgb2J0YWluU3RhdHVzQW5kUmVmZXJyYWxzQnlVc2VyQ29kZShwYXJhbXM6IElPYnRhaW5SZWZlcnNCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9zdGF0dXMvYW5kL3JlZmVycmFscy9ieS91c2VyL2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2VzUG9zaWJsZVN0dWRlbnRBbGxGb3VyTW9kZWxzQnlEYXRlKHBhcmFtczogSUdldFBvc2libGVTdHVkZW50QnlEYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcG9zaWJsZS9zdHVkZW50cy9hbGwvZm91ci9tb2RlbHMvYnkvZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXNVc2VyQWR2aXNlckNvbW1lcmNpYWxCeVR5cGVBc3NpbmdDb250YWN0KHBhcmFtczogSUdldFVzZXJBZHZpc2VyQ29tbWVyY2lhbEJ5VHlwZUFzc2luZ0NvbnRhY3RzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvdXNlci9jb21tZXJjaWFsL2J5L3R5cGUvYXNzaW5nJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGFzc2luZ0N1c3RvbWVyc0J5VHlwZUFzc2luZ0NvbnRhY3RGb3JBZHZpc2VyKHBhcmFtczogQXNzaW5nQ3VzdG9tZXJzQnlUeXBlQXNzaW5nQ29udGFjdEZvckFkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvQXNzaW5nL3VzZXIvcG9zaWJsZS9zdHVkZW50L2J5L2RhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWRkaXRpb25hbFVzZXJEYXRhQnlDb3Vyc2UocGFyYW1zOiBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9hZGRpdGlvbmFsL3VzZXIvZGF0YS9ieS9jb3Vyc2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWxsUmVmZXJyYWxzQnlVc2VyKHBhcmFtczogSU9idGFpbkFsbFJlZmVycmFsc0J5VXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2FsbC9yZWZlcnJhbHMvYnkvdXNlci9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvZEluZm9ybWF0aW9uRm9yRXhwb3J0aW5nKHBhcmFtczogSUNvZFBheW1lbnRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvY29kL2luZm9ybWF0aW9uL2Zvci9leHBvcnRpbmcnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kQnlBZHZpc29yV2l0aFRoZWlyU3RhdGVzKHBhcmFtczogSUNvZFdpdGhUaGVpclN0YXRlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvZC9ieS9hZHZpc29yL3dpdGgvdGhlaXIvc3RhdGVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGV4dGVuZFRpbWVPZkFjY2VwdGFuY2VPZlRlcm1zKHBhcmFtczogSUV4dGVuZFRpbWVUZXJtc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZXh0ZW5kL3RpbWUvb2YvYWNjZXB0YW5jZS9vZi90ZXJtcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBuZXdUZXJtc0FuZENvbmRpdGlvbnNBY2NlcHRhbmNlVG9rZW4ocGFyYW1zOiBJTmV3VGVybXNBbmRDb25kUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICduZXcvdGVybXMvYW5kL2NvbmRpdGlvbnMvYWNjZXB0YW5jZS90b2tlbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVTdGF0dXNPZlRlcm1zQW5kQ29uZGl0aW9uc1JlY29yZHMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAndXBkYXRlL3N0YXR1cy9vZi90JmMvcmVjb3JkcycgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKG51bGwpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kQnlDb29kaW5hdG9yV2l0aFRoZWlyU3RhdGVzKHBhcmFtczogSUNvZFdpdGhUaGVpclN0YXRlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2NvZC9ieS9jb29kaW5hdG9lL3dpdGgvdGhlaXIvc3RhdGVzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkFsbEluZm9ybWF0aW9uQ29kQnlDb2RlKGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9hbGwvaW5mb3JtYXRpb24vY29kL2J5L2NvZGUvJyArIGNvZGU7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMoY29kZSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvcihwYXJhbXM6IElHZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3N1bW1hcnkvYnkvY29tbWVyY2lhbC9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFN0dWRlbnREZXRhaWxzQnlBZHZpc2VyKHJlcXVlc3Q6IElHZXRDb2RTdHVkZW50RGV0YWlsc0J5QWR2aXNlclJxLCBhZHZpc2VyQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvY29kL3N0dWRlbnQvZGV0YWlscy9ieS9hZHZpc2VyLyR7YWR2aXNlckNvZGV9YDtcbiAgICBjb25zdCBvcHRpb25zID0geyAuLi50aGlzLmh0dHBPcHRpb25zLCBwYXJhbXM6IHJlcXVlc3QgYXMgYW55IH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgb3B0aW9ucyk7XG4gIH1cblxuICBjcmVhdGVUeXBlUGF5bWVudChwYXJhbXM6IElDcmVhdGVUeXBlUGF5bWVudFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NyZWF0ZS90eXBlL3BheW1lbnQvY29tbWlzc2lvbnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsVHlwZVBheW1lbnRzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsL3R5cGUvcGF5bWVudC9jb21taXNzaW9ucyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuY3JlYXRlQ29tbWlzc2lvbkFyZWEocGFyYW1zOiBJQ3JlYXRlQ29tbWlzc2lvbkFyZWFScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL2NvbW1pc3Npb24vYXJlYSc7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxuICBnZXRBbGxDb21taXNzaW9uQXJlYXMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvY29tbWlzc2lvbi9hcmVhcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuYXNzaWduQ291cnNlVHlwZXNUb0FyZWEocGFyYW1zOiBJQXNzaWduQ291cnNlVHlwZXNUb0FyZWFScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvYXNzaWduL2NvdXJzZS10eXBlcy90by1hcmVhJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5jcmVhdGVQYXltZW50QXJlYUNvbW1pc3Npb24ocGFyYW1zOiBJQ3JlYXRlUGF5bWVudEFyZWFDb21taXNzaW9uUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NyZWF0ZS9wYXltZW50L2FyZWEvY29tbWlzc2lvbic7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxuICBnZXRDb21taXNzaW9uUnVsZXNCeUFyZWEocmVxdWVzdDogSVRva2VuUnEsIGFyZWFDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGdldC9jb21taXNzaW9uLXJ1bGVzL2J5LWFyZWEvJHthcmVhQ29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBjcmVhdGVUeXBlVXNlckNvbW1pc3Npb24ocGFyYW1zOiBJQ3JlYXRlVHlwZVVzZXJDb21taXNzaW9uUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY3JlYXRlL3R5cGUvdXNlci9jb21taXNzaW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbFR5cGVVc2VyQ29tbWlzc2lvbnMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvdHlwZS91c2VyL2NvbW1pc3Npb25zJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGFzc2lnbkNvbW1pc3Npb25Nb2RlbFRvVXNlcihwYXJhbXM6IElBc3NpZ25Db21taXNzaW9uTW9kZWxUb1VzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hc3NpZ24vbW9kZWwvdG8vdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBY3RpdmVDb21taXNzaW9uTW9kZWxGb3JVc2VyKHJlcXVlc3Q6IElUb2tlblJxLCB1c2VyQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvYWN0aXZlL21vZGVsL2Zvci91c2VyLyR7dXNlckNvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBheUNvbW1pc3Npb25zKHBhcmFtczogSVBheVNlbGVjdGVkQ29tbWlzc2lvbnNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY29tbWlzc2lvbnMvcGF5L2NvZHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHBhcmFtcywgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwYXlBZHZpc29yQm9udXNlcyhwYXJhbXM6IElQYXlBZHZpc29yQm9udXNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdjb21taXNzaW9ucy9wYXkvYm9udXNlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVQYXltZW50QXJlYUNvbW1pc3Npb24ocmVxdWVzdDogSVVwZGF0ZVBheW1lbnRBcmVhQ29tbWlzc2lvblJxLCBydWxlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBwdXQvcGF5bWVudC1hcmVhLWNvbW1pc3Npb24vJHtydWxlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHNlcnZpY2VVcmwsIHJlcXVlc3QsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5nZXRBbGxBcmVhc1dpdGhDb21taXNzaW9uUnVsZXMocmVxdWVzdDogSVRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsLWFyZWFzLXdpdGgtY29tbWlzc2lvbi1ydWxlcyc7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbn1cblxuZ2V0QWxsQ29uZGl0aW9ucyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9hbGwvY29tbWlzc2lvbi1jb25kaXRpb25zJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5nZXRBbGxBZ3JlZW1lbnRzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9hZ3JlZW1lbnRzJztcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5hZGRDb25kaXRpb25Ub1J1bGUocmVxdWVzdDogSUFkZENvbmRpdGlvblRvUnVsZVJxLCBydWxlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcG9zdC9hZGQvY29uZGl0aW9uL3RvLXJ1bGUvJHtydWxlQ29kZX1gO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5kZWxldGVDb25kaXRpb25Gcm9tUnVsZShyZXF1ZXN0OiBJVG9rZW5ScSwgY29uZGl0aW9uSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGRlbGV0ZS9ydWxlLWNvbmRpdGlvbi8ke2NvbmRpdGlvbklkfWA7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIGhlYWRlcnM6IHRoaXMuaHR0cE9wdGlvbnMuaGVhZGVycyxcbiAgICBwYXJhbXM6IHRoaXMuaHR0cE9wdGlvbnMucGFyYW1zXG4gIH07XG4gIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHNlcnZpY2VVcmwsIG9wdGlvbnMpO1xufVxuXG51cGRhdGVUeXBlUGF5bWVudChyZXF1ZXN0OiBJVXBkYXRlVHlwZVBheW1lbnRScSwgY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcHV0L3VwZGF0ZS90eXBlLXBheW1lbnQtY29tbWlzc2lvbi8ke2NvZGV9YDtcbiAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gIHJldHVybiB0aGlzLmh0dHAucHV0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xufVxuXG5kZWxldGVUeXBlUGF5bWVudChyZXF1ZXN0OiBJVG9rZW5ScSwgY29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgZGVsZXRlL3R5cGUtcGF5bWVudC1jb21taXNzaW9uLyR7Y29kZX1gO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICBoZWFkZXJzOiB0aGlzLmh0dHBPcHRpb25zLmhlYWRlcnMsXG4gICAgcGFyYW1zOiB0aGlzLmh0dHBPcHRpb25zLnBhcmFtc1xuICB9O1xuICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShzZXJ2aWNlVXJsLCBvcHRpb25zKTtcbn1cblxuZGVsZXRlUGF5bWVudEFyZWFDb21taXNzaW9uKHJlcXVlc3Q6IElUb2tlblJxLCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBkZWxldGUvcGF5bWVudC1hcmVhLWNvbW1pc3Npb24vJHtjb2RlfWA7XG4gIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIGhlYWRlcnM6IHRoaXMuaHR0cE9wdGlvbnMuaGVhZGVycyxcbiAgICBwYXJhbXM6IHRoaXMuaHR0cE9wdGlvbnMucGFyYW1zXG4gIH07XG4gIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHNlcnZpY2VVcmwsIG9wdGlvbnMpO1xufVxuXG4gIG9idGFpblByZWFzc2lnbmVkQ291cnNlc0FuZFN0dWRlbnRFbnJvbGxtZW50U3RhdHVzKGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9wcmVhc3NpZ25lZC9jb3Vyc2VzL3N0dWRlbnQvZW5yb2xsbWVudC9zdGF0dXMvJyArIGNvZGU7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMoY29kZSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cbiAgZGVsZXRlQ29uZGl0aW9uKHJlcXVlc3Q6IElUb2tlblJxLCBjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGRlbGV0ZS9jb21taXNzaW9uLWNvbmRpdGlvbi8ke2NvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgaGVhZGVyczogdGhpcy5odHRwT3B0aW9ucy5oZWFkZXJzLFxuICAgICAgcGFyYW1zOiB0aGlzLmh0dHBPcHRpb25zLnBhcmFtc1xuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoc2VydmljZVVybCwgb3B0aW9ucyk7XG4gIH1cblxuICByZW5ld1N0dWRlbnRzVG9OZXh0TGV2ZWwocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBwb3N0L2NvZC9hbmQvcmVuZXdhbC9ieS9jb3Vyc2VzYDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5QcmVhc3NpZ25lZENvdXJzZXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL3ByZWFzc2lnbmVkL2NvdXJzZXMnO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgIGZ1bGxEYXRhQ29kQnlTdHVkZW50Q291cnNlUHJlYXNzaWduZWQoY29kZV9zdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdmdWxsZGF0YS9jb2QvYnkvc3R1ZGVudC9jb3Vyc2UvcHJlYXNzaWduZWQvJyArIGNvZGVfc3R1ZGVudDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhjb2RlX3N0dWRlbnQpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgc2VhcmNoU3R1ZGVudEJ5SWRjYXJkQ291cnNlUHJlYXNzaWduZWQoaWRjYXJkX3N0dWRlbnQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3NlYXJjaC9zdHVkZW50L2J5L2lkY2FyZC9jb3Vyc2UvcHJlYXNzaWduZWQvJyArIGlkY2FyZF9zdHVkZW50O1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKGlkY2FyZF9zdHVkZW50KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGV4cG9ydFBvc2libGVTdHVkZW50QWxsRm91ck1vZGVsc0J5RGF0ZShwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9wb3NpYmxlL3N0dWRlbnRzL2FsbC9mb3VyL21vZGVscy9ieS9kYXRlL2Zvci9leHBvcnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsR29hbHNGb3JDb21taXNzaW9uTW9kZWxzKHJlcXVlc3Q6IElUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvaGVscGVycy9nb2Fscyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuXG4gIGdldFRlYW1CeU1hbmFnZXIocmVxdWVzdDogSVRva2VuUnEsIG1hbmFnZXJDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgYGdldC90ZWFtL2J5L21hbmFnZXIvJHttYW5hZ2VyQ29kZX1gO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cblxuICBhc3NpZ25TdWJvcmRpbmF0ZVRvTWFuYWdlcihwYXJhbXM6IElBc3NpZ25TdWJvcmRpbmF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3RlYW0vbWVtYmVyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBwYXJhbXMsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcmVtb3ZlU3Vib3JkaW5hdGVGcm9tTWFuYWdlcihwYXJhbXM6IElSZW1vdmVTdWJvcmRpbmF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdkZWxldGUvdGVhbS9tZW1iZXInO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAuLi50aGlzLmh0dHBPcHRpb25zLFxuICAgICAgYm9keTogeyBwYXJhbXMgfVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoc2VydmljZVVybCwgb3B0aW9ucyk7XG59XG5cbm1hc3NBc3NpZ25TdWJvcmRpbmF0ZXMocGFyYW1zOiBJQXNzaWduU3Vib3JkaW5hdGVzTWFzc2l2ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdGVhbS9tZW1iZXJzL21hc3NpdmUnO1xuICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG59XG5cbiAgZ2V0VXNlcnNGb3JDb21taXNzaW9uTWFuYWdlbWVudChyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3VzZXJzL2Zvci1tYW5hZ2VtZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbENvbW1pc3Npb25Db25jZXB0cyhyZXF1ZXN0OiBJVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9jb21taXNzaW9uL2NvbmNlcHRzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICB1cGRhdGVUeXBlVXNlckNvbW1pc3Npb24ocGFyYW1zOiBJVXBkYXRlVHlwZVVzZXJDb21taXNzaW9uUnEsIGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyBgcHV0L3VwZGF0ZS90eXBlL3VzZXIvY29tbWlzc2lvbi8ke2NvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0U3Vib3JkaW5hdGVzQnlNYW5hZ2VyKHJlcXVlc3Q6IElUb2tlblJxLCBtYW5hZ2VyQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArIGBnZXQvdGVhbS9ieS9tYW5hZ2VyLyR7bWFuYWdlckNvZGV9YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG59XG4iXX0=
@@ -4412,10 +4412,9 @@ class CommercialService extends IPTGeneralService {
4412
4412
  return this.http.delete(serviceUrl, options);
4413
4413
  }
4414
4414
  massAssignSubordinates(params) {
4415
- const serviceUrl = this.SERVICE_URL + 'post/team/members/massive'; // Nueva ruta API
4415
+ let serviceUrl = this.SERVICE_URL + 'post/team/members/massive';
4416
4416
  this.generateRequestParams(params);
4417
- // Enviamos el cuerpo (params) y las opciones (headers)
4418
- return this.http.post(serviceUrl, params, this.httpOptions);
4417
+ return this.http.post(serviceUrl, this.httpOptions);
4419
4418
  }
4420
4419
  getUsersForCommissionManagement(request) {
4421
4420
  const serviceUrl = this.SERVICE_URL + 'get/users/for-management';
@@ -8307,6 +8306,11 @@ class AcademicService extends IPTGeneralService {
8307
8306
  let serviceUrl = `${this.SERVICE_URL}obtain/course/status/by/code/${courseCode}`;
8308
8307
  return this.http.get(serviceUrl);
8309
8308
  }
8309
+ ObtainAttendanceForCodHistoryByStudent(param) {
8310
+ const serviceUrl = this.SERVICE_URL + 'post/attendance/all/cod/by/student';
8311
+ this.generateRequestParams(param);
8312
+ return this.http.post(serviceUrl, this.httpOptions);
8313
+ }
8310
8314
  }
8311
8315
  AcademicService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AcademicService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
8312
8316
  AcademicService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AcademicService, providedIn: 'root' });