{"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-eslint\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\jenkins\\workspace\\dataShare-fvue\\src\\mixins\\table.js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\mixins\\table.js","mtime":1735930517383},{"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-eslint\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3JlZ2VuZXJhdG9yUnVudGltZS5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXN5bmNUb0dlbmVyYXRvci5qcyI7CmltcG9ydCBfdG9Db25zdW1hYmxlQXJyYXkgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3RvQ29uc3VtYWJsZUFycmF5LmpzIjsKaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvZGF0YVNoYXJlLWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maWx0ZXIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maW5kLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC1pbmRleC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmluY2x1ZGVzLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNwbGljZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaW5jbHVkZXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuZmlsdGVyLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmZpbmQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IubWFwLmpzIjsKaW1wb3J0IERJQ1QgZnJvbSAnQC91dGlscy9kaWN0JzsKZXhwb3J0IGRlZmF1bHQgewogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICB0YWJsZURhdGE6IFtdLAogICAgICAvLyDooajmoLzmlbDmja4KICAgICAgdG90YWw6IDAsCiAgICAgIC8vIOihqOagvOaAu+adoeaVsAogICAgICB0YWJsZUxvYWRpbmc6IGZhbHNlLAogICAgICAvLyDooajmoLxsb2FkaW5nCiAgICAgIHNlbGVjdGVkUm93czogW10sCiAgICAgIC8vIOW3sumAieihjOaVsOaNrgogICAgICBmaWx0ZXJzOiB7fSwKICAgICAgZmlsdGVyc0NvbmZpZzoge30sCiAgICAgIHF1ZXJ5UGFyYW1zOiB7fSwKICAgICAgcGFnaW5hdGlvbjogewogICAgICAgIC8vIOWIhumhteWIneWni+WMluaVsOaNrgogICAgICAgIHBhZ2U6IDEsCiAgICAgICAgcGFnZVNpemU6IDIwCiAgICAgIH0sCiAgICAgIGJ0bkxvYWRpbmc6IGZhbHNlLAogICAgICBjdXJyZW50Um93OiBudWxsLAogICAgICBwaWNrZXJPcHRpb25zOiB7CiAgICAgICAgc2hvcnRjdXRzOiBbewogICAgICAgICAgdGV4dDogJ+acgOi/keS4gOWRqCcsCiAgICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKHBpY2tlcikgewogICAgICAgICAgICB2YXIgZW5kID0gbmV3IERhdGUoKTsKICAgICAgICAgICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoKTsKICAgICAgICAgICAgc3RhcnQuc2V0VGltZShzdGFydC5nZXRUaW1lKCkgLSAzNjAwICogMTAwMCAqIDI0ICogNyk7CiAgICAgICAgICAgIHBpY2tlci4kZW1pdCgncGljaycsIFtzdGFydCwgZW5kXSk7CiAgICAgICAgICB9CiAgICAgICAgfSwgewogICAgICAgICAgdGV4dDogJ+acgOi/keS4gOS4quaciCcsCiAgICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKHBpY2tlcikgewogICAgICAgICAgICB2YXIgZW5kID0gbmV3IERhdGUoKTsKICAgICAgICAgICAgdmFyIHN0YXJ0ID0gbmV3IERhdGUoKTsKICAgICAgICAgICAgc3RhcnQuc2V0VGltZShzdGFydC5nZXRUaW1lKCkgLSAzNjAwICogMTAwMCAqIDI0ICogMzApOwogICAgICAgICAgICBwaWNrZXIuJGVtaXQoJ3BpY2snLCBbc3RhcnQsIGVuZF0pOwogICAgICAgICAgfQogICAgICAgIH0sIHsKICAgICAgICAgIHRleHQ6ICfmnIDov5HkuInkuKrmnIgnLAogICAgICAgICAgb25DbGljazogZnVuY3Rpb24gb25DbGljayhwaWNrZXIpIHsKICAgICAgICAgICAgdmFyIGVuZCA9IG5ldyBEYXRlKCk7CiAgICAgICAgICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKCk7CiAgICAgICAgICAgIHN0YXJ0LnNldFRpbWUoc3RhcnQuZ2V0VGltZSgpIC0gMzYwMCAqIDEwMDAgKiAyNCAqIDkwKTsKICAgICAgICAgICAgcGlja2VyLiRlbWl0KCdwaWNrJywgW3N0YXJ0LCBlbmRdKTsKICAgICAgICAgIH0KICAgICAgICB9XQogICAgICB9CiAgICB9OwogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIC8vIOS7heWLvumAieS4gOadoQogICAgaXNTaW5nbGU6IGZ1bmN0aW9uIGlzU2luZ2xlKCkgewogICAgICB2YXIgX3RoaXMkc2VsZWN0ZWRSb3dzOwogICAgICByZXR1cm4gKChfdGhpcyRzZWxlY3RlZFJvd3MgPSB0aGlzLnNlbGVjdGVkUm93cykgPT09IG51bGwgfHwgX3RoaXMkc2VsZWN0ZWRSb3dzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfdGhpcyRzZWxlY3RlZFJvd3MubGVuZ3RoKSA9PT0gMTsKICAgIH0sCiAgICAvLyDlt7Lli77pgIkKICAgIGlzU2VsZWN0ZWQ6IGZ1bmN0aW9uIGlzU2VsZWN0ZWQoKSB7CiAgICAgIHZhciBfdGhpcyRzZWxlY3RlZFJvd3MyOwogICAgICByZXR1cm4gKChfdGhpcyRzZWxlY3RlZFJvd3MyID0gdGhpcy5zZWxlY3RlZFJvd3MpID09PSBudWxsIHx8IF90aGlzJHNlbGVjdGVkUm93czIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF90aGlzJHNlbGVjdGVkUm93czIubGVuZ3RoKSA+IDA7CiAgICB9LAogICAgcXVlcnlQYXJhbXNLZXk6IGZ1bmN0aW9uIHF1ZXJ5UGFyYW1zS2V5KCkgewogICAgICAvLyDliJfooajmkJzntKLnu5Hlrprlr7nosaFrZXkKICAgICAgcmV0dXJuIHRoaXMucGFyYW1zS2V5IHx8ICdmaWx0ZXJzJzsKICAgIH0sCiAgICAvLyDmmK/lkKbpu5jorqTmiafooYzliJfooajmjqXlj6Pmn6Xor6IKICAgIGluaXRSZWZyZXNoOiBmdW5jdGlvbiBpbml0UmVmcmVzaCgpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgaWYgKHRoaXMuaW5pdFJlZnJlc2ggPT09IHRydWUpIHRoaXMucmVmcmVzaCgpOwogIH0sCiAgbWV0aG9kczogewogICAgZmlsdGVyRGljdDogZnVuY3Rpb24gZmlsdGVyRGljdChkaWN0S2V5LCB2YWwpIHsKICAgICAgdmFyIGRlZiA9IHsKICAgICAgICBsYWJlbDogJycsCiAgICAgICAgdmFsdWU6IHZhbAogICAgICB9OwogICAgICBpZiAoW251bGwsIHVuZGVmaW5lZCwgJyddLmluY2x1ZGVzKHZhbCkpIHsKICAgICAgICByZXR1cm4gZGVmOwogICAgICB9CiAgICAgIHJldHVybiBESUNUW2RpY3RLZXldLmZpbmQoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaXRlbS52YWx1ZSA9PT0gdmFsOwogICAgICB9KSB8fCBkZWY7CiAgICB9LAogICAgLyoqDQogICAgICogQGZ1bmMg5pe26Ze06YCJ5oup5Zmo6YCJ5oup5Zue6LCD5pa55rOVDQogICAgICogQGRlc2MNCiAgICAgKiAgZGF0ZTogW2FycmF5IHwgc3RyaW5nXTogJ+aXpeacn+e7hOS7tumAieS4reaVsOaNricsDQogICAgICogIGtleXMgW2FycmF5IHwgc3RyaW5nXTogJ+WvueW6lOWPguaVsOeahGtleScsDQogICAgICogIG5lZWRUaW1lIFtib29sZWFuXTogJ+S4uuaXtumXtOi3qOW6pumAieaLqeaXtu+8jOaYr+WQpumcgOimgeWGjeacq+WwvuWbuuWumuWinuWKoOaXtuWIhuenkicNCiAgICAgKiB9DQogICAgICogQHJldHVybiB7fQ0KICAgICAqIEBwYXJhbSBkYXRlDQogICAgICogQHBhcmFtIGtleXMNCiAgICAgKiBAcGFyYW0gbmVlZFRpbWUNCiAgICAgKi8KICAgIGhhbmRsZURhdGVzOiBmdW5jdGlvbiBoYW5kbGVEYXRlcyhkYXRlLCBrZXkpIHsKICAgICAgdmFyIHBhcmFtc0tleSA9IHRoaXMucXVlcnlQYXJhbXNLZXk7CiAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGUpKSB7CiAgICAgICAgLy8g5pe26Ze06Leo5bqmCiAgICAgICAgdGhpc1twYXJhbXNLZXldW2tleV0gPSBbZGF0ZVswXSwgZGF0ZVsxXV07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8g5Y2V5Liq6YCJ5oupCiAgICAgICAgLy8gdGhpc1twYXJhbXNLZXldW2tleV0gPSBkYXRlOwogICAgICB9CiAgICB9LAogICAgb25SZXNldDogZnVuY3Rpb24gb25SZXNldCgpIHsKICAgICAgdmFyIHJlZnJlc2ggPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHRydWU7CiAgICAgIHZhciBkZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9OwogICAgICB2YXIgcGFyYW1zS2V5ID0gdGhpcy5xdWVyeVBhcmFtc0tleTsKICAgICAgdGhpc1twYXJhbXNLZXldID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCB0aGlzLiRvcHRpb25zLmRhdGEoKVtwYXJhbXNLZXldKSwgZGVmKTsKCiAgICAgIC8vIOS4jeWIhumhteaDheWGtQogICAgICBpZiAoIXRoaXMucGFnaW5hdGlvbikgewogICAgICAgIHJlZnJlc2ggJiYgdGhpcy5nZXREYXRhKCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHRoaXMucGFnaW5hdGlvbi5wYWdlID09PSAxOwogICAgICB2YXIgX3RoaXMkJHJlZnMkYXBwRmlsdGUgPSB0aGlzLiRyZWZzWydhcHAtZmlsdGVyJ10uaGFuZGxlRGF0YSh0aGlzW3BhcmFtc0tleV0pLAogICAgICAgIHNlYXJjaFBhcmFtcyA9IF90aGlzJCRyZWZzJGFwcEZpbHRlLnJlc187CiAgICAgIHRoaXMucXVlcnlQYXJhbXMgPSB0aGlzLmhhbmRsZVF1ZXJ5UGFyYW1zKHNlYXJjaFBhcmFtcywgdGhpcy5wYWdpbmF0aW9uKTsKICAgICAgcmVmcmVzaCAmJiB0aGlzLmdldERhdGEoKTsKICAgIH0sCiAgICAvLyDmn6Xor6IgZGF0YTog5p+l6K+i6KGo5Y2V5pWw5o2uCiAgICBvblF1ZXJ5OiBmdW5jdGlvbiBvblF1ZXJ5KHNlYXJjaENvbmZpZywgZGF0YSkgewogICAgICB2YXIgcGFyYW1zS2V5ID0gdGhpcy5xdWVyeVBhcmFtc0tleTsKICAgICAgdGhpc1twYXJhbXNLZXldID0gZGF0YTsKICAgICAgaWYgKCF0aGlzLnBhZ2luYXRpb24pIHsKICAgICAgICB0aGlzLmdldERhdGEoKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgICAgdGhpcy5xdWVyeVBhcmFtcyA9IHRoaXMuaGFuZGxlUXVlcnlQYXJhbXMoc2VhcmNoQ29uZmlnLCB7CiAgICAgICAgcGFnZTogMQogICAgICB9KTsKICAgICAgdGhpcy5nZXREYXRhKCk7CiAgICB9LAogICAgLy8g5Yi35pawCiAgICByZWZyZXNoOiBmdW5jdGlvbiByZWZyZXNoKCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICB2YXIgcmVzZXRQYWdlTnVtID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBmYWxzZTsKICAgICAgaWYgKHJlc2V0UGFnZU51bSkgdGhpcy5wYWdpbmF0aW9uLnBhZ2UgPSAxOwogICAgICBpZiAoIXRoaXMucGFnaW5hdGlvbikgewogICAgICAgIHRoaXMuZ2V0RGF0YSgpOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKF90aGlzLiRyZWZzWydhcHAtZmlsdGVyJ10pIHsKICAgICAgICAgIHZhciBfdGhpcyQkcmVmcyRhcHBGaWx0ZTIgPSBfdGhpcy4kcmVmc1snYXBwLWZpbHRlciddLmhhbmRsZURhdGEoX3RoaXNbX3RoaXMucXVlcnlQYXJhbXNLZXldKSwKICAgICAgICAgICAgcmVzXyA9IF90aGlzJCRyZWZzJGFwcEZpbHRlMi5yZXNfOwogICAgICAgICAgX3RoaXMucXVlcnlQYXJhbXMgPSBfdGhpcy5oYW5kbGVRdWVyeVBhcmFtcyhyZXNfLCBfdGhpcy5wYWdpbmF0aW9uKTsKICAgICAgICB9CiAgICAgICAgX3RoaXMuZ2V0RGF0YSgpOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDor7fmsYLlj4LmlbDlpITnkIYKICAgIGhhbmRsZVF1ZXJ5UGFyYW1zOiBmdW5jdGlvbiBoYW5kbGVRdWVyeVBhcmFtcyhwYXJhbXMsIHBhZ2VCZWFuKSB7CiAgICAgIHJldHVybiB7CiAgICAgICAgcXVlcnlzOiBfdG9Db25zdW1hYmxlQXJyYXkocGFyYW1zIHx8IFtdKSwKICAgICAgICBwYWdlQmVhbjogX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCB0aGlzLnBhZ2luYXRpb24pLCBwYWdlQmVhbiksCiAgICAgICAgc29ydGVyOiBbXQogICAgICB9OwogICAgfSwKICAgIC8vIOivt+axguinpuWPkQogICAgZ2V0RGF0YTogZnVuY3Rpb24gZ2V0RGF0YShwYXJhbSkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlKCkgewogICAgICAgIHZhciBwYXJhbXMsIHJlcywgcm93cywgdG90YWw7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvclJ1bnRpbWUoKS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUkKF9jb250ZXh0KSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dC5wcmV2ID0gX2NvbnRleHQubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX3RoaXMyLnNlbGVjdGVkSWRzID0gW107CiAgICAgICAgICAgICAgX3RoaXMyLnNlbGVjdGVkUm93cyA9IFtdOwogICAgICAgICAgICAgIF90aGlzMi50YWJsZUxvYWRpbmcgPSB0cnVlOwogICAgICAgICAgICAgIC8vIGNvbnN0IHBhcmFtcyA9IHRoaXMucXVlcnlQYXJhbXMgfHwgdGhpcy5oYW5kbGVRdWVyeVBhcmFtcyhbXSwgdGhpcy5wYWdpbmF0aW9uKTsKCiAgICAgICAgICAgICAgdHlwZW9mIF90aGlzMi5vbkJlZm9yZUdldERhdGEgPT09ICdmdW5jdGlvbicgJiYgX3RoaXMyLm9uQmVmb3JlR2V0RGF0YShfdGhpczIucXVlcnlQYXJhbXMsIF90aGlzMltfdGhpczIucGFyYW1zS2V5XSk7CiAgICAgICAgICAgICAgX2NvbnRleHQucHJldiA9IDQ7CiAgICAgICAgICAgICAgaWYgKCEodHlwZW9mIF90aGlzMi5kYXRhTWV0aG9kID09PSAnZnVuY3Rpb24nKSkgewogICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDEyOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHBhcmFtcyA9ICFfdGhpczIucGFnaW5hdGlvbiA/IF90aGlzMltfdGhpczIucXVlcnlQYXJhbXNLZXldIDogX3RoaXMyLnF1ZXJ5UGFyYW1zOwogICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSA5OwogICAgICAgICAgICAgIHJldHVybiBfdGhpczIuZGF0YU1ldGhvZChwYXJhbXMpOwogICAgICAgICAgICBjYXNlIDk6CiAgICAgICAgICAgICAgcmVzID0gX2NvbnRleHQuc2VudDsKICAgICAgICAgICAgICByb3dzID0gcmVzLnJvd3MsIHRvdGFsID0gcmVzLnRvdGFsOwogICAgICAgICAgICAgIGlmIChyb3dzKSB7CiAgICAgICAgICAgICAgICBfdGhpczIudGFibGVEYXRhID0gdHlwZW9mIF90aGlzMi5oYW5kbGVSZXN1bHQgPT09ICdmdW5jdGlvbicgJiYgX3RoaXMyLmhhbmRsZVJlc3VsdChyb3dzKTsKICAgICAgICAgICAgICAgIF90aGlzMi50b3RhbCA9IHRvdGFsIHx8IDA7CiAgICAgICAgICAgICAgICB0eXBlb2YgX3RoaXMyLm9uQWZ0ZXJHZXREYXRhID09PSAnZnVuY3Rpb24nICYmIF90aGlzMi5vbkFmdGVyR2V0RGF0YShyZXMpOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBfdGhpczIudGFibGVEYXRhID0gKHJlcyA9PT0gbnVsbCB8fCByZXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJlcy5kYXRhKSB8fCBbXTsKICAgICAgICAgICAgICAgIHR5cGVvZiBfdGhpczIuaGFuZGxlUmVzdWx0ID09PSAnZnVuY3Rpb24nICYmIF90aGlzMi5oYW5kbGVSZXN1bHQoKHJlcyA9PT0gbnVsbCB8fCByZXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJlcy5kYXRhKSB8fCBbXSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBjYXNlIDEyOgogICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAxNzsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxNDoKICAgICAgICAgICAgICBfY29udGV4dC5wcmV2ID0gMTQ7CiAgICAgICAgICAgICAgX2NvbnRleHQudDAgPSBfY29udGV4dFsiY2F0Y2giXSg0KTsKICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKF9jb250ZXh0LnQwKTsKICAgICAgICAgICAgY2FzZSAxNzoKICAgICAgICAgICAgICBfY29udGV4dC5wcmV2ID0gMTc7CiAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBfdGhpczIudGFibGVMb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgfSwgNTAwKTsKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuZmluaXNoKDE3KTsKICAgICAgICAgICAgY2FzZSAyMDoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUsIG51bGwsIFtbNCwgMTQsIDE3LCAyMF1dKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g6K+35rGC57uT5p6c5aSE55CGCiAgICBoYW5kbGVSZXN1bHQ6IGZ1bmN0aW9uIGhhbmRsZVJlc3VsdChsaXN0KSB7CiAgICAgIHJldHVybiBsaXN0ICE9PSBudWxsICYmIGxpc3QgIT09IHZvaWQgMCAmJiBsaXN0Lmxlbmd0aCA/IF90b0NvbnN1bWFibGVBcnJheShsaXN0KSA6IFtdOwogICAgfSwKICAgIC8vIOW9k+WJjWNoZWNrYm94IOW3suWLvumAieinpuWPkQogICAgb25TZWxlY3Rpb25DaGFuZ2U6IGZ1bmN0aW9uIG9uU2VsZWN0aW9uQ2hhbmdlKHJvd3MpIHsKICAgICAgdGhpcy5zZWxlY3RlZFJvd3MgPSByb3dzOwogICAgICB0aGlzLnNlbGVjdGVkSWRzID0gcm93cy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaXRlbS5pZDsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5YiG6aG16Kem5Y+RCiAgICBvblBhZ2luYXRpb25DaGFuZ2U6IGZ1bmN0aW9uIG9uUGFnaW5hdGlvbkNoYW5nZShwYWdlKSB7CiAgICAgIHRoaXMucGFnaW5hdGlvbiA9IHBhZ2U7CiAgICAgIHRoaXMucmVmcmVzaCgpOwogICAgfSwKICAgIC8qKg0KICAgICAqIOeUqOS6juiuvue9rumdnuafpeivouadoeS7tue7hOS7tueahOWFtuS7lum7mOiupOivt+axguWPguaVsOWAvA0KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBxdWVyeURhdGEg5YiG6aG16K+35rGC5a+56LGhDQogICAgICogQHBhcmFtIHtBcnJheX0gW3sgb3BlcmF0aW9uOiAnRVFVQUwnLCBwcm9wZXJ0eTogJ2R3Q2F0YWxvZ3NJZCcsIHJlbGF0aW9uOiAnQU5EJywgdmFsdWU6ICcnfV0g5p+l6K+i5p2h5Lu25a+56LGhDQogICAgICogQHBhcmFtIHtTdHJpbmd9IGtleSDmn6Xor6Llj4LmlbDlrZfmrrXlkI0gcHJvcGVydHkNCiAgICAgKiBAcGFyYW0ge2FueX0gdmFsdWUg5p+l6K+i5Y+C5pWw5YC8DQogICAgICogQHJldHVybiB2b2lkDQogICAgICogKi8KICAgIHNldEZpbHRlclZhbHVlOiBmdW5jdGlvbiBzZXRGaWx0ZXJWYWx1ZShxdWVyeURhdGEsIGZpbHRlcnMsIGtleSwgdmFsdWUpIHsKICAgICAgdmFyIHRhcmdldEZpbHRlciA9IGZpbHRlcnMuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIGl0ZW0ucHJvcGVydHkgPT09IGtleTsKICAgICAgfSk7CiAgICAgIGlmICh0YXJnZXRGaWx0ZXIgJiYgdGFyZ2V0RmlsdGVyLmxlbmd0aCkgewogICAgICAgIHRhcmdldEZpbHRlclswXS52YWx1ZSA9IHZhbHVlOwogICAgICAgIHRoaXMuc2V0UXVlcnlzKHF1ZXJ5RGF0YSwga2V5LCB0YXJnZXRGaWx0ZXJbMF0pOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygn5pyq5om+5Yiw5p+l6K+i5Y+C5pWwJyk7CiAgICAgIH0KICAgIH0sCiAgICAvKioNCiAgICAgKiDnlKjkuo7or7fmsYLlj4LmlbBxdWVyeXPljrvph43orr7nva4NCiAgICAgKiBAcGFyYW0ge09iamVjdH0gcXVlcnlEYXRhIOWIhumhteivt+axguWvueixoQ0KICAgICAqIEBwYXJhbSB7U3RyaW5nfSBrZXkg5p+l6K+i5Y+C5pWw5a2X5q615ZCNIHByb3BlcnR5DQogICAgICogQHBhcmFtIHtPYmplY3R9IG5ld0ZpbHRlciDmn6Xor6LmnaHku7blr7nosaENCiAgICAgKiBAcmV0dXJuIHZvaWQNCiAgICAgKiAqLwogICAgc2V0UXVlcnlzOiBmdW5jdGlvbiBzZXRRdWVyeXMocXVlcnlEYXRhLCBrZXksIG5ld0ZpbHRlcikgewogICAgICB2YXIgX3F1ZXJ5RGF0YSRxdWVyeXMgPSBxdWVyeURhdGEucXVlcnlzLAogICAgICAgIHF1ZXJ5cyA9IF9xdWVyeURhdGEkcXVlcnlzID09PSB2b2lkIDAgPyBbXSA6IF9xdWVyeURhdGEkcXVlcnlzOwogICAgICB2YXIgdGFyZ2V0SW5kZXggPSBxdWVyeXMuZmluZEluZGV4KGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIGl0ZW0ucHJvcGVydHkgPT09IGtleTsKICAgICAgfSk7CiAgICAgIGlmICh0YXJnZXRJbmRleCAhPT0gLTEpIHsKICAgICAgICBxdWVyeXMuc3BsaWNlKHRhcmdldEluZGV4LCAxLCBuZXdGaWx0ZXIpOwogICAgICB9IGVsc2UgewogICAgICAgIHF1ZXJ5cy5wdXNoKG5ld0ZpbHRlcik7CiAgICAgIH0KICAgICAgcXVlcnlEYXRhLnF1ZXJ5cyA9IHF1ZXJ5czsKICAgIH0KICB9Cn07"},null]}