{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@babel\\runtime\\helpers\\regeneratorRuntime.js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@babel\\runtime\\helpers\\regeneratorRuntime.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\babel.config.js","mtime":1733906004399},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:cmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmRlc2NyaXB0aW9uLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5zeW1ib2wuYXN5bmMtaXRlcmF0b3IuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC5pdGVyYXRvci5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLnRvLXN0cmluZy10YWcuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmVycm9yLmNhdXNlLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5wdXNoLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zbGljZS5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuanNvbi50by1zdHJpbmctdGFnLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5tYXRoLnRvLXN0cmluZy10YWcuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5nZXQtcHJvdG90eXBlLW9mLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QucHJvdG8uanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5zZXQtcHJvdG90eXBlLW9mLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzbmV4dC5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmZvci1lYWNoLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLml0ZXJhdG9yLmpzIik7CnZhciBfdHlwZW9mID0gcmVxdWlyZSgiLi90eXBlb2YuanMiKVsiZGVmYXVsdCJdOwpmdW5jdGlvbiBfcmVnZW5lcmF0b3JSdW50aW1lKCkgewogICJ1c2Ugc3RyaWN0IjsKCiAgLyohIHJlZ2VuZXJhdG9yLXJ1bnRpbWUgLS0gQ29weXJpZ2h0IChjKSAyMDE0LXByZXNlbnQsIEZhY2Vib29rLCBJbmMuIC0tIGxpY2Vuc2UgKE1JVCk6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWdlbmVyYXRvci9ibG9iL21haW4vTElDRU5TRSAqLwogIG1vZHVsZS5leHBvcnRzID0gX3JlZ2VuZXJhdG9yUnVudGltZSA9IGZ1bmN0aW9uIF9yZWdlbmVyYXRvclJ1bnRpbWUoKSB7CiAgICByZXR1cm4gZTsKICB9LCBtb2R1bGUuZXhwb3J0cy5fX2VzTW9kdWxlID0gdHJ1ZSwgbW9kdWxlLmV4cG9ydHNbImRlZmF1bHQiXSA9IG1vZHVsZS5leHBvcnRzOwogIHZhciB0LAogICAgZSA9IHt9LAogICAgciA9IE9iamVjdC5wcm90b3R5cGUsCiAgICBuID0gci5oYXNPd25Qcm9wZXJ0eSwKICAgIG8gPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgfHwgZnVuY3Rpb24gKHQsIGUsIHIpIHsKICAgICAgdFtlXSA9IHIudmFsdWU7CiAgICB9LAogICAgaSA9ICJmdW5jdGlvbiIgPT0gdHlwZW9mIFN5bWJvbCA/IFN5bWJvbCA6IHt9LAogICAgYSA9IGkuaXRlcmF0b3IgfHwgIkBAaXRlcmF0b3IiLAogICAgYyA9IGkuYXN5bmNJdGVyYXRvciB8fCAiQEBhc3luY0l0ZXJhdG9yIiwKICAgIHUgPSBpLnRvU3RyaW5nVGFnIHx8ICJAQHRvU3RyaW5nVGFnIjsKICBmdW5jdGlvbiBkZWZpbmUodCwgZSwgcikgewogICAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCBlLCB7CiAgICAgIHZhbHVlOiByLAogICAgICBlbnVtZXJhYmxlOiAhMCwKICAgICAgY29uZmlndXJhYmxlOiAhMCwKICAgICAgd3JpdGFibGU6ICEwCiAgICB9KSwgdFtlXTsKICB9CiAgdHJ5IHsKICAgIGRlZmluZSh7fSwgIiIpOwogIH0gY2F0Y2ggKHQpIHsKICAgIGRlZmluZSA9IGZ1bmN0aW9uIGRlZmluZSh0LCBlLCByKSB7CiAgICAgIHJldHVybiB0W2VdID0gcjsKICAgIH07CiAgfQogIGZ1bmN0aW9uIHdyYXAodCwgZSwgciwgbikgewogICAgdmFyIGkgPSBlICYmIGUucHJvdG90eXBlIGluc3RhbmNlb2YgR2VuZXJhdG9yID8gZSA6IEdlbmVyYXRvciwKICAgICAgYSA9IE9iamVjdC5jcmVhdGUoaS5wcm90b3R5cGUpLAogICAgICBjID0gbmV3IENvbnRleHQobiB8fCBbXSk7CiAgICByZXR1cm4gbyhhLCAiX2ludm9rZSIsIHsKICAgICAgdmFsdWU6IG1ha2VJbnZva2VNZXRob2QodCwgciwgYykKICAgIH0pLCBhOwogIH0KICBmdW5jdGlvbiB0cnlDYXRjaCh0LCBlLCByKSB7CiAgICB0cnkgewogICAgICByZXR1cm4gewogICAgICAgIHR5cGU6ICJub3JtYWwiLAogICAgICAgIGFyZzogdC5jYWxsKGUsIHIpCiAgICAgIH07CiAgICB9IGNhdGNoICh0KSB7CiAgICAgIHJldHVybiB7CiAgICAgICAgdHlwZTogInRocm93IiwKICAgICAgICBhcmc6IHQKICAgICAgfTsKICAgIH0KICB9CiAgZS53cmFwID0gd3JhcDsKICB2YXIgaCA9ICJzdXNwZW5kZWRTdGFydCIsCiAgICBsID0gInN1c3BlbmRlZFlpZWxkIiwKICAgIGYgPSAiZXhlY3V0aW5nIiwKICAgIHMgPSAiY29tcGxldGVkIiwKICAgIHkgPSB7fTsKICBmdW5jdGlvbiBHZW5lcmF0b3IoKSB7fQogIGZ1bmN0aW9uIEdlbmVyYXRvckZ1bmN0aW9uKCkge30KICBmdW5jdGlvbiBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSgpIHt9CiAgdmFyIHAgPSB7fTsKICBkZWZpbmUocCwgYSwgZnVuY3Rpb24gKCkgewogICAgcmV0dXJuIHRoaXM7CiAgfSk7CiAgdmFyIGQgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YsCiAgICB2ID0gZCAmJiBkKGQodmFsdWVzKFtdKSkpOwogIHYgJiYgdiAhPT0gciAmJiBuLmNhbGwodiwgYSkgJiYgKHAgPSB2KTsKICB2YXIgZyA9IEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlLnByb3RvdHlwZSA9IEdlbmVyYXRvci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHApOwogIGZ1bmN0aW9uIGRlZmluZUl0ZXJhdG9yTWV0aG9kcyh0KSB7CiAgICBbIm5leHQiLCAidGhyb3ciLCAicmV0dXJuIl0uZm9yRWFjaChmdW5jdGlvbiAoZSkgewogICAgICBkZWZpbmUodCwgZSwgZnVuY3Rpb24gKHQpIHsKICAgICAgICByZXR1cm4gdGhpcy5faW52b2tlKGUsIHQpOwogICAgICB9KTsKICAgIH0pOwogIH0KICBmdW5jdGlvbiBBc3luY0l0ZXJhdG9yKHQsIGUpIHsKICAgIGZ1bmN0aW9uIGludm9rZShyLCBvLCBpLCBhKSB7CiAgICAgIHZhciBjID0gdHJ5Q2F0Y2godFtyXSwgdCwgbyk7CiAgICAgIGlmICgidGhyb3ciICE9PSBjLnR5cGUpIHsKICAgICAgICB2YXIgdSA9IGMuYXJnLAogICAgICAgICAgaCA9IHUudmFsdWU7CiAgICAgICAgcmV0dXJuIGggJiYgIm9iamVjdCIgPT0gX3R5cGVvZihoKSAmJiBuLmNhbGwoaCwgIl9fYXdhaXQiKSA/IGUucmVzb2x2ZShoLl9fYXdhaXQpLnRoZW4oZnVuY3Rpb24gKHQpIHsKICAgICAgICAgIGludm9rZSgibmV4dCIsIHQsIGksIGEpOwogICAgICAgIH0sIGZ1bmN0aW9uICh0KSB7CiAgICAgICAgICBpbnZva2UoInRocm93IiwgdCwgaSwgYSk7CiAgICAgICAgfSkgOiBlLnJlc29sdmUoaCkudGhlbihmdW5jdGlvbiAodCkgewogICAgICAgICAgdS52YWx1ZSA9IHQsIGkodSk7CiAgICAgICAgfSwgZnVuY3Rpb24gKHQpIHsKICAgICAgICAgIHJldHVybiBpbnZva2UoInRocm93IiwgdCwgaSwgYSk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgYShjLmFyZyk7CiAgICB9CiAgICB2YXIgcjsKICAgIG8odGhpcywgIl9pbnZva2UiLCB7CiAgICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZSh0LCBuKSB7CiAgICAgICAgZnVuY3Rpb24gY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmcoKSB7CiAgICAgICAgICByZXR1cm4gbmV3IGUoZnVuY3Rpb24gKGUsIHIpIHsKICAgICAgICAgICAgaW52b2tlKHQsIG4sIGUsIHIpOwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiByID0gciA/IHIudGhlbihjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZywgY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmcpIDogY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmcoKTsKICAgICAgfQogICAgfSk7CiAgfQogIGZ1bmN0aW9uIG1ha2VJbnZva2VNZXRob2QoZSwgciwgbikgewogICAgdmFyIG8gPSBoOwogICAgcmV0dXJuIGZ1bmN0aW9uIChpLCBhKSB7CiAgICAgIGlmIChvID09PSBmKSB0aHJvdyBFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgcnVubmluZyIpOwogICAgICBpZiAobyA9PT0gcykgewogICAgICAgIGlmICgidGhyb3ciID09PSBpKSB0aHJvdyBhOwogICAgICAgIHJldHVybiB7CiAgICAgICAgICB2YWx1ZTogdCwKICAgICAgICAgIGRvbmU6ICEwCiAgICAgICAgfTsKICAgICAgfQogICAgICBmb3IgKG4ubWV0aG9kID0gaSwgbi5hcmcgPSBhOzspIHsKICAgICAgICB2YXIgYyA9IG4uZGVsZWdhdGU7CiAgICAgICAgaWYgKGMpIHsKICAgICAgICAgIHZhciB1ID0gbWF5YmVJbnZva2VEZWxlZ2F0ZShjLCBuKTsKICAgICAgICAgIGlmICh1KSB7CiAgICAgICAgICAgIGlmICh1ID09PSB5KSBjb250aW51ZTsKICAgICAgICAgICAgcmV0dXJuIHU7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICgibmV4dCIgPT09IG4ubWV0aG9kKSBuLnNlbnQgPSBuLl9zZW50ID0gbi5hcmc7ZWxzZSBpZiAoInRocm93IiA9PT0gbi5tZXRob2QpIHsKICAgICAgICAgIGlmIChvID09PSBoKSB0aHJvdyBvID0gcywgbi5hcmc7CiAgICAgICAgICBuLmRpc3BhdGNoRXhjZXB0aW9uKG4uYXJnKTsKICAgICAgICB9IGVsc2UgInJldHVybiIgPT09IG4ubWV0aG9kICYmIG4uYWJydXB0KCJyZXR1cm4iLCBuLmFyZyk7CiAgICAgICAgbyA9IGY7CiAgICAgICAgdmFyIHAgPSB0cnlDYXRjaChlLCByLCBuKTsKICAgICAgICBpZiAoIm5vcm1hbCIgPT09IHAudHlwZSkgewogICAgICAgICAgaWYgKG8gPSBuLmRvbmUgPyBzIDogbCwgcC5hcmcgPT09IHkpIGNvbnRpbnVlOwogICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgdmFsdWU6IHAuYXJnLAogICAgICAgICAgICBkb25lOiBuLmRvbmUKICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgICJ0aHJvdyIgPT09IHAudHlwZSAmJiAobyA9IHMsIG4ubWV0aG9kID0gInRocm93Iiwgbi5hcmcgPSBwLmFyZyk7CiAgICAgIH0KICAgIH07CiAgfQogIGZ1bmN0aW9uIG1heWJlSW52b2tlRGVsZWdhdGUoZSwgcikgewogICAgdmFyIG4gPSByLm1ldGhvZCwKICAgICAgbyA9IGUuaXRlcmF0b3Jbbl07CiAgICBpZiAobyA9PT0gdCkgcmV0dXJuIHIuZGVsZWdhdGUgPSBudWxsLCAidGhyb3ciID09PSBuICYmIGUuaXRlcmF0b3JbInJldHVybiJdICYmIChyLm1ldGhvZCA9ICJyZXR1cm4iLCByLmFyZyA9IHQsIG1heWJlSW52b2tlRGVsZWdhdGUoZSwgciksICJ0aHJvdyIgPT09IHIubWV0aG9kKSB8fCAicmV0dXJuIiAhPT0gbiAmJiAoci5tZXRob2QgPSAidGhyb3ciLCByLmFyZyA9IG5ldyBUeXBlRXJyb3IoIlRoZSBpdGVyYXRvciBkb2VzIG5vdCBwcm92aWRlIGEgJyIgKyBuICsgIicgbWV0aG9kIikpLCB5OwogICAgdmFyIGkgPSB0cnlDYXRjaChvLCBlLml0ZXJhdG9yLCByLmFyZyk7CiAgICBpZiAoInRocm93IiA9PT0gaS50eXBlKSByZXR1cm4gci5tZXRob2QgPSAidGhyb3ciLCByLmFyZyA9IGkuYXJnLCByLmRlbGVnYXRlID0gbnVsbCwgeTsKICAgIHZhciBhID0gaS5hcmc7CiAgICByZXR1cm4gYSA/IGEuZG9uZSA/IChyW2UucmVzdWx0TmFtZV0gPSBhLnZhbHVlLCByLm5leHQgPSBlLm5leHRMb2MsICJyZXR1cm4iICE9PSByLm1ldGhvZCAmJiAoci5tZXRob2QgPSAibmV4dCIsIHIuYXJnID0gdCksIHIuZGVsZWdhdGUgPSBudWxsLCB5KSA6IGEgOiAoci5tZXRob2QgPSAidGhyb3ciLCByLmFyZyA9IG5ldyBUeXBlRXJyb3IoIml0ZXJhdG9yIHJlc3VsdCBpcyBub3QgYW4gb2JqZWN0IiksIHIuZGVsZWdhdGUgPSBudWxsLCB5KTsKICB9CiAgZnVuY3Rpb24gcHVzaFRyeUVudHJ5KHQpIHsKICAgIHZhciBlID0gewogICAgICB0cnlMb2M6IHRbMF0KICAgIH07CiAgICAxIGluIHQgJiYgKGUuY2F0Y2hMb2MgPSB0WzFdKSwgMiBpbiB0ICYmIChlLmZpbmFsbHlMb2MgPSB0WzJdLCBlLmFmdGVyTG9jID0gdFszXSksIHRoaXMudHJ5RW50cmllcy5wdXNoKGUpOwogIH0KICBmdW5jdGlvbiByZXNldFRyeUVudHJ5KHQpIHsKICAgIHZhciBlID0gdC5jb21wbGV0aW9uIHx8IHt9OwogICAgZS50eXBlID0gIm5vcm1hbCIsIGRlbGV0ZSBlLmFyZywgdC5jb21wbGV0aW9uID0gZTsKICB9CiAgZnVuY3Rpb24gQ29udGV4dCh0KSB7CiAgICB0aGlzLnRyeUVudHJpZXMgPSBbewogICAgICB0cnlMb2M6ICJyb290IgogICAgfV0sIHQuZm9yRWFjaChwdXNoVHJ5RW50cnksIHRoaXMpLCB0aGlzLnJlc2V0KCEwKTsKICB9CiAgZnVuY3Rpb24gdmFsdWVzKGUpIHsKICAgIGlmIChlIHx8ICIiID09PSBlKSB7CiAgICAgIHZhciByID0gZVthXTsKICAgICAgaWYgKHIpIHJldHVybiByLmNhbGwoZSk7CiAgICAgIGlmICgiZnVuY3Rpb24iID09IHR5cGVvZiBlLm5leHQpIHJldHVybiBlOwogICAgICBpZiAoIWlzTmFOKGUubGVuZ3RoKSkgewogICAgICAgIHZhciBvID0gLTEsCiAgICAgICAgICBpID0gZnVuY3Rpb24gbmV4dCgpIHsKICAgICAgICAgICAgZm9yICg7ICsrbyA8IGUubGVuZ3RoOykgaWYgKG4uY2FsbChlLCBvKSkgcmV0dXJuIG5leHQudmFsdWUgPSBlW29dLCBuZXh0LmRvbmUgPSAhMSwgbmV4dDsKICAgICAgICAgICAgcmV0dXJuIG5leHQudmFsdWUgPSB0LCBuZXh0LmRvbmUgPSAhMCwgbmV4dDsKICAgICAgICAgIH07CiAgICAgICAgcmV0dXJuIGkubmV4dCA9IGk7CiAgICAgIH0KICAgIH0KICAgIHRocm93IG5ldyBUeXBlRXJyb3IoX3R5cGVvZihlKSArICIgaXMgbm90IGl0ZXJhYmxlIik7CiAgfQogIHJldHVybiBHZW5lcmF0b3JGdW5jdGlvbi5wcm90b3R5cGUgPSBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSwgbyhnLCAiY29uc3RydWN0b3IiLCB7CiAgICB2YWx1ZTogR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUsCiAgICBjb25maWd1cmFibGU6ICEwCiAgfSksIG8oR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUsICJjb25zdHJ1Y3RvciIsIHsKICAgIHZhbHVlOiBHZW5lcmF0b3JGdW5jdGlvbiwKICAgIGNvbmZpZ3VyYWJsZTogITAKICB9KSwgR2VuZXJhdG9yRnVuY3Rpb24uZGlzcGxheU5hbWUgPSBkZWZpbmUoR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUsIHUsICJHZW5lcmF0b3JGdW5jdGlvbiIpLCBlLmlzR2VuZXJhdG9yRnVuY3Rpb24gPSBmdW5jdGlvbiAodCkgewogICAgdmFyIGUgPSAiZnVuY3Rpb24iID09IHR5cGVvZiB0ICYmIHQuY29uc3RydWN0b3I7CiAgICByZXR1cm4gISFlICYmIChlID09PSBHZW5lcmF0b3JGdW5jdGlvbiB8fCAiR2VuZXJhdG9yRnVuY3Rpb24iID09PSAoZS5kaXNwbGF5TmFtZSB8fCBlLm5hbWUpKTsKICB9LCBlLm1hcmsgPSBmdW5jdGlvbiAodCkgewogICAgcmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZih0LCBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSkgOiAodC5fX3Byb3RvX18gPSBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSwgZGVmaW5lKHQsIHUsICJHZW5lcmF0b3JGdW5jdGlvbiIpKSwgdC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKGcpLCB0OwogIH0sIGUuYXdyYXAgPSBmdW5jdGlvbiAodCkgewogICAgcmV0dXJuIHsKICAgICAgX19hd2FpdDogdAogICAgfTsKICB9LCBkZWZpbmVJdGVyYXRvck1ldGhvZHMoQXN5bmNJdGVyYXRvci5wcm90b3R5cGUpLCBkZWZpbmUoQXN5bmNJdGVyYXRvci5wcm90b3R5cGUsIGMsIGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiB0aGlzOwogIH0pLCBlLkFzeW5jSXRlcmF0b3IgPSBBc3luY0l0ZXJhdG9yLCBlLmFzeW5jID0gZnVuY3Rpb24gKHQsIHIsIG4sIG8sIGkpIHsKICAgIHZvaWQgMCA9PT0gaSAmJiAoaSA9IFByb21pc2UpOwogICAgdmFyIGEgPSBuZXcgQXN5bmNJdGVyYXRvcih3cmFwKHQsIHIsIG4sIG8pLCBpKTsKICAgIHJldHVybiBlLmlzR2VuZXJhdG9yRnVuY3Rpb24ocikgPyBhIDogYS5uZXh0KCkudGhlbihmdW5jdGlvbiAodCkgewogICAgICByZXR1cm4gdC5kb25lID8gdC52YWx1ZSA6IGEubmV4dCgpOwogICAgfSk7CiAgfSwgZGVmaW5lSXRlcmF0b3JNZXRob2RzKGcpLCBkZWZpbmUoZywgdSwgIkdlbmVyYXRvciIpLCBkZWZpbmUoZywgYSwgZnVuY3Rpb24gKCkgewogICAgcmV0dXJuIHRoaXM7CiAgfSksIGRlZmluZShnLCAidG9TdHJpbmciLCBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gIltvYmplY3QgR2VuZXJhdG9yXSI7CiAgfSksIGUua2V5cyA9IGZ1bmN0aW9uICh0KSB7CiAgICB2YXIgZSA9IE9iamVjdCh0KSwKICAgICAgciA9IFtdOwogICAgZm9yICh2YXIgbiBpbiBlKSByLnB1c2gobik7CiAgICByZXR1cm4gci5yZXZlcnNlKCksIGZ1bmN0aW9uIG5leHQoKSB7CiAgICAgIGZvciAoOyByLmxlbmd0aDspIHsKICAgICAgICB2YXIgdCA9IHIucG9wKCk7CiAgICAgICAgaWYgKHQgaW4gZSkgcmV0dXJuIG5leHQudmFsdWUgPSB0LCBuZXh0LmRvbmUgPSAhMSwgbmV4dDsKICAgICAgfQogICAgICByZXR1cm4gbmV4dC5kb25lID0gITAsIG5leHQ7CiAgICB9OwogIH0sIGUudmFsdWVzID0gdmFsdWVzLCBDb250ZXh0LnByb3RvdHlwZSA9IHsKICAgIGNvbnN0cnVjdG9yOiBDb250ZXh0LAogICAgcmVzZXQ6IGZ1bmN0aW9uIHJlc2V0KGUpIHsKICAgICAgaWYgKHRoaXMucHJldiA9IDAsIHRoaXMubmV4dCA9IDAsIHRoaXMuc2VudCA9IHRoaXMuX3NlbnQgPSB0LCB0aGlzLmRvbmUgPSAhMSwgdGhpcy5kZWxlZ2F0ZSA9IG51bGwsIHRoaXMubWV0aG9kID0gIm5leHQiLCB0aGlzLmFyZyA9IHQsIHRoaXMudHJ5RW50cmllcy5mb3JFYWNoKHJlc2V0VHJ5RW50cnkpLCAhZSkgZm9yICh2YXIgciBpbiB0aGlzKSAidCIgPT09IHIuY2hhckF0KDApICYmIG4uY2FsbCh0aGlzLCByKSAmJiAhaXNOYU4oK3Iuc2xpY2UoMSkpICYmICh0aGlzW3JdID0gdCk7CiAgICB9LAogICAgc3RvcDogZnVuY3Rpb24gc3RvcCgpIHsKICAgICAgdGhpcy5kb25lID0gITA7CiAgICAgIHZhciB0ID0gdGhpcy50cnlFbnRyaWVzWzBdLmNvbXBsZXRpb247CiAgICAgIGlmICgidGhyb3ciID09PSB0LnR5cGUpIHRocm93IHQuYXJnOwogICAgICByZXR1cm4gdGhpcy5ydmFsOwogICAgfSwKICAgIGRpc3BhdGNoRXhjZXB0aW9uOiBmdW5jdGlvbiBkaXNwYXRjaEV4Y2VwdGlvbihlKSB7CiAgICAgIGlmICh0aGlzLmRvbmUpIHRocm93IGU7CiAgICAgIHZhciByID0gdGhpczsKICAgICAgZnVuY3Rpb24gaGFuZGxlKG4sIG8pIHsKICAgICAgICByZXR1cm4gYS50eXBlID0gInRocm93IiwgYS5hcmcgPSBlLCByLm5leHQgPSBuLCBvICYmIChyLm1ldGhvZCA9ICJuZXh0Iiwgci5hcmcgPSB0KSwgISFvOwogICAgICB9CiAgICAgIGZvciAodmFyIG8gPSB0aGlzLnRyeUVudHJpZXMubGVuZ3RoIC0gMTsgbyA+PSAwOyAtLW8pIHsKICAgICAgICB2YXIgaSA9IHRoaXMudHJ5RW50cmllc1tvXSwKICAgICAgICAgIGEgPSBpLmNvbXBsZXRpb247CiAgICAgICAgaWYgKCJyb290IiA9PT0gaS50cnlMb2MpIHJldHVybiBoYW5kbGUoImVuZCIpOwogICAgICAgIGlmIChpLnRyeUxvYyA8PSB0aGlzLnByZXYpIHsKICAgICAgICAgIHZhciBjID0gbi5jYWxsKGksICJjYXRjaExvYyIpLAogICAgICAgICAgICB1ID0gbi5jYWxsKGksICJmaW5hbGx5TG9jIik7CiAgICAgICAgICBpZiAoYyAmJiB1KSB7CiAgICAgICAgICAgIGlmICh0aGlzLnByZXYgPCBpLmNhdGNoTG9jKSByZXR1cm4gaGFuZGxlKGkuY2F0Y2hMb2MsICEwKTsKICAgICAgICAgICAgaWYgKHRoaXMucHJldiA8IGkuZmluYWxseUxvYykgcmV0dXJuIGhhbmRsZShpLmZpbmFsbHlMb2MpOwogICAgICAgICAgfSBlbHNlIGlmIChjKSB7CiAgICAgICAgICAgIGlmICh0aGlzLnByZXYgPCBpLmNhdGNoTG9jKSByZXR1cm4gaGFuZGxlKGkuY2F0Y2hMb2MsICEwKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmICghdSkgdGhyb3cgRXJyb3IoInRyeSBzdGF0ZW1lbnQgd2l0aG91dCBjYXRjaCBvciBmaW5hbGx5Iik7CiAgICAgICAgICAgIGlmICh0aGlzLnByZXYgPCBpLmZpbmFsbHlMb2MpIHJldHVybiBoYW5kbGUoaS5maW5hbGx5TG9jKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICBhYnJ1cHQ6IGZ1bmN0aW9uIGFicnVwdCh0LCBlKSB7CiAgICAgIGZvciAodmFyIHIgPSB0aGlzLnRyeUVudHJpZXMubGVuZ3RoIC0gMTsgciA+PSAwOyAtLXIpIHsKICAgICAgICB2YXIgbyA9IHRoaXMudHJ5RW50cmllc1tyXTsKICAgICAgICBpZiAoby50cnlMb2MgPD0gdGhpcy5wcmV2ICYmIG4uY2FsbChvLCAiZmluYWxseUxvYyIpICYmIHRoaXMucHJldiA8IG8uZmluYWxseUxvYykgewogICAgICAgICAgdmFyIGkgPSBvOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIGkgJiYgKCJicmVhayIgPT09IHQgfHwgImNvbnRpbnVlIiA9PT0gdCkgJiYgaS50cnlMb2MgPD0gZSAmJiBlIDw9IGkuZmluYWxseUxvYyAmJiAoaSA9IG51bGwpOwogICAgICB2YXIgYSA9IGkgPyBpLmNvbXBsZXRpb24gOiB7fTsKICAgICAgcmV0dXJuIGEudHlwZSA9IHQsIGEuYXJnID0gZSwgaSA/ICh0aGlzLm1ldGhvZCA9ICJuZXh0IiwgdGhpcy5uZXh0ID0gaS5maW5hbGx5TG9jLCB5KSA6IHRoaXMuY29tcGxldGUoYSk7CiAgICB9LAogICAgY29tcGxldGU6IGZ1bmN0aW9uIGNvbXBsZXRlKHQsIGUpIHsKICAgICAgaWYgKCJ0aHJvdyIgPT09IHQudHlwZSkgdGhyb3cgdC5hcmc7CiAgICAgIHJldHVybiAiYnJlYWsiID09PSB0LnR5cGUgfHwgImNvbnRpbnVlIiA9PT0gdC50eXBlID8gdGhpcy5uZXh0ID0gdC5hcmcgOiAicmV0dXJuIiA9PT0gdC50eXBlID8gKHRoaXMucnZhbCA9IHRoaXMuYXJnID0gdC5hcmcsIHRoaXMubWV0aG9kID0gInJldHVybiIsIHRoaXMubmV4dCA9ICJlbmQiKSA6ICJub3JtYWwiID09PSB0LnR5cGUgJiYgZSAmJiAodGhpcy5uZXh0ID0gZSksIHk7CiAgICB9LAogICAgZmluaXNoOiBmdW5jdGlvbiBmaW5pc2godCkgewogICAgICBmb3IgKHZhciBlID0gdGhpcy50cnlFbnRyaWVzLmxlbmd0aCAtIDE7IGUgPj0gMDsgLS1lKSB7CiAgICAgICAgdmFyIHIgPSB0aGlzLnRyeUVudHJpZXNbZV07CiAgICAgICAgaWYgKHIuZmluYWxseUxvYyA9PT0gdCkgcmV0dXJuIHRoaXMuY29tcGxldGUoci5jb21wbGV0aW9uLCByLmFmdGVyTG9jKSwgcmVzZXRUcnlFbnRyeShyKSwgeTsKICAgICAgfQogICAgfSwKICAgICJjYXRjaCI6IGZ1bmN0aW9uIF9jYXRjaCh0KSB7CiAgICAgIGZvciAodmFyIGUgPSB0aGlzLnRyeUVudHJpZXMubGVuZ3RoIC0gMTsgZSA+PSAwOyAtLWUpIHsKICAgICAgICB2YXIgciA9IHRoaXMudHJ5RW50cmllc1tlXTsKICAgICAgICBpZiAoci50cnlMb2MgPT09IHQpIHsKICAgICAgICAgIHZhciBuID0gci5jb21wbGV0aW9uOwogICAgICAgICAgaWYgKCJ0aHJvdyIgPT09IG4udHlwZSkgewogICAgICAgICAgICB2YXIgbyA9IG4uYXJnOwogICAgICAgICAgICByZXNldFRyeUVudHJ5KHIpOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIG87CiAgICAgICAgfQogICAgICB9CiAgICAgIHRocm93IEVycm9yKCJpbGxlZ2FsIGNhdGNoIGF0dGVtcHQiKTsKICAgIH0sCiAgICBkZWxlZ2F0ZVlpZWxkOiBmdW5jdGlvbiBkZWxlZ2F0ZVlpZWxkKGUsIHIsIG4pIHsKICAgICAgcmV0dXJuIHRoaXMuZGVsZWdhdGUgPSB7CiAgICAgICAgaXRlcmF0b3I6IHZhbHVlcyhlKSwKICAgICAgICByZXN1bHROYW1lOiByLAogICAgICAgIG5leHRMb2M6IG4KICAgICAgfSwgIm5leHQiID09PSB0aGlzLm1ldGhvZCAmJiAodGhpcy5hcmcgPSB0KSwgeTsKICAgIH0KICB9LCBlOwp9Cm1vZHVsZS5leHBvcnRzID0gX3JlZ2VuZXJhdG9yUnVudGltZSwgbW9kdWxlLmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWUsIG1vZHVsZS5leHBvcnRzWyJkZWZhdWx0Il0gPSBtb2R1bGUuZXhwb3J0czs="},null]}