forked from liweijie/education
1 line
12 KiB
JSON
1 line
12 KiB
JSON
{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\thread-loader\\dist\\cjs.js!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\quill\\blots\\block.js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\quill\\blots\\block.js","mtime":1787309793589},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\babel.config.js","mtime":1787567871334},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\thread-loader\\dist\\cjs.js","mtime":1787309791954},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiQzovVXNlcnMvQWRtaW4vRGVza3RvcC9lZHVjYXRpb24vZnJvbnRlbmQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIuanMiOwppbXBvcnQgX2NsYXNzQ2FsbENoZWNrIGZyb20gIkM6L1VzZXJzL0FkbWluL0Rlc2t0b3AvZWR1Y2F0aW9uL2Zyb250ZW5kL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9jbGFzc0NhbGxDaGVjay5qcyI7CmltcG9ydCBfY3JlYXRlQ2xhc3MgZnJvbSAiQzovVXNlcnMvQWRtaW4vRGVza3RvcC9lZHVjYXRpb24vZnJvbnRlbmQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NyZWF0ZUNsYXNzLmpzIjsKaW1wb3J0IF9jYWxsU3VwZXIgZnJvbSAiQzovVXNlcnMvQWRtaW4vRGVza3RvcC9lZHVjYXRpb24vZnJvbnRlbmQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NhbGxTdXBlci5qcyI7CmltcG9ydCBfc3VwZXJQcm9wR2V0IGZyb20gIkM6L1VzZXJzL0FkbWluL0Rlc2t0b3AvZWR1Y2F0aW9uL2Zyb250ZW5kL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9zdXBlclByb3BHZXQuanMiOwppbXBvcnQgX2luaGVyaXRzIGZyb20gIkM6L1VzZXJzL0FkbWluL0Rlc2t0b3AvZWR1Y2F0aW9uL2Zyb250ZW5kL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pbmhlcml0cy5qcyI7CmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSAiQzovVXNlcnMvQWRtaW4vRGVza3RvcC9lZHVjYXRpb24vZnJvbnRlbmQvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2RlZmluZVByb3BlcnR5LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucmVkdWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnNwbGl0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLm1hcC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzbmV4dC5pdGVyYXRvci5yZWR1Y2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5pdGVyYXRvci5qcyI7CmltcG9ydCB7IEF0dHJpYnV0b3JTdG9yZSwgQmxvY2tCbG90LCBFbWJlZEJsb3QsIExlYWZCbG90LCBTY29wZSB9IGZyb20gJ3BhcmNobWVudCc7CmltcG9ydCBEZWx0YSBmcm9tICdxdWlsbC1kZWx0YSc7CmltcG9ydCBCcmVhayBmcm9tICcuL2JyZWFrLmpzJzsKaW1wb3J0IElubGluZSBmcm9tICcuL2lubGluZS5qcyc7CmltcG9ydCBUZXh0QmxvdCBmcm9tICcuL3RleHQuanMnOwp2YXIgTkVXTElORV9MRU5HVEggPSAxOwp2YXIgQmxvY2sgPSAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKF9CbG9ja0Jsb3QpIHsKICBmdW5jdGlvbiBCbG9jaygpIHsKICAgIHZhciBfdGhpczsKICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBCbG9jayk7CiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHsKICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTsKICAgIH0KICAgIF90aGlzID0gX2NhbGxTdXBlcih0aGlzLCBCbG9jaywgW10uY29uY2F0KGFyZ3MpKTsKICAgIF9kZWZpbmVQcm9wZXJ0eShfdGhpcywgImNhY2hlIiwge30pOwogICAgcmV0dXJuIF90aGlzOwogIH0KICBfaW5oZXJpdHMoQmxvY2ssIF9CbG9ja0Jsb3QpOwogIHJldHVybiBfY3JlYXRlQ2xhc3MoQmxvY2ssIFt7CiAgICBrZXk6ICJkZWx0YSIsCiAgICB2YWx1ZTogZnVuY3Rpb24gZGVsdGEoKSB7CiAgICAgIGlmICh0aGlzLmNhY2hlLmRlbHRhID09IG51bGwpIHsKICAgICAgICB0aGlzLmNhY2hlLmRlbHRhID0gYmxvY2tEZWx0YSh0aGlzKTsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy5jYWNoZS5kZWx0YTsKICAgIH0KICB9LCB7CiAgICBrZXk6ICJkZWxldGVBdCIsCiAgICB2YWx1ZTogZnVuY3Rpb24gZGVsZXRlQXQoaW5kZXgsIGxlbmd0aCkgewogICAgICBfc3VwZXJQcm9wR2V0KEJsb2NrLCAiZGVsZXRlQXQiLCB0aGlzLCAzKShbaW5kZXgsIGxlbmd0aF0pOwogICAgICB0aGlzLmNhY2hlID0ge307CiAgICB9CiAgfSwgewogICAga2V5OiAiZm9ybWF0QXQiLAogICAgdmFsdWU6IGZ1bmN0aW9uIGZvcm1hdEF0KGluZGV4LCBsZW5ndGgsIG5hbWUsIHZhbHVlKSB7CiAgICAgIGlmIChsZW5ndGggPD0gMCkgcmV0dXJuOwogICAgICBpZiAodGhpcy5zY3JvbGwucXVlcnkobmFtZSwgU2NvcGUuQkxPQ0spKSB7CiAgICAgICAgaWYgKGluZGV4ICsgbGVuZ3RoID09PSB0aGlzLmxlbmd0aCgpKSB7CiAgICAgICAgICB0aGlzLmZvcm1hdChuYW1lLCB2YWx1ZSk7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIF9zdXBlclByb3BHZXQoQmxvY2ssICJmb3JtYXRBdCIsIHRoaXMsIDMpKFtpbmRleCwgTWF0aC5taW4obGVuZ3RoLCB0aGlzLmxlbmd0aCgpIC0gaW5kZXggLSAxKSwgbmFtZSwgdmFsdWVdKTsKICAgICAgfQogICAgICB0aGlzLmNhY2hlID0ge307CiAgICB9CiAgfSwgewogICAga2V5OiAiaW5zZXJ0QXQiLAogICAgdmFsdWU6IGZ1bmN0aW9uIGluc2VydEF0KGluZGV4LCB2YWx1ZSwgZGVmKSB7CiAgICAgIGlmIChkZWYgIT0gbnVsbCkgewogICAgICAgIF9zdXBlclByb3BHZXQoQmxvY2ssICJpbnNlcnRBdCIsIHRoaXMsIDMpKFtpbmRleCwgdmFsdWUsIGRlZl0pOwogICAgICAgIHRoaXMuY2FjaGUgPSB7fTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgaWYgKHZhbHVlLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwogICAgICB2YXIgbGluZXMgPSB2YWx1ZS5zcGxpdCgnXG4nKTsKICAgICAgdmFyIHRleHQgPSBsaW5lcy5zaGlmdCgpOwogICAgICBpZiAodGV4dC5sZW5ndGggPiAwKSB7CiAgICAgICAgaWYgKGluZGV4IDwgdGhpcy5sZW5ndGgoKSAtIDEgfHwgdGhpcy5jaGlsZHJlbi50YWlsID09IG51bGwpIHsKICAgICAgICAgIF9zdXBlclByb3BHZXQoQmxvY2ssICJpbnNlcnRBdCIsIHRoaXMsIDMpKFtNYXRoLm1pbihpbmRleCwgdGhpcy5sZW5ndGgoKSAtIDEpLCB0ZXh0XSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHRoaXMuY2hpbGRyZW4udGFpbC5pbnNlcnRBdCh0aGlzLmNoaWxkcmVuLnRhaWwubGVuZ3RoKCksIHRleHQpOwogICAgICAgIH0KICAgICAgICB0aGlzLmNhY2hlID0ge307CiAgICAgIH0KICAgICAgLy8gVE9ETzogRml4IHRoaXMgbmV4dCB0aW1lIHRoZSBmaWxlIGlzIGVkaXRlZC4KICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzCiAgICAgIHZhciBibG9jayA9IHRoaXM7CiAgICAgIGxpbmVzLnJlZHVjZShmdW5jdGlvbiAobGluZUluZGV4LCBsaW5lKSB7CiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBGaXggbWUgbGF0ZXIKICAgICAgICBibG9jayA9IGJsb2NrLnNwbGl0KGxpbmVJbmRleCwgdHJ1ZSk7CiAgICAgICAgYmxvY2suaW5zZXJ0QXQoMCwgbGluZSk7CiAgICAgICAgcmV0dXJuIGxpbmUubGVuZ3RoOwogICAgICB9LCBpbmRleCArIHRleHQubGVuZ3RoKTsKICAgIH0KICB9LCB7CiAgICBrZXk6ICJpbnNlcnRCZWZvcmUiLAogICAgdmFsdWU6IGZ1bmN0aW9uIGluc2VydEJlZm9yZShibG90LCByZWYpIHsKICAgICAgdmFyIGhlYWQgPSB0aGlzLmNoaWxkcmVuLmhlYWQ7CiAgICAgIF9zdXBlclByb3BHZXQoQmxvY2ssICJpbnNlcnRCZWZvcmUiLCB0aGlzLCAzKShbYmxvdCwgcmVmXSk7CiAgICAgIGlmIChoZWFkIGluc3RhbmNlb2YgQnJlYWspIHsKICAgICAgICBoZWFkLnJlbW92ZSgpOwogICAgICB9CiAgICAgIHRoaXMuY2FjaGUgPSB7fTsKICAgIH0KICB9LCB7CiAgICBrZXk6ICJsZW5ndGgiLAogICAgdmFsdWU6IGZ1bmN0aW9uIGxlbmd0aCgpIHsKICAgICAgaWYgKHRoaXMuY2FjaGUubGVuZ3RoID09IG51bGwpIHsKICAgICAgICB0aGlzLmNhY2hlLmxlbmd0aCA9IF9zdXBlclByb3BHZXQoQmxvY2ssICJsZW5ndGgiLCB0aGlzLCAzKShbXSkgKyBORVdMSU5FX0xFTkdUSDsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy5jYWNoZS5sZW5ndGg7CiAgICB9CiAgfSwgewogICAga2V5OiAibW92ZUNoaWxkcmVuIiwKICAgIHZhbHVlOiBmdW5jdGlvbiBtb3ZlQ2hpbGRyZW4odGFyZ2V0LCByZWYpIHsKICAgICAgX3N1cGVyUHJvcEdldChCbG9jaywgIm1vdmVDaGlsZHJlbiIsIHRoaXMsIDMpKFt0YXJnZXQsIHJlZl0pOwogICAgICB0aGlzLmNhY2hlID0ge307CiAgICB9CiAgfSwgewogICAga2V5OiAib3B0aW1pemUiLAogICAgdmFsdWU6IGZ1bmN0aW9uIG9wdGltaXplKGNvbnRleHQpIHsKICAgICAgX3N1cGVyUHJvcEdldChCbG9jaywgIm9wdGltaXplIiwgdGhpcywgMykoW2NvbnRleHRdKTsKICAgICAgdGhpcy5jYWNoZSA9IHt9OwogICAgfQogIH0sIHsKICAgIGtleTogInBhdGgiLAogICAgdmFsdWU6IGZ1bmN0aW9uIHBhdGgoaW5kZXgpIHsKICAgICAgcmV0dXJuIF9zdXBlclByb3BHZXQoQmxvY2ssICJwYXRoIiwgdGhpcywgMykoW2luZGV4LCB0cnVlXSk7CiAgICB9CiAgfSwgewogICAga2V5OiAicmVtb3ZlQ2hpbGQiLAogICAgdmFsdWU6IGZ1bmN0aW9uIHJlbW92ZUNoaWxkKGNoaWxkKSB7CiAgICAgIF9zdXBlclByb3BHZXQoQmxvY2ssICJyZW1vdmVDaGlsZCIsIHRoaXMsIDMpKFtjaGlsZF0pOwogICAgICB0aGlzLmNhY2hlID0ge307CiAgICB9CiAgfSwgewogICAga2V5OiAic3BsaXQiLAogICAgdmFsdWU6IGZ1bmN0aW9uIHNwbGl0KGluZGV4KSB7CiAgICAgIHZhciBmb3JjZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZmFsc2U7CiAgICAgIGlmIChmb3JjZSAmJiAoaW5kZXggPT09IDAgfHwgaW5kZXggPj0gdGhpcy5sZW5ndGgoKSAtIE5FV0xJTkVfTEVOR1RIKSkgewogICAgICAgIHZhciBjbG9uZSA9IHRoaXMuY2xvbmUoKTsKICAgICAgICBpZiAoaW5kZXggPT09IDApIHsKICAgICAgICAgIHRoaXMucGFyZW50Lmluc2VydEJlZm9yZShjbG9uZSwgdGhpcyk7CiAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICB9CiAgICAgICAgdGhpcy5wYXJlbnQuaW5zZXJ0QmVmb3JlKGNsb25lLCB0aGlzLm5leHQpOwogICAgICAgIHJldHVybiBjbG9uZTsKICAgICAgfQogICAgICB2YXIgbmV4dCA9IF9zdXBlclByb3BHZXQoQmxvY2ssICJzcGxpdCIsIHRoaXMsIDMpKFtpbmRleCwgZm9yY2VdKTsKICAgICAgdGhpcy5jYWNoZSA9IHt9OwogICAgICByZXR1cm4gbmV4dDsKICAgIH0KICB9XSk7Cn0oQmxvY2tCbG90KTsKQmxvY2suYmxvdE5hbWUgPSAnYmxvY2snOwpCbG9jay50YWdOYW1lID0gJ1AnOwpCbG9jay5kZWZhdWx0Q2hpbGQgPSBCcmVhazsKQmxvY2suYWxsb3dlZENoaWxkcmVuID0gW0JyZWFrLCBJbmxpbmUsIEVtYmVkQmxvdCwgVGV4dEJsb3RdOwp2YXIgQmxvY2tFbWJlZCA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoX0VtYmVkQmxvdCkgewogIGZ1bmN0aW9uIEJsb2NrRW1iZWQoKSB7CiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQmxvY2tFbWJlZCk7CiAgICByZXR1cm4gX2NhbGxTdXBlcih0aGlzLCBCbG9ja0VtYmVkLCBhcmd1bWVudHMpOwogIH0KICBfaW5oZXJpdHMoQmxvY2tFbWJlZCwgX0VtYmVkQmxvdCk7CiAgcmV0dXJuIF9jcmVhdGVDbGFzcyhCbG9ja0VtYmVkLCBbewogICAga2V5OiAiYXR0YWNoIiwKICAgIHZhbHVlOiBmdW5jdGlvbiBhdHRhY2goKSB7CiAgICAgIF9zdXBlclByb3BHZXQoQmxvY2tFbWJlZCwgImF0dGFjaCIsIHRoaXMsIDMpKFtdKTsKICAgICAgdGhpcy5hdHRyaWJ1dGVzID0gbmV3IEF0dHJpYnV0b3JTdG9yZSh0aGlzLmRvbU5vZGUpOwogICAgfQogIH0sIHsKICAgIGtleTogImRlbHRhIiwKICAgIHZhbHVlOiBmdW5jdGlvbiBkZWx0YSgpIHsKICAgICAgcmV0dXJuIG5ldyBEZWx0YSgpLmluc2VydCh0aGlzLnZhbHVlKCksIF9vYmplY3RTcHJlYWQoX29iamVjdFNwcmVhZCh7fSwgdGhpcy5mb3JtYXRzKCkpLCB0aGlzLmF0dHJpYnV0ZXMudmFsdWVzKCkpKTsKICAgIH0KICB9LCB7CiAgICBrZXk6ICJmb3JtYXQiLAogICAgdmFsdWU6IGZ1bmN0aW9uIGZvcm1hdChuYW1lLCB2YWx1ZSkgewogICAgICB2YXIgYXR0cmlidXRlID0gdGhpcy5zY3JvbGwucXVlcnkobmFtZSwgU2NvcGUuQkxPQ0tfQVRUUklCVVRFKTsKICAgICAgaWYgKGF0dHJpYnV0ZSAhPSBudWxsKSB7CiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBTY3JvbGwjcXVlcnkoKSBzaG91bGQgcmV0dXJuIEF0dHJpYnV0b3Igd2hlbiBzY29wZSBpcyBhdHRyaWJ1dGUKICAgICAgICB0aGlzLmF0dHJpYnV0ZXMuYXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUpOwogICAgICB9CiAgICB9CiAgfSwgewogICAga2V5OiAiZm9ybWF0QXQiLAogICAgdmFsdWU6IGZ1bmN0aW9uIGZvcm1hdEF0KGluZGV4LCBsZW5ndGgsIG5hbWUsIHZhbHVlKSB7CiAgICAgIHRoaXMuZm9ybWF0KG5hbWUsIHZhbHVlKTsKICAgIH0KICB9LCB7CiAgICBrZXk6ICJpbnNlcnRBdCIsCiAgICB2YWx1ZTogZnVuY3Rpb24gaW5zZXJ0QXQoaW5kZXgsIHZhbHVlLCBkZWYpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIGlmIChkZWYgIT0gbnVsbCkgewogICAgICAgIF9zdXBlclByb3BHZXQoQmxvY2tFbWJlZCwgImluc2VydEF0IiwgdGhpcywgMykoW2luZGV4LCB2YWx1ZSwgZGVmXSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHZhciBsaW5lcyA9IHZhbHVlLnNwbGl0KCdcbicpOwogICAgICB2YXIgdGV4dCA9IGxpbmVzLnBvcCgpOwogICAgICB2YXIgYmxvY2tzID0gbGluZXMubWFwKGZ1bmN0aW9uIChsaW5lKSB7CiAgICAgICAgdmFyIGJsb2NrID0gX3RoaXMyLnNjcm9sbC5jcmVhdGUoQmxvY2suYmxvdE5hbWUpOwogICAgICAgIGJsb2NrLmluc2VydEF0KDAsIGxpbmUpOwogICAgICAgIHJldHVybiBibG9jazsKICAgICAgfSk7CiAgICAgIHZhciByZWYgPSB0aGlzLnNwbGl0KGluZGV4KTsKICAgICAgYmxvY2tzLmZvckVhY2goZnVuY3Rpb24gKGJsb2NrKSB7CiAgICAgICAgX3RoaXMyLnBhcmVudC5pbnNlcnRCZWZvcmUoYmxvY2ssIHJlZik7CiAgICAgIH0pOwogICAgICBpZiAodGV4dCkgewogICAgICAgIHRoaXMucGFyZW50Lmluc2VydEJlZm9yZSh0aGlzLnNjcm9sbC5jcmVhdGUoJ3RleHQnLCB0ZXh0KSwgcmVmKTsKICAgICAgfQogICAgfQogIH1dKTsKfShFbWJlZEJsb3QpOwpCbG9ja0VtYmVkLnNjb3BlID0gU2NvcGUuQkxPQ0tfQkxPVDsKLy8gSXQgaXMgaW1wb3J0YW50IGZvciBjdXJzb3IgYmVoYXZpb3IgQmxvY2tFbWJlZHMgdXNlIHRhZ3MgdGhhdCBhcmUgYmxvY2sgbGV2ZWwgZWxlbWVudHMKCmZ1bmN0aW9uIGJsb2NrRGVsdGEoYmxvdCkgewogIHZhciBmaWx0ZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHRydWU7CiAgcmV0dXJuIGJsb3QuZGVzY2VuZGFudHMoTGVhZkJsb3QpLnJlZHVjZShmdW5jdGlvbiAoZGVsdGEsIGxlYWYpIHsKICAgIGlmIChsZWFmLmxlbmd0aCgpID09PSAwKSB7CiAgICAgIHJldHVybiBkZWx0YTsKICAgIH0KICAgIHJldHVybiBkZWx0YS5pbnNlcnQobGVhZi52YWx1ZSgpLCBidWJibGVGb3JtYXRzKGxlYWYsIHt9LCBmaWx0ZXIpKTsKICB9LCBuZXcgRGVsdGEoKSkuaW5zZXJ0KCdcbicsIGJ1YmJsZUZvcm1hdHMoYmxvdCkpOwp9CmZ1bmN0aW9uIGJ1YmJsZUZvcm1hdHMoYmxvdCkgewogIHZhciBmb3JtYXRzID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTsKICB2YXIgZmlsdGVyID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiB0cnVlOwogIGlmIChibG90ID09IG51bGwpIHJldHVybiBmb3JtYXRzOwogIGlmICgnZm9ybWF0cycgaW4gYmxvdCAmJiB0eXBlb2YgYmxvdC5mb3JtYXRzID09PSAnZnVuY3Rpb24nKSB7CiAgICBmb3JtYXRzID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBmb3JtYXRzKSwgYmxvdC5mb3JtYXRzKCkpOwogICAgaWYgKGZpbHRlcikgewogICAgICAvLyBleGNsdWRlIHN5bnRheCBoaWdobGlnaHRpbmcgZnJvbSBkZWx0YXMgYW5kIGdldEZvcm1hdCgpCiAgICAgIGRlbGV0ZSBmb3JtYXRzWydjb2RlLXRva2VuJ107CiAgICB9CiAgfQogIGlmIChibG90LnBhcmVudCA9PSBudWxsIHx8IGJsb3QucGFyZW50LnN0YXRpY3MuYmxvdE5hbWUgPT09ICdzY3JvbGwnIHx8IGJsb3QucGFyZW50LnN0YXRpY3Muc2NvcGUgIT09IGJsb3Quc3RhdGljcy5zY29wZSkgewogICAgcmV0dXJuIGZvcm1hdHM7CiAgfQogIHJldHVybiBidWJibGVGb3JtYXRzKGJsb3QucGFyZW50LCBmb3JtYXRzLCBmaWx0ZXIpOwp9CmV4cG9ydCB7IGJsb2NrRGVsdGEsIGJ1YmJsZUZvcm1hdHMsIEJsb2NrRW1iZWQsIEJsb2NrIGFzIGRlZmF1bHQgfTs="},null]} |