{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\3DView.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\3DView.vue","mtime":1667545182301},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZScNCmltcG9ydCB7T3JiaXRDb250cm9sc30gZnJvbSAndGhyZWUvZXhhbXBsZXMvanNtL2NvbnRyb2xzL09yYml0Q29udHJvbHMuanMnDQppbXBvcnQgZ3NhcCBmcm9tICdnc2FwJw0KZXhwb3J0IGRlZmF1bHQgew0KICAgIG5hbWU6ICdIb21lJywNCiAgICBkYXRhKCkgew0KICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgc2NlbmU6IG51bGwsDQogICAgICAgICAgICBjYW1lcmE6IG51bGwsDQogICAgICAgICAgICBjb250cm9sczogbnVsbCwNCiAgICAgICAgICAgIHJlbmRlcmVyOiBudWxsLA0KICAgICAgICAgICAgYXhpc0hlbHBlcjogbnVsbCwNCiAgICAgICAgICAgIHNwaGVyZTogbnVsbCwNCiAgICAgICAgICAgIHRpbWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB0aW1lcjogbnVsbCwNCiAgICAgICAgICAgIGRhdGFMaXN0OiBbDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICBpbWFnZTogcmVxdWlyZSgnQC9hc3NldHMvM0RJbWFnZS9saXZpbmdSb29tLmpwZycpLA0KICAgICAgICAgICAgICAgICAgICB0aXBzTGlzdDogWw0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB7eDogLTIwMCwgeTogLTQsIHo6IC0xNDd9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfov5vlhaXljqjmiL8nLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dUaXA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93VGl0bGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHt4OiAtMTAwLCB5OiAwLCB6OiAtMjMxfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5L+h5oGv54K5MicsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICc3Nzk4OScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dUaXA6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dUaXRsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHt4OiAxNTAsIHk6IC01MCwgejogLTE5OH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+S/oeaBr+eCuTMnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAncXdkY3onLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93VGlwOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93VGl0bGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB7eDogMjEwLCB5OiAxMSwgejogLTE0MH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+S/oeaBr+eCuTQnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAn5aSn6LGG6aOf5b+D6Jmr5L6m5a+f5Y2B5aSn5aSn6IuP5omT5aSn5aSn5aSn5aSn5aSn5aSn5aSnJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1RpcDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1RpdGxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjoge3g6IDIwOCwgeTogLTEyLCB6OiAxNDB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfkv6Hmga/ngrk1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ2VxJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1RpcDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1RpdGxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBwb3NpdGlvbjoge3g6IDg2LCB5OiAtOSwgejogMjM2fSwNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBjb250ZW50OiB7DQogICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHRpdGxlOiAn6L+b5YWl5oi/6Ze0JywNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgdGV4dDogJycsDQogICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHNob3dUaXA6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBzaG93VGl0bGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIH0sDQogICAgICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIGltYWdlOiByZXF1aXJlKCdAL2Fzc2V0cy8zREltYWdlL2tpdGNoZW4uanBnJyksDQogICAgICAgICAgICAgICAgICAgIHRpcHNMaXN0OiBbDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHt4OiAtMTk5LCB5OiAtMjQsIHo6IDE0NX0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+i/m+WFpeWkp+WOhScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICcnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1RpcDogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dUaXRsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgXSwNCiAgICAgICAgICAgIHRpcHNTcHJpdGVMaXN0OiBbXSwNCiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbjogew0KICAgICAgICAgICAgICAgIHRvcDogJy0xMDAlJywNCiAgICAgICAgICAgICAgICBsZWZ0OiAnLTEwMCUnLA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHRpdGxlUG9zaXRpb246IHsNCiAgICAgICAgICAgICAgICB0b3A6ICctMTAwJScsDQogICAgICAgICAgICAgICAgbGVmdDogJy0xMDAlJywNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB0b29sdG9wQ29udGVudDoge30sDQogICAgICAgIH0NCiAgICB9LA0KICAgIG1ldGhvZHM6IHsNCiAgICAgICAgLy8g5Yid5aeL5YyW5Zy65pmvDQogICAgICAgIGluaXRTY2VuZSgpIHsNCiAgICAgICAgICAgIHRoaXMuc2NlbmUgPSBuZXcgVEhSRUUuU2NlbmUoKQ0KICAgICAgICAgICAgdGhpcy5zY2VuZS5iYWNrZ3JvdW5kID0gbmV3IFRIUkVFLkNvbG9yKDB4MTAxMDEwKQ0KICAgICAgICB9LA0KICAgICAgICAvLyDliJ3lp4vljJbpgI/op4bmipXlvbHnm7jmnLoNCiAgICAgICAgaW5pdENhbWVyYShlbGVtZW50KSB7DQogICAgICAgICAgICB0aGlzLmNhbWVyYSA9IG5ldyBUSFJFRS5QZXJzcGVjdGl2ZUNhbWVyYSgNCiAgICAgICAgICAgICAgICA0NSwNCiAgICAgICAgICAgICAgICBlbGVtZW50LmNsaWVudFdpZHRoIC8gZWxlbWVudC5jbGllbnRIZWlnaHQsDQogICAgICAgICAgICAgICAgMC4xLA0KICAgICAgICAgICAgICAgIDEwMDANCiAgICAgICAgICAgICkNCiAgICAgICAgICAgIHRoaXMuY2FtZXJhLnBvc2l0aW9uLnNldCg1MCwgMCwgNDApDQogICAgICAgIH0sDQogICAgICAgIC8vIOaOp+WItuWZqA0KICAgICAgICBpbml0Q29udHJvbHMoZWxlbWVudCkgew0KICAgICAgICAgICAgdGhpcy5jb250cm9scyA9IG5ldyBPcmJpdENvbnRyb2xzKHRoaXMuY2FtZXJhLCBlbGVtZW50KQ0KICAgICAgICAgICAgdGhpcy5jb250cm9scy5taW5EaXN0YW5jZSA9IDENCiAgICAgICAgICAgIHRoaXMuY29udHJvbHMubWF4RGlzdGFuY2UgPSAxMDANCiAgICAgICAgICAgIHRoaXMuY29udHJvbHMuZW5hYmxlUGFuID0gZmFsc2UNCiAgICAgICAgfSwNCiAgICAgICAgLy8g5riy5p+T5ZmoDQogICAgICAgIGluaXRSZW5kZXJlcihlbGVtZW50KSB7DQogICAgICAgICAgICB0aGlzLnJlbmRlcmVyID0gbmV3IFRIUkVFLldlYkdMUmVuZGVyZXIoKQ0KICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTaXplKGVsZW1lbnQub2Zmc2V0V2lkdGgsIGVsZW1lbnQub2Zmc2V0SGVpZ2h0KQ0KICAgICAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnJlbmRlcmVyLmRvbUVsZW1lbnQpDQogICAgICAgIH0sDQogICAgICAgIGluaXRDb250ZW50KGluZGV4ID0gMCkgew0KICAgICAgICAgICAgbGV0IHNwaGVyZUdlb21ldHJ5ID0gbmV3IFRIUkVFLlNwaGVyZUdlb21ldHJ5KDE2LCA1MCwgNTApDQogICAgICAgICAgICBzcGhlcmVHZW9tZXRyeS5zY2FsZSgxNiwgMTYsIC0xNikNCiAgICAgICAgICAgIGxldCB0ZXh0dXJlID0gbmV3IFRIUkVFLlRleHR1cmVMb2FkZXIoKS5sb2FkKA0KICAgICAgICAgICAgICAgIHRoaXMuZGF0YUxpc3RbaW5kZXhdLmltYWdlDQogICAgICAgICAgICApDQogICAgICAgICAgICBsZXQgc3BoZXJlTWF0ZXJpYWwgPSBuZXcgVEhSRUUuTWVzaEJhc2ljTWF0ZXJpYWwoe21hcDogdGV4dHVyZX0pDQogICAgICAgICAgICB0aGlzLnNwaGVyZSA9IG5ldyBUSFJFRS5NZXNoKHNwaGVyZUdlb21ldHJ5LCBzcGhlcmVNYXRlcmlhbCkNCiAgICAgICAgICAgIHRoaXMuc2NlbmUuYWRkKHRoaXMuc3BoZXJlKQ0KICAgICAgICAgICAgdGhpcy5hZGRUaXBzU3ByaXRlKCkNCiAgICAgICAgfSwNCiAgICAgICAgYWRkVGlwc1Nwcml0ZShpbmRleCA9IDApIHsNCiAgICAgICAgICAgIGxldCB0aXBUZXh0dXJlID0gbmV3IFRIUkVFLlRleHR1cmVMb2FkZXIoKS5sb2FkKA0KICAgICAgICAgICAgICAgIHJlcXVpcmUoJ0AvYXNzZXRzLzNESW1hZ2UvdGlwLnBuZycpDQogICAgICAgICAgICApDQogICAgICAgICAgICBsZXQgbWF0ZXJpYWwgPSBuZXcgVEhSRUUuU3ByaXRlTWF0ZXJpYWwoe21hcDogdGlwVGV4dHVyZX0pDQogICAgICAgICAgICB0aGlzLnRpcHNTcHJpdGVMaXN0ID0gW10NCiAgICAgICAgICAgIHRoaXMuZGF0YUxpc3RbaW5kZXhdLnRpcHNMaXN0LmZvckVhY2goKGl0ZW0pID0+IHsNCiAgICAgICAgICAgICAgICBsZXQgc3ByaXRlID0gbmV3IFRIUkVFLlNwcml0ZShtYXRlcmlhbCkNCiAgICAgICAgICAgICAgICBzcHJpdGUuc2NhbGUuc2V0KDEwLCAxMCwgMTApDQogICAgICAgICAgICAgICAgc3ByaXRlLnBvc2l0aW9uLnNldCgNCiAgICAgICAgICAgICAgICAgICAgaXRlbS5wb3NpdGlvbi54LA0KICAgICAgICAgICAgICAgICAgICBpdGVtLnBvc2l0aW9uLnksDQogICAgICAgICAgICAgICAgICAgIGl0ZW0ucG9zaXRpb24ueg0KICAgICAgICAgICAgICAgICkNCiAgICAgICAgICAgICAgICBzcHJpdGUuY29udGVudCA9IGl0ZW0uY29udGVudA0KICAgICAgICAgICAgICAgIHRoaXMudGlwc1Nwcml0ZUxpc3QucHVzaChzcHJpdGUpDQogICAgICAgICAgICAgICAgdGhpcy5zY2VuZS5hZGQoc3ByaXRlKQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgfSwNCiAgICAgICAgY2hhbmdlQ29udGVudEFuZHRpcHMoaW5kZXgpIHsNCiAgICAgICAgICAgIHRoaXMuc2NlbmUuY2hpbGRyZW4gPSB0aGlzLnNjZW5lLmNoaWxkcmVuLmZpbHRlcigNCiAgICAgICAgICAgICAgICAoaXRlbSkgPT4gU3RyaW5nKGl0ZW0udHlwZSkgIT09ICdTcHJpdGUnDQogICAgICAgICAgICApDQogICAgICAgICAgICB0aGlzLnRpcHNTcHJpdGVMaXN0ID0gW10NCiAgICAgICAgICAgIGxldCB0ZXh0dXJlID0gbmV3IFRIUkVFLlRleHR1cmVMb2FkZXIoKS5sb2FkKA0KICAgICAgICAgICAgICAgIHRoaXMuZGF0YUxpc3RbaW5kZXhdLmltYWdlDQogICAgICAgICAgICApDQogICAgICAgICAgICBsZXQgc3BoZXJlTWF0ZXJpYWwgPSBuZXcgVEhSRUUuTWVzaEJhc2ljTWF0ZXJpYWwoew0KICAgICAgICAgICAgICAgIG1hcDogdGV4dHVyZSwNCiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDogdHJ1ZSwNCiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLA0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIHRoaXMuc3BoZXJlLm1hdGVyaWFsID0gc3BoZXJlTWF0ZXJpYWwNCiAgICAgICAgICAgIGdzYXAudG8oc3BoZXJlTWF0ZXJpYWwsIHsNCiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDogdHJ1ZSwNCiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLA0KICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAyLA0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIHRoaXMuY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKQ0KICAgICAgICAgICAgdGhpcy5hZGRUaXBzU3ByaXRlKGluZGV4KQ0KICAgICAgICB9LA0KICAgICAgICByZW5kZXIoKSB7DQogICAgICAgICAgICB0aGlzLmNvbnRyb2xzLnVwZGF0ZSgpDQogICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbmRlcih0aGlzLnNjZW5lLCB0aGlzLmNhbWVyYSkNCiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc29ydE9iamVjdHMgPSBmYWxzZQ0KICAgICAgICAgICAgdGhpcy50aW1lciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnJlbmRlcikNCiAgICAgICAgICAgIHRoaXMudGltZS52YWx1ZSArPSAwLjAxNQ0KICAgICAgICB9LA0KICAgICAgICBvblJlc2l6ZSgpIHsNCiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gdGhpcy4kcmVmcy50aHJlZURCb3gNCiAgICAgICAgICAgIHRoaXMuY2FtZXJhLmFzcGVjdCA9IGVsZW1lbnQuY2xpZW50V2lkdGggLyBlbGVtZW50LmNsaWVudEhlaWdodA0KICAgICAgICAgICAgdGhpcy5jYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpDQogICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFNpemUoZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQpDQogICAgICAgIH0sDQogICAgICAgIG9uTW91c2VDbGljayhlKSB7DQogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCkNCiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gdGhpcy4kcmVmcy50aHJlZURCb3gNCiAgICAgICAgICAgIGNvbnNvbGUubG9nKGVsZW1lbnQpDQogICAgICAgICAgICBsZXQgcmF5Y2FzdGVyID0gbmV3IFRIUkVFLlJheWNhc3RlcigpDQogICAgICAgICAgICBsZXQgbW91c2UgPSBuZXcgVEhSRUUuVmVjdG9yMigpDQogICAgICAgICAgICBtb3VzZS54ID0gKGUuY2xpZW50WCAvIGVsZW1lbnQuY2xpZW50V2lkdGgpICogMiAtIDENCiAgICAgICAgICAgIG1vdXNlLnkgPSAtKGUuY2xpZW50WSAvIGVsZW1lbnQuY2xpZW50SGVpZ2h0KSAqIDIgKyAxDQogICAgICAgICAgICByYXljYXN0ZXIuc2V0RnJvbUNhbWVyYShtb3VzZSwgdGhpcy5jYW1lcmEpDQogICAgICAgICAgICBsZXQgaW50ZXJzZWN0cyA9IHJheWNhc3Rlci5pbnRlcnNlY3RPYmplY3RzKA0KICAgICAgICAgICAgICAgIHRoaXMudGlwc1Nwcml0ZUxpc3QsDQogICAgICAgICAgICAgICAgdHJ1ZQ0KICAgICAgICAgICAgKQ0KICAgICAgICAgICAgaWYgKA0KICAgICAgICAgICAgICAgIGludGVyc2VjdHMubGVuZ3RoID4gMCAmJg0KICAgICAgICAgICAgICAgIGludGVyc2VjdHNbMF0ub2JqZWN0LmNvbnRlbnQuc2hvd1RpdGxlDQogICAgICAgICAgICApIHsNCiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZUNvbnRlbnRBbmR0aXBzKGludGVyc2VjdHNbMF0ub2JqZWN0LmNvbnRlbnQuaW1hZ2UpDQogICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVUb29sdGlwSGlkZShlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICBvbk1vdXNlbW92ZShlKSB7DQogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCkNCiAgICAgICAgICAgIGxldCBlbGVtZW50ID0gdGhpcy4kcmVmcy50aHJlZURCb3gNCiAgICAgICAgICAgIGxldCByYXljYXN0ZXIgPSBuZXcgVEhSRUUuUmF5Y2FzdGVyKCkNCiAgICAgICAgICAgIGxldCBtb3VzZSA9IG5ldyBUSFJFRS5WZWN0b3IyKCkNCiAgICAgICAgICAgIG1vdXNlLnggPSAoZS5jbGllbnRYIC8gZWxlbWVudC5jbGllbnRXaWR0aCkgKiAyIC0gMQ0KICAgICAgICAgICAgbW91c2UueSA9IC0oZS5jbGllbnRZIC8gZWxlbWVudC5jbGllbnRIZWlnaHQpICogMiArIDENCiAgICAgICAgICAgIHJheWNhc3Rlci5zZXRGcm9tQ2FtZXJhKG1vdXNlLCB0aGlzLmNhbWVyYSkNCiAgICAgICAgICAgIGxldCBpbnRlcnNlY3RzID0gcmF5Y2FzdGVyLmludGVyc2VjdE9iamVjdHMoDQogICAgICAgICAgICAgICAgdGhpcy50aXBzU3ByaXRlTGlzdCwNCiAgICAgICAgICAgICAgICB0cnVlDQogICAgICAgICAgICApDQogICAgICAgICAgICBpZiAoaW50ZXJzZWN0cy5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICAgICAgbGV0IGVsZW1lbnRXaWR0aCA9IGVsZW1lbnQuY2xpZW50V2lkdGggLyAyDQogICAgICAgICAgICAgICAgbGV0IGVsZW1lbnRIZWlnaHQgPSBlbGVtZW50LmNsaWVudEhlaWdodCAvIDINCiAgICAgICAgICAgICAgICBsZXQgd29ybGRWZWN0b3IgPSBuZXcgVEhSRUUuVmVjdG9yMygNCiAgICAgICAgICAgICAgICAgICAgaW50ZXJzZWN0c1swXS5vYmplY3QucG9zaXRpb24ueCwNCiAgICAgICAgICAgICAgICAgICAgaW50ZXJzZWN0c1swXS5vYmplY3QucG9zaXRpb24ueSwNCiAgICAgICAgICAgICAgICAgICAgaW50ZXJzZWN0c1swXS5vYmplY3QucG9zaXRpb24ueg0KICAgICAgICAgICAgICAgICkNCiAgICAgICAgICAgICAgICBsZXQgcG9zaXRpb24gPSB3b3JsZFZlY3Rvci5wcm9qZWN0KHRoaXMuY2FtZXJhKQ0KICAgICAgICAgICAgICAgIHRoaXMudG9vbHRvcENvbnRlbnQgPSBpbnRlcnNlY3RzWzBdLm9iamVjdC5jb250ZW50DQogICAgICAgICAgICAgICAgaWYgKGludGVyc2VjdHNbMF0ub2JqZWN0LmNvbnRlbnQuc2hvd1RpcCkgew0KICAgICAgICAgICAgICAgICAgICBsZXQgbGVmdCA9IE1hdGgucm91bmQoDQogICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50V2lkdGggKiBwb3NpdGlvbi54ICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50V2lkdGggLQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMudG9vbHRpcEJveC5jbGllbnRXaWR0aCAvIDINCiAgICAgICAgICAgICAgICAgICAgKQ0KICAgICAgICAgICAgICAgICAgICBsZXQgdG9wID0gTWF0aC5yb3VuZCgNCiAgICAgICAgICAgICAgICAgICAgICAgIC1lbGVtZW50SGVpZ2h0ICogcG9zaXRpb24ueSArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudEhlaWdodCAtDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kcmVmcy50b29sdGlwQm94LmNsaWVudEhlaWdodCAvIDINCiAgICAgICAgICAgICAgICAgICAgKQ0KICAgICAgICAgICAgICAgICAgICB0aGlzLnRvb2x0aXBQb3NpdGlvbiA9IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGAke2xlZnR9cHhgLA0KICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBgJHt0b3B9cHhgLA0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbnRlcnNlY3RzWzBdLm9iamVjdC5jb250ZW50LnNob3dUaXRsZSkgew0KICAgICAgICAgICAgICAgICAgICBsZXQgbGVmdCA9IE1hdGgucm91bmQoDQogICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50V2lkdGggKiBwb3NpdGlvbi54ICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50V2lkdGggLQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMudGl0bGVCb3guY2xpZW50V2lkdGggLyAyDQogICAgICAgICAgICAgICAgICAgICkNCiAgICAgICAgICAgICAgICAgICAgbGV0IHRvcCA9IE1hdGgucm91bmQoDQogICAgICAgICAgICAgICAgICAgICAgICAtZWxlbWVudEhlaWdodCAqIHBvc2l0aW9uLnkgKyBlbGVtZW50SGVpZ2h0DQogICAgICAgICAgICAgICAgICAgICkNCiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXRsZVBvc2l0aW9uID0gew0KICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYCR7bGVmdH1weGAsDQogICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGAke3RvcH1weGAsDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlVG9vbHRpcEhpZGUoZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgaGFuZGxlVG9vbHRpcEhpZGUoZSkgew0KICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpDQogICAgICAgICAgICB0aGlzLnRvb2x0aXBQb3NpdGlvbiA9IHsNCiAgICAgICAgICAgICAgICB0b3A6ICctMTAwJScsDQogICAgICAgICAgICAgICAgbGVmdDogJy0xMDAlJywNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHRoaXMudGl0bGVQb3NpdGlvbiA9IHsNCiAgICAgICAgICAgICAgICB0b3A6ICctMTAwJScsDQogICAgICAgICAgICAgICAgbGVmdDogJy0xMDAlJywNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHRoaXMudG9vbHRvcENvbnRlbnQgPSB7fQ0KICAgICAgICB9LA0KICAgIH0sDQogICAgbW91bnRlZCgpIHsNCiAgICAgICAgbGV0IGVsZW1lbnQgPSB0aGlzLiRyZWZzLnRocmVlREJveA0KICAgICAgICB0aGlzLmluaXRTY2VuZSgpDQogICAgICAgIHRoaXMuaW5pdENhbWVyYShlbGVtZW50KQ0KICAgICAgICB0aGlzLmluaXRDb250cm9scyhlbGVtZW50KQ0KICAgICAgICB0aGlzLmluaXRDb250ZW50KCkNCiAgICAgICAgdGhpcy5pbml0UmVuZGVyZXIoZWxlbWVudCkNCiAgICAgICAgdGhpcy5yZW5kZXIoKQ0KICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vblJlc2l6ZSwgZmFsc2UpDQogICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25Nb3VzZUNsaWNrLCBmYWxzZSkNCiAgICAgICAgdGhpcy5yZW5kZXJlci5kb21FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoDQogICAgICAgICAgICAnbW91c2Vtb3ZlJywNCiAgICAgICAgICAgIHRoaXMub25Nb3VzZW1vdmUsDQogICAgICAgICAgICBmYWxzZQ0KICAgICAgICApDQogICAgICAgIHRoaXMuJHJlZnMudG9vbHRpcEJveC5hZGRFdmVudExpc3RlbmVyKA0KICAgICAgICAgICAgJ21vdXNlbGVhdmUnLA0KICAgICAgICAgICAgdGhpcy5oYW5kbGVUb29sdGlwSGlkZSwNCiAgICAgICAgICAgIGZhbHNlDQogICAgICAgICkNCiAgICB9LA0KICAgIGRlc3Ryb3llZCgpIHsNCiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy50aW1lcikNCiAgICB9LA0KfQ0K"},null]}