{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\deviceManage\\components\\EquipmentManageDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\deviceManage\\components\\EquipmentManageDialog.vue","mtime":1731062408784},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgbGF0aXR1ZGUgZnJvbSAnQC9taXhpbnMvbGF0aXR1ZGUnDQppbXBvcnQgeyBFeHRlbmRQYXJhbXNNaXhpbiB9IGZyb20gJ0AvbWl4aW5zL2RldmljZUV4dGVuZC5qcycNCmltcG9ydCB1c2VyTWFuYWdlIGZyb20gJ0AvYXBpL2RldmljZS91c2VyTWFuYWdlLmpzJw0KaW1wb3J0IHJlc291cmNlTWFuYWdlIGZyb20gJ0AvYXBpL2RldmljZS9yZXNvdXJjZU1hbmFnZS5qcycNCmltcG9ydCBTcGFyZUNvbXBhbnkgZnJvbSAnQC9hcGkvZGV2aWNlL1NwYXJlTWFuYWdlLmpzJw0KaW1wb3J0IHV0aWxzIGZyb20gJ0AvaG90ZW50LXVpLXV0aWwuanMnDQppbXBvcnQgZGljdFV0aWxzIGZyb20gJ0AvY29tcG9uZW50cy9kaWN0L0RpY3RTZWxlY3RVdGlscy5qcycNCg0KZXhwb3J0IGRlZmF1bHQgew0KICAgIG5hbWU6ICdFcXVpcG1lbnRNYW5hZ2VNb2RhbCcsDQogICAgY29tcG9uZW50czoge30sDQogICAgbWl4aW5zOiBbRXh0ZW5kUGFyYW1zTWl4aW5dLA0KICAgIGRhdGEoKSB7DQogICAgICAgIHJldHVybiB7DQogICAgICAgICAgICB2aXNpYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIHRpdGxlOiAn5paw5aKeJywNCiAgICAgICAgICAgIGlzU2F2ZWQ6IGZhbHNlLA0KICAgICAgICAgICAgYWN0aXZlQ29sbGFwc2UxOiAnMScsDQogICAgICAgICAgICBwYXJhbXM6IHsNCiAgICAgICAgICAgICAgICAvLyBtZXRhRGF0YTogJycsDQogICAgICAgICAgICAgICAgaW1wb3J0YW50OiAnJywNCiAgICAgICAgICAgICAgICBsZXZlbDogJzEnLA0KICAgICAgICAgICAgICAgIG5hbWU6ICcnLA0KICAgICAgICAgICAgICAgIGNvZGU6ICcnLA0KICAgICAgICAgICAgICAgIG91dENvZGU6ICcnLA0KICAgICAgICAgICAgICAgIGlwOiAnJywNCiAgICAgICAgICAgICAgICBzdGF0dXM6ICcxJywNCiAgICAgICAgICAgICAgICBhZGRyZXNzOiAnJywNCiAgICAgICAgICAgICAgICBsZ3RkOiAnJywNCiAgICAgICAgICAgICAgICBsdHRkOiAnJywNCiAgICAgICAgICAgICAgICBtZW1vOiAnJywNCiAgICAgICAgICAgICAgICBhZGR2Y2Q6ICcnLA0KICAgICAgICAgICAgICAgIGFyZWFJZDogJycsDQogICAgICAgICAgICAgICAgcHJvZHVjdElkOiAnJywNCiAgICAgICAgICAgICAgICBzdXBwbGllckNvbXBhbnlJZDogJycsDQogICAgICAgICAgICAgICAgLy8gbWFuYWdlckNvbXBhbnlJZDogJycsDQogICAgICAgICAgICAgICAgbWFuYWdlclVzZXJJZDogJycsDQogICAgICAgICAgICAgICAgLy8gcmVwYWlyQ29tcGFueUlkOiAnJywNCiAgICAgICAgICAgICAgICByZXBhaXJVc2VySWQ6ICcnLA0KICAgICAgICAgICAgICAgIGdpc0FyZWE6ICcnLA0KICAgICAgICAgICAgICAgIGZsb29yOiAnJywNCiAgICAgICAgICAgICAgICBhZGRyZXNzVHlwZTogJycsDQogICAgICAgICAgICAgICAgbGlmZTogJycsDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZXh0ZW5kUGFyYW1zOiB7DQogICAgICAgICAgICAgICAgbmFtZTogJycsDQogICAgICAgICAgICAgICAgY29kZTogJycsDQogICAgICAgICAgICAgICAgaXNSZXF1aXJlZDogMCwNCiAgICAgICAgICAgICAgICBjdGxUeXBlOiAnaW5wdXQnLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbnN0cnVjdGlvblVuaXROYW1lT3B0OiBbDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5pS/5bqc6YOo6ZeoJywgdmFsdWU6ICfmlL/lupzpg6jpl6gnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5Zu95pyJ5LyB5LiaJywgdmFsdWU6ICflm73mnInkvIHkuJonIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5rCR6JCl5LyB5LiaJywgdmFsdWU6ICfmsJHokKXkvIHkuJonIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn56S+5Lya5YWs5YWxJywgdmFsdWU6ICfnpL7kvJrlhazlhbEnIH0sDQogICAgICAgICAgICBdLA0KICAgICAgICAgICAgYXBwbGljYXRpb25BcmVhT3B0OiBbDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5Lqk6YCa566h55CGJywgdmFsdWU6ICfkuqTpgJrnrqHnkIYnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5pWZ6IKy6KGM5LiaJywgdmFsdWU6ICfmlZnogrLooYzkuJonIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn6YeR6J6N6KGM5LiaJywgdmFsdWU6ICfph5Hono3ooYzkuJonIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5Y2r55Sf5YGl5bq3JywgdmFsdWU6ICfljavnlJ/lgaXlurcnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5Z+O5biC566h55CGJywgdmFsdWU6ICfln47luILnrqHnkIYnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5L2P5oi/5Z+O5LmhJywgdmFsdWU6ICfkvY/miL/ln47kuaEnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn6Ieq54S26LWE5rqQJywgdmFsdWU6ICfoh6rnhLbotYTmupAnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5ZWG5Lia5pyN5YqhJywgdmFsdWU6ICfllYbkuJrmnI3liqEnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5paH5YyW5peF5ri4JywgdmFsdWU6ICfmlofljJbml4XmuLgnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5bqU5oCl566h55CGJywgdmFsdWU6ICflupTmgKXnrqHnkIYnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5biC5Zy655uR566hJywgdmFsdWU6ICfluILlnLrnm5HnrqEnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn57uP5rWO5L+h5oGvJywgdmFsdWU6ICfnu4/mtY7kv6Hmga8nIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5rCR5pS/5pyN5YqhJywgdmFsdWU6ICfmsJHmlL/mnI3liqEnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn6YKu5pS/54mp5rWBJywgdmFsdWU6ICfpgq7mlL/nianmtYEnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5L2T6IKy6KGM5LiaJywgdmFsdWU6ICfkvZPogrLooYzkuJonIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5rCR5peP5a6X5pWZJywgdmFsdWU6ICfmsJHml4/lrpfmlZknIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5Y+45rOV566h55CGJywgdmFsdWU6ICflj7jms5XnrqHnkIYnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5Yac5Lia5rC05YipJywgdmFsdWU6ICflhpzkuJrmsLTliKknIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5py65p6E57uE57uHJywgdmFsdWU6ICfmnLrmnoTnu4Tnu4cnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn55Sf5oCB546v5L+dJywgdmFsdWU6ICfnlJ/mgIHnjq/kv50nIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5YW25LuW6KGM5LiaJywgdmFsdWU6ICflhbbku5booYzkuJonIH0sDQogICAgICAgICAgICBdLA0KICAgICAgICAgICAgZGV2aWNlU3RhdHVzT3B0aW9uczogWw0KICAgICAgICAgICAgICAgIHsgbmFtZTogJ+WPr+eUqCcsIHZhbHVlOiAn5Y+v55SoJyB9LA0KICAgICAgICAgICAgICAgIHsgbmFtZTogJ+S4jeWPr+eUqCcsIHZhbHVlOiAn5LiN5Y+v55SoJyB9LA0KICAgICAgICAgICAgXSwNCiAgICAgICAgICAgIG5ldHdvcmtUeXBlT3B0OiBbDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn6YOo6Zeo5LiT572RJywgdmFsdWU6ICfpg6jpl6jkuJPnvZEnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5YWs5a6J5LiT572RJywgdmFsdWU6ICflhazlronkuJPnvZEnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5pS/5Yqh5aSW572RJywgdmFsdWU6ICfmlL/liqHlpJbnvZEnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn5LqS6IGU572RJywgdmFsdWU6ICfkupLogZTnvZEnIH0sDQogICAgICAgICAgICAgICAgeyBuYW1lOiAn56e75Yqo572R77yINEfjgIE1R++8iScsIHZhbHVlOiAn56e75Yqo572R77yINEfjgIE1R++8iScgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICfml6DnvZHnu5wnLCB2YWx1ZTogJ+aXoOe9kee7nCcgfSwNCiAgICAgICAgICAgICAgICB7IG5hbWU6ICflhbbku5bnvZHnu5wnLCB2YWx1ZTogJ+WFtuS7lue9kee7nCcgfSwNCiAgICAgICAgICAgIF0sDQogICAgICAgICAgICBydWxlczogew0KICAgICAgICAgICAgICAgIG5hbWU6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl6K6+5aSH5ZCN56ewJywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgY29kZTogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXorr7lpIfnvJbnoIEnLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBzdGF0dXM6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl6K6+5aSH54q25oCBJywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgb3V0Q29kZTogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaVTTueggScsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIHByb2R1Y3RJZDogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fpgInmi6nmiYDlsZ7kuqflk4EnLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBsaWZlOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fpgInmi6nkvb/nlKjlubTpmZAnLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBhcmVhSWQ6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn6K+36YCJ5oup5omA5bGe5Yy65Z+fJywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgaW1wb3J0YW50OiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqemHjeeCueiuvuWkhycsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIGxldmVsOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeiuvuWkh+adg+mZkOe6p+WIqycsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIGNvbnN0cnVjdGlvblByb2plY3ROYW1lOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+W7uuiuvumhueebruWQjeensOS4jeiDveS4uuepuicsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIGNvbnN0cnVjdGlvblVuaXROYW1lOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+W7uuiuvuWNleS9jeexu+Wei+S4jeiDveS4uuepuicsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIHRlcm1pbmFsQmVsb25nVG9EZXB0OiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+e7iOerr+aJgOWxnumDqOmXqOS4jeiDveS4uuepuicsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uQXJlYTogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICflupTnlKjpoobln5/kuI3og73kuLrnqbonLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBpbnN0YWxsVGltZTogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn5a6J6KOF5pe26Ze05LiN6IO95Li656m6JywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgcmVnaW9uOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+aJgOWxnuWMuuS4jeiDveS4uuepuicsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIHN0cmVldDogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfmiYDlsZ7ooZfpgZPkuI3og73kuLrnqbonLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBjb21tdW5pdHk6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn5omA5bGe56S+5Yy65LiN6IO95Li656m6JywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgZGV2aWNlU3RhdHVzOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+WPr+eUqOeKtuaAgeS4jeiDveS4uuepuicsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIHNlbnNpdGl2ZUVxdWlwbWVudDogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfmmK/lkKbkuLrmlY/mhJ/orr7lpIfkuI3og73kuLrnqbonLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBuZXR3b3JrVHlwZTogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfnvZHnu5znsbvlnovkuI3og73kuLrnqbonLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBlcXVpcG1lbnRNYW51ZmFjdHVyZXI6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn6K6+5aSH5Y6C5ZWG5LiN6IO95Li656m6JywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgb3BlcmF0aW9uVW5pdDogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfov5Dnu7TljZXkvY3kuI3og73kuLrnqbonLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICBvcGVyYXRpb25Vbml0UGhvbmU6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn6L+Q57u05Y2V5L2N6IGU57O755S16K+d5LiN6IO95Li656m6JywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm46IC9eWzFdWzMsNCw1LDcsOCw5XVswLTldezl9JC8sDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl5q2j56Gu55qE5omL5py65Y+356CBJywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgc2hhcmVQcm9wZXJ0eTogWw0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICflhbHkuqvlsZ7mgKfkuI3og73kuLrnqbonLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICB0eXBlOiBbDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+iuvuWkh+exu+Wei+S4jeiDveS4uuepuicsDQogICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgIG1lYXN1cmVtZW50QWNjdXJhY3k6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn5rWL6YeP57K+5bqm5LiN6IO95Li656m6JywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgYXBwbGljYXRpb25TY2VuYXJpb3M6IFsNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAn5bqU55So5Zy65pmv5LiN6IO95Li656m6JywNCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZGV2aWNlU3RhdHVzOiBbXSwgLy8g6K6+5aSH54q25oCBDQogICAgICAgICAgICBVSVR5cGU6IFtdLCAvLyDmianlsZXlj4LmlbDmjqfku7bnsbvlnosNCiAgICAgICAgICAgIGFkZHJlc3NUeXBlTGlzdDogW10sIC8v5a6J6KOF5Zyw54K557G75Z6L5a2X5q615YiX6KGoDQogICAgICAgICAgICBmbG9vckxpc3Q6IFtdLCAvL+WuieijhealvOWxguWtl+auteWIl+ihqA0KICAgICAgICAgICAgUGVybWlzc2lvbkxldmVMaXN0OiBbXSwgLy/mnYPpmZDnuqfliKsNCiAgICAgICAgICAgIHN1cHBsaWVyRGF0YTogW10sIC8vIOS+m+W6lOWVhuaVsOaNrg0KICAgICAgICAgICAgbWFuYWdlckRhdGE6IFtdLCAvL+euoeeQhuWNleS9jeaVsOaNrg0KICAgICAgICAgICAgcmVwYWlyRGF0YTogW10sIC8v57u05oqk5Y2V5L2N5pWw5o2uDQogICAgICAgICAgICBwcm9kdWN0RGF0YTogW10sIC8vIOS6p+WTgeaVsOaNrg0KICAgICAgICAgICAgYXJlYU9wdGlvbnM6IFtdLCAvLyDljLrln5/mlbDmja4NCiAgICAgICAgICAgIGFkZHZjZE9wdGlvbnM6IFtdLCAvLyDooYzmlL/ljLrliJLmlbDmja4NCiAgICAgICAgICAgIG1hbmFnZXJVc2VyRGF0YTogW10sIC8v566h55CG5Lq65ZGY5pWw5o2uDQogICAgICAgICAgICByZXBhaXJVc2VyRGF0YTogW10sIC8v57u05oqk5Lq65ZGY5pWw5o2uDQogICAgICAgIH0NCiAgICB9LA0KICAgIGNyZWF0ZWQoKSB7DQogICAgICAgIHRoaXMuZGV2aWNlU3RhdHVzID0gZGljdFV0aWxzLmdldERpY3RJdGVtc0Zyb21DYWNoZSgnc2J6dCcpDQogICAgICAgIHRoaXMuYWRkcmVzc1R5cGVMaXN0ID0gZGljdFV0aWxzLmdldERpY3RJdGVtc0Zyb21DYWNoZSgnYXpkZGx4JykNCiAgICAgICAgdGhpcy5mbG9vckxpc3QgPSBkaWN0VXRpbHMuZ2V0RGljdEl0ZW1zRnJvbUNhY2hlKCdhemxjJykNCiAgICAgICAgdGhpcy5QZXJtaXNzaW9uTGV2ZUxpc3QgPSBkaWN0VXRpbHMuZ2V0RGljdEl0ZW1zRnJvbUNhY2hlKCdzYnF4amInKQ0KICAgICAgICB0aGlzLlVJVHlwZSA9IGRpY3RVdGlscy5nZXREaWN0SXRlbXNGcm9tQ2FjaGUoJ2tqbHgnKQ0KICAgICAgICB0aGlzLmxvYWRTdXBwbGllcigpDQogICAgICAgIHRoaXMubG9hZFVzZXIoKQ0KICAgICAgICB0aGlzLmxvYWRBcmVhKCkNCiAgICAgICAgdGhpcy5sb2FkQWRkdmNkKCkNCiAgICAgICAgdGhpcy5sb2FkUHJvZHVjdCgpDQogICAgfSwNCiAgICBtb3VudGVkKCkgeyB9LA0KICAgIG1ldGhvZHM6IHsNCiAgICAgICAgZm9ybWF0TnVtYmVyKGtleSkgew0KICAgICAgICAgICAgdGhpcy5wYXJhbXNba2V5XSA9IGxhdGl0dWRlLlRyZWVGb3VyKHRoaXMucGFyYW1zW2tleV0pDQogICAgICAgIH0sDQogICAgICAgIGxvYWRVc2VyKCkgew0KICAgICAgICAgICAgbGV0IGRhdGEgPSB7DQogICAgICAgICAgICAgICAgY29tcGFueVR5cGU6ICcxJywNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHRoaXMubWFuYWdlclVzZXJEYXRhID0gW10NCiAgICAgICAgICAgIHVzZXJNYW5hZ2UuQ29tcGFueVVzZXIoZGF0YSkudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgICAgICAgdGhpcy5tYW5hZ2VyVXNlckRhdGEgPSByZXMNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0sDQogICAgICAgIGxvYWRNYWludGFpblVzZXIoKSB7DQogICAgICAgICAgICBsZXQgZGF0YSA9IHsNCiAgICAgICAgICAgICAgICBjb21wYW55VHlwZTogJzMnLA0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdGhpcy5yZXBhaXJVc2VyRGF0YSA9IFtdDQogICAgICAgICAgICB1c2VyTWFuYWdlLkNvbXBhbnlVc2VyKGRhdGEpLnRoZW4oKHJlcykgPT4gew0KICAgICAgICAgICAgICAgIHRoaXMucmVwYWlyVXNlckRhdGEgPSByZXMNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0sDQogICAgICAgIGxvYWRTdXBwbGllcigpIHsNCiAgICAgICAgICAgIGxldCBwYXJhbXMgPSB7fQ0KICAgICAgICAgICAgU3BhcmVDb21wYW55LmZpbmRDb21wYW55TGlzdChwYXJhbXMsIChyZXMpID0+IHsNCiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IFtdDQogICAgICAgICAgICAgICAgdGhpcy5zdXBwbGllckRhdGEgPSBbXQ0KICAgICAgICAgICAgICAgIGRhdGEgPSByZXMNCiAgICAgICAgICAgICAgICBkYXRhLmZvckVhY2goKGl0ZW0pID0+IHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uY29tcGFueVR5cGUuaW5jbHVkZXMoJzQnKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdXBwbGllckRhdGEucHVzaChpdGVtKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0sDQogICAgICAgIGxvYWRQcm9kdWN0KCkgew0KICAgICAgICAgICAgcmVzb3VyY2VNYW5hZ2UuZ2V0UHJvZHVjdFRyZWUoe30sIChyZXMpID0+IHsNCiAgICAgICAgICAgICAgICBpZiAocmVzLnN0YXRlKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMucHJvZHVjdERhdGEgPSByZXMudmFsdWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KQ0KICAgICAgICB9LA0KICAgICAgICBsb2FkQXJlYSgpIHsNCiAgICAgICAgICAgIHJlc291cmNlTWFuYWdlLmxvYWRBcmVhVHJlZSgNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIGlkOiAnMCcsDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAocmVzKSA9PiB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuYXJlYU9wdGlvbnMgPSByZXMudmFsdWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICApDQogICAgICAgIH0sDQogICAgICAgIGxvYWRBZGR2Y2QoKSB7DQogICAgICAgICAgICByZXNvdXJjZU1hbmFnZS5sb2FkQWRtaW5BcmVhVHJlZSh7fSwgKHJlcykgPT4gew0KICAgICAgICAgICAgICAgIHRoaXMuYWRkdmNkT3B0aW9ucyA9IHJlcy52YWx1ZQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgaGFuZGxlQ2hhbmdlKHR5cGUpIHsNCiAgICAgICAgICAgIGlmICh0eXBlID09ICdyZXBhaXJVc2VySWQnKSB7DQogICAgICAgICAgICAgICAgbGV0IG5vZGVzID0gdGhpcy4kcmVmcy5jYXNjYWRlclJlcGFpci5nZXRDaGVja2VkTm9kZXMoKQ0KICAgICAgICAgICAgICAgIGlmIChub2RlcyAmJiBub2Rlcy5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMucGFyYW1zLnJlcGFpclVzZXJJZCA9IG5vZGVzWzBdLmRhdGEuaWQNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyUmVwYWlyLiRyZWZzLnBhbmVsLmNsZWFyQ2hlY2tlZE5vZGVzKCkNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlclJlcGFpci4kcmVmcy5wYW5lbC5jaGVja2VkVmFsdWUgPSBbXSAvLyDmuIXnqbrpgInkuK3lgLwNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlclJlcGFpci4kcmVmcy5wYW5lbC5hY3RpdmVQYXRoID0gW10gLy8g5riF6Zmk6auY5LquDQogICAgICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuY2FzY2FkZXJSZXBhaXIuJHJlZnMucGFuZWwuc3luY0FjdGl2ZVBhdGgoKSAvLyDliJ3lp4vljJbvvIjlj6rlsZXnpLrkuIDnuqfoioLngrnvvIkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAodHlwZSA9PSAnbWFuYWdlclVzZXJJZCcpIHsNCiAgICAgICAgICAgICAgICBsZXQgbm9kZXMgPSB0aGlzLiRyZWZzLmNhc2NhZGVyTWFuYWdlci5nZXRDaGVja2VkTm9kZXMoKQ0KICAgICAgICAgICAgICAgIGlmIChub2RlcyAmJiBub2Rlcy5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMucGFyYW1zLm1hbmFnZXJVc2VySWQgPSBub2Rlc1swXS5kYXRhLmlkDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlck1hbmFnZXIuJHJlZnMucGFuZWwuY2xlYXJDaGVja2VkTm9kZXMoKQ0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyTWFuYWdlci4kcmVmcy5wYW5lbC5jaGVja2VkVmFsdWUgPSBbXSAvLyDmuIXnqbrpgInkuK3lgLwNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlck1hbmFnZXIuJHJlZnMucGFuZWwuYWN0aXZlUGF0aCA9IFtdIC8vIOa4hemZpOmrmOS6rg0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyTWFuYWdlci4kcmVmcy5wYW5lbC5zeW5jQWN0aXZlUGF0aCgpIC8vIOWIneWni+WMlu+8iOWPquWxleekuuS4gOe6p+iKgueCue+8iQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmICh0eXBlID09ICdhcmVhSWQnKSB7DQogICAgICAgICAgICAgICAgbGV0IG5vZGVzID0gdGhpcy4kcmVmcy5jYXNjYWRlckFyZWEuZ2V0Q2hlY2tlZE5vZGVzKCkNCiAgICAgICAgICAgICAgICBpZiAobm9kZXMgJiYgbm9kZXMubGVuZ3RoID4gMCkgew0KICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmFtcy5hcmVhSWQgPSBub2Rlc1swXS5kYXRhLmlkDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlckFyZWEuJHJlZnMucGFuZWwuY2xlYXJDaGVja2VkTm9kZXMoKQ0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyQXJlYS4kcmVmcy5wYW5lbC5jaGVja2VkVmFsdWUgPSBbXSAvLyDmuIXnqbrpgInkuK3lgLwNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlckFyZWEuJHJlZnMucGFuZWwuYWN0aXZlUGF0aCA9IFtdIC8vIOa4hemZpOmrmOS6rg0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyQXJlYS4kcmVmcy5wYW5lbC5zeW5jQWN0aXZlUGF0aCgpIC8vIOWIneWni+WMlu+8iOWPquWxleekuuS4gOe6p+iKgueCue+8iQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmICh0eXBlID09ICdhZGR2Y2QnKSB7DQogICAgICAgICAgICAgICAgbGV0IG5vZGVzID0gdGhpcy4kcmVmcy5jYXNjYWRlckFkZHZjZC5nZXRDaGVja2VkTm9kZXMoKQ0KICAgICAgICAgICAgICAgIGlmIChub2RlcyAmJiBub2Rlcy5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMucGFyYW1zLmFkZHZjZCA9IG5vZGVzWzBdLmRhdGEuaWQNCiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5wYXJhbXMuYWRkdmNkKQ0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMuY2FzY2FkZXJBZGR2Y2QuJHJlZnMucGFuZWwuY2xlYXJDaGVja2VkTm9kZXMoKQ0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyQWRkdmNkLiRyZWZzLnBhbmVsLmNoZWNrZWRWYWx1ZSA9IFtdIC8vIOa4heepuumAieS4reWAvA0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLmNhc2NhZGVyQWRkdmNkLiRyZWZzLnBhbmVsLmFjdGl2ZVBhdGggPSBbXSAvLyDmuIXpmaTpq5jkuq4NCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy5jYXNjYWRlckFkZHZjZC4kcmVmcy5wYW5lbC5zeW5jQWN0aXZlUGF0aCgpIC8vIOWIneWni+WMlu+8iOWPquWxleekuuS4gOe6p+iKgueCue+8iQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgYWRkKCkgew0KICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZQ0KICAgICAgICAgICAgaWYgKHRoaXMuZGV2aWNlU3RhdHVzLmxlbmd0aCkgew0KICAgICAgICAgICAgICAgIHRoaXMucGFyYW1zLnN0YXR1cyA9IHRoaXMuZGV2aWNlU3RhdHVzWzFdLnZhbHVlDQogICAgICAgICAgICB9DQogICAgICAgICAgICB0aGlzLmxvYWRVc2VyKCkNCiAgICAgICAgICAgIHRoaXMubG9hZE1haW50YWluVXNlcigpDQogICAgICAgIH0sDQogICAgICAgIGFzeW5jIGNoYW5nZUV4dGVuZCh2YWwpIHsNCiAgICAgICAgICAgIGNvbnNvbGUubG9nKHZhbCwgJ3ZhbCcpDQogICAgICAgICAgICBpZiAodmFsLmxlbmd0aCkgew0KICAgICAgICAgICAgICAgIGxldCBhcnIgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHZhbCkpDQogICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRQcm9kdWN0UGFyYW1zKGFyci5wb3AoKSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgaGFuZGxlQ2xvc2UoKSB7DQogICAgICAgICAgICB0aGlzLnBhcmFtcyA9IHsNCiAgICAgICAgICAgICAgICBuYW1lOiAnJywNCiAgICAgICAgICAgICAgICBpbXBvcnRhbnQ6ICcnLA0KICAgICAgICAgICAgICAgIGNvZGU6ICcnLA0KICAgICAgICAgICAgICAgIG91dENvZGU6ICcnLA0KICAgICAgICAgICAgICAgIGlwOiAnJywNCiAgICAgICAgICAgICAgICBzdGF0dXM6ICcxJywNCiAgICAgICAgICAgICAgICBhZGRyZXNzOiAnJywNCiAgICAgICAgICAgICAgICBsZ3RkOiAnJywNCiAgICAgICAgICAgICAgICBsdHRkOiAnJywNCiAgICAgICAgICAgICAgICBsaWZlOiAnJywNCiAgICAgICAgICAgICAgICBtZW1vOiAnJywNCiAgICAgICAgICAgICAgICBhZGR2Y2Q6ICcnLA0KICAgICAgICAgICAgICAgIGFyZWFJZDogJycsDQogICAgICAgICAgICAgICAgcHJvZHVjdElkOiAnJywNCiAgICAgICAgICAgICAgICBzdXBwbGllckNvbXBhbnlJZDogJycsDQogICAgICAgICAgICAgICAgLy8gbWFuYWdlckNvbXBhbnlJZDogJycsDQogICAgICAgICAgICAgICAgbWFuYWdlclVzZXJJZDogJycsDQogICAgICAgICAgICAgICAgLy8gcmVwYWlyQ29tcGFueUlkOiAnJywNCiAgICAgICAgICAgICAgICByZXBhaXJVc2VySWQ6ICcnLA0KICAgICAgICAgICAgICAgIGdpc0FyZWE6ICcnLA0KICAgICAgICAgICAgICAgIGZsb29yOiAnJywNCiAgICAgICAgICAgICAgICBhZGRyZXNzVHlwZTogJycsDQogICAgICAgICAgICAgICAgZnVsbE5hbWU6ICcnLA0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdGhpcy5wcm9kdWN0UGFyYW1zID0gW10NCiAgICAgICAgICAgIHRoaXMudGl0bGUgPSAn5paw5aKeJw0KICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2UNCiAgICAgICAgICAgIHRoaXMuYWN0aXZlQ29sbGFwc2UxID0gJzEnDQogICAgICAgIH0sDQogICAgICAgIGhhbmRsZVNhdmUoKSB7DQogICAgICAgICAgICB0aGlzLmlzU2F2ZWQgPSB0cnVlDQogICAgICAgICAgICB0aGlzLmhhbmRsZUV4dGVuZFBhcmFtcygpDQogICAgICAgICAgICB0aGlzLiRyZWZzLmZvcm1JbmZvLnZhbGlkYXRlKCh2YWxpZCkgPT4gew0KICAgICAgICAgICAgICAgIGlmICh2YWxpZCkgew0KICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmFtcy5wcm9kdWN0SWQgPSB0aGlzLnBhcmFtcy5wcm9kdWN0SWQucG9wKCkNCiAgICAgICAgICAgICAgICAgICAgbGV0IHRlbXBEYXRhID0gdXRpbHMuZGVlcENsb25lKHRoaXMucGFyYW1zKQ0KICAgICAgICAgICAgICAgICAgICB0ZW1wRGF0YSA9IHRoaXMuaGFuZGxlRXh0ZW5kU2F2ZSh0ZW1wRGF0YSkNCiAgICAgICAgICAgICAgICAgICAgbGV0IG1ldGhvZA0KICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50aXRsZSA9PT0gJ+aWsOWinicpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCA9IHJlc291cmNlTWFuYWdlLmFkZERldmljZQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIG1ldGhvZCh0ZW1wRGF0YSwgKHJlc3BvbnNlKSA9PiB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRub3RpZnkoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMudGl0bGUgKyAn5oiQ5YqfJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDIwMDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUNsb3NlKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRwYXJlbnQubG9hZERhdGEoMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKHJlc3BvbnNlLm1lc3NhZ2UpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kbm90aWZ5KHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICd3YXJuaW5nJywNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICfor7flrozlloTooajljZXkv6Hmga/vvIEnLA0KICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDIwMDAsDQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICB9LA0KfQ0K"},null]}