{"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\\eslint-loader\\index.js??ref--13-0!D:\\jenkins\\workspace\\ljzc-fvue\\src\\router\\router.js","dependencies":[{"path":"D:\\jenkins\\workspace\\ljzc-fvue\\src\\router\\router.js","mtime":1705040076977},{"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\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9hc3luY1RvR2VuZXJhdG9yIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2xqemMtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCBfdG9Db25zdW1hYmxlQXJyYXkgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvbGp6Yy1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90b0NvbnN1bWFibGVBcnJheS5qcyI7CmltcG9ydCAicmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pdGVyYXRvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5zZWFyY2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5wdXNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuam9pbi5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuc3RhcnRzLXdpdGguanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucmVwbGFjZS5qcyI7CmltcG9ydCBWdWUgZnJvbSAndnVlJzsKaW1wb3J0IFJvdXRlciBmcm9tICd2dWUtcm91dGVyJzsKaW1wb3J0IHN0b3JlIGZyb20gJ0Avc3RvcmUnOwppbXBvcnQgTm90Rm91bmQgZnJvbSAnQC92aWV3cy9Ob3RGb3VuZC52dWUnOwppbXBvcnQgTG9naW4gZnJvbSAnQC92aWV3cy9Mb2dpbi9pbmRleC52dWUnOwppbXBvcnQgcmVxIGZyb20gJ0AvcmVxdWVzdC5qcyc7Ci8v6Lev55SxCmltcG9ydCBtYWluUm91dGVyIGZyb20gJ0Avcm91dGVyL21vZHVsZV9yb3V0ZXInOwppbXBvcnQgY3VzdG9tU3lzdGVtUm91dGVyIGZyb20gJ0Avcm91dGVyL2N1c3RvbS1zeXN0ZW0tcm91dGVyJzsKaW1wb3J0IExheW91dCBmcm9tICdAL2NvbXBvbmVudHMvbGF5b3V0L0xheW91dC52dWUnOwovLyBVUkzooajljZXot6/nlLEKaW1wb3J0IGZsb3dmb3JtUm91dGVyIGZyb20gJ0AvY29tcG9uZW50cy9mbG93VVJMRm9ybS9mb3JtUm91dGVyLmpzJzsKVnVlLnVzZShSb3V0ZXIpOwp2YXIgcm91dGVyID0gbmV3IFJvdXRlcih7CiAgbW9kZTogJ2hpc3RvcnknLAogIGJhc2U6IHByb2Nlc3MuZW52LkJBU0VfVVJMLAogIHJvdXRlczogW10uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShmbG93Zm9ybVJvdXRlciksIFsKICAvLyDph43lrprlkJHliLBsb2dpbgogIHsKICAgIHBhdGg6ICcvJywKICAgIHJlZGlyZWN0OiB7CiAgICAgIG5hbWU6ICdsb2dpbicKICAgIH0KICB9LAogIC8vIOeZu+W9lemhtemdogogIHsKICAgIHBhdGg6ICcvbG9naW4nLAogICAgbmFtZTogJ2xvZ2luJywKICAgIGNvbXBvbmVudDogTG9naW4sCiAgICBtZXRhOiB7CiAgICAgIHNpbmdsZTogdHJ1ZSwKICAgICAgYW5vbnltb3VzOiB0cnVlCiAgICB9CiAgfSwgLyog6Lez6L2s5ZCv5Yqo5rWB56iLICovCiAgewogICAgcGF0aDogJy9hZ2VudFN0YXJ0LzpkZWZJZC86bGVhZGVySWQnLAogICAgbmFtZTogJ2RlZlN0YXJ0JywKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL2NvbXBvbmVudHMvZmxvdy9zdGFydC52dWUnKTsKICAgIH0sCiAgICBwcm9wczogdHJ1ZQogIH0sIC8q5aSN5Yi25rWB56iL5ZCv5YqoICovCiAgewogICAgcGF0aDogJy9hZ2VudFN0YXJ0LzpkZWZJZC86bGVhZGVySWQvOmNvcHlJbnN0SWQnLAogICAgbmFtZTogJ2RlZkNvcHlTdGFydCcsCiAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudCgpIHsKICAgICAgcmV0dXJuIGltcG9ydCgnQC9jb21wb25lbnRzL2Zsb3cvc3RhcnQudnVlJyk7CiAgICB9LAogICAgcHJvcHM6IHRydWUKICB9LAogIC8v5qC55o2u5rWB56iL5a6a5LmJa2V55ZCv5Yqo5rWB56iLCiAgewogICAgcGF0aDogJy9hZ2VudFN0YXJ0QnlLZXkvOmRlZktleScsCiAgICBuYW1lOiAnZGVmS2V5U3RhcnQnLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0AvY29tcG9uZW50cy9mbG93L3N0YXJ0QnlLZXkudnVlJyk7CiAgICB9LAogICAgcHJvcHM6IHRydWUsCiAgICBtZXRhOiB7CiAgICAgIHNpbmdsZTogdHJ1ZQogICAgfQogIH0sIHsKICAgIHBhdGg6ICcvc3lzTW9kdWxlUHJldmlldy86aWQvOmFwcE5hbWUnLAogICAgbmFtZTogJ3N5c01vZHVsZVByZXZpZXcnLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0AvY29tcG9uZW50cy9nZW5lcmF0b3Ivc3lzTW9kdWxlUHJldmlldy52dWUnKTsKICAgIH0sCiAgICBwcm9wczogdHJ1ZSwKICAgIG1ldGE6IHsKICAgICAgc2luZ2xlOiB0cnVlCiAgICB9CiAgfSwgewogICAgcGF0aDogJy9zdGFydC86ZGVmSWQvOmluc3RJZCcsCiAgICBuYW1lOiAnaW5zdFN0YXJ0JywKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL2NvbXBvbmVudHMvZmxvdy9zdGFydC52dWUnKTsKICAgIH0sCiAgICBwcm9wczogdHJ1ZQogIH0sIC8qIOW+hemYheWIl+ihqOi3s+i9rCAqLwogIHsKICAgIHBhdGg6ICcvaW5zdC86aW5zdElkLzp0eXBlLzpyZWFkSWQnLAogICAgbmFtZTogJ2luc3RSZWFkLXJlYWQnLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0AvY29tcG9uZW50cy9mbG93L3Rhc2sudnVlJyk7CiAgICB9LAogICAgcHJvcHM6IHRydWUKICB9LCAvKiDmqKHlnZflvIDlj5Hku6Plip7ot7PovawgKi8KICB7CiAgICBwYXRoOiAnL3N5c01vZHVsZUluc3QvOnRhc2tJZC86bGVhZGVySWQvOmRlZktleS86bm9TaW5nbGUnLAogICAgbmFtZTogJ3N5c01vZHVsZUluc3QnLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0AvY29tcG9uZW50cy9mbG93L3Rhc2sudnVlJyk7CiAgICB9LAogICAgcHJvcHM6IHRydWUsCiAgICBtZXRhOiB7CiAgICAgIHNpbmdsZTogdHJ1ZQogICAgfQogIH0sIC8qIOaVsOaNruaKpeihqOaooeWdl+W8gOWPkeS7o+WKnui3s+i9rCAqLwogIHsKICAgIHBhdGg6ICcvcmVwb3J0TW9kdWxlSW5zdC86dGFza0lkLzpsZWFkZXJJZC86ZGVmS2V5Lzpub1NpbmdsZS86dGVtcGxhdGVLZXknLAogICAgbmFtZTogJ3JlcG9ydE1vZHVsZUluc3QnLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0AvY29tcG9uZW50cy9mbG93L3Rhc2sudnVlJyk7CiAgICB9LAogICAgcHJvcHM6IHRydWUsCiAgICBtZXRhOiB7CiAgICAgIHNpbmdsZTogdHJ1ZQogICAgfQogIH0sIC8qIOaooeWdl+W8gOWPkeW3suWKnuWIl+ihqOi3s+i9rCAqLwogIHsKICAgIHBhdGg6ICcvc3lzTW9kdWxlSW5zdC86aW5zdElkLzp0eXBlLzpkZWZLZXknLAogICAgbmFtZTogJ3N5c01vZHVsZUluc3RKdW1wJywKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL2NvbXBvbmVudHMvZmxvdy90YXNrLnZ1ZScpOwogICAgfSwKICAgIHByb3BzOiB0cnVlLAogICAgbWV0YTogewogICAgICBzaW5nbGU6IHRydWUKICAgIH0KICB9LCAvKiDmlbDmja7miqXooajmqKHlnZflvIDlj5Hlt7Llip7liJfooajot7PovawgKi8KICB7CiAgICBwYXRoOiAnL3JlcG9ydE1vZHVsZUluc3REb25lLzppbnN0SWQvOnR5cGUvOmRlZktleS86dGVtcGxhdGVLZXknLAogICAgbmFtZTogJ3JlcG9ydE1vZHVsZUluc3REb25lJywKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL2NvbXBvbmVudHMvZmxvdy90YXNrLnZ1ZScpOwogICAgfSwKICAgIHByb3BzOiB0cnVlLAogICAgbWV0YTogewogICAgICBzaW5nbGU6IHRydWUKICAgIH0KICB9LCAvKiDnirbmgIHkuLpGT0xMT1fml7blgJnmqKHlnZflvIDlj5HlvoXpmIXot7PovawgKi8KICB7CiAgICBwYXRoOiAnL3N5c01vZHVsZUluc3RUYXNrUmVhZC86dGFza0lkLzp0YXNrX3N0YXRlLzpkZWZLZXknLAogICAgbmFtZTogJ3N5c01vZHVsZUluc3RUYXNrUmVhZCcsCiAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudCgpIHsKICAgICAgcmV0dXJuIGltcG9ydCgnQC9jb21wb25lbnRzL2Zsb3cvdGFzay52dWUnKTsKICAgIH0sCiAgICBwcm9wczogdHJ1ZSwKICAgIG1ldGE6IHsKICAgICAgc2luZ2xlOiB0cnVlCiAgICB9CiAgfSwgLyog5qih5Z2X5byA5Y+R5b6F6ZiF6Lez6L2sICovCiAgewogICAgcGF0aDogJy9zeXNNb2R1bGVJbnN0UmVhZC86aW5zdElkLzp0eXBlLzpyZWFkSWQvOmRlZktleScsCiAgICBuYW1lOiAnc3lzTW9kdWxlSW5zdFJlYWRKdW1wJywKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL2NvbXBvbmVudHMvZmxvdy90YXNrLnZ1ZScpOwogICAgfSwKICAgIHByb3BzOiB0cnVlLAogICAgbWV0YTogewogICAgICBzaW5nbGU6IHRydWUKICAgIH0KICB9LCAvKiDnirbmgIHkuLpGT0xMT1fml7blgJnmlbDmja7miqXooajmqKHlnZflvIDlj5HlvoXpmIXot7PovawgKi8KICB7CiAgICBwYXRoOiAnL3JlcG9ydE1vZHVsZUluc3RUYXNrUmVhZC86dGFza0lkLzp0YXNrX3N0YXRlLzpkZWZLZXkvOnRlbXBsYXRlS2V5JywKICAgIG5hbWU6ICdyZXBvcnRNb2R1bGVJbnN0VGFza1JlYWQnLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0AvY29tcG9uZW50cy9mbG93L3Rhc2sudnVlJyk7CiAgICB9LAogICAgcHJvcHM6IHRydWUsCiAgICBtZXRhOiB7CiAgICAgIHNpbmdsZTogdHJ1ZQogICAgfQogIH0sIC8qIOaVsOaNruaKpeihqOaooeWdl+W8gOWPkeW+hemYhei3s+i9rCAqLwogIHsKICAgIHBhdGg6ICcvcmVwb3J0TW9kdWxlSW5zdFJlYWQvOmluc3RJZC86dHlwZS86cmVhZElkLzpkZWZLZXkvOnRlbXBsYXRlS2V5JywKICAgIG5hbWU6ICdyZXBvcnRNb2R1bGVJbnN0UmVhZCcsCiAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudCgpIHsKICAgICAgcmV0dXJuIGltcG9ydCgnQC9jb21wb25lbnRzL2Zsb3cvdGFzay52dWUnKTsKICAgIH0sCiAgICBwcm9wczogdHJ1ZSwKICAgIG1ldGE6IHsKICAgICAgc2luZ2xlOiB0cnVlCiAgICB9CiAgfSwgLyog5qih5Z2X5byA5Y+R5bey6ZiF5YiX6KGo6Lez6L2sICovCiAgewogICAgcGF0aDogJy9zeXNNb2R1bGVJbnN0RG9uZS86aW5zdElkLzp0eXBlLzpyZWFkVHlwZS86cmVhZERvbmVJZC86ZGVmS2V5JywKICAgIG5hbWU6ICdzeXNNb2R1bGVJbnN0RG9uZScsCiAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudCgpIHsKICAgICAgcmV0dXJuIGltcG9ydCgnQC9jb21wb25lbnRzL2Zsb3cvdGFzay52dWUnKTsKICAgIH0sCiAgICBwcm9wczogdHJ1ZSwKICAgIG1ldGE6IHsKICAgICAgc2luZ2xlOiB0cnVlCiAgICB9CiAgfSwgLyog5pWw5o2u5oql6KGo5qih5Z2X5byA5Y+R5bey6ZiF5YiX6KGo6Lez6L2sICovCiAgewogICAgcGF0aDogJy9yZXBvcnRNb2R1bGVJbnN0RG9uZS86aW5zdElkLzp0eXBlLzpyZWFkVHlwZS86cmVhZERvbmVJZC86ZGVmS2V5Lzp0ZW1wbGF0ZUtleScsCiAgICBuYW1lOiAncmVwb3J0TW9kdWxlSW5zdERvbmVSZWFkJywKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL2NvbXBvbmVudHMvZmxvdy90YXNrLnZ1ZScpOwogICAgfSwKICAgIHByb3BzOiB0cnVlLAogICAgbWV0YTogewogICAgICBzaW5nbGU6IHRydWUKICAgIH0KICB9LCAvKiDmqKHlnZflvIDlj5HmiJHkvKDpmIXliJfooajot7PovawgKi8KICB7CiAgICBwYXRoOiAnL3N5c01vZHVsZUluc3RNeVJlYWQvOmluc3RJZC86cmVhZElkLzpteVJlYWRUeXBlLzpkZWZLZXknLAogICAgbmFtZTogJ3N5c01vZHVsZUluc3RNeVJlYWQnLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0AvY29tcG9uZW50cy9mbG93L3Rhc2sudnVlJyk7CiAgICB9LAogICAgcHJvcHM6IHRydWUsCiAgICBtZXRhOiB7CiAgICAgIHNpbmdsZTogdHJ1ZQogICAgfQogIH0sIC8qIOaVsOaNruaKpeihqOaooeWdl+W8gOWPkeaIkeS8oOmYheWIl+ihqOi3s+i9rCAqLwogIHsKICAgIHBhdGg6ICcvcmVwb3J0TW9kdWxlSW5zdE15UmVhZC86aW5zdElkLzpyZWFkSWQvOm15UmVhZFR5cGUvOmRlZktleS86dGVtcGxhdGVLZXknLAogICAgbmFtZTogJ3JlcG9ydE1vZHVsZUluc3RNeVJlYWQnLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0AvY29tcG9uZW50cy9mbG93L3Rhc2sudnVlJyk7CiAgICB9LAogICAgcHJvcHM6IHRydWUsCiAgICBtZXRhOiB7CiAgICAgIHNpbmdsZTogdHJ1ZQogICAgfQogIH0sCiAgLy/mqKHlnZflvIDlj5HmiJHkvKDpmIXnmoTliJfooajot7PovawKICB7CiAgICBwYXRoOiAnL3N5c01vZHVsZUluc3RSZWFkLzppbnN0SWQvOm15UmVhZFR5cGUvOmRlZktleScsCiAgICBuYW1lOiAnc3lzTW9kdWxlSW5zdFJlYWQnLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0AvY29tcG9uZW50cy9mbG93L3Rhc2sudnVlJyk7CiAgICB9LAogICAgcHJvcHM6IHRydWUsCiAgICBtZXRhOiB7CiAgICAgIHNpbmdsZTogdHJ1ZQogICAgfQogIH0sCiAgLy/mlbDmja7miqXooajmqKHlnZflvIDlj5HmiJHkvKDpmIXnmoTliJfooajot7PovawKICB7CiAgICBwYXRoOiAnL3JlcG9ydE1vZHVsZUluc3RSZWFkLzppbnN0SWQvOm15UmVhZFR5cGUvOmRlZktleS86dGVtcGxhdGVLZXknLAogICAgbmFtZTogJ3JlcG9ydE1vZHVsZUluc3RSZWFkSnVtcCcsCiAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudCgpIHsKICAgICAgcmV0dXJuIGltcG9ydCgnQC9jb21wb25lbnRzL2Zsb3cvdGFzay52dWUnKTsKICAgIH0sCiAgICBwcm9wczogdHJ1ZSwKICAgIG1ldGE6IHsKICAgICAgc2luZ2xlOiB0cnVlCiAgICB9CiAgfSwgLyog5bey6ZiF5YiX6KGo6Lez6L2sICovCiAgewogICAgcGF0aDogJy9pbnN0LzppbnN0SWQvOnR5cGUvOnJlYWRUeXBlLzpyZWFkRG9uZUlkJywKICAgIG5hbWU6ICdpbnN0UmVhZC1kb25lJywKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL2NvbXBvbmVudHMvZmxvdy90YXNrLnZ1ZScpOwogICAgfSwKICAgIHByb3BzOiB0cnVlCiAgfSwgLyog5oiR5Lyg6ZiF55qE5YiX6KGo6Lez6L2sICovCiAgewogICAgcGF0aDogJy9teVJlYWQvOmluc3RJZC86cmVhZElkLzpteVJlYWRUeXBlJywKICAgIG5hbWU6ICdteVJlYWQtdHlwZScsCiAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudCgpIHsKICAgICAgcmV0dXJuIGltcG9ydCgnQC9jb21wb25lbnRzL2Zsb3cvdGFzay52dWUnKTsKICAgIH0sCiAgICBwcm9wczogdHJ1ZQogIH0sIHsKICAgIHBhdGg6ICcvaW5zdFJlYWQvOmluc3RJZC86bXlSZWFkVHlwZScsCiAgICBuYW1lOiAnaW5zdFJlYWQnLAogICAgY29tcG9uZW50OiBmdW5jdGlvbiBjb21wb25lbnQoKSB7CiAgICAgIHJldHVybiBpbXBvcnQoJ0AvY29tcG9uZW50cy9mbG93L3Rhc2sudnVlJyk7CiAgICB9LAogICAgcHJvcHM6IHRydWUKICB9LCB7CiAgICBwYXRoOiAnL3Rhc2tSZWFkLzp0YXNrSWQvOnRhc2tfc3RhdGUnLAogICAgbmFtZTogJ3Rhc2tSZWFkJywKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL2NvbXBvbmVudHMvZmxvdy90YXNrLnZ1ZScpOwogICAgfSwKICAgIHByb3BzOiB0cnVlCiAgfSwgewogICAgcGF0aDogJy9pbnN0LzppbnN0SWQnLAogICAgbmFtZTogJ2RlZmF1bHRJbnN0JywKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL2NvbXBvbmVudHMvZmxvdy90YXNrLnZ1ZScpOwogICAgfSwKICAgIHByb3BzOiB0cnVlCiAgfSwKICAvLyB7CiAgLy8gICBwYXRoOiAnL3Rhc2svOnRhc2tJZC86bGVhZGVySWQnLAogIC8vICAgbmFtZTogJ3Rhc2snLAogIC8vICAgY29tcG9uZW50OiAoKSA9PiBpbXBvcnQoJ0AvY29tcG9uZW50cy9mbG93L3Rhc2sudnVlJyksCiAgLy8gICBwcm9wczogdHJ1ZQogIC8vIH0sCiAgewogICAgcGF0aDogJy90YXNrLzp0YXNrSWQvOmxlYWRlcklkJywKICAgIG5hbWU6ICd0YXNrJywKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL2NvbXBvbmVudHMvZmxvdy90YXNrRmxvd0NvbXBvbmVudHMvZmxvd1Rhc2sudnVlJyk7CiAgICB9LAogICAgcHJvcHM6IHRydWUKICB9LCAvKiDot7Povazku7vliqHor6bmg4UgKi8KICB7CiAgICBwYXRoOiAnL2luc3QvOmluc3RJZC86dHlwZScsCiAgICBuYW1lOiAnaW5zdCcsCiAgICBjb21wb25lbnQ6IGZ1bmN0aW9uIGNvbXBvbmVudCgpIHsKICAgICAgcmV0dXJuIGltcG9ydCgnQC9jb21wb25lbnRzL2Zsb3cvdGFza0Zsb3dDb21wb25lbnRzL2Zsb3dUYXNrLnZ1ZScpOwogICAgfSwKICAgIHByb3BzOiB0cnVlCiAgfSwgewogICAgcGF0aDogJy90YXNrLzp0YXNrSWQvOmxlYWRlcklkLzpub1NpbmdsZScsCiAgICBuYW1lOiAndGFza05vc2luZ2xlJywKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL2NvbXBvbmVudHMvZmxvdy90YXNrLnZ1ZScpOwogICAgfSwKICAgIHByb3BzOiB0cnVlLAogICAgbWV0YTogewogICAgICBzaW5nbGU6IHRydWUKICAgIH0KICB9LAogIC8vIOmHjee9ruWvhueggQogIHsKICAgIHBhdGg6ICcvcmVzZXRQd2RWaWV3JywKICAgIG5hbWU6ICdyZXNldFB3ZFZpZXdJbm5lcicsCiAgICBwcm9wczogdHJ1ZSwKICAgIGNvbXBvbmVudDogZnVuY3Rpb24gY29tcG9uZW50KCkgewogICAgICByZXR1cm4gaW1wb3J0KCdAL3ZpZXdzL1Jlc2V0UHdkVmlldy52dWUnKTsKICAgIH0KICB9LAogIC8vIOWQjuWPsOmhtemdogogIHsKICAgIHBhdGg6ICcvcGxhdExheW91dCcsCiAgICBuYW1lOiAncGxhdExheW91dCcsCiAgICBjb21wb25lbnQ6IExheW91dCwKICAgIG1ldGE6IHsKICAgICAgc2luZ2xlOiB0cnVlLAogICAgICBhbm9ueW1vdXM6IHRydWUKICAgIH0sCiAgICBjaGlsZHJlbjogW10uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShjdXN0b21TeXN0ZW1Sb3V0ZXIpLCBfdG9Db25zdW1hYmxlQXJyYXkobWFpblJvdXRlcikpCiAgfSwKICAvLyA0MDTpobXpnaIKICB7CiAgICBwYXRoOiAnLzpjYXRjaEFsbCguKiknLAogICAgY29tcG9uZW50OiBOb3RGb3VuZCwKICAgIG1ldGE6IHsKICAgICAgLy8gc2luZ2xlOiB0cnVlCiAgICB9CiAgfV0pCn0pOwp2YXIgY3JlYXRlUm91dGVyID0gZnVuY3Rpb24gY3JlYXRlUm91dGVyKCkgewogIHJldHVybiBuZXcgUm91dGVyKHsKICAgIG1vZGU6ICdoaXN0b3J5JywKICAgIHJvdXRlczogW10KICB9KTsKfTsKCi8v6YeN5YaZ5Yqo5oCB5re75Yqg6Lev55Sx5pa55rOVCnJvdXRlci4kYWRkUm91dGVzID0gZnVuY3Rpb24gKHBhcmFtcykgewogIHZhciBuZXdSb3V0ZXIgPSBjcmVhdGVSb3V0ZXIoKTsKICByb3V0ZXIubWF0Y2hlciA9IG5ld1JvdXRlci5tYXRjaGVyOyAvL+mHjee9rui3r+eUseinhOWImQogIHJvdXRlci5hZGRSb3V0ZXMocGFyYW1zKTsgLy8g5re75Yqg6Lev55SxCn07CgovL+WKqOaAgeaWsOWinuS6jOe6p+i3r+eUsQpyb3V0ZXIuYWRkTGlzdCA9IGZ1bmN0aW9uIChwYXRoLCBsaXN0KSB7CiAgdmFyIGlzQWRkUGF0aCA9IGZhbHNlOwogIHZhciBpc0NoaWxkcmVuID0gZmFsc2U7CiAgcmV0dXJuIGlzQ2hpbGRyZW47Cn07CnZhciByZWdpc3RlclJvdXRlRnJlc2ggPSB0cnVlOwp2YXIgc3NvUmVkaXJlY3QgPSBmdW5jdGlvbiBzc29SZWRpcmVjdCgpIHsKICBpZiAod2luZG93LnNzb0NvbmZpZy5tb2RlID09ICdjYXMnKSB7CiAgICB2YXIgc2VydmljZSA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmOwogICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3NlcnZpY2UnLCBzZXJ2aWNlKTsKICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LnNzb0NvbmZpZy51cmwgKyAnP3NlcnZpY2U9JyArIHNlcnZpY2U7CiAgfSBlbHNlIGlmICh3aW5kb3cuc3NvQ29uZmlnLm1vZGUgPT0gJ29hdXRoJykgewogICAgaWYgKCF3aW5kb3cuc3NvQ29uZmlnLmNsaWVudElkKSB7CiAgICAgIHRocm93ICdvYXV0aOaooeW8j+S4i+W/hemhu+aPkOS+m2NsaWVudElkJzsKICAgIH0KICAgIHZhciBfc2VydmljZSA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmOwogICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3NlcnZpY2UnLCBfc2VydmljZSk7CiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICIiLmNvbmNhdCh3aW5kb3cuc3NvQ29uZmlnLnVybCwgIj9yZXNwb25zZV90eXBlPWNvZGUmY2xpZW50X2lkPSIpLmNvbmNhdCh3aW5kb3cuc3NvQ29uZmlnLmNsaWVudElkLCAiJnJlZGlyZWN0X3VyaT0iKS5jb25jYXQoX3NlcnZpY2UpOwogIH0KfTsKdmFyIGhhbmRlbFNob3J0VXJsID0gZnVuY3Rpb24gaGFuZGVsU2hvcnRVcmwodG8sIGZyb20sIG5leHQpIHsKICByZXEuZ2V0KCcke3BvcnRhbH0vcG9ydGFsL3Nob3J0dXJsTWFuYWdlL3YxL2dldExvbmdVcmxCeVNob3J0VXJsP3Nob3J0VXJsPScgKyB0by5mdWxsUGF0aC5zdWJzdHIoMSksICcnLCBmYWxzZSkudGhlbihmdW5jdGlvbiAocmVzcCkgewogICAgaWYgKHJlc3AgJiYgcmVzcC5kYXRhICYmIHJlc3AuZGF0YS5zdGF0ZSkgewogICAgICBzdG9yZS5kaXNwYXRjaCgnbG9naW4vdmFsaWRBbmRDb21wbGV0ZWRDdXJyZW50JywgcmVzcC5kYXRhLnZhbHVlLmd1ZXN0VG9rZW4pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIG5leHQoewogICAgICAgICAgcGF0aDogcmVzcC5kYXRhLnZhbHVlLnVybAogICAgICAgIH0pOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgbG9nb3V0QW5kQ2xlYW5VcCh0bywgZnJvbSwgbmV4dCk7CiAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgbmV4dCh7CiAgICAgICAgcGF0aDogJy9tZXNzYWdlRmlsbFBhZ2UvJyArIHJlc3AuZGF0YS5tZXNzYWdlCiAgICAgIH0pOwogICAgfQogIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgIGxvZ291dEFuZENsZWFuVXAodG8sIGZyb20sIG5leHQpOwogIH0pOwp9Owp2YXIgbG9nb3V0QW5kQ2xlYW5VcCA9IGZ1bmN0aW9uIGxvZ291dEFuZENsZWFuVXAodG8sIGZyb20sIG5leHQpIHsKICBzdG9yZS5kaXNwYXRjaCgnbG9naW4vbG9nb3V0QW5kQ2xlYW5VcCcpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgaWYgKHdpbmRvdy5zc29Db25maWcubW9kZSAmJiB3aW5kb3cuc3NvQ29uZmlnLm1vZGUgIT0gJ2p3dCcgJiYgIXRpY2tldCkgewogICAgICBzc29SZWRpcmVjdCgpOwogICAgfSBlbHNlIGlmICghd2luZG93LnNzb0NvbmZpZy5tb2RlIHx8IHdpbmRvdy5zc29Db25maWcubW9kZSA9PSAnand0JykgewogICAgICBuZXh0KHsKICAgICAgICBwYXRoOiAnL2xvZ2luJwogICAgICAgIC8vIHF1ZXJ5OiB7CiAgICAgICAgLy8gICAgIHJlZGlyZWN0OiB0by5mdWxsUGF0aAogICAgICAgIC8vIH0KICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICB0aHJvdyAn55m75b2V5aSx6LSlJzsKICAgIH0KICB9KTsKfTsKCi8vIOenu+mZpHVybOWQjumdoueahOaMh+WumuWPguaVsAp2YXIgcmVtb3ZlVXJsUGFyYW1zID0gZnVuY3Rpb24gcmVtb3ZlVXJsUGFyYW1zKHBhcmFtKSB7CiAgdmFyIHF1ZXJ5ID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSk7CiAgaWYgKCFxdWVyeSkgewogICAgcmV0dXJuOwogIH0KICB2YXIgdmFycyA9IHF1ZXJ5LnNwbGl0KCcmJyk7CiAgdmFyIG5ld1ZhcnMgPSBbXTsKICBmb3IgKHZhciBpID0gMDsgaSA8IHZhcnMubGVuZ3RoOyBpKyspIHsKICAgIHZhciBwYWlyID0gdmFyc1tpXS5zcGxpdCgnPScpOwogICAgaWYgKHBhaXJbMF0gIT0gcGFyYW0pIHsKICAgICAgbmV3VmFycy5wdXNoKHZhcnNbaV0pOwogICAgfQogIH0KICBjb25zb2xlLmxvZyhuZXdWYXJzKTsKICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgIHZhciBwYXRoID0gIiIuY29uY2F0KHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkuY29uY2F0KG5ld1ZhcnMubGVuZ3RoID4gMCA/ICc/JyA6ICcnKS5jb25jYXQobmV3VmFycy5qb2luKCcmJykpOwogICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsIG51bGwsIHBhdGgpOwogIH0sIDEwMDApOwp9Owpyb3V0ZXIuYmVmb3JlRWFjaCggLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICB2YXIgX3JlZiA9IF9hc3luY1RvR2VuZXJhdG9yKCAvKiNfX1BVUkVfXyovcmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoZnVuY3Rpb24gX2NhbGxlZSh0bywgZnJvbSwgbmV4dCkgewogICAgdmFyIF90aWNrZXQ7CiAgICByZXR1cm4gcmVnZW5lcmF0b3JSdW50aW1lLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHsKICAgICAgICBjYXNlIDA6CiAgICAgICAgICBzdG9yZS5kaXNwYXRjaCgnbWVudS9hY3Rpb25Gcm9udE1lbnVzJyk7CgogICAgICAgICAgLy8gY29uc29sZS5sb2codG8ubmFtZSwgZnJvbS5uYW1lLCAndG8sZnJvbScpCiAgICAgICAgICBzdG9yZS5kaXNwYXRjaCgnbWVudS9nZXRBbGxtZW51cycsIHt9KS50aGVuKGZ1bmN0aW9uIChtZW51cykgewogICAgICAgICAgICAvL2hyZWboj5zljZXkuI3ov5vov5nmrrXku6PnoIEKICAgICAgICAgICAgaWYgKHRvLmZ1bGxQYXRoLmluZGV4T2YoJ2hyZWYnKSA9PSAtMSkgewogICAgICAgICAgICAgIHZhciBhbGlhcyA9IHRvLmZ1bGxQYXRoLnNwbGl0KCcvJylbMV07CiAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZW51cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKG1lbnVzW2ldLmFsaWFzID09PSBhbGlhcykgewogICAgICAgICAgICAgICAgICBzdG9yZS5kaXNwYXRjaCgnbWVudS9nZXRDdXJyZW50TWVudScsIHsKICAgICAgICAgICAgICAgICAgICBhbGlhczogbWVudXNbaV0uYWxpYXMsCiAgICAgICAgICAgICAgICAgICAgbmFtZTogbWVudXNbaV0ubmFtZQogICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICAgIGlmICghdG8uZnVsbFBhdGguc3RhcnRzV2l0aCgnL3N1cmwvJykpIHsKICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDU7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgaGFuZGVsU2hvcnRVcmwodG8sIGZyb20sIG5leHQpOwogICAgICAgICAgcmV0dXJuIF9jb250ZXh0LmFicnVwdCgicmV0dXJuIik7CiAgICAgICAgY2FzZSA1OgogICAgICAgICAgaWYgKCEodG8ubmFtZSA9PSAnbG9naW4nICYmIHdpbmRvdy5zc29Db25maWcubW9kZSAmJiB3aW5kb3cuc3NvQ29uZmlnLm1vZGUgIT0gJ2p3dCcpKSB7CiAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAxMjsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoISgod2luZG93LnNzb0NvbmZpZy5tb2RlID09ICdjYXMnIHx8IHdpbmRvdy5zc29Db25maWcubW9kZSA9PSAnb2F1dGgnKSAmJiAodG8ucXVlcnkuY29kZSB8fCB0by5xdWVyeS50aWNrZXQpKSkgewogICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTE7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5yZXBsYWNlKCcvbG9naW4nLCAnJyk7CiAgICAgICAgICByZXR1cm4gX2NvbnRleHQuYWJydXB0KCJyZXR1cm4iKTsKICAgICAgICBjYXNlIDExOgogICAgICAgICAgc3NvUmVkaXJlY3QoKTsKICAgICAgICBjYXNlIDEyOgogICAgICAgICAgaWYgKGZyb20ubmFtZSAhPSAnZGVmU3RhcnQnIHx8IHRvLm5hbWUgIT0gJ2luc3RTdGFydCcpIHsKICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnZm9ybUltcG9ydFRlbXBSZWZJZCcpOwogICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdmb3JtSW1wb3J0VGVtcEpzb24nKTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChzZXNzaW9uU3RvcmFnZS5tZW51X2FsaWFzICYmIHRvLmZ1bGxQYXRoICYmIHRvLmZ1bGxQYXRoLnNwbGl0KCcvJylbMV0gPT0gJ2hvbWUnKSB7CiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLm1lbnVfYWxpYXMgPSAnJzsKICAgICAgICAgIH0KICAgICAgICAgIGlmICh0by5tYXRjaGVkLnNvbWUoZnVuY3Rpb24gKHJlY29yZCkgewogICAgICAgICAgICByZXR1cm4gIXJlY29yZC5tZXRhLmFub255bW91czsKICAgICAgICAgIH0pKSB7CiAgICAgICAgICAgIF90aWNrZXQgPSB0by5xdWVyeS50b2tlbjsgLy8gMi7lvZPliY3lt7Lnu4/ku47ljZXngrnpobXpnaLph43lrprlkJHlm57mnaXkuobvvIzkuJTlnKh1cmzlnLDlnYDkuK3mkLrluKbkuoZ0aWNrZXTmiJZjb2Rl77ybCiAgICAgICAgICAgIGlmICh3aW5kb3cuc3NvQ29uZmlnLm1vZGUgPT0gJ2NhcycpIHsKICAgICAgICAgICAgICBfdGlja2V0ID0gdG8ucXVlcnkudGlja2V0OwogICAgICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5zc29Db25maWcubW9kZSA9PSAnb2F1dGgnKSB7CiAgICAgICAgICAgICAgX3RpY2tldCA9IHRvLnF1ZXJ5LmNvZGU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3RvcmUKICAgICAgICAgICAgLy8gMy7mkLrluKZ0aWNrZXTlgZrnlKjmiLfpibTmnYPvvJsKICAgICAgICAgICAgLmRpc3BhdGNoKCdsb2dpbi92YWxpZEFuZENvbXBsZXRlZEN1cnJlbnQnLCBfdGlja2V0KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICBzdG9yZS5fdm0uJHJvb3QuJGVtaXQoJ2xvZ2luLWNvbXBsZXRlZCcpOwogICAgICAgICAgICAgIGlmIChyZWdpc3RlclJvdXRlRnJlc2gpIHsKICAgICAgICAgICAgICAgIGlmIChzZXNzaW9uU3RvcmFnZS5tZW51X2FsaWFzKSB7CiAgICAgICAgICAgICAgICAgIHZhciBwYXRoID0gJy8nICsgc2Vzc2lvblN0b3JhZ2UubWVudV9hbGlhczsKICAgICAgICAgICAgICAgICAgdmFyIGlzQ2hpbGRyZW4gPSByb3V0ZXIuYWRkTGlzdChwYXRoLCByb3V0ZXIub3B0aW9ucy5yb3V0ZXMpOyAvL+WKqOaAgeaWsOWinuS6jOe6p+i3r+eUsQogICAgICAgICAgICAgICAgICAvL+W9k+WJjeeCueWHu+iPnOWNleeahOi3r+eUseWIq+WQjeS4jeWtmOWcqCByb3V0ZXIuanMg6YeM6Z2iCiAgICAgICAgICAgICAgICAgIC8vIGlmICghaXNDaGlsZHJlbikgewogICAgICAgICAgICAgICAgICAvLyAgIGxldCBhbGlhc19uZXcgPSB7CiAgICAgICAgICAgICAgICAgIC8vICAgICBwYXRoOiBwYXRoLAogICAgICAgICAgICAgICAgICAvLyAgICAgbmFtZTogJ2FsaWFzX25ldycsCiAgICAgICAgICAgICAgICAgIC8vICAgICBjb21wb25lbnQ6IHJlc29sdmUgPT4KICAgICAgICAgICAgICAgICAgLy8gICAgICAgcmVxdWlyZShbJ0Avdmlld3MvbWVudUNvbnRlbnQudnVlJ10sIHJlc29sdmUpLAogICAgICAgICAgICAgICAgICAvLyAgICAgY2hpbGRyZW46IFtdCiAgICAgICAgICAgICAgICAgIC8vICAgfQogICAgICAgICAgICAgICAgICAvLyAgIHJvdXRlci5vcHRpb25zLnJvdXRlcy5wdXNoKGFsaWFzX25ldykKICAgICAgICAgICAgICAgICAgLy8gICByb3V0ZXIuYWRkTGlzdChwYXRoLCByb3V0ZXIub3B0aW9ucy5yb3V0ZXMpIC8v5Yqo5oCB5paw5aKe5LqM57qn6Lev55SxCiAgICAgICAgICAgICAgICAgIC8vIH0KICAgICAgICAgICAgICAgICAgcm91dGVyLnJlcGxhY2UoewogICAgICAgICAgICAgICAgICAgIHBhdGg6IHRvLnBhdGgsCiAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHRvLnF1ZXJ5CiAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmVnaXN0ZXJSb3V0ZUZyZXNoID0gZmFsc2U7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgICAvLyB1cmzlnLDlnYDluKZ0b2tlbueahOaWueW8j+iupOivgeaIkOWKn+WQjuWIoOmZpHVybOS4reeahHRva2VuCiAgICAgICAgICAgICAgLy8gcmVtb3ZlVXJsUGFyYW1zKCd0b2tlbktleScpCiAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAvLyA0LumJtOadg+Wksei0peaXtuagueaNruW9k+WJjeaooeW8j+mHjeWumuWQkeWIsOWvueW6lOmhtemdouOAggogICAgICAgICAgICAgIGxvZ291dEFuZENsZWFuVXAodG8sIGZyb20sIG5leHQpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgIH0KICAgICAgICBjYXNlIDE1OgogICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICB9CiAgICB9LCBfY2FsbGVlKTsKICB9KSk7CiAgcmV0dXJuIGZ1bmN0aW9uIChfeCwgX3gyLCBfeDMpIHsKICAgIHJldHVybiBfcmVmLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgfTsKfSgpKTsKZXhwb3J0IGRlZmF1bHQgcm91dGVyOw=="},null]}