{"remainingRequest":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\commandDispatch\\RoadNetworkReport\\components\\TablePage\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\commandDispatch\\RoadNetworkReport\\components\\TablePage\\index.vue","mtime":1752222859840},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\babel.config.js","mtime":1741314102158},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9yZWdlbmVyYXRvclJ1bnRpbWUuanMiOwppbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucmVkdWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5yZWR1Y2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5qc29uLnN0cmluZ2lmeS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnOwppbXBvcnQgU2VhcmNoQ29tbW9uIGZyb20gJ0AvY29tcG9uZW50cy9TZWFyY2hDb21tb24vaW5kZXgudnVlJzsgLy8g5byV5YWl5pCc57Si57uE5Lu2CmltcG9ydCBQdWJTdWIgZnJvbSAncHVic3ViLWpzJzsgLy8g5byV5YWl5LqL5Lu25Y+R5biDLeiuoumYheW6kwppbXBvcnQgeyBUYWJsZU1peGluIH0gZnJvbSAnQC9taXhpbnMvdGFibGVNaXhpbic7IC8vIOW8leWFpeihqOagvOa3t+WFpQppbXBvcnQgeyByZWZpbmVSZXF1ZXN0Qm9keSB9IGZyb20gJ0AvdXRpbHMvcmVxdWVzdFdyYXBwZXJzJzsgLy8g5byV5YWl6K+35rGC5aSE55CG5bel5YW35Ye95pWwCmltcG9ydCB7IGRpY3Rpb25hcnlFc2NhcGUgfSBmcm9tICdAL3V0aWxzL2RpY3Rpb25hcnknOyAvLyDlvJXlhaXlrZflhbjlpITnkIblt6Xlhbflh73mlbAKaW1wb3J0IGxlZnRMc2l0IGZyb20gJy4uL0xlZnRMaXN0JzsgLy8g5byV5YWl5bem5L6n5YiX6KGo57uE5Lu2CmltcG9ydCB7IGNsYXNzaWZ5RGF0YUluSnMgfSBmcm9tICcuLi8uLi9jbGFzc2lmeURhdGEnOyAvLyDlvJXlhaXliIbnsbvmlbDmja7lkozooajmoLzliJfphY3nva4KaW1wb3J0IHsgZ2V0VHJlZSwgdGhlUm9hZE5ldHdvcmtJc09wZXJhdGluZ0RheSwgdGhlUm9hZE5ldHdvcmtJc09wZXJhdGluZ01vbnRoIH0gZnJvbSAnQC9hcGkvcGF0cm9sQW5kUmVzY3VlL2NvbW1hbmREaXNwYXRjaC9yb2FkTmV0d29ya1JlcG9ydCc7CmltcG9ydCBwYWdpbmF0aW9uIGZyb20gJ0AvY29tcG9uZW50cy9TdXBlclBhZ2luYXRpb24vaW5kZXgudnVlJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdUYWJsZVBhZ2UnLAogIGNvbXBvbmVudHM6IHsKICAgIHBhZ2luYXRpb246IHBhZ2luYXRpb24sCiAgICBTZWFyY2hDb21tb246IFNlYXJjaENvbW1vbiwKICAgIGxlZnRMc2l0OiBsZWZ0THNpdAogIH0sCiAgbWl4aW5zOiBbVGFibGVNaXhpbl0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHRpbWVWYWx1ZTogW10sCiAgICAgIHR5cGVTaG93OiAnMScsCiAgICAgIGRvd25sb2FkTG9hZGluZzogZmFsc2UsCiAgICAgIHB1YlN1YjogbnVsbCwKICAgICAgdGFibGVNYXhIZWlnaHQ6ICc2MDBweCcsCiAgICAgIHRhYmxlTG9hZGluZzogdHJ1ZSwKICAgICAgYnRuTG9hZGluZzogZmFsc2UsCiAgICAgIHRhYmxlRGF0YTogW10sCiAgICAgIG9wdGlvbkxpc3Q6IFt7CiAgICAgICAgdGl0bGU6ICfmiYDlsZ7ot6/mrrUnLAogICAgICAgIHByb3A6ICdlaS5yb2FkX2lkXycsCiAgICAgICAgdHlwZTogJ3NlbGVjdCcsCiAgICAgICAgb3B0aW9uOiBbXSwKICAgICAgICBkZWZhdWx0OiB0cnVlCiAgICAgIH1dLAogICAgICBwYXJhbXM6IHsKICAgICAgICBwYWdlQmVhbjogewogICAgICAgICAgcGFnZVNpemU6IDIwLAogICAgICAgICAgcGFnZTogMSwKICAgICAgICAgIHRvdGFsOiAwCiAgICAgICAgfSwKICAgICAgICBxdWVyeXM6IFt7CiAgICAgICAgICBvcGVyYXRpb246ICdCRVRXRUVOJywKICAgICAgICAgIHByb3BlcnR5OiAnZWkuZXZlbnRfdGltZV8nLAogICAgICAgICAgdmFsdWU6IFtdCiAgICAgICAgfSwgewogICAgICAgICAgb3BlcmF0aW9uOiAnSU4nLAogICAgICAgICAgcHJvcGVydHk6ICdlaS5yb2FkX2lkXycKICAgICAgICB9XSwKICAgICAgICBzb3J0ZXI6IFtdCiAgICAgIH0sCiAgICAgIHN0YXRzQ2xhc3NpZnk6IFtdLAogICAgICB0YWJsZUNvbHVtbjogW10sCiAgICAgIGFnZ3JlZ2F0ZToge30KICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdmFyIF90aGlzID0gdGhpczsKICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgdmFyIF90aGlzJCRyZWZzJGNsYXNzaWZ5TDsKICAgICAgdmFyIHN0YXJ0T2ZNb250aCA9IG1vbWVudCgpLnN0YXJ0T2YoJ21vbnRoJykuZm9ybWF0KCdZWVlZLU1NLUREJyk7CiAgICAgIHZhciBlbmRPZk1vbnRoID0gbW9tZW50KCkuZW5kT2YoJ21vbnRoJykuZm9ybWF0KCdZWVlZLU1NLUREJyk7CiAgICAgIF90aGlzLnBhcmFtcy5xdWVyeXNbMF0udmFsdWUgPSBbc3RhcnRPZk1vbnRoLCBlbmRPZk1vbnRoXTsKICAgICAgX3RoaXMuZ2V0T3JnVHJlZURhdGEoKTsKICAgICAgX3RoaXMuc3RhdHNDbGFzc2lmeSA9IGNsYXNzaWZ5RGF0YUluSnMoKTsgLy8g5Yid5aeL5YyW5YiG57G75pWw5o2uCiAgICAgIF90aGlzLnR5cGVTaG93ID0gX3RoaXMuc3RhdHNDbGFzc2lmeVswXS50eXBlOwogICAgICAoX3RoaXMkJHJlZnMkY2xhc3NpZnlMID0gX3RoaXMuJHJlZnMuY2xhc3NpZnlMaXN0KSA9PT0gbnVsbCB8fCBfdGhpcyQkcmVmcyRjbGFzc2lmeUwgPT09IHZvaWQgMCB8fCBfdGhpcyQkcmVmcyRjbGFzc2lmeUwuY2xhc3NpZnlDaGFuZ2UoX3RoaXMuc3RhdHNDbGFzc2lmeVswXSk7IC8vIOinpuWPkeWIhuexu+WPmOabtOS6i+S7tgogICAgfSk7CiAgfSwKICAvLyDnu4Tku7bmjILovb3ml7bnmoTpkqnlrZDlh73mlbAKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICB0aGlzLnB1YlN1YiA9IFB1YlN1Yi5zdWJzY3JpYmUoJ1RhYmxlUGFnZScsIGZ1bmN0aW9uIChfLCBkYXRhKSB7CiAgICAgIHN3aXRjaCAoZGF0YS50eXBlKSB7CiAgICAgICAgY2FzZSAnYWRkJzoKICAgICAgICAgIF90aGlzMi5oYW5kbGVDdXJyZW50Q2hhbmdlKDEpOyAvLyDmt7vliqDmlbDmja7lkI7liLfmlrDnrKzkuIDpobUKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ2VkaXQnOgogICAgICAgICAgX3RoaXMyLmxvYWREYXRhKCk7IC8vIOe8lui+keaVsOaNruWQjuWIt+aWsOihqOagvAogICAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0pOwogIH0sCiAgLy8g57uE5Lu25pu05paw5YmN55qE6ZKp5a2Q5Ye95pWwCiAgYmVmb3JlVXBkYXRlOiBmdW5jdGlvbiBiZWZvcmVVcGRhdGUoKSB7CiAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgX3RoaXMzLiRyZWZzWydtdWx0aXBsZVNlbGVjdGlvbiddLmRvTGF5b3V0KCk7CiAgICB9KTsKICB9LAogIG1ldGhvZHM6IHsKICAgIC8v5a2X5YW4CiAgICBkaWN0aW9uYXJ5RXNjYXBlOiBkaWN0aW9uYXJ5RXNjYXBlLAogICAgZXhwb3J0RGF0YTogZnVuY3Rpb24gZXhwb3J0RGF0YSgpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZSgpIHsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfdGhpczQuZG93bmxvYWRMb2FkaW5nID0gdHJ1ZTsKICAgICAgICAgICAgICAvLyB0cnkgewogICAgICAgICAgICAgIC8vICAgYXdhaXQgZXhwb3J0RGF0YUZpbGUoKQogICAgICAgICAgICAgIC8vICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKGDmlbDmja7lr7zlh7rmiJDlip9gKQogICAgICAgICAgICAgIC8vIH0gZmluYWxseSB7CiAgICAgICAgICAgICAgLy8gICB0aGlzLmRvd25sb2FkTG9hZGluZyA9IGZhbHNlCiAgICAgICAgICAgICAgLy8gfQogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g6I635Y+W6Lev5q61CiAgICBnZXRPcmdUcmVlRGF0YTogZnVuY3Rpb24gZ2V0T3JnVHJlZURhdGEoKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUyKCkgewogICAgICAgIHZhciBfeWllbGQkZ2V0VHJlZSwgdmFsdWUsIGFycmF5OwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlMiQoX2NvbnRleHQyKSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDIucHJldiA9IF9jb250ZXh0Mi5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDI7CiAgICAgICAgICAgICAgcmV0dXJuIGdldFRyZWUoKTsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgIF95aWVsZCRnZXRUcmVlID0gX2NvbnRleHQyLnNlbnQ7CiAgICAgICAgICAgICAgdmFsdWUgPSBfeWllbGQkZ2V0VHJlZS52YWx1ZTsKICAgICAgICAgICAgICBhcnJheSA9IHZhbHVlLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBpdGVtKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gYWNjLmNvbmNhdChpdGVtLnJvYWRMaXN0KTsKICAgICAgICAgICAgICB9LCBbXSk7CiAgICAgICAgICAgICAgX3RoaXM1Lm9wdGlvbkxpc3RbMF0ub3B0aW9uID0gYXJyYXkubWFwKGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgICAgICAgICAgICAgcmV0dXJuIF9vYmplY3RTcHJlYWQoewogICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5pZAogICAgICAgICAgICAgICAgfSwgaXRlbSk7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGNhc2UgNjoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMik7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIHRpbWVDaGFuZ2U6IGZ1bmN0aW9uIHRpbWVDaGFuZ2UoKSB7CiAgICAgIHRoaXMubG9hZERhdGEoKTsKICAgIH0sCiAgICAvLyDliIbnsbvlj5jmm7TlpITnkIbmlrnms5UKICAgIGNsYXNzaWZ5Q2hhbmdlOiBmdW5jdGlvbiBjbGFzc2lmeUNoYW5nZShpdGVtKSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwogICAgICB0aGlzLnBhcmFtcy5wYWdlQmVhbi5wYWdlID0gMTsKICAgICAgdGhpcy5wYXJhbXMucGFnZUJlYW4ucGFnZVNpemUgPSAyMDsKICAgICAgdGhpcy5wYXJhbXMucGFnZUJlYW4udG90YWwgPSAwOwogICAgICB0aGlzLnR5cGVTaG93ID0gaXRlbS50eXBlOwogICAgICB0aGlzLmxvYWREYXRhKCk7CiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczYuJHJlZnNbJ211bHRpcGxlU2VsZWN0aW9uJ10uZG9MYXlvdXQoKTsKICAgICAgfSk7CiAgICB9LAogICAgY2hlY2tSb3dJbmRleDogZnVuY3Rpb24gY2hlY2tSb3dJbmRleChfcmVmKSB7CiAgICAgIHZhciBfdGhpczcgPSB0aGlzOwogICAgICB2YXIgcm93ID0gX3JlZi5yb3csCiAgICAgICAgcm93SW5kZXggPSBfcmVmLnJvd0luZGV4OwogICAgICAvLyDnm5HlkKzooYzntKLlvJXvvIzmiYvliqjlpITnkIblkIjlubYKICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgIHZhciB0YWJsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNmaXhSb3dJbmRleFRhYmxlJyk7CiAgICAgICAgaWYgKHRhYmxlICYmIHJvd0luZGV4ID09PSBfdGhpczcudGFibGVEYXRhLmxlbmd0aCAtIDEpIHsKICAgICAgICAgIHZhciBsYXN0Um93ID0gdGFibGUucXVlcnlTZWxlY3RvcignLmVsLXRhYmxlX19mb290ZXItd3JhcHBlciB0cicpOwogICAgICAgICAgaWYgKGxhc3RSb3cpIHsKICAgICAgICAgICAgbGFzdFJvdy5jZWxsc1swXS5jb2xTcGFuID0gMzsKICAgICAgICAgICAgbGFzdFJvdy5jZWxsc1sxXS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICBsYXN0Um93LmNlbGxzWzJdLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBnZXRTdW1tYXJpZXM6IGZ1bmN0aW9uIGdldFN1bW1hcmllcyhwYXJhbSkgewogICAgICBpZiAodGhpcy5hZ2dyZWdhdGUgJiYgSlNPTi5zdHJpbmdpZnkodGhpcy5hZ2dyZWdhdGUpICE9PSAne30nKSB7CiAgICAgICAgdmFyIF90aGlzJGFnZ3JlZ2F0ZSA9IHRoaXMuYWdncmVnYXRlLAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJG91dFR1ID0gX3RoaXMkYWdncmVnYXRlLm91dFR1bm5lbE51bSwKICAgICAgICAgIG91dFR1bm5lbE51bSA9IF90aGlzJGFnZ3JlZ2F0ZSRvdXRUdSA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJG91dFR1LAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJG91dFR1MiA9IF90aGlzJGFnZ3JlZ2F0ZS5vdXRUdW5uZWxIYW5kVGltZSwKICAgICAgICAgIG91dFR1bm5lbEhhbmRUaW1lID0gX3RoaXMkYWdncmVnYXRlJG91dFR1MiA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJG91dFR1MiwKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSRpblR1biA9IF90aGlzJGFnZ3JlZ2F0ZS5pblR1bm5lbE51bSwKICAgICAgICAgIGluVHVubmVsTnVtID0gX3RoaXMkYWdncmVnYXRlJGluVHVuID09PSB2b2lkIDAgPyAnLScgOiBfdGhpcyRhZ2dyZWdhdGUkaW5UdW4sCiAgICAgICAgICBfdGhpcyRhZ2dyZWdhdGUkaW5UdW4yID0gX3RoaXMkYWdncmVnYXRlLmluVHVubmVsSGFuZFRpbWUsCiAgICAgICAgICBpblR1bm5lbEhhbmRUaW1lID0gX3RoaXMkYWdncmVnYXRlJGluVHVuMiA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJGluVHVuMiwKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSR0ZkNyayA9IF90aGlzJGFnZ3JlZ2F0ZS50ZkNya2ZiTnVtLAogICAgICAgICAgdGZDcmtmYk51bSA9IF90aGlzJGFnZ3JlZ2F0ZSR0ZkNyayA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJHRmQ3JrLAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJGpoeENyID0gX3RoaXMkYWdncmVnYXRlLmpoeENya2ZiTnVtLAogICAgICAgICAgamh4Q3JrZmJOdW0gPSBfdGhpcyRhZ2dyZWdhdGUkamh4Q3IgPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSRqaHhDciwKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSRzbW9vdCA9IF90aGlzJGFnZ3JlZ2F0ZS5zbW9vdGhSYXRlLAogICAgICAgICAgc21vb3RoUmF0ZSA9IF90aGlzJGFnZ3JlZ2F0ZSRzbW9vdCA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJHNtb290LAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJG1lYXN1ID0gX3RoaXMkYWdncmVnYXRlLm1lYXN1cmVNaWxlYWdlLAogICAgICAgICAgbWVhc3VyZU1pbGVhZ2UgPSBfdGhpcyRhZ2dyZWdhdGUkbWVhc3UgPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSRtZWFzdSwKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSRmb2dOdSA9IF90aGlzJGFnZ3JlZ2F0ZS5mb2dOdW0sCiAgICAgICAgICBmb2dOdW0gPSBfdGhpcyRhZ2dyZWdhdGUkZm9nTnUgPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSRmb2dOdSwKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSRyYWluTiA9IF90aGlzJGFnZ3JlZ2F0ZS5yYWluTnVtLAogICAgICAgICAgcmFpbk51bSA9IF90aGlzJGFnZ3JlZ2F0ZSRyYWluTiA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJHJhaW5OLAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJHNub3dOID0gX3RoaXMkYWdncmVnYXRlLnNub3dOdW0sCiAgICAgICAgICBzbm93TnVtID0gX3RoaXMkYWdncmVnYXRlJHNub3dOID09PSB2b2lkIDAgPyAnLScgOiBfdGhpcyRhZ2dyZWdhdGUkc25vd04sCiAgICAgICAgICBfdGhpcyRhZ2dyZWdhdGUkaWNpbmcgPSBfdGhpcyRhZ2dyZWdhdGUuaWNpbmdOdW0sCiAgICAgICAgICBpY2luZ051bSA9IF90aGlzJGFnZ3JlZ2F0ZSRpY2luZyA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJGljaW5nLAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJG90Um9hID0gX3RoaXMkYWdncmVnYXRlLm90Um9hZE51bSwKICAgICAgICAgIG90Um9hZE51bSA9IF90aGlzJGFnZ3JlZ2F0ZSRvdFJvYSA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJG90Um9hLAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJHRyYWZmID0gX3RoaXMkYWdncmVnYXRlLnRyYWZmaWNOdW0sCiAgICAgICAgICB0cmFmZmljTnVtID0gX3RoaXMkYWdncmVnYXRlJHRyYWZmID09PSB2b2lkIDAgPyAnLScgOiBfdGhpcyRhZ2dyZWdhdGUkdHJhZmYsCiAgICAgICAgICBfdGhpcyRhZ2dyZWdhdGUkYWRkcmUgPSBfdGhpcyRhZ2dyZWdhdGUuYWRkcmVzc0Rpc2FzdGVyTnVtLAogICAgICAgICAgYWRkcmVzc0Rpc2FzdGVyTnVtID0gX3RoaXMkYWdncmVnYXRlJGFkZHJlID09PSB2b2lkIDAgPyAnLScgOiBfdGhpcyRhZ2dyZWdhdGUkYWRkcmUsCiAgICAgICAgICBfdGhpcyRhZ2dyZWdhdGUkcG93ZXIgPSBfdGhpcyRhZ2dyZWdhdGUucG93ZXJOdW0sCiAgICAgICAgICBwb3dlck51bSA9IF90aGlzJGFnZ3JlZ2F0ZSRwb3dlciA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJHBvd2VyLAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJHRmT3RoID0gX3RoaXMkYWdncmVnYXRlLnRmT3RoZXJOdW0sCiAgICAgICAgICB0Zk90aGVyTnVtID0gX3RoaXMkYWdncmVnYXRlJHRmT3RoID09PSB2b2lkIDAgPyAnLScgOiBfdGhpcyRhZ2dyZWdhdGUkdGZPdGgsCiAgICAgICAgICBfdGhpcyRhZ2dyZWdhdGUkdGZaZE4gPSBfdGhpcyRhZ2dyZWdhdGUudGZaZE51bSwKICAgICAgICAgIHRmWmROdW0gPSBfdGhpcyRhZ2dyZWdhdGUkdGZaZE4gPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSR0ZlpkTiwKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSR0ZkRkcyA9IF90aGlzJGFnZ3JlZ2F0ZS50ZkRkc3ROdW0sCiAgICAgICAgICB0ZkRkc3ROdW0gPSBfdGhpcyRhZ2dyZWdhdGUkdGZEZHMgPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSR0ZkRkcywKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSR0ZkJmZiA9IF90aGlzJGFnZ3JlZ2F0ZS50ZkJmZmJOdW0sCiAgICAgICAgICB0ZkJmZmJOdW0gPSBfdGhpcyRhZ2dyZWdhdGUkdGZCZmYgPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSR0ZkJmZiwKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSR0ZlFmZiA9IF90aGlzJGFnZ3JlZ2F0ZS50ZlFmZmJOdW0sCiAgICAgICAgICB0ZlFmZmJOdW0gPSBfdGhpcyRhZ2dyZWdhdGUkdGZRZmYgPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSR0ZlFmZiwKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSR0ZlJrZiA9IF90aGlzJGFnZ3JlZ2F0ZS50ZlJrZmJOdW0sCiAgICAgICAgICB0ZlJrZmJOdW0gPSBfdGhpcyRhZ2dyZWdhdGUkdGZSa2YgPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSR0ZlJrZiwKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSR0ZlJrYyA9IF90aGlzJGFnZ3JlZ2F0ZS50ZlJrY2RmYk51bSwKICAgICAgICAgIHRmUmtjZGZiTnVtID0gX3RoaXMkYWdncmVnYXRlJHRmUmtjID09PSB2b2lkIDAgPyAnLScgOiBfdGhpcyRhZ2dyZWdhdGUkdGZSa2MsCiAgICAgICAgICBfdGhpcyRhZ2dyZWdhdGUkdGZSa2MyID0gX3RoaXMkYWdncmVnYXRlLnRmUmtjZHhsTnVtLAogICAgICAgICAgdGZSa2NkeGxOdW0gPSBfdGhpcyRhZ2dyZWdhdGUkdGZSa2MyID09PSB2b2lkIDAgPyAnLScgOiBfdGhpcyRhZ2dyZWdhdGUkdGZSa2MyLAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJHRmQ2tmID0gX3RoaXMkYWdncmVnYXRlLnRmQ2tmYk51bSwKICAgICAgICAgIHRmQ2tmYk51bSA9IF90aGlzJGFnZ3JlZ2F0ZSR0ZkNrZiA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJHRmQ2tmLAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJHRmQ2tjID0gX3RoaXMkYWdncmVnYXRlLnRmQ2tjZGZiTnVtLAogICAgICAgICAgdGZDa2NkZmJOdW0gPSBfdGhpcyRhZ2dyZWdhdGUkdGZDa2MgPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSR0ZkNrYywKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSR0ZkNrYzIgPSBfdGhpcyRhZ2dyZWdhdGUudGZDa2NkeGxOdW0sCiAgICAgICAgICB0ZkNrY2R4bE51bSA9IF90aGlzJGFnZ3JlZ2F0ZSR0ZkNrYzIgPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSR0ZkNrYzIsCiAgICAgICAgICBfdGhpcyRhZ2dyZWdhdGUkZHV0eUMgPSBfdGhpcyRhZ2dyZWdhdGUuZHV0eUNvbnRyb2xOdW0sCiAgICAgICAgICBkdXR5Q29udHJvbE51bSA9IF90aGlzJGFnZ3JlZ2F0ZSRkdXR5QyA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJGR1dHlDLAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJGNvbnN0ID0gX3RoaXMkYWdncmVnYXRlLmNvbnN0cnVjdGlvbk51bSwKICAgICAgICAgIGNvbnN0cnVjdGlvbk51bSA9IF90aGlzJGFnZ3JlZ2F0ZSRjb25zdCA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJGNvbnN0LAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJGpoeE90ID0gX3RoaXMkYWdncmVnYXRlLmpoeE90aGVyTnVtLAogICAgICAgICAgamh4T3RoZXJOdW0gPSBfdGhpcyRhZ2dyZWdhdGUkamh4T3QgPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSRqaHhPdCwKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSRqaHhaZCA9IF90aGlzJGFnZ3JlZ2F0ZS5qaHhaZE51bSwKICAgICAgICAgIGpoeFpkTnVtID0gX3RoaXMkYWdncmVnYXRlJGpoeFpkID09PSB2b2lkIDAgPyAnLScgOiBfdGhpcyRhZ2dyZWdhdGUkamh4WmQsCiAgICAgICAgICBfdGhpcyRhZ2dyZWdhdGUkamh4RGQgPSBfdGhpcyRhZ2dyZWdhdGUuamh4RGRzdE51bSwKICAgICAgICAgIGpoeERkc3ROdW0gPSBfdGhpcyRhZ2dyZWdhdGUkamh4RGQgPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSRqaHhEZCwKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSRqaHhCZiA9IF90aGlzJGFnZ3JlZ2F0ZS5qaHhCZmZiTnVtLAogICAgICAgICAgamh4QmZmYk51bSA9IF90aGlzJGFnZ3JlZ2F0ZSRqaHhCZiA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJGpoeEJmLAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJGpoeFFmID0gX3RoaXMkYWdncmVnYXRlLmpoeFFmZmJOdW0sCiAgICAgICAgICBqaHhRZmZiTnVtID0gX3RoaXMkYWdncmVnYXRlJGpoeFFmID09PSB2b2lkIDAgPyAnLScgOiBfdGhpcyRhZ2dyZWdhdGUkamh4UWYsCiAgICAgICAgICBfdGhpcyRhZ2dyZWdhdGUkamh4UmsgPSBfdGhpcyRhZ2dyZWdhdGUuamh4UmtmYk51bSwKICAgICAgICAgIGpoeFJrZmJOdW0gPSBfdGhpcyRhZ2dyZWdhdGUkamh4UmsgPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSRqaHhSaywKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSRqaHhSazIgPSBfdGhpcyRhZ2dyZWdhdGUuamh4UmtjZGZiTnVtLAogICAgICAgICAgamh4UmtjZGZiTnVtID0gX3RoaXMkYWdncmVnYXRlJGpoeFJrMiA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJGpoeFJrMiwKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSRqaHhSazMgPSBfdGhpcyRhZ2dyZWdhdGUuamh4UmtjZHhsTnVtLAogICAgICAgICAgamh4UmtjZHhsTnVtID0gX3RoaXMkYWdncmVnYXRlJGpoeFJrMyA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJGpoeFJrMywKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSRqaHhDayA9IF90aGlzJGFnZ3JlZ2F0ZS5qaHhDa2ZiTnVtLAogICAgICAgICAgamh4Q2tmYk51bSA9IF90aGlzJGFnZ3JlZ2F0ZSRqaHhDayA9PT0gdm9pZCAwID8gJy0nIDogX3RoaXMkYWdncmVnYXRlJGpoeENrLAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJGpoeENrMiA9IF90aGlzJGFnZ3JlZ2F0ZS5qaHhDa2NkZmJOdW0sCiAgICAgICAgICBqaHhDa2NkZmJOdW0gPSBfdGhpcyRhZ2dyZWdhdGUkamh4Q2syID09PSB2b2lkIDAgPyAnLScgOiBfdGhpcyRhZ2dyZWdhdGUkamh4Q2syLAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJGpoeENrMyA9IF90aGlzJGFnZ3JlZ2F0ZS5qaHhDa2NkeGxOdW0sCiAgICAgICAgICBqaHhDa2NkeGxOdW0gPSBfdGhpcyRhZ2dyZWdhdGUkamh4Q2szID09PSB2b2lkIDAgPyAnLScgOiBfdGhpcyRhZ2dyZWdhdGUkamh4Q2szLAogICAgICAgICAgX3RoaXMkYWdncmVnYXRlJGh1cnRVID0gX3RoaXMkYWdncmVnYXRlLmh1cnRVc2VyTnVtLAogICAgICAgICAgaHVydFVzZXJOdW0gPSBfdGhpcyRhZ2dyZWdhdGUkaHVydFUgPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSRodXJ0VSwKICAgICAgICAgIF90aGlzJGFnZ3JlZ2F0ZSRkZWFkVSA9IF90aGlzJGFnZ3JlZ2F0ZS5kZWFkVXNlck51bSwKICAgICAgICAgIGRlYWRVc2VyTnVtID0gX3RoaXMkYWdncmVnYXRlJGRlYWRVID09PSB2b2lkIDAgPyAnLScgOiBfdGhpcyRhZ2dyZWdhdGUkZGVhZFUsCiAgICAgICAgICBfdGhpcyRhZ2dyZWdhdGUkbWVhc3UyID0gX3RoaXMkYWdncmVnYXRlLm1lYXN1cmVReiwKICAgICAgICAgIG1lYXN1cmVReiA9IF90aGlzJGFnZ3JlZ2F0ZSRtZWFzdTIgPT09IHZvaWQgMCA/ICctJyA6IF90aGlzJGFnZ3JlZ2F0ZSRtZWFzdTI7CiAgICAgICAgcmV0dXJuIFsn5ZCI6K6hJywgJycsICcnLCBtZWFzdXJlTWlsZWFnZSwgJy0nLCBmb2dOdW0sIHJhaW5OdW0sIHNub3dOdW0sIGljaW5nTnVtLCBvdXRUdW5uZWxOdW0sIG91dFR1bm5lbEhhbmRUaW1lLCBpblR1bm5lbE51bSwgaW5UdW5uZWxIYW5kVGltZSwgb3RSb2FkTnVtLCB0cmFmZmljTnVtLCBhZGRyZXNzRGlzYXN0ZXJOdW0sIHBvd2VyTnVtLCB0Zk90aGVyTnVtLCB0ZlpkTnVtLCB0ZkRkc3ROdW0sIHRmQmZmYk51bSwgdGZRZmZiTnVtLCB0ZlJrZmJOdW0sIHRmUmtjZGZiTnVtLCB0ZlJrY2R4bE51bSwgdGZDa2ZiTnVtLCB0ZkNrY2RmYk51bSwgdGZDa2NkeGxOdW0sIHRmQ3JrZmJOdW0sIGR1dHlDb250cm9sTnVtLCBjb25zdHJ1Y3Rpb25OdW0sIGpoeE90aGVyTnVtLCBqaHhaZE51bSwgamh4RGRzdE51bSwgamh4QmZmYk51bSwgamh4UWZmYk51bSwgamh4UmtmYk51bSwgamh4UmtjZGZiTnVtLCBqaHhSa2NkeGxOdW0sIGpoeENrZmJOdW0sIGpoeENrY2RmYk51bSwgamh4Q2tjZHhsTnVtLCBqaHhDcmtmYk51bSwgbWVhc3VyZVF6LCBzbW9vdGhSYXRlLCBodXJ0VXNlck51bSwgZGVhZFVzZXJOdW1dOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBbXTsKICAgICAgfQogICAgfSwKICAgIC8v6I635Y+W5pWw5o2uCiAgICBsb2FkRGF0YTogZnVuY3Rpb24gbG9hZERhdGEoKSB7CiAgICAgIHZhciBfdGhpczggPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUzKCkgewogICAgICAgIHZhciBfeWllbGQkdGhlUm9hZE5ldHdvcmssIF95aWVsZCR0aGVSb2FkTmV0d29yazIsIHJvd3MsIHRvdGFsLCBwYWdlU2l6ZSwgX3lpZWxkJHRoZVJvYWROZXR3b3JrMywgX3lpZWxkJHRoZVJvYWROZXR3b3JrNCwgdmFsdWU7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUzJChfY29udGV4dDMpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0My5wcmV2ID0gX2NvbnRleHQzLm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF90aGlzOC50YWJsZURhdGEgPSBbXTsKICAgICAgICAgICAgICBfY29udGV4dDMucHJldiA9IDE7CiAgICAgICAgICAgICAgX3RoaXM4LnRhYmxlTG9hZGluZyA9IHRydWU7CiAgICAgICAgICAgICAgaWYgKCEoX3RoaXM4LnR5cGVTaG93ID09PSAndGhlUm9hZE5ldHdvcmtJc09wZXJhdGluZ0RheScpKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDE2OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF9jb250ZXh0My5uZXh0ID0gNjsKICAgICAgICAgICAgICByZXR1cm4gdGhlUm9hZE5ldHdvcmtJc09wZXJhdGluZ0RheShyZWZpbmVSZXF1ZXN0Qm9keShfdGhpczgucGFyYW1zKSk7CiAgICAgICAgICAgIGNhc2UgNjoKICAgICAgICAgICAgICBfeWllbGQkdGhlUm9hZE5ldHdvcmsgPSBfY29udGV4dDMuc2VudDsKICAgICAgICAgICAgICBfeWllbGQkdGhlUm9hZE5ldHdvcmsyID0gX3lpZWxkJHRoZVJvYWROZXR3b3JrLnJvd3M7CiAgICAgICAgICAgICAgcm93cyA9IF95aWVsZCR0aGVSb2FkTmV0d29yazIgPT09IHZvaWQgMCA/IFtdIDogX3lpZWxkJHRoZVJvYWROZXR3b3JrMjsKICAgICAgICAgICAgICB0b3RhbCA9IF95aWVsZCR0aGVSb2FkTmV0d29yay50b3RhbDsKICAgICAgICAgICAgICBwYWdlU2l6ZSA9IF95aWVsZCR0aGVSb2FkTmV0d29yay5wYWdlU2l6ZTsKICAgICAgICAgICAgICBfdGhpczgucGFyYW1zLnBhZ2VCZWFuLnRvdGFsID0gdG90YWw7CiAgICAgICAgICAgICAgX3RoaXM4LnBhcmFtcy5wYWdlQmVhbi5wYWdlU2l6ZSA9IHBhZ2VTaXplOwogICAgICAgICAgICAgIF90aGlzOC50YWJsZURhdGEgPSByb3dzOwogICAgICAgICAgICAgIF9jb250ZXh0My5uZXh0ID0gMjU7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMTY6CiAgICAgICAgICAgICAgX2NvbnRleHQzLm5leHQgPSAxODsKICAgICAgICAgICAgICByZXR1cm4gdGhlUm9hZE5ldHdvcmtJc09wZXJhdGluZ01vbnRoKHJlZmluZVJlcXVlc3RCb2R5KF90aGlzOC5wYXJhbXMpKTsKICAgICAgICAgICAgY2FzZSAxODoKICAgICAgICAgICAgICBfeWllbGQkdGhlUm9hZE5ldHdvcmszID0gX2NvbnRleHQzLnNlbnQ7CiAgICAgICAgICAgICAgX3lpZWxkJHRoZVJvYWROZXR3b3JrNCA9IF95aWVsZCR0aGVSb2FkTmV0d29yazMudmFsdWU7CiAgICAgICAgICAgICAgdmFsdWUgPSBfeWllbGQkdGhlUm9hZE5ldHdvcms0ID09PSB2b2lkIDAgPyB7fSA6IF95aWVsZCR0aGVSb2FkTmV0d29yazQ7CiAgICAgICAgICAgICAgX3RoaXM4LnBhcmFtcy5wYWdlQmVhbi50b3RhbCA9IHZhbHVlLmRhdGEudG90YWw7CiAgICAgICAgICAgICAgX3RoaXM4LnBhcmFtcy5wYWdlQmVhbi5wYWdlU2l6ZSA9IHZhbHVlLmRhdGEucGFnZVNpemU7CiAgICAgICAgICAgICAgX3RoaXM4LnRhYmxlRGF0YSA9IHZhbHVlLmRhdGEucm93czsKICAgICAgICAgICAgICBfdGhpczguYWdncmVnYXRlID0gdmFsdWUudG90YWw7CiAgICAgICAgICAgIGNhc2UgMjU6CiAgICAgICAgICAgICAgX2NvbnRleHQzLnByZXYgPSAyNTsKICAgICAgICAgICAgICBfdGhpczgudGFibGVMb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0My5maW5pc2goMjUpOwogICAgICAgICAgICBjYXNlIDI4OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDMuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUzLCBudWxsLCBbWzEsLCAyNSwgMjhdXSk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIGhhbmRsZVNpemVDaGFuZ2VDdXN0b206IGZ1bmN0aW9uIGhhbmRsZVNpemVDaGFuZ2VDdXN0b20odmFsKSB7CiAgICAgIHRoaXMucGFyYW1zLnBhZ2VCZWFuLnBhZ2UgPSAxOwogICAgICB0aGlzLnBhcmFtcy5wYWdlQmVhbi5wYWdlU2l6ZSA9IHZhbDsKICAgICAgdGhpcy5sb2FkRGF0YSgpOwogICAgfSwKICAgIGhhbmRsZUN1cnJlbnRDaGFuZ2VDdXN0b206IGZ1bmN0aW9uIGhhbmRsZUN1cnJlbnRDaGFuZ2VDdXN0b20odmFsKSB7CiAgICAgIHRoaXMucGFyYW1zLnBhZ2VCZWFuLnBhZ2UgPSB2YWw7CiAgICAgIHRoaXMubG9hZERhdGEoKTsKICAgIH0sCiAgICAvLyDmlLnlj5jpobXpnaIKICAgIGNoYW5nZVBhZ2U6IGZ1bmN0aW9uIGNoYW5nZVBhZ2UoKSB7CiAgICAgIHZhciBwYWdlTmFtZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogJyc7CiAgICAgIHZhciByb3cgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9OwogICAgICBpZiAoIXBhZ2VOYW1lKSByZXR1cm47CiAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZVBhZ2UnLCBwYWdlTmFtZSwgZnVuY3Rpb24gKF8pIHsKICAgICAgICAvLyDlj5HluIPkuovku7YKICAgICAgICBQdWJTdWIucHVibGlzaChwYWdlTmFtZSwgcm93KTsKICAgICAgfSwgcm93LmlkID8gJ+e8lui+kScgOiAn5re75YqgJyk7CiAgICB9CiAgfSwKICBiZWZvcmVEZXN0cm95OiBmdW5jdGlvbiBiZWZvcmVEZXN0cm95KCkgewogICAgLy8g5Zyo57uE5Lu26ZSA5q+B5LmL5YmNIOa4hemZpOiuoumYhea2iOaBrwogICAgUHViU3ViLnVuc3Vic2NyaWJlKHRoaXMucHViU3ViKTsKICB9Cn07"},null]}