{"remainingRequest":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\ljzc-fvue\\src\\components\\flow\\taskFlowComponents\\formContent.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\src\\components\\flow\\taskFlowComponents\\formContent.vue","mtime":1705040076915},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\babel.config.js","mtime":1701311296006},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmpzb24uc3RyaW5naWZ5LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LmtleXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5wdXNoLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBPbmxpbmVGb3JtIGZyb20gJ0AvY29tcG9uZW50cy9mbG93L09ubGluZUZvcm0udnVlJzsKaW1wb3J0IGZvcm0gZnJvbSAnQC9hcGkvZm9ybUNvbnRlbnQuanMnOwppbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnZWxlbWVudC11aSc7CmltcG9ydCB7IExvYWRpbmcgfSBmcm9tICdlbGVtZW50LXVpJzsKaW1wb3J0IEZpbGVQcmV2aWV3IGZyb20gJ0AvY29tcG9uZW50cy9jb21tb24vRmlsZVByZXZpZXcudnVlJzsKaW1wb3J0IHJlcSBmcm9tICdAL3JlcXVlc3QuanMnOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ2Zvcm1Db250ZW50JywKICBwcm9wczogWydpbnN0SWQnLCAndGFza0lkJywgJ2RlZklkJywgJ3Byb0luc3RJZCcsICd0eXBlJywgJ3JlYWRJZCcsICdyZWFkRG9uZUlkJywgJ215UmVhZFR5cGUnLCAnbGVhZGVySWQnLCAnZm9ybUxvYWRpbmcnLCAndGFza19zdGF0ZScsICd0YXNrcycsICdpc0xvb2snLCAnY29weUluc3RJZCcsICdzdGFydEZsb3cnLCAncmVsYXRpb25EYXRhJ10sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGJ1dHRvbnM6IFtdLAogICAgICBzdGF0dXNfc3R5bGU6ICcnLAogICAgICBkYXRhSW5zdElkOiAnJywKICAgICAgaHRtbDogbnVsbCwKICAgICAgZGF0YTogbnVsbCwKICAgICAgcGVybWlzc2lvbjogbnVsbCwKICAgICAgaXNWaWV3OiB0cnVlLAogICAgICBmb3JtVHlwZTogJ0lOTkVSJywKICAgICAgaHRtbFNyYzogbnVsbCwKICAgICAgdXJnZW50U3RhdGVDb25mOiB7fSwKICAgICAgZm9ybUhlbHBGaWxlOiAnJywKICAgICAgc3JjOiAnJywKICAgICAgZmlsZXM6IFtdLAogICAgICBmaWxlSWQ6ICcnLAogICAgICBmaWxlVHJlZTogJycsCiAgICAgIGZvcm1EYXRhOiAnJywKICAgICAgaW5pdEZpbGxEYXRhOiBmYWxzZSwKICAgICAgZm9ybUlkOiAnJywKICAgICAgZmxvd0tleTogJycsCiAgICAgIHRhc2tEZXRhaWxMb2FkaW5nOiAnJywKICAgICAgdG9wRGl2SGVpZ2h0OiAnOTlweCcsCiAgICAgIC8v56m6ZGl255qE6auY5bqmIOeUqOS6juaSkeW8gOmhtemdouS4i+eahGRpduWGheWuuQogICAgICBmb3JtS2V5OiAnJywKICAgICAgLy/ooajljZVrZXkKICAgICAgZm9ybUNvbXBvbmVudEtleTogbmV3IERhdGUoKS5nZXRUaW1lKCksCiAgICAgIGlmcmFtZVdpbjogbnVsbAogICAgfTsKICB9LAogIHdhdGNoOiB7CiAgICB0YXNrczogZnVuY3Rpb24gdGFza3MobmV3VmFsLCBvbGRWYWwpIHsKICAgICAgaWYgKG5ld1ZhbCkgewogICAgICAgIHRoaXMuaW5pdCgpOwogICAgICB9CiAgICB9LAogICAgdXJnZW50U3RhdGVWYWx1ZTogZnVuY3Rpb24gdXJnZW50U3RhdGVWYWx1ZShuZXdWYWwsIG9sZFZhbCkgewogICAgICBpZiAod2luZG93LnVyZ2VudFN0YXRlVmFsdWUpIHsKICAgICAgICB3aW5kb3cudXJnZW50U3RhdGVWYWx1ZS5uZXcgPSBuZXdWYWw7CiAgICAgIH0KICAgIH0KICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICBpZiAodGhpcy5pc1BsbWVmb3JtUGFnZSkgewogICAgICB0aGlzLnRvcERpdkhlaWdodCA9IDA7CiAgICB9CiAgICAvL+W+heWKnueahOaXtuWAmSx3YXRjaOW3sue7j+ebkeWQrOS6hnRhc2tzLOWPr+S7peS4jeeUqOWIneWni+WMlgogICAgaWYgKCF0aGlzLnRhc2tJZCkgewogICAgICB0aGlzLmluaXQoKTsKICAgIH0KICAgIGlmICh0aGlzLnR5cGUgPT0gJ3JlcXVlc3QnKSB7CiAgICAgIHRoaXMudG9wRGl2SGVpZ2h0ID0gJzIwcHgnOwogICAgfQogIH0sCiAgbWV0aG9kczogewogICAgLyoqDQogICAgICog5L+u5pS55qC35byPDQogICAgICogQHBhcmFtIGRpdmhlaWdodCAg5pyA5LiK6Z2iZGl255qE6auY5bqmDQogICAgICovCiAgICB1cGRhdGVTdHlsZTogZnVuY3Rpb24gdXBkYXRlU3R5bGUoZGl2aGVpZ2h0KSB7CiAgICAgIHRoaXMudG9wRGl2SGVpZ2h0ID0gZGl2aGVpZ2h0OwogICAgfSwKICAgIHByZXZpZXdIZWxwRmlsZTogZnVuY3Rpb24gcHJldmlld0hlbHBGaWxlKCkgewogICAgICB2YXIgb2JqID0ge307CiAgICAgIG9iai5pZCA9IHRoaXMuZm9ybUhlbHBGaWxlWzBdLmlkOwogICAgICBvYmoubmFtZSA9IHRoaXMuZm9ybUhlbHBGaWxlWzBdLm5hbWU7CiAgICAgIG9iai5zaXplID0gdGhpcy5mb3JtSGVscEZpbGVbMF0uc2l6ZTsKICAgICAgdGhpcy4kcmVmcy5maWxlUHJldmlldy5wcmV2aWV3KG9iaik7CiAgICB9LAogICAgc2V0SW5pdEZpbGxEYXRhOiBmdW5jdGlvbiBzZXRJbml0RmlsbERhdGEoaXNJbml0RmlsbERhdGEpIHsKICAgICAgdGhpcy5pbml0RmlsbERhdGEgPSBpc0luaXRGaWxsRGF0YTsKICAgIH0sCiAgICBoaWRkZW5Db250ZW50OiBmdW5jdGlvbiBoaWRkZW5Db250ZW50KCkgewogICAgICB0aGlzLiRyZWZzLmZvcm1Db250YWluZXIuY2xhc3NOYW1lID0gJ2Zvcm0tY29udGFpbmVyLW5vdCc7CiAgICB9LAogICAgaW5pdDogZnVuY3Rpb24gaW5pdCh1cGRhdGVGb3JtQ29tcG9uZW50KSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICBpZiAodGhpcy50YXNrX3N0YXRlID09ICdGT0xMT1cnKSB7CiAgICAgICAgdGhpcy5zdGF0dXNfc3R5bGUgPSAncGFkZGluZy10b3A6MHB4ICFpbXBvcnRhbnQ7JzsKICAgICAgfQogICAgICB2YXIgJCA9IHJlcXVpcmUoJ2pxdWVyeScpOwogICAgICB2YXIgX21lID0gdGhpczsKICAgICAgaWYgKF9tZS50YXNrcykgewogICAgICAgIF9tZS5pbml0RmlsbERhdGEgPSBfbWUudGFza3MuaW5pdEZpbGxEYXRhOwogICAgICB9CiAgICAgIHZhciByZWFkT25seSA9IGZhbHNlOwogICAgICBpZiAoX21lLnRhc2tzICYmIF9tZS50YXNrcy5icG1UYXNrICYmIChfbWUudGFza3MuYnBtVGFzay5zdGF0dXMgPT09ICdDT01NVScgfHwgX21lLnRhc2tzLmJwbVRhc2suc3RhdHVzID09PSAnVFJBTlNGT1JNRURJTlFVJyB8fCBfbWUudGFza3MuYnBtVGFzay5zdGF0dXMgPT09ICdGT0xMT1cnKSkgewogICAgICAgIHJlYWRPbmx5ID0gdHJ1ZTsKICAgICAgfQoKICAgICAgLy/ojrflj5bmtYHnqIvlrprkuYlrZXkKICAgICAgX21lLmdldEZsb3dLZXkoKTsKICAgICAgdmFyIGhhbmRsZXJKcyA9IGZ1bmN0aW9uIGhhbmRsZXJKcyhyZXApIHsKICAgICAgICB2YXIgY3VycmVudFVzZXIgPSBfbWUuJHN0b3JlLnN0YXRlLmxvZ2luLmN1cnJlbnRVc2VyOwogICAgICAgIHZhciBkYXRhID0gX21lLmRhdGE7CiAgICAgICAgdmFyIF90aGlzID0gX21lOwogICAgICAgIGlmIChyZXAgJiYgcmVwLmRpeUpzKSB7CiAgICAgICAgICBldmFsKHJlcC5kaXlKcyk7CiAgICAgICAgfQogICAgICB9OwogICAgICB2YXIgaGFuZGxlciA9IGZ1bmN0aW9uIGhhbmRsZXIocmVwKSB7CiAgICAgICAgLy/lj5HotbfmtYHnqIvnmoTml7blgJnlvpfliLDmjInpkq7lr7nosaEKICAgICAgICBpZiAocmVwLmJ1dHRvbnMpIHsKICAgICAgICAgIF9tZS5idXR0b25zID0gcmVwLmJ1dHRvbnM7CiAgICAgICAgfQogICAgICAgIGlmIChfbWUudGFza0RldGFpbExvYWRpbmcpIHsKICAgICAgICAgIF9tZS50YXNrRGV0YWlsTG9hZGluZy5jbG9zZSgpOwogICAgICAgIH0KICAgICAgICBpZiAoX21lLm15UmVhZFR5cGUgPT0gJ2FnZW50JykgewogICAgICAgICAgTWVzc2FnZS53YXJuaW5nKCfmraTmtYHnqIvlt7Looqvlp5TmiZgs5rKh5pyJ5a6h5om55p2DJyk7CiAgICAgICAgfQogICAgICAgIGlmICghcmVwKSB7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShyZXApID09ICd7fScpIHsKICAgICAgICAgIE1lc3NhZ2UuZXJyb3IoJ+atpOa1geeoi+i/mOayoeacieiuvue9ruWFqOWxgOihqOWNlSzor7flhYjorr7nva7lhajlsYDooajljZUhJyk7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGlmIChyZXAucmVzdWx0TXNnID09ICdmb3JtRW1wdHknIHx8IHJlcC5yZXN1bHQgPT0gJ2Zvcm1FbXB0eScpIHsKICAgICAgICAgIE1lc3NhZ2UuZXJyb3IoJ+atpOa1geeoi+i/mOayoeacieiuvue9ruihqOWNlSzor7flhYjorr7nva7ooajljZUhJyk7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIF9tZS5mb3JtS2V5ID0gcmVwLmZvcm0uZm9ybUtleTsKICAgICAgICAvL19tZS5mb3JtSWQ9cmVwLmZvcm0uZm9ybUlkOwogICAgICAgIGlmIChyZXAuZm9ybSAmJiByZXAuZm9ybS50eXBlID09ICdGUkFNRScpIHsKICAgICAgICAgIF9tZS5odG1sU3JjID0gcmVwLmZvcm0uZm9ybVZhbHVlOwogICAgICAgICAgY29uc29sZS5sb2coX21lLmh0bWxTcmMsICdfbWUuaHRtbFNyYyAnLCBfbWUpOwogICAgICAgICAgX21lLmZvcm1UeXBlID0gcmVwLmZvcm0udHlwZTsKCiAgICAgICAgICAvL+ihqOWNleWKoOi9veWujOaIkOWPkeW4g+S6i+S7tiDlrqHmibnmjInpkq7miY3lj6/ku6Xngrnlh7sKICAgICAgICAgIF9tZS4kcm9vdC4kZW1pdCgnZm9ybUxvYWRpbmcnLCBmYWxzZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF9tZS5mb3JtSWQgPSByZXAuZm9ybS5mb3JtSWQ7CiAgICAgICAgICBmb3JtLnByZXZpZXcocmVwLmZvcm0uZm9ybUlkLCBoYW5kbGVySnMpOwogICAgICAgICAgaWYgKF9tZS5mb3JtRGF0YSkgewogICAgICAgICAgICBfbWUuZGF0YSA9IEpTT04ucGFyc2UoQmFzZTY0LmRlY29kZShfbWUuZm9ybURhdGEpKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIF9tZS5kYXRhID0gcmVwLmRhdGE7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAocmVwLnBlcm1pc3Npb24pIHsKICAgICAgICAgICAgdmFyIHBlcm1pc3Npb25PYmogPSBKU09OLnBhcnNlKHJlcC5wZXJtaXNzaW9uKTsKICAgICAgICAgICAgdmFyIGNvbW1vblJpZ2h0ID0gJyc7CiAgICAgICAgICAgIC8v5aaC5p6c5piv566h55CG56uv6L+b5YWl77yM5YiZ5bCG6aG16Z2i5a2X5q6155qE5p2D6ZmQ5L+u5pS55Li65Y+v57yW6L6RCiAgICAgICAgICAgIGlmIChfbWUudHlwZSA9PSAnbWFuYWdlJykgewogICAgICAgICAgICAgIGNvbW1vblJpZ2h0ID0gJ3cnOwogICAgICAgICAgICAgIC8v5aaC5p6c5piv5p+l55yL5a6e5L6L77yM5Lmf5piv6I635Y+W5Y+R6LW35rWB56iL55qE6KGo5Y2V5ZKM5p2D6ZmQ44CC5Y+q5LiN6L+H5omA5pyJ5Y+v6KeB55qE5p2D6ZmQ6KaB5Y+Y5oiQ57yW6L6RCiAgICAgICAgICAgIH0gZWxzZSBpZiAoJ3JlcXVlc3QnID09IF9tZS50eXBlIHx8IF9tZS5teVJlYWRUeXBlID09ICdteVJlcXVlc3QnIHx8IF9tZS5teVJlYWRUeXBlID09ICdkZWxlZ2F0ZScgfHwgX21lLm15UmVhZFR5cGUgPT0gJ215UmVhZCcgfHwgX21lLnJlYWREb25lSWQgfHwgX21lLnR5cGUgPT0gJ3JlYWQnIHx8IHJlYWRPbmx5KSB7CiAgICAgICAgICAgICAgY29tbW9uUmlnaHQgPSAncic7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHBlcm1pc3Npb25PYmouZmllbGRzICYmIGNvbW1vblJpZ2h0KSB7CiAgICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIHBlcm1pc3Npb25PYmouZmllbGRzKSB7CiAgICAgICAgICAgICAgICB2YXIgYm9kZWYgPSBwZXJtaXNzaW9uT2JqLmZpZWxkc1trZXldOwogICAgICAgICAgICAgICAgaWYgKGJvZGVmKSB7CiAgICAgICAgICAgICAgICAgIGZvciAodmFyIGZuYW1lIGluIGJvZGVmKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbW1vblJpZ2h0ID09ICd3JyB8fCBjb21tb25SaWdodCA9PSAncicgJiYgYm9kZWZbZm5hbWVdICE9ICduJykgewogICAgICAgICAgICAgICAgICAgICAgYm9kZWZbZm5hbWVdID0gY29tbW9uUmlnaHQ7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uT2JqLmZpZWxkc1trZXldID0gYm9kZWY7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChwZXJtaXNzaW9uT2JqLnRhYmxlICYmIGNvbW1vblJpZ2h0KSB7CiAgICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIHBlcm1pc3Npb25PYmoudGFibGUpIHsKICAgICAgICAgICAgICAgIHZhciB0YWJsZSA9IHBlcm1pc3Npb25PYmoudGFibGVba2V5XTsKICAgICAgICAgICAgICAgIGlmICh0YWJsZSkgewogICAgICAgICAgICAgICAgICBpZiAoY29tbW9uUmlnaHQgPT0gJ3cnKSB7CiAgICAgICAgICAgICAgICAgICAgdGFibGVbJ2hpZGRlbiddID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgdGFibGVbJ2FkZCddID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICB0YWJsZVsnZGVsJ10gPSB0cnVlOwogICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNvbW1vblJpZ2h0ID09ICdyJykgewogICAgICAgICAgICAgICAgICAgIHRhYmxlWydhZGQnXSA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIHRhYmxlWydkZWwnXSA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIHRhYmxlWydyZXF1aXJlZCddID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgdGFibGVbJ2VkaXQnXSA9IGZhbHNlOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uT2JqLnRhYmxlW2tleV0gPSB0YWJsZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgX21lLnBlcm1pc3Npb24gPSBwZXJtaXNzaW9uT2JqOwogICAgICAgICAgfQogICAgICAgICAgX21lLmh0bWwgPSByZXAuZm9ybS5mb3JtSHRtbDsKICAgICAgICAgIGlmIChyZXAuZm9ybS5oZWxwRmlsZSkgewogICAgICAgICAgICBfbWUuZm9ybUhlbHBGaWxlID0gSlNPTi5wYXJzZShyZXAuZm9ybS5oZWxwRmlsZSk7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoX21lLmh0bWwuc3BsaXQoJ3JlZj0ibmV4dF9zdGVwX2NoZWNrXycpLmxlbmd0aCA+IDEpIHsKICAgICAgICAgICAgX21lLiRyb290LiRlbWl0KCdzdGFydEZsb3dCdG5DaGFuZ2UnLCBmYWxzZSk7CiAgICAgICAgICB9CiAgICAgICAgICAvL+ihqOWNleWKoOi9veWujOaIkOWPkeW4g+S6i+S7tiDlrqHmibnmjInpkq7miY3lj6/ku6Xngrnlh7sKICAgICAgICAgIF9tZS4kcm9vdC4kZW1pdCgnZm9ybUxvYWRpbmcnLCBmYWxzZSk7CiAgICAgICAgICBpZiAodXBkYXRlRm9ybUNvbXBvbmVudCkgewogICAgICAgICAgICBfbWUuZm9ybUNvbXBvbmVudEtleSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfTsKICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3N0b3JlUHJvY2Vzcy9nZXRVcmdlbnRTdGF0ZUNvbmYnLCB7CiAgICAgICAgZGVmSWQ6IHRoaXMuZGVmSWQsCiAgICAgICAgaW5zdElkOiB0aGlzLmluc3RJZCwKICAgICAgICB0YXNrSWQ6IHRoaXMudGFza0lkCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKGRhdGEpIHsKICAgICAgICBpZiAoZGF0YS5jb25mKSB7CiAgICAgICAgICB0cnkgewogICAgICAgICAgICBkYXRhLmNvbmYgPSBKU09OLnBhcnNlKGRhdGEuY29uZik7CiAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICBkYXRhLmNvbmYgPSBldmFsKCcoJyArIGRhdGEuY29uZiArICcpJyk7CiAgICAgICAgICB9CiAgICAgICAgICB3aW5kb3cudXJnZW50U3RhdGVWYWx1ZSA9IHsKICAgICAgICAgICAgb2xkOiBkYXRhLnZhbHVlCiAgICAgICAgICB9OwogICAgICAgICAgaWYgKCFkYXRhLnZhbHVlKSB7CiAgICAgICAgICAgIGZvciAodmFyIGluZGV4ID0gMCwgYzsgYyA9IGRhdGEuY29uZltpbmRleCsrXTspIHsKICAgICAgICAgICAgICBpZiAoYy5kZWZhdWx0KSB7CiAgICAgICAgICAgICAgICBkYXRhLnZhbHVlID0gYy5zdGF0ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgX21lLnVyZ2VudFN0YXRlQ29uZiA9IGRhdGE7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgaWYgKHRoaXMudGFza0lkICYmIHRoaXMudGFza3MgJiYgSlNPTi5zdHJpbmdpZnkodGhpcy50YXNrcykgIT0gJ3t9JykgewogICAgICAgIGlmICghdGhpcy50YXNrcy5icG1UYXNrICYmICF0aGlzLnRhc2tzLnN0YXRlICYmIHRoaXMudGFza3MubWVzc2FnZSA9PSAn5q2k5Lu75Yqh5bey6KKr5aSE55CG5oiW5LiN5a2Y5Zyo77yBJykgewogICAgICAgICAgX21lLiRyb3V0ZXIucHVzaCgnL3YtZmxvdy92LXRvZG8nKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdGhpcy50YXNrRGV0YWlsTG9hZGluZyA9IExvYWRpbmcuc2VydmljZSh7CiAgICAgICAgICBmdWxsc2NyZWVuOiB0cnVlLAogICAgICAgICAgbG9jazogdHJ1ZSwKICAgICAgICAgIHRleHQ6ICfooajljZXmlbDmja7liqDovb3kuK3vvIzor7fogJDlv4PnrYnlvoUuLi4nLAogICAgICAgICAgc3Bpbm5lcjogJ2VsLWljb24tbG9hZGluZycsCiAgICAgICAgICBiYWNrZ3JvdW5kOiAncmdiYSgwLCAwLCAwLCAwLjcpJwogICAgICAgIH0pOyAvL+W8gOWniwogICAgICAgIGlmICh0aGlzLnRhc2tzLmJwbVRhc2suYnBtbkluc3RJZCkgewogICAgICAgICAgZm9ybS50YXNrRGV0YWlsKHsKICAgICAgICAgICAgdGFza0lkOiB0aGlzLnRhc2tJZCwKICAgICAgICAgICAgbGVhZGVySWQ6IHRoaXMubGVhZGVySWQKICAgICAgICAgIH0sIGhhbmRsZXIpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBmb3JtLmdldEluc3RGb3JtQW5kQk8odGhpcy50YXNrcy5icG1UYXNrLnByb2NJbnN0SWQsIGhhbmRsZXIpOwogICAgICAgIH0KICAgICAgfSBlbHNlIGlmICh0aGlzLnRhc2tJZCAmJiB3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCcvdGFzay8nICsgdGhpcy50YXNrSWQgKyAnLzAnKSAhPSAtMSkgewogICAgICAgIGZvcm0udGFza0RldGFpbCh7CiAgICAgICAgICB0YXNrSWQ6IHRoaXMudGFza0lkLAogICAgICAgICAgbGVhZGVySWQ6IHRoaXMubGVhZGVySWQKICAgICAgICB9LCBoYW5kbGVyKTsKICAgICAgICB2YXIgcGFyYW1zID0gewogICAgICAgICAgdGFza0lkOiB0aGlzLnRhc2tJZCwKICAgICAgICAgIGxlYWRlcklkOiB0aGlzLmxlYWRlcklkCiAgICAgICAgfTsKICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnc3RvcmVQcm9jZXNzL3Rhc2tEZXRhaWwnLCBwYXJhbXMpOyAvL+iOt+WPluaTjeS9nOaMiemSrgogICAgICB9IGVsc2UgaWYgKHRoaXMuaW5zdElkKSB7CiAgICAgICAgaWYgKCdzdGFydCcgIT0gdGhpcy50eXBlKSB7CiAgICAgICAgICB0aGlzLmlzVmlldyA9IGZhbHNlOwogICAgICAgIH0KICAgICAgICAvL+afpeeci+aIkeWPkei1t+eahO+8jOS5n+S9v+eUqOWPkei1t+a1geeoi+eahOihqOWNleOAguWPquS4jei/h+aKiue8lui+keWSjOW/heWhq+adg+mZkOaUueaIkOWPquivuwogICAgICAgIGlmICgncmVxdWVzdCcgPT0gdGhpcy50eXBlIHx8ICdteVJlcXVlc3QnID09IHRoaXMubXlSZWFkVHlwZSkgewogICAgICAgICAgZm9ybS5nZXRGb3JtQW5kQk8oewogICAgICAgICAgICBwcm9JbnN0SWQ6IHRoaXMuaW5zdElkCiAgICAgICAgICB9LCBoYW5kbGVyKTsKICAgICAgICB9IGVsc2UgaWYgKCdyZWFkJyA9PSB0aGlzLnR5cGUgfHwgdGhpcy5teVJlYWRUeXBlKSB7CiAgICAgICAgICB2YXIgdGhpc18gPSB0aGlzOwogICAgICAgICAgaWYgKHRoaXMucmVhZElkKSB7CiAgICAgICAgICAgIC8v55+l5Lya5b6F5YqeCiAgICAgICAgICAgIC8v5qC55o2u5b6F5Yqe55+l5Lya5Lu75Yqh5Li76ZSuSUTojrflj5bku7vliqFJRAogICAgICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnc3RvcmVQcm9jZXNzL2dldEJwbVRhc2tOb3RpY2VCeUlkJywgdGhpc18ucmVhZElkKS50aGVuKGZ1bmN0aW9uIChyb3cpIHsKICAgICAgICAgICAgICBpZiAocm93LnRhc2tJZCkgewogICAgICAgICAgICAgICAgLy/moLnmja7ku7vliqFJZOiOt+WPluWuoeaJueWOhuWPsuaVsOaNru+8iOWPquacieS4gOadoe+8iQogICAgICAgICAgICAgICAgX3RoaXMyLiRzdG9yZS5kaXNwYXRjaCgnc3RvcmVQcm9jZXNzL2dldFRhc2tLZXlCeVRhc2tJZCcsIHJvdy50YXNrSWQpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgICAgICBpZiAocmVzLmZvcm1EYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpc18uZm9ybURhdGEgPSByZXMuZm9ybURhdGE7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgdmFyIGlzSW5jbHVkRGF0YSA9IHJlcy5mb3JtRGF0YSA/IGZhbHNlIDogdHJ1ZTsKICAgICAgICAgICAgICAgICAgZm9ybS5nZXRJbnN0Rm9ybUFuZEJPKHsKICAgICAgICAgICAgICAgICAgICBpbnN0SWQ6IHRoaXNfLmluc3RJZCwKICAgICAgICAgICAgICAgICAgICBub2RlSWQ6IHJlcy50YXNrS2V5LAogICAgICAgICAgICAgICAgICAgIGluY2x1ZERhdGE6IGlzSW5jbHVkRGF0YQogICAgICAgICAgICAgICAgICB9LCBoYW5kbGVyKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIH0gZWxzZSBpZiAocm93Lm5vZGVJZCkgewogICAgICAgICAgICAgICAgdmFyIGRhdGEgPSB7CiAgICAgICAgICAgICAgICAgIG5vZGVJZDogcm93Lm5vZGVJZCwKICAgICAgICAgICAgICAgICAgaW5zdElkOiB0aGlzXy5pbnN0SWQKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAvL+agueaNruS7u+WKoeiKgueCuUlE5ZKM5rWB56iL5a6e5L6LSUTojrflj5blrqHmibnljoblj7LmlbDmja7vvIjlj6rmnInkuIDmnaHvvIkKICAgICAgICAgICAgICAgIF90aGlzMi4kc3RvcmUuZGlzcGF0Y2goJ3N0b3JlUHJvY2Vzcy9nZXRUYXNrS2V5QnlOb2RlSWQnLCBkYXRhKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgICAgICAgaWYgKHJlcy5mb3JtRGF0YSkgewogICAgICAgICAgICAgICAgICAgIHRoaXNfLmZvcm1EYXRhID0gcmVzLmZvcm1EYXRhOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIHZhciBpc0luY2x1ZERhdGEgPSByZXMuZm9ybURhdGEgPyBmYWxzZSA6IHRydWU7CiAgICAgICAgICAgICAgICAgIGZvcm0uZ2V0SW5zdEZvcm1BbmRCTyh7CiAgICAgICAgICAgICAgICAgICAgaW5zdElkOiB0aGlzXy5pbnN0SWQsCiAgICAgICAgICAgICAgICAgICAgbm9kZUlkOiByZXMudGFza0tleSwKICAgICAgICAgICAgICAgICAgICBpbmNsdWREYXRhOiBpc0luY2x1ZERhdGEKICAgICAgICAgICAgICAgICAgfSwgaGFuZGxlcik7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgLy/mn6XnnIvmiJHlj5HotbfnmoTvvIzkuZ/kvb/nlKjlj5HotbfmtYHnqIvnmoTooajljZUKICAgICAgICAgICAgICAgIGZvcm0uZ2V0Rm9ybUFuZEJPKHsKICAgICAgICAgICAgICAgICAgcHJvSW5zdElkOiBfdGhpczIuaW5zdElkCiAgICAgICAgICAgICAgICB9LCBoYW5kbGVyKTsKICAgICAgICAgICAgICAgIC8vIGZvcm0uZ2V0SW5zdEZvcm1BbmRCTyh0aGlzXy5pbnN0SWQsIGhhbmRsZXIpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMucmVhZERvbmVJZCkgewogICAgICAgICAgICAvL+efpeS8muW3suWKngogICAgICAgICAgICAvL+agueaNruW3suWKnuefpeS8muS7u+WKoeS4u+mUrklE6I635Y+W5Lu75YqhSUQKICAgICAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3N0b3JlUHJvY2Vzcy9nZXRCcG1UYXNrTm90aWNlRG9uZUJ5SWQnLCB0aGlzXy5yZWFkRG9uZUlkKS50aGVuKGZ1bmN0aW9uIChyb3cpIHsKICAgICAgICAgICAgICBpZiAocm93LnRhc2tJZCkgewogICAgICAgICAgICAgICAgLy/moLnmja7ku7vliqFJZOiOt+WPluWuoeaJueWOhuWPsuaVsOaNru+8iOWPquacieS4gOadoe+8iQogICAgICAgICAgICAgICAgX3RoaXMyLiRzdG9yZS5kaXNwYXRjaCgnc3RvcmVQcm9jZXNzL2dldFRhc2tLZXlCeVRhc2tJZCcsIHJvdy50YXNrSWQpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgICAgICBpZiAocmVzLmZvcm1EYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpc18uZm9ybURhdGEgPSByZXMuZm9ybURhdGE7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgdmFyIGlzSW5jbHVkRGF0YSA9IHJlcy5mb3JtRGF0YSA/IGZhbHNlIDogdHJ1ZTsKICAgICAgICAgICAgICAgICAgZm9ybS5nZXRJbnN0Rm9ybUFuZEJPKHsKICAgICAgICAgICAgICAgICAgICBpbnN0SWQ6IHRoaXNfLmluc3RJZCwKICAgICAgICAgICAgICAgICAgICBub2RlSWQ6IHJlcy50YXNrS2V5LAogICAgICAgICAgICAgICAgICAgIGluY2x1ZERhdGE6IGlzSW5jbHVkRGF0YQogICAgICAgICAgICAgICAgICB9LCBoYW5kbGVyKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIH0gZWxzZSBpZiAocm93LnRhc2tLZXkpIHsKICAgICAgICAgICAgICAgIHZhciBkYXRhID0gewogICAgICAgICAgICAgICAgICBub2RlSWQ6IHJvdy50YXNrS2V5LAogICAgICAgICAgICAgICAgICBpbnN0SWQ6IHRoaXNfLmluc3RJZAogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgIC8v5qC55o2u5Lu75Yqh6IqC54K5SUTlkozmtYHnqIvlrp7kvotJROiOt+WPluWuoeaJueWOhuWPsuaVsOaNru+8iOWPquacieS4gOadoe+8iQogICAgICAgICAgICAgICAgX3RoaXMyLiRzdG9yZS5kaXNwYXRjaCgnc3RvcmVQcm9jZXNzL2dldFRhc2tLZXlCeU5vZGVJZCcsIGRhdGEpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgICAgICBpZiAocmVzLmZvcm1EYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpc18uZm9ybURhdGEgPSByZXMuZm9ybURhdGE7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgdmFyIGlzSW5jbHVkRGF0YSA9IHJlcy5mb3JtRGF0YSA/IGZhbHNlIDogdHJ1ZTsKICAgICAgICAgICAgICAgICAgZm9ybS5nZXRJbnN0Rm9ybUFuZEJPKHsKICAgICAgICAgICAgICAgICAgICBpbnN0SWQ6IHRoaXNfLmluc3RJZCwKICAgICAgICAgICAgICAgICAgICBub2RlSWQ6IHJlcy50YXNrS2V5LAogICAgICAgICAgICAgICAgICAgIGluY2x1ZERhdGE6IGlzSW5jbHVkRGF0YQogICAgICAgICAgICAgICAgICB9LCBoYW5kbGVyKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvL+afpeeci+aIkeWPkei1t+eahO+8jOS5n+S9v+eUqOWPkei1t+a1geeoi+eahOihqOWNlQogICAgICAgICAgICAgICAgZm9ybS5nZXRGb3JtQW5kQk8oewogICAgICAgICAgICAgICAgICBwcm9JbnN0SWQ6IF90aGlzMi5pbnN0SWQKICAgICAgICAgICAgICAgIH0sIGhhbmRsZXIpOwogICAgICAgICAgICAgICAgLy8gZm9ybS5nZXRJbnN0Rm9ybUFuZEJPKHRoaXMuaW5zdElkLCBoYW5kbGVyKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy/mn6XnnIvmiJHlj5HotbfnmoTvvIzkuZ/kvb/nlKjlj5HotbfmtYHnqIvnmoTooajljZUKICAgICAgICAgICAgZm9ybS5nZXRGb3JtQW5kQk8oewogICAgICAgICAgICAgIHByb0luc3RJZDogdGhpcy5pbnN0SWQKICAgICAgICAgICAgfSwgaGFuZGxlcik7CiAgICAgICAgICAgIC8vIGZvcm0uZ2V0SW5zdEZvcm1BbmRCTyh0aGlzLmluc3RJZCwgaGFuZGxlcik7CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8v5p+l55yL5oiR5Y+R6LW355qE77yM5Lmf5L2/55So5Y+R6LW35rWB56iL55qE6KGo5Y2VCiAgICAgICAgICBmb3JtLmdldEZvcm1BbmRCTyh7CiAgICAgICAgICAgIHByb0luc3RJZDogdGhpcy5pbnN0SWQKICAgICAgICAgIH0sIGhhbmRsZXIpOwogICAgICAgICAgLy8gZm9ybS5nZXRJbnN0Rm9ybUFuZEJPKHRoaXMuaW5zdElkLCBoYW5kbGVyKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAodGhpcy5kZWZJZCkgewogICAgICAgIHZhciBkYXRhID0ge307CiAgICAgICAgaWYgKHRoaXMucHJvSW5zdElkICE9IHVuZGVmaW5lZCkgewogICAgICAgICAgZGF0YSA9IHsKICAgICAgICAgICAgZGVmSWQ6IHRoaXMuZGVmSWQsCiAgICAgICAgICAgIHByb0luc3RJZDogdGhpcy5wcm9JbnN0SWQKICAgICAgICAgIH07CiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvcHlJbnN0SWQpIHsKICAgICAgICAgIGRhdGEgPSB7CiAgICAgICAgICAgIGRlZklkOiB0aGlzLmRlZklkLAogICAgICAgICAgICBjb3B5SW5zdElkOiB0aGlzLmNvcHlJbnN0SWQKICAgICAgICAgIH07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGRhdGEgPSB7CiAgICAgICAgICAgIGRlZklkOiB0aGlzLmRlZklkCiAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICBmb3JtLmdldEZvcm1BbmRCTyhkYXRhLCBoYW5kbGVyKTsKICAgICAgfQogICAgfSwKICAgIHNlbmREYXRhOiBmdW5jdGlvbiBzZW5kRGF0YSgpIHsKICAgICAgdGhpcy4kcmVmcy5pZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7CiAgICAgICAgcGFyYW1zOiB0aGlzLnJlbGF0aW9uRGF0YQogICAgICB9KTsKICAgIH0sCiAgICBnZXRGbG93S2V5OiBmdW5jdGlvbiBnZXRGbG93S2V5KCkgewogICAgICBpZiAodGhpcy5kZWZJZCB8fCB0aGlzLmluc3RJZCB8fCB0aGlzLnRhc2tJZCkgewogICAgICAgIHZhciB1cmwgPSAnJHticG1SdW5UaW1lfS9ydW50aW1lL2luc3RhbmNlL3YxL2dldEZsb3dLZXknOwogICAgICAgIGlmICh0aGlzLmRlZklkKSB7CiAgICAgICAgICB1cmwgPSB1cmwgKyAnP2RlZklkPScgKyB0aGlzLmRlZklkOwogICAgICAgIH0gZWxzZSBpZiAodGhpcy5pbnN0SWQpIHsKICAgICAgICAgIHVybCA9IHVybCArICc/cHJvY0luc3RJZD0nICsgdGhpcy5pbnN0SWQ7CiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRhc2tJZCkgewogICAgICAgICAgdXJsID0gdXJsICsgJz90YXNrSWQ9JyArIHRoaXMudGFza0lkOwogICAgICAgIH0KICAgICAgICB2YXIgX21lID0gdGhpczsKICAgICAgICB0cnkgewogICAgICAgICAgX21lLiRodHRwLmdldCh1cmwsICdqc29uJywgZmFsc2UpLnRoZW4oZnVuY3Rpb24gKHJlc3ApIHsKICAgICAgICAgICAgdmFyIHJlcCA9IHJlc3AuZGF0YTsKICAgICAgICAgICAgaWYgKHJlcC5zdGF0ZSkgewogICAgICAgICAgICAgIF9tZS5mbG93S2V5ID0gcmVwLnZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9IGNhdGNoIChlcnJvcikge30KICAgICAgfQogICAgfQogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIHVyZ2VudFN0YXRlVmFsdWU6IGZ1bmN0aW9uIHVyZ2VudFN0YXRlVmFsdWUoKSB7CiAgICAgIHJldHVybiB0aGlzLnVyZ2VudFN0YXRlQ29uZi52YWx1ZTsKICAgIH0sCiAgICBpc1BsbWVmb3JtUGFnZTogZnVuY3Rpb24gaXNQbG1lZm9ybVBhZ2UoKSB7CiAgICAgIHJldHVybiB0aGlzLiRyb3V0ZS5xdWVyeS5oYXNPd25Qcm9wZXJ0eSgncGxtZWZvcm0nKTsKICAgIH0KICB9LAogIGNvbXBvbmVudHM6IHsKICAgIE9ubGluZUZvcm06IE9ubGluZUZvcm0sCiAgICBGaWxlUHJldmlldzogRmlsZVByZXZpZXcKICB9Cn07"},null]}