{"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\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\dataShare-fvue\\src\\components\\appComponents\\AppSyncTree.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\components\\appComponents\\AppSyncTree.vue","mtime":1736016922496},{"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},{"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-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3JlZ2VuZXJhdG9yUnVudGltZS5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gIkQ6L2plbmtpbnMvd29ya3NwYWNlL2RhdGFTaGFyZS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RTcHJlYWQyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNwbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnJlcGxhY2UuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwoKZXhwb3J0IGRlZmF1bHQgewogIHByb3BzOiB7CiAgICAvLyDlvLnnqpflrr3luqYKICAgIGRpYWxvZ1dpZHRoOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogJzQ4MHB4JwogICAgfSwKICAgIC8vIOihqOWNleWuveW6pgogICAgZm9ybVdpZHRoOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogJycKICAgIH0sCiAgICAvLyDooajljZXpqozor4Hop4TliJkKICAgIGZvcm1SdWxlczogewogICAgICB0eXBlOiBPYmplY3QsCiAgICAgIGRlZmF1bHQ6IG51bGwKICAgIH0sCiAgICAvLyDmoIfpopgKICAgIHRpdGxlOiB7CiAgICAgIHR5cGU6IFN0cmluZywKICAgICAgZGVmYXVsdDogJycKICAgIH0sCiAgICAvLyDmmK/lkKbmh5LliqDovb0KICAgIGxhenk6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogZmFsc2UKICAgIH0sCiAgICAvLyDpu5jorqTmoLnoioLngrkKICAgIHJvb3ROb2RlOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogbnVsbAogICAgfSwKICAgIC8vIOm7mOiupOWxleW8gOiKgueCuembhuWQiAogICAgZGVmYXVsdEV4cGFuZGVkS2V5czogewogICAgICB0eXBlOiBBcnJheSwKICAgICAgZGVmYXVsdDogbnVsbAogICAgfSwKICAgIC8vIOivt+axguWHveaVsAogICAgcmVxdWVzdE1ldGhvZDogewogICAgICB0eXBlOiBGdW5jdGlvbiwKICAgICAgZGVmYXVsdDogbnVsbAogICAgfSwKICAgIC8vIGVsIHRyZWUgcG9ycHMKICAgIHByb3BzOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogbnVsbAogICAgfSwKICAgIGFjdGlvbnM6IHsKICAgICAgdHlwZTogW0FycmF5LCBGdW5jdGlvbl0sCiAgICAgIGRlZmF1bHQ6IG51bGwKICAgIH0sCiAgICAvLyDmoJHlvaLmlbDmja7vvIjkuI3kvKByZXF1ZXN0TWV0aG9k5oOF5Ya15LiL5L2/55So77yJCiAgICB0cmVlT3B0aW9uczogewogICAgICB0eXBlOiBBcnJheSwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIFtdOwogICAgICB9CiAgICB9LAogICAgZmllbGRzOiB7CiAgICAgIHR5cGU6IEFycmF5LAogICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHsKICAgICAgICByZXR1cm4gW107CiAgICAgIH0KICAgIH0sCiAgICBkZWZGaWVsZHM6IHsKICAgICAgdHlwZTogW0FycmF5LCBGdW5jdGlvbl0sCiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkgewogICAgICAgIHJldHVybiBbXTsKICAgICAgfQogICAgfSwKICAgIGRlZmF1bHREYXRhOiB7CiAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIHt9OwogICAgICB9CiAgICB9LAogICAgcmVsb2FkOiB7CiAgICAgIHR5cGU6IEZ1bmN0aW9uLAogICAgICBkZWZhdWx0OiBudWxsCiAgICB9LAogICAgaGlkZVRvcGJhcjogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfSwKICAgIC8qKg0KICAgICAqIEBkZXNjcmlwdGlvbjog5byC5q2l6buY6K6kZmFsc2UNCiAgICAgKi8KICAgIGV4cGFuZEFsbDogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfSwKICAgIC8qKg0KICAgICAqIEBkZXNjcmlwdGlvbjog5piv5ZCm6Ieq5a6a5LmJ5aSE55CG6IqC54K55by55bGC5LqL5Lu2DQogICAgICovCiAgICBjdXN0b21BY3Rpb25zOiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IGZhbHNlCiAgICB9LAogICAgLyoqDQogICAgICogQGRlc2NyaXB0aW9uOiDlj4zlh7vlsZXlvIDoioLngrkNCiAgICAgKi8KICAgIGRiQ2xpY2tFeHBhbmRBbGxvdzogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfSwKICAgIGVkaXQ6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogdHJ1ZQogICAgfSwKICAgIC8qKg0KICAgICAqIEBkZXNjcmlwdGlvbjog6auY5Lqu56ys5LiA5Liq6IqC54K5DQogICAgICovCiAgICBoaWdobGlnaHRGaXJzdDogewogICAgICB0eXBlOiBCb29sZWFuLAogICAgICBkZWZhdWx0OiBmYWxzZQogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGRlZkV4cGFuZGVkS2V5czogdGhpcy5kZWZhdWx0RXhwYW5kZWRLZXlzIHx8IFtdLAogICAgICAvLyB0cmVlCiAgICAgIHRyZWVEYXRhOiBbXSwKICAgICAgLy8gZGlhbG9nCiAgICAgIGRpYWxvZ1Zpc2libGU6IGZhbHNlLAogICAgICBkaWFsb2dUaXRsZTogJycsCiAgICAgIGRpYWxvZ0xvYWRpbmc6IGZhbHNlLAogICAgICBkaWFsb2dGb3JtOiB7fSwKICAgICAgZGVmYXVsdFByb3BzOiBfb2JqZWN0U3ByZWFkKHsKICAgICAgICB2YWx1ZTogJ2lkJywKICAgICAgICBsYWJlbDogJ2xhYmVsJwogICAgICB9LCB0aGlzLnByb3BzKSwKICAgICAgbGF6eVRyZWU6IHRoaXMubGF6eSwKICAgICAgY3VyTm9kZTogbnVsbAogICAgfTsKICB9LAogIHdhdGNoOiB7CiAgICBsYXp5OiBmdW5jdGlvbiBsYXp5KHZhbCkgewogICAgICB0aGlzLmxhenlUcmVlID0gdmFsOwogICAgfSwKICAgIGRlZmF1bHRFeHBhbmRlZEtleXM6IGZ1bmN0aW9uIGRlZmF1bHRFeHBhbmRlZEtleXMoYXJyKSB7CiAgICAgIGlmIChhcnIgJiYgQXJyYXkuaXNBcnJheShhcnIpKSB7CiAgICAgICAgdGhpcy5kZWZFeHBhbmRlZEtleXMgPSBhcnI7CiAgICAgIH0KICAgIH0sCiAgICB0cmVlT3B0aW9uczogZnVuY3Rpb24gdHJlZU9wdGlvbnModHJlZV9kYXRhKSB7CiAgICAgIGlmICh0cmVlX2RhdGEgIT09IG51bGwgJiYgdHJlZV9kYXRhICE9PSB2b2lkIDAgJiYgdHJlZV9kYXRhLmxlbmd0aCkgewogICAgICAgIHRoaXMuaGFuZGxlVHJlZURhdGEodHJlZV9kYXRhKTsKICAgICAgICAvLyB0aGlzLiRyZWZzLmFwcFRyZWUuZWxUcmVlLnNldEN1cnJlbnRLZXkodHJlZV9kYXRhWzBdW3RoaXMuZGVmYXVsdFByb3BzLnZhbHVlXSk7CiAgICAgICAgdGhpcy5vbk5vZGVDbGljayh0cmVlX2RhdGFbMF0pOwogICAgICB9CiAgICB9CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgaWYgKCF0aGlzLmxhenlUcmVlICYmIHRoaXMucmVxdWVzdE1ldGhvZCkgewogICAgICB0aGlzLmdldFRyZWVEYXRhKCk7CiAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICBnZXRFbFRyZWU6IGZ1bmN0aW9uIGdldEVsVHJlZSgpIHsKICAgICAgcmV0dXJuIHRoaXMuJHJlZnMuYXBwVHJlZS4kcmVmcy5lbFRyZWU7CiAgICB9LAogICAgZ2V0VHJlZURhdGE6IGZ1bmN0aW9uIGdldFRyZWVEYXRhKCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUoKSB7CiAgICAgICAgdmFyIF90aGlzJHRyZWVEYXRhOwogICAgICAgIHZhciBfeWllbGQkX3RoaXMkcmVxdWVzdE0sIGRhdGE7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUkKF9jb250ZXh0KSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dC5wcmV2ID0gX2NvbnRleHQubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgaWYgKCEodHlwZW9mIF90aGlzLnJlcXVlc3RNZXRob2QgPT09ICdmdW5jdGlvbicpKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gODsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMzsKICAgICAgICAgICAgICByZXR1cm4gX3RoaXMucmVxdWVzdE1ldGhvZCgpOwogICAgICAgICAgICBjYXNlIDM6CiAgICAgICAgICAgICAgX3lpZWxkJF90aGlzJHJlcXVlc3RNID0gX2NvbnRleHQuc2VudDsKICAgICAgICAgICAgICBkYXRhID0gX3lpZWxkJF90aGlzJHJlcXVlc3RNLmRhdGE7CiAgICAgICAgICAgICAgX3RoaXMuaGFuZGxlVHJlZURhdGEoZGF0YSk7CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgODoKICAgICAgICAgICAgICBfdGhpcy50cmVlRGF0YSA9IF90aGlzLnJvb3ROb2RlID8gW190aGlzLnJvb3ROb2RlXSA6IFtdOwogICAgICAgICAgICBjYXNlIDk6CiAgICAgICAgICAgICAgaWYgKChfdGhpcyR0cmVlRGF0YSA9IF90aGlzLnRyZWVEYXRhKSAhPT0gbnVsbCAmJiBfdGhpcyR0cmVlRGF0YSAhPT0gdm9pZCAwICYmIF90aGlzJHRyZWVEYXRhLmxlbmd0aCkgewogICAgICAgICAgICAgICAgX3RoaXMub25Ob2RlQ2xpY2soX3RoaXMudHJlZURhdGFbMF0pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoIV90aGlzLmxhenlUcmVlICYmIF90aGlzLmxhenkpIF90aGlzLmxhenlUcmVlID0gdHJ1ZTsKICAgICAgICAgICAgICAvLyDpq5jkuq7nrKzkuIDkuKroioLngrkKICAgICAgICAgICAgICBfdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgaWYgKF90aGlzLmhpZ2hsaWdodEZpcnN0KSBfdGhpcy4kcmVmcy5hcHBUcmVlLiRyZWZzLmVsVHJlZS5zZXRDdXJyZW50S2V5KF90aGlzLnRyZWVEYXRhWzBdW190aGlzLnByb3BzLnZhbHVlXSk7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGNhc2UgMTI6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0LnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgaGFuZGxlVHJlZURhdGE6IGZ1bmN0aW9uIGhhbmRsZVRyZWVEYXRhKGRhdGEpIHsKICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkgJiYgZGF0YS5sZW5ndGggPiAwKSB7CiAgICAgICAgdGhpcy50cmVlRGF0YSA9IGRhdGE7CiAgICAgIH0gZWxzZSBpZiAoZGF0YSAhPT0gbnVsbCAmJiBkYXRhICE9PSB2b2lkIDAgJiYgZGF0YS5pZCkgewogICAgICAgIHZhciBfdGhpcyRkZWZFeHBhbmRlZEtleXM7CiAgICAgICAgaWYgKCgoX3RoaXMkZGVmRXhwYW5kZWRLZXlzID0gdGhpcy5kZWZFeHBhbmRlZEtleXMpID09PSBudWxsIHx8IF90aGlzJGRlZkV4cGFuZGVkS2V5cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3RoaXMkZGVmRXhwYW5kZWRLZXlzLmxlbmd0aCkgPD0gMSkgewogICAgICAgICAgdGhpcy5kZWZFeHBhbmRlZEtleXMgPSBbZGF0YS5pZF07CiAgICAgICAgfQogICAgICAgIHRoaXMudHJlZURhdGEgPSBbZGF0YV07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy50cmVlRGF0YSA9IHRoaXMucm9vdE5vZGUgPyBbdGhpcy5yb290Tm9kZV0gOiBbXTsKICAgICAgfQogICAgfSwKICAgIC8vIOmAieaLqeagkeiKgueCuQogICAgb25Ob2RlQ2xpY2s6IGZ1bmN0aW9uIG9uTm9kZUNsaWNrKGRhdGEpIHsKICAgICAgdGhpcy4kZW1pdCgnc2VsZWN0JywgZGF0YSk7CiAgICB9LAogICAgaGFuZGxlUGFyYW1zOiBmdW5jdGlvbiBoYW5kbGVQYXJhbXMoKSB7CiAgICAgIHZhciBwYXJhbXMgPSBfb2JqZWN0U3ByZWFkKHt9LCB0aGlzLmRpYWxvZ0Zvcm0pOwogICAgICBpZiAodGhpcy5jdXJBY3Rpb24udHlwZSA9PT0gJ2FkZCcpIHsKICAgICAgICB2YXIgX3RoaXMkY3VyTm9kZTsKICAgICAgICBwYXJhbXMucGFyZW50SWQgPSAoX3RoaXMkY3VyTm9kZSA9IHRoaXMuY3VyTm9kZSkgPT09IG51bGwgfHwgX3RoaXMkY3VyTm9kZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3RoaXMkY3VyTm9kZS5pZDsKICAgICAgfSBlbHNlIGlmICh0aGlzLmN1ckFjdGlvbi50eXBlID09PSAnZWRpdCcpIHsKICAgICAgICB2YXIgX3RoaXMkY3VyTm9kZTI7CiAgICAgICAgcGFyYW1zLmlkID0gKF90aGlzJGN1ck5vZGUyID0gdGhpcy5jdXJOb2RlKSA9PT0gbnVsbCB8fCBfdGhpcyRjdXJOb2RlMiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3RoaXMkY3VyTm9kZTIuaWQ7CiAgICAgICAgcGFyYW1zLnBhcmVudElkID0gdGhpcy5jdXJOb2RlLnBhcmVudElkOwogICAgICB9CiAgICAgIHJldHVybiBwYXJhbXM7CiAgICB9LAogICAgLy8g5re75Yqg5qCR6IqC54K5CiAgICBvbkRpYWxvZ0NvbmZpcm06IGZ1bmN0aW9uIG9uRGlhbG9nQ29uZmlybSgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHRoaXMuJHJlZnMuZGlhbG9nRm9ybS52YWxpZGF0ZSgvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBfcmVmID0gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL19yZWdlbmVyYXRvclJ1bnRpbWUoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUyKHZhbGlkKSB7CiAgICAgICAgICB2YXIgcGFyYW1zOwogICAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUyJChfY29udGV4dDIpIHsKICAgICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQyLnByZXYgPSBfY29udGV4dDIubmV4dCkgewogICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgIGlmICghdmFsaWQpIHsKICAgICAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSAxMTsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBfY29udGV4dDIucHJldiA9IDE7CiAgICAgICAgICAgICAgICBfdGhpczIuZGlhbG9nTG9hZGluZyA9IHRydWU7CiAgICAgICAgICAgICAgICBwYXJhbXMgPSBfdGhpczIuaGFuZGxlUGFyYW1zKCk7CiAgICAgICAgICAgICAgICBpZiAoISh0eXBlb2YgX3RoaXMyLmN1ckFjdGlvbi5tZXRob2QgPT09ICdmdW5jdGlvbicpKSB7CiAgICAgICAgICAgICAgICAgIF9jb250ZXh0Mi5uZXh0ID0gODsKICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDc7CiAgICAgICAgICAgICAgICByZXR1cm4gX3RoaXMyLmN1ckFjdGlvbi5tZXRob2QocGFyYW1zLCBfdGhpczIuY3VyTm9kZSk7CiAgICAgICAgICAgICAgY2FzZSA3OgogICAgICAgICAgICAgICAgX3RoaXMyLmRpYWxvZ1Zpc2libGUgPSBmYWxzZTsKICAgICAgICAgICAgICAgIC8vIGlmICh0aGlzLmxhenkpIHsKICAgICAgICAgICAgICAgIC8vICAgLy8g5Yi35paw54i26IqC54K5CiAgICAgICAgICAgICAgICAvLyAgIHRoaXMuY3VyQWN0aW9uLnR5cGUgPT09ICdlZGl0JyAmJiB0aGlzLnJlZnJlc2hOb2Rlcyh0aGlzLmN1ck5vZGU/LnBhcmVudElkKTsKICAgICAgICAgICAgICAgIC8vICAgdGhpcy5jdXJBY3Rpb24udHlwZSA9PT0gJ2FkZCcgJiYgdGhpcy5yZWZyZXNoTm9kZXModGhpcy5jdXJOb2RlPy5pZCk7CiAgICAgICAgICAgICAgICAvLyB9IGVsc2UgewogICAgICAgICAgICAgICAgLy8gICB0aGlzLnJlcXVlc3RNZXRob2QgJiYgdGhpcy5nZXRUcmVlRGF0YSgpOwogICAgICAgICAgICAgICAgLy8gfQogICAgICAgICAgICAgIGNhc2UgODoKICAgICAgICAgICAgICAgIF9jb250ZXh0Mi5wcmV2ID0gODsKICAgICAgICAgICAgICAgIF90aGlzMi5kaWFsb2dMb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLmZpbmlzaCg4KTsKICAgICAgICAgICAgICBjYXNlIDExOgogICAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLnN0b3AoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgX2NhbGxlZTIsIG51bGwsIFtbMSwsIDgsIDExXV0pOwogICAgICAgIH0pKTsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKF94KSB7CiAgICAgICAgICByZXR1cm4gX3JlZi5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICAgIH07CiAgICAgIH0oKSk7CiAgICB9LAogICAgLy8g6IqC54K55bGV5byA6K6w5b2V5LiL5p2lCiAgICBvbk5vZGVFeHBhbmQ6IGZ1bmN0aW9uIG9uTm9kZUV4cGFuZChkYXRhKSB7CiAgICAgIHRoaXMuZGVmRXhwYW5kZWRLZXlzLnB1c2goZGF0YS5pZCk7CiAgICB9LAogICAgb25Ob2RlQ29sbGFwc2U6IGZ1bmN0aW9uIG9uTm9kZUNvbGxhcHNlKGRhdGEpIHsKICAgICAgdmFyIGluZGV4ID0gdGhpcy5kZWZFeHBhbmRlZEtleXMuaW5kZXhPZihkYXRhLmlkKTsKICAgICAgaWYgKGluZGV4ID4gLTEpIHsKICAgICAgICB0aGlzLmRlZkV4cGFuZGVkS2V5cy5zcGxpY2UoaW5kZXgsIDEpOwogICAgICB9CiAgICB9LAogICAgLyoqDQogICAgICogQGRlc2NyaXB0aW9uOg0KICAgICAqIEBwYXJhbSB7Kn0gdmFsDQogICAgICogQHBhcmFtIHsqfSBmb3JtYXQgbm9TcGVjaWFsDQogICAgICogQHJldHVybiB7Kn0NCiAgICAgKi8KICAgIGZvcm1hdElucHV0OiBmdW5jdGlvbiBmb3JtYXRJbnB1dCh2YWwsIF9yZWYyKSB7CiAgICAgIHZhciBmb3JtYXQgPSBfcmVmMi5mb3JtYXQsCiAgICAgICAgcHJvcCA9IF9yZWYyLnByb3A7CiAgICAgIGlmIChmb3JtYXQpIHsKICAgICAgICB0aGlzLmRpYWxvZ0Zvcm1bcHJvcF0gPSB0aGlzLmZvcm1hdEJ5UnVsZSh2YWwsIGZvcm1hdCk7CiAgICAgIH0KICAgIH0sCiAgICBmb3JtYXRCeVJ1bGU6IGZ1bmN0aW9uIGZvcm1hdEJ5UnVsZSh2YWwsIHR5cGUpIHsKICAgICAgdmFyIHJ1bGVzID0gewogICAgICAgIG5vU3BlY2lhbDogL1teXHU0RTAwLVx1OUZBNUEtWmEtejAtOV0vZwogICAgICB9OwogICAgICBpZiAocnVsZXNbdHlwZV0gJiYgdmFsKSB7CiAgICAgICAgcmV0dXJuIHZhbC5yZXBsYWNlKHJ1bGVzW3R5cGVdLCAnJyk7CiAgICAgIH0KICAgICAgcmV0dXJuIHZhbDsKICAgIH0sCiAgICBnZXRBY3Rpb25zOiBmdW5jdGlvbiBnZXRBY3Rpb25zKF9yZWYzLCBhY3Rpb25zKSB7CiAgICAgIHZhciBkYXRhID0gX3JlZjMuZGF0YTsKICAgICAgaWYgKHR5cGVvZiB0aGlzLmFjdGlvbnMgPT09ICdmdW5jdGlvbicpIHsKICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zKGRhdGEsIGFjdGlvbnMpOwogICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5hY3Rpb25zKSkgewogICAgICAgIHJldHVybiB0aGlzLmFjdGlvbnM7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIGFjdGlvbnM7CiAgICAgIH0KICAgIH0sCiAgICBhZGROb2RlOiBmdW5jdGlvbiBhZGROb2RlKCkgewogICAgICAvLyBvcmRlck51bTogREVGX09SREVSX05VTSwKICAgICAgdGhpcy5kaWFsb2dGb3JtID0gX29iamVjdFNwcmVhZCh7fSwgdGhpcy5kZWZhdWx0RGF0YSk7CiAgICAgIHRoaXMuZGlhbG9nVGl0bGUgPSAn5paw5aKe6IqC54K5JzsKICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gdHJ1ZTsKICAgIH0sCiAgICBlZGl0Tm9kZTogZnVuY3Rpb24gZWRpdE5vZGUoZGF0YSkgewogICAgICB0aGlzLmRpYWxvZ0Zvcm0gPSBfb2JqZWN0U3ByZWFkKHt9LCBkYXRhKTsKICAgICAgdGhpcy5kaWFsb2dUaXRsZSA9ICfnvJbovpHoioLngrknOwogICAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSB0cnVlOwogICAgfSwKICAgIGRlbGV0ZU5vZGU6IGZ1bmN0aW9uIGRlbGV0ZU5vZGUoZGF0YSkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdGhpcy4kY29uZmlybSgiXHU3ODZFXHU4QkE0XHU1MjIwXHU5NjY0Ii5jb25jYXQoZGF0YVt0aGlzLmRlZmF1bHRQcm9wcy5sYWJlbF0gKyAodGhpcy5jdXJBY3Rpb24udGlwcyA/IHRoaXMuY3VyQWN0aW9uLnRpcHMgOiAnJyksICJcdTU0MTdcdUZGMUYiKSwgJ+aPkOekuicsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsCiAgICAgICAgdHlwZTogJ3dhcm5pbmcnCiAgICAgIH0pLnRoZW4oLyojX19QVVJFX18qL19hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlMygpIHsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTMkKF9jb250ZXh0MykgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQzLnByZXYgPSBfY29udGV4dDMubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgaWYgKCEodHlwZW9mIF90aGlzMy5jdXJBY3Rpb24ubWV0aG9kID09PSAnZnVuY3Rpb24nKSkgewogICAgICAgICAgICAgICAgX2NvbnRleHQzLm5leHQgPSA0OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF9jb250ZXh0My5uZXh0ID0gMzsKICAgICAgICAgICAgICByZXR1cm4gX3RoaXMzLmN1ckFjdGlvbi5tZXRob2QoW2RhdGEuaWRdLCBkYXRhKTsKICAgICAgICAgICAgY2FzZSAzOgogICAgICAgICAgICAgIGlmIChfdGhpczMubGF6eSkgewogICAgICAgICAgICAgICAgX3RoaXMzLnJlZnJlc2hOb2RlcyhfdGhpczMuY3VyTm9kZS5wYXJlbnRJZCk7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlmIChfdGhpczMucmVxdWVzdE1ldGhvZCkgewogICAgICAgICAgICAgICAgICBfdGhpczMuZ2V0VHJlZURhdGEoKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgIF90aGlzMy4kcmVmcy5hcHBUcmVlLmVsVHJlZS5yZW1vdmUoZGF0YSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0My5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTMpOwogICAgICB9KSkpLmNhdGNoKGZ1bmN0aW9uICgpIHt9KTsKICAgIH0sCiAgICBvbk5vZGVBY3Rpb25DbGljazogZnVuY3Rpb24gb25Ob2RlQWN0aW9uQ2xpY2soZSkgewogICAgICB2YXIgdHlwZSA9IGUudHlwZSwKICAgICAgICBkYXRhID0gZS5kYXRhOwogICAgICB0aGlzLiRlbWl0KCdiZWZvcmVBY3Rpb25zQ2xpY2snLCBlKTsKICAgICAgaWYgKHRoaXMuY3VzdG9tQWN0aW9ucykgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLmN1ck5vZGUgPSBkYXRhOwogICAgICB0aGlzLmN1ckFjdGlvbiA9IGU7CiAgICAgIHZhciBtYXAgPSB7CiAgICAgICAgYWRkOiB0aGlzLmFkZE5vZGUsCiAgICAgICAgZWRpdDogdGhpcy5lZGl0Tm9kZSwKICAgICAgICBkZWxldGU6IHRoaXMuZGVsZXRlTm9kZQogICAgICB9OwogICAgICBtYXBbdHlwZV0gJiYgbWFwW3R5cGVdKGRhdGEpOwogICAgfSwKICAgIHJlZnJlc2hOb2RlczogZnVuY3Rpb24gcmVmcmVzaE5vZGVzKCkgewogICAgICB2YXIgX3RoaXMkY3VyTm9kZTM7CiAgICAgIHZhciBpZCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogKF90aGlzJGN1ck5vZGUzID0gdGhpcy5jdXJOb2RlKSA9PT0gbnVsbCB8fCBfdGhpcyRjdXJOb2RlMyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3RoaXMkY3VyTm9kZTMuaWQ7CiAgICAgIHZhciBub2RlID0gdGhpcy4kcmVmcy5hcHBUcmVlLmVsVHJlZS5nZXROb2RlKGlkKTsKICAgICAgbm9kZS5sb2FkZWQgPSBmYWxzZTsKICAgICAgbm9kZS5leHBhbmQoKTsKICAgIH0sCiAgICBsb2FkTm9kZTogZnVuY3Rpb24gbG9hZE5vZGUobm9kZSwgcmVzb2x2ZSkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlNCgpIHsKICAgICAgICB2YXIgY2I7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWU0JChfY29udGV4dDQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0NC5wcmV2ID0gX2NvbnRleHQ0Lm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIGNiID0gZnVuY3Rpb24gY2IoZGF0YSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoZGF0YSk7CiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBfdGhpczQucmVxdWVzdE1ldGhvZChub2RlLCBjYik7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQ0LnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlNCk7CiAgICAgIH0pKSgpOwogICAgfSwKICAgIC8vIGxhenkgc2VhcmNoCiAgICBzZWFyY2hSZWxvYWQ6IGZ1bmN0aW9uIHNlYXJjaFJlbG9hZCh2YWwpIHsKICAgICAgdGhpcy5sYXp5VHJlZSA9ICh2YWwgPT09IG51bGwgfHwgdmFsID09PSB2b2lkIDAgPyB2b2lkIDAgOiB2YWwubGVuZ3RoKSA9PT0gMDsKICAgICAgdHlwZW9mIHRoaXMucmVsb2FkID09PSAnZnVuY3Rpb24nICYmIHRoaXMucmVsb2FkKHZhbCk7CiAgICB9LAogICAgcmVsb2FkVHJlZTogZnVuY3Rpb24gcmVsb2FkVHJlZSgpIHsKICAgICAgdGhpcy4kcmVmcy5hcHBUcmVlLnJlbG9hZFRyZWUoKTsKICAgICAgLy8g5byC5q2l5pCc57Si5p+l6K+i5qCR6LCD55So5o6l5Y+j5p+l6K+i5YWo6YOo6IqC54K5CiAgICAgIGlmICh0aGlzLmxhenkgJiYgIXRoaXMubGF6eVRyZWUgJiYgdGhpcy5yZXF1ZXN0TWV0aG9kKSB7CiAgICAgICAgdGhpcy5nZXRUcmVlRGF0YSgpOwogICAgICB9CiAgICB9LAogICAgLy8g5Y+M5Ye75bGV5byA6IqC54K5CiAgICBvbk5vZGVEQkNsaWNrOiBmdW5jdGlvbiBvbk5vZGVEQkNsaWNrKGUsIHNjb3BlKSB7CiAgICAgIGlmICh0aGlzLmRiQ2xpY2tFeHBhbmRBbGxvdykgewogICAgICAgIHRoaXMuJHJlZnMuYXBwVHJlZS5lbFRyZWUuc3RvcmUubm9kZXNNYXBbc2NvcGUuZGF0YS5pZF0uZXhwYW5kZWQgPSAhc2NvcGUubm9kZS5leHBhbmRlZDsKICAgICAgfQogICAgfQogIH0KfTs="},null]}