| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\thread-loader\\dist\\cjs.js!D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js!D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\system\\backendRouting\\debugging.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\system\\backendRouting\\debugging.vue","mtime":1761614939067},{"path":"D:\\front\\item\\zyAdmin\\babel.config.js","mtime":1761614925168},{"path":"D:\\front\\item\\zyAdmin\\.babelrc","mtime":1761614925165},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\thread-loader\\dist\\cjs.js","mtime":1761614937017},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1761614927320},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovZnJvbnQvaXRlbS96eUFkbWluL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0IF9yZWdlbmVyYXRvciBmcm9tICJEOi9mcm9udC9pdGVtL3p5QWRtaW4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3JlZ2VuZXJhdG9yLmpzIjsKaW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkQ6L2Zyb250L2l0ZW0venlBZG1pbi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuZm9yLWVhY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5qc29uLnN0cmluZ2lmeS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuZm9yLWVhY2guanMiOwppbXBvcnQgcmVxdWVzdCBmcm9tICcuL3JlcXVlc3QnOwppbXBvcnQgTW9uYWNvRWRpdG9yIGZyb20gJy4vY29tcG9uZW50cy9Nb25hY29FZGl0b3IudnVlJzsKaW1wb3J0IHZ1ZWRyYWdnYWJsZSBmcm9tICd2dWVkcmFnZ2FibGUnOwppbXBvcnQgeyBnZXRDb29raWVzIH0gZnJvbSAnQC9saWJzL3V0aWwnOwpmdW5jdGlvbiByZXF1ZXN0TWV0aG9kKHVybCwgbWV0aG9kLCBwYXJhbXMsIGRhdGEsIGhlYWRlckl0ZW0pIHsKICByZXR1cm4gcmVxdWVzdCh7CiAgICB1cmw6IHVybCwKICAgIG1ldGhvZDogbWV0aG9kLAogICAgcGFyYW1zOiBwYXJhbXMsCiAgICBkYXRhOiBkYXRhLAogICAgaGVhZGVySXRlbTogaGVhZGVySXRlbQogIH0pOwp9CmV4cG9ydCBkZWZhdWx0IHsKICBjb21wb25lbnRzOiB7CiAgICBNb25hY29FZGl0b3I6IE1vbmFjb0VkaXRvcgogIH0sCiAgcHJvcHM6IHsKICAgIGZvcm1WYWxpZGF0ZTogewogICAgICB0eXBlOiBPYmplY3QsCiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkgewogICAgICAgIHJldHVybiB7fTsKICAgICAgfQogICAgfSwKICAgIHJlcXVlc3RUeXBlTGlzdDogewogICAgICB0eXBlOiBBcnJheSwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIFtdOwogICAgICB9CiAgICB9LAogICAgdHlwZUxpc3Q6IHsKICAgICAgdHlwZTogQXJyYXksCiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkgewogICAgICAgIHJldHVybiBbXTsKICAgICAgfQogICAgfSwKICAgIGFwaVR5cGU6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAnYWRtaW5hcGknCiAgICB9CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgYm9keVR5cGU6ICdmb3JtLWRhdGEnLAogICAgICBpbnRlcmZhY2VEYXRhOiB1bmRlZmluZWQsCiAgICAgIHBhcmFtc1R5cGU6ICdQYXJhbXMnLAogICAgICBlZGl0b3I6ICcnLAogICAgICAvL+W9k+WJjee8lui+keWZqOWvueixoQogICAgICBjb2RlczogJycsCiAgICAgIGpzb25Cb2R5OiAnJwogICAgfTsKICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICB0aGlzLmludGVyZmFjZURhdGEgPSB0aGlzLmZvcm1WYWxpZGF0ZTsKICAgIHRoaXMuaW50ZXJmYWNlRGF0YS5yZXF1ZXN0X2JvZHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuaW50ZXJmYWNlRGF0YS5yZXF1ZXN0KSk7CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdmFyIF90aGlzID0gdGhpczsKICAgIGlmICghdGhpcy4kcmVmcy56VGFibGUuZ2V0VGFibGVEYXRhKCkudGFibGVEYXRhLmxlbmd0aCAmJiB0aGlzLmFwaVR5cGUgPT0gJ2FkbWluYXBpJykgewogICAgICB0aGlzLmluc2VydEV2ZW50KCd6VGFibGUnLCB7CiAgICAgICAgYXR0cmlidXRlOiAnQXV0aG9yaS1aYXRpb24nLAogICAgICAgIHZhbHVlOiAnQmVhcmVyICcgKyBnZXRDb29raWVzKCd0b2tlbicpCiAgICAgIH0pOwogICAgICAvLyB0aGlzLmluc2VydEV2ZW50KCd6YVRhYmxlJyk7CiAgICB9IGVsc2UgewogICAgICBpZiAodGhpcy5pbnRlcmZhY2VEYXRhLmhlYWRlcikgewogICAgICAgIHRoaXMuaW50ZXJmYWNlRGF0YS5oZWFkZXIuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgICAgICAgIF90aGlzLmluc2VydEV2ZW50KCd6VGFibGUnLCB7CiAgICAgICAgICAgIGF0dHJpYnV0ZTogaXRlbS5hdHRyaWJ1dGUgfHwgJycsCiAgICAgICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlIHx8ICcnCiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgfQogICAgfQogIH0sCiAgbWV0aG9kczogewogICAgaGFuZGxlQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZSwgcm93LCB0eXBlKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvcigpLm0oZnVuY3Rpb24gX2NhbGxlZSgpIHsKICAgICAgICB2YXIgYXJyLCBpZCwgJHRhYmxlLCBpOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3IoKS53KGZ1bmN0aW9uIChfY29udGV4dCkgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQubikgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgaWYgKCEoZS52YWx1ZSAhPT0gJ2FycmF5JyAmJiBlLnZhbHVlICE9PSAnb2JqZWN0JykpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0Lm4gPSAzOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmICghcm93LmNoaWxkcmVuLmxlbmd0aCkgewogICAgICAgICAgICAgICAgX2NvbnRleHQubiA9IDM7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYXJyID0gX3RoaXMyLiRyZWZzW3R5cGVdLmdldFRhYmxlRGF0YSgpLnRhYmxlRGF0YTsKICAgICAgICAgICAgICBpZCA9IHJvdy5jaGlsZHJlblswXS5wYXJlbnRJZDsKICAgICAgICAgICAgICAkdGFibGUgPSBfdGhpczIuJHJlZnNbdHlwZV07CiAgICAgICAgICAgICAgaSA9IDA7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICBpZiAoIShpIDwgYXJyLmxlbmd0aCkpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0Lm4gPSAzOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmICghKGFycltpXS5wYXJlbnRJZCA9PSBpZCkpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0Lm4gPSAyOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF9jb250ZXh0Lm4gPSAyOwogICAgICAgICAgICAgIHJldHVybiAkdGFibGUucmVtb3ZlKGFycltpXSk7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBpKys7CiAgICAgICAgICAgICAgX2NvbnRleHQubiA9IDE7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuYSgyKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgaW5zZXJ0Q29weTogZnVuY3Rpb24gaW5zZXJ0Q29weSgpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHRoaXMuJGNvcHlUZXh0KHRoaXMuY29kZXMpLnRoZW4oZnVuY3Rpb24gKG1lc3NhZ2UpIHsKICAgICAgICBfdGhpczMuJG1lc3NhZ2Uuc3VjY2Vzcygn5aSN5Yi25oiQ5YqfJyk7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICBfdGhpczMuJG1lc3NhZ2UuZXJyb3IoJ+WkjeWItuWksei0pScpOwogICAgICB9KTsKICAgIH0sCiAgICByZXF1ZXN0RGF0YTogZnVuY3Rpb24gcmVxdWVzdERhdGEoKSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvcigpLm0oZnVuY3Rpb24gX2NhbGxlZTIoKSB7CiAgICAgICAgdmFyIHVybCwgbWV0aG9kLCBwYXJhbXMsIGJvZHksIGhlYWRlcnMsIGgsIF90LCBfdDIsIF90MywgX3Q0LCBfdDUsIF90NiwgX3Q3OwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3IoKS53KGZ1bmN0aW9uIChfY29udGV4dDIpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0Mi5uKSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICB1cmwgPSBfdGhpczQuYXBpVHlwZSArICcvJyArIF90aGlzNC5pbnRlcmZhY2VEYXRhLnBhdGg7CiAgICAgICAgICAgICAgbWV0aG9kID0gX3RoaXM0LmludGVyZmFjZURhdGEubWV0aG9kOwogICAgICAgICAgICAgIF90ID0gX3RoaXM0OwogICAgICAgICAgICAgIF9jb250ZXh0Mi5uID0gMTsKICAgICAgICAgICAgICByZXR1cm4gX3RoaXM0LiRyZWZzLnhUYWJsZS5nZXRUYWJsZURhdGEoKS50YWJsZURhdGE7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICBfdDIgPSBfY29udGV4dDIudjsKICAgICAgICAgICAgICBpZiAoX3QyKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dDIubiA9IDI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX3QyID0gW107CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBwYXJhbXMgPSBfdC5maWx0ZXJzRGF0YS5jYWxsKF90LCBfdDIpOwogICAgICAgICAgICAgIGlmICghKF90aGlzNC5ib2R5VHlwZSA9PT0gJ2pzb24nKSkgewogICAgICAgICAgICAgICAgX2NvbnRleHQyLm4gPSAzOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF90MyA9IF90aGlzNC5qc29uQm9keTsKICAgICAgICAgICAgICBfY29udGV4dDIubiA9IDY7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICBfdDQgPSBfdGhpczQ7CiAgICAgICAgICAgICAgX2NvbnRleHQyLm4gPSA0OwogICAgICAgICAgICAgIHJldHVybiBfdGhpczQuJHJlZnMueVRhYmxlLmdldFRhYmxlRGF0YSgpLnRhYmxlRGF0YTsKICAgICAgICAgICAgY2FzZSA0OgogICAgICAgICAgICAgIF90NSA9IF9jb250ZXh0Mi52OwogICAgICAgICAgICAgIGlmIChfdDUpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0Mi5uID0gNTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfdDUgPSBbXTsKICAgICAgICAgICAgY2FzZSA1OgogICAgICAgICAgICAgIF90MyA9IF90NC5maWx0ZXJzRGF0YS5jYWxsKF90NCwgX3Q1KTsKICAgICAgICAgICAgY2FzZSA2OgogICAgICAgICAgICAgIGJvZHkgPSBfdDM7CiAgICAgICAgICAgICAgX3Q2ID0gX3RoaXM0OwogICAgICAgICAgICAgIF9jb250ZXh0Mi5uID0gNzsKICAgICAgICAgICAgICByZXR1cm4gX3RoaXM0LiRyZWZzLnpUYWJsZS5nZXRUYWJsZURhdGEoKS50YWJsZURhdGE7CiAgICAgICAgICAgIGNhc2UgNzoKICAgICAgICAgICAgICBfdDcgPSBfY29udGV4dDIudjsKICAgICAgICAgICAgICBpZiAoX3Q3KSB7CiAgICAgICAgICAgICAgICBfY29udGV4dDIubiA9IDg7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX3Q3ID0gW107CiAgICAgICAgICAgIGNhc2UgODoKICAgICAgICAgICAgICBoID0gX3Q2LmZpbHRlcnNEYXRhLmNhbGwoX3Q2LCBfdDcpOwogICAgICAgICAgICAgIGhlYWRlcnMgPSBoOwogICAgICAgICAgICAgIF90aGlzNC5jb2RlcyA9ICcnOwogICAgICAgICAgICAgIHJlcXVlc3RNZXRob2QodXJsLCBtZXRob2QsIHBhcmFtcywgYm9keSwgaGVhZGVycykudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICAgICAgICBpZiAoIXJlcykgcmV0dXJuIF90aGlzNC4kbWVzc2FnZS5lcnJvcign5o6l5Y+j5byC5bi4Jyk7CiAgICAgICAgICAgICAgICBfdGhpczQuY29kZXMgPSBKU09OLnN0cmluZ2lmeShyZXMpOwogICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgICAgIGlmICghZXJyKSByZXR1cm4gX3RoaXM0LiRtZXNzYWdlLmVycm9yKCfmjqXlj6PlvILluLgnKTsKICAgICAgICAgICAgICAgIF90aGlzNC5jb2RlcyA9IEpTT04uc3RyaW5naWZ5KGVycik7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGNhc2UgOToKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLmEoMik7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTIpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICBmaWx0ZXJzRGF0YTogZnVuY3Rpb24gZmlsdGVyc0RhdGEoYXJyKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgICB0cnkgewogICAgICAgIHZhciB4ID0ge307CiAgICAgICAgYXJyLm1hcChmdW5jdGlvbiAoZSkgewogICAgICAgICAgaWYgKCFlLnBhcmVudElkKSB7CiAgICAgICAgICAgIHZhciBfbG9vcCA9IGZ1bmN0aW9uIF9sb29wKCkgewogICAgICAgICAgICAgIGlmIChpID09ICdhdHRyaWJ1dGUnKSB7CiAgICAgICAgICAgICAgICBpZiAoZS50eXBlID09PSAnb2JqZWN0JykgewogICAgICAgICAgICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgICAgICAgICAgIGUuY2hpbGRyZW4ubWFwKGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgICAgICAgICAgICAgICAgIG9iaiA9IF90aGlzNS5maWx0ZXJzT2JqKGl0ZW0sIDEpOwogICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgeFtlW2ldXSA9IG9iajsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZS50eXBlICE9PSAnYXJyYXknKSB7CiAgICAgICAgICAgICAgICAgIHhbZVtpXV0gPSBlLnZhbHVlIHx8ICcnOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgdmFyIF9hcnIgPSBbXTsKICAgICAgICAgICAgICAgICAgZS5jaGlsZHJlbi5tYXAoZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7CiAgICAgICAgICAgICAgICAgICAgX2FycltpbmRleF0gPSBfdGhpczUuZmlsdGVyc09iaihpdGVtKTsKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgIHhbZVtpXV0gPSBfYXJyOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlKSB7CiAgICAgICAgICAgICAgX2xvb3AoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICAgIHJldHVybiB4OwogICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTsKICAgICAgfQogICAgfSwKICAgIC8vIHR5cGUgMSDkuLpvYmrlsZ7mgKcKICAgIGZpbHRlcnNPYmo6IGZ1bmN0aW9uIGZpbHRlcnNPYmoob2JqLCB0eXBlKSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwogICAgICB2YXIgeCA9IHt9OwogICAgICB2YXIgX2xvb3AyID0gZnVuY3Rpb24gX2xvb3AyKCkgewogICAgICAgIGlmIChpID09ICdhdHRyaWJ1dGUnKSB7CiAgICAgICAgICBpZiAob2JqLnR5cGUgPT09ICdvYmplY3QnKSB7CiAgICAgICAgICAgIHZhciBvaiA9IHt9OwogICAgICAgICAgICBvYmouY2hpbGRyZW4ubWFwKGZ1bmN0aW9uIChpdGVtLCBpbmRleCkgewogICAgICAgICAgICAgIG9qW29iai5hdHRyaWJ1dGVdID0gX3RoaXM2LmZpbHRlcnNPYmooaXRlbSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB4ID0gb2o7CiAgICAgICAgICB9IGVsc2UgaWYgKG9iai50eXBlICE9PSAnYXJyYXknKSB7CiAgICAgICAgICAgIGlmICh0eXBlKSB7CiAgICAgICAgICAgICAgeFtvYmouYXR0cmlidXRlXSA9IG9iai52YWx1ZSB8fCAnJzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICB4W29ialtpXV0gPSBvYmoudmFsdWUgfHwgJyc7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHZhciBhcnIgPSBbXTsKICAgICAgICAgICAgb2JqLmNoaWxkcmVuLm1hcChmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgICAgICAgICAgICBhcnJbaW5kZXhdID0gX3RoaXM2LmZpbHRlcnNPYmooaXRlbSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB4W29ialtpXV0gPSBhcnI7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9OwogICAgICBmb3IgKHZhciBpIGluIG9iaikgewogICAgICAgIF9sb29wMigpOwogICAgICB9CiAgICAgIHJldHVybiB4OwogICAgfSwKICAgIGNoYW5nZVRhYjogZnVuY3Rpb24gY2hhbmdlVGFiKG5hbWUpIHsKICAgICAgLy8gaWYgKG5hbWUgPT09ICdIZWFkZXInKSB7CiAgICAgIC8vICAgaWYgKCF0aGlzLiRyZWZzLnpUYWJsZS5nZXRUYWJsZURhdGEoKS50YWJsZURhdGEubGVuZ3RoKSB7CiAgICAgIC8vICAgICB0aGlzLmluc2VydEV2ZW50KCd6VGFibGUnLCB7CiAgICAgIC8vICAgICAgIGF0dHJpYnV0ZTogJ0F1dGhvcmktWmF0aW9uJywKICAgICAgLy8gICAgICAgdmFsdWU6ICdCZWFyZXIgJyArIGdldENvb2tpZXMoJ3Rva2VuJyksCiAgICAgIC8vICAgICB9KTsKICAgICAgLy8gICAgIHRoaXMuaW5zZXJ0RXZlbnQoJ3phVGFibGUnKTsKICAgICAgLy8gICB9CiAgICAgIC8vIH0KICAgIH0sCiAgICBpbnNlcnRFdmVudDogZnVuY3Rpb24gaW5zZXJ0RXZlbnQodHlwZSwgZCkgewogICAgICB2YXIgX3RoaXM3ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3IoKS5tKGZ1bmN0aW9uIF9jYWxsZWUzKCkgewogICAgICAgIHZhciAkdGFibGUsIG5ld1JvdywgX3lpZWxkJCR0YWJsZSRpbnNlcnRBLCBkYXRhOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3IoKS53KGZ1bmN0aW9uIChfY29udGV4dDMpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0My5uKSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAkdGFibGUgPSBfdGhpczcuJHJlZnNbdHlwZV07CiAgICAgICAgICAgICAgaWYgKHR5cGUgPT0gJ3hUYWJsZScpIHsKICAgICAgICAgICAgICAgIG5ld1JvdyA9IHsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlOiAnJywKICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgIG11c3Q6IDAsCiAgICAgICAgICAgICAgICAgIHZhbHVlOiAnJywKICAgICAgICAgICAgICAgICAgdHJpcDogJycKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09ICd5VGFibGUnKSB7CiAgICAgICAgICAgICAgICBuZXdSb3cgPSB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZTogJycsCiAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICB2YWx1ZTogJycsCiAgICAgICAgICAgICAgICAgIG11c3Q6IDAsCiAgICAgICAgICAgICAgICAgIHRyaXA6ICcnCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSAnelRhYmxlJykgewogICAgICAgICAgICAgICAgbmV3Um93ID0gewogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGU6ICcnLAogICAgICAgICAgICAgICAgICB0eXBlOiAnJywKICAgICAgICAgICAgICAgICAgdmFsdWU6ICcnLAogICAgICAgICAgICAgICAgICB0cmlwOiAnJwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIG5ld1JvdyA9IF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgbmV3Um93KSwgZCk7CiAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09ICd6YVRhYmxlJykgewogICAgICAgICAgICAgICAgbmV3Um93ID0gewogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGU6ICd0b2tlbicsCiAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLAogICAgICAgICAgICAgICAgICB2YWx1ZTogJycsCiAgICAgICAgICAgICAgICAgIG11c3Q6IDAsCiAgICAgICAgICAgICAgICAgIHRyaXA6ICcnCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBuZXdSb3cgPSB7CiAgICAgICAgICAgICAgICAgIGNvZGU6ICcnLAogICAgICAgICAgICAgICAgICB2YWx1ZTogJycsCiAgICAgICAgICAgICAgICAgIHNvbHV0aW9uOiAnJwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQzLm4gPSAxOwogICAgICAgICAgICAgIHJldHVybiAkdGFibGUuaW5zZXJ0QXQobmV3Um93LCAtMSk7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICBfeWllbGQkJHRhYmxlJGluc2VydEEgPSBfY29udGV4dDMudjsKICAgICAgICAgICAgICBkYXRhID0gX3lpZWxkJCR0YWJsZSRpbnNlcnRBLnJvdzsKICAgICAgICAgICAgICBfY29udGV4dDMubiA9IDI7CiAgICAgICAgICAgICAgcmV0dXJuICR0YWJsZS5zZXRBY3RpdmVDZWxsKGRhdGEsICduYW1lJyk7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLmEoMik7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTMpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICBpbnNlcnRSb3c6IGZ1bmN0aW9uIGluc2VydFJvdyhjdXJyUm93LCB0eXBlKSB7CiAgICAgIHZhciBfdGhpczggPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvcigpLm0oZnVuY3Rpb24gX2NhbGxlZTQoKSB7CiAgICAgICAgdmFyICR0YWJsZSwgcmVjb3JkLCBfeWllbGQkJHRhYmxlJGluc2VydEEyLCBuZXdSb3c7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvcigpLncoZnVuY3Rpb24gKF9jb250ZXh0NCkgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQ0Lm4pIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICR0YWJsZSA9IF90aGlzOC4kcmVmc1t0eXBlXTsgLy8g5aaC5p6cIG51bGwg5YiZ5o+S5YWl5Yiw55uu5qCH6IqC54K56aG26YOoCiAgICAgICAgICAgICAgLy8g5aaC5p6cIC0xIOWImeaPkuWFpeWIsOebruagh+iKgueCueW6lemDqAogICAgICAgICAgICAgIC8vIOWmguaenCByb3cg5YiZ5pyJ5o+S5YWl5Yiw5pWI55qE55uu5qCH6IqC54K56K+l6KGM55qE5L2N572uCiAgICAgICAgICAgICAgaWYgKHR5cGUgPT0gJ3hUYWJsZScpIHsKICAgICAgICAgICAgICAgIHJlY29yZCA9IHsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlOiAnJywKICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsCiAgICAgICAgICAgICAgICAgIG11c3Q6IDAsCiAgICAgICAgICAgICAgICAgIHZhbHVlOiAnJywKICAgICAgICAgICAgICAgICAgdHJpcDogJycsCiAgICAgICAgICAgICAgICAgIGlkOiBEYXRlLm5vdygpLAogICAgICAgICAgICAgICAgICBwYXJlbnRJZDogY3VyclJvdy5pZCAvLyDpnIDopoHmjIflrprniLboioLngrnvvIzoh6rliqjmj5LlhaXor6XoioLngrnkuK0KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJlY29yZCA9IHsKICAgICAgICAgICAgICAgICAgY29kZTogJycsCiAgICAgICAgICAgICAgICAgIHZhbHVlOiAnJywKICAgICAgICAgICAgICAgICAgc29sdXRpb246ICcnLAogICAgICAgICAgICAgICAgICBpZDogRGF0ZS5ub3coKSwKICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IGN1cnJSb3cuaWQgLy8g6ZyA6KaB5oyH5a6a54i26IqC54K577yM6Ieq5Yqo5o+S5YWl6K+l6IqC54K55LitCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfY29udGV4dDQubiA9IDE7CiAgICAgICAgICAgICAgcmV0dXJuICR0YWJsZS5pbnNlcnRBdChyZWNvcmQsIC0xKTsKICAgICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICAgIF95aWVsZCQkdGFibGUkaW5zZXJ0QTIgPSBfY29udGV4dDQudjsKICAgICAgICAgICAgICBuZXdSb3cgPSBfeWllbGQkJHRhYmxlJGluc2VydEEyLnJvdzsKICAgICAgICAgICAgICBfY29udGV4dDQubiA9IDI7CiAgICAgICAgICAgICAgcmV0dXJuICR0YWJsZS5zZXRUcmVlRXhwYW5kKGN1cnJSb3csIHRydWUpOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICAgX2NvbnRleHQ0Lm4gPSAzOwogICAgICAgICAgICAgIHJldHVybiAkdGFibGUuc2V0QWN0aXZlUm93KG5ld1Jvdyk7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQ0LmEoMik7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTQpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICByZW1vdmVSb3c6IGZ1bmN0aW9uIHJlbW92ZVJvdyhyb3csIHR5cGUpIHsKICAgICAgdmFyIF90aGlzOSA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yKCkubShmdW5jdGlvbiBfY2FsbGVlNSgpIHsKICAgICAgICB2YXIgJHRhYmxlOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3IoKS53KGZ1bmN0aW9uIChfY29udGV4dDUpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0NS5uKSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAkdGFibGUgPSBfdGhpczkuJHJlZnNbdHlwZV07CiAgICAgICAgICAgICAgX2NvbnRleHQ1Lm4gPSAxOwogICAgICAgICAgICAgIHJldHVybiAkdGFibGUucmVtb3ZlKHJvdyk7CiAgICAgICAgICAgIGNhc2UgMToKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQ1LmEoMik7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTUpOwogICAgICB9KSkoKTsKICAgIH0KICB9Cn07"},null]}
|