Commit ff154f1b authored by 李维's avatar 李维

保护异步操作

parent 81b33a39
......@@ -5081,6 +5081,12 @@
"btnRight": {
"__id__": 87
},
"touchAniLeft": {
"__id__": 78
},
"touchAniRight": {
"__id__": 81
},
"capture": {
"__id__": 102
},
......
......@@ -37,6 +37,8 @@ cc.Class({
tipLast: cc.Node,
btnLeft: cc.Node,
btnRight: cc.Node,
touchAniLeft: cc.Node,
touchAniRight: cc.Node,
// verletRender: VerletRender,
capture: require('capture_to_web'),
},
......@@ -272,6 +274,7 @@ cc.Class({
initArrowBtn() {
const touchAniLeft = cc.find("Canvas/touchAniLeft");
const touchAniRight = cc.find("Canvas/touchAniRight");
touchAniLeft.on(cc.Node.EventType.TOUCH_END, this.onTouchLeftAni, this)
touchAniRight.on(cc.Node.EventType.TOUCH_END, this.onTouchRightAni, this)
......@@ -283,10 +286,10 @@ cc.Class({
nextBtn.on(cc.Node.EventType.TOUCH_END, this.onTouchPanelRight, this)
},
checkShowArrowBtn() {
setTimeout(() => {
this._timeoutIds.push(setTimeout(() => {
this.lastBtn.active = !this.nodeDict.btnLast.children[1].active;
this.nextBtn.active = !this.nodeDict.btnNext.children[1].active;
}, 220);
}, 220))
},
autoPlay() {
this.inited = true;
......@@ -468,10 +471,10 @@ cc.Class({
const cat = cc.find('Canvas/mao');
playDragonBoneAnimation(cat, 'finish', 0);
this.playAudioByUrl(this.data.endAudio, () => {
setTimeout(() => {
this._timeoutIds.push(setTimeout(() => {
playDragonBoneAnimation(cat, 'normal', -1);
cb();
}, 500);
}, 500))
});
},
......
{
"9836134e-b892-4283-b6b2-78b5acf3ed45": {
"asset": 1621306708385,
"meta": 1662630025986,
"asset": 1617772640000,
"meta": 1662700894221,
"relativePath": "effects"
},
"430eccbf-bf2c-4e6e-8c0c-884bbb487f32": {
"asset": 1621306708381,
"meta": 1662630026025,
"relativePath": "effects\\__builtin-editor-gizmo-line.effect"
"asset": 1617772640000,
"meta": 1662700894244,
"relativePath": "effects/__builtin-editor-gizmo-line.effect"
},
"6c5cf6e1-b044-4eac-9431-835644d57381": {
"asset": 1621306708383,
"meta": 1662630026042,
"relativePath": "effects\\__builtin-editor-gizmo-unlit.effect"
"asset": 1617772640000,
"meta": 1662700894254,
"relativePath": "effects/__builtin-editor-gizmo-unlit.effect"
},
"115286d1-2e10-49ee-aab4-341583f607e8": {
"asset": 1621306708385,
"meta": 1662630026094,
"relativePath": "effects\\__builtin-editor-gizmo.effect"
"asset": 1617772640000,
"meta": 1662700894286,
"relativePath": "effects/__builtin-editor-gizmo.effect"
},
"abc2cb62-7852-4525-a90d-d474487b88f2": {
"asset": 1621306708378,
"meta": 1662630026244,
"relativePath": "effects\\builtin-phong.effect"
"asset": 1617772640000,
"meta": 1662700894382,
"relativePath": "effects/builtin-phong.effect"
},
"e2f00085-c597-422d-9759-52c360279106": {
"asset": 1621306708380,
"meta": 1662630026323,
"relativePath": "effects\\builtin-toon.effect"
"asset": 1617772640000,
"meta": 1662700894434,
"relativePath": "effects/builtin-toon.effect"
},
"f8e6b000-5643-4b86-9080-aa680ce1f599": {
"asset": 1621306708412,
"meta": 1662630026325,
"asset": 1617772640000,
"meta": 1662700894435,
"relativePath": "image"
},
"71561142-4c83-4933-afca-cb7a17f67053": {
"asset": 1621306708388,
"meta": 1662630026342,
"relativePath": "image\\default_btn_disabled.png"
"asset": 1617772640000,
"meta": 1662700894444,
"relativePath": "image/default_btn_disabled.png"
},
"e851e89b-faa2-4484-bea6-5c01dd9f06e2": {
"asset": 1621306708389,
"meta": 1662630026345,
"relativePath": "image\\default_btn_normal.png"
"asset": 1617772640000,
"meta": 1662700894445,
"relativePath": "image/default_btn_normal.png"
},
"b43ff3c2-02bb-4874-81f7-f2dea6970f18": {
"asset": 1621306708391,
"meta": 1662630026357,
"relativePath": "image\\default_btn_pressed.png"
"asset": 1617772640000,
"meta": 1662700894453,
"relativePath": "image/default_btn_pressed.png"
},
"edd215b9-2796-4a05-aaf5-81f96c9281ce": {
"asset": 1621306708392,
"meta": 1662630026360,
"relativePath": "image\\default_editbox_bg.png"
"asset": 1617772640000,
"meta": 1662700894452,
"relativePath": "image/default_editbox_bg.png"
},
"d81ec8ad-247c-4e62-aa3c-d35c4193c7af": {
"asset": 1621306708394,
"meta": 1662630026375,
"relativePath": "image\\default_panel.png"
"asset": 1617772640000,
"meta": 1662700894460,
"relativePath": "image/default_panel.png"
},
"99170b0b-d210-46f1-b213-7d9e3f23098a": {
"asset": 1621306708396,
"meta": 1662630026372,
"relativePath": "image\\default_progressbar_bg.png"
"asset": 1617772640000,
"meta": 1662700894461,
"relativePath": "image/default_progressbar_bg.png"
},
"cfef78f1-c8df-49b7-8ed0-4c953ace2621": {
"asset": 1621306708395,
"meta": 1662630026387,
"relativePath": "image\\default_progressbar.png"
"asset": 1617772640000,
"meta": 1662700894468,
"relativePath": "image/default_progressbar.png"
},
"567dcd80-8bf4-4535-8a5a-313f1caf078a": {
"asset": 1621306708397,
"meta": 1662630026390,
"relativePath": "image\\default_radio_button_off.png"
"asset": 1617772640000,
"meta": 1662700894469,
"relativePath": "image/default_radio_button_off.png"
},
"4bab67cb-18e6-4099-b840-355f0473f890": {
"asset": 1621306708401,
"meta": 1662630026404,
"relativePath": "image\\default_scrollbar_bg.png"
"asset": 1617772640000,
"meta": 1662700894477,
"relativePath": "image/default_scrollbar_bg.png"
},
"9d60001f-b5f4-4726-a629-2659e3ded0b8": {
"asset": 1621306708399,
"meta": 1662630026402,
"relativePath": "image\\default_radio_button_on.png"
"asset": 1617772640000,
"meta": 1662700894476,
"relativePath": "image/default_radio_button_on.png"
},
"d6d3ca85-4681-47c1-b5dd-d036a9d39ea2": {
"asset": 1621306708402,
"meta": 1662630026420,
"relativePath": "image\\default_scrollbar_vertical.png"
"asset": 1617772640000,
"meta": 1662700894488,
"relativePath": "image/default_scrollbar_vertical.png"
},
"617323dd-11f4-4dd3-8eec-0caf6b3b45b9": {
"asset": 1621306708404,
"meta": 1662630026418,
"relativePath": "image\\default_scrollbar_vertical_bg.png"
"asset": 1617772640000,
"meta": 1662700894487,
"relativePath": "image/default_scrollbar_vertical_bg.png"
},
"0291c134-b3da-4098-b7b5-e397edbe947f": {
"asset": 1621306708400,
"meta": 1662630026434,
"relativePath": "image\\default_scrollbar.png"
"asset": 1617772640000,
"meta": 1662700894498,
"relativePath": "image/default_scrollbar.png"
},
"0275e94c-56a7-410f-bd1a-fc7483f7d14a": {
"asset": 1621306708407,
"meta": 1662630026431,
"relativePath": "image\\default_sprite_splash.png"
"asset": 1617772640000,
"meta": 1662700894496,
"relativePath": "image/default_sprite_splash.png"
},
"6e056173-d285-473c-b206-40a7fff5386e": {
"asset": 1621306708405,
"meta": 1662630026446,
"relativePath": "image\\default_sprite.png"
"asset": 1617772640000,
"meta": 1662700894508,
"relativePath": "image/default_sprite.png"
},
"73a0903d-d80e-4e3c-aa67-f999543c08f5": {
"asset": 1621306708408,
"meta": 1662630026448,
"relativePath": "image\\default_toggle_checkmark.png"
"asset": 1617772640000,
"meta": 1662700894507,
"relativePath": "image/default_toggle_checkmark.png"
},
"c25b9d50-c8fc-4d27-beeb-6e7c1f2e5c0f": {
"asset": 1621306708409,
"meta": 1662630026461,
"relativePath": "image\\default_toggle_disabled.png"
"asset": 1617772640000,
"meta": 1662700894518,
"relativePath": "image/default_toggle_disabled.png"
},
"d29077ba-1627-4a72-9579-7b56a235340c": {
"asset": 1621306708410,
"meta": 1662630026464,
"relativePath": "image\\default_toggle_normal.png"
"asset": 1617772640000,
"meta": 1662700894519,
"relativePath": "image/default_toggle_normal.png"
},
"b181c1e4-0a72-4a91-bfb0-ae6f36ca60bd": {
"asset": 1621306708411,
"meta": 1662630026474,
"relativePath": "image\\default_toggle_pressed.png"
"asset": 1617772640000,
"meta": 1662700894527,
"relativePath": "image/default_toggle_pressed.png"
},
"5c3eedba-6c41-4c0c-9ba7-d91f813cbd1c": {
"asset": 1621306708414,
"meta": 1662630026476,
"asset": 1617772640000,
"meta": 1662700894527,
"relativePath": "materials"
},
"c4480a0a-6ac5-443f-8b40-361a14257fc8": {
"asset": 1621306708413,
"meta": 1662630027295,
"relativePath": "materials\\builtin-phong.mtl"
"asset": 1617772640000,
"meta": 1662700894880,
"relativePath": "materials/builtin-phong.mtl"
},
"fc09f9bd-2cce-4605-b630-8145ef809ed6": {
"asset": 1621306708418,
"meta": 1662630026481,
"asset": 1617772640000,
"meta": 1662700894531,
"relativePath": "misc"
},
"2be36297-9abb-4fee-8049-9ed5e271da8a": {
"asset": 1621306708417,
"meta": 1662630026498,
"relativePath": "misc\\default_video.mp4"
"asset": 1617772640000,
"meta": 1662700894535,
"relativePath": "misc/default_video.mp4"
},
"db019bf7-f71c-4111-98cf-918ea180cb48": {
"asset": 1621306708443,
"meta": 1662630026485,
"asset": 1617772640000,
"meta": 1662700894536,
"relativePath": "model"
},
"e39e96e6-6f6e-413f-bcf1-ac7679bb648a": {
"asset": 1621306708435,
"meta": 1662630026487,
"relativePath": "model\\prefab"
"asset": 1617772640000,
"meta": 1662700894536,
"relativePath": "model/prefab"
},
"a87cc147-01b2-43f8-8e42-a7ca90b0c757": {
"asset": 1621306708421,
"meta": 1662630026492,
"relativePath": "model\\prefab\\box.prefab"
"asset": 1617772640000,
"meta": 1662700894539,
"relativePath": "model/prefab/box.prefab"
},
"fe1417b6-fe6b-46a4-ae7c-9fd331f33a2a": {
"asset": 1621306708422,
"meta": 1662630026496,
"relativePath": "model\\prefab\\capsule.prefab"
"asset": 1617772640000,
"meta": 1662700894541,
"relativePath": "model/prefab/capsule.prefab"
},
"b5fc2cf2-7942-483d-be1f-bbeadc4714ad": {
"asset": 1621306708423,
"meta": 1662630026501,
"relativePath": "model\\prefab\\cone.prefab"
"asset": 1617772640000,
"meta": 1662700894544,
"relativePath": "model/prefab/cone.prefab"
},
"1c5e4038-953a-44c2-b620-0bbfc6170477": {
"asset": 1621306708425,
"meta": 1662630026504,
"relativePath": "model\\prefab\\cylinder.prefab"
"asset": 1617772640000,
"meta": 1662700894545,
"relativePath": "model/prefab/cylinder.prefab"
},
"3f376125-a699-40ca-ad05-04d662eaa1f2": {
"asset": 1621306708426,
"meta": 1662630026507,
"relativePath": "model\\prefab\\plane.prefab"
"asset": 1617772640000,
"meta": 1662700894549,
"relativePath": "model/prefab/plane.prefab"
},
"600301aa-3357-4a10-b086-84f011fa32ba": {
"asset": 1621306708387,
"meta": 1662630026484,
"relativePath": "image\\default-particle.png"
"asset": 1617772640000,
"meta": 1662700894542,
"relativePath": "image/default-particle.png"
},
"6c9ef10d-b479-420b-bfe6-39cdda6a8ae0": {
"asset": 1621306708427,
"meta": 1662630026510,
"relativePath": "model\\prefab\\quad.prefab"
"asset": 1617772640000,
"meta": 1662700894548,
"relativePath": "model/prefab/quad.prefab"
},
"2d9a4b85-b0ab-4c46-84c5-18f393ab2058": {
"asset": 1621306708429,
"meta": 1662630026513,
"relativePath": "model\\prefab\\sphere.prefab"
"asset": 1617772640000,
"meta": 1662700894550,
"relativePath": "model/prefab/sphere.prefab"
},
"de510076-056b-484f-b94c-83bef217d0e1": {
"asset": 1621306708432,
"meta": 1662630026772,
"relativePath": "model\\prefab\\torus.prefab"
"asset": 1617772640000,
"meta": 1662700894572,
"relativePath": "model/prefab/torus.prefab"
},
"f6e6dd15-71d1-4ffe-ace7-24fd39942c05": {
"asset": 1621306708447,
"meta": 1662630026774,
"asset": 1617772640000,
"meta": 1662700894573,
"relativePath": "obsolete"
},
"8a96b965-2dc0-4e03-aa90-3b79cb93b5b4": {
"asset": 1621306708446,
"meta": 1662630026792,
"relativePath": "obsolete\\atom.png"
"asset": 1617772640000,
"meta": 1662700894584,
"relativePath": "obsolete/atom.png"
},
"f743d2b6-b7ea-4c14-a55b-547ed4d0a045": {
"asset": 1621306708452,
"meta": 1662630026793,
"asset": 1617772640000,
"meta": 1662700894585,
"relativePath": "particle"
},
"b8223619-7e38-47c4-841f-9160c232495a": {
"asset": 1621306708444,
"meta": 1662630027323,
"relativePath": "obsolete\\atom.plist"
"asset": 1617772640000,
"meta": 1662700894895,
"relativePath": "obsolete/atom.plist"
},
"d0a82d39-bede-46c4-b698-c81ff0dedfff": {
"asset": 1621306708452,
"meta": 1662630026811,
"relativePath": "particle\\atom.png"
"asset": 1617772640000,
"meta": 1662700894593,
"relativePath": "particle/atom.png"
},
"ae6c6c98-11e4-452f-8758-75f5c6a56e83": {
"asset": 1621306708503,
"meta": 1662630026813,
"asset": 1617772640000,
"meta": 1662700894594,
"relativePath": "prefab"
},
"b2687ac4-099e-403c-a192-ff477686f4f5": {
"asset": 1621306708449,
"meta": 1662630027327,
"relativePath": "particle\\atom.plist"
"asset": 1617772640000,
"meta": 1662700894896,
"relativePath": "particle/atom.plist"
},
"897ef7a1-4860-4f64-968d-f5924b18668a": {
"asset": 1621306708455,
"meta": 1662630026818,
"relativePath": "prefab\\2d-camera.prefab"
"asset": 1617772640000,
"meta": 1662700894596,
"relativePath": "prefab/2d-camera.prefab"
},
"70d7cdb0-04cd-41bb-9480-c06a4785f386": {
"asset": 1621306708456,
"meta": 1662630026823,
"relativePath": "prefab\\3d-camera.prefab"
"asset": 1617772640000,
"meta": 1662700894598,
"relativePath": "prefab/3d-camera.prefab"
},
"70bbeb73-6dc2-4ee4-8faf-76b3a0e34ec4": {
"asset": 1621306708458,
"meta": 1662630026827,
"relativePath": "prefab\\3d-particle.prefab"
"asset": 1617772640000,
"meta": 1662700894601,
"relativePath": "prefab/3d-particle.prefab"
},
"ed88f13d-fcad-4848-aa35-65a2cb973584": {
"asset": 1621306708460,
"meta": 1662630026832,
"relativePath": "prefab\\3d-stage.prefab"
"asset": 1617772640000,
"meta": 1662700894603,
"relativePath": "prefab/3d-stage.prefab"
},
"972b9a4d-47ee-4c74-b5c3-61d8a69bc29f": {
"asset": 1621306708462,
"meta": 1662630026836,
"relativePath": "prefab\\button.prefab"
"asset": 1617772640000,
"meta": 1662700894605,
"relativePath": "prefab/button.prefab"
},
"2c937608-2562-40ea-b264-7395df6f0cea": {
"asset": 1621306708463,
"meta": 1662630026840,
"relativePath": "prefab\\canvas.prefab"
"asset": 1617772640000,
"meta": 1662700894606,
"relativePath": "prefab/canvas.prefab"
},
"61aeb05b-3b32-452b-8eed-2b76deeed554": {
"asset": 1621306708465,
"meta": 1662630026844,
"relativePath": "prefab\\editbox.prefab"
"asset": 1617772640000,
"meta": 1662700894608,
"relativePath": "prefab/editbox.prefab"
},
"27756ebb-3d33-44b0-9b96-e858fadd4dd4": {
"asset": 1621306708466,
"meta": 1662630026849,
"relativePath": "prefab\\label.prefab"
"asset": 1617772640000,
"meta": 1662700894610,
"relativePath": "prefab/label.prefab"
},
"785a442c-3ceb-45be-a46e-7317f625f3b9": {
"asset": 1621306708468,
"meta": 1662630026853,
"relativePath": "prefab\\layout.prefab"
"asset": 1617772640000,
"meta": 1662700894612,
"relativePath": "prefab/layout.prefab"
},
"a3ee0214-b432-4865-9666-4a3211814282": {
"asset": 1621306708477,
"meta": 1662630026855,
"relativePath": "prefab\\light"
"asset": 1617772640000,
"meta": 1662700894613,
"relativePath": "prefab/light"
},
"61906da3-7003-4bda-9abc-5769c76faee4": {
"asset": 1621306708471,
"meta": 1662630026859,
"relativePath": "prefab\\light\\ambient.prefab"
"asset": 1617772640000,
"meta": 1662700894614,
"relativePath": "prefab/light/ambient.prefab"
},
"ddb99b39-7004-47cd-9705-751905c43c46": {
"asset": 1621306708473,
"meta": 1662630026864,
"relativePath": "prefab\\light\\directional.prefab"
"asset": 1617772640000,
"meta": 1662700894616,
"relativePath": "prefab/light/directional.prefab"
},
"0cf30284-9073-46bc-9eba-e62b69dbbff3": {
"asset": 1621306708475,
"meta": 1662630026869,
"relativePath": "prefab\\light\\point.prefab"
"asset": 1617772640000,
"meta": 1662700894618,
"relativePath": "prefab/light/point.prefab"
},
"f5331fd2-bf42-4ee3-a3fd-3e1657600eff": {
"asset": 1621306708476,
"meta": 1662630026873,
"relativePath": "prefab\\light\\spot.prefab"
"asset": 1617772640000,
"meta": 1662700894619,
"relativePath": "prefab/light/spot.prefab"
},
"ca8401fe-ad6e-41a8-bd46-8e3e4e9945be": {
"asset": 1621306708478,
"meta": 1662630026877,
"relativePath": "prefab\\pageview.prefab"
"asset": 1617772640000,
"meta": 1662700894621,
"relativePath": "prefab/pageview.prefab"
},
"cd33edea-55f5-46c2-958d-357a01384a36": {
"asset": 1621306708479,
"meta": 1662630026881,
"relativePath": "prefab\\particlesystem.prefab"
"asset": 1617772640000,
"meta": 1662700894623,
"relativePath": "prefab/particlesystem.prefab"
},
"5965ffac-69da-4b55-bcde-9225d0613c28": {
"asset": 1621306708481,
"meta": 1662630026885,
"relativePath": "prefab\\progressBar.prefab"
"asset": 1617772640000,
"meta": 1662700894625,
"relativePath": "prefab/progressBar.prefab"
},
"4a37dd57-78cd-4cec-aad4-f11a73d12b63": {
"asset": 1621306708483,
"meta": 1662630026888,
"relativePath": "prefab\\richtext.prefab"
"asset": 1617772640000,
"meta": 1662700894626,
"relativePath": "prefab/richtext.prefab"
},
"32044bd2-481f-4cf1-a656-e2b2fb1594eb": {
"asset": 1621306708484,
"meta": 1662630026898,
"relativePath": "prefab\\scrollview.prefab"
"asset": 1617772640000,
"meta": 1662700894628,
"relativePath": "prefab/scrollview.prefab"
},
"0004d1cf-a0ad-47d8-ab17-34d3db9d35a3": {
"asset": 1621306708486,
"meta": 1662630026911,
"relativePath": "prefab\\slider.prefab"
"asset": 1617772640000,
"meta": 1662700894630,
"relativePath": "prefab/slider.prefab"
},
"1f55e3be-b89b-4b79-88de-47fd31018044": {
"asset": 1621306708490,
"meta": 1662630026916,
"relativePath": "prefab\\sprite_splash.prefab"
"asset": 1617772640000,
"meta": 1662700894632,
"relativePath": "prefab/sprite_splash.prefab"
},
"96083d03-c332-4a3f-9386-d03e2d19e8ee": {
"asset": 1621306708488,
"meta": 1662630026919,
"relativePath": "prefab\\sprite.prefab"
"asset": 1617772640000,
"meta": 1662700894634,
"relativePath": "prefab/sprite.prefab"
},
"7de03a80-4457-438d-95a7-3e7cdffd6086": {
"asset": 1621306708491,
"meta": 1662630026924,
"relativePath": "prefab\\tiledmap.prefab"
"asset": 1617772640000,
"meta": 1662700894635,
"relativePath": "prefab/tiledmap.prefab"
},
"0e42ba95-1fa1-46aa-b2cf-143cd1bcee2c": {
"asset": 1621306708493,
"meta": 1662630026936,
"relativePath": "prefab\\tiledtile.prefab"
"asset": 1617772640000,
"meta": 1662700894637,
"relativePath": "prefab/tiledtile.prefab"
},
"0d784963-d024-4ea6-a7db-03be0ad63010": {
"asset": 1621306708494,
"meta": 1662630026961,
"relativePath": "prefab\\toggle.prefab"
"asset": 1617772640000,
"meta": 1662700894638,
"relativePath": "prefab/toggle.prefab"
},
"bf0a434c-84dd-4a8e-a08a-7a36f180cc75": {
"asset": 1621306708496,
"meta": 1662630026967,
"relativePath": "prefab\\toggleContainer.prefab"
"asset": 1617772640000,
"meta": 1662700894641,
"relativePath": "prefab/toggleContainer.prefab"
},
"d1b8be49-b0a0-435c-83b7-552bed4bbe35": {
"asset": 1621306708499,
"meta": 1662630026973,
"relativePath": "prefab\\toggleGroup.prefab"
"asset": 1617772640000,
"meta": 1662700894643,
"relativePath": "prefab/toggleGroup.prefab"
},
"232d2782-c4bd-4bb4-9e01-909f03d6d3b9": {
"asset": 1621306708500,
"meta": 1662630026978,
"relativePath": "prefab\\videoplayer.prefab"
"asset": 1617772640000,
"meta": 1662700894645,
"relativePath": "prefab/videoplayer.prefab"
},
"d8afc78c-4eac-4a9f-83dd-67bc70344d33": {
"asset": 1621306708521,
"meta": 1662630026984,
"asset": 1617772640000,
"meta": 1662700894646,
"relativePath": "resources"
},
"294c1663-4adf-4a1e-a795-53808011a38a": {
"asset": 1621306708520,
"meta": 1662630026986,
"relativePath": "resources\\effects"
"asset": 1617772640000,
"meta": 1662700894647,
"relativePath": "resources/effects"
},
"8c5001fd-07ee-4a4b-a8a0-63e15195e94d": {
"asset": 1621306708503,
"meta": 1662630027015,
"relativePath": "prefab\\webview.prefab"
"asset": 1617772640000,
"meta": 1662700894646,
"relativePath": "prefab/webview.prefab"
},
"30682f87-9f0d-4f17-8a44-72863791461b": {
"asset": 1621306708506,
"meta": 1662630027000,
"relativePath": "resources\\effects\\builtin-2d-graphics.effect"
"asset": 1617772640000,
"meta": 1662700894655,
"relativePath": "resources/effects/builtin-2d-graphics.effect"
},
"144c3297-af63-49e8-b8ef-1cfa29b3be28": {
"asset": 1621306708508,
"meta": 1662630027013,
"relativePath": "resources\\effects\\builtin-2d-gray-sprite.effect"
"asset": 1617772640000,
"meta": 1662700894663,
"relativePath": "resources/effects/builtin-2d-gray-sprite.effect"
},
"f18742d7-56d2-4eb5-ae49-2d9d710b37c8": {
"asset": 1621306708509,
"meta": 1662630027031,
"relativePath": "resources\\effects\\builtin-2d-label.effect"
"asset": 1617772640000,
"meta": 1662700894674,
"relativePath": "resources/effects/builtin-2d-label.effect"
},
"0e93aeaa-0b53-4e40-b8e0-6268b4e07bd7": {
"asset": 1621306708511,
"meta": 1662630027047,
"relativePath": "resources\\effects\\builtin-2d-spine.effect"
"asset": 1617772640000,
"meta": 1662700894688,
"relativePath": "resources/effects/builtin-2d-spine.effect"
},
"2874f8dd-416c-4440-81b7-555975426e93": {
"asset": 1621306708512,
"meta": 1662630027061,
"relativePath": "resources\\effects\\builtin-2d-sprite.effect"
"asset": 1617772640000,
"meta": 1662700894697,
"relativePath": "resources/effects/builtin-2d-sprite.effect"
},
"829a282c-b049-4019-bd38-5ace8d8a6417": {
"asset": 1621306708514,
"meta": 1662630027179,
"relativePath": "resources\\effects\\builtin-3d-particle.effect"
"asset": 1617772640000,
"meta": 1662700894781,
"relativePath": "resources/effects/builtin-3d-particle.effect"
},
"2a7c0036-e0b3-4fe1-8998-89a54b8a2bec": {
"asset": 1621306708516,
"meta": 1662630027211,
"relativePath": "resources\\effects\\builtin-3d-trail.effect"
"asset": 1617772640000,
"meta": 1662700894809,
"relativePath": "resources/effects/builtin-3d-trail.effect"
},
"c0040c95-c57f-49cd-9cbc-12316b73d0d4": {
"asset": 1621306708517,
"meta": 1662630027222,
"relativePath": "resources\\effects\\builtin-clear-stencil.effect"
"asset": 1617772640000,
"meta": 1662700894817,
"relativePath": "resources/effects/builtin-clear-stencil.effect"
},
"6d91e591-4ce0-465c-809f-610ec95019c6": {
"asset": 1621306708519,
"meta": 1662630027247,
"relativePath": "resources\\effects\\builtin-unlit.effect"
"asset": 1617772640000,
"meta": 1662700894831,
"relativePath": "resources/effects/builtin-unlit.effect"
},
"bbee2217-c261-49bd-a8ce-708d6bcc3500": {
"asset": 1621306708540,
"meta": 1662630027248,
"relativePath": "resources\\materials"
"asset": 1617772640000,
"meta": 1662700894833,
"relativePath": "resources/materials"
},
"6f801092-0c37-4f30-89ef-c8d960825b36": {
"asset": 1621306708522,
"meta": 1662630027399,
"relativePath": "resources\\materials\\builtin-2d-base.mtl"
"asset": 1617772640000,
"meta": 1662700894908,
"relativePath": "resources/materials/builtin-2d-base.mtl"
},
"a153945d-2511-4c14-be7b-05d242f47d57": {
"asset": 1621306708524,
"meta": 1662630027400,
"relativePath": "resources\\materials\\builtin-2d-graphics.mtl"
"asset": 1617772640000,
"meta": 1662700894909,
"relativePath": "resources/materials/builtin-2d-graphics.mtl"
},
"3a7bb79f-32fd-422e-ada2-96f518fed422": {
"asset": 1621306708527,
"meta": 1662630027402,
"relativePath": "resources\\materials\\builtin-2d-gray-sprite.mtl"
"asset": 1617772640000,
"meta": 1662700894910,
"relativePath": "resources/materials/builtin-2d-gray-sprite.mtl"
},
"e02d87d4-e599-4d16-8001-e14891ac6506": {
"asset": 1621306708529,
"meta": 1662630027404,
"relativePath": "resources\\materials\\builtin-2d-label.mtl"
"asset": 1617772640000,
"meta": 1662700894910,
"relativePath": "resources/materials/builtin-2d-label.mtl"
},
"7afd064b-113f-480e-b793-8817d19f63c3": {
"asset": 1621306708531,
"meta": 1662630027405,
"relativePath": "resources\\materials\\builtin-2d-spine.mtl"
"asset": 1617772640000,
"meta": 1662700894911,
"relativePath": "resources/materials/builtin-2d-spine.mtl"
},
"eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432": {
"asset": 1621306708533,
"meta": 1662630027407,
"relativePath": "resources\\materials\\builtin-2d-sprite.mtl"
"asset": 1617772640000,
"meta": 1662700894912,
"relativePath": "resources/materials/builtin-2d-sprite.mtl"
},
"432fa09c-cf03-4cff-a186-982604408a07": {
"asset": 1621306708535,
"meta": 1662630027411,
"relativePath": "resources\\materials\\builtin-3d-particle.mtl"
"asset": 1617772640000,
"meta": 1662700894926,
"relativePath": "resources/materials/builtin-3d-particle.mtl"
},
"466d4f9b-e5f4-4ea8-85d5-3c6e9a65658a": {
"asset": 1621306708536,
"meta": 1662630027409,
"relativePath": "resources\\materials\\builtin-3d-trail.mtl"
"asset": 1617772640000,
"meta": 1662700894927,
"relativePath": "resources/materials/builtin-3d-trail.mtl"
},
"cf7e0bb8-a81c-44a9-ad79-d28d43991032": {
"asset": 1621306708538,
"meta": 1662630027412,
"relativePath": "resources\\materials\\builtin-clear-stencil.mtl"
"asset": 1617772640000,
"meta": 1662700894930,
"relativePath": "resources/materials/builtin-clear-stencil.mtl"
},
"954fec8b-cd16-4bb9-a3b7-7719660e7558": {
"asset": 1621306708442,
"meta": 1662630031185,
"relativePath": "model\\primitives.fbx"
"asset": 1617772640000,
"meta": 1662700897390,
"relativePath": "model/primitives.fbx"
},
"2a296057-247c-4a1c-bbeb-0548b6c98650": {
"asset": 1621306708539,
"meta": 1662630027414,
"relativePath": "resources\\materials\\builtin-unlit.mtl"
"asset": 1617772640000,
"meta": 1662700894932,
"relativePath": "resources/materials/builtin-unlit.mtl"
},
"2d7fba1a-8174-4ebb-b28c-d6fed89e48e3": {
"asset": 1660967509119,
"meta": 1660967961031,
"asset": 1662698408363,
"meta": 1662700897449,
"relativePath": "OP13"
},
"36abc766-60c3-40c3-965f-8232c750d9db": {
"asset": 1660967509082,
"meta": 1660967961033,
"relativePath": "OP13\\anims"
"asset": 1661085345366,
"meta": 1662700897449,
"relativePath": "OP13/anims"
},
"12b33c07-2bc9-42a7-9053-599eed9923e2": {
"asset": 1660656241549,
"meta": 1660967961040,
"relativePath": "OP13\\anims\\nv_ske.json"
"asset": 1661085345364,
"meta": 1662700897454,
"relativePath": "OP13/anims/nv_ske.json"
},
"cb9fa4ea-66ca-45af-ad31-e445c7b0ef32": {
"asset": 1660967509089,
"meta": 1660967961043,
"relativePath": "OP13\\audios"
"asset": 1661085345368,
"meta": 1662700897456,
"relativePath": "OP13/audios"
},
"4b9bde69-24ee-48cf-bf97-4f184be1f68e": {
"asset": 1660656241553,
"meta": 1660967961115,
"relativePath": "OP13\\anims\\nv_tex.png"
"asset": 1661085345366,
"meta": 1662700897489,
"relativePath": "OP13/anims/nv_tex.png"
},
"20185448-a1ca-4de2-8b37-7bf6cdfccbae": {
"asset": 1660967509092,
"meta": 1660967961947,
"relativePath": "OP13\\fonts"
"asset": 1661085345371,
"meta": 1662700898070,
"relativePath": "OP13/fonts"
},
"728c7d7b-fce1-464a-8045-f6c49873d688": {
"asset": 1660656241565,
"meta": 1660967961951,
"relativePath": "OP13\\fonts\\aharoni_new.ttf"
"asset": 1661085345371,
"meta": 1662700898072,
"relativePath": "OP13/fonts/aharoni_new.ttf"
},
"45471cc5-3d53-4068-99c4-591121300416": {
"asset": 1660656241561,
"meta": 1660967961956,
"relativePath": "OP13\\fonts\\ComicSansMS.TTF"
"asset": 1661085345370,
"meta": 1662700898075,
"relativePath": "OP13/fonts/ComicSansMS.TTF"
},
"bbb7f5b8-6788-4f09-bb15-e32ab0dbbdcc": {
"asset": 1660656241563,
"meta": 1660967961961,
"relativePath": "OP13\\fonts\\ComicSansMSBold.ttf"
"asset": 1661085345371,
"meta": 1662700898077,
"relativePath": "OP13/fonts/ComicSansMSBold.ttf"
},
"b83b3347-55ad-4386-98be-0ee9f791afbf": {
"asset": 1660656241550,
"meta": 1660967964235,
"relativePath": "OP13\\anims\\nv_tex.json"
"asset": 1661085345364,
"meta": 1662700899827,
"relativePath": "OP13/anims/nv_tex.json"
},
"ac86e335-44ed-48e5-bd97-5f4ab7fa28d4": {
"asset": 1660967509098,
"meta": 1660967961963,
"relativePath": "OP13\\prefabs"
"asset": 1661085345373,
"meta": 1662700898078,
"relativePath": "OP13/prefabs"
},
"85a50052-bdb8-4fa7-8b04-ee33e303f16f": {
"asset": 1660967509094,
"meta": 1660967961967,
"relativePath": "OP13\\prefabs\\ItemPage.prefab"
"asset": 1661085345372,
"meta": 1662700898083,
"relativePath": "OP13/prefabs/ItemPage.prefab"
},
"2449b534-ab4a-43ad-a680-ad4dcc1d3435": {
"asset": 1660967509095,
"meta": 1660967961971,
"relativePath": "OP13\\prefabs\\ItemTurnPage.prefab"
"asset": 1661085345372,
"meta": 1662700898086,
"relativePath": "OP13/prefabs/ItemTurnPage.prefab"
},
"320caeb2-9a8a-41b4-a87f-62d541b235fd": {
"asset": 1660967509098,
"meta": 1660967961974,
"relativePath": "OP13\\prefabs\\ItemTurnPage2.prefab"
"asset": 1661085345373,
"meta": 1662700898089,
"relativePath": "OP13/prefabs/ItemTurnPage2.prefab"
},
"e8bd16b0-3804-45a9-a8ca-f52c02224f55": {
"asset": 1660967509103,
"meta": 1660967961975,
"relativePath": "OP13\\scene"
"asset": 1662700883775,
"meta": 1662700898087,
"relativePath": "OP13/scene"
},
"57ea7c61-9b8b-498a-b024-c98ee9124beb": {
"asset": 1662633388546,
"meta": 1662633388560,
"relativePath": "OP13\\scene\\OP13.fire"
"asset": 1662700933425,
"meta": 1662700933430,
"relativePath": "OP13/scene/OP13.fire"
},
"b0c008bc-cf92-463b-8360-0984e13c2e4d": {
"asset": 1660967509115,
"meta": 1660967962701,
"relativePath": "OP13\\script"
"asset": 1662684372414,
"meta": 1662700898573,
"relativePath": "OP13/script"
},
"7af27a40-c9d2-4101-b894-8dff982f3985": {
"asset": 1660656241575,
"meta": 1660967962750,
"relativePath": "OP13\\script\\BaseUI.js"
"asset": 1661085345374,
"meta": 1662700898604,
"relativePath": "OP13/script/BaseUI.js"
},
"83a3b6ed-85cc-4f0c-831c-02a1bed48636": {
"asset": 1660656241581,
"meta": 1660967962889,
"relativePath": "OP13\\script\\bezier_assembler.ts"
"asset": 1661085345376,
"meta": 1662700898712,
"relativePath": "OP13/script/bezier_assembler.ts"
},
"f6d8771f-5c3b-4b75-b38e-6ce26b58245c": {
"asset": 1660656241582,
"meta": 1660967962926,
"relativePath": "OP13\\script\\bezier_render.ts"
"asset": 1661085345376,
"meta": 1662700898746,
"relativePath": "OP13/script/bezier_render.ts"
},
"609efd2d-8c8b-4b9a-aa58-6186e15395a0": {
"asset": 1660656241583,
"meta": 1660967962984,
"relativePath": "OP13\\script\\capture_to_web.js"
"asset": 1661085345376,
"meta": 1662700898806,
"relativePath": "OP13/script/capture_to_web.js"
},
"f25d28c5-2fa1-4bfc-ab0c-9f8e3e8ff631": {
"asset": 1660656241577,
"meta": 1660967963064,
"relativePath": "OP13\\script\\EventMgr.ts"
"asset": 1661085345375,
"meta": 1662700898868,
"relativePath": "OP13/script/EventMgr.ts"
},
"e22e1d5e-d025-463d-a8df-85de258d791e": {
"asset": 1660656241580,
"meta": 1660967963241,
"relativePath": "OP13\\script\\NodeFitScreen.js"
"asset": 1661085345376,
"meta": 1662700899024,
"relativePath": "OP13/script/NodeFitScreen.js"
},
"5314e480-f4d0-4b9d-a20c-7c7bc789fbab": {
"asset": 1660656241584,
"meta": 1660967963297,
"relativePath": "OP13\\script\\page_effect_assembler_base.ts"
"asset": 1661085345377,
"meta": 1662700899074,
"relativePath": "OP13/script/page_effect_assembler_base.ts"
},
"34fd68c3-ee66-4456-9cb3-15b8cc3478b7": {
"asset": 1660656241586,
"meta": 1660967963442,
"relativePath": "OP13\\script\\runtime.js"
"asset": 1661085345377,
"meta": 1662700899193,
"relativePath": "OP13/script/runtime.js"
},
"ade7af40-d56d-4087-bbc6-2888fef55353": {
"asset": 1660656241587,
"meta": 1660967963504,
"relativePath": "OP13\\script\\util.js"
"asset": 1661085345377,
"meta": 1662700899240,
"relativePath": "OP13/script/util.js"
},
"9694fac7-c6ac-426b-b854-93c0ba8913b3": {
"asset": 1660656241589,
"meta": 1660967963808,
"relativePath": "OP13\\script\\verlet_assembler.ts"
"asset": 1661085345378,
"meta": 1662700899497,
"relativePath": "OP13/script/verlet_assembler.ts"
},
"5b959940-b8bc-4a57-8e86-6e135d3bb8d8": {
"asset": 1660656241590,
"meta": 1660967963887,
"relativePath": "OP13\\script\\verlet_render.ts"
"asset": 1661085345379,
"meta": 1662700899569,
"relativePath": "OP13/script/verlet_render.ts"
},
"5ec153c1-caa5-422d-8520-0a0de4105de9": {
"asset": 1660967509118,
"meta": 1660967963889,
"relativePath": "OP13\\shader"
"asset": 1661085345379,
"meta": 1662700899570,
"relativePath": "OP13/shader"
},
"71f0ba7f-9abb-4754-9100-100e47c782bc": {
"asset": 1660656241592,
"meta": 1660967963903,
"relativePath": "OP13\\shader\\page-effect.effect"
"asset": 1661085345379,
"meta": 1662700899578,
"relativePath": "OP13/shader/page-effect.effect"
},
"4f7c0520-945f-4c7c-9b51-9c012fca0299": {
"asset": 1660967509118,
"meta": 1660967964258,
"relativePath": "OP13\\shader\\page-material.mtl"
"asset": 1661085345379,
"meta": 1662700899840,
"relativePath": "OP13/shader/page-material.mtl"
},
"8ba21262-178f-4fa5-afc9-2c1dd50ba3ab": {
"asset": 1660967509138,
"meta": 1660967963905,
"relativePath": "OP13\\textures"
"asset": 1661085345389,
"meta": 1662700899580,
"relativePath": "OP13/textures"
},
"5d3dbf71-3907-492a-8140-e402460ca901": {
"asset": 1660967509125,
"meta": 1660967963907,
"relativePath": "OP13\\textures\\mao"
"asset": 1661085345382,
"meta": 1662700899581,
"relativePath": "OP13/textures/mao"
},
"ce0a0ad1-ea3c-4943-b4df-0018e6fdc873": {
"asset": 1660967509122,
"meta": 1660967963919,
"relativePath": "OP13\\textures\\mao\\mao_ske.json"
"asset": 1661085345380,
"meta": 1662700899589,
"relativePath": "OP13/textures/mao/mao_ske.json"
},
"4dfebff1-7d99-40fb-8f61-c515e6ff3e9e": {
"asset": 1660967509125,
"meta": 1660967963984,
"relativePath": "OP13\\textures\\mao\\mao_tex.png"
"asset": 1661085345382,
"meta": 1662700899630,
"relativePath": "OP13/textures/mao/mao_tex.png"
},
"8540e37b-f678-4ca6-93df-acc60a7b2b9d": {
"asset": 1660967509137,
"meta": 1660967963925,
"relativePath": "OP13\\textures\\pack"
"asset": 1661085345389,
"meta": 1662700899592,
"relativePath": "OP13/textures/pack"
},
"f8289e25-f396-4d4f-b746-1d1e8d3a3934": {
"asset": 1660656241596,
"meta": 1660967963940,
"relativePath": "OP13\\textures\\pack\\574.png"
"asset": 1661085345382,
"meta": 1662700899603,
"relativePath": "OP13/textures/pack/574.png"
},
"08a510bb-5f41-4f70-8c5e-710c0cfeefc5": {
"asset": 1660656241597,
"meta": 1660967963944,
"relativePath": "OP13\\textures\\pack\\AutoAtlas.pac"
"asset": 1661085345383,
"meta": 1662700899604,
"relativePath": "OP13/textures/pack/AutoAtlas.pac"
},
"286a3825-899d-4ccb-9604-ef335d5ed350": {
"asset": 1660656241598,
"meta": 1660967964004,
"relativePath": "OP13\\textures\\pack\\btnLast_1.png"
"asset": 1661085345383,
"meta": 1662700899613,
"relativePath": "OP13/textures/pack/btnLast_1.png"
},
"0beeaa34-33fe-41c8-9ced-36f73b9f71a7": {
"asset": 1660967509123,
"meta": 1660967964264,
"relativePath": "OP13\\textures\\mao\\mao_tex.json"
"asset": 1661085345381,
"meta": 1662700899843,
"relativePath": "OP13/textures/mao/mao_tex.json"
},
"83135714-06b2-4cbb-a28a-aa21e0a50b08": {
"asset": 1660656241599,
"meta": 1660967964014,
"relativePath": "OP13\\textures\\pack\\btnLast_2.png"
"asset": 1661085345384,
"meta": 1662700899639,
"relativePath": "OP13/textures/pack/btnLast_2.png"
},
"4ae37e64-62c7-4f29-a977-061045d9576b": {
"asset": 1660656241601,
"meta": 1660967964017,
"relativePath": "OP13\\textures\\pack\\btnNext_1.png"
"asset": 1661085345384,
"meta": 1662700899649,
"relativePath": "OP13/textures/pack/btnNext_1.png"
},
"66eb6be7-9e5d-4ad5-b77e-a00f7f9d13c0": {
"asset": 1660656241602,
"meta": 1660967964032,
"relativePath": "OP13\\textures\\pack\\btnNext_2.png"
"asset": 1661085345384,
"meta": 1662700899651,
"relativePath": "OP13/textures/pack/btnNext_2.png"
},
"29183e84-e8f4-49ef-8258-ba79b1fee177": {
"asset": 1660656241604,
"meta": 1660967964029,
"relativePath": "OP13\\textures\\pack\\combined-shape-copy.png"
"asset": 1661085345384,
"meta": 1662700899660,
"relativePath": "OP13/textures/pack/combined-shape-copy.png"
},
"81b7febf-1d99-4ded-91b9-b7fbffd9177c": {
"asset": 1660656241605,
"meta": 1660967964048,
"relativePath": "OP13\\textures\\pack\\group.png"
"asset": 1661085345385,
"meta": 1662700899661,
"relativePath": "OP13/textures/pack/group.png"
},
"91258ef3-e5b7-47cf-8480-be91ece6c0f9": {
"asset": 1660656241556,
"meta": 1660967961977,
"relativePath": "OP13\\audios\\fk.mp3"
"asset": 1661085345368,
"meta": 1662700898084,
"relativePath": "OP13/audios/fk.mp3"
},
"a93c20f7-b8ee-4524-a7d3-79f20aadb834": {
"asset": 1660656241606,
"meta": 1660967964055,
"relativePath": "OP13\\textures\\pack\\rectangle-21.png"
"asset": 1661085345385,
"meta": 1662700899678,
"relativePath": "OP13/textures/pack/rectangle-21.png"
},
"b5ae5ffb-47e0-461d-9f97-1a23ac272214": {
"asset": 1660656241607,
"meta": 1660967964072,
"relativePath": "OP13\\textures\\pack\\rectangle-22.png"
"asset": 1661085345385,
"meta": 1662700899677,
"relativePath": "OP13/textures/pack/rectangle-22.png"
},
"69b8e535-dfdf-430a-86f0-195ab2e21081": {
"asset": 1660656241609,
"meta": 1660967964083,
"relativePath": "OP13\\textures\\pack\\rectangle-4.png"
"asset": 1661085345387,
"meta": 1662700899702,
"relativePath": "OP13/textures/pack/rectangle-4.png"
},
"5718d5d0-75c0-4076-a8a1-ed677b20798f": {
"asset": 1660656241611,
"meta": 1660967964087,
"relativePath": "OP13\\textures\\pack\\story-time_2.png"
"asset": 1661085345388,
"meta": 1662700899688,
"relativePath": "OP13/textures/pack/story-time_2.png"
},
"994841ca-42f1-4071-9082-46642bdc4676": {
"asset": 1660967509145,
"meta": 1660967964088,
"relativePath": "OP13\\textures\\unpack"
"asset": 1661085345410,
"meta": 1662700899701,
"relativePath": "OP13/textures/unpack"
},
"1f3bffd5-39e9-4630-8b98-da400ef98fa0": {
"asset": 1660656241610,
"meta": 1660967964103,
"relativePath": "OP13\\textures\\pack\\story-time.png"
"asset": 1661085345388,
"meta": 1662700899700,
"relativePath": "OP13/textures/pack/story-time.png"
},
"3734c342-b9fc-4e11-9db8-db7d1bc13373": {
"asset": 1660656241625,
"meta": 1660967964127,
"relativePath": "OP13\\textures\\unpack\\bg_flower.png"
"asset": 1661085345396,
"meta": 1662700899724,
"relativePath": "OP13/textures/unpack/bg_flower.png"
},
"581b6748-abd0-4695-b43b-3a56bda5fd84": {
"asset": 1660656241627,
"meta": 1660967964158,
"relativePath": "OP13\\textures\\unpack\\bg_moon.png"
"asset": 1661085345397,
"meta": 1662700899752,
"relativePath": "OP13/textures/unpack/bg_moon.png"
},
"d9c34ebf-a443-4723-a0bf-22aba33ea8f8": {
"asset": 1660656241622,
"meta": 1660967964170,
"relativePath": "OP13\\textures\\unpack\\bg_book.png"
"asset": 1661085345394,
"meta": 1662700899785,
"relativePath": "OP13/textures/unpack/bg_book.png"
},
"eeaecb8d-8dd7-4e74-85b3-1cecfbdcafac": {
"asset": 1660656241628,
"meta": 1660967964180,
"relativePath": "OP13\\textures\\unpack\\left_arrow.png"
"asset": 1661085345398,
"meta": 1662700899762,
"relativePath": "OP13/textures/unpack/left_arrow.png"
},
"df459e67-251a-434b-b024-aa5389ad7425": {
"asset": 1660656241641,
"meta": 1660967964193,
"relativePath": "OP13\\textures\\unpack\\right_arrow.png"
"asset": 1661085345405,
"meta": 1662700899797,
"relativePath": "OP13/textures/unpack/right_arrow.png"
},
"b23c32c3-a8c3-4ad6-9990-2f777d6e8a44": {
"asset": 1660656241642,
"meta": 1660967964207,
"relativePath": "OP13\\textures\\unpack\\tip_0.png"
"asset": 1661085345407,
"meta": 1662700899809,
"relativePath": "OP13/textures/unpack/tip_0.png"
},
"f87b6bfe-9b30-4b5f-a8f7-f131e3e72832": {
"asset": 1660656241639,
"meta": 1660967964225,
"relativePath": "OP13\\textures\\unpack\\rectangle-3.png"
"asset": 1661085345405,
"meta": 1662700899824,
"relativePath": "OP13/textures/unpack/rectangle-3.png"
},
"83408137-833c-4bfa-9704-ff5d3833e1a0": {
"asset": 1660656241643,
"meta": 1660967964219,
"relativePath": "OP13\\textures\\unpack\\tip_1.png"
"asset": 1661085345410,
"meta": 1662700899823,
"relativePath": "OP13/textures/unpack/tip_1.png"
},
"debd6cea-1475-4d46-a5c5-02b2540f97f4": {
"asset": 1660967509085,
"meta": 1660967961934,
"relativePath": "OP13\\audios\\CoolCatFinish.mp3"
"asset": 1661085345367,
"meta": 1662700898061,
"relativePath": "OP13/audios/CoolCatFinish.mp3"
},
"042df0b8-33ee-47fe-a08c-b529ee599978": {
"asset": 1660967509084,
"meta": 1660967961931,
"relativePath": "OP13\\audios\\CoolCatBegin.mp3"
"asset": 1661085345367,
"meta": 1662700898060,
"relativePath": "OP13/audios/CoolCatBegin.mp3"
},
"1f6a1248-1578-4eb1-bdf9-4f2801c14558": {
"asset": 1660967509087,
"meta": 1660967961942,
"relativePath": "OP13\\audios\\CoolCatRight.mp3"
"asset": 1661085345368,
"meta": 1662700898069,
"relativePath": "OP13/audios/CoolCatRight.mp3"
},
"5559b108-5f24-4091-9a4a-3d5ca803d1fd": {
"asset": 1660967509088,
"meta": 1660967961945,
"relativePath": "OP13\\audios\\CoolCatWrong.mp3"
"asset": 1661085345368,
"meta": 1662700898068,
"relativePath": "OP13/audios/CoolCatWrong.mp3"
},
"d545f402-231b-417e-99e6-3269412a5a2c": {
"asset": 1660656241588,
"meta": 1660967963759,
"relativePath": "OP13\\script\\utils.js"
"asset": 1661085345378,
"meta": 1662700899457,
"relativePath": "OP13/script/utils.js"
},
"6fa9c94a-d3df-4f14-bf6b-b6aa701eb398": {
"asset": 1660967509106,
"meta": 1660967963017,
"relativePath": "OP13\\script\\DefaultData.js"
"asset": 1661085345375,
"meta": 1662700898831,
"relativePath": "OP13/script/DefaultData.js"
},
"9bf56932-9f61-4b9f-b43c-ec75c1c51c01": {
"asset": 1662633132126,
"meta": 1662633218247,
"relativePath": "OP13\\script\\ItemPage.js"
"asset": 1662684372414,
"meta": 1662700898983,
"relativePath": "OP13/script/ItemPage.js"
},
"f4ede462-f8d7-4069-ba80-915611c058ca": {
"asset": 1662633386936,
"meta": 1662633388426,
"relativePath": "OP13\\scene\\OP13.js"
"asset": 1662700914546,
"meta": 1662700916975,
"relativePath": "OP13/scene/OP13.js"
}
}
\ No newline at end of file
......@@ -13,13 +13,13 @@
"type": "dock-h",
"children": [
{
"width": 299,
"height": 624,
"width": 302.796875,
"height": 655,
"type": "dock-v",
"children": [
{
"width": 299,
"height": 287,
"width": 302.796875,
"height": 301.328125,
"type": "panel",
"active": 0,
"children": [
......@@ -28,8 +28,8 @@
]
},
{
"width": 299,
"height": 334,
"width": 302.796875,
"height": 350.671875,
"type": "panel",
"active": 0,
"children": [
......@@ -39,13 +39,13 @@
]
},
{
"width": 655,
"height": 624,
"width": 663.328125,
"height": 655,
"type": "dock-v",
"children": [
{
"width": 655,
"height": 328,
"width": 663.328125,
"height": 344.375,
"type": "panel",
"active": 0,
"children": [
......@@ -53,8 +53,8 @@
]
},
{
"width": 655,
"height": 293,
"width": 663.328125,
"height": 307.625,
"type": "panel",
"active": 0,
"children": [
......@@ -66,8 +66,8 @@
]
},
{
"width": 304,
"height": 624,
"width": 307.859375,
"height": 655,
"type": "panel",
"active": 0,
"children": [
......
{"version":"1.0.8","stats":{"D:/work/huiwan/OP13/temp/quick-scripts/src/__qc_index__.js":"2022-09-08T09:40:31.787Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/script/ItemPage.js":"2022-09-08T09:40:31.724Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/script/EventMgr.js":"2022-09-08T09:40:31.733Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/script/bezier_render.js":"2022-09-08T09:40:31.738Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/script/NodeFitScreen.js":"2022-09-08T09:40:31.731Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/script/page_effect_assembler_base.js":"2022-09-08T09:40:31.707Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/script/bezier_assembler.js":"2022-09-08T09:40:31.719Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/script/runtime.js":"2022-09-08T09:40:31.704Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/script/util.js":"2022-09-08T09:40:31.726Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/script/verlet_assembler.js":"2022-09-08T09:40:31.722Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/script/capture_to_web.js":"2022-09-08T09:40:31.713Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/script/utils.js":"2022-09-08T09:40:31.729Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/scene/OP13.js":"2022-09-08T09:40:31.736Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/script/verlet_render.js":"2022-09-08T09:40:31.710Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/script/DefaultData.js":"2022-09-08T09:40:31.715Z","D:/work/huiwan/OP13/temp/quick-scripts/src/assets/OP13/script/BaseUI.js":"2022-09-08T09:40:31.717Z"}}
{"version":"1.0.8","stats":{"/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/__qc_index__.js":"2022-09-09T05:21:40.072Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/script/EventMgr.js":"2022-09-09T05:21:40.050Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/scene/OP13.js":"2022-09-09T05:21:40.051Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/script/capture_to_web.js":"2022-09-09T05:21:40.045Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/script/bezier_render.js":"2022-09-09T05:21:40.052Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/script/page_effect_assembler_base.js":"2022-09-09T05:21:40.044Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/script/bezier_assembler.js":"2022-09-09T05:21:40.047Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/script/ItemPage.js":"2022-09-09T05:21:40.048Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/script/util.js":"2022-09-09T05:21:40.049Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/script/runtime.js":"2022-09-09T05:21:40.043Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/script/utils.js":"2022-09-09T05:21:40.049Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/script/verlet_assembler.js":"2022-09-09T05:21:40.047Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/script/BaseUI.js":"2022-09-09T05:21:40.046Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/script/verlet_render.js":"2022-09-09T05:21:40.045Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/script/NodeFitScreen.js":"2022-09-09T05:21:40.050Z","/Users/liwei/Documents/GitHub/Courseware/OP13/temp/quick-scripts/src/assets/OP13/script/DefaultData.js":"2022-09-09T05:21:40.046Z"}}
This source diff could not be displayed because it is too large. You can view the blob instead.
(function () {
var scripts = [{"deps":{"./assets/OP13/script/DefaultData":14,"./assets/OP13/script/ItemPage":1,"./assets/OP13/script/NodeFitScreen":4,"./assets/OP13/script/bezier_assembler":6,"./assets/OP13/script/bezier_render":3,"./assets/OP13/script/capture_to_web":10,"./assets/OP13/script/page_effect_assembler_base":5,"./assets/OP13/script/runtime":7,"./assets/OP13/script/util":8,"./assets/OP13/script/utils":11,"./assets/OP13/script/verlet_assembler":9,"./assets/OP13/script/BaseUI":15,"./assets/OP13/script/verlet_render":13,"./assets/OP13/scene/OP13":12,"./assets/OP13/script/EventMgr":2},"path":"preview-scripts/__qc_index__.js"},{"deps":{"BaseUI":15,"./utils":11},"path":"preview-scripts/assets/OP13/script/ItemPage.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/EventMgr.js"},{"deps":{"./bezier_assembler":6},"path":"preview-scripts/assets/OP13/script/bezier_render.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/NodeFitScreen.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/page_effect_assembler_base.js"},{"deps":{"./page_effect_assembler_base":5},"path":"preview-scripts/assets/OP13/script/bezier_assembler.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/runtime.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/util.js"},{"deps":{"./page_effect_assembler_base":5},"path":"preview-scripts/assets/OP13/script/verlet_assembler.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/capture_to_web.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/utils.js"},{"deps":{"capture_to_web":10,"BaseUI":15,"../script/DefaultData":14,"../script/utils":11},"path":"preview-scripts/assets/OP13/scene/OP13.js"},{"deps":{"./verlet_assembler":9},"path":"preview-scripts/assets/OP13/script/verlet_render.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/DefaultData.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/BaseUI.js"}];
var scripts = [{"deps":{"./assets/OP13/script/ItemPage":7,"./assets/OP13/script/NodeFitScreen":14,"./assets/OP13/script/bezier_assembler":6,"./assets/OP13/script/bezier_render":4,"./assets/OP13/script/capture_to_web":3,"./assets/OP13/script/page_effect_assembler_base":5,"./assets/OP13/script/runtime":9,"./assets/OP13/script/utils":10,"./assets/OP13/script/util":8,"./assets/OP13/script/verlet_assembler":11,"./assets/OP13/script/verlet_render":13,"./assets/OP13/script/BaseUI":12,"./assets/OP13/scene/OP13":2,"./assets/OP13/script/DefaultData":15,"./assets/OP13/script/EventMgr":1},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/EventMgr.js"},{"deps":{"capture_to_web":3,"BaseUI":12,"../script/DefaultData":15,"../script/utils":10},"path":"preview-scripts/assets/OP13/scene/OP13.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/capture_to_web.js"},{"deps":{"./bezier_assembler":6},"path":"preview-scripts/assets/OP13/script/bezier_render.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/page_effect_assembler_base.js"},{"deps":{"./page_effect_assembler_base":5},"path":"preview-scripts/assets/OP13/script/bezier_assembler.js"},{"deps":{"BaseUI":12,"./utils":10},"path":"preview-scripts/assets/OP13/script/ItemPage.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/util.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/runtime.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/utils.js"},{"deps":{"./page_effect_assembler_base":5},"path":"preview-scripts/assets/OP13/script/verlet_assembler.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/BaseUI.js"},{"deps":{"./verlet_assembler":11},"path":"preview-scripts/assets/OP13/script/verlet_render.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/NodeFitScreen.js"},{"deps":{},"path":"preview-scripts/assets/OP13/script/DefaultData.js"}];
var entries = ["preview-scripts/__qc_index__.js"];
var bundleScript = 'preview-scripts/__qc_bundle__.js';
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -83,4 +83,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcT1AxM1xcc2NyaXB0XFxCYXNlVUkuanMiXSwibmFtZXMiOlsiY2MiLCJDbGFzcyIsIkNvbXBvbmVudCIsIm9uTG9hZCIsIm5vZGVEaWN0IiwibGlua1dpZGdldCIsIm5vZGUiLCJjaGlsZHJlbiIsImkiLCJsZW5ndGgiLCJub2RlTmFtZSIsIm5hbWUiLCJzdWJzdHJpbmciLCJyZWFsTmFtZSIsImVycm9yIiwiaXNVSSIsIm9uIiwiYnV0dG9uTGlzdGVuZXIiLCJnZXROb2RlQnlOYW1lIiwiYnV0dG9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBQSxFQUFFLENBQUNDLEtBQUgsQ0FBUztBQUNMLGFBQVNELEVBQUUsQ0FBQ0UsU0FEUDtBQUdMQyxFQUFBQSxNQUhLLG9CQUdJO0FBQ0wsU0FBS0MsUUFBTCxHQUFnQixFQUFoQjtBQUNBLFNBQUtDLFVBQUwsQ0FBZ0IsS0FBS0MsSUFBckI7QUFDSCxHQU5JO0FBUUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBRCxFQUFBQSxVQWJLLHNCQWFNQyxJQWJOLEVBYVk7QUFDYixRQUFJQyxRQUFRLEdBQUdELElBQUksQ0FBQ0MsUUFBcEI7O0FBQ0EsU0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHRCxRQUFRLENBQUNFLE1BQTdCLEVBQXFDRCxDQUFDLEVBQXRDLEVBQTBDO0FBQ3RDLFVBQUlFLFFBQVEsR0FBR0gsUUFBUSxDQUFDQyxDQUFELENBQVIsQ0FBWUcsSUFBM0I7O0FBQ0EsVUFBSUQsUUFBUSxDQUFDRSxTQUFULENBQW1CLENBQW5CLEVBQXNCLENBQXRCLE1BQTZCLEdBQWpDLEVBQXNDO0FBQ2xDLGFBQUtQLFVBQUwsQ0FBZ0JFLFFBQVEsQ0FBQ0MsQ0FBRCxDQUF4QjtBQUNBO0FBQ0g7O0FBRUQsVUFBSUssUUFBUSxHQUFHSCxRQUFRLENBQUNFLFNBQVQsQ0FBbUIsQ0FBbkIsQ0FBZjs7QUFDQSxVQUFJLEtBQUtSLFFBQUwsQ0FBY1MsUUFBZCxDQUFKLEVBQTZCO0FBQ3pCYixRQUFBQSxFQUFFLENBQUNjLEtBQUgsQ0FBUyxZQUFZRCxRQUFyQjtBQUNBLGFBQUtSLFVBQUwsQ0FBZ0JFLFFBQVEsQ0FBQ0MsQ0FBRCxDQUF4QjtBQUNBO0FBQ0g7O0FBQ0QsVUFBSU8sSUFBSSxHQUFHLEtBQVg7QUFDQSxXQUFLWCxRQUFMLENBQWNTLFFBQWQsSUFBMEJOLFFBQVEsQ0FBQ0MsQ0FBRCxDQUFsQzs7QUFDQSxVQUFJRSxRQUFRLENBQUNFLFNBQVQsQ0FBbUIsQ0FBbkIsRUFBc0IsQ0FBdEIsTUFBNkIsT0FBakMsRUFBMEM7QUFDdENMLFFBQUFBLFFBQVEsQ0FBQ0MsQ0FBRCxDQUFSLENBQVlRLEVBQVosQ0FBZSxPQUFmLEVBQXdCLEtBQUtDLGNBQTdCLEVBQTZDLElBQTdDO0FBQ0FGLFFBQUFBLElBQUksR0FBRyxJQUFQO0FBQ0gsT0FIRCxNQUdPLElBQUlMLFFBQVEsQ0FBQ0UsU0FBVCxDQUFtQixDQUFuQixFQUFzQixDQUF0QixNQUE2QixLQUFqQyxFQUF3QztBQUMzQ0wsUUFBQUEsUUFBUSxDQUFDQyxDQUFELENBQVIsQ0FBWVEsRUFBWixDQUFlLE9BQWYsRUFBd0IsS0FBS0MsY0FBN0IsRUFBNkMsSUFBN0M7QUFDQUYsUUFBQUEsSUFBSSxHQUFHLEtBQVA7QUFDSCxPQUhNLE1BR0EsSUFBSUwsUUFBUSxDQUFDRSxTQUFULENBQW1CLENBQW5CLEVBQXNCLENBQXRCLE1BQTZCLElBQWpDLEVBQXVDO0FBQzFDRyxRQUFBQSxJQUFJLEdBQUcsSUFBUDtBQUNIOztBQUNEUixNQUFBQSxRQUFRLENBQUNDLENBQUQsQ0FBUixDQUFZRyxJQUFaLEdBQW1CRSxRQUFuQjtBQUNBLFdBQUtULFFBQUwsQ0FBY1MsUUFBZCxJQUEwQk4sUUFBUSxDQUFDQyxDQUFELENBQWxDOztBQUVBLFVBQUksQ0FBQ08sSUFBTCxFQUFXO0FBQ1AsYUFBS1YsVUFBTCxDQUFnQkUsUUFBUSxDQUFDQyxDQUFELENBQXhCO0FBQ0g7QUFDSjtBQUNKLEdBOUNJO0FBZ0RMVSxFQUFBQSxhQWhESyx5QkFnRFNQLElBaERULEVBZ0RlO0FBQ2hCLFdBQU8sS0FBS1AsUUFBTCxDQUFjTyxJQUFkLENBQVA7QUFDSCxHQWxESTtBQW9ETE0sRUFBQUEsY0FwREssMEJBb0RVRSxNQXBEVixFQW9Ea0IsQ0FBRztBQXBEckIsQ0FBVCIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiY2MuQ2xhc3Moe1xyXG4gICAgZXh0ZW5kczogY2MuQ29tcG9uZW50LFxyXG4gICAgXHJcbiAgICBvbkxvYWQoKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlRGljdCA9IHt9O1xyXG4gICAgICAgIHRoaXMubGlua1dpZGdldCh0aGlzLm5vZGUpO1xyXG4gICAgfSxcclxuXHJcbiAgICAvLyDpgY3ljoboioLngrnmoJEs6I635Y+W6YeN6KaB6IqC54K5XHJcbiAgICAvLyDoioLngrnlkI3lrZfku6Uk5byA5aS055qE6IqC54K55Li66YeN6KaB6IqC54K577yM5pS+6L+bbm9kZURpY3TkuK3vvIzlj6/ku6Xnm7TmjqXmi7/liLDvvIzkuI3nlKjmi5bmi73nu5HlrppcclxuICAgIC8vICRidG7kuLrmjInpkq7nsbvlnovvvIzmlL7ov5tub2RlRGljdO+8jOW5tuS4lOe7keWumuaMiemSrueCueWHu+S6i+S7tlxyXG4gICAgLy8gJHVp5Li6dWnoioLngrnvvIzmlL7ov5tub2RlRGljdO+8jOW5tuS4lOS4iumdoue7keWumuS6hkJhc2VVSeiEmuacrO+8jOaJgOS7peS4jee7p+e7remBjeWOhuivpeiKgueCueeahOWtkOiKgueCuVxyXG4gICAgLy8gJGJ0blVJ5Li65oyJ6ZKu57G75Z6LdWnoioLngrnvvIzmlL7ov5tub2RlRGljdO+8jOW5tuS4lOS4iumdoue7keWumuS6hkJhc2VVSeiEmuacrO+8jOaJgOS7peS4jee7p+e7remBjeWOhuivpeiKgueCueeahOWtkOiKgueCue+8jOW5tuS4lOe7keWumuaMiemSrueCueWHu+S6i+S7tlxyXG4gICAgbGlua1dpZGdldChub2RlKSB7XHJcbiAgICAgICAgbGV0IGNoaWxkcmVuID0gbm9kZS5jaGlsZHJlbjtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBub2RlTmFtZSA9IGNoaWxkcmVuW2ldLm5hbWU7XHJcbiAgICAgICAgICAgIGlmIChub2RlTmFtZS5zdWJzdHJpbmcoMCwgMSkgIT09IFwiJFwiKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmtXaWRnZXQoY2hpbGRyZW5baV0pO1xyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxldCByZWFsTmFtZSA9IG5vZGVOYW1lLnN1YnN0cmluZygxKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMubm9kZURpY3RbcmVhbE5hbWVdKSB7XHJcbiAgICAgICAgICAgICAgICBjYy5lcnJvcihcIuiKgueCueWQjeWtl+mHjeWkjSFcIiArIHJlYWxOYW1lKTtcclxuICAgICAgICAgICAgICAgIHRoaXMubGlua1dpZGdldChjaGlsZHJlbltpXSk7XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgaXNVSSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGVEaWN0W3JlYWxOYW1lXSA9IGNoaWxkcmVuW2ldO1xyXG4gICAgICAgICAgICBpZiAobm9kZU5hbWUuc3Vic3RyaW5nKDEsIDYpID09PSBcImJ0blVJXCIpIHtcclxuICAgICAgICAgICAgICAgIGNoaWxkcmVuW2ldLm9uKCdjbGljaycsIHRoaXMuYnV0dG9uTGlzdGVuZXIsIHRoaXMpO1xyXG4gICAgICAgICAgICAgICAgaXNVSSA9IHRydWU7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobm9kZU5hbWUuc3Vic3RyaW5nKDEsIDQpID09PSBcImJ0blwiKSB7XHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbltpXS5vbignY2xpY2snLCB0aGlzLmJ1dHRvbkxpc3RlbmVyLCB0aGlzKTtcclxuICAgICAgICAgICAgICAgIGlzVUkgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChub2RlTmFtZS5zdWJzdHJpbmcoMSwgMykgPT09IFwidWlcIikge1xyXG4gICAgICAgICAgICAgICAgaXNVSSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2hpbGRyZW5baV0ubmFtZSA9IHJlYWxOYW1lO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGVEaWN0W3JlYWxOYW1lXSA9IGNoaWxkcmVuW2ldO1xyXG5cclxuICAgICAgICAgICAgaWYgKCFpc1VJKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmtXaWRnZXQoY2hpbGRyZW5baV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBnZXROb2RlQnlOYW1lKG5hbWUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ub2RlRGljdFtuYW1lXTtcclxuICAgIH0sXHJcblxyXG4gICAgYnV0dG9uTGlzdGVuZXIoYnV0dG9uKSB7IH1cclxufSk7Il19
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9PUDEzL3NjcmlwdC9CYXNlVUkuanMiXSwibmFtZXMiOlsiY2MiLCJDbGFzcyIsIkNvbXBvbmVudCIsIm9uTG9hZCIsIm5vZGVEaWN0IiwibGlua1dpZGdldCIsIm5vZGUiLCJjaGlsZHJlbiIsImkiLCJsZW5ndGgiLCJub2RlTmFtZSIsIm5hbWUiLCJzdWJzdHJpbmciLCJyZWFsTmFtZSIsImVycm9yIiwiaXNVSSIsIm9uIiwiYnV0dG9uTGlzdGVuZXIiLCJnZXROb2RlQnlOYW1lIiwiYnV0dG9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBQSxFQUFFLENBQUNDLEtBQUgsQ0FBUztBQUNMLGFBQVNELEVBQUUsQ0FBQ0UsU0FEUDtBQUdMQyxFQUFBQSxNQUhLLG9CQUdJO0FBQ0wsU0FBS0MsUUFBTCxHQUFnQixFQUFoQjtBQUNBLFNBQUtDLFVBQUwsQ0FBZ0IsS0FBS0MsSUFBckI7QUFDSCxHQU5JO0FBUUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBRCxFQUFBQSxVQWJLLHNCQWFNQyxJQWJOLEVBYVk7QUFDYixRQUFJQyxRQUFRLEdBQUdELElBQUksQ0FBQ0MsUUFBcEI7O0FBQ0EsU0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHRCxRQUFRLENBQUNFLE1BQTdCLEVBQXFDRCxDQUFDLEVBQXRDLEVBQTBDO0FBQ3RDLFVBQUlFLFFBQVEsR0FBR0gsUUFBUSxDQUFDQyxDQUFELENBQVIsQ0FBWUcsSUFBM0I7O0FBQ0EsVUFBSUQsUUFBUSxDQUFDRSxTQUFULENBQW1CLENBQW5CLEVBQXNCLENBQXRCLE1BQTZCLEdBQWpDLEVBQXNDO0FBQ2xDLGFBQUtQLFVBQUwsQ0FBZ0JFLFFBQVEsQ0FBQ0MsQ0FBRCxDQUF4QjtBQUNBO0FBQ0g7O0FBRUQsVUFBSUssUUFBUSxHQUFHSCxRQUFRLENBQUNFLFNBQVQsQ0FBbUIsQ0FBbkIsQ0FBZjs7QUFDQSxVQUFJLEtBQUtSLFFBQUwsQ0FBY1MsUUFBZCxDQUFKLEVBQTZCO0FBQ3pCYixRQUFBQSxFQUFFLENBQUNjLEtBQUgsQ0FBUyxZQUFZRCxRQUFyQjtBQUNBLGFBQUtSLFVBQUwsQ0FBZ0JFLFFBQVEsQ0FBQ0MsQ0FBRCxDQUF4QjtBQUNBO0FBQ0g7O0FBQ0QsVUFBSU8sSUFBSSxHQUFHLEtBQVg7QUFDQSxXQUFLWCxRQUFMLENBQWNTLFFBQWQsSUFBMEJOLFFBQVEsQ0FBQ0MsQ0FBRCxDQUFsQzs7QUFDQSxVQUFJRSxRQUFRLENBQUNFLFNBQVQsQ0FBbUIsQ0FBbkIsRUFBc0IsQ0FBdEIsTUFBNkIsT0FBakMsRUFBMEM7QUFDdENMLFFBQUFBLFFBQVEsQ0FBQ0MsQ0FBRCxDQUFSLENBQVlRLEVBQVosQ0FBZSxPQUFmLEVBQXdCLEtBQUtDLGNBQTdCLEVBQTZDLElBQTdDO0FBQ0FGLFFBQUFBLElBQUksR0FBRyxJQUFQO0FBQ0gsT0FIRCxNQUdPLElBQUlMLFFBQVEsQ0FBQ0UsU0FBVCxDQUFtQixDQUFuQixFQUFzQixDQUF0QixNQUE2QixLQUFqQyxFQUF3QztBQUMzQ0wsUUFBQUEsUUFBUSxDQUFDQyxDQUFELENBQVIsQ0FBWVEsRUFBWixDQUFlLE9BQWYsRUFBd0IsS0FBS0MsY0FBN0IsRUFBNkMsSUFBN0M7QUFDQUYsUUFBQUEsSUFBSSxHQUFHLEtBQVA7QUFDSCxPQUhNLE1BR0EsSUFBSUwsUUFBUSxDQUFDRSxTQUFULENBQW1CLENBQW5CLEVBQXNCLENBQXRCLE1BQTZCLElBQWpDLEVBQXVDO0FBQzFDRyxRQUFBQSxJQUFJLEdBQUcsSUFBUDtBQUNIOztBQUNEUixNQUFBQSxRQUFRLENBQUNDLENBQUQsQ0FBUixDQUFZRyxJQUFaLEdBQW1CRSxRQUFuQjtBQUNBLFdBQUtULFFBQUwsQ0FBY1MsUUFBZCxJQUEwQk4sUUFBUSxDQUFDQyxDQUFELENBQWxDOztBQUVBLFVBQUksQ0FBQ08sSUFBTCxFQUFXO0FBQ1AsYUFBS1YsVUFBTCxDQUFnQkUsUUFBUSxDQUFDQyxDQUFELENBQXhCO0FBQ0g7QUFDSjtBQUNKLEdBOUNJO0FBZ0RMVSxFQUFBQSxhQWhESyx5QkFnRFNQLElBaERULEVBZ0RlO0FBQ2hCLFdBQU8sS0FBS1AsUUFBTCxDQUFjTyxJQUFkLENBQVA7QUFDSCxHQWxESTtBQW9ETE0sRUFBQUEsY0FwREssMEJBb0RVRSxNQXBEVixFQW9Ea0IsQ0FBRztBQXBEckIsQ0FBVCIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiY2MuQ2xhc3Moe1xuICAgIGV4dGVuZHM6IGNjLkNvbXBvbmVudCxcbiAgICBcbiAgICBvbkxvYWQoKSB7XG4gICAgICAgIHRoaXMubm9kZURpY3QgPSB7fTtcbiAgICAgICAgdGhpcy5saW5rV2lkZ2V0KHRoaXMubm9kZSk7XG4gICAgfSxcblxuICAgIC8vIOmBjeWOhuiKgueCueagkSzojrflj5bph43opoHoioLngrlcbiAgICAvLyDoioLngrnlkI3lrZfku6Uk5byA5aS055qE6IqC54K55Li66YeN6KaB6IqC54K577yM5pS+6L+bbm9kZURpY3TkuK3vvIzlj6/ku6Xnm7TmjqXmi7/liLDvvIzkuI3nlKjmi5bmi73nu5HlrppcbiAgICAvLyAkYnRu5Li65oyJ6ZKu57G75Z6L77yM5pS+6L+bbm9kZURpY3TvvIzlubbkuJTnu5HlrprmjInpkq7ngrnlh7vkuovku7ZcbiAgICAvLyAkdWnkuLp1aeiKgueCue+8jOaUvui/m25vZGVEaWN077yM5bm25LiU5LiK6Z2i57uR5a6a5LqGQmFzZVVJ6ISa5pys77yM5omA5Lul5LiN57un57ut6YGN5Y6G6K+l6IqC54K555qE5a2Q6IqC54K5XG4gICAgLy8gJGJ0blVJ5Li65oyJ6ZKu57G75Z6LdWnoioLngrnvvIzmlL7ov5tub2RlRGljdO+8jOW5tuS4lOS4iumdoue7keWumuS6hkJhc2VVSeiEmuacrO+8jOaJgOS7peS4jee7p+e7remBjeWOhuivpeiKgueCueeahOWtkOiKgueCue+8jOW5tuS4lOe7keWumuaMiemSrueCueWHu+S6i+S7tlxuICAgIGxpbmtXaWRnZXQobm9kZSkge1xuICAgICAgICBsZXQgY2hpbGRyZW4gPSBub2RlLmNoaWxkcmVuO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgbm9kZU5hbWUgPSBjaGlsZHJlbltpXS5uYW1lO1xuICAgICAgICAgICAgaWYgKG5vZGVOYW1lLnN1YnN0cmluZygwLCAxKSAhPT0gXCIkXCIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmtXaWRnZXQoY2hpbGRyZW5baV0pO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgcmVhbE5hbWUgPSBub2RlTmFtZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICBpZiAodGhpcy5ub2RlRGljdFtyZWFsTmFtZV0pIHtcbiAgICAgICAgICAgICAgICBjYy5lcnJvcihcIuiKgueCueWQjeWtl+mHjeWkjSFcIiArIHJlYWxOYW1lKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmtXaWRnZXQoY2hpbGRyZW5baV0pO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGlzVUkgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubm9kZURpY3RbcmVhbE5hbWVdID0gY2hpbGRyZW5baV07XG4gICAgICAgICAgICBpZiAobm9kZU5hbWUuc3Vic3RyaW5nKDEsIDYpID09PSBcImJ0blVJXCIpIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbltpXS5vbignY2xpY2snLCB0aGlzLmJ1dHRvbkxpc3RlbmVyLCB0aGlzKTtcbiAgICAgICAgICAgICAgICBpc1VJID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobm9kZU5hbWUuc3Vic3RyaW5nKDEsIDQpID09PSBcImJ0blwiKSB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW5baV0ub24oJ2NsaWNrJywgdGhpcy5idXR0b25MaXN0ZW5lciwgdGhpcyk7XG4gICAgICAgICAgICAgICAgaXNVSSA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChub2RlTmFtZS5zdWJzdHJpbmcoMSwgMykgPT09IFwidWlcIikge1xuICAgICAgICAgICAgICAgIGlzVUkgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hpbGRyZW5baV0ubmFtZSA9IHJlYWxOYW1lO1xuICAgICAgICAgICAgdGhpcy5ub2RlRGljdFtyZWFsTmFtZV0gPSBjaGlsZHJlbltpXTtcblxuICAgICAgICAgICAgaWYgKCFpc1VJKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5rV2lkZ2V0KGNoaWxkcmVuW2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBnZXROb2RlQnlOYW1lKG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZURpY3RbbmFtZV07XG4gICAgfSxcblxuICAgIGJ1dHRvbkxpc3RlbmVyKGJ1dHRvbikgeyB9XG59KTsiXX0=
\ No newline at end of file
......@@ -135,4 +135,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcT1AxM1xcc2NyaXB0XFxEZWZhdWx0RGF0YS5qcyJdLCJuYW1lcyI6WyJEZWZhdWx0RGF0YSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFPLElBQU1BLFdBQVcsR0FBRztBQUN6QixnQkFBYyw0RUFEVztBQUV6QixjQUFZLDRFQUZhO0FBR3pCLGVBQWEsNEVBSFk7QUFJekIsZUFBYSxLQUpZO0FBS3pCLGVBQWEsT0FMWTtBQU16QixnQkFBYyxFQU5XO0FBT3pCLGdCQUFjLEVBUFc7QUFRekIsZUFBYSxFQVJZO0FBU3pCLHFCQUFtQjtBQUNqQixtQkFBZTtBQUNiLGFBQU87QUFETSxLQURFO0FBSWpCLG1CQUFlO0FBQ2IsYUFBTztBQURNLEtBSkU7QUFPakIsa0JBQWM7QUFDWixhQUFPO0FBREs7QUFQRyxHQVRNO0FBb0J6QixnQkFBYyxFQXBCVztBQXFCekIsZUFBYSxFQXJCWTtBQXNCekIsb0JBQWtCLEdBdEJPO0FBdUJ6QixjQUFZLENBQ1Y7QUFDRSxnQkFBWSxPQURkO0FBRUUsaUJBQWEsNkVBRmY7QUFHRSxnQkFBWSxFQUhkO0FBSUUsaUJBQWEsRUFKZjtBQUtFLGlCQUFhLEdBTGY7QUFNRSxzQkFBa0I7QUFDaEIscUJBQWU7QUFDYixlQUFPLDZFQURNO0FBRWIsZ0JBQVE7QUFGSyxPQURDO0FBS2hCLHFCQUFlO0FBQ2IsZUFBTyw2RUFETTtBQUViLGdCQUFRO0FBRkssT0FMQztBQVNoQixvQkFBYztBQUNaLGVBQU8sNEVBREs7QUFFWixnQkFBUTtBQUZJO0FBVEU7QUFOcEIsR0FEVSxFQXNCVjtBQUNFLGdCQUFZLE9BRGQ7QUFFRSxpQkFBYSw2RUFGZjtBQUdFLGdCQUFZLEVBSGQ7QUFJRSxpQkFBYSxFQUpmO0FBS0UsaUJBQWEsR0FMZjtBQU1FLHNCQUFrQjtBQUNoQixxQkFBZTtBQUNiLGVBQU8sOEVBRE07QUFFYixnQkFBUTtBQUZLLE9BREM7QUFLaEIscUJBQWU7QUFDYixlQUFPLDhFQURNO0FBRWIsZ0JBQVE7QUFGSyxPQUxDO0FBU2hCLG9CQUFjO0FBQ1osZUFBTyw2RUFESztBQUVaLGdCQUFRO0FBRkk7QUFURTtBQU5wQixHQXRCVSxFQTJDVjtBQUNFLGdCQUFZLE9BRGQ7QUFFRSxpQkFBYSw2RUFGZjtBQUdFLGdCQUFZLEVBSGQ7QUFJRSxpQkFBYSxFQUpmO0FBS0UsaUJBQWEsR0FMZjtBQU1FLHNCQUFrQjtBQUNoQixxQkFBZTtBQUNiLGVBQU8sOEVBRE07QUFFYixnQkFBUTtBQUZLLE9BREM7QUFLaEIscUJBQWU7QUFDYixlQUFPLDhFQURNO0FBRWIsZ0JBQVE7QUFGSyxPQUxDO0FBU2hCLG9CQUFjO0FBQ1osZUFBTyw2RUFESztBQUVaLGdCQUFRO0FBRkk7QUFURTtBQU5wQixHQTNDVSxFQWdFVjtBQUNFLGdCQUFZLE9BRGQ7QUFFRSxpQkFBYSw2RUFGZjtBQUdFLGdCQUFZLEVBSGQ7QUFJRSxpQkFBYSxFQUpmO0FBS0UsaUJBQWEsR0FMZjtBQU1FLHNCQUFrQjtBQUNoQixxQkFBZTtBQUNiLGVBQU8sOEVBRE07QUFFYixnQkFBUTtBQUZLLE9BREM7QUFLaEIscUJBQWU7QUFDYixlQUFPLDhFQURNO0FBRWIsZ0JBQVE7QUFGSyxPQUxDO0FBU2hCLG9CQUFjO0FBQ1osZUFBTyw2RUFESztBQUVaLGdCQUFRO0FBRkk7QUFURTtBQU5wQixHQWhFVTtBQXZCYSxDQUFwQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERlZmF1bHREYXRhID0ge1xyXG4gIFwic3RhcnRBdWRpb1wiOiBcImh0dHA6Ly9zdGFnaW5nLXRlYWNoLmNkbi5pcmVhZGFiYy5jb20vMTIyNzc3MTY2NGY5ZGQ3YjFmZTIxMGE3NzM2Yjc2YTAubXAzXCIsXHJcbiAgXCJlbmRBdWRpb1wiOiBcImh0dHA6Ly9zdGFnaW5nLXRlYWNoLmNkbi5pcmVhZGFiYy5jb20vMTIyNzc3MTY2NGY5ZGQ3YjFmZTIxMGE3NzM2Yjc2YTAubXAzXCIsXHJcbiAgXCJ3YWl0QXVkaW9cIjogXCJodHRwOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tLzEyMjc3NzE2NjRmOWRkN2IxZmUyMTBhNzczNmI3NmEwLm1wM1wiLFxyXG4gIFwiaGF2ZUNvdmVyXCI6IGZhbHNlLFxyXG4gIFwiY292ZXJUeXBlXCI6IFwiSW1hZ2VcIixcclxuICBcImNvdmVySW1hZ2VcIjogXCJcIixcclxuICBcImNvdmVyQXVkaW9cIjogXCJcIixcclxuICBcImNvdmVyVGV4dFwiOiBcIlwiLFxyXG4gIFwiY292ZXJEcmFnb25Cb25lXCI6IHtcclxuICAgIFwic2tlSnNvbkRhdGFcIjoge1xyXG4gICAgICBcInVybFwiOiBcIlwiXHJcbiAgICB9LFxyXG4gICAgXCJ0ZXhKc29uRGF0YVwiOiB7XHJcbiAgICAgIFwidXJsXCI6IFwiXCJcclxuICAgIH0sXHJcbiAgICBcInRleFBuZ0RhdGFcIjoge1xyXG4gICAgICBcInVybFwiOiBcIlwiXHJcbiAgICB9XHJcbiAgfSxcclxuICBcInRpdGxlQXVkaW9cIjogXCJcIixcclxuICBcInRpdGxlVGV4dFwiOiBcIlwiLFxyXG4gIFwidGl0bGVUZXh0Q29sb3JcIjogXCJBXCIsXHJcbiAgXCJwYWdlTGlzdFwiOiBbXHJcbiAgICB7XHJcbiAgICAgIFwicGFnZVR5cGVcIjogXCJJbWFnZVwiLFxyXG4gICAgICBcInBhZ2VBdWRpb1wiOiBcImh0dHBzOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tLzBlNjdhYTcwMWRmMThjYmI1NTgxZmZiODFmZmE3ODM2Lm1wM1wiLFxyXG4gICAgICBcInBhZ2VUZXh0XCI6IFwiXCIsXHJcbiAgICAgIFwicGFnZUltYWdlXCI6IFwiXCIsXHJcbiAgICAgIFwidGV4dENvbG9yXCI6IFwiQVwiLFxyXG4gICAgICBcInBhZ2VEcmFnb25Cb25lXCI6IHtcclxuICAgICAgICBcInNrZUpzb25EYXRhXCI6IHtcclxuICAgICAgICAgIFwidXJsXCI6IFwiaHR0cDovL3N0YWdpbmctdGVhY2guY2RuLmlyZWFkYWJjLmNvbS9iNGZiYmZkYjcyMjg4MDIxNTQwOTJmNzE0ZTAyOGMyYy5qc29uXCIsXHJcbiAgICAgICAgICBcIm5hbWVcIjogXCIxX3NrZS5qc29uXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwidGV4SnNvbkRhdGFcIjoge1xyXG4gICAgICAgICAgXCJ1cmxcIjogXCJodHRwOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tLzBlNDE5Y2MwM2I1ZWJlZGNmMWE1Yzc5NmEyYzM5NDM3Lmpzb25cIixcclxuICAgICAgICAgIFwibmFtZVwiOiBcIjFfdGV4Lmpzb25cIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJ0ZXhQbmdEYXRhXCI6IHtcclxuICAgICAgICAgIFwidXJsXCI6IFwiaHR0cDovL3N0YWdpbmctdGVhY2guY2RuLmlyZWFkYWJjLmNvbS9iNjlkNGNjY2Q0NjYzMGQxZDE0NGFlMWFiZmE2NmJkYi5wbmdcIixcclxuICAgICAgICAgIFwibmFtZVwiOiBcIjFfdGV4LnBuZ1wiXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBcInBhZ2VUeXBlXCI6IFwiSW1hZ2VcIixcclxuICAgICAgXCJwYWdlQXVkaW9cIjogXCJodHRwczovL3N0YWdpbmctdGVhY2guY2RuLmlyZWFkYWJjLmNvbS80YzAzNzliYzBmM2JkMDcyMjg3NGIyZTExZmIzNTMzNi5tcDNcIixcclxuICAgICAgXCJwYWdlVGV4dFwiOiBcIlwiLFxyXG4gICAgICBcInBhZ2VJbWFnZVwiOiBcIlwiLFxyXG4gICAgICBcInRleHRDb2xvclwiOiBcIkFcIixcclxuICAgICAgXCJwYWdlRHJhZ29uQm9uZVwiOiB7XHJcbiAgICAgICAgXCJza2VKc29uRGF0YVwiOiB7XHJcbiAgICAgICAgICBcInVybFwiOiBcImh0dHBzOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tL2Q0ZDg0OGM5YTMyZTMyOTZjZmExYmFjYjIyNzUzZWE5Lmpzb25cIixcclxuICAgICAgICAgIFwibmFtZVwiOiBcIk9QX1NCMV80NTk2MTJfVTFMNF8yMigxKV9za2UuanNvblwiXHJcbiAgICAgICAgfSxcclxuICAgICAgICBcInRleEpzb25EYXRhXCI6IHtcclxuICAgICAgICAgIFwidXJsXCI6IFwiaHR0cHM6Ly9zdGFnaW5nLXRlYWNoLmNkbi5pcmVhZGFiYy5jb20vNGMwNmNkY2YwOGIxNTVlY2M0N2YyMjM2YWQ2ZTdjYzIuanNvblwiLFxyXG4gICAgICAgICAgXCJuYW1lXCI6IFwiT1BfU0IxXzQ1OTYxMl9VMUw0XzIyKDEpX3RleC5qc29uXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwidGV4UG5nRGF0YVwiOiB7XHJcbiAgICAgICAgICBcInVybFwiOiBcImh0dHBzOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tL2QyNDRlOTliNDM3NmRjOTFlMDY5YTNmMjJiOTY1MDUxLnBuZ1wiLFxyXG4gICAgICAgICAgXCJuYW1lXCI6IFwiT1BfU0IxXzQ1OTYxMl9VMUw0XzIyKDEpX3RleC5wbmdcIlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgXCJwYWdlVHlwZVwiOiBcIkltYWdlXCIsXHJcbiAgICAgIFwicGFnZUF1ZGlvXCI6IFwiaHR0cHM6Ly9zdGFnaW5nLXRlYWNoLmNkbi5pcmVhZGFiYy5jb20vZmUyMjZiYzMwM2YwM2VhOTk0Y2I5YTkzZDE2MjAyODQubXAzXCIsXHJcbiAgICAgIFwicGFnZVRleHRcIjogXCJcIixcclxuICAgICAgXCJwYWdlSW1hZ2VcIjogXCJcIixcclxuICAgICAgXCJ0ZXh0Q29sb3JcIjogXCJBXCIsXHJcbiAgICAgIFwicGFnZURyYWdvbkJvbmVcIjoge1xyXG4gICAgICAgIFwic2tlSnNvbkRhdGFcIjoge1xyXG4gICAgICAgICAgXCJ1cmxcIjogXCJodHRwczovL3N0YWdpbmctdGVhY2guY2RuLmlyZWFkYWJjLmNvbS83MjdlZmQ2NGUxOGZlOTljZGZjNzhiODAxYzBjOTNiNi5qc29uXCIsXHJcbiAgICAgICAgICBcIm5hbWVcIjogXCJPUF9TQjFfNDU5NjEyX1UxTDRfMjQoMSlfc2tlLmpzb25cIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJ0ZXhKc29uRGF0YVwiOiB7XHJcbiAgICAgICAgICBcInVybFwiOiBcImh0dHBzOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tLzY5OTcxODdmMmI0YTc4N2E0OGZlZTczYWJiOTBlOTVkLmpzb25cIixcclxuICAgICAgICAgIFwibmFtZVwiOiBcIk9QX1NCMV80NTk2MTJfVTFMNF8yNCgxKV90ZXguanNvblwiXHJcbiAgICAgICAgfSxcclxuICAgICAgICBcInRleFBuZ0RhdGFcIjoge1xyXG4gICAgICAgICAgXCJ1cmxcIjogXCJodHRwczovL3N0YWdpbmctdGVhY2guY2RuLmlyZWFkYWJjLmNvbS8yM2VhYTI1YThjN2Q2YTI5Yzc3NWYzYWQ2YWRkZGJmOS5wbmdcIixcclxuICAgICAgICAgIFwibmFtZVwiOiBcIk9QX1NCMV80NTk2MTJfVTFMNF8yNCgxKV90ZXgucG5nXCJcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIFwicGFnZVR5cGVcIjogXCJJbWFnZVwiLFxyXG4gICAgICBcInBhZ2VBdWRpb1wiOiBcImh0dHBzOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tLzI5OTBkNjIyZWMyOTQwODQxYTA3NDFkN2I2NGEzYzUwLm1wM1wiLFxyXG4gICAgICBcInBhZ2VUZXh0XCI6IFwiXCIsXHJcbiAgICAgIFwicGFnZUltYWdlXCI6IFwiXCIsXHJcbiAgICAgIFwidGV4dENvbG9yXCI6IFwiQVwiLFxyXG4gICAgICBcInBhZ2VEcmFnb25Cb25lXCI6IHtcclxuICAgICAgICBcInNrZUpzb25EYXRhXCI6IHtcclxuICAgICAgICAgIFwidXJsXCI6IFwiaHR0cHM6Ly9zdGFnaW5nLXRlYWNoLmNkbi5pcmVhZGFiYy5jb20vMTFhZmUxY2VlOWMzN2ZjZmUyNmFmNjQ5NmRkZmUyMWEuanNvblwiLFxyXG4gICAgICAgICAgXCJuYW1lXCI6IFwiT1BfU0IxXzQ1OTYxMl9VMUw0XzI2KDEpX3NrZS5qc29uXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwidGV4SnNvbkRhdGFcIjoge1xyXG4gICAgICAgICAgXCJ1cmxcIjogXCJodHRwczovL3N0YWdpbmctdGVhY2guY2RuLmlyZWFkYWJjLmNvbS8wNmQxY2U5OWVmYzgyNjhhNTgyNDE5YmRlMTE2NzFiMS5qc29uXCIsXHJcbiAgICAgICAgICBcIm5hbWVcIjogXCJPUF9TQjFfNDU5NjEyX1UxTDRfMjYoMSlfdGV4Lmpzb25cIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJ0ZXhQbmdEYXRhXCI6IHtcclxuICAgICAgICAgIFwidXJsXCI6IFwiaHR0cHM6Ly9zdGFnaW5nLXRlYWNoLmNkbi5pcmVhZGFiYy5jb20vZTMxNWY5N2Y1MGVkNjY5OGRlZTM1NGM2ZDUyOTBkYTUucG5nXCIsXHJcbiAgICAgICAgICBcIm5hbWVcIjogXCJPUF9TQjFfNDU5NjEyX1UxTDRfMjYoMSlfdGV4LnBuZ1wiXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgXVxyXG59Il19
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9PUDEzL3NjcmlwdC9EZWZhdWx0RGF0YS5qcyJdLCJuYW1lcyI6WyJEZWZhdWx0RGF0YSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFPLElBQU1BLFdBQVcsR0FBRztBQUN6QixnQkFBYyw0RUFEVztBQUV6QixjQUFZLDRFQUZhO0FBR3pCLGVBQWEsNEVBSFk7QUFJekIsZUFBYSxLQUpZO0FBS3pCLGVBQWEsT0FMWTtBQU16QixnQkFBYyxFQU5XO0FBT3pCLGdCQUFjLEVBUFc7QUFRekIsZUFBYSxFQVJZO0FBU3pCLHFCQUFtQjtBQUNqQixtQkFBZTtBQUNiLGFBQU87QUFETSxLQURFO0FBSWpCLG1CQUFlO0FBQ2IsYUFBTztBQURNLEtBSkU7QUFPakIsa0JBQWM7QUFDWixhQUFPO0FBREs7QUFQRyxHQVRNO0FBb0J6QixnQkFBYyxFQXBCVztBQXFCekIsZUFBYSxFQXJCWTtBQXNCekIsb0JBQWtCLEdBdEJPO0FBdUJ6QixjQUFZLENBQ1Y7QUFDRSxnQkFBWSxPQURkO0FBRUUsaUJBQWEsNkVBRmY7QUFHRSxnQkFBWSxFQUhkO0FBSUUsaUJBQWEsRUFKZjtBQUtFLGlCQUFhLEdBTGY7QUFNRSxzQkFBa0I7QUFDaEIscUJBQWU7QUFDYixlQUFPLDZFQURNO0FBRWIsZ0JBQVE7QUFGSyxPQURDO0FBS2hCLHFCQUFlO0FBQ2IsZUFBTyw2RUFETTtBQUViLGdCQUFRO0FBRkssT0FMQztBQVNoQixvQkFBYztBQUNaLGVBQU8sNEVBREs7QUFFWixnQkFBUTtBQUZJO0FBVEU7QUFOcEIsR0FEVSxFQXNCVjtBQUNFLGdCQUFZLE9BRGQ7QUFFRSxpQkFBYSw2RUFGZjtBQUdFLGdCQUFZLEVBSGQ7QUFJRSxpQkFBYSxFQUpmO0FBS0UsaUJBQWEsR0FMZjtBQU1FLHNCQUFrQjtBQUNoQixxQkFBZTtBQUNiLGVBQU8sOEVBRE07QUFFYixnQkFBUTtBQUZLLE9BREM7QUFLaEIscUJBQWU7QUFDYixlQUFPLDhFQURNO0FBRWIsZ0JBQVE7QUFGSyxPQUxDO0FBU2hCLG9CQUFjO0FBQ1osZUFBTyw2RUFESztBQUVaLGdCQUFRO0FBRkk7QUFURTtBQU5wQixHQXRCVSxFQTJDVjtBQUNFLGdCQUFZLE9BRGQ7QUFFRSxpQkFBYSw2RUFGZjtBQUdFLGdCQUFZLEVBSGQ7QUFJRSxpQkFBYSxFQUpmO0FBS0UsaUJBQWEsR0FMZjtBQU1FLHNCQUFrQjtBQUNoQixxQkFBZTtBQUNiLGVBQU8sOEVBRE07QUFFYixnQkFBUTtBQUZLLE9BREM7QUFLaEIscUJBQWU7QUFDYixlQUFPLDhFQURNO0FBRWIsZ0JBQVE7QUFGSyxPQUxDO0FBU2hCLG9CQUFjO0FBQ1osZUFBTyw2RUFESztBQUVaLGdCQUFRO0FBRkk7QUFURTtBQU5wQixHQTNDVSxFQWdFVjtBQUNFLGdCQUFZLE9BRGQ7QUFFRSxpQkFBYSw2RUFGZjtBQUdFLGdCQUFZLEVBSGQ7QUFJRSxpQkFBYSxFQUpmO0FBS0UsaUJBQWEsR0FMZjtBQU1FLHNCQUFrQjtBQUNoQixxQkFBZTtBQUNiLGVBQU8sOEVBRE07QUFFYixnQkFBUTtBQUZLLE9BREM7QUFLaEIscUJBQWU7QUFDYixlQUFPLDhFQURNO0FBRWIsZ0JBQVE7QUFGSyxPQUxDO0FBU2hCLG9CQUFjO0FBQ1osZUFBTyw2RUFESztBQUVaLGdCQUFRO0FBRkk7QUFURTtBQU5wQixHQWhFVTtBQXZCYSxDQUFwQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERlZmF1bHREYXRhID0ge1xuICBcInN0YXJ0QXVkaW9cIjogXCJodHRwOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tLzEyMjc3NzE2NjRmOWRkN2IxZmUyMTBhNzczNmI3NmEwLm1wM1wiLFxuICBcImVuZEF1ZGlvXCI6IFwiaHR0cDovL3N0YWdpbmctdGVhY2guY2RuLmlyZWFkYWJjLmNvbS8xMjI3NzcxNjY0ZjlkZDdiMWZlMjEwYTc3MzZiNzZhMC5tcDNcIixcbiAgXCJ3YWl0QXVkaW9cIjogXCJodHRwOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tLzEyMjc3NzE2NjRmOWRkN2IxZmUyMTBhNzczNmI3NmEwLm1wM1wiLFxuICBcImhhdmVDb3ZlclwiOiBmYWxzZSxcbiAgXCJjb3ZlclR5cGVcIjogXCJJbWFnZVwiLFxuICBcImNvdmVySW1hZ2VcIjogXCJcIixcbiAgXCJjb3ZlckF1ZGlvXCI6IFwiXCIsXG4gIFwiY292ZXJUZXh0XCI6IFwiXCIsXG4gIFwiY292ZXJEcmFnb25Cb25lXCI6IHtcbiAgICBcInNrZUpzb25EYXRhXCI6IHtcbiAgICAgIFwidXJsXCI6IFwiXCJcbiAgICB9LFxuICAgIFwidGV4SnNvbkRhdGFcIjoge1xuICAgICAgXCJ1cmxcIjogXCJcIlxuICAgIH0sXG4gICAgXCJ0ZXhQbmdEYXRhXCI6IHtcbiAgICAgIFwidXJsXCI6IFwiXCJcbiAgICB9XG4gIH0sXG4gIFwidGl0bGVBdWRpb1wiOiBcIlwiLFxuICBcInRpdGxlVGV4dFwiOiBcIlwiLFxuICBcInRpdGxlVGV4dENvbG9yXCI6IFwiQVwiLFxuICBcInBhZ2VMaXN0XCI6IFtcbiAgICB7XG4gICAgICBcInBhZ2VUeXBlXCI6IFwiSW1hZ2VcIixcbiAgICAgIFwicGFnZUF1ZGlvXCI6IFwiaHR0cHM6Ly9zdGFnaW5nLXRlYWNoLmNkbi5pcmVhZGFiYy5jb20vMGU2N2FhNzAxZGYxOGNiYjU1ODFmZmI4MWZmYTc4MzYubXAzXCIsXG4gICAgICBcInBhZ2VUZXh0XCI6IFwiXCIsXG4gICAgICBcInBhZ2VJbWFnZVwiOiBcIlwiLFxuICAgICAgXCJ0ZXh0Q29sb3JcIjogXCJBXCIsXG4gICAgICBcInBhZ2VEcmFnb25Cb25lXCI6IHtcbiAgICAgICAgXCJza2VKc29uRGF0YVwiOiB7XG4gICAgICAgICAgXCJ1cmxcIjogXCJodHRwOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tL2I0ZmJiZmRiNzIyODgwMjE1NDA5MmY3MTRlMDI4YzJjLmpzb25cIixcbiAgICAgICAgICBcIm5hbWVcIjogXCIxX3NrZS5qc29uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0ZXhKc29uRGF0YVwiOiB7XG4gICAgICAgICAgXCJ1cmxcIjogXCJodHRwOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tLzBlNDE5Y2MwM2I1ZWJlZGNmMWE1Yzc5NmEyYzM5NDM3Lmpzb25cIixcbiAgICAgICAgICBcIm5hbWVcIjogXCIxX3RleC5qc29uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0ZXhQbmdEYXRhXCI6IHtcbiAgICAgICAgICBcInVybFwiOiBcImh0dHA6Ly9zdGFnaW5nLXRlYWNoLmNkbi5pcmVhZGFiYy5jb20vYjY5ZDRjY2NkNDY2MzBkMWQxNDRhZTFhYmZhNjZiZGIucG5nXCIsXG4gICAgICAgICAgXCJuYW1lXCI6IFwiMV90ZXgucG5nXCJcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgXCJwYWdlVHlwZVwiOiBcIkltYWdlXCIsXG4gICAgICBcInBhZ2VBdWRpb1wiOiBcImh0dHBzOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tLzRjMDM3OWJjMGYzYmQwNzIyODc0YjJlMTFmYjM1MzM2Lm1wM1wiLFxuICAgICAgXCJwYWdlVGV4dFwiOiBcIlwiLFxuICAgICAgXCJwYWdlSW1hZ2VcIjogXCJcIixcbiAgICAgIFwidGV4dENvbG9yXCI6IFwiQVwiLFxuICAgICAgXCJwYWdlRHJhZ29uQm9uZVwiOiB7XG4gICAgICAgIFwic2tlSnNvbkRhdGFcIjoge1xuICAgICAgICAgIFwidXJsXCI6IFwiaHR0cHM6Ly9zdGFnaW5nLXRlYWNoLmNkbi5pcmVhZGFiYy5jb20vZDRkODQ4YzlhMzJlMzI5NmNmYTFiYWNiMjI3NTNlYTkuanNvblwiLFxuICAgICAgICAgIFwibmFtZVwiOiBcIk9QX1NCMV80NTk2MTJfVTFMNF8yMigxKV9za2UuanNvblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidGV4SnNvbkRhdGFcIjoge1xuICAgICAgICAgIFwidXJsXCI6IFwiaHR0cHM6Ly9zdGFnaW5nLXRlYWNoLmNkbi5pcmVhZGFiYy5jb20vNGMwNmNkY2YwOGIxNTVlY2M0N2YyMjM2YWQ2ZTdjYzIuanNvblwiLFxuICAgICAgICAgIFwibmFtZVwiOiBcIk9QX1NCMV80NTk2MTJfVTFMNF8yMigxKV90ZXguanNvblwiXG4gICAgICAgIH0sXG4gICAgICAgIFwidGV4UG5nRGF0YVwiOiB7XG4gICAgICAgICAgXCJ1cmxcIjogXCJodHRwczovL3N0YWdpbmctdGVhY2guY2RuLmlyZWFkYWJjLmNvbS9kMjQ0ZTk5YjQzNzZkYzkxZTA2OWEzZjIyYjk2NTA1MS5wbmdcIixcbiAgICAgICAgICBcIm5hbWVcIjogXCJPUF9TQjFfNDU5NjEyX1UxTDRfMjIoMSlfdGV4LnBuZ1wiXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIFwicGFnZVR5cGVcIjogXCJJbWFnZVwiLFxuICAgICAgXCJwYWdlQXVkaW9cIjogXCJodHRwczovL3N0YWdpbmctdGVhY2guY2RuLmlyZWFkYWJjLmNvbS9mZTIyNmJjMzAzZjAzZWE5OTRjYjlhOTNkMTYyMDI4NC5tcDNcIixcbiAgICAgIFwicGFnZVRleHRcIjogXCJcIixcbiAgICAgIFwicGFnZUltYWdlXCI6IFwiXCIsXG4gICAgICBcInRleHRDb2xvclwiOiBcIkFcIixcbiAgICAgIFwicGFnZURyYWdvbkJvbmVcIjoge1xuICAgICAgICBcInNrZUpzb25EYXRhXCI6IHtcbiAgICAgICAgICBcInVybFwiOiBcImh0dHBzOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tLzcyN2VmZDY0ZTE4ZmU5OWNkZmM3OGI4MDFjMGM5M2I2Lmpzb25cIixcbiAgICAgICAgICBcIm5hbWVcIjogXCJPUF9TQjFfNDU5NjEyX1UxTDRfMjQoMSlfc2tlLmpzb25cIlxuICAgICAgICB9LFxuICAgICAgICBcInRleEpzb25EYXRhXCI6IHtcbiAgICAgICAgICBcInVybFwiOiBcImh0dHBzOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tLzY5OTcxODdmMmI0YTc4N2E0OGZlZTczYWJiOTBlOTVkLmpzb25cIixcbiAgICAgICAgICBcIm5hbWVcIjogXCJPUF9TQjFfNDU5NjEyX1UxTDRfMjQoMSlfdGV4Lmpzb25cIlxuICAgICAgICB9LFxuICAgICAgICBcInRleFBuZ0RhdGFcIjoge1xuICAgICAgICAgIFwidXJsXCI6IFwiaHR0cHM6Ly9zdGFnaW5nLXRlYWNoLmNkbi5pcmVhZGFiYy5jb20vMjNlYWEyNWE4YzdkNmEyOWM3NzVmM2FkNmFkZGRiZjkucG5nXCIsXG4gICAgICAgICAgXCJuYW1lXCI6IFwiT1BfU0IxXzQ1OTYxMl9VMUw0XzI0KDEpX3RleC5wbmdcIlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBcInBhZ2VUeXBlXCI6IFwiSW1hZ2VcIixcbiAgICAgIFwicGFnZUF1ZGlvXCI6IFwiaHR0cHM6Ly9zdGFnaW5nLXRlYWNoLmNkbi5pcmVhZGFiYy5jb20vMjk5MGQ2MjJlYzI5NDA4NDFhMDc0MWQ3YjY0YTNjNTAubXAzXCIsXG4gICAgICBcInBhZ2VUZXh0XCI6IFwiXCIsXG4gICAgICBcInBhZ2VJbWFnZVwiOiBcIlwiLFxuICAgICAgXCJ0ZXh0Q29sb3JcIjogXCJBXCIsXG4gICAgICBcInBhZ2VEcmFnb25Cb25lXCI6IHtcbiAgICAgICAgXCJza2VKc29uRGF0YVwiOiB7XG4gICAgICAgICAgXCJ1cmxcIjogXCJodHRwczovL3N0YWdpbmctdGVhY2guY2RuLmlyZWFkYWJjLmNvbS8xMWFmZTFjZWU5YzM3ZmNmZTI2YWY2NDk2ZGRmZTIxYS5qc29uXCIsXG4gICAgICAgICAgXCJuYW1lXCI6IFwiT1BfU0IxXzQ1OTYxMl9VMUw0XzI2KDEpX3NrZS5qc29uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0ZXhKc29uRGF0YVwiOiB7XG4gICAgICAgICAgXCJ1cmxcIjogXCJodHRwczovL3N0YWdpbmctdGVhY2guY2RuLmlyZWFkYWJjLmNvbS8wNmQxY2U5OWVmYzgyNjhhNTgyNDE5YmRlMTE2NzFiMS5qc29uXCIsXG4gICAgICAgICAgXCJuYW1lXCI6IFwiT1BfU0IxXzQ1OTYxMl9VMUw0XzI2KDEpX3RleC5qc29uXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJ0ZXhQbmdEYXRhXCI6IHtcbiAgICAgICAgICBcInVybFwiOiBcImh0dHBzOi8vc3RhZ2luZy10ZWFjaC5jZG4uaXJlYWRhYmMuY29tL2UzMTVmOTdmNTBlZDY2OThkZWUzNTRjNmQ1MjkwZGE1LnBuZ1wiLFxuICAgICAgICAgIFwibmFtZVwiOiBcIk9QX1NCMV80NTk2MTJfVTFMNF8yNigxKV90ZXgucG5nXCJcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXVxufSJdfQ==
\ No newline at end of file
......@@ -108,4 +108,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcT1AxM1xcc2NyaXB0XFxFdmVudE1nci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQWNBO0lBQUE7UUFDRSxXQUFXO1FBQ1gsT0FBRSxHQUFlLEVBQUUsQ0FBQztJQWdGdEIsQ0FBQztJQTlFQyxxQkFBRSxHQUFGLFVBQUcsU0FBaUIsRUFBRSxFQUFZLEVBQUUsTUFBYztRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUN6QjtRQUVELElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3RCLEVBQUUsSUFBQTtZQUNGLElBQUksRUFBRSxLQUFLO1lBQ1gsTUFBTSxRQUFBO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHVCQUFJLEdBQUosVUFBSyxTQUFpQixFQUFFLEVBQVksRUFBRSxNQUFjO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3pCO1FBRUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDdEIsRUFBRSxJQUFBO1lBQ0YsSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLFFBQUE7U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsdUJBQUksR0FBSixVQUFLLFNBQWlCLEVBQUUsTUFBWTtRQUNsQyxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUzQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBRXpCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEIsSUFBQSxLQUF1QixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQWpDLEVBQUUsUUFBQSxFQUFFLElBQUksVUFBQSxFQUFFLE1BQU0sWUFBaUIsQ0FBQztZQUMxQyxJQUFJLElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMvQixFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUV2QixJQUFJLElBQUksRUFBRTtnQkFDUixTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDdkIsQ0FBQyxFQUFFLENBQUM7Z0JBQ0osQ0FBQyxFQUFFLENBQUM7YUFDTDtTQUNGO0lBQ0gsQ0FBQztJQUVELHNCQUFHLEdBQUgsVUFBSSxTQUFrQixFQUFFLEVBQWEsRUFBRSxNQUFlO1FBQ3BELFlBQVk7UUFDWixJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUU7WUFDM0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7U0FDZDthQUFNO1lBQ0wsSUFBSSxFQUFFLEtBQUssU0FBUyxFQUFFO2dCQUNwQixrQ0FBa0M7Z0JBQ2xDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMzQjtpQkFBTSxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsT0FBTztpQkFDUjtnQkFDRCxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDM0MsK0JBQStCO2dCQUMvQixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO2dCQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUMxQixJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFO3dCQUNsQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDdkIsQ0FBQyxFQUFFLENBQUM7d0JBQ0osQ0FBQyxFQUFFLENBQUM7cUJBQ0w7aUJBQ0Y7YUFDRjtpQkFBTTtnQkFDTCxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDM0MsK0JBQStCO2dCQUMvQixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO2dCQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUMxQixJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFO3dCQUM1RCxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDdkIsQ0FBQyxFQUFFLENBQUM7d0JBQ0osQ0FBQyxFQUFFLENBQUM7cUJBQ0w7aUJBQ0Y7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUNILGVBQUM7QUFBRCxDQWxGQSxBQWtGQyxJQUFBO0FBRUQsa0JBQWUsSUFBSSxRQUFRLEVBQUUsQ0FBQyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiDkuovku7bmqKHlnZdcclxuICogb25maXJlLmpzXHJcbiAqIFxyXG4gKi9cclxuaW50ZXJmYWNlIExpc3RlbmVyIHtcclxuICBjYjogRnVuY3Rpb247XHJcbiAgb25jZTogYm9vbGVhbjtcclxuICB0YXJnZXQ6IG9iamVjdDtcclxufVxyXG5cclxuaW50ZXJmYWNlIEV2ZW50c1R5cGUge1xyXG4gIFtldmVudE5hbWU6IHN0cmluZ106IExpc3RlbmVyW107XHJcbn1cclxuY2xhc3MgRXZlbnRNZ3Ige1xyXG4gIC8vIOaJgOacieS6i+S7tueahOebkeWQrOWZqFxyXG4gIGVzOiBFdmVudHNUeXBlID0ge307XHJcblxyXG4gIG9uKGV2ZW50TmFtZTogc3RyaW5nLCBjYjogRnVuY3Rpb24sIHRhcmdldDogb2JqZWN0KSB7XHJcbiAgICBpZiAoIXRoaXMuZXNbZXZlbnROYW1lXSkge1xyXG4gICAgICB0aGlzLmVzW2V2ZW50TmFtZV0gPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVzW2V2ZW50TmFtZV0ucHVzaCh7XHJcbiAgICAgIGNiLFxyXG4gICAgICBvbmNlOiBmYWxzZSxcclxuICAgICAgdGFyZ2V0LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbmNlKGV2ZW50TmFtZTogc3RyaW5nLCBjYjogRnVuY3Rpb24sIHRhcmdldDogb2JqZWN0KSB7XHJcbiAgICBpZiAoIXRoaXMuZXNbZXZlbnROYW1lXSkge1xyXG4gICAgICB0aGlzLmVzW2V2ZW50TmFtZV0gPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVzW2V2ZW50TmFtZV0ucHVzaCh7XHJcbiAgICAgIGNiLFxyXG4gICAgICBvbmNlOiB0cnVlLFxyXG4gICAgICB0YXJnZXQsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGVtaXQoZXZlbnROYW1lOiBzdHJpbmcsIHBhcmFtcz86IGFueSkge1xyXG4gICAgY29uc3QgbGlzdGVuZXJzID0gdGhpcy5lc1tldmVudE5hbWVdIHx8IFtdO1xyXG5cclxuICAgIGxldCBsID0gbGlzdGVuZXJzLmxlbmd0aDtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xyXG4gICAgICBjb25zdCB7IGNiLCBvbmNlLCB0YXJnZXQgfSA9IGxpc3RlbmVyc1tpXTtcclxuICAgICAgbGV0IGFyZ3MgPSBbZXZlbnROYW1lLCBwYXJhbXNdO1xyXG4gICAgICBjYi5hcHBseSh0YXJnZXQsIGFyZ3MpO1xyXG5cclxuICAgICAgaWYgKG9uY2UpIHtcclxuICAgICAgICBsaXN0ZW5lcnMuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgIGktLTtcclxuICAgICAgICBsLS07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9mZihldmVudE5hbWU/OiBzdHJpbmcsIGNiPzogRnVuY3Rpb24sIHRhcmdldD86IG9iamVjdCkge1xyXG4gICAgLy8gY2xlYW4gYWxsXHJcbiAgICBpZiAoZXZlbnROYW1lID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5lcyA9IHt9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGNiID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAvLyBjbGVhbiB0aGUgZXZlbnROYW1lJ3MgbGlzdGVuZXJzXHJcbiAgICAgICAgZGVsZXRlIHRoaXMuZXNbZXZlbnROYW1lXTtcclxuICAgICAgfSBlbHNlIGlmIChjYiA9PT0gbnVsbCkge1xyXG4gICAgICAgIGlmICghdGFyZ2V0KSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuZXNbZXZlbnROYW1lXSB8fCBbXTtcclxuICAgICAgICAvLyBjbGVhbiB0aGUgZXZlbnQgYW5kIGxpc3RlbmVyXHJcbiAgICAgICAgbGV0IGwgPSBsaXN0ZW5lcnMubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgICBpZiAobGlzdGVuZXJzW2ldLnRhcmdldCA9PT0gdGFyZ2V0KSB7XHJcbiAgICAgICAgICAgIGxpc3RlbmVycy5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgIGktLTtcclxuICAgICAgICAgICAgbC0tO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBsaXN0ZW5lcnMgPSB0aGlzLmVzW2V2ZW50TmFtZV0gfHwgW107XHJcbiAgICAgICAgLy8gY2xlYW4gdGhlIGV2ZW50IGFuZCBsaXN0ZW5lclxyXG4gICAgICAgIGxldCBsID0gbGlzdGVuZXJzLmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgaWYgKGxpc3RlbmVyc1tpXS5jYiA9PT0gY2IgJiYgbGlzdGVuZXJzW2ldLnRhcmdldCA9PT0gdGFyZ2V0KSB7XHJcbiAgICAgICAgICAgIGxpc3RlbmVycy5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgIGktLTtcclxuICAgICAgICAgICAgbC0tO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IEV2ZW50TWdyKCk7Il19
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9PUDEzL3NjcmlwdC9FdmVudE1nci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQWNBO0lBQUE7UUFDRSxXQUFXO1FBQ1gsT0FBRSxHQUFlLEVBQUUsQ0FBQztJQWdGdEIsQ0FBQztJQTlFQyxxQkFBRSxHQUFGLFVBQUcsU0FBaUIsRUFBRSxFQUFZLEVBQUUsTUFBYztRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUN6QjtRQUVELElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3RCLEVBQUUsSUFBQTtZQUNGLElBQUksRUFBRSxLQUFLO1lBQ1gsTUFBTSxRQUFBO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHVCQUFJLEdBQUosVUFBSyxTQUFpQixFQUFFLEVBQVksRUFBRSxNQUFjO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3pCO1FBRUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDdEIsRUFBRSxJQUFBO1lBQ0YsSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLFFBQUE7U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsdUJBQUksR0FBSixVQUFLLFNBQWlCLEVBQUUsTUFBWTtRQUNsQyxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUzQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBRXpCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEIsSUFBQSxLQUF1QixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQWpDLEVBQUUsUUFBQSxFQUFFLElBQUksVUFBQSxFQUFFLE1BQU0sWUFBaUIsQ0FBQztZQUMxQyxJQUFJLElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMvQixFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUV2QixJQUFJLElBQUksRUFBRTtnQkFDUixTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDdkIsQ0FBQyxFQUFFLENBQUM7Z0JBQ0osQ0FBQyxFQUFFLENBQUM7YUFDTDtTQUNGO0lBQ0gsQ0FBQztJQUVELHNCQUFHLEdBQUgsVUFBSSxTQUFrQixFQUFFLEVBQWEsRUFBRSxNQUFlO1FBQ3BELFlBQVk7UUFDWixJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUU7WUFDM0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7U0FDZDthQUFNO1lBQ0wsSUFBSSxFQUFFLEtBQUssU0FBUyxFQUFFO2dCQUNwQixrQ0FBa0M7Z0JBQ2xDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMzQjtpQkFBTSxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsT0FBTztpQkFDUjtnQkFDRCxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDM0MsK0JBQStCO2dCQUMvQixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO2dCQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUMxQixJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFO3dCQUNsQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDdkIsQ0FBQyxFQUFFLENBQUM7d0JBQ0osQ0FBQyxFQUFFLENBQUM7cUJBQ0w7aUJBQ0Y7YUFDRjtpQkFBTTtnQkFDTCxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDM0MsK0JBQStCO2dCQUMvQixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO2dCQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUMxQixJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFO3dCQUM1RCxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDdkIsQ0FBQyxFQUFFLENBQUM7d0JBQ0osQ0FBQyxFQUFFLENBQUM7cUJBQ0w7aUJBQ0Y7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUNILGVBQUM7QUFBRCxDQWxGQSxBQWtGQyxJQUFBO0FBRUQsa0JBQWUsSUFBSSxRQUFRLEVBQUUsQ0FBQyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog5LqL5Lu25qih5Z2XXG4gKiBvbmZpcmUuanNcbiAqIFxuICovXG5pbnRlcmZhY2UgTGlzdGVuZXIge1xuICBjYjogRnVuY3Rpb247XG4gIG9uY2U6IGJvb2xlYW47XG4gIHRhcmdldDogb2JqZWN0O1xufVxuXG5pbnRlcmZhY2UgRXZlbnRzVHlwZSB7XG4gIFtldmVudE5hbWU6IHN0cmluZ106IExpc3RlbmVyW107XG59XG5jbGFzcyBFdmVudE1nciB7XG4gIC8vIOaJgOacieS6i+S7tueahOebkeWQrOWZqFxuICBlczogRXZlbnRzVHlwZSA9IHt9O1xuXG4gIG9uKGV2ZW50TmFtZTogc3RyaW5nLCBjYjogRnVuY3Rpb24sIHRhcmdldDogb2JqZWN0KSB7XG4gICAgaWYgKCF0aGlzLmVzW2V2ZW50TmFtZV0pIHtcbiAgICAgIHRoaXMuZXNbZXZlbnROYW1lXSA9IFtdO1xuICAgIH1cblxuICAgIHRoaXMuZXNbZXZlbnROYW1lXS5wdXNoKHtcbiAgICAgIGNiLFxuICAgICAgb25jZTogZmFsc2UsXG4gICAgICB0YXJnZXQsXG4gICAgfSk7XG4gIH1cblxuICBvbmNlKGV2ZW50TmFtZTogc3RyaW5nLCBjYjogRnVuY3Rpb24sIHRhcmdldDogb2JqZWN0KSB7XG4gICAgaWYgKCF0aGlzLmVzW2V2ZW50TmFtZV0pIHtcbiAgICAgIHRoaXMuZXNbZXZlbnROYW1lXSA9IFtdO1xuICAgIH1cblxuICAgIHRoaXMuZXNbZXZlbnROYW1lXS5wdXNoKHtcbiAgICAgIGNiLFxuICAgICAgb25jZTogdHJ1ZSxcbiAgICAgIHRhcmdldCxcbiAgICB9KTtcbiAgfVxuXG4gIGVtaXQoZXZlbnROYW1lOiBzdHJpbmcsIHBhcmFtcz86IGFueSkge1xuICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuZXNbZXZlbnROYW1lXSB8fCBbXTtcblxuICAgIGxldCBsID0gbGlzdGVuZXJzLmxlbmd0aDtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB7IGNiLCBvbmNlLCB0YXJnZXQgfSA9IGxpc3RlbmVyc1tpXTtcbiAgICAgIGxldCBhcmdzID0gW2V2ZW50TmFtZSwgcGFyYW1zXTtcbiAgICAgIGNiLmFwcGx5KHRhcmdldCwgYXJncyk7XG5cbiAgICAgIGlmIChvbmNlKSB7XG4gICAgICAgIGxpc3RlbmVycy5zcGxpY2UoaSwgMSk7XG4gICAgICAgIGktLTtcbiAgICAgICAgbC0tO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9mZihldmVudE5hbWU/OiBzdHJpbmcsIGNiPzogRnVuY3Rpb24sIHRhcmdldD86IG9iamVjdCkge1xuICAgIC8vIGNsZWFuIGFsbFxuICAgIGlmIChldmVudE5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5lcyA9IHt9O1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoY2IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAvLyBjbGVhbiB0aGUgZXZlbnROYW1lJ3MgbGlzdGVuZXJzXG4gICAgICAgIGRlbGV0ZSB0aGlzLmVzW2V2ZW50TmFtZV07XG4gICAgICB9IGVsc2UgaWYgKGNiID09PSBudWxsKSB7XG4gICAgICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuZXNbZXZlbnROYW1lXSB8fCBbXTtcbiAgICAgICAgLy8gY2xlYW4gdGhlIGV2ZW50IGFuZCBsaXN0ZW5lclxuICAgICAgICBsZXQgbCA9IGxpc3RlbmVycy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgaWYgKGxpc3RlbmVyc1tpXS50YXJnZXQgPT09IHRhcmdldCkge1xuICAgICAgICAgICAgbGlzdGVuZXJzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgIGktLTtcbiAgICAgICAgICAgIGwtLTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGxpc3RlbmVycyA9IHRoaXMuZXNbZXZlbnROYW1lXSB8fCBbXTtcbiAgICAgICAgLy8gY2xlYW4gdGhlIGV2ZW50IGFuZCBsaXN0ZW5lclxuICAgICAgICBsZXQgbCA9IGxpc3RlbmVycy5sZW5ndGg7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgaWYgKGxpc3RlbmVyc1tpXS5jYiA9PT0gY2IgJiYgbGlzdGVuZXJzW2ldLnRhcmdldCA9PT0gdGFyZ2V0KSB7XG4gICAgICAgICAgICBsaXN0ZW5lcnMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgaS0tO1xuICAgICAgICAgICAgbC0tO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBuZXcgRXZlbnRNZ3IoKTsiXX0=
\ No newline at end of file
......@@ -242,4 +242,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcT1AxM1xcc2NyaXB0XFxJdGVtUGFnZS5qcyJdLCJuYW1lcyI6WyJyZXF1aXJlIiwibG9hZFNwaW5lIiwiY29sb3JNYXAiLCJjYyIsIkNsYXNzIiwicHJvcGVydGllcyIsImRyYWdvbkJvbmUiLCJkcmFnb25Cb25lcyIsIkFybWF0dXJlRGlzcGxheSIsInNrZWxldG9uIiwic3AiLCJTa2VsZXRvbiIsIm9uTG9hZCIsIl9zdXBlciIsInNwckltYWdlIiwibm9kZURpY3QiLCJnZXRDb21wb25lbnQiLCJTcHJpdGUiLCJsYWJUZXh0IiwiUmljaFRleHQiLCJsYWJUZXh0VGl0bGUiLCJpbml0IiwiZGF0YSIsImlzQ292ZXIiLCJwYWdlSW5kZXgiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInBhZ2VUeXBlIiwic3RyaW5nIiwicGFnZURyYWdvbkJvbmUiLCJhbmltVHlwZSIsImxvYWRTcGluZUFuaW0iLCJ0aGVuIiwibG9hZERyYWdvbkJvbmVBbmltIiwic3RvcFNwaW5lIiwiX2FuaVNwaW5lIiwiY2xlYXJUcmFja3MiLCJfYW5pRHJhZ29uQm9uZSIsInN0b3AiLCJwbGF5U3BpbmUiLCJzZXRUb1NldHVwUG9zZSIsInNldFRpbWVvdXQiLCJzZXRBbmltYXRpb24iLCJhbmltYXRpb25OYW1lIiwic2V0Q29tcGxldGVMaXN0ZW5lciIsIkdhbWVEYXRhIiwiaXNQbGF5aW5nIiwicGxheUFuaW1hdGlvbiIsIm9uIiwiRXZlbnRPYmplY3QiLCJDT01QTEVURSIsImV2dCIsInBsYXlBdWRpbyIsInBhZ2VBdWRpbyIsImFzc2V0TWFuYWdlciIsImxvYWRSZW1vdGUiLCJlcnIiLCJjbGlwIiwiYXVkaW9JRCIsImF1ZGlvRW5naW5lIiwicGxheSIsImF1ZGlvRHVyYXRpb24iLCJnZXREdXJhdGlvbiIsInN0b3BBdWRpbyIsInVuc2NoZWR1bGUiLCJjaGVuZ2VUZXh0Q29sb3IiLCJsb2FkQmciLCJ1cmwiLCJwYWdlSW1hZ2UiLCJlcnJvciIsInRleHR1cmUiLCJjb25zb2xlIiwibG9nIiwic3ByaXRlRnJhbWUiLCJTcHJpdGVGcmFtZSIsInNldEJnU2NhbGUiLCJ0ZXgiLCJ0ZXhQbmdEYXRhIiwiYXRsYXMiLCJ0ZXhKc29uRGF0YSIsInNrZSIsInNrZUpzb25EYXRhIiwibmFtZSIsIndpZHRoIiwiaGVpZ2h0Iiwibm9kZSIsImFuaW1hdGlvbk5hbWVzIiwic2V0U3BpbmVTY2FsZSIsImltYWdlVXJsIiwic2tlVXJsIiwiYXRsYXNVcmwiLCJsb2FkQW55IiwiZXh0IiwiYXNzZXRzIiwiRHJhZ29uQm9uZXNBdGxhc0Fzc2V0IiwiX3V1aWQiLCJhdGxhc0pzb24iLCJhc3NldCIsIkRyYWdvbkJvbmVzQXNzZXQiLCJkcmFnb25Cb25lc0pzb24iLCJkcmFnb25BdGxhc0Fzc2V0IiwiZHJhZ29uQXNzZXQiLCJfZHJhZ29uQm9uZXNKc29uRGF0YSIsImFybWF0dXJlIiwiYXJtYXR1cmVOYW1lIiwiYW5pbWF0aW9uIiwiY2FudmFzIiwiYmdXaWR0aCIsImJnSGVpZ2h0IiwiZGVzaWduU2NhbGUiLCJzY2FsZSIsInNpemUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O2VBQXNCQSxPQUFPLENBQUMsU0FBRDtJQUFyQkMscUJBQUFBOztBQUVSLElBQU1DLFFBQVEsR0FBRztBQUNiLE9BQUssQ0FBQyxTQUFELEVBQVksU0FBWixFQUF1QixTQUF2QixDQURRO0FBRWIsT0FBSyxDQUFDLFNBQUQsRUFBWSxTQUFaLEVBQXVCLFNBQXZCO0FBRlEsQ0FBakI7QUFJQUMsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDTCxhQUFTSixPQUFPLENBQUMsUUFBRCxDQURYO0FBR0xLLEVBQUFBLFVBQVUsRUFBRTtBQUNSQyxJQUFBQSxVQUFVLEVBQUVDLFdBQVcsQ0FBQ0MsZUFEaEI7QUFFUkMsSUFBQUEsUUFBUSxFQUFFQyxFQUFFLENBQUNDO0FBRkwsR0FIUDtBQVFMQyxFQUFBQSxNQVJLLG9CQVFJO0FBQ0wsU0FBS0MsTUFBTDs7QUFDQSxTQUFLQyxRQUFMLEdBQWdCLEtB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Q0hFLFFBQUFBLElBQUksQ0FBQ3lCLEtBQUwsR0FBYUYsUUFBUSxHQUFHRyxJQUFJLENBQUMzQixNQUE3QjtBQUNIO0FBQ0o7QUFDSixHQXpMSSxDQTBMTDs7QUExTEssQ0FBVCIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgeyBsb2FkU3BpbmUgfSA9IHJlcXVpcmUoJy4vdXRpbHMnKTtcclxuXHJcbmNvbnN0IGNvbG9yTWFwID0ge1xyXG4gICAgXCJBXCI6IFtcIiMxZjM1NmJcIiwgXCIjZmZmZmZmXCIsIFwiI2JkMmMzN1wiXSxcclxuICAgIFwiQlwiOiBbXCIjZmZmOGQwXCIsIFwiIzAwMDAwMFwiLCBcIiNmZmI5M2JcIl1cclxufVxyXG5jYy5DbGFzcyh7XHJcbiAgICBleHRlbmRzOiByZXF1aXJlKCdCYXNlVUknKSxcclxuXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgICAgZHJhZ29uQm9uZTogZHJhZ29uQm9uZXMuQXJtYXR1cmVEaXNwbGF5LFxyXG4gICAgICAgIHNrZWxldG9uOiBzcC5Ta2VsZXRvblxyXG4gICAgfSxcclxuXHJcbiAgICBvbkxvYWQoKSB7XHJcbiAgICAgICAgdGhpcy5fc3VwZXIoKTtcclxuICAgICAgICB0aGlzLnNwckltYWdlID0gdGhpcy5ub2RlRGljdC5zcHJJbWFnZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICB0aGlzLmxhYlRleHQgPSB0aGlzLm5vZGVEaWN0LmxhYlRleHQuZ2V0Q29tcG9uZW50KGNjLlJpY2hUZXh0KTtcclxuICAgICAgICB0aGlzLmxhYlRleHRUaXRsZSA9IHRoaXMubm9kZURpY3QubGFiVGV4dFRpdGxlLmdldENvbXBvbmVudChjYy5SaWNoVGV4dCk7XHJcbiAgICB9LFxyXG5cclxuICAgIGluaXQoZGF0YSwgaXNDb3ZlciwgcGFnZUluZGV4KSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcclxuICAgICAgICAgICAgdGhpcy5kYXRhLnBhZ2VUeXBlID0gXCJzcGluZVwiXHJcbiAgICAgICAgICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZUluZGV4O1xyXG4gICAgICAgICAgICB0aGlzLmlzQ292ZXIgPSBpc0NvdmVyO1xyXG4gICAgICAgICAgICB0aGlzLmxhYlRleHQuc3RyaW5nID0gJyc7XHJcbiAgICAgICAgICAgIHRoaXMubGFiVGV4dFRpdGxlLnN0cmluZyA9ICcnO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5wYWdlRHJhZ29uQm9uZS5hbmltVHlwZSA9PSAnc3BpbmUnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRTcGluZUFuaW0oKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCcnKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWREcmFnb25Cb25lQW5pbSgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoJycpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9KTtcclxuICAgIH0sXHJcbiAgICBzdG9wU3BpbmUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2FuaVNwaW5lKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNrZWxldG9uID0gdGhpcy5za2VsZXRvbjtcclxuICAgICAgICAgICAgc2tlbGV0b24uY2xlYXJUcmFja3MoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuX2FuaURyYWdvbkJvbmUpIHtcclxuICAgICAgICAgICAgdGhpcy5fYW5pRHJhZ29uQm9uZS5zdG9wKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIHBsYXlTcGluZSgpIHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLnBhZ2VEcmFnb25Cb25lLmFuaW1UeXBlID09ICdzcGluZScpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNrZWxldG9uID0gdGhpcy5za2VsZXRvbjtcclxuICAgICAgICAgICAgICAgIHNrZWxldG9uLnNldFRvU2V0dXBQb3NlKCk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9hbmlTcGluZSA9IHNrZWxldG9uLnNldEFuaW1hdGlvbigwLCB0aGlzLmFuaW1hdGlvbk5hbWUsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICBza2VsZXRvbi5zZXRDb21wbGV0ZUxpc3RlbmVyKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYW5pU3BpbmUgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBHYW1lRGF0YS5pc1BsYXlpbmcgPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCcnKTtcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfSwgMSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hbmlEcmFnb25Cb25lID0gdGhpcy5kcmFnb25Cb25lLnBsYXlBbmltYXRpb24odGhpcy5hbmltYXRpb25OYW1lLCAxKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZHJhZ29uQm9uZS5vbihkcmFnb25Cb25lcy5FdmVudE9iamVjdC5DT01QTEVURSwgKGV2dCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2FuaURyYWdvbkJvbmUgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIEdhbWVEYXRhLmlzUGxheWluZyA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgnJyk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSxcclxuXHJcbiAgICBwbGF5QXVkaW8oKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5wYWdlQXVkaW8pIHtcclxuICAgICAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodGhpcy5kYXRhLnBhZ2VBdWRpbywgbnVsbCwgKGVyciwgY2xpcCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hdWRpb0lEID0gY2MuYXVkaW9FbmdpbmUucGxheShjbGlwLCBmYWxzZSwgMSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmF1ZGlvRHVyYXRpb24gPSBjYy5hdWRpb0VuZ2luZS5nZXREdXJhdGlvbih0aGlzLmF1ZGlvSUQpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgc3RvcEF1ZGlvKCkge1xyXG4gICAgICAgIGNjLmF1ZGlvRW5naW5lLnN0b3AodGhpcy5hdWRpb0lEKTtcclxuICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy5jaGVuZ2VUZXh0Q29sb3IpO1xyXG4gICAgICAgIEdhbWVEYXRhLmlzUGxheWluZyA9IDA7XHJcbiAgICB9LFxyXG4gICAgbG9hZEJnKCkge1xyXG4gICAgICAgIGxldCB1cmwgPSB0aGlzLmRhdGEucGFnZUltYWdlO1xyXG4gICAgICAgIGlmICghdXJsKSByZXR1cm47XHJcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodXJsLCAoZXJyb3IsIHRleHR1cmUpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcilcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNwckltYWdlLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICB0aGlzLnNldEJnU2NhbGUoKTtcclxuICAgICAgICB9KVxyXG4gICAgfSxcclxuXHJcbiAgICBsb2FkU3BpbmVBbmltKCkge1xyXG5cclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cclxuICAgICAgICAgICAgY29uc3QgdGV4ID0gdGhpcy5kYXRhLnBhZ2VEcmFnb25Cb25lLnRleFBuZ0RhdGEudXJsO1xyXG4gICAgICAgICAgICBjb25zdCBhdGxhcyA9IHRoaXMuZGF0YS5wYWdlRHJhZ29uQm9uZS50ZXhKc29uRGF0YS51cmw7XHJcbiAgICAgICAgICAgIGNvbnN0IHNrZSA9IHRoaXMuZGF0YS5wYWdlRHJhZ29uQm9uZS5za2VKc29uRGF0YS51cmw7XHJcblxyXG4gICAgICAgICAgICBsb2FkU3BpbmUodGhpcy5za2VsZXRvbiwgdGhpcy5kYXRhLnBhZ2VEcmFnb25Cb25lLnRleFBuZ0RhdGEubmFtZSwgeyB0ZXgsIGF0bGFzLCBza2UgfSkudGhlbigoeyB3aWR0aCwgaGVpZ2h0IH0pID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2tlbGV0b24ubm9kZS53aWR0aCA9IHdpZHRoO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5za2VsZXRvbi5ub2RlLmhlaWdodCA9IGhlaWdodDtcclxuXHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKCcnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uTmFtZSA9IHRoaXMuc2tlbGV0b24uYW5pbWF0aW9uTmFtZXNbMF07XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnd2lkdGg6ICcsIHRoaXMuc2tlbGV0b24ubm9kZS53aWR0aCk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnaGVpZ2h0fn5+OiAnLCB0aGlzLnNrZWxldG9uLm5vZGUuaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd0aGlzLnNrZWxldG9uLm5vZGU6ICcsIHRoaXMuc2tlbGV0b24ubm9kZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTcGluZVNjYWxlKHRoaXMuc2tlbGV0b24ubm9kZSwgdGhpcy5za2VsZXRvbi5ub2RlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9KTtcclxuXHJcbiAgICB9LFxyXG4gICAgbG9hZERyYWdvbkJvbmVBbmltKCkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIHZhciBpbWFnZVVybCA9IHRoaXMuZGF0YS5wYWdlRHJhZ29uQm9uZS50ZXhQbmdEYXRhLnVybDtcclxuICAgICAgICAgICAgdmFyIHNrZVVybCA9IHRoaXMuZGF0YS5wYWdlRHJhZ29uQm9uZS5za2VKc29uRGF0YS51cmw7XHJcbiAgICAgICAgICAgIHZhciBhdGxhc1VybCA9IHRoaXMuZGF0YS5wYWdlRHJhZ29uQm9uZS50ZXhKc29uRGF0YS51cmw7XHJcbiAgICAgICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkQW55KFt7IHVybDogYXRsYXNVcmwsIGV4dDogJy50eHQnIH0sIHsgdXJsOiBza2VVcmwsIGV4dDogJy50eHQnIH1dLCAoZXJyb3IsIGFzc2V0cykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGVycm9yKSByZXR1cm4gcmVzb2x2ZSgnJyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaW1hZ2VVcmwgPT0gJycpIGNvbnNvbGUubG9nKHRoaXMuZGF0YSlcclxuICAgICAgICAgICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKGltYWdlVXJsLCAoZXJyb3IsIHRleHR1cmUpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHJldHVybiByZXNvbHZlKCcnKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgYXRsYXMgPSBuZXcgZHJhZ29uQm9uZXMuRHJhZ29uQm9uZXNBdGxhc0Fzc2V0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYXRsYXMuX3V1aWQgPSBhdGxhc1VybDtcclxuICAgICAgICAgICAgICAgICAgICBhdGxhcy5hdGxhc0pzb24gPSBhc3NldHNbMF07XHJcbiAgICAgICAgICAgICAgICAgICAgYXRsYXMudGV4dHVyZSA9IHRleHR1cmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHZhciBhc3NldCA9IG5ldyBkcmFnb25Cb25lcy5EcmFnb25Cb25lc0Fzc2V0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYXNzZXQuX3V1aWQgPSBza2VVcmw7XHJcbiAgICAgICAgICAgICAgICAgICAgYXNzZXQuZHJhZ29uQm9uZXNKc29uID0gYXNzZXRzWzFdO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJhZ29uQm9uZS5kcmFnb25BdGxhc0Fzc2V0ID0gYXRsYXM7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcmFnb25Cb25lLmRyYWdvbkFzc2V0ID0gYXNzZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGEgPSBhc3NldC5fZHJhZ29uQm9uZXNKc29uRGF0YS5hcm1hdHVyZVswXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIWRhdGEpIHJldHVybiByZXNvbHZlKCcnKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyYWdvbkJvbmUuYXJtYXR1cmVOYW1lID0gZGF0YS5uYW1lO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uTmFtZSA9IGRhdGEuYW5pbWF0aW9uWzBdLm5hbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcmFnb25Cb25lLmFuaW1hdGlvbk5hbWUgPSB0aGlzLmFuaW1hdGlvbk5hbWU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuZHJhZ29uQm9uZS5wcmVtdWx0aXBsaWVkQWxwaGEgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGF0bGFzLnRleHR1cmUuc2V0UHJlbXVsdGlwbHlBbHBoYSh0cnVlKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2RhdGEuY2FudmFzOicsIGRhdGEuY2FudmFzKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTcGluZVNjYWxlKGRhdGEuY2FudmFzLCB0aGlzLmRyYWdvbkJvbmUubm9kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoJycpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgIH0sXHJcbiAgICAvLyDnvKnmlL5cclxuICAgIHNldEJnU2NhbGUoKSB7XHJcbiAgICAgICAgbGV0IGJnV2lkdGggPSAzODI7XHJcbiAgICAgICAgbGV0IGJnSGVpZ2h0ID0gNTQwO1xyXG4gICAgICAgIGlmICh0aGlzLm5vZGVEaWN0LnNwckltYWdlLndpZHRoICE9IGJnV2lkdGggfHwgdGhpcy5ub2RlRGljdC5zcHJJbWFnZS5oZWlnaHQgIT0gYmdIZWlnaHQpIHtcclxuICAgICAgICAgICAgbGV0IGRlc2lnblNjYWxlID0gYmdXaWR0aCAvIGJnSGVpZ2h0O1xyXG4gICAgICAgICAgICBsZXQgc2NhbGUgPSB0aGlzLm5vZGVEaWN0LnNwckltYWdlLndpZHRoIC8gdGhpcy5ub2RlRGljdC5zcHJJbWFnZS5oZWlnaHQ7XHJcbiAgICAgICAgICAgIGlmIChzY2FsZSA+IGRlc2lnblNjYWxlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGVEaWN0LnNwckltYWdlLnNjYWxlID0gYmdXaWR0aCAvIHRoaXMubm9kZURpY3Quc3BySW1hZ2Uud2lkdGg7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGVEaWN0LnNwckltYWdlLnNjYWxlID0gYmdIZWlnaHQgLyB0aGlzLm5vZGVEaWN0LnNwckltYWdlLmhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBzZXRTcGluZVNjYWxlKHNpemUsIG5vZGUpIHtcclxuICAgICAgICAvLyByZXR1cm47XHJcbiAgICAgICAgaWYgKCFzaXplKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGJnV2lkdGggPSA0ODI7XHJcbiAgICAgICAgbGV0IGJnSGVpZ2h0ID0gNDg5O1xyXG4gICAgICAgIGlmIChzaXplLndpZHRoICE9IGJnV2lkdGggfHwgc2l6ZS5oZWlnaHQgIT0gYmdIZWlnaHQpIHtcclxuICAgICAgICAgICAgbGV0IGRlc2lnblNjYWxlID0gYmdXaWR0aCAvIGJnSGVpZ2h0O1xyXG4gICAgICAgICAgICBsZXQgc2NhbGUgPSBzaXplLndpZHRoIC8gc2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgICAgIGlmIChzY2FsZSA+IGRlc2lnblNjYWxlKSB7XHJcbiAgICAgICAgICAgICAgICBub2RlLnNjYWxlID0gYmdXaWR0aCAvIHNpemUud2lkdGg7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBub2RlLnNjYWxlID0gYmdIZWlnaHQgLyBzaXplLmhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fSxcclxufSk7XHJcbiJdfQ==
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9PUDEzL3NjcmlwdC9JdGVtUGFnZS5qcyJdLCJuYW1lcyI6WyJyZXF1aXJlIiwibG9hZFNwaW5lIiwiY29sb3JNYXAiLCJjYyIsIkNsYXNzIiwicHJvcGVydGllcyIsImRyYWdvbkJvbmUiLCJkcmFnb25Cb25lcyIsIkFybWF0dXJlRGlzcGxheSIsInNrZWxldG9uIiwic3AiLCJTa2VsZXRvbiIsIm9uTG9hZCIsIl9zdXBlciIsInNwckltYWdlIiwibm9kZURpY3QiLCJnZXRDb21wb25lbnQiLCJTcHJpdGUiLCJsYWJUZXh0IiwiUmljaFRleHQiLCJsYWJUZXh0VGl0bGUiLCJpbml0IiwiZGF0YSIsImlzQ292ZXIiLCJwYWdlSW5kZXgiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInBhZ2VUeXBlIiwic3RyaW5nIiwicGFnZURyYWdvbkJvbmUiLCJhbmltVHlwZSIsImxvYWRTcGluZUFuaW0iLCJ0aGVuIiwibG9hZERyYWdvbkJvbmVBbmltIiwic3RvcFNwaW5lIiwiX2FuaVNwaW5lIiwiY2xlYXJUcmFja3MiLCJfYW5pRHJhZ29uQm9uZSIsInN0b3AiLCJwbGF5U3BpbmUiLCJzZXRUb1NldHVwUG9zZSIsInNldFRpbWVvdXQiLCJzZXRBbmltYXRpb24iLCJhbmltYXRpb25OYW1lIiwic2V0Q29tcGxldGVMaXN0ZW5lciIsIkdhbWVEYXRhIiwiaXNQbGF5aW5nIiwicGxheUFuaW1hdGlvbiIsIm9uIiwiRXZlbnRPYmplY3QiLCJDT01QTEVURSIsImV2dCIsInBsYXlBdWRpbyIsInBhZ2VBdWRpbyIsImFzc2V0TWFuYWdlciIsImxvYWRSZW1vdGUiLCJlcnIiLCJjbGlwIiwiYXVkaW9JRCIsImF1ZGlvRW5naW5lIiwicGxheSIsImF1ZGlvRHVyYXRpb24iLCJnZXREdXJhdGlvbiIsInN0b3BBdWRpbyIsInVuc2NoZWR1bGUiLCJjaGVuZ2VUZXh0Q29sb3IiLCJsb2FkQmciLCJ1cmwiLCJwYWdlSW1hZ2UiLCJlcnJvciIsInRleHR1cmUiLCJjb25zb2xlIiwibG9nIiwic3ByaXRlRnJhbWUiLCJTcHJpdGVGcmFtZSIsInNldEJnU2NhbGUiLCJ0ZXgiLCJ0ZXhQbmdEYXRhIiwiYXRsYXMiLCJ0ZXhKc29uRGF0YSIsInNrZSIsInNrZUpzb25EYXRhIiwibmFtZSIsIndpZHRoIiwiaGVpZ2h0Iiwibm9kZSIsImFuaW1hdGlvbk5hbWVzIiwic2V0U3BpbmVTY2FsZSIsImltYWdlVXJsIiwic2tlVXJsIiwiYXRsYXNVcmwiLCJsb2FkQW55IiwiZXh0IiwiYXNzZXRzIiwiRHJhZ29uQm9uZXNBdGxhc0Fzc2V0IiwiX3V1aWQiLCJhdGxhc0pzb24iLCJhc3NldCIsIkRyYWdvbkJvbmVzQXNzZXQiLCJkcmFnb25Cb25lc0pzb24iLCJkcmFnb25BdGxhc0Fzc2V0IiwiZHJhZ29uQXNzZXQiLCJfZHJhZ29uQm9uZXNKc29uRGF0YSIsImFybWF0dXJlIiwiYXJtYXR1cmVOYW1lIiwiYW5pbWF0aW9uIiwiY2FudmFzIiwiYmdXaWR0aCIsImJnSGVpZ2h0IiwiZGVzaWduU2NhbGUiLCJzY2FsZSIsInNpemUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O2VBQXNCQSxPQUFPLENBQUMsU0FBRDtJQUFyQkMscUJBQUFBOztBQUVSLElBQU1DLFFBQVEsR0FBRztBQUNiLE9BQUssQ0FBQyxTQUFELEVBQVksU0FBWixFQUF1QixTQUF2QixDQURRO0FBRWIsT0FBSyxDQUFDLFNBQUQsRUFBWSxTQUFaLEVBQXVCLFNBQXZCO0FBRlEsQ0FBakI7QUFJQUMsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDTCxhQUFTSixPQUFPLENBQUMsUUFBRCxDQURYO0FBR0xLLEVBQUFBLFVBQVUsRUFBRTtBQUNSQyxJQUFBQSxVQUFVLEVBQUVDLFdBQVcsQ0FBQ0MsZUFEaEI7QUFFUkMsSUFBQUEsUUFBUSxFQUFFQyxFQUFFLENBQUNDO0FBRkwsR0FIUDtBQVFMQyxFQUFBQSxNQVJLLG9CQVFJO0FBQ0wsU0FBS0MsTUFBTDs7QUFDQSxTQUFLQyxRQUFMLEdBQWdCLEtBQUtD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LFFBQUFBLElBQUksQ0FBQ3lCLEtBQUwsR0FBYUYsUUFBUSxHQUFHRyxJQUFJLENBQUMzQixNQUE3QjtBQUNIO0FBQ0o7QUFDSixHQXpMSSxDQTBMTDs7QUExTEssQ0FBVCIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgeyBsb2FkU3BpbmUgfSA9IHJlcXVpcmUoJy4vdXRpbHMnKTtcblxuY29uc3QgY29sb3JNYXAgPSB7XG4gICAgXCJBXCI6IFtcIiMxZjM1NmJcIiwgXCIjZmZmZmZmXCIsIFwiI2JkMmMzN1wiXSxcbiAgICBcIkJcIjogW1wiI2ZmZjhkMFwiLCBcIiMwMDAwMDBcIiwgXCIjZmZiOTNiXCJdXG59XG5jYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogcmVxdWlyZSgnQmFzZVVJJyksXG5cbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIGRyYWdvbkJvbmU6IGRyYWdvbkJvbmVzLkFybWF0dXJlRGlzcGxheSxcbiAgICAgICAgc2tlbGV0b246IHNwLlNrZWxldG9uXG4gICAgfSxcblxuICAgIG9uTG9hZCgpIHtcbiAgICAgICAgdGhpcy5fc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zcHJJbWFnZSA9IHRoaXMubm9kZURpY3Quc3BySW1hZ2UuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSk7XG4gICAgICAgIHRoaXMubGFiVGV4dCA9IHRoaXMubm9kZURpY3QubGFiVGV4dC5nZXRDb21wb25lbnQoY2MuUmljaFRleHQpO1xuICAgICAgICB0aGlzLmxhYlRleHRUaXRsZSA9IHRoaXMubm9kZURpY3QubGFiVGV4dFRpdGxlLmdldENvbXBvbmVudChjYy5SaWNoVGV4dCk7XG4gICAgfSxcblxuICAgIGluaXQoZGF0YSwgaXNDb3ZlciwgcGFnZUluZGV4KSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgICAgICAgdGhpcy5kYXRhLnBhZ2VUeXBlID0gXCJzcGluZVwiXG4gICAgICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IHBhZ2VJbmRleDtcbiAgICAgICAgICAgIHRoaXMuaXNDb3ZlciA9IGlzQ292ZXI7XG4gICAgICAgICAgICB0aGlzLmxhYlRleHQuc3RyaW5nID0gJyc7XG4gICAgICAgICAgICB0aGlzLmxhYlRleHRUaXRsZS5zdHJpbmcgPSAnJztcblxuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5wYWdlRHJhZ29uQm9uZS5hbmltVHlwZSA9PSAnc3BpbmUnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkU3BpbmVBbmltKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoJycpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZERyYWdvbkJvbmVBbmltKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoJycpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfSk7XG4gICAgfSxcbiAgICBzdG9wU3BpbmUoKSB7XG4gICAgICAgIGlmICh0aGlzLl9hbmlTcGluZSkge1xuICAgICAgICAgICAgY29uc3Qgc2tlbGV0b24gPSB0aGlzLnNrZWxldG9uO1xuICAgICAgICAgICAgc2tlbGV0b24uY2xlYXJUcmFja3MoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fYW5pRHJhZ29uQm9uZSkge1xuICAgICAgICAgICAgdGhpcy5fYW5pRHJhZ29uQm9uZS5zdG9wKCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHBsYXlTcGluZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGEucGFnZURyYWdvbkJvbmUuYW5pbVR5cGUgPT0gJ3NwaW5lJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNrZWxldG9uID0gdGhpcy5za2VsZXRvbjtcbiAgICAgICAgICAgICAgICBza2VsZXRvbi5zZXRUb1NldHVwUG9zZSgpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9hbmlTcGluZSA9IHNrZWxldG9uLnNldEFuaW1hdGlvbigwLCB0aGlzLmFuaW1hdGlvbk5hbWUsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgc2tlbGV0b24uc2V0Q29tcGxldGVMaXN0ZW5lcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hbmlTcGluZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICBHYW1lRGF0YS5pc1BsYXlpbmcgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgnJyk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2FuaURyYWdvbkJvbmUgPSB0aGlzLmRyYWdvbkJvbmUucGxheUFuaW1hdGlvbih0aGlzLmFuaW1hdGlvbk5hbWUsIDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuZHJhZ29uQm9uZS5vbihkcmFnb25Cb25lcy5FdmVudE9iamVjdC5DT01QTEVURSwgKGV2dCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9hbmlEcmFnb25Cb25lID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgR2FtZURhdGEuaXNQbGF5aW5nID0gMDtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgnJyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0sXG5cbiAgICBwbGF5QXVkaW8oKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGEucGFnZUF1ZGlvKSB7XG4gICAgICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh0aGlzLmRhdGEucGFnZUF1ZGlvLCBudWxsLCAoZXJyLCBjbGlwKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hdWRpb0lEID0gY2MuYXVkaW9FbmdpbmUucGxheShjbGlwLCBmYWxzZSwgMSk7XG4gICAgICAgICAgICAgICAgdGhpcy5hdWRpb0R1cmF0aW9uID0gY2MuYXVkaW9FbmdpbmUuZ2V0RHVyYXRpb24odGhpcy5hdWRpb0lEKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBzdG9wQXVkaW8oKSB7XG4gICAgICAgIGNjLmF1ZGlvRW5naW5lLnN0b3AodGhpcy5hdWRpb0lEKTtcbiAgICAgICAgdGhpcy51bnNjaGVkdWxlKHRoaXMuY2hlbmdlVGV4dENvbG9yKTtcbiAgICAgICAgR2FtZURhdGEuaXNQbGF5aW5nID0gMDtcbiAgICB9LFxuICAgIGxvYWRCZygpIHtcbiAgICAgICAgbGV0IHVybCA9IHRoaXMuZGF0YS5wYWdlSW1hZ2U7XG4gICAgICAgIGlmICghdXJsKSByZXR1cm47XG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHVybCwgKGVycm9yLCB0ZXh0dXJlKSA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc3BySW1hZ2Uuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XG4gICAgICAgICAgICB0aGlzLnNldEJnU2NhbGUoKTtcbiAgICAgICAgfSlcbiAgICB9LFxuXG4gICAgbG9hZFNwaW5lQW5pbSgpIHtcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXG4gICAgICAgICAgICBjb25zdCB0ZXggPSB0aGlzLmRhdGEucGFnZURyYWdvbkJvbmUudGV4UG5nRGF0YS51cmw7XG4gICAgICAgICAgICBjb25zdCBhdGxhcyA9IHRoaXMuZGF0YS5wYWdlRHJhZ29uQm9uZS50ZXhKc29uRGF0YS51cmw7XG4gICAgICAgICAgICBjb25zdCBza2UgPSB0aGlzLmRhdGEucGFnZURyYWdvbkJvbmUuc2tlSnNvbkRhdGEudXJsO1xuXG4gICAgICAgICAgICBsb2FkU3BpbmUodGhpcy5za2VsZXRvbiwgdGhpcy5kYXRhLnBhZ2VEcmFnb25Cb25lLnRleFBuZ0RhdGEubmFtZSwgeyB0ZXgsIGF0bGFzLCBza2UgfSkudGhlbigoeyB3aWR0aCwgaGVpZ2h0IH0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNrZWxldG9uLm5vZGUud2lkdGggPSB3aWR0aDtcbiAgICAgICAgICAgICAgICB0aGlzLnNrZWxldG9uLm5vZGUuaGVpZ2h0ID0gaGVpZ2h0O1xuXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgnJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5hbmltYXRpb25OYW1lID0gdGhpcy5za2VsZXRvbi5hbmltYXRpb25OYW1lc1swXTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnd2lkdGg6ICcsIHRoaXMuc2tlbGV0b24ubm9kZS53aWR0aCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2hlaWdodH5+fjogJywgdGhpcy5za2VsZXRvbi5ub2RlLmhlaWdodCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3RoaXMuc2tlbGV0b24ubm9kZTogJywgdGhpcy5za2VsZXRvbi5ub2RlKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3BpbmVTY2FsZSh0aGlzLnNrZWxldG9uLm5vZGUsIHRoaXMuc2tlbGV0b24ubm9kZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9KTtcblxuICAgIH0sXG4gICAgbG9hZERyYWdvbkJvbmVBbmltKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdmFyIGltYWdlVXJsID0gdGhpcy5kYXRhLnBhZ2VEcmFnb25Cb25lLnRleFBuZ0RhdGEudXJsO1xuICAgICAgICAgICAgdmFyIHNrZVVybCA9IHRoaXMuZGF0YS5wYWdlRHJhZ29uQm9uZS5za2VKc29uRGF0YS51cmw7XG4gICAgICAgICAgICB2YXIgYXRsYXNVcmwgPSB0aGlzLmRhdGEucGFnZURyYWdvbkJvbmUudGV4SnNvbkRhdGEudXJsO1xuICAgICAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRBbnkoW3sgdXJsOiBhdGxhc1VybCwgZXh0OiAnLnR4dCcgfSwgeyB1cmw6IHNrZVVybCwgZXh0OiAnLnR4dCcgfV0sIChlcnJvciwgYXNzZXRzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yKSByZXR1cm4gcmVzb2x2ZSgnJyk7XG4gICAgICAgICAgICAgICAgaWYgKGltYWdlVXJsID09ICcnKSBjb25zb2xlLmxvZyh0aGlzLmRhdGEpXG4gICAgICAgICAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUoaW1hZ2VVcmwsIChlcnJvciwgdGV4dHVyZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHJldHVybiByZXNvbHZlKCcnKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGF0bGFzID0gbmV3IGRyYWdvbkJvbmVzLkRyYWdvbkJvbmVzQXRsYXNBc3NldCgpO1xuICAgICAgICAgICAgICAgICAgICBhdGxhcy5fdXVpZCA9IGF0bGFzVXJsO1xuICAgICAgICAgICAgICAgICAgICBhdGxhcy5hdGxhc0pzb24gPSBhc3NldHNbMF07XG4gICAgICAgICAgICAgICAgICAgIGF0bGFzLnRleHR1cmUgPSB0ZXh0dXJlO1xuXG4gICAgICAgICAgICAgICAgICAgIHZhciBhc3NldCA9IG5ldyBkcmFnb25Cb25lcy5EcmFnb25Cb25lc0Fzc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIGFzc2V0Ll91dWlkID0gc2tlVXJsO1xuICAgICAgICAgICAgICAgICAgICBhc3NldC5kcmFnb25Cb25lc0pzb24gPSBhc3NldHNbMV07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJhZ29uQm9uZS5kcmFnb25BdGxhc0Fzc2V0ID0gYXRsYXM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJhZ29uQm9uZS5kcmFnb25Bc3NldCA9IGFzc2V0O1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IGFzc2V0Ll9kcmFnb25Cb25lc0pzb25EYXRhLmFybWF0dXJlWzBdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWRhdGEpIHJldHVybiByZXNvbHZlKCcnKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcmFnb25Cb25lLmFybWF0dXJlTmFtZSA9IGRhdGEubmFtZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbmltYXRpb25OYW1lID0gZGF0YS5hbmltYXRpb25bMF0ubmFtZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcmFnb25Cb25lLmFuaW1hdGlvbk5hbWUgPSB0aGlzLmFuaW1hdGlvbk5hbWU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5kcmFnb25Cb25lLnByZW11bHRpcGxpZWRBbHBoYSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIC8vIGF0bGFzLnRleHR1cmUuc2V0UHJlbXVsdGlwbHlBbHBoYSh0cnVlKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZGF0YS5jYW52YXM6JywgZGF0YS5jYW52YXMpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3BpbmVTY2FsZShkYXRhLmNhbnZhcywgdGhpcy5kcmFnb25Cb25lLm5vZGUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSgnJyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICB9LFxuICAgIC8vIOe8qeaUvlxuICAgIHNldEJnU2NhbGUoKSB7XG4gICAgICAgIGxldCBiZ1dpZHRoID0gMzgyO1xuICAgICAgICBsZXQgYmdIZWlnaHQgPSA1NDA7XG4gICAgICAgIGlmICh0aGlzLm5vZGVEaWN0LnNwckltYWdlLndpZHRoICE9IGJnV2lkdGggfHwgdGhpcy5ub2RlRGljdC5zcHJJbWFnZS5oZWlnaHQgIT0gYmdIZWlnaHQpIHtcbiAgICAgICAgICAgIGxldCBkZXNpZ25TY2FsZSA9IGJnV2lkdGggLyBiZ0hlaWdodDtcbiAgICAgICAgICAgIGxldCBzY2FsZSA9IHRoaXMubm9kZURpY3Quc3BySW1hZ2Uud2lkdGggLyB0aGlzLm5vZGVEaWN0LnNwckltYWdlLmhlaWdodDtcbiAgICAgICAgICAgIGlmIChzY2FsZSA+IGRlc2lnblNjYWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlRGljdC5zcHJJbWFnZS5zY2FsZSA9IGJnV2lkdGggLyB0aGlzLm5vZGVEaWN0LnNwckltYWdlLndpZHRoO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGVEaWN0LnNwckltYWdlLnNjYWxlID0gYmdIZWlnaHQgLyB0aGlzLm5vZGVEaWN0LnNwckltYWdlLmhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgc2V0U3BpbmVTY2FsZShzaXplLCBub2RlKSB7XG4gICAgICAgIC8vIHJldHVybjtcbiAgICAgICAgaWYgKCFzaXplKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGJnV2lkdGggPSA0ODI7XG4gICAgICAgIGxldCBiZ0hlaWdodCA9IDQ4OTtcbiAgICAgICAgaWYgKHNpemUud2lkdGggIT0gYmdXaWR0aCB8fCBzaXplLmhlaWdodCAhPSBiZ0hlaWdodCkge1xuICAgICAgICAgICAgbGV0IGRlc2lnblNjYWxlID0gYmdXaWR0aCAvIGJnSGVpZ2h0O1xuICAgICAgICAgICAgbGV0IHNjYWxlID0gc2l6ZS53aWR0aCAvIHNpemUuaGVpZ2h0O1xuICAgICAgICAgICAgaWYgKHNjYWxlID4gZGVzaWduU2NhbGUpIHtcbiAgICAgICAgICAgICAgICBub2RlLnNjYWxlID0gYmdXaWR0aCAvIHNpemUud2lkdGg7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5vZGUuc2NhbGUgPSBiZ0hlaWdodCAvIHNpemUuaGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICAvLyB1cGRhdGUgKGR0KSB7fSxcbn0pO1xuIl19
\ No newline at end of file
......@@ -110,4 +110,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcT1AxM1xcc2NyaXB0XFxOb2RlRml0U2NyZWVuLmpzIl0sIm5hbWVzIjpbIkZpdFR5cGUiLCJTY2FsZSIsIkZ1bGxTY3JlZW4iLCJGaXRNb2RlIiwiRnVsbEhlaWdodCIsIkZ1bGxXaWR0aCIsImRlc2lnblNpemUiLCJjYyIsInNpemUiLCJDbGFzcyIsIkNvbXBvbmVudCIsInByb3BlcnRpZXMiLCJ0eXBlIiwiRW51bSIsIm9uTG9hZCIsInZpZXciLCJvbiIsInJlZnJlc2hGaXQiLCJvbkRlc3Ryb3kiLCJvZmYiLCJ3aW5TaXplIiwiZ2V0VmlzaWJsZVNpemUiLCJjb25zb2xlIiwibG9nIiwibm9kZSIsIndpZHRoIiwiaGVpZ2h0Iiwic2NhbGUxIiwic2NhbGUyIiwic2NhbGUiLCJ2aXNpYmxlc2l6ZSIsIndzaXplIiwiZ2V0RnJhbWVTaXplIiwic2NhbGVXIiwic2NhbGVIIiwicENhbnZhcyIsImdldENvbXBvbmVudCIsIkNhbnZhcyIsImZpdEhlaWdodCIsImZpdFdpZHRoIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsSUFBTUEsT0FBTyxHQUFHO0FBQ1pDLEVBQUFBLEtBQUssRUFBRSxDQURLO0FBQ0g7QUFDVEMsRUFBQUEsVUFBVSxFQUFFLENBRkE7QUFFRTtBQUNkQyxFQUFBQSxPQUFPLEVBQUUsQ0FIRztBQUdEO0FBQ1hDLEVBQUFBLFVBQVUsRUFBRSxDQUpBO0FBS1pDLEVBQUFBLFNBQVMsRUFBRTtBQUxDLENBQWhCO0FBT0EsSUFBTUMsVUFBVSxHQUFHQyxFQUFFLENBQUNDLElBQUgsQ0FBUSxJQUFSLEVBQWMsR0FBZCxDQUFuQjtBQUNBRCxFQUFFLENBQUNFLEtBQUgsQ0FBUztBQUNMLGFBQVNGLEVBQUUsQ0FBQ0csU0FEUDtBQUdMQyxFQUFBQSxVQUFVLEVBQUU7QUFDUlgsSUFBQUEsT0FBTyxFQUFFO0FBQ0xZLE1BQUFBLElBQUksRUFBRUwsRUFBRSxDQUFDTSxJQUFILENBQVFiLE9BQVIsQ0FE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LEtBTE0sTUFLQTtBQUNILFVBQUlLLEtBQUssR0FBR3hCLEVBQUUsQ0FBQ1EsSUFBSCxDQUFRaUIsWUFBUixFQUFaO0FBQ0EsVUFBSUMsTUFBTSxHQUFHRixLQUFLLENBQUNOLEtBQU4sR0FBY25CLFVBQVUsQ0FBQ21CLEtBQXRDO0FBQ0EsVUFBSVMsTUFBTSxHQUFHSCxLQUFLLENBQUNMLE1BQU4sR0FBZXBCLFVBQVUsQ0FBQ29CLE1BQXZDO0FBRUEsVUFBSVMsT0FBTyxHQUFHLEtBQUtYLElBQUwsQ0FBVVksWUFBVixDQUF1QjdCLEVBQUUsQ0FBQzhCLE1BQTFCLENBQWQ7O0FBQ0EsVUFBSUYsT0FBSixFQUFhO0FBQ1QsWUFBSUYsTUFBTSxHQUFHQyxNQUFiLEVBQXFCO0FBQUU7QUFDbkJDLFVBQUFBLE9BQU8sQ0FBQ0csU0FBUixHQUFvQixJQUFwQjtBQUNBSCxVQUFBQSxPQUFPLENBQUNJLFFBQVIsR0FBbUIsS0FBbkI7QUFDSCxTQUhELE1BR087QUFBRTtBQUNMSixVQUFBQSxPQUFPLENBQUNHLFNBQVIsR0FBb0IsS0FBcEI7QUFDQUgsVUFBQUEsT0FBTyxDQUFDSSxRQUFSLEdBQW1CLElBQW5CO0FBQ0g7QUFDSixPQVJELE1BUU87QUFDSGpCLFFBQUFBLE9BQU8sQ0FBQ2tCLEtBQVIsQ0FBYyx3QkFBZDtBQUNIO0FBQ0o7QUFDSjtBQWpFSSxDQUFUIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3QgRml0VHlwZSA9IHtcclxuICAgIFNjYWxlOiAwLC8v562J5q+U57yp5pS+77yM5LiA6Iis55So5LqO6IOM5pmv5Zu+XHJcbiAgICBGdWxsU2NyZWVuOiAxLC8v6ZO65ruh5YWo5bGP77yM5ouJ5Ly4XHJcbiAgICBGaXRNb2RlOiAyLC8v5pu05pS5Y2FudmFz6YCC6YWN562W55Wl77yM5Y+q6IO95oyC5ZyoY2FudmFz5LiKXHJcbiAgICBGdWxsSGVpZ2h0OiAzLFxyXG4gICAgRnVsbFdpZHRoOiA0LFxyXG59O1xyXG5jb25zdCBkZXNpZ25TaXplID0gY2Muc2l6ZSgxMjgwLCA3MjApO1xyXG5jYy5DbGFzcyh7XHJcbiAgICBleHRlbmRzOiBjYy5Db21wb25lbnQsXHJcblxyXG4gICAgcHJvcGVydGllczoge1xyXG4gICAgICAgIEZpdFR5cGU6IHtcclxuICAgICAgICAgICAgdHlwZTogY2MuRW51bShGaXRUeXBlKSxcclxuICAgICAgICAgICAgZGVmYXVsdDogMFxyXG4gICAgICAgIH0sXHJcbiAgICB9LFxyXG5cclxuICAgIG9uTG9hZDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGNjLnZpZXcub24oJ2NhbnZhcy1yZXNpemUnLCB0aGlzLnJlZnJlc2hGaXQsIHRoaXMpXHJcbiAgICAgICAgdGhpcy5yZWZyZXNoRml0KCk7XHJcbiAgICB9LFxyXG4gICAgb25EZXN0cm95KCl7XHJcbiAgICAgICAgY2Mudmlldy5vZmYoJ2NhbnZhcy1yZXNpemUnLCB0aGlzLnJlZnJlc2hGaXQsIHRoaXMpXHJcbiAgICB9LFxyXG5cclxuICAgIHJlZnJlc2hGaXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuRml0VHlwZSA9PSBGaXRUeXBlLlNjYWxlKSB7XHJcbiAgICAgICAgICAgIGxldCB3aW5TaXplID0gY2Mudmlldy5nZXRWaXNpYmxlU2l6ZSgpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyh3aW5TaXplKVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLm5vZGUud2lkdGgsdGhpcy5ub2RlLmhlaWdodClcclxuICAgICAgICAgICAgaWYodGhpcy5ub2RlLndpZHRoID49IHdpblNpemUud2lkdGggJiYgdGhpcy5ub2RlLmhlaWdodCA+PSB3aW5TaXplLmhlaWdodCApe1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBzY2FsZTEgPSB3aW5TaXplLndpZHRoIC8gdGhpcy5ub2RlLndpZHRoO1xyXG4gICAgICAgICAgICBsZXQgc2NhbGUyID0gd2luU2l6ZS5oZWlnaHQgLyB0aGlzLm5vZGUuaGVpZ2h0O1xyXG4gICAgICAgICAgICBpZiAoc2NhbGUxID4gc2NhbGUyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuc2NhbGUgPSBzY2FsZTE7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuc2NhbGUgPSBzY2FsZTI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuRml0VHlwZSA9PSBGaXRUeXBlLkZ1bGxTY3JlZW4pIHtcclxuICAgICAgICAgICAgbGV0IHZpc2libGVzaXplID0gY2Mudmlldy5nZXRWaXNpYmxlU2l6ZSgpO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUud2lkdGggPSB2aXNpYmxlc2l6ZS53aWR0aDtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmhlaWdodCA9IHZpc2libGVzaXplLmhlaWdodDtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuRml0VHlwZSA9PSBGaXRUeXBlLkZ1bGxIZWlnaHQpIHtcclxuICAgICAgICAgICAgbGV0IHZpc2libGVzaXplID0gY2Mudmlldy5nZXRWaXNpYmxlU2l6ZSgpO1xyXG4gICAgICAgICAgICBsZXQgc2NhbGUgPSB2aXNpYmxlc2l6ZS53aWR0aCAvIHRoaXMubm9kZS53aWR0aDtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLndpZHRoID0gc2NhbGUgKiB0aGlzLm5vZGUud2lkdGg7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5oZWlnaHQgPSBzY2FsZSAqIHRoaXMubm9kZS5oZWlnaHQ7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLkZpdFR5cGUgPT0gRml0VHlwZS5GdWxsV2lkdGgpIHtcclxuICAgICAgICAgICAgbGV0IHZpc2libGVzaXplID0gY2Mudmlldy5nZXRWaXNpYmxlU2l6ZSgpO1xyXG4gICAgICAgICAgICBsZXQgc2NhbGUgPSB2aXNpYmxlc2l6ZS5oZWlnaHQgLyB0aGlzLm5vZGUuaGVpZ2h0O1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUud2lkdGggPSBzY2FsZSAqIHRoaXMubm9kZS53aWR0aDtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmhlaWdodCA9IHNjYWxlICogdGhpcy5ub2RlLmhlaWdodDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgd3NpemUgPSBjYy52aWV3LmdldEZyYW1lU2l6ZSgpO1xyXG4gICAgICAgICAgICBsZXQgc2NhbGVXID0gd3NpemUud2lkdGggLyBkZXNpZ25TaXplLndpZHRoO1xyXG4gICAgICAgICAgICBsZXQgc2NhbGVIID0gd3NpemUuaGVpZ2h0IC8gZGVzaWduU2l6ZS5oZWlnaHQ7XHJcblxyXG4gICAgICAgICAgICBsZXQgcENhbnZhcyA9IHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuQ2FudmFzKTtcclxuICAgICAgICAgICAgaWYgKHBDYW52YXMpIHtcclxuICAgICAgICAgICAgICAgIGlmIChzY2FsZVcgPiBzY2FsZUgpIHsgLy/mm7Tlrr3kuobopoFmaXRIZWlnaHQsIOWQpuWImWhlaWdodOWwseeVmem7kei+ueS6hjtcclxuICAgICAgICAgICAgICAgICAgICBwQ2FudmFzLmZpdEhlaWdodCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgcENhbnZhcy5maXRXaWR0aCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHsgLy/mm7Tpq5g7XHJcbiAgICAgICAgICAgICAgICAgICAgcENhbnZhcy5maXRIZWlnaHQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBwQ2FudmFzLmZpdFdpZHRoID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJmaXRtb2Rl5qih5byP5Y+q6IO955So5ZyoY2FudmFz6IqC54K55LiKXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxufSk7XHJcbiJdfQ==
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9PUDEzL3NjcmlwdC9Ob2RlRml0U2NyZWVuLmpzIl0sIm5hbWVzIjpbIkZpdFR5cGUiLCJTY2FsZSIsIkZ1bGxTY3JlZW4iLCJGaXRNb2RlIiwiRnVsbEhlaWdodCIsIkZ1bGxXaWR0aCIsImRlc2lnblNpemUiLCJjYyIsInNpemUiLCJDbGFzcyIsIkNvbXBvbmVudCIsInByb3BlcnRpZXMiLCJ0eXBlIiwiRW51bSIsIm9uTG9hZCIsInZpZXciLCJvbiIsInJlZnJlc2hGaXQiLCJvbkRlc3Ryb3kiLCJvZmYiLCJ3aW5TaXplIiwiZ2V0VmlzaWJsZVNpemUiLCJjb25zb2xlIiwibG9nIiwibm9kZSIsIndpZHRoIiwiaGVpZ2h0Iiwic2NhbGUxIiwic2NhbGUyIiwic2NhbGUiLCJ2aXNpYmxlc2l6ZSIsIndzaXplIiwiZ2V0RnJhbWVTaXplIiwic2NhbGVXIiwic2NhbGVIIiwicENhbnZhcyIsImdldENvbXBvbmVudCIsIkNhbnZhcyIsImZpdEhlaWdodCIsImZpdFdpZHRoIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsSUFBTUEsT0FBTyxHQUFHO0FBQ1pDLEVBQUFBLEtBQUssRUFBRSxDQURLO0FBQ0g7QUFDVEMsRUFBQUEsVUFBVSxFQUFFLENBRkE7QUFFRTtBQUNkQyxFQUFBQSxPQUFPLEVBQUUsQ0FIRztBQUdEO0FBQ1hDLEVBQUFBLFVBQVUsRUFBRSxDQUpBO0FBS1pDLEVBQUFBLFNBQVMsRUFBRTtBQUxDLENBQWhCO0FBT0EsSUFBTUMsVUFBVSxHQUFHQyxFQUFFLENBQUNDLElBQUgsQ0FBUSxJQUFSLEVBQWMsR0FBZCxDQUFuQjtBQUNBRCxFQUFFLENBQUNFLEtBQUgsQ0FBUztBQUNMLGFBQVNGLEVBQUUsQ0FBQ0csU0FEUDtBQUdMQyxFQUFBQSxVQUFVLEVBQUU7QUFDUlgsSUFBQUEsT0FBTyxFQUFFO0FBQ0xZLE1BQUFBLElBQUksRUFBRUwsRUFBRSxDQUFDTSxJQUFILENBQVFiLE9BQVIsQ0FERDtB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TE0sTUFLQTtBQUNILFVBQUlLLEtBQUssR0FBR3hCLEVBQUUsQ0FBQ1EsSUFBSCxDQUFRaUIsWUFBUixFQUFaO0FBQ0EsVUFBSUMsTUFBTSxHQUFHRixLQUFLLENBQUNOLEtBQU4sR0FBY25CLFVBQVUsQ0FBQ21CLEtBQXRDO0FBQ0EsVUFBSVMsTUFBTSxHQUFHSCxLQUFLLENBQUNMLE1BQU4sR0FBZXBCLFVBQVUsQ0FBQ29CLE1BQXZDO0FBRUEsVUFBSVMsT0FBTyxHQUFHLEtBQUtYLElBQUwsQ0FBVVksWUFBVixDQUF1QjdCLEVBQUUsQ0FBQzhCLE1BQTFCLENBQWQ7O0FBQ0EsVUFBSUYsT0FBSixFQUFhO0FBQ1QsWUFBSUYsTUFBTSxHQUFHQyxNQUFiLEVBQXFCO0FBQUU7QUFDbkJDLFVBQUFBLE9BQU8sQ0FBQ0csU0FBUixHQUFvQixJQUFwQjtBQUNBSCxVQUFBQSxPQUFPLENBQUNJLFFBQVIsR0FBbUIsS0FBbkI7QUFDSCxTQUhELE1BR087QUFBRTtBQUNMSixVQUFBQSxPQUFPLENBQUNHLFNBQVIsR0FBb0IsS0FBcEI7QUFDQUgsVUFBQUEsT0FBTyxDQUFDSSxRQUFSLEdBQW1CLElBQW5CO0FBQ0g7QUFDSixPQVJELE1BUU87QUFDSGpCLFFBQUFBLE9BQU8sQ0FBQ2tCLEtBQVIsQ0FBYyx3QkFBZDtBQUNIO0FBQ0o7QUFDSjtBQWpFSSxDQUFUIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcbmNvbnN0IEZpdFR5cGUgPSB7XG4gICAgU2NhbGU6IDAsLy/nrYnmr5TnvKnmlL7vvIzkuIDoiKznlKjkuo7og4zmma/lm75cbiAgICBGdWxsU2NyZWVuOiAxLC8v6ZO65ruh5YWo5bGP77yM5ouJ5Ly4XG4gICAgRml0TW9kZTogMiwvL+abtOaUuWNhbnZhc+mAgumFjeetlueVpe+8jOWPquiDveaMguWcqGNhbnZhc+S4ilxuICAgIEZ1bGxIZWlnaHQ6IDMsXG4gICAgRnVsbFdpZHRoOiA0LFxufTtcbmNvbnN0IGRlc2lnblNpemUgPSBjYy5zaXplKDEyODAsIDcyMCk7XG5jYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogY2MuQ29tcG9uZW50LFxuXG4gICAgcHJvcGVydGllczoge1xuICAgICAgICBGaXRUeXBlOiB7XG4gICAgICAgICAgICB0eXBlOiBjYy5FbnVtKEZpdFR5cGUpLFxuICAgICAgICAgICAgZGVmYXVsdDogMFxuICAgICAgICB9LFxuICAgIH0sXG5cbiAgICBvbkxvYWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY2Mudmlldy5vbignY2FudmFzLXJlc2l6ZScsIHRoaXMucmVmcmVzaEZpdCwgdGhpcylcbiAgICAgICAgdGhpcy5yZWZyZXNoRml0KCk7XG4gICAgfSxcbiAgICBvbkRlc3Ryb3koKXtcbiAgICAgICAgY2Mudmlldy5vZmYoJ2NhbnZhcy1yZXNpemUnLCB0aGlzLnJlZnJlc2hGaXQsIHRoaXMpXG4gICAgfSxcblxuICAgIHJlZnJlc2hGaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLkZpdFR5cGUgPT0gRml0VHlwZS5TY2FsZSkge1xuICAgICAgICAgICAgbGV0IHdpblNpemUgPSBjYy52aWV3LmdldFZpc2libGVTaXplKCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyh3aW5TaXplKVxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5ub2RlLndpZHRoLHRoaXMubm9kZS5oZWlnaHQpXG4gICAgICAgICAgICBpZih0aGlzLm5vZGUud2lkdGggPj0gd2luU2l6ZS53aWR0aCAmJiB0aGlzLm5vZGUuaGVpZ2h0ID49IHdpblNpemUuaGVpZ2h0ICl7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IHNjYWxlMSA9IHdpblNpemUud2lkdGggLyB0aGlzLm5vZGUud2lkdGg7XG4gICAgICAgICAgICBsZXQgc2NhbGUyID0gd2luU2l6ZS5oZWlnaHQgLyB0aGlzLm5vZGUuaGVpZ2h0O1xuICAgICAgICAgICAgaWYgKHNjYWxlMSA+IHNjYWxlMikge1xuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5zY2FsZSA9IHNjYWxlMTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlLnNjYWxlID0gc2NhbGUyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuRml0VHlwZSA9PSBGaXRUeXBlLkZ1bGxTY3JlZW4pIHtcbiAgICAgICAgICAgIGxldCB2aXNpYmxlc2l6ZSA9IGNjLnZpZXcuZ2V0VmlzaWJsZVNpemUoKTtcbiAgICAgICAgICAgIHRoaXMubm9kZS53aWR0aCA9IHZpc2libGVzaXplLndpZHRoO1xuICAgICAgICAgICAgdGhpcy5ub2RlLmhlaWdodCA9IHZpc2libGVzaXplLmhlaWdodDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLkZpdFR5cGUgPT0gRml0VHlwZS5GdWxsSGVpZ2h0KSB7XG4gICAgICAgICAgICBsZXQgdmlzaWJsZXNpemUgPSBjYy52aWV3LmdldFZpc2libGVTaXplKCk7XG4gICAgICAgICAgICBsZXQgc2NhbGUgPSB2aXNpYmxlc2l6ZS53aWR0aCAvIHRoaXMubm9kZS53aWR0aDtcbiAgICAgICAgICAgIHRoaXMubm9kZS53aWR0aCA9IHNjYWxlICogdGhpcy5ub2RlLndpZHRoO1xuICAgICAgICAgICAgdGhpcy5ub2RlLmhlaWdodCA9IHNjYWxlICogdGhpcy5ub2RlLmhlaWdodDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLkZpdFR5cGUgPT0gRml0VHlwZS5GdWxsV2lkdGgpIHtcbiAgICAgICAgICAgIGxldCB2aXNpYmxlc2l6ZSA9IGNjLnZpZXcuZ2V0VmlzaWJsZVNpemUoKTtcbiAgICAgICAgICAgIGxldCBzY2FsZSA9IHZpc2libGVzaXplLmhlaWdodCAvIHRoaXMubm9kZS5oZWlnaHQ7XG4gICAgICAgICAgICB0aGlzLm5vZGUud2lkdGggPSBzY2FsZSAqIHRoaXMubm9kZS53aWR0aDtcbiAgICAgICAgICAgIHRoaXMubm9kZS5oZWlnaHQgPSBzY2FsZSAqIHRoaXMubm9kZS5oZWlnaHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZXQgd3NpemUgPSBjYy52aWV3LmdldEZyYW1lU2l6ZSgpO1xuICAgICAgICAgICAgbGV0IHNjYWxlVyA9IHdzaXplLndpZHRoIC8gZGVzaWduU2l6ZS53aWR0aDtcbiAgICAgICAgICAgIGxldCBzY2FsZUggPSB3c2l6ZS5oZWlnaHQgLyBkZXNpZ25TaXplLmhlaWdodDtcblxuICAgICAgICAgICAgbGV0IHBDYW52YXMgPSB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLkNhbnZhcyk7XG4gICAgICAgICAgICBpZiAocENhbnZhcykge1xuICAgICAgICAgICAgICAgIGlmIChzY2FsZVcgPiBzY2FsZUgpIHsgLy/mm7Tlrr3kuobopoFmaXRIZWlnaHQsIOWQpuWImWhlaWdodOWwseeVmem7kei+ueS6hjtcbiAgICAgICAgICAgICAgICAgICAgcENhbnZhcy5maXRIZWlnaHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBwQ2FudmFzLmZpdFdpZHRoID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHsgLy/mm7Tpq5g7XG4gICAgICAgICAgICAgICAgICAgIHBDYW52YXMuZml0SGVpZ2h0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHBDYW52YXMuZml0V2lkdGggPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcImZpdG1vZGXmqKHlvI/lj6rog73nlKjlnKhjYW52YXPoioLngrnkuIpcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxufSk7XG4iXX0=
\ No newline at end of file
......@@ -227,4 +227,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcT1AxM1xcc2NyaXB0XFxiZXppZXJfYXNzZW1ibGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJFQUFtRTtBQUVuRSxJQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDO0FBRW5CLElBQUksbUJBQW1CLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDO0lBQzNDLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0lBQ2hFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0lBQzNELEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQzVFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUM7Q0FDNUQsQ0FBQyxDQUFDO0FBRUg7SUFBNkMsbUNBQXVCO0lBQXBFO1FBQUEscUVBNExDO1FBM0xhLFdBQUssR0FBVSxDQUFDLENBQUE7O0lBMkw5QixDQUFDO0lBMUxVLDBDQUFnQixHQUF2QixVQUF5QixJQUFTO1FBQzlCLElBQUksSUFBSSxFQUFFO1lBQ04sSUFBSSxRQUFRLEdBQVcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO1lBQzNDLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTtnQkFDZCxPQUFNO2FBQ1Q7WUFFRCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO1lBQ3BCLElBQUksTUFBTSxHQUFHLElB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R0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3JELE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbkMsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUNMLHNCQUFDO0FBQUQsQ0E1TEEsQUE0TEMsQ0E1TDRDLG9DQUF1QixHQTRMbkUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFnZUVmZmVjdEFzc2VtYmxlckJhc2UgZnJvbSBcIi4vcGFnZV9lZmZlY3RfYXNzZW1ibGVyX2Jhc2VcIjtcclxuXHJcbmNvbnN0IGdmeCA9IGNjLmdmeDtcclxuXHJcbmxldCB2Zm10UG9zVXZDb2xvckZyb250ID0gbmV3IGdmeC5WZXJ0ZXhGb3JtYXQoW1xyXG4gICAgeyBuYW1lOiBnZnguQVRUUl9QT1NJVElPTiwgdHlwZTogZ2Z4LkFUVFJfVFlQRV9GTE9BVDMyLCBudW06IDIgfSxcclxuICAgIHsgbmFtZTogZ2Z4LkFUVFJfVVYwLCB0eXBlOiBnZnguQVRUUl9UWVBFX0ZMT0FUMzIsIG51bTogMiB9LFxyXG4gICAgeyBuYW1lOiBnZnguQVRUUl9DT0xPUiwgdHlwZTogZ2Z4LkFUVFJfVFlQRV9VSU5UOCwgbnVtOiA0LCBub3JtYWxpemU6IHRydWUgfSxcclxuICAgIHsgbmFtZTogXCJhX2lzRnJvbnRcIiwgdHlwZTogZ2Z4LkFUVFJfVFlQRV9GTE9BVDMyLCBudW06IDF9LFxyXG5dKTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJlemllckFzc2VtYmxlciBleHRlbmRzIFBhZ2VFZmZlY3RBc3NlbWJsZXJCYXNlIHtcclxuICAgIHByb3RlY3RlZCBhbmdsZTpudW1iZXIgPSAwXHJcbiAgICBwdWJsaWMgdXBkYXRlUmVuZGVyRGF0YSAoY29tcDogYW55KSB7XHJcbiAgICAgICAgaWYgKGNvbXApIHtcclxuICAgICAgICAgICAgbGV0IHBvaW50TnVtOiBudW1iZXIgPSBjb21wLmdldFBvaW50Q291bnQoKVxyXG4gICAgICAgICAgICBpZiAocG9pbnROdW0gPCAyKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IG5vZGUgPSBjb21wLm5vZGVcclxuICAgICAgICAgICAgbGV0IGhlaWdodCA9IG5vZGUuaGVpZ2h0XHJcbiAgICAgICAgICAgIGxldCB3aWR0aCA9IG5vZGUud2lkdGhcclxuICAgICAgICAgICAgLy8g5bem5LiL6KeS55qE5Z2Q5qCHXHJcbiAgICAgICAgICAgIGxldCBwb3NYID0gLSB3aWR0aCAqIG5vZGUuYW5jaG9yWFxyXG4gICAgICAgICAgICBsZXQgcG9zWSA9IC0gaGVpZ2h0ICogbm9kZS5hbmNob3JZXHJcbiAgICAgICAgICAgIC8vIOagueaNruinkuW6puiOt+W+l+aOp+WItueCueeahOS9jee9rlxyXG4gICAgICAgICAgICBsZXQgY3RybFBvc0RhdGEgPSB0aGlzLl9nZXRDdHJsUG9zQnlBbmdsZSh3aWR0aClcclxuICAgICAgICAgICAgbGV0IHN0YXJ0UG9zID0gY3RybFBvc0RhdGEuc3RhcnRQb3NcclxuICAgICAgICAgICAgbGV0IGVuZFBvcyA9IGN0cmxQb3NEYXRhLmVuZFBvc1xyXG4gICAgICAgICAgICBsZXQgY3RybFBvczEgPSBjdHJsUG9zRGF0YS5jdHJsUG9zMVxyXG4gICAgICAgICAgICBsZXQgY3RybFBvczIgPSBjdHJsUG9zRGF0YS5jdHJsUG9zMlxyXG4gICAgICAgICAgICAvLyDorrDlvZXlkITkuKrpobbngrnnmoTkvY3nva5cclxuICAgICAgICAgICAgbGV0IGJlemllclBvc0xpc3Q6IGNjLlZlYzJbXSA9IFtdXHJcbiAgICAgICAgICAgIGJlemllclBvc0xpc3RbMF0gPSBzdGFydFBvc1xyXG4gICAgICAgICAgICAvLyDlvZPliY3miYDmnInpobbngrnov57nur/nmoTmgLvplb9cclxuICAgICAgICAgICAgbGV0IHJlYWxXaWR0aCA9IDBcclxuICAgICAgICAgICAgLy8g5LiK5LiA5Liq54K555qE57q555CG5Z2Q5qCHXHJcbiAgICAgICAgICAgIGxldCBsYXN0VSA9IDBcclxuICAgICAgICAgICAgLy8g5LiL5LiA5Liq54K555qE57q555CG5Z2Q5qCHXHJcbiAgICAgICAgICAgIGxldCBuZXh0VSA9IDBcclxuXHJcbiAgICAgICAgICAgIGxldCBmbG9hdHNQZXJWZXJ0ID0gdGhpcy5mbG9hdHNQZXJWZXJ0O1xyXG4gICAgICAgICAgICBsZXQgdmVydHMgPSB0aGlzLnJlbmRlckRhdGEudkRhdGFzWzBdO1xyXG4gICAgICAgICAgICAvLyDlhpl2ZXJ0c+aXtueahOS4i+agh1xyXG4gICAgICAgICAgICBsZXQgZHN0T2Zmc2V0ID0gMDtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBwb2ludE51bTsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaXNUYWlsID0gaSA9PT0gcG9pbnROdW0gLSAxXHJcbiAgICAgICAgICAgICAgICBsZXQgbGFzdEJlemllclBvcyA9IGJlemllclBvc0xpc3RbaSAtIDFdXHJcbiAgICAgICAgICAgICAgICBsZXQgbmV4dEJlemllclBvcyA9IHRoaXMuX2dldEJlemllclBvcyhpIC8gKHBvaW50TnVtIC0gMSkgLCBzdGFydFBvcywgZW5kUG9zLCBjdHJsUG9zMSwgY3RybFBvczIpXHJcbiAgICAgICAgICAgICAgICBsZXQgZml4ZWREYXRhID0gdGhpcy5fZml4V2lkdGgobGFzdEJlemllclBvcywgbmV4dEJlemllclBvcywgd2lkdGgsIHJlYWxXaWR0aCwgaXNUYWlsKVxyXG4gICAgICAgICAgICAgICAgbGV0IGdhcFdpZHRoID0gZml4ZWREYXRhLmdhcFdpZHRoXHJcbiAgICAgICAgICAgICAgICBuZXh0QmV6aWVyUG9zID0gZml4ZWREYXRhLm5leHRCZXppZXJQb3NcclxuICAgICAgICAgICAgICAgIHJlYWxXaWR0aCArPSBnYXBXaWR0aFxyXG4gICAgICAgICAgICAgICAgYmV6aWVyUG9zTGlzdFtpXSA9IG5leHRCZXppZXJQb3NcclxuICAgICAgICAgICAgICAgIC8vIOagueaNruW9k+WJjeWwj+efqeW9oueahOWuveW6puWNoOaAu+mVv+W6pueahOavlOS+i+adpeiuoeeul+e6ueeQhuWdkOagh+eahOmXtOmalFxyXG4gICAgICAgICAgICAgICAgbGV0IGdhcFUgPSBnYXBXaWR0aCAvIHdpZHRoXHJcbiAgICAgICAgICAgICAgICBuZXh0VSA9IGxhc3RVICsgZ2FwVVxyXG4gICAgICAgICAgICAgICAgLyogXHJcbiAgICAgICAgICAgICAgICAgICAg5YiG5Yir6K6h566X5bCP55+p5b2i5Zub5Liq6aG254K555qE5Z2Q5qCH5ZKM57q555CG5Z2Q5qCHXHJcbiAgICAgICAgICAgICAgICAgICAg5ZCE6aG254K555qE5Z2Q5qCH6K6h566X5pa55rOV5Li65Zyo5bem5LiL6KeS5Z2Q5qCH55qE5Z+656GA5LiK5Yqg5LiK6aG254K55Zyo6LSd5aGe5bCU5puy57q/5LiK55qE5Z2Q5qCH77yM5aaC5p6c5piv5Lmm6aG16aG26YOo55qE6aG254K55YiZ6L+Y6KaB5Yqg5LiK5Lmm6aG155qE6auY5bqmXHJcbiAgICAgICAgICAgICAgICAqL1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIOWwhjTkuKrpobbngrnmlbDmja7lhpnlhaV2ZXJ0c1xyXG4gICAgICAgICAgICAgICAgZHN0T2Zmc2V0ID0gZmxvYXRzUGVyVmVydCAqIChpLTEpICogNDtcclxuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldF0gICAgID0gcG9zWCArIGxhc3RCZXppZXJQb3MueDtcclxuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDFdID0gcG9zWSArIGxhc3RCZXppZXJQb3MueTtcclxuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDJdID0gbGFzdFU7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAzXSA9IDE7XHJcbiAgICAgICAgICAgICAgICBkc3RPZmZzZXQgKz0gZmxvYXRzUGVyVmVydDtcclxuXHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXRdICAgICA9IHBvc1ggKyBuZXh0QmV6aWVyUG9zLng7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAxXSA9IHBvc1kgKyBuZXh0QmV6aWVyUG9zLnk7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAyXSA9IG5leHRVO1xyXG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgM10gPSAxO1xyXG4gICAgICAgICAgICAgICAgZHN0T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0XSAgICAgPSBwb3NYICsgbGFzdEJlemllclBvcy54O1xyXG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgMV0gPSBwb3NZICsgaGVpZ2h0ICsgbGFzdEJlemllclBvcy55O1xyXG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgMl0gPSBsYXN0VTtcclxuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDNdID0gMDtcclxuICAgICAgICAgICAgICAgIGRzdE9mZnNldCArPSBmbG9hdHNQZXJWZXJ0O1xyXG5cclxuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldF0gICAgID0gcG9zWCArIG5leHRCZXppZXJQb3MueDtcclxuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDFdID0gcG9zWSArIGhlaWdodCArIG5leHRCZXppZXJQb3MueTtcclxuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDJdID0gbmV4dFU7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAzXSA9IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgbGFzdFUgPSBuZXh0VVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbG9yKGNvbXAsIG51bGwpO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUlzRnJvbnQoY29tcCwgNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGluaXQoY29tcDogY2MuUmVuZGVyQ29tcG9uZW50KSB7XHJcbiAgICAgICAgc3VwZXIuaW5pdChjb21wKTtcclxuXHJcbiAgICAgICAgLy9AdHMtaWdub3JlXHJcbiAgICAgICAgbGV0IHNlZ21lbnRDb3VudCA9IGNvbXAuZ2V0UG9pbnRDb3VudCgpIC0gMTtcclxuICAgICAgICB0aGlzLnZlcnRpY2VzQ291bnQgPSA0ICogc2VnbWVudENvdW50O1xyXG4gICAgICAgIHRoaXMuaW5kaWNlc0NvdW50ID0gNiAqIHNlZ21lbnRDb3VudDtcclxuICAgICAgICB0aGlzLmZsb2F0c1BlclZlcnQgPSA2O1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMuaW5pdERhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRWZm10KCkge1xyXG4gICAgICAgIHJldHVybiB2Zm10UG9zVXZDb2xvckZyb250O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2dldEN0cmxQb3NCeUFuZ2xlKHdpZHRoOiBudW1iZXIpOiB7c3RhcnRQb3M6IGNjLlZlYzIsIGVuZFBvczogY2MuVmVjMiwgY3RybFBvczE6IGNjLlZlYzIsIGN0cmxQb3MyOiBjYy5WZWMyfSB7XHJcbiAgICAgICAgbGV0IHN0YXJ0UG9zID0gbmV3IGNjLlZlYzIoMCwgMClcclxuICAgICAgICBsZXQgZW5kUG9zID0gbnVsbFxyXG4gICAgICAgIGxldCBjdHJsUG9zMSA9IG51bGxcclxuICAgICAgICBsZXQgY3RybFBvczIgPSBudWxsXHJcbiAgICAgICAgbGV0IHJhZCA9IHRoaXMuYW5nbGUgKiBNYXRoLlBJIC8gMTgwXHJcbiAgICAgICAgbGV0IHBlciA9IHJhZCAqIDIgLyBNYXRoLlBJXHJcbiAgICAgICAgaWYodGhpcy5hbmdsZSA8PSA5MCkge1xyXG4gICAgICAgICAgICAvLyDnu4jngrnnmoR45Z2Q5qCH5Y+Y5o2iIHdpZHRoID0+IDDvvIzpgJ/luqblhYjmhaLlkI7lv6vvvIzkvb/nlKhJbkN1Ymlj57yT5Yqo5Ye95pWwXHJcbiAgICAgICAgICAgIGxldCBlbmRQb3NYID0gd2lkdGggKiAoMSAtIE1hdGgucG93KHBlciwgMykpXHJcbiAgICAgICAgICAgIC8vIEluQ3ViaWNcclxuICAgICAgICAgICAgLy8g57uI54K555qEeeWdkOagh+WPmOaNoiAwID0+IHdpZHRoIC8gNCwg6YCf5bqm5YWI5b+r5ZCO5oWi77yM5L2/55SoT3V0UXVhcnTnvJPliqjlh73mlbBcclxuICAgICAgICAgICAgbGV0IGVuZFBvc1kgPSB3aWR0aCAvIDQgKiAoMSAtIE1hdGgucG93KDEgLSBwZXIsIDQpKVxyXG4gICAgICAgICAgICBlbmRQb3MgPSBuZXcgY2MuVmVjMihlbmRQb3NYLCBlbmRQb3NZKVxyXG5cclxuICAgICAgICAgICAgLy8g5Lit6Ze05Lik5Liq5o6n5Yi254K55Z2Q5qCH5YyA6YCf5Y+Y5o2iXHJcbiAgICAgICAgICAgIC8vIHjlnZDmoIcgd2lkdGggPT4gd2lkdGggKiAzIC8gNFxyXG4gICAgICAgICAgICBsZXQgY3RybFBvc1ggPSB3aWR0aCAqICgxIC0gMSAvIDQgKiBwZXIpXHJcbiAgICAgICAgICAgIC8vIOaOp+WItueCuTF55Z2Q5qCHIDAgPT4gd2lkdGggLyAxNlxyXG4gICAgICAgICAgICBsZXQgY3RybFBvczFZID0gd2lkdGggKiAxIC8gMTYgKiBwZXJcclxuICAgICAgICAgICAgLy8g5o6n5Yi254K5MnnlnZDmoIcgMCA9PiB3aWR0aCAqIDMgLyAxNlxyXG4gICAgICAgICAgICBsZXQgY3RybFBvczJZID0gd2lkdGggKiAzIC8gMTYgKiBwZXJcclxuICAgICAgICAgICAgY3RybFBvczEgPSBuZXcgY2MuVmVjMihjdHJsUG9zWCwgY3RybFBvczFZKVxyXG4gICAgICAgICAgICBjdHJsUG9zMiA9IG5ldyBjYy5WZWMyKGN0cmxQb3NYLCBjdHJsUG9zMlkpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcGVyID0gcGVyIC0gMVxyXG4gICAgICAgICAgICAvLyDnu4jngrnnmoR45Z2Q5qCH5Y+Y5o2iIDAgPT4gd2lkdGjvvIzpgJ/luqblhYjlv6vlkI7mhaLvvIzkvb/nlKhPdXRDdWJpY+e8k+WKqOWHveaVsFxyXG4gICAgICAgICAgICBsZXQgZW5kUG9zWCA9IC0gd2lkdGggKiAoMSAtIE1hdGgucG93KDEgLSBwZXIsIDMpKVxyXG4gICAgICAgICAgICAvLyDnu4jngrnnmoR55Z2Q5qCH5Y+Y5o2iIHdpZHRoIC8gNCA9PiAwLCDpgJ/luqblhYjmhaLlkI7lv6vvvIzkvb/nlKhJblF1YXJ057yT5Yqo5Ye95pWwXHJcbiAgICAgICAgICAgIGxldCBlbmRQb3NZID0gd2lkdGggLyA0ICogKDEgLSBNYXRoLnBvdyhwZXIsIDQpKVxyXG4gICAgICAgICAgICBlbmRQb3MgPSBuZXcgY2MuVmVjMihlbmRQb3NYLCBlbmRQb3NZKVxyXG5cclxuICAgICAgICAgICAgLy8g5o6n5Yi254K5MXjlnZDmoIcgd2lkdGggKiAzIC8gNCA9PiAwXHJcbiAgICAgICAgICAgIGxldCBjdHJsUG9zMVggPSB3aWR0aCAqIDMgLyA0ICogKDEgLSBwZXIpXHJcbiAgICAgICAgICAgIC8vIOaOp+WItueCuTJ45Z2Q5qCHIHdpZHRoICogMyAvIDQgPT4gMFxyXG4gICAgICAgICAgICBsZXQgY3RybFBvczJYID0gd2lkdGggKiAzIC8gNCAqIE1hdGgucG93KDEgLSBwZXIsIDMpXHJcbiAgICAgICAgICAgIC8vIOaOp+WItueCuTF55Z2Q5qCHIHdpZHRoIC8gMTYgPT4gMFxyXG4gICAgICAgICAgICBsZXQgY3RybFBvczFZID0gd2lkdGggKiAxIC8gMTYgKiAgKDEgLSBwZXIpXHJcbiAgICAgICAgICAgIC8vIOaOp+WItueCuTJ55Z2Q5qCHIHdpZHRoICogMyAvIDE2ID0+IDBcclxuICAgICAgICAgICAgbGV0IGN0cmxQb3MyWSA9IHdpZHRoICogMyAvIDE2ICogKDEgLSBNYXRoLnBvdyhwZXIsIDQpKVxyXG4gICAgICAgICAgICBjdHJsUG9zMSA9IG5ldyBjYy5WZWMyKGN0cmxQb3MxWCwgY3RybFBvczFZKVxyXG4gICAgICAgICAgICBjdHJsUG9zMiA9IG5ldyBjYy5WZWMyKGN0cmxQb3MyWCwgY3RybFBvczJZKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgc3RhcnRQb3M6IHN0YXJ0UG9zLFxyXG4gICAgICAgICAgICBlbmRQb3M6IGVuZFBvcyxcclxuICAgICAgICAgICAgY3RybFBvczE6IGN0cmxQb3MxLFxyXG4gICAgICAgICAgICBjdHJsUG9zMjogY3RybFBvczJcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8g5L+u5q2j5a695bqmXHJcbiAgICBwcml2YXRlIF9maXhXaWR0aChsYXN0QmV6aWVyUG9zOiBjYy5WZWMyLCBuZXh0QmV6aWVyUG9zOiBjYy5WZWMyLCB3aWR0aDogbnVtYmVyLCByZWFsV2lkdGg6IG51bWJlciwgaXNUYWlsOiBib29sZWFuKSB7XHJcbiAgICAgICAgbGV0IGRlbHRhVmVjdG9yID0gbmV4dEJlemllclBvcy5zdWIobGFzdEJlemllclBvcylcclxuICAgICAgICAvLyDkuKTkuKrpobbngrnnmoTpl7Tot51cclxuICAgICAgICBsZXQgZ2FwV2lkdGggPSBkZWx0YVZlY3Rvci5tYWcoKVxyXG4gICAgICAgIC8vIOW9k+WJjeeahOaAu+mVv1xyXG4gICAgICAgIGxldCBjdXJXaWR0aCA9IHJlYWxXaWR0aCArIGdhcFdpZHRoXHJcbiAgICAgICAgaWYoaXNUYWlsKSB7XHJcbiAgICAgICAgICAgIC8vIOWmguaenOaYr+acgOWQjuS4gOS4qumhtueCueWImeWwhuaAu+mVv+W6puS/ruato+iHs+S5pumhteeahOecn+WunuWuveW6plxyXG4gICAgICAgICAgICBnYXBXaWR0aCA9IHdpZHRoIC0gcmVhbFdpZHRoXHJcbiAgICAgICAgICAgIGxldCBkaXJlY3Rpb24gPSBkZWx0YVZlY3Rvci5ub3JtYWxpemUoKVxyXG4gICAgICAgICAgICBuZXh0QmV6aWVyUG9zID0gbGFzdEJlemllclBvcy5hZGQoZGlyZWN0aW9uLm11bChnYXBXaWR0aCkpXHJcbiAgICAgICAgfSBlbHNlIGlmKGN1cldpZHRoID49IHdpZHRoKSB7XHJcbiAgICAgICAgICAgIC8vIOWmguaenOW9k+WJjeaAu+mVv+i2hei/h+S6huS5pumhteeahOecn+WunuWuveW6pu+8jOWwseihsOWHj+i2hei/h+mDqOWIhueahDEuMeWAjVxyXG4gICAgICAgICAgICBsZXQgZGVsdGEgPSBjdXJXaWR0aCAtIHdpZHRoXHJcbiAgICAgICAgICAgIGdhcFdpZHRoID0gZ2FwV2lkdGggLSBkZWx0YSAqIDEuMVxyXG4gICAgICAgICAgICBnYXBXaWR0aCA9IE1hdGgubWF4KDAsIGdhcFdpZHRoKVxyXG4gICAgICAgICAgICBsZXQgZGlyZWN0aW9uID0gZGVsdGFWZWN0b3Iubm9ybWFsaXplKClcclxuICAgICAgICAgICAgbmV4dEJlemllclBvcyA9IGxhc3RCZXppZXJQb3MuYWRkKGRpcmVjdGlvbi5tdWwoZ2FwV2lkdGgpKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZ2FwV2lkdGg6IGdhcFdpZHRoLFxyXG4gICAgICAgICAgICBuZXh0QmV6aWVyUG9zOiBuZXh0QmV6aWVyUG9zLFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyDotJ3loZ7lsJTmm7Lnur/lhazlvI9cclxuICAgIHByaXZhdGUgX2dldEJlemllclBvcyh0OiBudW1iZXIsIHN0YXJ0UG9zOiBjYy5WZWMyLCBlbmRQb3M6IGNjLlZlYzIsIGN0cmxQb3MxOiBjYy5WZWMyLCBjdHJsUG9zMjogY2MuVmVjMik6IGNjLlZlYzIge1xyXG4gICAgICAgIHN0YXJ0UG9zID0gc3RhcnRQb3MubXVsKE1hdGgucG93KDEgLSB0LCAzKSlcclxuICAgICAgICBjdHJsUG9zMSA9IGN0cmxQb3MxLm11bCgzICogdCAqIE1hdGgucG93KDEgLSB0LCAyKSlcclxuICAgICAgICBjdHJsUG9zMiA9IGN0cmxQb3MyLm11bCgzICogKDEgLSB0KSAqIE1hdGgucG93KHQsIDIpKVxyXG4gICAgICAgIGVuZFBvcyA9IGVuZFBvcy5tdWwoTWF0aC5wb3codCwgMykpXHJcbiAgICAgICAgcmV0dXJuIHN0YXJ0UG9zLmFkZChjdHJsUG9zMS5hZGQoY3RybFBvczIuYWRkKGVuZFBvcykpKVxyXG4gICAgfVxyXG59Il19
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9PUDEzL3NjcmlwdC9iZXppZXJfYXNzZW1ibGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJFQUFtRTtBQUVuRSxJQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDO0FBRW5CLElBQUksbUJBQW1CLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDO0lBQzNDLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0lBQ2hFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0lBQzNELEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQzVFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUM7Q0FDNUQsQ0FBQyxDQUFDO0FBRUg7SUFBNkMsbUNBQXVCO0lBQXBFO1FBQUEscUVBNExDO1FBM0xhLFdBQUssR0FBVSxDQUFDLENBQUE7O0lBMkw5QixDQUFDO0lBMUxVLDBDQUFnQixHQUF2QixVQUF5QixJQUFTO1FBQzlCLElBQUksSUFBSSxFQUFFO1lBQ04sSUFBSSxRQUFRLEdBQVcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO1lBQzNDLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTtnQkFDZCxPQUFNO2FBQ1Q7WUFFRCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO1lBQ3BCLElBQUksTUFBTSxHQUFHLElBQUks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RyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3JELE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbkMsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUNMLHNCQUFDO0FBQUQsQ0E1TEEsQUE0TEMsQ0E1TDRDLG9DQUF1QixHQTRMbkUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFnZUVmZmVjdEFzc2VtYmxlckJhc2UgZnJvbSBcIi4vcGFnZV9lZmZlY3RfYXNzZW1ibGVyX2Jhc2VcIjtcblxuY29uc3QgZ2Z4ID0gY2MuZ2Z4O1xuXG5sZXQgdmZtdFBvc1V2Q29sb3JGcm9udCA9IG5ldyBnZnguVmVydGV4Rm9ybWF0KFtcbiAgICB7IG5hbWU6IGdmeC5BVFRSX1BPU0lUSU9OLCB0eXBlOiBnZnguQVRUUl9UWVBFX0ZMT0FUMzIsIG51bTogMiB9LFxuICAgIHsgbmFtZTogZ2Z4LkFUVFJfVVYwLCB0eXBlOiBnZnguQVRUUl9UWVBFX0ZMT0FUMzIsIG51bTogMiB9LFxuICAgIHsgbmFtZTogZ2Z4LkFUVFJfQ09MT1IsIHR5cGU6IGdmeC5BVFRSX1RZUEVfVUlOVDgsIG51bTogNCwgbm9ybWFsaXplOiB0cnVlIH0sXG4gICAgeyBuYW1lOiBcImFfaXNGcm9udFwiLCB0eXBlOiBnZnguQVRUUl9UWVBFX0ZMT0FUMzIsIG51bTogMX0sXG5dKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmV6aWVyQXNzZW1ibGVyIGV4dGVuZHMgUGFnZUVmZmVjdEFzc2VtYmxlckJhc2Uge1xuICAgIHByb3RlY3RlZCBhbmdsZTpudW1iZXIgPSAwXG4gICAgcHVibGljIHVwZGF0ZVJlbmRlckRhdGEgKGNvbXA6IGFueSkge1xuICAgICAgICBpZiAoY29tcCkge1xuICAgICAgICAgICAgbGV0IHBvaW50TnVtOiBudW1iZXIgPSBjb21wLmdldFBvaW50Q291bnQoKVxuICAgICAgICAgICAgaWYgKHBvaW50TnVtIDwgMikge1xuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgbm9kZSA9IGNvbXAubm9kZVxuICAgICAgICAgICAgbGV0IGhlaWdodCA9IG5vZGUuaGVpZ2h0XG4gICAgICAgICAgICBsZXQgd2lkdGggPSBub2RlLndpZHRoXG4gICAgICAgICAgICAvLyDlt6bkuIvop5LnmoTlnZDmoIdcbiAgICAgICAgICAgIGxldCBwb3NYID0gLSB3aWR0aCAqIG5vZGUuYW5jaG9yWFxuICAgICAgICAgICAgbGV0IHBvc1kgPSAtIGhlaWdodCAqIG5vZGUuYW5jaG9yWVxuICAgICAgICAgICAgLy8g5qC55o2u6KeS5bqm6I635b6X5o6n5Yi254K555qE5L2N572uXG4gICAgICAgICAgICBsZXQgY3RybFBvc0RhdGEgPSB0aGlzLl9nZXRDdHJsUG9zQnlBbmdsZSh3aWR0aClcbiAgICAgICAgICAgIGxldCBzdGFydFBvcyA9IGN0cmxQb3NEYXRhLnN0YXJ0UG9zXG4gICAgICAgICAgICBsZXQgZW5kUG9zID0gY3RybFBvc0RhdGEuZW5kUG9zXG4gICAgICAgICAgICBsZXQgY3RybFBvczEgPSBjdHJsUG9zRGF0YS5jdHJsUG9zMVxuICAgICAgICAgICAgbGV0IGN0cmxQb3MyID0gY3RybFBvc0RhdGEuY3RybFBvczJcbiAgICAgICAgICAgIC8vIOiusOW9leWQhOS4qumhtueCueeahOS9jee9rlxuICAgICAgICAgICAgbGV0IGJlemllclBvc0xpc3Q6IGNjLlZlYzJbXSA9IFtdXG4gICAgICAgICAgICBiZXppZXJQb3NMaXN0WzBdID0gc3RhcnRQb3NcbiAgICAgICAgICAgIC8vIOW9k+WJjeaJgOaciemhtueCuei/nue6v+eahOaAu+mVv1xuICAgICAgICAgICAgbGV0IHJlYWxXaWR0aCA9IDBcbiAgICAgICAgICAgIC8vIOS4iuS4gOS4queCueeahOe6ueeQhuWdkOagh1xuICAgICAgICAgICAgbGV0IGxhc3RVID0gMFxuICAgICAgICAgICAgLy8g5LiL5LiA5Liq54K555qE57q555CG5Z2Q5qCHXG4gICAgICAgICAgICBsZXQgbmV4dFUgPSAwXG5cbiAgICAgICAgICAgIGxldCBmbG9hdHNQZXJWZXJ0ID0gdGhpcy5mbG9hdHNQZXJWZXJ0O1xuICAgICAgICAgICAgbGV0IHZlcnRzID0gdGhpcy5yZW5kZXJEYXRhLnZEYXRhc1swXTtcbiAgICAgICAgICAgIC8vIOWGmXZlcnRz5pe255qE5LiL5qCHXG4gICAgICAgICAgICBsZXQgZHN0T2Zmc2V0ID0gMDtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgcG9pbnROdW07IGkrKykge1xuICAgICAgICAgICAgICAgIGxldCBpc1RhaWwgPSBpID09PSBwb2ludE51bSAtIDFcbiAgICAgICAgICAgICAgICBsZXQgbGFzdEJlemllclBvcyA9IGJlemllclBvc0xpc3RbaSAtIDFdXG4gICAgICAgICAgICAgICAgbGV0IG5leHRCZXppZXJQb3MgPSB0aGlzLl9nZXRCZXppZXJQb3MoaSAvIChwb2ludE51bSAtIDEpICwgc3RhcnRQb3MsIGVuZFBvcywgY3RybFBvczEsIGN0cmxQb3MyKVxuICAgICAgICAgICAgICAgIGxldCBmaXhlZERhdGEgPSB0aGlzLl9maXhXaWR0aChsYXN0QmV6aWVyUG9zLCBuZXh0QmV6aWVyUG9zLCB3aWR0aCwgcmVhbFdpZHRoLCBpc1RhaWwpXG4gICAgICAgICAgICAgICAgbGV0IGdhcFdpZHRoID0gZml4ZWREYXRhLmdhcFdpZHRoXG4gICAgICAgICAgICAgICAgbmV4dEJlemllclBvcyA9IGZpeGVkRGF0YS5uZXh0QmV6aWVyUG9zXG4gICAgICAgICAgICAgICAgcmVhbFdpZHRoICs9IGdhcFdpZHRoXG4gICAgICAgICAgICAgICAgYmV6aWVyUG9zTGlzdFtpXSA9IG5leHRCZXppZXJQb3NcbiAgICAgICAgICAgICAgICAvLyDmoLnmja7lvZPliY3lsI/nn6nlvaLnmoTlrr3luqbljaDmgLvplb/luqbnmoTmr5TkvovmnaXorqHnrpfnurnnkIblnZDmoIfnmoTpl7TpmpRcbiAgICAgICAgICAgICAgICBsZXQgZ2FwVSA9IGdhcFdpZHRoIC8gd2lkdGhcbiAgICAgICAgICAgICAgICBuZXh0VSA9IGxhc3RVICsgZ2FwVVxuICAgICAgICAgICAgICAgIC8qIFxuICAgICAgICAgICAgICAgICAgICDliIbliKvorqHnrpflsI/nn6nlvaLlm5vkuKrpobbngrnnmoTlnZDmoIflkoznurnnkIblnZDmoIdcbiAgICAgICAgICAgICAgICAgICAg5ZCE6aG254K555qE5Z2Q5qCH6K6h566X5pa55rOV5Li65Zyo5bem5LiL6KeS5Z2Q5qCH55qE5Z+656GA5LiK5Yqg5LiK6aG254K55Zyo6LSd5aGe5bCU5puy57q/5LiK55qE5Z2Q5qCH77yM5aaC5p6c5piv5Lmm6aG16aG26YOo55qE6aG254K55YiZ6L+Y6KaB5Yqg5LiK5Lmm6aG155qE6auY5bqmXG4gICAgICAgICAgICAgICAgKi9cblxuICAgICAgICAgICAgICAgIC8vIOWwhjTkuKrpobbngrnmlbDmja7lhpnlhaV2ZXJ0c1xuICAgICAgICAgICAgICAgIGRzdE9mZnNldCA9IGZsb2F0c1BlclZlcnQgKiAoaS0xKSAqIDQ7XG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0XSAgICAgPSBwb3NYICsgbGFzdEJlemllclBvcy54O1xuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDFdID0gcG9zWSArIGxhc3RCZXppZXJQb3MueTtcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAyXSA9IGxhc3RVO1xuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDNdID0gMTtcbiAgICAgICAgICAgICAgICBkc3RPZmZzZXQgKz0gZmxvYXRzUGVyVmVydDtcblxuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldF0gICAgID0gcG9zWCArIG5leHRCZXppZXJQb3MueDtcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAxXSA9IHBvc1kgKyBuZXh0QmV6aWVyUG9zLnk7XG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgMl0gPSBuZXh0VTtcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAzXSA9IDE7XG4gICAgICAgICAgICAgICAgZHN0T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7XG5cbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXRdICAgICA9IHBvc1ggKyBsYXN0QmV6aWVyUG9zLng7XG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgMV0gPSBwb3NZICsgaGVpZ2h0ICsgbGFzdEJlemllclBvcy55O1xuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDJdID0gbGFzdFU7XG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgM10gPSAwO1xuICAgICAgICAgICAgICAgIGRzdE9mZnNldCArPSBmbG9hdHNQZXJWZXJ0O1xuXG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0XSAgICAgPSBwb3NYICsgbmV4dEJlemllclBvcy54O1xuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDFdID0gcG9zWSArIGhlaWdodCArIG5leHRCZXppZXJQb3MueTtcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAyXSA9IG5leHRVO1xuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDNdID0gMDtcblxuICAgICAgICAgICAgICAgIGxhc3RVID0gbmV4dFVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy51cGRhdGVDb2xvcihjb21wLCBudWxsKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSXNGcm9udChjb21wLCA1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXQoY29tcDogY2MuUmVuZGVyQ29tcG9uZW50KSB7XG4gICAgICAgIHN1cGVyLmluaXQoY29tcCk7XG5cbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGxldCBzZWdtZW50Q291bnQgPSBjb21wLmdldFBvaW50Q291bnQoKSAtIDE7XG4gICAgICAgIHRoaXMudmVydGljZXNDb3VudCA9IDQgKiBzZWdtZW50Q291bnQ7XG4gICAgICAgIHRoaXMuaW5kaWNlc0NvdW50ID0gNiAqIHNlZ21lbnRDb3VudDtcbiAgICAgICAgdGhpcy5mbG9hdHNQZXJWZXJ0ID0gNjtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuaW5pdERhdGEoKTtcbiAgICB9XG5cbiAgICBnZXRWZm10KCkge1xuICAgICAgICByZXR1cm4gdmZtdFBvc1V2Q29sb3JGcm9udDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRDdHJsUG9zQnlBbmdsZSh3aWR0aDogbnVtYmVyKToge3N0YXJ0UG9zOiBjYy5WZWMyLCBlbmRQb3M6IGNjLlZlYzIsIGN0cmxQb3MxOiBjYy5WZWMyLCBjdHJsUG9zMjogY2MuVmVjMn0ge1xuICAgICAgICBsZXQgc3RhcnRQb3MgPSBuZXcgY2MuVmVjMigwLCAwKVxuICAgICAgICBsZXQgZW5kUG9zID0gbnVsbFxuICAgICAgICBsZXQgY3RybFBvczEgPSBudWxsXG4gICAgICAgIGxldCBjdHJsUG9zMiA9IG51bGxcbiAgICAgICAgbGV0IHJhZCA9IHRoaXMuYW5nbGUgKiBNYXRoLlBJIC8gMTgwXG4gICAgICAgIGxldCBwZXIgPSByYWQgKiAyIC8gTWF0aC5QSVxuICAgICAgICBpZih0aGlzLmFuZ2xlIDw9IDkwKSB7XG4gICAgICAgICAgICAvLyDnu4jngrnnmoR45Z2Q5qCH5Y+Y5o2iIHdpZHRoID0+IDDvvIzpgJ/luqblhYjmhaLlkI7lv6vvvIzkvb/nlKhJbkN1Ymlj57yT5Yqo5Ye95pWwXG4gICAgICAgICAgICBsZXQgZW5kUG9zWCA9IHdpZHRoICogKDEgLSBNYXRoLnBvdyhwZXIsIDMpKVxuICAgICAgICAgICAgLy8gSW5DdWJpY1xuICAgICAgICAgICAgLy8g57uI54K555qEeeWdkOagh+WPmOaNoiAwID0+IHdpZHRoIC8gNCwg6YCf5bqm5YWI5b+r5ZCO5oWi77yM5L2/55SoT3V0UXVhcnTnvJPliqjlh73mlbBcbiAgICAgICAgICAgIGxldCBlbmRQb3NZID0gd2lkdGggLyA0ICogKDEgLSBNYXRoLnBvdygxIC0gcGVyLCA0KSlcbiAgICAgICAgICAgIGVuZFBvcyA9IG5ldyBjYy5WZWMyKGVuZFBvc1gsIGVuZFBvc1kpXG5cbiAgICAgICAgICAgIC8vIOS4remXtOS4pOS4quaOp+WItueCueWdkOagh+WMgOmAn+WPmOaNolxuICAgICAgICAgICAgLy8geOWdkOaghyB3aWR0aCA9PiB3aWR0aCAqIDMgLyA0XG4gICAgICAgICAgICBsZXQgY3RybFBvc1ggPSB3aWR0aCAqICgxIC0gMSAvIDQgKiBwZXIpXG4gICAgICAgICAgICAvLyDmjqfliLbngrkxeeWdkOaghyAwID0+IHdpZHRoIC8gMTZcbiAgICAgICAgICAgIGxldCBjdHJsUG9zMVkgPSB3aWR0aCAqIDEgLyAxNiAqIHBlclxuICAgICAgICAgICAgLy8g5o6n5Yi254K5MnnlnZDmoIcgMCA9PiB3aWR0aCAqIDMgLyAxNlxuICAgICAgICAgICAgbGV0IGN0cmxQb3MyWSA9IHdpZHRoICogMyAvIDE2ICogcGVyXG4gICAgICAgICAgICBjdHJsUG9zMSA9IG5ldyBjYy5WZWMyKGN0cmxQb3NYLCBjdHJsUG9zMVkpXG4gICAgICAgICAgICBjdHJsUG9zMiA9IG5ldyBjYy5WZWMyKGN0cmxQb3NYLCBjdHJsUG9zMlkpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwZXIgPSBwZXIgLSAxXG4gICAgICAgICAgICAvLyDnu4jngrnnmoR45Z2Q5qCH5Y+Y5o2iIDAgPT4gd2lkdGjvvIzpgJ/luqblhYjlv6vlkI7mhaLvvIzkvb/nlKhPdXRDdWJpY+e8k+WKqOWHveaVsFxuICAgICAgICAgICAgbGV0IGVuZFBvc1ggPSAtIHdpZHRoICogKDEgLSBNYXRoLnBvdygxIC0gcGVyLCAzKSlcbiAgICAgICAgICAgIC8vIOe7iOeCueeahHnlnZDmoIflj5jmjaIgd2lkdGggLyA0ID0+IDAsIOmAn+W6puWFiOaFouWQjuW/q++8jOS9v+eUqEluUXVhcnTnvJPliqjlh73mlbBcbiAgICAgICAgICAgIGxldCBlbmRQb3NZID0gd2lkdGggLyA0ICogKDEgLSBNYXRoLnBvdyhwZXIsIDQpKVxuICAgICAgICAgICAgZW5kUG9zID0gbmV3IGNjLlZlYzIoZW5kUG9zWCwgZW5kUG9zWSlcblxuICAgICAgICAgICAgLy8g5o6n5Yi254K5MXjlnZDmoIcgd2lkdGggKiAzIC8gNCA9PiAwXG4gICAgICAgICAgICBsZXQgY3RybFBvczFYID0gd2lkdGggKiAzIC8gNCAqICgxIC0gcGVyKVxuICAgICAgICAgICAgLy8g5o6n5Yi254K5MnjlnZDmoIcgd2lkdGggKiAzIC8gNCA9PiAwXG4gICAgICAgICAgICBsZXQgY3RybFBvczJYID0gd2lkdGggKiAzIC8gNCAqIE1hdGgucG93KDEgLSBwZXIsIDMpXG4gICAgICAgICAgICAvLyDmjqfliLbngrkxeeWdkOaghyB3aWR0aCAvIDE2ID0+IDBcbiAgICAgICAgICAgIGxldCBjdHJsUG9zMVkgPSB3aWR0aCAqIDEgLyAxNiAqICAoMSAtIHBlcilcbiAgICAgICAgICAgIC8vIOaOp+WItueCuTJ55Z2Q5qCHIHdpZHRoICogMyAvIDE2ID0+IDBcbiAgICAgICAgICAgIGxldCBjdHJsUG9zMlkgPSB3aWR0aCAqIDMgLyAxNiAqICgxIC0gTWF0aC5wb3cocGVyLCA0KSlcbiAgICAgICAgICAgIGN0cmxQb3MxID0gbmV3IGNjLlZlYzIoY3RybFBvczFYLCBjdHJsUG9zMVkpXG4gICAgICAgICAgICBjdHJsUG9zMiA9IG5ldyBjYy5WZWMyKGN0cmxQb3MyWCwgY3RybFBvczJZKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN0YXJ0UG9zOiBzdGFydFBvcyxcbiAgICAgICAgICAgIGVuZFBvczogZW5kUG9zLFxuICAgICAgICAgICAgY3RybFBvczE6IGN0cmxQb3MxLFxuICAgICAgICAgICAgY3RybFBvczI6IGN0cmxQb3MyXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyDkv67mraPlrr3luqZcbiAgICBwcml2YXRlIF9maXhXaWR0aChsYXN0QmV6aWVyUG9zOiBjYy5WZWMyLCBuZXh0QmV6aWVyUG9zOiBjYy5WZWMyLCB3aWR0aDogbnVtYmVyLCByZWFsV2lkdGg6IG51bWJlciwgaXNUYWlsOiBib29sZWFuKSB7XG4gICAgICAgIGxldCBkZWx0YVZlY3RvciA9IG5leHRCZXppZXJQb3Muc3ViKGxhc3RCZXppZXJQb3MpXG4gICAgICAgIC8vIOS4pOS4qumhtueCueeahOmXtOi3nVxuICAgICAgICBsZXQgZ2FwV2lkdGggPSBkZWx0YVZlY3Rvci5tYWcoKVxuICAgICAgICAvLyDlvZPliY3nmoTmgLvplb9cbiAgICAgICAgbGV0IGN1cldpZHRoID0gcmVhbFdpZHRoICsgZ2FwV2lkdGhcbiAgICAgICAgaWYoaXNUYWlsKSB7XG4gICAgICAgICAgICAvLyDlpoLmnpzmmK/mnIDlkI7kuIDkuKrpobbngrnliJnlsIbmgLvplb/luqbkv67mraPoh7PkuabpobXnmoTnnJ/lrp7lrr3luqZcbiAgICAgICAgICAgIGdhcFdpZHRoID0gd2lkdGggLSByZWFsV2lkdGhcbiAgICAgICAgICAgIGxldCBkaXJlY3Rpb24gPSBkZWx0YVZlY3Rvci5ub3JtYWxpemUoKVxuICAgICAgICAgICAgbmV4dEJlemllclBvcyA9IGxhc3RCZXppZXJQb3MuYWRkKGRpcmVjdGlvbi5tdWwoZ2FwV2lkdGgpKVxuICAgICAgICB9IGVsc2UgaWYoY3VyV2lkdGggPj0gd2lkdGgpIHtcbiAgICAgICAgICAgIC8vIOWmguaenOW9k+WJjeaAu+mVv+i2hei/h+S6huS5pumhteeahOecn+WunuWuveW6pu+8jOWwseihsOWHj+i2hei/h+mDqOWIhueahDEuMeWAjVxuICAgICAgICAgICAgbGV0IGRlbHRhID0gY3VyV2lkdGggLSB3aWR0aFxuICAgICAgICAgICAgZ2FwV2lkdGggPSBnYXBXaWR0aCAtIGRlbHRhICogMS4xXG4gICAgICAgICAgICBnYXBXaWR0aCA9IE1hdGgubWF4KDAsIGdhcFdpZHRoKVxuICAgICAgICAgICAgbGV0IGRpcmVjdGlvbiA9IGRlbHRhVmVjdG9yLm5vcm1hbGl6ZSgpXG4gICAgICAgICAgICBuZXh0QmV6aWVyUG9zID0gbGFzdEJlemllclBvcy5hZGQoZGlyZWN0aW9uLm11bChnYXBXaWR0aCkpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZ2FwV2lkdGg6IGdhcFdpZHRoLFxuICAgICAgICAgICAgbmV4dEJlemllclBvczogbmV4dEJlemllclBvcyxcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIOi0neWhnuWwlOabsue6v+WFrOW8j1xuICAgIHByaXZhdGUgX2dldEJlemllclBvcyh0OiBudW1iZXIsIHN0YXJ0UG9zOiBjYy5WZWMyLCBlbmRQb3M6IGNjLlZlYzIsIGN0cmxQb3MxOiBjYy5WZWMyLCBjdHJsUG9zMjogY2MuVmVjMik6IGNjLlZlYzIge1xuICAgICAgICBzdGFydFBvcyA9IHN0YXJ0UG9zLm11bChNYXRoLnBvdygxIC0gdCwgMykpXG4gICAgICAgIGN0cmxQb3MxID0gY3RybFBvczEubXVsKDMgKiB0ICogTWF0aC5wb3coMSAtIHQsIDIpKVxuICAgICAgICBjdHJsUG9zMiA9IGN0cmxQb3MyLm11bCgzICogKDEgLSB0KSAqIE1hdGgucG93KHQsIDIpKVxuICAgICAgICBlbmRQb3MgPSBlbmRQb3MubXVsKE1hdGgucG93KHQsIDMpKVxuICAgICAgICByZXR1cm4gc3RhcnRQb3MuYWRkKGN0cmxQb3MxLmFkZChjdHJsUG9zMi5hZGQoZW5kUG9zKSkpXG4gICAgfVxufSJdfQ==
\ No newline at end of file
......@@ -110,4 +110,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcT1AxM1xcc2NyaXB0XFxiZXppZXJfcmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFpRDtBQUUzQyxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUkxQztJQUEwQyxnQ0FBa0I7SUFBNUQ7UUFBQSxxRUEwREM7UUF4RFUsaUJBQVcsR0FBbUIsRUFBRSxDQUFBO1FBR2hDLGlCQUFXLEdBQVcsRUFBRSxDQUFBO1FBRXJCLHFCQUFlLEdBQVksS0FBSyxDQUFBOztJQW1EOUMsQ0FBQztJQWpERywrQkFBUSxHQUFSO1FBQ0ksaUJBQU0sUUFBUSxXQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTSwyQkFBSSxHQUFYO1FBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO1NBQ3hCO1FBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFFTSxzQ0FBZSxHQUF0QjtRQUNJLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSwwQkFBZSxFQUFFLENBQUE7UUFDdkQsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixDQUFDO0lBRVMsc0NBQWUsR0FBekI7UUFDSSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLElBQUksUUFBUSxFQUFFO1lBQ1YsUUFBUSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQy9CLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3pEO1NBQ0o7SUFDTCxDQUFDO0lBRVMscUNBQWMsR0FBeEI7UUFDSSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7WUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUE7WUFDM0IsT0FBTTtTQUNUO0lBQ0wsQ0FBQztJQUVNLG9DQUFhLEdBQXBCO1FBQ0ksT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFBO0lBQzNCLENBQUM7SUFFTSxrQ0FBVyxHQUFsQixVQUFtQixLQUFhO1FBQzVCLElBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLE9BQU07U0FDVDtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUF2REQ7UUFEQyxRQUFRLENBQUMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBQyxDQUFDO3FEQUNiO0lBR3ZDO1FBREMsUUFBUSxDQUFDLEVBQUMsV0FBVyxFQUFFLFdBQVcsRUFBQyxDQUFDO3FEQUNOO0lBTGQsWUFBWTtRQURoQyxPQUFPO09BQ2EsWUFBWSxDQTBEaEM7SUFBRCxtQkFBQztDQTFERCxBQTBEQyxDQTFEeUMsRUFBRSxDQUFDLGVBQWUsR0EwRDNEO2tCQTFEb0IsWUFBWSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCZXppZXJBc3NlbWJsZXIgZnJvbSBcIi4vYmV6aWVyX2Fzc2VtYmxlclwiO1xyXG5cclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmV6aWVyUmVuZGVyIGV4dGVuZHMgY2MuUmVuZGVyQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eSh7dHlwZTogW2NjLlRleHR1cmUyRF0sIGRpc3BsYXlOYW1lOiBcIue6ueeQhlwifSlcclxuICAgIHB1YmxpYyB0ZXh0dXJlTGlzdDogY2MuVGV4dHVyZTJEW10gPSBbXVxyXG5cclxuICAgIEBwcm9wZXJ0eSh7ZGlzcGxheU5hbWU6IFwi5q+P5p2h6L655LiK55qE6aG254K55pWw6YePXCJ9KVxyXG4gICAgcHVibGljIHBvaW50c0NvdW50OiBudW1iZXIgPSAxMFxyXG5cclxuICAgIHByb3RlY3RlZCBfaW5pdGVkTWF0ZXJpYWw6IGJvb2xlYW4gPSBmYWxzZVxyXG5cclxuICAgIG9uRW5hYmxlICgpIHtcclxuICAgICAgICBzdXBlci5vbkVuYWJsZSgpO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpbml0KCkge1xyXG4gICAgICAgIGlmICghdGhpcy5faW5pdGVkTWF0ZXJpYWwpIHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVNYXRlcmlhbCgpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNldFZlcnRzRGlydHkoKVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBfcmVzZXRBc3NlbWJsZXIoKSB7XHJcbiAgICAgICAgbGV0IGFzc2VtYmxlciA9IHRoaXMuX2Fzc2VtYmxlciA9IG5ldyBCZXppZXJBc3NlbWJsZXIoKVxyXG4gICAgICAgIGFzc2VtYmxlci5pbml0KHRoaXMpXHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF91cGRhdGVNYXRlcmlhbCgpIHtcclxuICAgICAgICBsZXQgbWF0ZXJpYWwgPSB0aGlzLmdldE1hdGVyaWFsKDApXHJcbiAgICAgICAgaWYgKG1hdGVyaWFsKSB7XHJcbiAgICAgICAgICAgIG1hdGVyaWFsLmRlZmluZSgnQ0NfVVNFX01PREVMJywgMSk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRleHR1cmVMaXN0Lmxlbmd0aCA9PT0gMikge1xyXG4gICAgICAgICAgICAgICAgbWF0ZXJpYWwuc2V0UHJvcGVydHkoJ3RleHR1cmUwJywgdGhpcy50ZXh0dXJlTGlzdFswXSk7XHJcbiAgICAgICAgICAgICAgICBtYXRlcmlhbC5zZXRQcm9wZXJ0eSgndGV4dHVyZTEnLCB0aGlzLnRleHR1cmVMaXN0WzFdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdXBkYXRlTWF0ZXJpYWwgKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnRleHR1cmVMaXN0Lmxlbmd0aCA9PT0gMikge1xyXG4gICAgICAgICAgICB0aGlzLl91cGRhdGVNYXRlcmlhbCgpXHJcbiAgICAgICAgICAgIHRoaXMuX2luaXRlZE1hdGVyaWFsID0gdHJ1ZVxyXG4gICAgICAgICAgICByZXR1cm5cclxuICAgICAgICB9ICAgXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFBvaW50Q291bnQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucG9pbnRzQ291bnRcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdXBkYXRlQW5nbGUoYW5nbGU6IG51bWJlcikge1xyXG4gICAgICAgIGlmKCF0aGlzLl9hc3NlbWJsZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9hc3NlbWJsZXIuYW5nbGUgPSBhbmdsZTtcclxuICAgICAgICB0aGlzLl9hc3NlbWJsZXIudXBkYXRlUmVuZGVyRGF0YSh0aGlzKTtcclxuICAgIH1cclxufSJdfQ==
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9PUDEzL3NjcmlwdC9iZXppZXJfcmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFpRDtBQUUzQyxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUkxQztJQUEwQyxnQ0FBa0I7SUFBNUQ7UUFBQSxxRUEwREM7UUF4RFUsaUJBQVcsR0FBbUIsRUFBRSxDQUFBO1FBR2hDLGlCQUFXLEdBQVcsRUFBRSxDQUFBO1FBRXJCLHFCQUFlLEdBQVksS0FBSyxDQUFBOztJQW1EOUMsQ0FBQztJQWpERywrQkFBUSxHQUFSO1FBQ0ksaUJBQU0sUUFBUSxXQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTSwyQkFBSSxHQUFYO1FBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO1NBQ3hCO1FBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFFTSxzQ0FBZSxHQUF0QjtRQUNJLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSwwQkFBZSxFQUFFLENBQUE7UUFDdkQsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4QixDQUFDO0lBRVMsc0NBQWUsR0FBekI7UUFDSSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLElBQUksUUFBUSxFQUFFO1lBQ1YsUUFBUSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQy9CLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdEQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3pEO1NBQ0o7SUFDTCxDQUFDO0lBRVMscUNBQWMsR0FBeEI7UUFDSSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7WUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUE7WUFDM0IsT0FBTTtTQUNUO0lBQ0wsQ0FBQztJQUVNLG9DQUFhLEdBQXBCO1FBQ0ksT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFBO0lBQzNCLENBQUM7SUFFTSxrQ0FBVyxHQUFsQixVQUFtQixLQUFhO1FBQzVCLElBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLE9BQU07U0FDVDtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUF2REQ7UUFEQyxRQUFRLENBQUMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBQyxDQUFDO3FEQUNiO0lBR3ZDO1FBREMsUUFBUSxDQUFDLEVBQUMsV0FBVyxFQUFFLFdBQVcsRUFBQyxDQUFDO3FEQUNOO0lBTGQsWUFBWTtRQURoQyxPQUFPO09BQ2EsWUFBWSxDQTBEaEM7SUFBRCxtQkFBQztDQTFERCxBQTBEQyxDQTFEeUMsRUFBRSxDQUFDLGVBQWUsR0EwRDNEO2tCQTFEb0IsWUFBWSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCZXppZXJBc3NlbWJsZXIgZnJvbSBcIi4vYmV6aWVyX2Fzc2VtYmxlclwiO1xuXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcblxuXG5AY2NjbGFzc1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmV6aWVyUmVuZGVyIGV4dGVuZHMgY2MuUmVuZGVyQ29tcG9uZW50IHtcbiAgICBAcHJvcGVydHkoe3R5cGU6IFtjYy5UZXh0dXJlMkRdLCBkaXNwbGF5TmFtZTogXCLnurnnkIZcIn0pXG4gICAgcHVibGljIHRleHR1cmVMaXN0OiBjYy5UZXh0dXJlMkRbXSA9IFtdXG5cbiAgICBAcHJvcGVydHkoe2Rpc3BsYXlOYW1lOiBcIuavj+adoei+ueS4iueahOmhtueCueaVsOmHj1wifSlcbiAgICBwdWJsaWMgcG9pbnRzQ291bnQ6IG51bWJlciA9IDEwXG5cbiAgICBwcm90ZWN0ZWQgX2luaXRlZE1hdGVyaWFsOiBib29sZWFuID0gZmFsc2VcblxuICAgIG9uRW5hYmxlICgpIHtcbiAgICAgICAgc3VwZXIub25FbmFibGUoKTtcbiAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5faW5pdGVkTWF0ZXJpYWwpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTWF0ZXJpYWwoKVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRWZXJ0c0RpcnR5KClcbiAgICB9XG5cbiAgICBwdWJsaWMgX3Jlc2V0QXNzZW1ibGVyKCkge1xuICAgICAgICBsZXQgYXNzZW1ibGVyID0gdGhpcy5fYXNzZW1ibGVyID0gbmV3IEJlemllckFzc2VtYmxlcigpXG4gICAgICAgIGFzc2VtYmxlci5pbml0KHRoaXMpXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF91cGRhdGVNYXRlcmlhbCgpIHtcbiAgICAgICAgbGV0IG1hdGVyaWFsID0gdGhpcy5nZXRNYXRlcmlhbCgwKVxuICAgICAgICBpZiAobWF0ZXJpYWwpIHtcbiAgICAgICAgICAgIG1hdGVyaWFsLmRlZmluZSgnQ0NfVVNFX01PREVMJywgMSk7XG4gICAgICAgICAgICBpZiAodGhpcy50ZXh0dXJlTGlzdC5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgICAgICBtYXRlcmlhbC5zZXRQcm9wZXJ0eSgndGV4dHVyZTAnLCB0aGlzLnRleHR1cmVMaXN0WzBdKTtcbiAgICAgICAgICAgICAgICBtYXRlcmlhbC5zZXRQcm9wZXJ0eSgndGV4dHVyZTEnLCB0aGlzLnRleHR1cmVMaXN0WzFdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVNYXRlcmlhbCAoKSB7XG4gICAgICAgIGlmICh0aGlzLnRleHR1cmVMaXN0Lmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlTWF0ZXJpYWwoKVxuICAgICAgICAgICAgdGhpcy5faW5pdGVkTWF0ZXJpYWwgPSB0cnVlXG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfSAgIFxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQb2ludENvdW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wb2ludHNDb3VudFxuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVBbmdsZShhbmdsZTogbnVtYmVyKSB7XG4gICAgICAgIGlmKCF0aGlzLl9hc3NlbWJsZXIpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fYXNzZW1ibGVyLmFuZ2xlID0gYW5nbGU7XG4gICAgICAgIHRoaXMuX2Fzc2VtYmxlci51cGRhdGVSZW5kZXJEYXRhKHRoaXMpO1xuICAgIH1cbn0iXX0=
\ No newline at end of file
......@@ -98,4 +98,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcT1AxM1xcc2NyaXB0XFxjYXB0dXJlX3RvX3dlYi5qcyJdLCJuYW1lcyI6WyJjYyIsIkNsYXNzIiwiQ29tcG9uZW50Iiwic3RhcnQiLCJkb0NhcHR1cmUiLCJub2RlQ2FwdHVyZSIsImlzVHVybiIsIm5vZGVDYW1lcmEiLCJOb2RlIiwicGFyZW50IiwiZmluZCIsImNhbWVyYSIsImFkZENvbXBvbmVudCIsIkNhbWVyYSIsInBvc2l0aW9uIiwiZ2V0UG9zaXRpb24iLCJ3aWR0aCIsImhlaWdodCIsInNjYWxlWCIsImFsaWduV2l0aFNjcmVlbiIsIm9ydGhvIiwib3J0aG9TaXplIiwidGV4dHVyZSIsIlJlbmRlclRleHR1cmUiLCJpbml0V2l0aFNpemUiLCJnZngiLCJSQl9GTVRfUzgiLCJ0YXJnZXRUZXh0dXJlIiwiY2FudmFzIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY3R4IiwiZ2V0Q29udGV4dCIsInNldFBvc2l0aW9uIiwiVmVjMiIsIlpFUk8iLCJyZW5kZXIiLCJkYXRhIiwicmVhZFBpeGVscyIsInJvd0J5dGVzIiwicm93Iiwic3JvdyIsImltYWdlRGF0YSIsImNyZWF0ZUltYWdlRGF0YSIsImkiLCJwdXRJbWFnZURhdGEiLCJkYXRhVVJMIiwidG9EYXRhVVJMIiwiaW1nIiwic3JjIiwiZGVzdHJveSIsInRleHR1cmUyRCIsIlRleHR1cmUyRCIsImluaXRXaXRoRWxlbWVudCIsInNwcml0ZUZyYW1lIiwiU3ByaXRlRnJhbWUiLCJzZXRUZXh0dXJlIiwibm9kZSIsInNwcml0ZSIsIlNwcml0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQUEsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDTCxhQUFTRCxFQUFFLENBQUNFLFNBRFA7QUFHTEMsRUFBQUEsS0FISyxtQkFHSSxDQUVSLENBTEk7QUFPTEMsRUFBQUEsU0FQSyxxQkFPS0MsV0FQTCxFQU9pQkMsTUFQakIsRUFPeUI7QUFDMUIsUUFBSUMsVUFBVSxHQUFH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Q0EsUUFBSUMsR0FBRyxHQUFHbkIsUUFBUSxDQUFDQyxhQUFULENBQXVCLEtBQXZCLENBQVY7QUFDQWtCLElBQUFBLEdBQUcsQ0FBQ0MsR0FBSixHQUFVSCxPQUFWO0FBRUF2QyxJQUFBQSxVQUFVLENBQUMyQyxPQUFYO0FBRUEsUUFBSUMsU0FBUyxHQUFHLElBQUluRCxFQUFFLENBQUNvRCxTQUFQLEVBQWhCO0FBQ0FELElBQUFBLFNBQVMsQ0FBQ0UsZUFBVixDQUEwQkwsR0FBMUI7QUFFQSxRQUFJTSxXQUFXLEdBQUcsSUFBSXRELEVBQUUsQ0FBQ3VELFdBQVAsRUFBbEI7QUFDQUQsSUFBQUEsV0FBVyxDQUFDRSxVQUFaLENBQXVCTCxTQUF2QjtBQUVBLFFBQUlNLElBQUksR0FBRyxJQUFJekQsRUFBRSxDQUFDUSxJQUFQLEVBQVg7QUFDQSxRQUFJa0QsTUFBTSxHQUFHRCxJQUFJLENBQUM3QyxZQUFMLENBQWtCWixFQUFFLENBQUMyRCxNQUFyQixDQUFiO0FBQ0FELElBQUFBLE1BQU0sQ0FBQ0osV0FBUCxHQUFxQkEsV0FBckI7QUFDQWpELElBQUFBLFdBQVcsQ0FBQ2EsTUFBWixHQUFxQixDQUFyQjtBQUNBLFdBQU9vQyxXQUFQO0FBQ0g7QUEvRUksQ0FBVCIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiY2MuQ2xhc3Moe1xyXG4gICAgZXh0ZW5kczogY2MuQ29tcG9uZW50LFxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcblxyXG4gICAgZG9DYXB0dXJlKG5vZGVDYXB0dXJlLGlzVHVybikge1xyXG4gICAgICAgIGxldCBub2RlQ2FtZXJhID0gbmV3IGNjLk5vZGUoKTtcclxuICAgICAgICBub2RlQ2FtZXJhLnBhcmVudCA9IGNjLmZpbmQoXCJDYW52YXNcIik7XHJcbiAgICAgICAgbGV0IGNhbWVyYSA9IG5vZGVDYW1lcmEuYWRkQ29tcG9uZW50KGNjLkNhbWVyYSk7XHJcbiAgICBcclxuICAgICAgICBsZXQgcG9zaXRpb24gPSBub2RlQ2FwdHVyZS5nZXRQb3NpdGlvbigpO1xyXG4gICAgICAgIGxldCB3aWR0aCA9IG5vZGVDYXB0dXJlLndpZHRoO1xyXG4gICAgICAgIGxldCBoZWlnaHQgPSBub2RlQ2FwdHVyZS5oZWlnaHQ7XHJcbiAgICAgICAgaWYoaXNUdXJuKXtcclxuICAgICAgICAgICAgbm9kZUNhcHR1cmUuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOW9kyBhbGlnbldpdGhTY3JlZW4g5Li6IHRydWUg55qE5pe25YCZ77yM5pGE5YOP5py65Lya6Ieq5Yqo5bCG6KeG56qX5aSn5bCP6LCD5pW05Li65pW05Liq5bGP5bmV55qE5aSn5bCP44CC5aaC5p6c5oOz6KaB5a6M5YWo6Ieq55Sx5Zyw5o6n5Yi25pGE5YOP5py677yM5YiZ6ZyA6KaB5bCGIGFsaWduV2l0aFNjcmVlbiDorr7nva7kuLogZmFsc2XjgILvvIh2Mi4yLjEg5paw5aKe77yJXHJcbiAgICAgICAgY2FtZXJhLmFsaWduV2l0aFNjcmVlbiA9IGZhbHNlO1xyXG4gICAgICAgIC8vIOiuvue9ruaRhOWDj+acuueahOaKleW9seaooeW8j+aYr+ato+S6pO+8iHRydWXvvInov5jmmK/pgI/op4bvvIhmYWxzZe+8ieaooeW8j1xyXG4gICAgICAgIGNhbWVyYS5vcnRobyA9IHRydWU7XHJcbiAgICAgICAgLy8g5pGE5YOP5py65Zyo5q2j5Lqk5oqV5b2x5qih5byP5LiL55qE6KeG56qX5aSn5bCP44CC6K+l5bGe5oCn5ZyoIGFsaWduV2l0aFNjcmVlbiDorr7nva7kuLogZmFsc2Ug5pe255Sf5pWI44CCXHJcbiAgICAgICAgY2FtZXJhLm9ydGhvU2l6ZSA9IGhlaWdodCAvIDI7XHJcbiAgICBcclxuICAgICAgICBsZXQgdGV4dHVyZSA9IG5ldyBjYy5SZW5kZXJUZXh0dXJlKCk7XHJcbiAgICAgICAgLy8g5aaC5p6c5oiq5Zu+5YaF5a655Lit5LiN5YyF5ZCrIE1hc2sg57uE5Lu277yM5Y+v5Lul5LiN55So5Lyg6YCS56ys5LiJ5Liq5Y+C5pWwXHJcbiAgICAgICAgdGV4dHVyZS5pbml0V2l0aFNpemUod2lkdGgsIGhlaWdodCwgY2MuZ2Z4LlJCX0ZNVF9TOCk7XHJcbiAgICBcclxuICAgICAgICAvLyDlpoLmnpzorr7nva7kuoYgdGFyZ2V0VGV4dHVyZe+8jOmCo+S5iOaRhOWDj+acuua4suafk+eahOWGheWuueS4jeS8mui+k+WHuuWIsOWxj+W5leS4iu+8jOiAjOaYr+S8mua4suafk+WIsCB0YXJnZXRUZXh0dXJlIOS4iuOAglxyXG4gICAgICAgIGNhbWVyYS50YXJnZXRUZXh0dXJlID0gdGV4dHVyZTtcclxuICAgIFxyXG4gICAgICAgIC8vIOWIm+W7uueUu+W4g1xyXG4gICAgICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICAgICAgICBjYW52YXMud2lkdGggPSB3aWR0aDtcclxuICAgICAgICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0O1xyXG4gICAgXHJcbiAgICAgICAgbGV0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgXHJcbiAgICAgICAgbm9kZUNhcHR1cmUuc2V0UG9zaXRpb24oY2MuVmVjMi5aRVJPKTtcclxuICAgICAgICAvLyDmuLLmn5PkuIDmrKHmkYTlg4/mnLrvvIzljbPmm7TmlrDkuIDmrKHlhoXlrrnliLAgUmVuZGVyVGV4dHVyZSDkuK1cclxuICAgICAgICBjYW1lcmEucmVuZGVyKG5vZGVDYXB0dXJlKTtcclxuICAgICAgICBub2RlQ2FwdHVyZS5zZXRQb3NpdGlvbihwb3NpdGlvbik7XHJcbiAgICAgICAgLy8g5LuOIHJlbmRlciB0ZXh0dXJlIOivu+WPluWDj+e0oOaVsOaNru+8jOaVsOaNruexu+Wei+S4uiBSR0JBIOagvOW8j+eahCBVaW50OEFycmF5IOaVsOe7hOOAglxyXG4gICAgICAgIC8vIOm7mOiupOavj+asoeiwg+eUqOatpOWHveaVsOS8mueUn+aIkOS4gOS4quWkp+Wwj+S4uiDvvIjplb8geCDpq5ggeCA077yJIOeahCBVaW50OEFycmF544CCXHJcbiAgICAgICAgbGV0IGRhdGEgPSB0ZXh0dXJlLnJlYWRQaXhlbHMoKTtcclxuICAgICAgICAvLyB3cml0ZSB0aGUgcmVuZGVyIGRhdGFcclxuICAgICAgICAvLyBQTkcg5LitIDEg5YOP57SgID0gMzIgYml077yIUkdCQe+8ie+8jDEgYnl0ZSA9IDggYml077yM5omA5LulIDEg5YOP57SgID0gNCBieXRlXHJcbiAgICAgICAgLy8g5q+P6KGMIHdpZHRoIOWDj+e0oO+8jOWNsyB3aWR0aCAqIDQg5a2X6IqCXHJcbiAgICAgICAgbGV0IHJvd0J5dGVzID0gd2lkdGggKiA0O1xyXG4gICAgICAgIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IGhlaWdodDsgcm93KyspIHtcclxuICAgICAgICAgICAgLy8gUmVuZGVyVGV4dHVyZSDlvpfliLDnmoTnurnnkIbmmK/kuIrkuIvnv7vovaznmoRcclxuICAgICAgICAgICAgbGV0IHNyb3cgPSBoZWlnaHQgLSAxIC0gcm93O1xyXG4gICAgICAgICAgICBsZXQgaW1hZ2VEYXRhID0gY3R4LmNyZWF0ZUltYWdlRGF0YSh3aWR0aCwgMSk7XHJcbiAgICAgICAgICAgIGxldCBzdGFydCA9IHNyb3cgKiB3aWR0aCAqIDQ7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93Qnl0ZXM7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgaW1hZ2VEYXRhLmRhdGFbaV0gPSBkYXRhW3N0YXJ0ICsgaV07XHJcbiAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICBjdHgucHV0SW1hZ2VEYXRhKGltYWdlRGF0YSwgMCwgcm93KTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICBsZXQgZGF0YVVSTCA9IGNhbnZhcy50b0RhdGFVUkwoXCJpbWFnZS9wbmdcIik7XHJcbiAgICAgICAgbGV0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbWdcIik7XHJcbiAgICAgICAgaW1nLnNyYyA9IGRhdGFVUkw7XHJcbiAgICBcclxuICAgICAgICBub2RlQ2FtZXJhLmRlc3Ryb3koKTtcclxuICAgIFxyXG4gICAgICAgIGxldCB0ZXh0dXJlMkQgPSBuZXcgY2MuVGV4dHVyZTJEKCk7XHJcbiAgICAgICAgdGV4dHVyZTJELmluaXRXaXRoRWxlbWVudChpbWcpO1xyXG4gICAgXHJcbiAgICAgICAgbGV0IHNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKCk7XHJcbiAgICAgICAgc3ByaXRlRnJhbWUuc2V0VGV4dHVyZSh0ZXh0dXJlMkQpO1xyXG4gICAgXHJcbiAgICAgICAgbGV0IG5vZGUgPSBuZXcgY2MuTm9kZSgpO1xyXG4gICAgICAgIGxldCBzcHJpdGUgPSBub2RlLmFkZENvbXBvbmVudChjYy5TcHJpdGUpO1xyXG4gICAgICAgIHNwcml0ZS5zcHJpdGVGcmFtZSA9IHNwcml0ZUZyYW1lO1xyXG4gICAgICAgIG5vZGVDYXB0dXJlLnNjYWxlWCA9IDE7XHJcbiAgICAgICAgcmV0dXJuIHNwcml0ZUZyYW1lO1xyXG4gICAgfSxcclxufSk7XHJcbiJdfQ==
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9PUDEzL3NjcmlwdC9jYXB0dXJlX3RvX3dlYi5qcyJdLCJuYW1lcyI6WyJjYyIsIkNsYXNzIiwiQ29tcG9uZW50Iiwic3RhcnQiLCJkb0NhcHR1cmUiLCJub2RlQ2FwdHVyZSIsImlzVHVybiIsIm5vZGVDYW1lcmEiLCJOb2RlIiwicGFyZW50IiwiZmluZCIsImNhbWVyYSIsImFkZENvbXBvbmVudCIsIkNhbWVyYSIsInBvc2l0aW9uIiwiZ2V0UG9zaXRpb24iLCJ3aWR0aCIsImhlaWdodCIsInNjYWxlWCIsImFsaWduV2l0aFNjcmVlbiIsIm9ydGhvIiwib3J0aG9TaXplIiwidGV4dHVyZSIsIlJlbmRlclRleHR1cmUiLCJpbml0V2l0aFNpemUiLCJnZngiLCJSQl9GTVRfUzgiLCJ0YXJnZXRUZXh0dXJlIiwiY2FudmFzIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY3R4IiwiZ2V0Q29udGV4dCIsInNldFBvc2l0aW9uIiwiVmVjMiIsIlpFUk8iLCJyZW5kZXIiLCJkYXRhIiwicmVhZFBpeGVscyIsInJvd0J5dGVzIiwicm93Iiwic3JvdyIsImltYWdlRGF0YSIsImNyZWF0ZUltYWdlRGF0YSIsImkiLCJwdXRJbWFnZURhdGEiLCJkYXRhVVJMIiwidG9EYXRhVVJMIiwiaW1nIiwic3JjIiwiZGVzdHJveSIsInRleHR1cmUyRCIsIlRleHR1cmUyRCIsImluaXRXaXRoRWxlbWVudCIsInNwcml0ZUZyYW1lIiwiU3ByaXRlRnJhbWUiLCJzZXRUZXh0dXJlIiwibm9kZSIsInNwcml0ZSIsIlNwcml0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQUEsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDTCxhQUFTRCxFQUFFLENBQUNFLFNBRFA7QUFHTEMsRUFBQUEsS0FISyxtQkFHSSxDQUVSLENBTEk7QUFPTEMsRUFBQUEsU0FQSyxxQkFPS0MsV0FQTCxFQU9pQkMsTUFQakIsRUFPeUI7QUFDMUIsUUFBSUMsVUFBVSxHQUFHLElB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UUFBSUMsR0FBRyxHQUFHbkIsUUFBUSxDQUFDQyxhQUFULENBQXVCLEtBQXZCLENBQVY7QUFDQWtCLElBQUFBLEdBQUcsQ0FBQ0MsR0FBSixHQUFVSCxPQUFWO0FBRUF2QyxJQUFBQSxVQUFVLENBQUMyQyxPQUFYO0FBRUEsUUFBSUMsU0FBUyxHQUFHLElBQUluRCxFQUFFLENBQUNvRCxTQUFQLEVBQWhCO0FBQ0FELElBQUFBLFNBQVMsQ0FBQ0UsZUFBVixDQUEwQkwsR0FBMUI7QUFFQSxRQUFJTSxXQUFXLEdBQUcsSUFBSXRELEVBQUUsQ0FBQ3VELFdBQVAsRUFBbEI7QUFDQUQsSUFBQUEsV0FBVyxDQUFDRSxVQUFaLENBQXVCTCxTQUF2QjtBQUVBLFFBQUlNLElBQUksR0FBRyxJQUFJekQsRUFBRSxDQUFDUSxJQUFQLEVBQVg7QUFDQSxRQUFJa0QsTUFBTSxHQUFHRCxJQUFJLENBQUM3QyxZQUFMLENBQWtCWixFQUFFLENBQUMyRCxNQUFyQixDQUFiO0FBQ0FELElBQUFBLE1BQU0sQ0FBQ0osV0FBUCxHQUFxQkEsV0FBckI7QUFDQWpELElBQUFBLFdBQVcsQ0FBQ2EsTUFBWixHQUFxQixDQUFyQjtBQUNBLFdBQU9vQyxXQUFQO0FBQ0g7QUEvRUksQ0FBVCIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiY2MuQ2xhc3Moe1xuICAgIGV4dGVuZHM6IGNjLkNvbXBvbmVudCxcblxuICAgIHN0YXJ0ICgpIHtcbiAgICAgICAgXG4gICAgfSxcblxuICAgIGRvQ2FwdHVyZShub2RlQ2FwdHVyZSxpc1R1cm4pIHtcbiAgICAgICAgbGV0IG5vZGVDYW1lcmEgPSBuZXcgY2MuTm9kZSgpO1xuICAgICAgICBub2RlQ2FtZXJhLnBhcmVudCA9IGNjLmZpbmQoXCJDYW52YXNcIik7XG4gICAgICAgIGxldCBjYW1lcmEgPSBub2RlQ2FtZXJhLmFkZENvbXBvbmVudChjYy5DYW1lcmEpO1xuICAgIFxuICAgICAgICBsZXQgcG9zaXRpb24gPSBub2RlQ2FwdHVyZS5nZXRQb3NpdGlvbigpO1xuICAgICAgICBsZXQgd2lkdGggPSBub2RlQ2FwdHVyZS53aWR0aDtcbiAgICAgICAgbGV0IGhlaWdodCA9IG5vZGVDYXB0dXJlLmhlaWdodDtcbiAgICAgICAgaWYoaXNUdXJuKXtcbiAgICAgICAgICAgIG5vZGVDYXB0dXJlLnNjYWxlWCA9IC0xO1xuICAgICAgICB9XG4gICAgICAgIC8vIOW9kyBhbGlnbldpdGhTY3JlZW4g5Li6IHRydWUg55qE5pe25YCZ77yM5pGE5YOP5py65Lya6Ieq5Yqo5bCG6KeG56qX5aSn5bCP6LCD5pW05Li65pW05Liq5bGP5bmV55qE5aSn5bCP44CC5aaC5p6c5oOz6KaB5a6M5YWo6Ieq55Sx5Zyw5o6n5Yi25pGE5YOP5py677yM5YiZ6ZyA6KaB5bCGIGFsaWduV2l0aFNjcmVlbiDorr7nva7kuLogZmFsc2XjgILvvIh2Mi4yLjEg5paw5aKe77yJXG4gICAgICAgIGNhbWVyYS5hbGlnbldpdGhTY3JlZW4gPSBmYWxzZTtcbiAgICAgICAgLy8g6K6+572u5pGE5YOP5py655qE5oqV5b2x5qih5byP5piv5q2j5Lqk77yIdHJ1Ze+8iei/mOaYr+mAj+inhu+8iGZhbHNl77yJ5qih5byPXG4gICAgICAgIGNhbWVyYS5vcnRobyA9IHRydWU7XG4gICAgICAgIC8vIOaRhOWDj+acuuWcqOato+S6pOaKleW9seaooeW8j+S4i+eahOinhueql+Wkp+Wwj+OAguivpeWxnuaAp+WcqCBhbGlnbldpdGhTY3JlZW4g6K6+572u5Li6IGZhbHNlIOaXtueUn+aViOOAglxuICAgICAgICBjYW1lcmEub3J0aG9TaXplID0gaGVpZ2h0IC8gMjtcbiAgICBcbiAgICAgICAgbGV0IHRleHR1cmUgPSBuZXcgY2MuUmVuZGVyVGV4dHVyZSgpO1xuICAgICAgICAvLyDlpoLmnpzmiKrlm77lhoXlrrnkuK3kuI3ljIXlkKsgTWFzayDnu4Tku7bvvIzlj6/ku6XkuI3nlKjkvKDpgJLnrKzkuInkuKrlj4LmlbBcbiAgICAgICAgdGV4dHVyZS5pbml0V2l0aFNpemUod2lkdGgsIGhlaWdodCwgY2MuZ2Z4LlJCX0ZNVF9TOCk7XG4gICAgXG4gICAgICAgIC8vIOWmguaenOiuvue9ruS6hiB0YXJnZXRUZXh0dXJl77yM6YKj5LmI5pGE5YOP5py65riy5p+T55qE5YaF5a655LiN5Lya6L6T5Ye65Yiw5bGP5bmV5LiK77yM6ICM5piv5Lya5riy5p+T5YiwIHRhcmdldFRleHR1cmUg5LiK44CCXG4gICAgICAgIGNhbWVyYS50YXJnZXRUZXh0dXJlID0gdGV4dHVyZTtcbiAgICBcbiAgICAgICAgLy8g5Yib5bu655S75biDXG4gICAgICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgICAgY2FudmFzLndpZHRoID0gd2lkdGg7XG4gICAgICAgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XG4gICAgXG4gICAgICAgIGxldCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICBcbiAgICAgICAgbm9kZUNhcHR1cmUuc2V0UG9zaXRpb24oY2MuVmVjMi5aRVJPKTtcbiAgICAgICAgLy8g5riy5p+T5LiA5qyh5pGE5YOP5py677yM5Y2z5pu05paw5LiA5qyh5YaF5a655YiwIFJlbmRlclRleHR1cmUg5LitXG4gICAgICAgIGNhbWVyYS5yZW5kZXIobm9kZUNhcHR1cmUpO1xuICAgICAgICBub2RlQ2FwdHVyZS5zZXRQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgICAgIC8vIOS7jiByZW5kZXIgdGV4dHVyZSDor7vlj5blg4/ntKDmlbDmja7vvIzmlbDmja7nsbvlnovkuLogUkdCQSDmoLzlvI/nmoQgVWludDhBcnJheSDmlbDnu4TjgIJcbiAgICAgICAgLy8g6buY6K6k5q+P5qyh6LCD55So5q2k5Ye95pWw5Lya55Sf5oiQ5LiA5Liq5aSn5bCP5Li6IO+8iOmVvyB4IOmrmCB4IDTvvIkg55qEIFVpbnQ4QXJyYXnjgIJcbiAgICAgICAgbGV0IGRhdGEgPSB0ZXh0dXJlLnJlYWRQaXhlbHMoKTtcbiAgICAgICAgLy8gd3JpdGUgdGhlIHJlbmRlciBkYXRhXG4gICAgICAgIC8vIFBORyDkuK0gMSDlg4/ntKAgPSAzMiBiaXTvvIhSR0JB77yJ77yMMSBieXRlID0gOCBiaXTvvIzmiYDku6UgMSDlg4/ntKAgPSA0IGJ5dGVcbiAgICAgICAgLy8g5q+P6KGMIHdpZHRoIOWDj+e0oO+8jOWNsyB3aWR0aCAqIDQg5a2X6IqCXG4gICAgICAgIGxldCByb3dCeXRlcyA9IHdpZHRoICogNDtcbiAgICAgICAgZm9yIChsZXQgcm93ID0gMDsgcm93IDwgaGVpZ2h0OyByb3crKykge1xuICAgICAgICAgICAgLy8gUmVuZGVyVGV4dHVyZSDlvpfliLDnmoTnurnnkIbmmK/kuIrkuIvnv7vovaznmoRcbiAgICAgICAgICAgIGxldCBzcm93ID0gaGVpZ2h0IC0gMSAtIHJvdztcbiAgICAgICAgICAgIGxldCBpbWFnZURhdGEgPSBjdHguY3JlYXRlSW1hZ2VEYXRhKHdpZHRoLCAxKTtcbiAgICAgICAgICAgIGxldCBzdGFydCA9IHNyb3cgKiB3aWR0aCAqIDQ7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd0J5dGVzOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpbWFnZURhdGEuZGF0YVtpXSA9IGRhdGFbc3RhcnQgKyBpXTtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIGN0eC5wdXRJbWFnZURhdGEoaW1hZ2VEYXRhLCAwLCByb3cpO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIGxldCBkYXRhVVJMID0gY2FudmFzLnRvRGF0YVVSTChcImltYWdlL3BuZ1wiKTtcbiAgICAgICAgbGV0IGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbWdcIik7XG4gICAgICAgIGltZy5zcmMgPSBkYXRhVVJMO1xuICAgIFxuICAgICAgICBub2RlQ2FtZXJhLmRlc3Ryb3koKTtcbiAgICBcbiAgICAgICAgbGV0IHRleHR1cmUyRCA9IG5ldyBjYy5UZXh0dXJlMkQoKTtcbiAgICAgICAgdGV4dHVyZTJELmluaXRXaXRoRWxlbWVudChpbWcpO1xuICAgIFxuICAgICAgICBsZXQgc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUoKTtcbiAgICAgICAgc3ByaXRlRnJhbWUuc2V0VGV4dHVyZSh0ZXh0dXJlMkQpO1xuICAgIFxuICAgICAgICBsZXQgbm9kZSA9IG5ldyBjYy5Ob2RlKCk7XG4gICAgICAgIGxldCBzcHJpdGUgPSBub2RlLmFkZENvbXBvbmVudChjYy5TcHJpdGUpO1xuICAgICAgICBzcHJpdGUuc3ByaXRlRnJhbWUgPSBzcHJpdGVGcmFtZTtcbiAgICAgICAgbm9kZUNhcHR1cmUuc2NhbGVYID0gMTtcbiAgICAgICAgcmV0dXJuIHNwcml0ZUZyYW1lO1xuICAgIH0sXG59KTtcbiJdfQ==
\ No newline at end of file
......@@ -132,4 +132,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcT1AxM1xcc2NyaXB0XFxwYWdlX2VmZmVjdF9hc3NlbWJsZXJfYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQTtJQUFxRCwyQ0FBWTtJQUFqRTtRQUFBLHFFQStGQztRQTlGRywwQkFBMEI7UUFDaEIsbUJBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIsa0JBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsbUJBQWEsR0FBRyxDQUFDLENBQUM7UUFFbEIsaUJBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsZ0JBQVUsR0FBa0IsSUFBSSxDQUFDOztJQXdGL0MsQ0FBQztJQXRGRyxzQkFBSSxtREFBYzthQUFsQjtZQUNJLE9BQU8sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ25ELENBQUM7OztPQUFBO0lBRUQsMkNBQVMsR0FBVDtRQUNJLFlBQVk7UUFDWixPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELHlDQUFPLEdBQVA7UUFDSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELDZDQUFXLEdBQVgsVUFBWSxJQUFJLEVBQUUsS0FBSztRQUNuQixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFDdkIsS0FBSyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3JELElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkMsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNuQyxLQUFLLElBQUksQ0FBQyxHQUFHLFdBQVcsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxhQUFhLEVBQUU7WUFDdkUsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFRCwrQ0FBYSxHQUFiLFVBQWMsSUFBSSxFQUFFLFVBQVU7UUFDMUIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN2QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQ2hELEtBQUssR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDO1lBQzFCLElBQUksV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLElBQUksVUFBVSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQyxDQUFDO1lBQzNFLElBQUksV0FBVyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVFLElBQUksT0FBTyxHQUFHLFVBQVUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ25ELEtBQUssQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsT0FBTyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUVELDBDQUFRLEdBQVI7UUFDSSxZQUFZO1FBQ1osSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzNCLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFOUUsaUJBQWlCO1FBQ2pCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDL0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLElBQUksU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEIsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO1lBQzNCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLFNBQVMsR0FBQyxDQUFDLENBQUM7WUFDN0IsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsU0FBUyxHQUFDLENBQUMsQ0FBQztZQUM3QixPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxTQUFTLEdBQUMsQ0FBQyxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLFNBQVMsR0FBQyxDQUFDLENBQUM7WUFDN0IsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsU0FBUyxHQUFDLENBQUMsQ0FBQztTQUNoQztJQUNMLENBQUM7SUFFRCw2Q0FBVyxHQUFYLFVBQVksSUFBSSxFQUFFLFFBQVE7UUFDdEIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNqQyxJQUFJLEtBQUssR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksS0FBSyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlCLElBQUksVUFBVSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdkUsSUFBSSxZQUFZLEdBQUcsVUFBVSxDQUFDLFVBQVUsSUFBSSxDQUFDLEVBQ3pDLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBRXpCLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUMzQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDekU7YUFBTTtZQUNILElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFDcEIsWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQ3RDLFFBQVEsR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5QztJQUNMLENBQUM7SUFDTCw4QkFBQztBQUFELENBL0ZBLEFBK0ZDLENBL0ZvRCxFQUFFLENBQUMsU0FBUyxHQStGaEUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGFnZUVmZmVjdEFzc2VtYmxlckJhc2UgZXh0ZW5kcyBjYy5Bc3NlbWJsZXIge1xyXG4gICAgLy8g5pmu6YCa5Zub6L655b2i55qE5bGe5oCn77yM5qC55o2u5a6e6ZmF55qE6aG254K55qC85byP44CB5pWw6YeP6LCD5pW0XHJcbiAgICBwcm90ZWN0ZWQgdmVydGljZXNDb3VudCA9IDQ7XHJcbiAgICBwcm90ZWN0ZWQgaW5kaWNlc0NvdW50ID0gNjtcclxuICAgIHByb3RlY3RlZCBmbG9hdHNQZXJWZXJ0ID0gNTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgY29sb3JPZmZzZXQgPSA0OyAgICBcclxuICAgIHByb3RlY3RlZCByZW5kZXJEYXRhOiBjYy5SZW5kZXJEYXRhID0gbnVsbDtcclxuXHJcbiAgICBnZXQgdmVydGljZXNGbG9hdHMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmVydGljZXNDb3VudCAqIHRoaXMuZmxvYXRzUGVyVmVydDtcclxuICAgIH1cclxuXHJcbiAgICBnZXRCdWZmZXIoKSB7XHJcbiAgICAgICAgLy9AdHMtaWdub3JlXHJcbiAgICAgICAgcmV0dXJuIGNjLnJlbmRlcmVyLl9oYW5kbGUuZ2V0QnVmZmVyKFwibWVzaFwiLCB0aGlzLmdldFZmbXQoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VmZtdCgpIHtcclxuICAgICAgICAvLyB0byBiZSBvdmVyd3JpdGVcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVDb2xvcihjb21wLCBjb2xvcikge1xyXG4gICAgICAgIGxldCB1aW50VmVydHMgPSB0aGlzLnJlbmRlckRhdGEudWludFZEYXRhc1swXTtcclxuICAgICAgICBpZiAoIXVpbnRWZXJ0cykgcmV0dXJuO1xyXG4gICAgICAgIGNvbG9yID0gY29sb3IgIT0gbnVsbCA/IGNvbG9yIDogY29tcC5ub2RlLmNvbG9yLl92YWw7XHJcbiAgICAgICAgbGV0IGZsb2F0c1BlclZlcnQgPSB0aGlzLmZsb2F0c1BlclZlcnQ7XHJcbiAgICAgICAgbGV0IGNvbG9yT2Zmc2V0ID0gdGhpcy5jb2xvck9mZnNldDtcclxuICAgICAgICBmb3IgKGxldCBpID0gY29sb3JPZmZzZXQsIGwgPSB1aW50VmVydHMubGVuZ3RoOyBpIDwgbDsgaSArPSBmbG9hdHNQZXJWZXJ0KSB7XHJcbiAgICAgICAgICAgIHVpbnRWZXJ0c1tpXSA9IGNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVJc0Zyb250KGNvbXAsIGRhdGFPZmZzZXQpIHtcclxuICAgICAgICBsZXQgdmVydHMgPSB0aGlzLnJlbmRlckRhdGEudkRhdGFzWzBdO1xyXG4gICAgICAgIGxldCBpbmRleCA9IDA7XHJcbiAgICAgICAgbGV0IGZsb2F0c1BlclZlcnQgPSB0aGlzLmZsb2F0c1BlclZlcnQ7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIG4gPSB0aGlzLnZlcnRpY2VzQ291bnQ7IGkgPCBuOyArK2kpIHtcclxuICAgICAgICAgICAgaW5kZXggPSBpICogZmxvYXRzUGVyVmVydDtcclxuICAgICAgICAgICAgbGV0IGlzRmlyc3RWZXJ0ID0gaSAlIDIgPT09IDA7XHJcbiAgICAgICAgICAgIGxldCBmaXJzdFZlcnRYID0gaXNGaXJzdFZlcnQgPyB2ZXJ0c1tpbmRleF0gOiB2ZXJ0c1tpbmRleCAtIGZsb2F0c1BlclZlcnRdO1xyXG4gICAgICAgICAgICBsZXQgc2Vjb25kVmVydFggPSBpc0ZpcnN0VmVydCA/IHZlcnRzW2luZGV4ICsgZmxvYXRzUGVyVmVydF0gOiB2ZXJ0c1tpbmRleF07XHJcbiAgICAgICAgICAgIGxldCBpc0Zyb250ID0gZmlyc3RWZXJ0WCA8IHNlY29uZFZlcnRYID8gMS4wIDogMC4wO1xyXG4gICAgICAgICAgICB2ZXJ0c1tpbmRleCArIGRhdGFPZmZzZXRdID0gaXNGcm9udDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGluaXREYXRhKCkge1xyXG4gICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgIHRoaXMucmVuZGVyRGF0YSA9IG5ldyBjYy5SZW5kZXJEYXRhKCk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJEYXRhLmluaXQodGhpcyk7XHJcblxyXG4gICAgICAgIGxldCBkYXRhID0gdGhpcy5yZW5kZXJEYXRhO1xyXG4gICAgICAgIC8vIGNyZWF0ZUZsZXhEYXRh5pSv5oyB5Yib5bu65oyH5a6a5qC85byP55qEcmVuZGVyRGF0YVxyXG4gICAgICAgIGRhdGEuY3JlYXRlRmxleERhdGEoMCwgdGhpcy52ZXJ0aWNlc0NvdW50LCB0aGlzLmluZGljZXNDb3VudCwgdGhpcy5nZXRWZm10KCkpO1xyXG5cclxuICAgICAgICAvLyDpobbngrnmlbDlm7rlrprnmoTmg4XlhrXkuIvntKLlvJXkuI3lj5jljJZcclxuICAgICAgICBsZXQgaW5kaWNlcyA9IGRhdGEuaURhdGFzWzBdO1xyXG4gICAgICAgIGxldCBjb3VudCA9IGluZGljZXMubGVuZ3RoIC8gNjtcclxuICAgICAgICBmb3IgKGxldCBpID0gMCwgaWR4ID0gMDsgaSA8IGNvdW50OyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IHZlcnRleHRJRCA9IGkgKiA0O1xyXG4gICAgICAgICAgICBpbmRpY2VzW2lkeCsrXSA9IHZlcnRleHRJRDtcclxuICAgICAgICAgICAgaW5kaWNlc1tpZHgrK10gPSB2ZXJ0ZXh0SUQrMTtcclxuICAgICAgICAgICAgaW5kaWNlc1tpZHgrK10gPSB2ZXJ0ZXh0SUQrMjtcclxuICAgICAgICAgICAgaW5kaWNlc1tpZHgrK10gPSB2ZXJ0ZXh0SUQrMTtcclxuICAgICAgICAgICAgaW5kaWNlc1tpZHgrK10gPSB2ZXJ0ZXh0SUQrMztcclxuICAgICAgICAgICAgaW5kaWNlc1tpZHgrK10gPSB2ZXJ0ZXh0SUQrMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZmlsbEJ1ZmZlcnMoY29tcCwgcmVuZGVyZXIpIHtcclxuICAgICAgICBsZXQgcmVuZGVyRGF0YSA9IHRoaXMucmVuZGVyRGF0YTtcclxuICAgICAgICBsZXQgdkRhdGEgPSByZW5kZXJEYXRhLnZEYXRhc1swXTtcclxuICAgICAgICBsZXQgaURhdGEgPSByZW5kZXJEYXRhLmlEYXRhc1swXTtcclxuXHJcbiAgICAgICAgbGV0IGJ1ZmZlciA9IHRoaXMuZ2V0QnVmZmVyKCk7XHJcbiAgICAgICAgbGV0IG9mZnNldEluZm8gPSBidWZmZXIucmVxdWVzdCh0aGlzLnZlcnRpY2VzQ291bnQsIHRoaXMuaW5kaWNlc0NvdW50KTtcclxuXHJcbiAgICAgICAgbGV0IHZlcnRleE9mZnNldCA9IG9mZnNldEluZm8uYnl0ZU9mZnNldCA+PiAyLFxyXG4gICAgICAgICAgICB2YnVmID0gYnVmZmVyLl92RGF0YTtcclxuXHJcbiAgICAgICAgaWYgKHZEYXRhLmxlbmd0aCArIHZlcnRleE9mZnNldCA+IHZidWYubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHZidWYuc2V0KHZEYXRhLnN1YmFycmF5KDAsIHZidWYubGVuZ3RoIC0gdmVydGV4T2Zmc2V0KSwgdmVydGV4T2Zmc2V0KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB2YnVmLnNldCh2RGF0YSwgdmVydGV4T2Zmc2V0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBpYnVmID0gYnVmZmVyLl9pRGF0YSxcclxuICAgICAgICAgICAgaW5kaWNlT2Zmc2V0ID0gb2Zmc2V0SW5mby5pbmRpY2VPZmZzZXQsXHJcbiAgICAgICAgICAgIHZlcnRleElkID0gb2Zmc2V0SW5mby52ZXJ0ZXhPZmZzZXQ7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBpRGF0YS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcclxuICAgICAgICAgICAgaWJ1ZltpbmRpY2VPZmZzZXQrK10gPSB2ZXJ0ZXhJZCArIGlEYXRhW2ldO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9PUDEzL3NjcmlwdC9wYWdlX2VmZmVjdF9hc3NlbWJsZXJfYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQTtJQUFxRCwyQ0FBWTtJQUFqRTtRQUFBLHFFQStGQztRQTlGRywwQkFBMEI7UUFDaEIsbUJBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIsa0JBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsbUJBQWEsR0FBRyxDQUFDLENBQUM7UUFFbEIsaUJBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsZ0JBQVUsR0FBa0IsSUFBSSxDQUFDOztJQXdGL0MsQ0FBQztJQXRGRyxzQkFBSSxtREFBYzthQUFsQjtZQUNJLE9BQU8sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ25ELENBQUM7OztPQUFBO0lBRUQsMkNBQVMsR0FBVDtRQUNJLFlBQVk7UUFDWixPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELHlDQUFPLEdBQVA7UUFDSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELDZDQUFXLEdBQVgsVUFBWSxJQUFJLEVBQUUsS0FBSztRQUNuQixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFDdkIsS0FBSyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3JELElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkMsSUFBSSxXQUFX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QyxDQUFDLENBQUMsQ0FBQztTQUM5QztJQUNMLENBQUM7SUFDTCw4QkFBQztBQUFELENBL0ZBLEFBK0ZDLENBL0ZvRCxFQUFFLENBQUMsU0FBUyxHQStGaEUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhZ2VFZmZlY3RBc3NlbWJsZXJCYXNlIGV4dGVuZHMgY2MuQXNzZW1ibGVyIHtcbiAgICAvLyDmma7pgJrlm5vovrnlvaLnmoTlsZ7mgKfvvIzmoLnmja7lrp7pmYXnmoTpobbngrnmoLzlvI/jgIHmlbDph4/osIPmlbRcbiAgICBwcm90ZWN0ZWQgdmVydGljZXNDb3VudCA9IDQ7XG4gICAgcHJvdGVjdGVkIGluZGljZXNDb3VudCA9IDY7XG4gICAgcHJvdGVjdGVkIGZsb2F0c1BlclZlcnQgPSA1O1xuXG4gICAgcHJvdGVjdGVkIGNvbG9yT2Zmc2V0ID0gNDsgICAgXG4gICAgcHJvdGVjdGVkIHJlbmRlckRhdGE6IGNjLlJlbmRlckRhdGEgPSBudWxsO1xuXG4gICAgZ2V0IHZlcnRpY2VzRmxvYXRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy52ZXJ0aWNlc0NvdW50ICogdGhpcy5mbG9hdHNQZXJWZXJ0O1xuICAgIH1cblxuICAgIGdldEJ1ZmZlcigpIHtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIHJldHVybiBjYy5yZW5kZXJlci5faGFuZGxlLmdldEJ1ZmZlcihcIm1lc2hcIiwgdGhpcy5nZXRWZm10KCkpO1xuICAgIH1cblxuICAgIGdldFZmbXQoKSB7XG4gICAgICAgIC8vIHRvIGJlIG92ZXJ3cml0ZVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB1cGRhdGVDb2xvcihjb21wLCBjb2xvcikge1xuICAgICAgICBsZXQgdWludFZlcnRzID0gdGhpcy5yZW5kZXJEYXRhLnVpbnRWRGF0YXNbMF07XG4gICAgICAgIGlmICghdWludFZlcnRzKSByZXR1cm47XG4gICAgICAgIGNvbG9yID0gY29sb3IgIT0gbnVsbCA/IGNvbG9yIDogY29tcC5ub2RlLmNvbG9yLl92YWw7XG4gICAgICAgIGxldCBmbG9hdHNQZXJWZXJ0ID0gdGhpcy5mbG9hdHNQZXJWZXJ0O1xuICAgICAgICBsZXQgY29sb3JPZmZzZXQgPSB0aGlzLmNvbG9yT2Zmc2V0O1xuICAgICAgICBmb3IgKGxldCBpID0gY29sb3JPZmZzZXQsIGwgPSB1aW50VmVydHMubGVuZ3RoOyBpIDwgbDsgaSArPSBmbG9hdHNQZXJWZXJ0KSB7XG4gICAgICAgICAgICB1aW50VmVydHNbaV0gPSBjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZUlzRnJvbnQoY29tcCwgZGF0YU9mZnNldCkge1xuICAgICAgICBsZXQgdmVydHMgPSB0aGlzLnJlbmRlckRhdGEudkRhdGFzWzBdO1xuICAgICAgICBsZXQgaW5kZXggPSAwO1xuICAgICAgICBsZXQgZmxvYXRzUGVyVmVydCA9IHRoaXMuZmxvYXRzUGVyVmVydDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIG4gPSB0aGlzLnZlcnRpY2VzQ291bnQ7IGkgPCBuOyArK2kpIHtcbiAgICAgICAgICAgIGluZGV4ID0gaSAqIGZsb2F0c1BlclZlcnQ7XG4gICAgICAgICAgICBsZXQgaXNGaXJzdFZlcnQgPSBpICUgMiA9PT0gMDtcbiAgICAgICAgICAgIGxldCBmaXJzdFZlcnRYID0gaXNGaXJzdFZlcnQgPyB2ZXJ0c1tpbmRleF0gOiB2ZXJ0c1tpbmRleCAtIGZsb2F0c1BlclZlcnRdO1xuICAgICAgICAgICAgbGV0IHNlY29uZFZlcnRYID0gaXNGaXJzdFZlcnQgPyB2ZXJ0c1tpbmRleCArIGZsb2F0c1BlclZlcnRdIDogdmVydHNbaW5kZXhdO1xuICAgICAgICAgICAgbGV0IGlzRnJvbnQgPSBmaXJzdFZlcnRYIDwgc2Vjb25kVmVydFggPyAxLjAgOiAwLjA7XG4gICAgICAgICAgICB2ZXJ0c1tpbmRleCArIGRhdGFPZmZzZXRdID0gaXNGcm9udDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBpbml0RGF0YSgpIHtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIHRoaXMucmVuZGVyRGF0YSA9IG5ldyBjYy5SZW5kZXJEYXRhKCk7XG4gICAgICAgIHRoaXMucmVuZGVyRGF0YS5pbml0KHRoaXMpO1xuXG4gICAgICAgIGxldCBkYXRhID0gdGhpcy5yZW5kZXJEYXRhO1xuICAgICAgICAvLyBjcmVhdGVGbGV4RGF0YeaUr+aMgeWIm+W7uuaMh+WumuagvOW8j+eahHJlbmRlckRhdGFcbiAgICAgICAgZGF0YS5jcmVhdGVGbGV4RGF0YSgwLCB0aGlzLnZlcnRpY2VzQ291bnQsIHRoaXMuaW5kaWNlc0NvdW50LCB0aGlzLmdldFZmbXQoKSk7XG5cbiAgICAgICAgLy8g6aG254K55pWw5Zu65a6a55qE5oOF5Ya15LiL57Si5byV5LiN5Y+Y5YyWXG4gICAgICAgIGxldCBpbmRpY2VzID0gZGF0YS5pRGF0YXNbMF07XG4gICAgICAgIGxldCBjb3VudCA9IGluZGljZXMubGVuZ3RoIC8gNjtcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGlkeCA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgdmVydGV4dElEID0gaSAqIDQ7XG4gICAgICAgICAgICBpbmRpY2VzW2lkeCsrXSA9IHZlcnRleHRJRDtcbiAgICAgICAgICAgIGluZGljZXNbaWR4KytdID0gdmVydGV4dElEKzE7XG4gICAgICAgICAgICBpbmRpY2VzW2lkeCsrXSA9IHZlcnRleHRJRCsyO1xuICAgICAgICAgICAgaW5kaWNlc1tpZHgrK10gPSB2ZXJ0ZXh0SUQrMTtcbiAgICAgICAgICAgIGluZGljZXNbaWR4KytdID0gdmVydGV4dElEKzM7XG4gICAgICAgICAgICBpbmRpY2VzW2lkeCsrXSA9IHZlcnRleHRJRCsyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmlsbEJ1ZmZlcnMoY29tcCwgcmVuZGVyZXIpIHtcbiAgICAgICAgbGV0IHJlbmRlckRhdGEgPSB0aGlzLnJlbmRlckRhdGE7XG4gICAgICAgIGxldCB2RGF0YSA9IHJlbmRlckRhdGEudkRhdGFzWzBdO1xuICAgICAgICBsZXQgaURhdGEgPSByZW5kZXJEYXRhLmlEYXRhc1swXTtcblxuICAgICAgICBsZXQgYnVmZmVyID0gdGhpcy5nZXRCdWZmZXIoKTtcbiAgICAgICAgbGV0IG9mZnNldEluZm8gPSBidWZmZXIucmVxdWVzdCh0aGlzLnZlcnRpY2VzQ291bnQsIHRoaXMuaW5kaWNlc0NvdW50KTtcblxuICAgICAgICBsZXQgdmVydGV4T2Zmc2V0ID0gb2Zmc2V0SW5mby5ieXRlT2Zmc2V0ID4+IDIsXG4gICAgICAgICAgICB2YnVmID0gYnVmZmVyLl92RGF0YTtcblxuICAgICAgICBpZiAodkRhdGEubGVuZ3RoICsgdmVydGV4T2Zmc2V0ID4gdmJ1Zi5sZW5ndGgpIHtcbiAgICAgICAgICAgIHZidWYuc2V0KHZEYXRhLnN1YmFycmF5KDAsIHZidWYubGVuZ3RoIC0gdmVydGV4T2Zmc2V0KSwgdmVydGV4T2Zmc2V0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZidWYuc2V0KHZEYXRhLCB2ZXJ0ZXhPZmZzZXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGlidWYgPSBidWZmZXIuX2lEYXRhLFxuICAgICAgICAgICAgaW5kaWNlT2Zmc2V0ID0gb2Zmc2V0SW5mby5pbmRpY2VPZmZzZXQsXG4gICAgICAgICAgICB2ZXJ0ZXhJZCA9IG9mZnNldEluZm8udmVydGV4T2Zmc2V0O1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IGlEYXRhLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICAgICAgaWJ1ZltpbmRpY2VPZmZzZXQrK10gPSB2ZXJ0ZXhJZCArIGlEYXRhW2ldO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -206,4 +206,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcT1AxM1xcc2NyaXB0XFx1dGlsLmpzIl0sIm5hbWVzIjpbImdldFBvc0J5QW5nbGUiLCJhbmdsZSIsImxlbiIsInJhZGlhbiIsIk1hdGgiLCJQSSIsIngiLCJzaW4iLCJ5IiwiY29zIiwiZ2V0QW5nbGVCeVBvcyIsInB4IiwicHkiLCJteCIsIm15IiwiYWJzIiwieiIsInNxcnQiLCJwb3ciLCJyYWRpbmEiLCJhY29zIiwiZmxvb3IiLCJleGNoYW5nZU5vZGVQb3MiLCJiYXNlTm9kZSIsInRhcmdldE5vZGUiLCJjb252ZXJ0VG9Ob2RlU3BhY2VBUiIsIl9wYXJlbnQiLCJjb252ZXJ0VG9Xb3JsZFNwYWNlQVIiLCJjYyIsInYyIiwiUmFuZG9tSW50IiwiYSIsImIiLCJtYXgiLCJtaW4iLCJyYW5kb20iLCJyYW5kb21Tb3J0QnlBcnIiLCJhcnIiLCJuZXdBcnIiLCJ0bXBBcnIiLCJjb25jYXQiLCJsZW5ndGgiLCJyYW5kb21JbmRleCIsInB1c2giLCJzcGxpY2UiLCJzZXRTcHJOb2RlTWF4TGVuIiwic3ByTm9kZSIsIm1heFciLCJtYXhIIiwic3giLCJ3aWR0aCIsInN5IiwiaGVpZ2h0IiwicyIsInNjYWxlIiwicm91bmQiLCJsb2NhbFBvc1RvbG9jYWxQb3MiLCJ3b3JsZFBvcyIsInBhcmVudCIsImxvY2FsUG9zIiwid29ybGRQb3NUb0xvY2FsUG9zIiwiZ2V0U2NhbGVSYXRlQnkyTm9kZSIsIm1heEZsYWciLCJ3b3JsZFJlY3QxIiwiZ2V0Qm91bmRpbmdCb3hUb1dvcmxkIiwid29ybGRSZWN0MiIsImdldERpc3RhbmNlIiwic3RhcnQiLCJlbmQiLCJwb3MiLCJkaXMiLCJwbGF5QXVkaW9CeVVybCIsImF1ZGlvX3VybCIsImNiIiwiYXNzZXRNYW5hZ2VyIiwibG9hZFJlbW90ZSIsImVyciIsImF1ZGlvQ2xpcCIsImF1ZGlvSWQiLCJhdWRpb0VuZ2luZSIsInBsYXkiLCJzZXRGaW5pc2hDYWxsYmFjayIsImJ0bkNsaWNrQW5pbWEiLCJidG4iLCJ0aW1lIiwicmF0ZSIsInRtcFNjYWxlIiwib24iLCJOb2RlIiwiRXZlbnRUeXBlIiwiVE9VQ0hfU1RBUlQiLCJ0d2VlbiIsInRvIiwiVE9VQ0hfQ0FOQ0VMIiwiVE9VQ0hfRU5EIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQU8sU0FBU0EsYUFBVCxDQUF1QkMsS0FBdkIsRUFBOEJDLEdBQTlCLEVBQW1DO0FBRXhDLE1BQU1DLE1BQU0sR0FBR0YsS0FBSyxHQUFHRyxJQUFJLENBQUNDLEVBQWIsR0FBa0IsR0FBakM7QUFDQSxNQUFNQyxDQUFDLEdBQUdGLElBQUksQ0FBQ0csR0FBTCxDQUFTSixNQUFULElBQW1CRCxHQUE3QjtBQUNBLE1BQU1NLENBQUMsR0FBR0osSUFBSSxDQUFDSyxHQUFMLENBQVNOLE1BQVQsSUFBbUJELEdBQTdCO0FBRUEsU0FBTztBQUFFSSxJQUFBQSxDQUFDLEVBQURBLENBQUY7QUFBS0UsSUFBQUEsQ0FBQyxFQUFEQTtBQUFMLEdBQVA7QUFFRDs7QUFFTSxTQUFTRSxhQUFULENBQXVCQyxFQUF2QixFQUEyQkMsRUFBM0IsRUFBK0JDLEVBQS9CLEVBQW1DQyxFQUFuQyxFQUF1QztBQUU1QyxNQUFNUixDQUFDLEdBQUdGLElBQUksQ0FBQ1csR0FBTCxDQUFTSixFQUFFLEdBQUdFLEVBQWQsQ0FBVjtBQUNBLE1BQU1MLENBQUMsR0FBR0osSUFBSSxDQUFDVyxHQUFMLENBQVNILEVBQUUsR0FBR0UsRUFBZCxDQUFWO0FBRUEsTUFBTUUsQ0FBQyxHQUFHWixJQUFJLENBQUNhLElBQUwsQ0FBVWIsSUFBSSxDQUFDYyxHQUFMLENBQVNaLENBQVQsRUFBWSxDQUFaLElBQWlCRixJQUFJLENBQUNjLEdBQUwsQ0FBU1YsQ0FBVCxFQUFZLENBQVosQ0FBM0IsQ0FBVjtBQUNBLE1BQU1DLEdBQUcsR0FBR0QsQ0FBQyxHQUFHUSxDQUFoQjtBQUNBLE1BQU1HLE1BQU0sR0FBR2YsSUFBSSxDQUFDZ0IsSUFBTCxDQUFVWCxHQUFWLENBQWYsQ0FQNEMsQ0FP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YixFQUNnQjtBQUFDOUIsTUFBQUEsS0FBSyxFQUFFNkIsR0FBRyxDQUFDRztBQUFaLEtBRGhCLEVBRUduQixLQUZIO0FBR0QsR0FKRDtBQUtBZ0IsRUFBQUEsR0FBRyxDQUFDSSxFQUFKLENBQU8zRCxFQUFFLENBQUM0RCxJQUFILENBQVFDLFNBQVIsQ0FBa0JLLFNBQXpCLEVBQW9DLFlBQU07QUFDeENsRSxJQUFBQSxFQUFFLENBQUMrRCxLQUFILENBQVNSLEdBQVQsRUFDR1MsRUFESCxDQUNNUixJQUFJLEdBQUcsQ0FEYixFQUNnQjtBQUFDOUIsTUFBQUEsS0FBSyxFQUFFNkIsR0FBRyxDQUFDRztBQUFaLEtBRGhCLEVBRUduQixLQUZIO0FBR0QsR0FKRDtBQUtEIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ2V0UG9zQnlBbmdsZShhbmdsZSwgbGVuKSB7XHJcblxyXG4gIGNvbnN0IHJhZGlhbiA9IGFuZ2xlICogTWF0aC5QSSAvIDE4MDtcclxuICBjb25zdCB4ID0gTWF0aC5zaW4ocmFkaWFuKSAqIGxlbjtcclxuICBjb25zdCB5ID0gTWF0aC5jb3MocmFkaWFuKSAqIGxlbjtcclxuXHJcbiAgcmV0dXJuIHsgeCwgeSB9O1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFuZ2xlQnlQb3MocHgsIHB5LCBteCwgbXkpIHtcclxuXHJcbiAgY29uc3QgeCA9IE1hdGguYWJzKHB4IC0gbXgpO1xyXG4gIGNvbnN0IHkgPSBNYXRoLmFicyhweSAtIG15KTtcclxuXHJcbiAgY29uc3QgeiA9IE1hdGguc3FydChNYXRoLnBvdyh4LCAyKSArIE1hdGgucG93KHksIDIpKTtcclxuICBjb25zdCBjb3MgPSB5IC8gejtcclxuICBjb25zdCByYWRpbmEgPSBNYXRoLmFjb3MoY29zKTsgLy8g55So5Y+N5LiJ6KeS5Ye95pWw5rGC5byn5bqmXHJcbiAgbGV0IGFuZ2xlID0gTWF0aC5mbG9vcigxODAgLyAoTWF0aC5QSSAvIHJhZGluYSkgKiAxMDApIC8gMTAwOyAvLyDlsIblvKfluqbovazmjaLmiJDop5LluqZcclxuXHJcbiAgaWYgKG14ID4gcHggJiYgbXkgPiBweSkgey8vIOm8oOagh+WcqOesrOWbm+ixoemZkFxyXG4gICAgYW5nbGUgPSAxODAgLSBhbmdsZTtcclxuICB9XHJcbiAgaWYgKG14ID09PSBweCAmJiBteSA+IHB5KSB7Ly8g6byg5qCH5Zyoeei9tOi0n+aWueWQkeS4ilxyXG4gICAgYW5nbGUgPSAxODA7XHJcbiAgfVxyXG4gIGlmIChteCA+IHB4ICYmIG15ID09PSBweSkgey8vIOm8oOagh+WcqHjovbTmraPmlrnlkJHkuIpcclxuICAgIGFuZ2xlID0gOTA7XHJcbiAgfVxyXG4gIGlmIChteCA8IHB4ICYmIG15ID4gcHkpIHsvLyDpvKDmoIflnKjnrKzkuInosaHpmZBcclxuICAgIGFuZ2xlID0gMTgwICsgYW5nbGU7XHJcbiAgfVxyXG4gIGlmIChteCA8IHB4ICYmIG15ID09PSBweSkgey8vIOm8oOagh+WcqHjovbTotJ/mlrnlkJFcclxuICAgIGFuZ2xlID0gMjcwO1xyXG4gIH1cclxuICBpZiAobXggPCBweCAmJiBteSA8IHB5KSB7Ly8g6byg5qCH5Zyo56ys5LqM6LGh6ZmQXHJcbiAgICBhbmdsZSA9IDM2MCAtIGFuZ2xlO1xyXG4gIH1cclxuXHJcbiAgLy8gY29uc29sZS5sb2coJ2FuZ2xlOiAnLCBhbmdsZSk7XHJcbiAgcmV0dXJuIGFuZ2xlO1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGV4Y2hhbmdlTm9kZVBvcyhiYXNlTm9kZSwgdGFyZ2V0Tm9kZSkge1xyXG4gIHJldHVybiBiYXNlTm9kZS5jb252ZXJ0VG9Ob2RlU3BhY2VBUih0YXJnZXROb2RlLl9wYXJlbnQuY29udmVydFRvV29ybGRTcGFjZUFSKGNjLnYyKHRhcmdldE5vZGUueCwgdGFyZ2V0Tm9kZS55KSkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gUmFuZG9tSW50KGEsIGIgPSAwKSB7XHJcbiAgbGV0IG1heCA9IE1hdGgubWF4KGEsIGIpO1xyXG4gIGxldCBtaW4gPSBNYXRoLm1pbihhLCBiKTtcclxuICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKG1heCAtIG1pbikgKyBtaW4pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmFuZG9tU29ydEJ5QXJyKGFycikge1xyXG4gIGNvbnN0IG5ld0FyciA9IFtdO1xyXG4gIGNvbnN0IHRtcEFyciA9IGFyci5jb25jYXQoKTtcclxuICB3aGlsZSAodG1wQXJyLmxlbmd0aCA+IDApIHtcclxuICAgIGNvbnN0IHJhbmRvbUluZGV4ID0gTWF0aC5mbG9vcih0bXBBcnIubGVuZ3RoICogTWF0aC5yYW5kb20oKSk7XHJcbiAgICBuZXdBcnIucHVzaCh0bXBBcnJbcmFuZG9tSW5kZXhdKTtcclxuICAgIHRtcEFyci5zcGxpY2UocmFuZG9tSW5kZXgsIDEpO1xyXG4gIH1cclxuICByZXR1cm4gbmV3QXJyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2V0U3ByTm9kZU1heExlbihzcHJOb2RlLCBtYXhXLCBtYXhIKSB7XHJcbiAgY29uc3Qgc3ggPSBtYXhXIC8gc3ByTm9kZS53aWR0aDtcclxuICBjb25zdCBzeSA9IG1heEggLyBzcHJOb2RlLmhlaWdodDtcclxuICBjb25zdCBzID0gTWF0aC5taW4oc3gsIHN5KTtcclxuICBzcHJOb2RlLnNjYWxlID0gTWF0aC5yb3VuZChzICogMTAwMCkgLyAxMDAwO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9jYWxQb3NUb2xvY2FsUG9zKGJhc2VOb2RlLCB0YXJnZXROb2RlKSB7XHJcblx0Y29uc3Qgd29ybGRQb3MgPSB0YXJnZXROb2RlLnBhcmVudC5jb252ZXJ0VG9Xb3JsZFNwYWNlQVIoY2MudjIodGFyZ2V0Tm9kZS54LCB0YXJnZXROb2RlLnkpKTtcclxuXHRjb25zdCBsb2NhbFBvcyA9IGJhc2VOb2RlLnBhcmVudC5jb252ZXJ0VG9Ob2RlU3BhY2VBUihjYy52Mih3b3JsZFBvcy54LCB3b3JsZFBvcy55KSk7XHJcblx0cmV0dXJuIGxvY2FsUG9zO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd29ybGRQb3NUb0xvY2FsUG9zKHdvcmxkUG9zLCBiYXNlTm9kZSkge1xyXG5cdGNvbnN0IGxvY2FsUG9zID0gYmFzZU5vZGUucGFyZW50LmNvbnZlcnRUb05vZGVTcGFjZUFSKGNjLnYyKHdvcmxkUG9zLngsIHdvcmxkUG9zLnkpKTtcclxuXHRyZXR1cm4gbG9jYWxQb3M7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRTY2FsZVJhdGVCeTJOb2RlKGJhc2VOb2RlLCB0YXJnZXROb2RlLCBtYXhGbGFnID0gdHJ1ZSkge1xyXG5cdGNvbnN0IHdvcmxkUmVjdDEgPSB0YXJnZXROb2RlLmdldEJvdW5kaW5nQm94VG9Xb3JsZCgpO1xyXG5cdGNvbnN0IHdvcmxkUmVjdDIgPSBiYXNlTm9kZS5nZXRCb3VuZGluZ0JveFRvV29ybGQoKTtcclxuXHJcblx0Y29uc3Qgc3ggPSB3b3JsZFJlY3QxLndpZHRoIC8gd29ybGRSZWN0Mi53aWR0aDtcclxuXHRjb25zdCBzeSA9IHdvcmxkUmVjdDEuaGVpZ2h0IC8gd29ybGRSZWN0Mi5oZWlnaHQ7XHJcblx0aWYgKG1heEZsYWcpIHtcclxuXHRcdHJldHVybiBNYXRoLm1heChzeCwgc3kpO1xyXG5cdH0gZWxzZSB7XHJcblx0XHRyZXR1cm4gTWF0aC5taW4oc3gsIHN5KTtcclxuXHR9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXREaXN0YW5jZSAoc3RhcnQsIGVuZCl7XHJcbiAgICB2YXIgcG9zID0gY2MudjIoc3RhcnQueCAtIGVuZC54LCBzdGFydC55IC0gZW5kLnkpO1xyXG4gICAgdmFyIGRpcyA9IE1hdGguc3FydChwb3MueCpwb3MueCArIHBvcy55KnBvcy55KTtcclxuICAgIHJldHVybiBkaXM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwbGF5QXVkaW9CeVVybChhdWRpb191cmwsIGNiPW51bGwpIHtcclxuXHRpZiAoYXVkaW9fdXJsKSB7XHJcblx0XHRjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZShhdWRpb191cmwsIChlcnIsIGF1ZGlvQ2xpcCkgPT4ge1xyXG4gICAgICBjb25zdCBhdWRpb0lkID0gY2MuYXVkaW9FbmdpbmUucGxheShhdWRpb0NsaXAsIGZhbHNlLCAwLjgpO1xyXG4gICAgICBpZiAoY2IpIHtcclxuICAgICAgICBjYy5hdWRpb0VuZ2luZS5zZXRGaW5pc2hDYWxsYmFjayhhdWRpb0lkLCAoKSA9PiB7XHJcbiAgICAgICAgICBjYigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYnRuQ2xpY2tBbmltYShidG4sIHRpbWU9MC4xNSwgcmF0ZT0xLjA1KSB7XHJcbiAgYnRuLnRtcFNjYWxlID0gYnRuLnNjYWxlO1xyXG4gIGJ0bi5vbihjYy5Ob2RlLkV2ZW50VHlwZS5UT1VDSF9TVEFSVCwgKCkgPT4ge1xyXG4gICAgY2MudHdlZW4oYnRuKVxyXG4gICAgICAudG8odGltZSAvIDIsIHtzY2FsZTogYnRuLnNjYWxlICogcmF0ZX0pXHJcbiAgICAgIC5zdGFydCgpXHJcbiAgfSlcclxuICBidG4ub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfQ0FOQ0VMLCAoKSA9PiB7XHJcbiAgICBjYy50d2VlbihidG4pXHJcbiAgICAgIC50byh0aW1lIC8gMiwge3NjYWxlOiBidG4udG1wU2NhbGV9KVxyXG4gICAgICAuc3RhcnQoKVxyXG4gIH0pXHJcbiAgYnRuLm9uKGNjLk5vZGUuRXZlbnRUeXBlLlRPVUNIX0VORCwgKCkgPT4ge1xyXG4gICAgY2MudHdlZW4oYnRuKVxyXG4gICAgICAudG8odGltZSAvIDIsIHtzY2FsZTogYnRuLnRtcFNjYWxlfSlcclxuICAgICAgLnN0YXJ0KClcclxuICB9KVxyXG59Il19
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9PUDEzL3NjcmlwdC91dGlsLmpzIl0sIm5hbWVzIjpbImdldFBvc0J5QW5nbGUiLCJhbmdsZSIsImxlbiIsInJhZGlhbiIsIk1hdGgiLCJQSSIsIngiLCJzaW4iLCJ5IiwiY29zIiwiZ2V0QW5nbGVCeVBvcyIsInB4IiwicHkiLCJteCIsIm15IiwiYWJzIiwieiIsInNxcnQiLCJwb3ciLCJyYWRpbmEiLCJhY29zIiwiZmxvb3IiLCJleGNoYW5nZU5vZGVQb3MiLCJiYXNlTm9kZSIsInRhcmdldE5vZGUiLCJjb252ZXJ0VG9Ob2RlU3BhY2VBUiIsIl9wYXJlbnQiLCJjb252ZXJ0VG9Xb3JsZFNwYWNlQVIiLCJjYyIsInYyIiwiUmFuZG9tSW50IiwiYSIsImIiLCJtYXgiLCJtaW4iLCJyYW5kb20iLCJyYW5kb21Tb3J0QnlBcnIiLCJhcnIiLCJuZXdBcnIiLCJ0bXBBcnIiLCJjb25jYXQiLCJsZW5ndGgiLCJyYW5kb21JbmRleCIsInB1c2giLCJzcGxpY2UiLCJzZXRTcHJOb2RlTWF4TGVuIiwic3ByTm9kZSIsIm1heFciLCJtYXhIIiwic3giLCJ3aWR0aCIsInN5IiwiaGVpZ2h0IiwicyIsInNjYWxlIiwicm91bmQiLCJsb2NhbFBvc1RvbG9jYWxQb3MiLCJ3b3JsZFBvcyIsInBhcmVudCIsImxvY2FsUG9zIiwid29ybGRQb3NUb0xvY2FsUG9zIiwiZ2V0U2NhbGVSYXRlQnkyTm9kZSIsIm1heEZsYWciLCJ3b3JsZFJlY3QxIiwiZ2V0Qm91bmRpbmdCb3hUb1dvcmxkIiwid29ybGRSZWN0MiIsImdldERpc3RhbmNlIiwic3RhcnQiLCJlbmQiLCJwb3MiLCJkaXMiLCJwbGF5QXVkaW9CeVVybCIsImF1ZGlvX3VybCIsImNiIiwiYXNzZXRNYW5hZ2VyIiwibG9hZFJlbW90ZSIsImVyciIsImF1ZGlvQ2xpcCIsImF1ZGlvSWQiLCJhdWRpb0VuZ2luZSIsInBsYXkiLCJzZXRGaW5pc2hDYWxsYmFjayIsImJ0bkNsaWNrQW5pbWEiLCJidG4iLCJ0aW1lIiwicmF0ZSIsInRtcFNjYWxlIiwib24iLCJOb2RlIiwiRXZlbnRUeXBlIiwiVE9VQ0hfU1RBUlQiLCJ0d2VlbiIsInRvIiwiVE9VQ0hfQ0FOQ0VMIiwiVE9VQ0hfRU5EIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQU8sU0FBU0EsYUFBVCxDQUF1QkMsS0FBdkIsRUFBOEJDLEdBQTlCLEVBQW1DO0FBRXhDLE1BQU1DLE1BQU0sR0FBR0YsS0FBSyxHQUFHRyxJQUFJLENBQUNDLEVBQWIsR0FBa0IsR0FBakM7QUFDQSxNQUFNQyxDQUFDLEdBQUdGLElBQUksQ0FBQ0csR0FBTCxDQUFTSixNQUFULElBQW1CRCxHQUE3QjtBQUNBLE1BQU1NLENBQUMsR0FBR0osSUFBSSxDQUFDSyxHQUFMLENBQVNOLE1BQVQsSUFBbUJELEdBQTdCO0FBRUEsU0FBTztBQUFFSSxJQUFBQSxDQUFDLEVBQURBLENBQUY7QUFBS0UsSUFBQUEsQ0FBQyxFQUFEQTtBQUFMLEdBQVA7QUFFRDs7QUFFTSxTQUFTRSxhQUFULENBQXVCQyxFQUF2QixFQUEyQkMsRUFBM0IsRUFBK0JDLEVBQS9CLEVBQW1DQyxFQUFuQyxFQUF1QztBQUU1QyxNQUFNUixDQUFDLEdBQUdGLElBQUksQ0FBQ1csR0FBTCxDQUFTSixFQUFFLEdBQUdFLEVBQWQsQ0FBVjtBQUNBLE1BQU1MLENBQUMsR0FBR0osSUFBSSxDQUFDVyxHQUFMLENBQVNILEVBQUUsR0FBR0UsRUFBZCxDQUFWO0FBRUEsTUFBTUUsQ0FBQyxHQUFHWixJQUFJLENBQUNhLElBQUwsQ0FBVWIsSUFBSSxDQUFDYyxHQUFMLENBQVNaLENBQVQsRUFBWSxDQUFaLElBQWlCRixJQUFJLENBQUNjLEdBQUwsQ0FBU1YsQ0FBVCxFQUFZLENBQVosQ0FBM0IsQ0FBVjtBQUNBLE1BQU1DLEdBQUcsR0FBR0QsQ0FBQyxHQUFHUSxDQUFoQjtBQUNBLE1BQU1HLE1BQU0sR0FBR2YsSUFBSSxDQUFDZ0IsSUFBTCxDQUFVWCxHQUFWLENBQWYsQ0FQNEMsQ0FPYjs7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QUNnQjtBQUFDOUIsTUFBQUEsS0FBSyxFQUFFNkIsR0FBRyxDQUFDRztBQUFaLEtBRGhCLEVBRUduQixLQUZIO0FBR0QsR0FKRDtBQUtBZ0IsRUFBQUEsR0FBRyxDQUFDSSxFQUFKLENBQU8zRCxFQUFFLENBQUM0RCxJQUFILENBQVFDLFNBQVIsQ0FBa0JLLFNBQXpCLEVBQW9DLFlBQU07QUFDeENsRSxJQUFBQSxFQUFFLENBQUMrRCxLQUFILENBQVNSLEdBQVQsRUFDR1MsRUFESCxDQUNNUixJQUFJLEdBQUcsQ0FEYixFQUNnQjtBQUFDOUIsTUFBQUEsS0FBSyxFQUFFNkIsR0FBRyxDQUFDRztBQUFaLEtBRGhCLEVBRUduQixLQUZIO0FBR0QsR0FKRDtBQUtEIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ2V0UG9zQnlBbmdsZShhbmdsZSwgbGVuKSB7XG5cbiAgY29uc3QgcmFkaWFuID0gYW5nbGUgKiBNYXRoLlBJIC8gMTgwO1xuICBjb25zdCB4ID0gTWF0aC5zaW4ocmFkaWFuKSAqIGxlbjtcbiAgY29uc3QgeSA9IE1hdGguY29zKHJhZGlhbikgKiBsZW47XG5cbiAgcmV0dXJuIHsgeCwgeSB9O1xuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbmdsZUJ5UG9zKHB4LCBweSwgbXgsIG15KSB7XG5cbiAgY29uc3QgeCA9IE1hdGguYWJzKHB4IC0gbXgpO1xuICBjb25zdCB5ID0gTWF0aC5hYnMocHkgLSBteSk7XG5cbiAgY29uc3QgeiA9IE1hdGguc3FydChNYXRoLnBvdyh4LCAyKSArIE1hdGgucG93KHksIDIpKTtcbiAgY29uc3QgY29zID0geSAvIHo7XG4gIGNvbnN0IHJhZGluYSA9IE1hdGguYWNvcyhjb3MpOyAvLyDnlKjlj43kuInop5Llh73mlbDmsYLlvKfluqZcbiAgbGV0IGFuZ2xlID0gTWF0aC5mbG9vcigxODAgLyAoTWF0aC5QSSAvIHJhZGluYSkgKiAxMDApIC8gMTAwOyAvLyDlsIblvKfluqbovazmjaLmiJDop5LluqZcblxuICBpZiAobXggPiBweCAmJiBteSA+IHB5KSB7Ly8g6byg5qCH5Zyo56ys5Zub6LGh6ZmQXG4gICAgYW5nbGUgPSAxODAgLSBhbmdsZTtcbiAgfVxuICBpZiAobXggPT09IHB4ICYmIG15ID4gcHkpIHsvLyDpvKDmoIflnKh56L206LSf5pa55ZCR5LiKXG4gICAgYW5nbGUgPSAxODA7XG4gIH1cbiAgaWYgKG14ID4gcHggJiYgbXkgPT09IHB5KSB7Ly8g6byg5qCH5ZyoeOi9tOato+aWueWQkeS4ilxuICAgIGFuZ2xlID0gOTA7XG4gIH1cbiAgaWYgKG14IDwgcHggJiYgbXkgPiBweSkgey8vIOm8oOagh+WcqOesrOS4ieixoemZkFxuICAgIGFuZ2xlID0gMTgwICsgYW5nbGU7XG4gIH1cbiAgaWYgKG14IDwgcHggJiYgbXkgPT09IHB5KSB7Ly8g6byg5qCH5ZyoeOi9tOi0n+aWueWQkVxuICAgIGFuZ2xlID0gMjcwO1xuICB9XG4gIGlmIChteCA8IHB4ICYmIG15IDwgcHkpIHsvLyDpvKDmoIflnKjnrKzkuozosaHpmZBcbiAgICBhbmdsZSA9IDM2MCAtIGFuZ2xlO1xuICB9XG5cbiAgLy8gY29uc29sZS5sb2coJ2FuZ2xlOiAnLCBhbmdsZSk7XG4gIHJldHVybiBhbmdsZTtcblxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhjaGFuZ2VOb2RlUG9zKGJhc2VOb2RlLCB0YXJnZXROb2RlKSB7XG4gIHJldHVybiBiYXNlTm9kZS5jb252ZXJ0VG9Ob2RlU3BhY2VBUih0YXJnZXROb2RlLl9wYXJlbnQuY29udmVydFRvV29ybGRTcGFjZUFSKGNjLnYyKHRhcmdldE5vZGUueCwgdGFyZ2V0Tm9kZS55KSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmFuZG9tSW50KGEsIGIgPSAwKSB7XG4gIGxldCBtYXggPSBNYXRoLm1heChhLCBiKTtcbiAgbGV0IG1pbiA9IE1hdGgubWluKGEsIGIpO1xuICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKG1heCAtIG1pbikgKyBtaW4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmFuZG9tU29ydEJ5QXJyKGFycikge1xuICBjb25zdCBuZXdBcnIgPSBbXTtcbiAgY29uc3QgdG1wQXJyID0gYXJyLmNvbmNhdCgpO1xuICB3aGlsZSAodG1wQXJyLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IodG1wQXJyLmxlbmd0aCAqIE1hdGgucmFuZG9tKCkpO1xuICAgIG5ld0Fyci5wdXNoKHRtcEFycltyYW5kb21JbmRleF0pO1xuICAgIHRtcEFyci5zcGxpY2UocmFuZG9tSW5kZXgsIDEpO1xuICB9XG4gIHJldHVybiBuZXdBcnI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRTcHJOb2RlTWF4TGVuKHNwck5vZGUsIG1heFcsIG1heEgpIHtcbiAgY29uc3Qgc3ggPSBtYXhXIC8gc3ByTm9kZS53aWR0aDtcbiAgY29uc3Qgc3kgPSBtYXhIIC8gc3ByTm9kZS5oZWlnaHQ7XG4gIGNvbnN0IHMgPSBNYXRoLm1pbihzeCwgc3kpO1xuICBzcHJOb2RlLnNjYWxlID0gTWF0aC5yb3VuZChzICogMTAwMCkgLyAxMDAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9jYWxQb3NUb2xvY2FsUG9zKGJhc2VOb2RlLCB0YXJnZXROb2RlKSB7XG5cdGNvbnN0IHdvcmxkUG9zID0gdGFyZ2V0Tm9kZS5wYXJlbnQuY29udmVydFRvV29ybGRTcGFjZUFSKGNjLnYyKHRhcmdldE5vZGUueCwgdGFyZ2V0Tm9kZS55KSk7XG5cdGNvbnN0IGxvY2FsUG9zID0gYmFzZU5vZGUucGFyZW50LmNvbnZlcnRUb05vZGVTcGFjZUFSKGNjLnYyKHdvcmxkUG9zLngsIHdvcmxkUG9zLnkpKTtcblx0cmV0dXJuIGxvY2FsUG9zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd29ybGRQb3NUb0xvY2FsUG9zKHdvcmxkUG9zLCBiYXNlTm9kZSkge1xuXHRjb25zdCBsb2NhbFBvcyA9IGJhc2VOb2RlLnBhcmVudC5jb252ZXJ0VG9Ob2RlU3BhY2VBUihjYy52Mih3b3JsZFBvcy54LCB3b3JsZFBvcy55KSk7XG5cdHJldHVybiBsb2NhbFBvcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjYWxlUmF0ZUJ5Mk5vZGUoYmFzZU5vZGUsIHRhcmdldE5vZGUsIG1heEZsYWcgPSB0cnVlKSB7XG5cdGNvbnN0IHdvcmxkUmVjdDEgPSB0YXJnZXROb2RlLmdldEJvdW5kaW5nQm94VG9Xb3JsZCgpO1xuXHRjb25zdCB3b3JsZFJlY3QyID0gYmFzZU5vZGUuZ2V0Qm91bmRpbmdCb3hUb1dvcmxkKCk7XG5cblx0Y29uc3Qgc3ggPSB3b3JsZFJlY3QxLndpZHRoIC8gd29ybGRSZWN0Mi53aWR0aDtcblx0Y29uc3Qgc3kgPSB3b3JsZFJlY3QxLmhlaWdodCAvIHdvcmxkUmVjdDIuaGVpZ2h0O1xuXHRpZiAobWF4RmxhZykge1xuXHRcdHJldHVybiBNYXRoLm1heChzeCwgc3kpO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBNYXRoLm1pbihzeCwgc3kpO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREaXN0YW5jZSAoc3RhcnQsIGVuZCl7XG4gICAgdmFyIHBvcyA9IGNjLnYyKHN0YXJ0LnggLSBlbmQueCwgc3RhcnQueSAtIGVuZC55KTtcbiAgICB2YXIgZGlzID0gTWF0aC5zcXJ0KHBvcy54KnBvcy54ICsgcG9zLnkqcG9zLnkpO1xuICAgIHJldHVybiBkaXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwbGF5QXVkaW9CeVVybChhdWRpb191cmwsIGNiPW51bGwpIHtcblx0aWYgKGF1ZGlvX3VybCkge1xuXHRcdGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKGF1ZGlvX3VybCwgKGVyciwgYXVkaW9DbGlwKSA9PiB7XG4gICAgICBjb25zdCBhdWRpb0lkID0gY2MuYXVkaW9FbmdpbmUucGxheShhdWRpb0NsaXAsIGZhbHNlLCAwLjgpO1xuICAgICAgaWYgKGNiKSB7XG4gICAgICAgIGNjLmF1ZGlvRW5naW5lLnNldEZpbmlzaENhbGxiYWNrKGF1ZGlvSWQsICgpID0+IHtcbiAgICAgICAgICBjYigpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblx0XHR9KTtcblx0fVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBidG5DbGlja0FuaW1hKGJ0biwgdGltZT0wLjE1LCByYXRlPTEuMDUpIHtcbiAgYnRuLnRtcFNjYWxlID0gYnRuLnNjYWxlO1xuICBidG4ub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfU1RBUlQsICgpID0+IHtcbiAgICBjYy50d2VlbihidG4pXG4gICAgICAudG8odGltZSAvIDIsIHtzY2FsZTogYnRuLnNjYWxlICogcmF0ZX0pXG4gICAgICAuc3RhcnQoKVxuICB9KVxuICBidG4ub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfQ0FOQ0VMLCAoKSA9PiB7XG4gICAgY2MudHdlZW4oYnRuKVxuICAgICAgLnRvKHRpbWUgLyAyLCB7c2NhbGU6IGJ0bi50bXBTY2FsZX0pXG4gICAgICAuc3RhcnQoKVxuICB9KVxuICBidG4ub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfRU5ELCAoKSA9PiB7XG4gICAgY2MudHdlZW4oYnRuKVxuICAgICAgLnRvKHRpbWUgLyAyLCB7c2NhbGU6IGJ0bi50bXBTY2FsZX0pXG4gICAgICAuc3RhcnQoKVxuICB9KVxufSJdfQ==
\ No newline at end of file
......@@ -533,4 +533,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcT1AxM1xcc2NyaXB0XFx1dGlscy5qcyJdLCJuYW1lcyI6WyJnZXRQb3NCeUFuZ2xlIiwiYW5nbGUiLCJsZW4iLCJyYWRpYW4iLCJNYXRoIiwiUEkiLCJ4Iiwic2luIiwieSIsImNvcyIsImdldEFuZ2xlQnlQb3MiLCJweCIsInB5IiwibXgiLCJteSIsImFicyIsInoiLCJzcXJ0IiwicG93IiwicmFkaW5hIiwiYWNvcyIsImZsb29yIiwiZXhjaGFuZ2VOb2RlUG9zIiwiYmFzZU5vZGUiLCJ0YXJnZXROb2RlIiwiY29udmVydFRvTm9kZVNwYWNlQVIiLCJfcGFyZW50IiwiY29udmVydFRvV29ybGRTcGFjZUFSIiwiY2MiLCJ2MiIsIlJhbmRvbUludCIsImEiLCJiIiwibWF4IiwibWluIiwicmFuZG9tIiwiQmV0d2VlbiIsImMiLCJzb3J0IiwicmFuZG9tU29ydEJ5QXJyIiwiYXJyIiwibmV3QXJyIiwidG1wQXJyIiwiY29uY2F0IiwibGVuZ3RoIiwicmFuZG9tSW5kZXgiLCJwdXNoIiwic3BsaWNlIiwiYXN5bmNUd2VlblRvIiwibm9kZSIsImR1cmF0aW9uIiwib2JqIiwiZWFzZSIsInVuZGVmaW5lZCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwidHdlZW4iLCJ0byIsImNhbGwiLCJzdGFydCIsImFzeW5jVHdlZW5CeSIsImJ5IiwiYXN5bmNQbGF5RHJhZ29uQm9uZUFuaW1hdGlvbiIsImFuaW1hdGlvbk5hbWUiLCJ0aW1lIiwib25GcmFtZUV2ZW50IiwiZ2V0Q29tcG9uZW50IiwiZHJhZ29uQm9uZXMiLCJBcm1hdHVyZURpc3BsYXkiLCJvbmNlIiwiRXZlbnRPYmplY3QiLCJDT01QTEVURSIsIm9uIiwiRlJBTUVfRVZFTlQiLCJuYW1lIiwicGxheUFuaW1hdGlvbiIsImFzeW5jUGxheUVmZmVjdEJ5VXJsIiwidXJsIiwibG9vcCIsImFzc2V0TWFuYWdlciIsImxvYWRSZW1vdGUiLCJlcnIiLCJjbGlwIiwiY29uc29sZSIsImxvZyIsImF1ZGlvRW5naW5lIiwicGxheUVmZmVjdCIsImplbGx5Iiwic2NhbGVYIiwic2NhbGVZIiwiYXN5bmNEZWxheSIsInNldFRpbWVvdXQiLCJzaG93RmlyZXdvcmtzIiwibm9kZUxpc3QiLCJwb3MiLCJzaWRlIiwicmFuZ2UiLCJudW1iZXIiLCJBcnJheSIsImZpbGwiLCJmb3JFYWNoIiwiXyIsImkiLCJyYWJib25Ob2RlIiwiTm9kZSIsInBhcmVudCIsImluc3RhbnRpYXRlIiwiYWN0aXZlIiwicmF0ZSIsImVhc2luZyIsInJhYmJvbkZhbGwiLCJ1bmlvbiIsInJlcGVhdEZvcmV2ZXIiLCJkZWxheSIsIm9wYWNpdHkiLCJzdG9wQWxsQWN0aW9ucyIsIm9mZnNldFgiLCJsb2FkU3BpbmUiLCJza2VsZXRvbiIsInBpY05hbWUiLCJ0ZXgiLCJhdGxhcyIsInNrZSIsImVycm9yIiwidGV4dHVyZSIsImxvYWRBbnkiLCJhdGxhc0pzb24iLCJkcmFnb25Cb25lc0pzb24iLCJhc3NldCIsInNwIiwiU2tlbGV0b25EYXRhIiwiX3V1aWQiLCJza2VsZXRvbkpzb24iLCJKU09OIiwic3RyaW5naWZ5IiwiYXRsYXNUZXh0IiwidGV4dHVyZXMiLCJ0ZXh0dXJlTmFtZXMiLCJza2VsZXRvbkRhdGEiLCJqc29uT2JqIiwiYW5pbWF0aW9uTmFtZU9iaiIsImFuaW1hdGlvbnMiLCJhbmltYXRpb25OYW1lcyIsImFuaW1hdGlvbiIsIm9uSG9tZXdvcmtGaW5pc2giLCJtaWRkbGVMYXllciIsImZpbmQiLCJtaWRkbGVMYXllckNvbXBvbmVudCIsInJvbGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQU8sU0FBU0EsYUFBVCxDQUF1QkMsS0FBdkIsRUFBOEJDLEdBQTlCLEVBQW1DO0FBRXRDLE1BQU1DLE1BQU0sR0FBR0YsS0FBSyxHQUFHRyxJQUFJLENBQUNDLEVBQWIsR0FBa0IsR0FBakM7QUFDQSxNQUFNQyxDQUFDLEdBQUdGLElBQUksQ0FBQ0csR0FBTCxDQUFTSixN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c0N1RCxPQUFPLENBQUMsVUFBRCxDQUE3QztBQUVBckYsVUFBQUEsT0FBTyxDQUFDcUYsT0FBTyxDQUFDLFVBQUQsQ0FBUixDQUFQO0FBR0QsU0FwQ0Q7QUFxQ0gsT0EzQ0Q7QUE0Q0QsS0FsREQ7QUFtREQsR0FyRE0sQ0FBUDtBQXVERDs7QUFNSSxTQUFTSyxnQkFBVCxHQUE0QjtBQUNsQyxNQUFNQyxXQUFXLEdBQUd0SCxFQUFFLENBQUN1SCxJQUFILENBQVEsYUFBUixDQUFwQjs7QUFDQSxNQUFJRCxXQUFKLEVBQWlCO0FBQ2YsUUFBTUUsb0JBQW9CLEdBQUdGLFdBQVcsQ0FBQy9FLFlBQVosQ0FBeUIsYUFBekIsQ0FBN0I7O0FBQ0EsUUFBSWlGLG9CQUFvQixDQUFDQyxJQUFyQixJQUE2QixTQUFqQyxFQUE0QztBQUM3Q0QsTUFBQUEsb0JBQW9CLENBQUNILGdCQUFyQixDQUFzQyxZQUFNLENBQUcsQ0FBL0M7QUFDRTtBQUNGLEdBTEQsTUFLTztBQUNMN0QsSUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVksa0JBQVo7QUFDRDtBQUNDIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ2V0UG9zQnlBbmdsZShhbmdsZSwgbGVuKSB7XHJcblxyXG4gICAgY29uc3QgcmFkaWFuID0gYW5nbGUgKiBNYXRoLlBJIC8gMTgwO1xyXG4gICAgY29uc3QgeCA9IE1hdGguc2luKHJhZGlhbikgKiBsZW47XHJcbiAgICBjb25zdCB5ID0gTWF0aC5jb3MocmFkaWFuKSAqIGxlbjtcclxuXHJcbiAgICByZXR1cm4geyB4LCB5IH07XHJcblxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QW5nbGVCeVBvcyhweCwgcHksIG14LCBteSkge1xyXG5cclxuICAgIGNvbnN0IHggPSBNYXRoLmFicyhweCAtIG14KTtcclxuICAgIGNvbnN0IHkgPSBNYXRoLmFicyhweSAtIG15KTtcclxuXHJcbiAgICBjb25zdCB6ID0gTWF0aC5zcXJ0KE1hdGgucG93KHgsIDIpICsgTWF0aC5wb3coeSwgMikpO1xyXG4gICAgY29uc3QgY29zID0geSAvIHo7XHJcbiAgICBjb25zdCByYWRpbmEgPSBNYXRoLmFjb3MoY29zKTsgLy8g55So5Y+N5LiJ6KeS5Ye95pWw5rGC5byn5bqmXHJcbiAgICBsZXQgYW5nbGUgPSBNYXRoLmZsb29yKDE4MCAvIChNYXRoLlBJIC8gcmFkaW5hKSAqIDEwMCkgLyAxMDA7IC8vIOWwhuW8p+W6pui9rOaNouaIkOinkuW6plxyXG5cclxuICAgIGlmIChteCA+IHB4ICYmIG15ID4gcHkpIHsvLyDpvKDmoIflnKjnrKzlm5vosaHpmZBcclxuICAgICAgICBhbmdsZSA9IDE4MCAtIGFuZ2xlO1xyXG4gICAgfVxyXG4gICAgaWYgKG14ID09PSBweCAmJiBteSA+IHB5KSB7Ly8g6byg5qCH5Zyoeei9tOi0n+aWueWQkeS4ilxyXG4gICAgICAgIGFuZ2xlID0gMTgwO1xyXG4gICAgfVxyXG4gICAgaWYgKG14ID4gcHggJiYgbXkgPT09IHB5KSB7Ly8g6byg5qCH5ZyoeOi9tOato+aWueWQkeS4ilxyXG4gICAgICAgIGFuZ2xlID0gOTA7XHJcbiAgICB9XHJcbiAgICBpZiAobXggPCBweCAmJiBteSA+IHB5KSB7Ly8g6byg5qCH5Zyo56ys5LiJ6LGh6ZmQXHJcbiAgICAgICAgYW5nbGUgPSAxODAgKyBhbmdsZTtcclxuICAgIH1cclxuICAgIGlmIChteCA8IHB4ICYmIG15ID09PSBweSkgey8vIOm8oOagh+WcqHjovbTotJ/mlrnlkJFcclxuICAgICAgICBhbmdsZSA9IDI3MDtcclxuICAgIH1cclxuICAgIGlmIChteCA8IHB4ICYmIG15IDwgcHkpIHsvLyDpvKDmoIflnKjnrKzkuozosaHpmZBcclxuICAgICAgICBhbmdsZSA9IDM2MCAtIGFuZ2xlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGNvbnNvbGUubG9nKCdhbmdsZTogJywgYW5nbGUpO1xyXG4gICAgcmV0dXJuIGFuZ2xlO1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGV4Y2hhbmdlTm9kZVBvcyhiYXNlTm9kZSwgdGFyZ2V0Tm9kZSkge1xyXG4gICAgcmV0dXJuIGJhc2VOb2RlLmNvbnZlcnRUb05vZGVTcGFjZUFSKHRhcmdldE5vZGUuX3BhcmVudC5jb252ZXJ0VG9Xb3JsZFNwYWNlQVIoY2MudjIodGFyZ2V0Tm9kZS54LCB0YXJnZXROb2RlLnkpKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBSYW5kb21JbnQoYSwgYiA9IDApIHtcclxuICAgIGxldCBtYXggPSBNYXRoLm1heChhLCBiKTtcclxuICAgIGxldCBtaW4gPSBNYXRoLm1pbihhLCBiKTtcclxuICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluKSArIG1pbik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBCZXR3ZWVuKGEsIGIsIGMpIHtcclxuICAgIHJldHVybiBbYSwgYiwgY10uc29ydCgoYSwgYikgPT4gYSAtIGIpWzFdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmFuZG9tU29ydEJ5QXJyKGFycikge1xyXG4gICAgY29uc3QgbmV3QXJyID0gW107XHJcbiAgICBjb25zdCB0bXBBcnIgPSBhcnIuY29uY2F0KCk7XHJcbiAgICB3aGlsZSAodG1wQXJyLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IodG1wQXJyLmxlbmd0aCAqIE1hdGgucmFuZG9tKCkpO1xyXG4gICAgICAgIG5ld0Fyci5wdXNoKHRtcEFycltyYW5kb21JbmRleF0pO1xyXG4gICAgICAgIHRtcEFyci5zcGxpY2UocmFuZG9tSW5kZXgsIDEpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ld0FycjtcclxufVxyXG5cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jVHdlZW5Ubyhub2RlLCBkdXJhdGlvbiwgb2JqLCBlYXNlID0gdW5kZWZpbmVkKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgIGNjLnR3ZWVuKG5vZGUpXHJcbiAgICAgICAgICAgIC50byhkdXJhdGlvbiwgb2JqLCBlYXNlKVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY1R3ZWVuQnkobm9kZSwgZHVyYXRpb24sIG9iaiwgZWFzZSA9IHVuZGVmaW5lZCkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICBjYy50d2Vlbihub2RlKVxyXG4gICAgICAgICAgICAuYnkoZHVyYXRpb24sIG9iaiwgZWFzZSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXN5bmNQbGF5RHJhZ29uQm9uZUFuaW1hdGlvbihub2RlLCBhbmltYXRpb25OYW1lLCB0aW1lID0gMSwgb25GcmFtZUV2ZW50KSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgIG5vZGUuZ2V0Q29tcG9uZW50KGRyYWdvbkJvbmVzLkFybWF0dXJlRGlzcGxheSlcclxuICAgICAgICAgICAgLm9uY2UoZHJhZ29uQm9uZXMuRXZlbnRPYmplY3QuQ09NUExFVEUsICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIG5vZGUuZ2V0Q29tcG9uZW50KGRyYWdvbkJvbmVzLkFybWF0dXJlRGlzcGxheSlcclxuICAgICAgICAgICAgLm9uKGRyYWdvbkJvbmVzLkV2ZW50T2JqZWN0LkZSQU1FX0VWRU5ULCAoeyBuYW1lIH0pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChvbkZyYW1lRXZlbnQgJiYgdHlwZW9mIChvbkZyYW1lRXZlbnQpID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgICAgICBvbkZyYW1lRXZlbnQobmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICBub2RlLmdldENvbXBvbmVudChkcmFnb25Cb25lcy5Bcm1hdHVyZURpc3BsYXkpXHJcbiAgICAgICAgICAgIC5wbGF5QW5pbWF0aW9uKGFuaW1hdGlvbk5hbWUsIHRpbWUpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY1BsYXlFZmZlY3RCeVVybCh1cmwsIGxvb3AgPSBmYWxzZSkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIChlcnIsIGNsaXApID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coY2xpcCk7XHJcbiAgICAgICAgICAgIGNjLmF1ZGlvRW5naW5lLnBsYXlFZmZlY3QoY2xpcCwgbG9vcCk7XHJcbiAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gamVsbHkobm9kZSkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICBjYy50d2Vlbihub2RlKVxyXG4gICAgICAgICAgICAudG8oMC4xLCB7IHNjYWxlWDogMC45LCBzY2FsZVk6IDEuMSB9KVxyXG4gICAgICAgICAgICAudG8oMC4xLCB7IHNjYWxlWDogMS4xLCBzY2FsZVk6IDAuOSB9KVxyXG4gICAgICAgICAgICAudG8oMC4xLCB7IHNjYWxlWDogMSwgc2NhbGVZOiAxIH0pXHJcbiAgICAgICAgICAgIC5jYWxsKHJlc29sdmUpXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY0RlbGF5KHRpbWUpIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICB9LCB0aW1lICogMTAwMCk7XHJcbiAgICB9KVxyXG59XHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2hvd0ZpcmV3b3JrcyhiYXNlTm9kZSwgbm9kZUxpc3QsIHBvcyA9IGNjLnYyKDAsIDApLCBzaWRlID0gY2MudjIoMCwgMTAwKSwgcmFuZ2UgPSA1MCwgbnVtYmVyID0gMTAwKSB7XHJcbiAgICBuZXcgQXJyYXkobnVtYmVyKS5maWxsKCcgJykuZm9yRWFjaChhc3luYyAoXywgaSkgPT4ge1xyXG5cclxuICAgICAgICBsZXQgcmFiYm9uTm9kZSA9IG5ldyBjYy5Ob2RlKCk7XHJcbiAgICAgICAgcmFiYm9uTm9kZS5wYXJlbnQgPSBiYXNlTm9kZTtcclxuICAgICAgICByYWJib25Ob2RlLnggPSBwb3MueDtcclxuICAgICAgICByYWJib25Ob2RlLnkgPSBwb3MueTtcclxuICAgICAgICByYWJib25Ob2RlLmFuZ2xlID0gNjAgKiBNYXRoLnJhbmRvbSgpIC0gMzA7XHJcblxyXG4gICAgICAgIGxldCBub2RlID0gY2MuaW5zdGFudGlhdGUobm9kZUxpc3RbUmFuZG9tSW50KG5vZGVMaXN0Lmxlbmd0aCldKTtcclxuICAgICAgICBub2RlLnBhcmVudCA9IHJhYmJvbk5vZGU7XHJcbiAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIG5vZGUueCA9IDA7XHJcbiAgICAgICAgbm9kZS55ID0gMDtcclxuICAgICAgICBub2RlLmFuZ2xlID0gMDtcclxuXHJcbiAgICAgICAgY29uc3QgcmF0ZSA9IE1hdGgucmFuZG9tKCk7XHJcbiAgICAgICAgY29uc3QgYW5nbGUgPSBNYXRoLlBJICogKE1hdGgucmFuZG9tKCkgKiAyIC0gMSk7XHJcblxyXG4gICAgICAgIGF3YWl0IGFzeW5jVHdlZW5CeShyYWJib25Ob2RlLCAwLjMsIHtcclxuICAgICAgICAgICAgeDogc2lkZS54ICogcmF0ZSArIE1hdGguY29zKGFuZ2xlKSAqIHJhbmdlICogcmF0ZSxcclxuICAgICAgICAgICAgeTogc2lkZS55ICogcmF0ZSArIE1hdGguc2luKGFuZ2xlKSAqIHJhbmdlICogcmF0ZVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgZWFzaW5nOiAncXVhZEluJ1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBjYy50d2VlbihyYWJib25Ob2RlKVxyXG4gICAgICAgICAgICAuYnkoOCwgeyB5OiAtMjAwMCB9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuXHJcbiAgICAgICAgcmFiYm9uRmFsbChyYWJib25Ob2RlKTtcclxuXHJcbiAgICAgICAgYXdhaXQgYXN5bmNEZWxheShNYXRoLnJhbmRvbSgpKTtcclxuICAgICAgICBjYy50d2Vlbihub2RlKVxyXG4gICAgICAgICAgICAuYnkoMC4xNSwgeyB4OiAtMTAsIGFuZ2xlOiAtMTAgfSlcclxuICAgICAgICAgICAgLmJ5KDAuMywgeyB4OiAyMCwgYW5nbGU6IDIwIH0pXHJcbiAgICAgICAgICAgIC5ieSgwLjE1LCB7IHg6IC0xMCwgYW5nbGU6IC0xMCB9KVxyXG4gICAgICAgICAgICAudW5pb24oKVxyXG4gICAgICAgICAgICAucmVwZWF0Rm9yZXZlcigpXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG5cclxuICAgICAgICBjYy50d2VlbihyYWJib25Ob2RlKVxyXG4gICAgICAgICAgICAuZGVsYXkoNSlcclxuICAgICAgICAgICAgLnRvKDAuMywgeyBvcGFjaXR5OiAwIH0pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIG5vZGUuc3RvcEFsbEFjdGlvbnMoKTtcclxuICAgICAgICAgICAgICAgIG5vZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBub2RlLnBhcmVudCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICBub2RlID0gbnVsbDtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuYXN5bmMgZnVuY3Rpb24gcmFiYm9uRmFsbChub2RlKSB7XHJcbiAgICBjb25zdCB0aW1lID0gMSArIE1hdGgucmFuZG9tKCk7XHJcbiAgICBjb25zdCBvZmZzZXRYID0gUmFuZG9tSW50KC0yMDAsIDIwMCkgKiB0aW1lO1xyXG4gICAgYXdhaXQgYXN5bmNUd2VlbkJ5KG5vZGUsIHRpbWUsIHsgeDogb2Zmc2V0WCwgYW5nbGU6IG9mZnNldFggKiA2MCAvIDIwMCB9KTtcclxuICAgIHJhYmJvbkZhbGwobm9kZSk7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFNwaW5lKHNrZWxldG9uLCBwaWNOYW1lLCB7dGV4LCBhdGxhcywgc2tlfSkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgLy8gY2MubG9hZGVyLmxvYWQoeyB1cmw6IHRleCwgdHlwZTogJ3BuZycgfSwgKGVycm9yLCB0ZXh0dXJlKSA9PiB7XHJcbiAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHRleCwgKGVycm9yLCB0ZXh0dXJlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICByZWplY3QoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gY2MubG9hZGVyLmxvYWQoeyB1cmw6IGF0bGFzLCB0eXBlOiAndHh0JyB9LCAoZXJyb3IsIGF0bGFzSnNvbikgPT4ge1xyXG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkQW55KHsgdXJsOiBhdGxhcyB9LCAoZXJyb3IsIGF0bGFzSnNvbikgPT4ge1xyXG4gICAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHJlamVjdCgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIGNjLmxvYWRlci5sb2FkKHsgdXJsOiBza2UsIHR5cGU6ICd0eHQnIH0sIChlcnJvciwgZHJhZ29uQm9uZXNKc29uKSA9PiB7XHJcbiAgICAgICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkQW55KHsgdXJsOiBza2UgfSwgKGVycm9yLCBkcmFnb25Cb25lc0pzb24pID0+IHtcclxuICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHJlamVjdCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgIH1cclxuICBcclxuICBcclxuICAgICAgICAgICAgICB2YXIgYXNzZXQgPSBuZXcgc3AuU2tlbGV0b25EYXRhKCk7XHJcbiAgICAgICAgICAgICAgYXNzZXQuX3V1aWQgPSBza2U7XHJcbiAgICAgICAgICAgICAgYXNzZXQuc2tlbGV0b25Kc29uID0gSlNPTi5zdHJpbmdpZnkoIGRyYWdvbkJvbmVzSnNvbiApO1xyXG4gICAgICAgICAgICAgIGFzc2V0LmF0bGFzVGV4dCA9IGF0bGFzSnNvbjtcclxuICAgICAgICAgICAgICBhc3NldC50ZXh0dXJlcyA9IFt0ZXh0dXJlXTtcclxuICAgICAgICAgICAgICBhc3NldC50ZXh0dXJlTmFtZXMgPSBbcGljTmFtZV07XHJcbiAgXHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3BpY05hbWU6ICcsIHBpY05hbWUpO1xyXG4gIFxyXG4gICAgICAgICAgICAgICAgICAgIHNrZWxldG9uLnNrZWxldG9uRGF0YSA9IGFzc2V0O1xyXG4gICAgICBcclxuICBcclxuICAgICAgICAgICAgICBjb25zdCBqc29uT2JqID0gZHJhZ29uQm9uZXNKc29uIC8vSlNPTi5wYXJzZSggYXNzZXRzWzFdKTtcclxuICAgICAgICAgICAgICBjb25zdCBhbmltYXRpb25OYW1lT2JqID0ganNvbk9iai5hbmltYXRpb25zO1xyXG4gICAgICAgICAgICAgIGxldCBhbmltYXRpb25OYW1lcyA9IFtdO1xyXG4gICAgICAgICAgICAgIGZvciAobGV0IG5hbWUgaW4gYW5pbWF0aW9uTmFtZU9iaikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ25hbWV+fjogICcsIG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uTmFtZXMucHVzaChuYW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInNrZWxldG9uLmFuaW1hdGlvbjogXCIsIHNrZWxldG9uLmFuaW1hdGlvbik7XHJcbiAgICAgICAgICAgIHNrZWxldG9uLmFuaW1hdGlvbk5hbWVzID0gYW5pbWF0aW9uTmFtZXM7XHJcbiAgICAgICAgICAgIHNrZWxldG9uLmxvb3AgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJqc29uT2JqIDogXCIsIGpzb25PYmopXHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJqc29uT2JqWydza2VsZXRvbiddIDogXCIsIGpzb25PYmpbJ3NrZWxldG9uJ10pXHJcbiAgXHJcbiAgICAgICAgICAgICAgcmVzb2x2ZShqc29uT2JqWydza2VsZXRvbiddKTtcclxuICBcclxuXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgXHJcbiAgfVxyXG4gIFxyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG9uSG9tZXdvcmtGaW5pc2goKSB7XHJcblx0Y29uc3QgbWlkZGxlTGF5ZXIgPSBjYy5maW5kKCdtaWRkbGVMYXllcicpO1xyXG5cdGlmIChtaWRkbGVMYXllcikge1xyXG5cdCAgY29uc3QgbWlkZGxlTGF5ZXJDb21wb25lbnQgPSBtaWRkbGVMYXllci5nZXRDb21wb25lbnQoJ21pZGRsZUxheWVyJyk7XHJcblx0ICBpZiAobWlkZGxlTGF5ZXJDb21wb25lbnQucm9sZSA9PSAnc3R1ZGVudCcpIHtcclxuXHRcdG1pZGRsZUxheWVyQ29tcG9uZW50Lm9uSG9tZXdvcmtGaW5pc2goKCkgPT4geyB9KTtcclxuXHQgIH1cclxuXHR9IGVsc2Uge1xyXG5cdCAgY29uc29sZS5sb2coJ29uSG9tZXdvcmtGaW5pc2gnKTtcclxuXHR9XHJcbiAgfSJdfQ==
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9PUDEzL3NjcmlwdC91dGlscy5qcyJdLCJuYW1lcyI6WyJnZXRQb3NCeUFuZ2xlIiwiYW5nbGUiLCJsZW4iLCJyYWRpYW4iLCJNYXRoIiwiUEkiLCJ4Iiwic2luIiwieSIsImNvcyIsImdldEFuZ2xlQnlQb3MiLCJweCIsInB5IiwibXgiLCJteSIsImFicyIsInoiLCJzcXJ0IiwicG93IiwicmFkaW5hIiwiYWNvcyIsImZsb29yIiwiZXhjaGFuZ2VOb2RlUG9zIiwiYmFzZU5vZGUiLCJ0YXJnZXROb2RlIiwiY29udmVydFRvTm9kZVNwYWNlQVIiLCJfcGFyZW50IiwiY29udmVydFRvV29ybGRTcGFjZUFSIiwiY2MiLCJ2MiIsIlJhbmRvbUludCIsImEiLCJiIiwibWF4IiwibWluIiwicmFuZG9tIiwiQmV0d2VlbiIsImMiLCJzb3J0IiwicmFuZG9tU29ydEJ5QXJyIiwiYXJyIiwibmV3QXJyIiwidG1wQXJyIiwiY29uY2F0IiwibGVuZ3RoIiwicmFuZG9tSW5kZXgiLCJwdXNoIiwic3BsaWNlIiwiYXN5bmNUd2VlblRvIiwibm9kZSIsImR1cmF0aW9uIiwib2JqIiwiZWFzZSIsInVuZGVmaW5lZCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwidHdlZW4iLCJ0byIsImNhbGwiLCJzdGFydCIsImFzeW5jVHdlZW5CeSIsImJ5IiwiYXN5bmNQbGF5RHJhZ29uQm9uZUFuaW1hdGlvbiIsImFuaW1hdGlvbk5hbWUiLCJ0aW1lIiwib25GcmFtZUV2ZW50IiwiZ2V0Q29tcG9uZW50IiwiZHJhZ29uQm9uZXMiLCJBcm1hdHVyZURpc3BsYXkiLCJvbmNlIiwiRXZlbnRPYmplY3QiLCJDT01QTEVURSIsIm9uIiwiRlJBTUVfRVZFTlQiLCJuYW1lIiwicGxheUFuaW1hdGlvbiIsImFzeW5jUGxheUVmZmVjdEJ5VXJsIiwidXJsIiwibG9vcCIsImFzc2V0TWFuYWdlciIsImxvYWRSZW1vdGUiLCJlcnIiLCJjbGlwIiwiY29uc29sZSIsImxvZyIsImF1ZGlvRW5naW5lIiwicGxheUVmZmVjdCIsImplbGx5Iiwic2NhbGVYIiwic2NhbGVZIiwiYXN5bmNEZWxheSIsInNldFRpbWVvdXQiLCJzaG93RmlyZXdvcmtzIiwibm9kZUxpc3QiLCJwb3MiLCJzaWRlIiwicmFuZ2UiLCJudW1iZXIiLCJBcnJheSIsImZpbGwiLCJmb3JFYWNoIiwiXyIsImkiLCJyYWJib25Ob2RlIiwiTm9kZSIsInBhcmVudCIsImluc3RhbnRpYXRlIiwiYWN0aXZlIiwicmF0ZSIsImVhc2luZyIsInJhYmJvbkZhbGwiLCJ1bmlvbiIsInJlcGVhdEZvcmV2ZXIiLCJkZWxheSIsIm9wYWNpdHkiLCJzdG9wQWxsQWN0aW9ucyIsIm9mZnNldFgiLCJsb2FkU3BpbmUiLCJza2VsZXRvbiIsInBpY05hbWUiLCJ0ZXgiLCJhdGxhcyIsInNrZSIsImVycm9yIiwidGV4dHVyZSIsImxvYWRBbnkiLCJhdGxhc0pzb24iLCJkcmFnb25Cb25lc0pzb24iLCJhc3NldCIsInNwIiwiU2tlbGV0b25EYXRhIiwiX3V1aWQiLCJza2VsZXRvbkpzb24iLCJKU09OIiwic3RyaW5naWZ5IiwiYXRsYXNUZXh0IiwidGV4dHVyZXMiLCJ0ZXh0dXJlTmFtZXMiLCJza2VsZXRvbkRhdGEiLCJqc29uT2JqIiwiYW5pbWF0aW9uTmFtZU9iaiIsImFuaW1hdGlvbnMiLCJhbmltYXRpb25OYW1lcyIsImFuaW1hdGlvbiIsIm9uSG9tZXdvcmtGaW5pc2giLCJtaWRkbGVMYXllciIsImZpbmQiLCJtaWRkbGVMYXllckNvbXBvbmVudCIsInJvbGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQU8sU0FBU0EsYUFBVCxDQUF1QkMsS0FBdkIsRUFBOEJDLEdBQTlCLEVBQW1DO0FBRXRDLE1BQU1DLE1BQU0sR0FBR0YsS0FBSyxHQUFHRyxJQUFJLENBQUNDLEVBQWIsR0FBa0IsR0FBakM7QUFDQSxNQUFNQyxDQUFDLEdBQUdGLElBQUksQ0FBQ0csR0FBTCxDQUFTSixNQUFU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RCxPQUFPLENBQUMsVUFBRCxDQUE3QztBQUVBckYsVUFBQUEsT0FBTyxDQUFDcUYsT0FBTyxDQUFDLFVBQUQsQ0FBUixDQUFQO0FBR0QsU0FwQ0Q7QUFxQ0gsT0EzQ0Q7QUE0Q0QsS0FsREQ7QUFtREQsR0FyRE0sQ0FBUDtBQXVERDs7QUFNSSxTQUFTSyxnQkFBVCxHQUE0QjtBQUNsQyxNQUFNQyxXQUFXLEdBQUd0SCxFQUFFLENBQUN1SCxJQUFILENBQVEsYUFBUixDQUFwQjs7QUFDQSxNQUFJRCxXQUFKLEVBQWlCO0FBQ2YsUUFBTUUsb0JBQW9CLEdBQUdGLFdBQVcsQ0FBQy9FLFlBQVosQ0FBeUIsYUFBekIsQ0FBN0I7O0FBQ0EsUUFBSWlGLG9CQUFvQixDQUFDQyxJQUFyQixJQUE2QixTQUFqQyxFQUE0QztBQUM3Q0QsTUFBQUEsb0JBQW9CLENBQUNILGdCQUFyQixDQUFzQyxZQUFNLENBQUcsQ0FBL0M7QUFDRTtBQUNGLEdBTEQsTUFLTztBQUNMN0QsSUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVksa0JBQVo7QUFDRDtBQUNDIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ2V0UG9zQnlBbmdsZShhbmdsZSwgbGVuKSB7XG5cbiAgICBjb25zdCByYWRpYW4gPSBhbmdsZSAqIE1hdGguUEkgLyAxODA7XG4gICAgY29uc3QgeCA9IE1hdGguc2luKHJhZGlhbikgKiBsZW47XG4gICAgY29uc3QgeSA9IE1hdGguY29zKHJhZGlhbikgKiBsZW47XG5cbiAgICByZXR1cm4geyB4LCB5IH07XG5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFuZ2xlQnlQb3MocHgsIHB5LCBteCwgbXkpIHtcblxuICAgIGNvbnN0IHggPSBNYXRoLmFicyhweCAtIG14KTtcbiAgICBjb25zdCB5ID0gTWF0aC5hYnMocHkgLSBteSk7XG5cbiAgICBjb25zdCB6ID0gTWF0aC5zcXJ0KE1hdGgucG93KHgsIDIpICsgTWF0aC5wb3coeSwgMikpO1xuICAgIGNvbnN0IGNvcyA9IHkgLyB6O1xuICAgIGNvbnN0IHJhZGluYSA9IE1hdGguYWNvcyhjb3MpOyAvLyDnlKjlj43kuInop5Llh73mlbDmsYLlvKfluqZcbiAgICBsZXQgYW5nbGUgPSBNYXRoLmZsb29yKDE4MCAvIChNYXRoLlBJIC8gcmFkaW5hKSAqIDEwMCkgLyAxMDA7IC8vIOWwhuW8p+W6pui9rOaNouaIkOinkuW6plxuXG4gICAgaWYgKG14ID4gcHggJiYgbXkgPiBweSkgey8vIOm8oOagh+WcqOesrOWbm+ixoemZkFxuICAgICAgICBhbmdsZSA9IDE4MCAtIGFuZ2xlO1xuICAgIH1cbiAgICBpZiAobXggPT09IHB4ICYmIG15ID4gcHkpIHsvLyDpvKDmoIflnKh56L206LSf5pa55ZCR5LiKXG4gICAgICAgIGFuZ2xlID0gMTgwO1xuICAgIH1cbiAgICBpZiAobXggPiBweCAmJiBteSA9PT0gcHkpIHsvLyDpvKDmoIflnKh46L205q2j5pa55ZCR5LiKXG4gICAgICAgIGFuZ2xlID0gOTA7XG4gICAgfVxuICAgIGlmIChteCA8IHB4ICYmIG15ID4gcHkpIHsvLyDpvKDmoIflnKjnrKzkuInosaHpmZBcbiAgICAgICAgYW5nbGUgPSAxODAgKyBhbmdsZTtcbiAgICB9XG4gICAgaWYgKG14IDwgcHggJiYgbXkgPT09IHB5KSB7Ly8g6byg5qCH5ZyoeOi9tOi0n+aWueWQkVxuICAgICAgICBhbmdsZSA9IDI3MDtcbiAgICB9XG4gICAgaWYgKG14IDwgcHggJiYgbXkgPCBweSkgey8vIOm8oOagh+WcqOesrOS6jOixoemZkFxuICAgICAgICBhbmdsZSA9IDM2MCAtIGFuZ2xlO1xuICAgIH1cblxuICAgIC8vIGNvbnNvbGUubG9nKCdhbmdsZTogJywgYW5nbGUpO1xuICAgIHJldHVybiBhbmdsZTtcblxufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhjaGFuZ2VOb2RlUG9zKGJhc2VOb2RlLCB0YXJnZXROb2RlKSB7XG4gICAgcmV0dXJuIGJhc2VOb2RlLmNvbnZlcnRUb05vZGVTcGFjZUFSKHRhcmdldE5vZGUuX3BhcmVudC5jb252ZXJ0VG9Xb3JsZFNwYWNlQVIoY2MudjIodGFyZ2V0Tm9kZS54LCB0YXJnZXROb2RlLnkpKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSYW5kb21JbnQoYSwgYiA9IDApIHtcbiAgICBsZXQgbWF4ID0gTWF0aC5tYXgoYSwgYik7XG4gICAgbGV0IG1pbiA9IE1hdGgubWluKGEsIGIpO1xuICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluKSArIG1pbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCZXR3ZWVuKGEsIGIsIGMpIHtcbiAgICByZXR1cm4gW2EsIGIsIGNdLnNvcnQoKGEsIGIpID0+IGEgLSBiKVsxXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJhbmRvbVNvcnRCeUFycihhcnIpIHtcbiAgICBjb25zdCBuZXdBcnIgPSBbXTtcbiAgICBjb25zdCB0bXBBcnIgPSBhcnIuY29uY2F0KCk7XG4gICAgd2hpbGUgKHRtcEFyci5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHJhbmRvbUluZGV4ID0gTWF0aC5mbG9vcih0bXBBcnIubGVuZ3RoICogTWF0aC5yYW5kb20oKSk7XG4gICAgICAgIG5ld0Fyci5wdXNoKHRtcEFycltyYW5kb21JbmRleF0pO1xuICAgICAgICB0bXBBcnIuc3BsaWNlKHJhbmRvbUluZGV4LCAxKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld0Fycjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jVHdlZW5Ubyhub2RlLCBkdXJhdGlvbiwgb2JqLCBlYXNlID0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY2MudHdlZW4obm9kZSlcbiAgICAgICAgICAgIC50byhkdXJhdGlvbiwgb2JqLCBlYXNlKVxuICAgICAgICAgICAgLmNhbGwoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3RhcnQoKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jVHdlZW5CeShub2RlLCBkdXJhdGlvbiwgb2JqLCBlYXNlID0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY2MudHdlZW4obm9kZSlcbiAgICAgICAgICAgIC5ieShkdXJhdGlvbiwgb2JqLCBlYXNlKVxuICAgICAgICAgICAgLmNhbGwoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3RhcnQoKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jUGxheURyYWdvbkJvbmVBbmltYXRpb24obm9kZSwgYW5pbWF0aW9uTmFtZSwgdGltZSA9IDEsIG9uRnJhbWVFdmVudCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIG5vZGUuZ2V0Q29tcG9uZW50KGRyYWdvbkJvbmVzLkFybWF0dXJlRGlzcGxheSlcbiAgICAgICAgICAgIC5vbmNlKGRyYWdvbkJvbmVzLkV2ZW50T2JqZWN0LkNPTVBMRVRFLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgbm9kZS5nZXRDb21wb25lbnQoZHJhZ29uQm9uZXMuQXJtYXR1cmVEaXNwbGF5KVxuICAgICAgICAgICAgLm9uKGRyYWdvbkJvbmVzLkV2ZW50T2JqZWN0LkZSQU1FX0VWRU5ULCAoeyBuYW1lIH0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob25GcmFtZUV2ZW50ICYmIHR5cGVvZiAob25GcmFtZUV2ZW50KSA9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uRnJhbWVFdmVudChuYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBub2RlLmdldENvbXBvbmVudChkcmFnb25Cb25lcy5Bcm1hdHVyZURpc3BsYXkpXG4gICAgICAgICAgICAucGxheUFuaW1hdGlvbihhbmltYXRpb25OYW1lLCB0aW1lKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jUGxheUVmZmVjdEJ5VXJsKHVybCwgbG9vcCA9IGZhbHNlKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY2MuYXNzZXRNYW5hZ2VyLmxvYWRSZW1vdGUodXJsLCAoZXJyLCBjbGlwKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhjbGlwKTtcbiAgICAgICAgICAgIGNjLmF1ZGlvRW5naW5lLnBsYXlFZmZlY3QoY2xpcCwgbG9vcCk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gamVsbHkobm9kZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNjLnR3ZWVuKG5vZGUpXG4gICAgICAgICAgICAudG8oMC4xLCB7IHNjYWxlWDogMC45LCBzY2FsZVk6IDEuMSB9KVxuICAgICAgICAgICAgLnRvKDAuMSwgeyBzY2FsZVg6IDEuMSwgc2NhbGVZOiAwLjkgfSlcbiAgICAgICAgICAgIC50bygwLjEsIHsgc2NhbGVYOiAxLCBzY2FsZVk6IDEgfSlcbiAgICAgICAgICAgIC5jYWxsKHJlc29sdmUpXG4gICAgICAgICAgICAuc3RhcnQoKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jRGVsYXkodGltZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9LCB0aW1lICogMTAwMCk7XG4gICAgfSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNob3dGaXJld29ya3MoYmFzZU5vZGUsIG5vZGVMaXN0LCBwb3MgPSBjYy52MigwLCAwKSwgc2lkZSA9IGNjLnYyKDAsIDEwMCksIHJhbmdlID0gNTAsIG51bWJlciA9IDEwMCkge1xuICAgIG5ldyBBcnJheShudW1iZXIpLmZpbGwoJyAnKS5mb3JFYWNoKGFzeW5jIChfLCBpKSA9PiB7XG5cbiAgICAgICAgbGV0IHJhYmJvbk5vZGUgPSBuZXcgY2MuTm9kZSgpO1xuICAgICAgICByYWJib25Ob2RlLnBhcmVudCA9IGJhc2VOb2RlO1xuICAgICAgICByYWJib25Ob2RlLnggPSBwb3MueDtcbiAgICAgICAgcmFiYm9uTm9kZS55ID0gcG9zLnk7XG4gICAgICAgIHJhYmJvbk5vZGUuYW5nbGUgPSA2MCAqIE1hdGgucmFuZG9tKCkgLSAzMDtcblxuICAgICAgICBsZXQgbm9kZSA9IGNjLmluc3RhbnRpYXRlKG5vZGVMaXN0W1JhbmRvbUludChub2RlTGlzdC5sZW5ndGgpXSk7XG4gICAgICAgIG5vZGUucGFyZW50ID0gcmFiYm9uTm9kZTtcbiAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xuICAgICAgICBub2RlLnggPSAwO1xuICAgICAgICBub2RlLnkgPSAwO1xuICAgICAgICBub2RlLmFuZ2xlID0gMDtcblxuICAgICAgICBjb25zdCByYXRlID0gTWF0aC5yYW5kb20oKTtcbiAgICAgICAgY29uc3QgYW5nbGUgPSBNYXRoLlBJICogKE1hdGgucmFuZG9tKCkgKiAyIC0gMSk7XG5cbiAgICAgICAgYXdhaXQgYXN5bmNUd2VlbkJ5KHJhYmJvbk5vZGUsIDAuMywge1xuICAgICAgICAgICAgeDogc2lkZS54ICogcmF0ZSArIE1hdGguY29zKGFuZ2xlKSAqIHJhbmdlICogcmF0ZSxcbiAgICAgICAgICAgIHk6IHNpZGUueSAqIHJhdGUgKyBNYXRoLnNpbihhbmdsZSkgKiByYW5nZSAqIHJhdGVcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgZWFzaW5nOiAncXVhZEluJ1xuICAgICAgICB9KTtcblxuICAgICAgICBjYy50d2VlbihyYWJib25Ob2RlKVxuICAgICAgICAgICAgLmJ5KDgsIHsgeTogLTIwMDAgfSlcbiAgICAgICAgICAgIC5zdGFydCgpO1xuXG4gICAgICAgIHJhYmJvbkZhbGwocmFiYm9uTm9kZSk7XG5cbiAgICAgICAgYXdhaXQgYXN5bmNEZWxheShNYXRoLnJhbmRvbSgpKTtcbiAgICAgICAgY2MudHdlZW4obm9kZSlcbiAgICAgICAgICAgIC5ieSgwLjE1LCB7IHg6IC0xMCwgYW5nbGU6IC0xMCB9KVxuICAgICAgICAgICAgLmJ5KDAuMywgeyB4OiAyMCwgYW5nbGU6IDIwIH0pXG4gICAgICAgICAgICAuYnkoMC4xNSwgeyB4OiAtMTAsIGFuZ2xlOiAtMTAgfSlcbiAgICAgICAgICAgIC51bmlvbigpXG4gICAgICAgICAgICAucmVwZWF0Rm9yZXZlcigpXG4gICAgICAgICAgICAuc3RhcnQoKTtcblxuICAgICAgICBjYy50d2VlbihyYWJib25Ob2RlKVxuICAgICAgICAgICAgLmRlbGF5KDUpXG4gICAgICAgICAgICAudG8oMC4zLCB7IG9wYWNpdHk6IDAgfSlcbiAgICAgICAgICAgIC5jYWxsKCgpID0+IHtcbiAgICAgICAgICAgICAgICBub2RlLnN0b3BBbGxBY3Rpb25zKCk7XG4gICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBub2RlLnBhcmVudCA9IG51bGw7XG4gICAgICAgICAgICAgICAgbm9kZSA9IG51bGw7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN0YXJ0KCk7XG4gICAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJhYmJvbkZhbGwobm9kZSkge1xuICAgIGNvbnN0IHRpbWUgPSAxICsgTWF0aC5yYW5kb20oKTtcbiAgICBjb25zdCBvZmZzZXRYID0gUmFuZG9tSW50KC0yMDAsIDIwMCkgKiB0aW1lO1xuICAgIGF3YWl0IGFzeW5jVHdlZW5CeShub2RlLCB0aW1lLCB7IHg6IG9mZnNldFgsIGFuZ2xlOiBvZmZzZXRYICogNjAgLyAyMDAgfSk7XG4gICAgcmFiYm9uRmFsbChub2RlKTtcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZFNwaW5lKHNrZWxldG9uLCBwaWNOYW1lLCB7dGV4LCBhdGxhcywgc2tlfSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAvLyBjYy5sb2FkZXIubG9hZCh7IHVybDogdGV4LCB0eXBlOiAncG5nJyB9LCAoZXJyb3IsIHRleHR1cmUpID0+IHtcbiAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHRleCwgKGVycm9yLCB0ZXh0dXJlKSA9PiB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIHJlamVjdCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBjYy5sb2FkZXIubG9hZCh7IHVybDogYXRsYXMsIHR5cGU6ICd0eHQnIH0sIChlcnJvciwgYXRsYXNKc29uKSA9PiB7XG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkQW55KHsgdXJsOiBhdGxhcyB9LCAoZXJyb3IsIGF0bGFzSnNvbikgPT4ge1xuICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgcmVqZWN0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY2MubG9hZGVyLmxvYWQoeyB1cmw6IHNrZSwgdHlwZTogJ3R4dCcgfSwgKGVycm9yLCBkcmFnb25Cb25lc0pzb24pID0+IHtcbiAgICAgICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkQW55KHsgdXJsOiBza2UgfSwgKGVycm9yLCBkcmFnb25Cb25lc0pzb24pID0+IHtcbiAgICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG4gIFxuICBcbiAgICAgICAgICAgICAgdmFyIGFzc2V0ID0gbmV3IHNwLlNrZWxldG9uRGF0YSgpO1xuICAgICAgICAgICAgICBhc3NldC5fdXVpZCA9IHNrZTtcbiAgICAgICAgICAgICAgYXNzZXQuc2tlbGV0b25Kc29uID0gSlNPTi5zdHJpbmdpZnkoIGRyYWdvbkJvbmVzSnNvbiApO1xuICAgICAgICAgICAgICBhc3NldC5hdGxhc1RleHQgPSBhdGxhc0pzb247XG4gICAgICAgICAgICAgIGFzc2V0LnRleHR1cmVzID0gW3RleHR1cmVdO1xuICAgICAgICAgICAgICBhc3NldC50ZXh0dXJlTmFtZXMgPSBbcGljTmFtZV07XG4gIFxuICAgICAgICAgICAgICBjb25zb2xlLmxvZygncGljTmFtZTogJywgcGljTmFtZSk7XG4gIFxuICAgICAgICAgICAgICAgICAgICBza2VsZXRvbi5za2VsZXRvbkRhdGEgPSBhc3NldDtcbiAgICAgIFxuICBcbiAgICAgICAgICAgICAgY29uc3QganNvbk9iaiA9IGRyYWdvbkJvbmVzSnNvbiAvL0pTT04ucGFyc2UoIGFzc2V0c1sxXSk7XG4gICAgICAgICAgICAgIGNvbnN0IGFuaW1hdGlvbk5hbWVPYmogPSBqc29uT2JqLmFuaW1hdGlvbnM7XG4gICAgICAgICAgICAgIGxldCBhbmltYXRpb25OYW1lcyA9IFtdO1xuICAgICAgICAgICAgICBmb3IgKGxldCBuYW1lIGluIGFuaW1hdGlvbk5hbWVPYmopIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnbmFtZX5+OiAgJywgbmFtZSk7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uTmFtZXMucHVzaChuYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwic2tlbGV0b24uYW5pbWF0aW9uOiBcIiwgc2tlbGV0b24uYW5pbWF0aW9uKTtcbiAgICAgICAgICAgIHNrZWxldG9uLmFuaW1hdGlvbk5hbWVzID0gYW5pbWF0aW9uTmFtZXM7XG4gICAgICAgICAgICBza2VsZXRvbi5sb29wID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJqc29uT2JqIDogXCIsIGpzb25PYmopXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwianNvbk9ialsnc2tlbGV0b24nXSA6IFwiLCBqc29uT2JqWydza2VsZXRvbiddKVxuICBcbiAgICAgICAgICAgICAgcmVzb2x2ZShqc29uT2JqWydza2VsZXRvbiddKTtcbiAgXG5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIFxuICB9XG4gIFxuXG5cblxuXG5leHBvcnQgZnVuY3Rpb24gb25Ib21ld29ya0ZpbmlzaCgpIHtcblx0Y29uc3QgbWlkZGxlTGF5ZXIgPSBjYy5maW5kKCdtaWRkbGVMYXllcicpO1xuXHRpZiAobWlkZGxlTGF5ZXIpIHtcblx0ICBjb25zdCBtaWRkbGVMYXllckNvbXBvbmVudCA9IG1pZGRsZUxheWVyLmdldENvbXBvbmVudCgnbWlkZGxlTGF5ZXInKTtcblx0ICBpZiAobWlkZGxlTGF5ZXJDb21wb25lbnQucm9sZSA9PSAnc3R1ZGVudCcpIHtcblx0XHRtaWRkbGVMYXllckNvbXBvbmVudC5vbkhvbWV3b3JrRmluaXNoKCgpID0+IHsgfSk7XG5cdCAgfVxuXHR9IGVsc2Uge1xuXHQgIGNvbnNvbGUubG9nKCdvbkhvbWV3b3JrRmluaXNoJyk7XG5cdH1cbiAgfSJdfQ==
\ No newline at end of file
......@@ -119,4 +119,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcT1AxM1xcc2NyaXB0XFx2ZXJsZXRfYXNzZW1ibGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJFQUFtRTtBQUVuRSxJQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFBO0FBRWxCLElBQUksbUJBQW1CLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDO0lBQzNDLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0lBQ2hFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0lBQzNELEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQzVFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUM7Q0FDNUQsQ0FBQyxDQUFDO0FBRUg7SUFBNkMsbUNBQXVCO0lBQXBFOztJQThFQSxDQUFDO0lBNUVHLDhCQUFJLEdBQUosVUFBSyxJQUF3QjtRQUN6QixpQkFBTSxJQUFJLFlBQUMsSUFBSSxDQUFDLENBQUM7UUFFakIsWUFBWTtRQUNaLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxD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QUcsS0FBSyxDQUFDO2dCQUM3QixLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDekIsU0FBUyxJQUFJLGFBQWEsQ0FBQztnQkFFM0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFPLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDbkQsS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7Z0JBQzdCLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUV6QixLQUFLLEdBQUcsS0FBSyxDQUFBO2FBQ2hCO1lBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBQ0wsc0JBQUM7QUFBRCxDQTlFQSxBQThFQyxDQTlFNEMsb0NBQXVCLEdBOEVuRSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYWdlRWZmZWN0QXNzZW1ibGVyQmFzZSBmcm9tIFwiLi9wYWdlX2VmZmVjdF9hc3NlbWJsZXJfYmFzZVwiO1xyXG5cclxuY29uc3QgZ2Z4ID0gY2MuZ2Z4XHJcblxyXG5sZXQgdmZtdFBvc1V2Q29sb3JGcm9udCA9IG5ldyBnZnguVmVydGV4Rm9ybWF0KFtcclxuICAgIHsgbmFtZTogZ2Z4LkFUVFJfUE9TSVRJT04sIHR5cGU6IGdmeC5BVFRSX1RZUEVfRkxPQVQzMiwgbnVtOiAyIH0sXHJcbiAgICB7IG5hbWU6IGdmeC5BVFRSX1VWMCwgdHlwZTogZ2Z4LkFUVFJfVFlQRV9GTE9BVDMyLCBudW06IDIgfSxcclxuICAgIHsgbmFtZTogZ2Z4LkFUVFJfQ09MT1IsIHR5cGU6IGdmeC5BVFRSX1RZUEVfVUlOVDgsIG51bTogNCwgbm9ybWFsaXplOiB0cnVlIH0sXHJcbiAgICB7IG5hbWU6IFwiYV9pc0Zyb250XCIsIHR5cGU6IGdmeC5BVFRSX1RZUEVfRkxPQVQzMiwgbnVtOiAxfSxcclxuXSk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZXJsZXRBc3NlbWJsZXIgZXh0ZW5kcyBQYWdlRWZmZWN0QXNzZW1ibGVyQmFzZSB7XHJcblxyXG4gICAgaW5pdChjb21wOiBjYy5SZW5kZXJDb21wb25lbnQpIHtcclxuICAgICAgICBzdXBlci5pbml0KGNvbXApO1xyXG5cclxuICAgICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgICBsZXQgc2VnbWVudENvdW50ID0gY29tcC5wb2ludHNDb3VudCAtIDE7XHJcbiAgICAgICAgdGhpcy52ZXJ0aWNlc0NvdW50ID0gNCAqIHNlZ21lbnRDb3VudDtcclxuICAgICAgICB0aGlzLmluZGljZXNDb3VudCA9IDYgKiBzZWdtZW50Q291bnQ7XHJcbiAgICAgICAgdGhpcy5mbG9hdHNQZXJWZXJ0ID0gNjtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLmluaXREYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VmZtdCgpIHtcclxuICAgICAgICByZXR1cm4gdmZtdFBvc1V2Q29sb3JGcm9udDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHVibGljIHVwZGF0ZVJlbmRlckRhdGEgKGNvbXA6IGFueSkge1xyXG4gICAgICAgIGlmIChjb21wKSB7XHJcbiAgICAgICAgICAgIGxldCBwb2ludExpc3Q6IGNjLlZlYzJbXSA9IGNvbXAuZ2V0UG9pbnRMaXN0KClcclxuICAgICAgICAgICAgbGV0IHBvaW50TnVtOiBudW1iZXIgPSBwb2ludExpc3QubGVuZ3RoXHJcbiAgICAgICAgICAgIGlmIChwb2ludE51bSA8IDIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVyblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsZXQgbm9kZSA9IGNvbXAubm9kZVxyXG4gICAgICAgICAgICBsZXQgaGVpZ2h0ID0gbm9kZS5oZWlnaHRcclxuICAgICAgICAgICAgbGV0IHdpZHRoID0gbm9kZS53aWR0aFxyXG4gICAgICAgICAgICBsZXQgcG9zWCA9IC0gd2lkdGggKiBub2RlLmFuY2hvclhcclxuICAgICAgICAgICAgbGV0IHBvc1kgPSAtIGhlaWdodCAqIG5vZGUuYW5jaG9yWVxyXG5cclxuICAgICAgICAgICAgbGV0IGdhcFUgPSAxIC8gKHBvaW50TnVtIC0gMSlcclxuICAgICAgICAgICAgbGV0IGxhc3RVID0gMFxyXG4gICAgICAgICAgICBsZXQgbmV4dFUgPSAwXHJcblxyXG4gICAgICAgICAgICBsZXQgZmxvYXRzUGVyVmVydCA9IHRoaXMuZmxvYXRzUGVyVmVydDtcclxuICAgICAgICAgICAgbGV0IHZlcnRzID0gdGhpcy5yZW5kZXJEYXRhLnZEYXRhc1swXTtcclxuICAgICAgICAgICAgLy8g5YaZdmVydHPml7bnmoTkuIvmoIdcclxuICAgICAgICAgICAgbGV0IGRzdE9mZnNldCA9IDA7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgcG9pbnROdW07IGkrKykge1xyXG4gICAgICAgICAgICAgICAgbGV0IGxhc3RQb2ludCA9IHBvaW50TGlzdFtpIC0gMV1cclxuICAgICAgICAgICAgICAgIGxldCBuZXh0UG9pbnQgPSBwb2ludExpc3RbaV1cclxuICAgICAgICAgICAgICAgIG5leHRVID0gbGFzdFUgKyBnYXBVXHJcblxyXG4gICAgICAgICAgICAgICAgLy8g6aG254K55ZKM6LSo54K55LiA5LiA5a+55bqUXHJcbiAgICAgICAgICAgICAgICAvLyDpobbngrnmlbDmja7lhpnlhaV2ZXJ0c1xyXG4gICAgICAgICAgICAgICAgZHN0T2Zmc2V0ID0gZmxvYXRzUGVyVmVydCAqIChpLTEpICogNDtcclxuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldF0gICAgID0gcG9zWCArIGxhc3RQb2ludC54O1xyXG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgMV0gPSBwb3NZICsgbGFzdFBvaW50Lnk7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAyXSA9IGxhc3RVO1xyXG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgM10gPSAxO1xyXG4gICAgICAgICAgICAgICAgZHN0T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0XSAgICAgPSBwb3NYICsgbmV4dFBvaW50Lng7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAxXSA9IHBvc1kgKyBuZXh0UG9pbnQueTtcclxuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDJdID0gbmV4dFU7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAzXSA9IDE7XHJcbiAgICAgICAgICAgICAgICBkc3RPZmZzZXQgKz0gZmxvYXRzUGVyVmVydDtcclxuXHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXRdICAgICA9IHBvc1ggKyBsYXN0UG9pbnQueDtcclxuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDFdID0gcG9zWSArIGhlaWdodCArIGxhc3RQb2ludC55O1xyXG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgMl0gPSBsYXN0VTtcclxuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDNdID0gMDtcclxuICAgICAgICAgICAgICAgIGRzdE9mZnNldCArPSBmbG9hdHNQZXJWZXJ0O1xyXG5cclxuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldF0gICAgID0gcG9zWCArIG5leHRQb2ludC54O1xyXG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgMV0gPSBwb3NZICsgaGVpZ2h0ICsgbmV4dFBvaW50Lnk7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAyXSA9IG5leHRVO1xyXG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgM10gPSAwO1xyXG5cclxuICAgICAgICAgICAgICAgIGxhc3RVID0gbmV4dFVcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy51cGRhdGVDb2xvcihjb21wLCBudWxsKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVJc0Zyb250KGNvbXAsIDUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9PUDEzL3NjcmlwdC92ZXJsZXRfYXNzZW1ibGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJFQUFtRTtBQUVuRSxJQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFBO0FBRWxCLElBQUksbUJBQW1CLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDO0lBQzNDLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0lBQ2hFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0lBQzNELEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO0lBQzVFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUM7Q0FDNUQsQ0FBQyxDQUFDO0FBRUg7SUFBNkMsbUNBQXVCO0lBQXBFOztJQThFQSxDQUFDO0lBNUVHLDhCQUFJLEdBQUosVUFBSyxJQUF3QjtRQUN6QixpQkFBTSxJQUFJLFlBQUMsSUFBSSxDQUFDLENBQUM7UUFFakIsWUFBWTtRQUNaLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFD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S0FBSyxDQUFDO2dCQUM3QixLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDekIsU0FBUyxJQUFJLGFBQWEsQ0FBQztnQkFFM0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFPLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDbkQsS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7Z0JBQzdCLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUV6QixLQUFLLEdBQUcsS0FBSyxDQUFBO2FBQ2hCO1lBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBQ0wsc0JBQUM7QUFBRCxDQTlFQSxBQThFQyxDQTlFNEMsb0NBQXVCLEdBOEVuRSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYWdlRWZmZWN0QXNzZW1ibGVyQmFzZSBmcm9tIFwiLi9wYWdlX2VmZmVjdF9hc3NlbWJsZXJfYmFzZVwiO1xuXG5jb25zdCBnZnggPSBjYy5nZnhcblxubGV0IHZmbXRQb3NVdkNvbG9yRnJvbnQgPSBuZXcgZ2Z4LlZlcnRleEZvcm1hdChbXG4gICAgeyBuYW1lOiBnZnguQVRUUl9QT1NJVElPTiwgdHlwZTogZ2Z4LkFUVFJfVFlQRV9GTE9BVDMyLCBudW06IDIgfSxcbiAgICB7IG5hbWU6IGdmeC5BVFRSX1VWMCwgdHlwZTogZ2Z4LkFUVFJfVFlQRV9GTE9BVDMyLCBudW06IDIgfSxcbiAgICB7IG5hbWU6IGdmeC5BVFRSX0NPTE9SLCB0eXBlOiBnZnguQVRUUl9UWVBFX1VJTlQ4LCBudW06IDQsIG5vcm1hbGl6ZTogdHJ1ZSB9LFxuICAgIHsgbmFtZTogXCJhX2lzRnJvbnRcIiwgdHlwZTogZ2Z4LkFUVFJfVFlQRV9GTE9BVDMyLCBudW06IDF9LFxuXSk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlcmxldEFzc2VtYmxlciBleHRlbmRzIFBhZ2VFZmZlY3RBc3NlbWJsZXJCYXNlIHtcblxuICAgIGluaXQoY29tcDogY2MuUmVuZGVyQ29tcG9uZW50KSB7XG4gICAgICAgIHN1cGVyLmluaXQoY29tcCk7XG5cbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGxldCBzZWdtZW50Q291bnQgPSBjb21wLnBvaW50c0NvdW50IC0gMTtcbiAgICAgICAgdGhpcy52ZXJ0aWNlc0NvdW50ID0gNCAqIHNlZ21lbnRDb3VudDtcbiAgICAgICAgdGhpcy5pbmRpY2VzQ291bnQgPSA2ICogc2VnbWVudENvdW50O1xuICAgICAgICB0aGlzLmZsb2F0c1BlclZlcnQgPSA2O1xuICAgICAgICBcbiAgICAgICAgdGhpcy5pbml0RGF0YSgpO1xuICAgIH1cblxuICAgIGdldFZmbXQoKSB7XG4gICAgICAgIHJldHVybiB2Zm10UG9zVXZDb2xvckZyb250O1xuICAgIH1cbiAgICBcbiAgICBwdWJsaWMgdXBkYXRlUmVuZGVyRGF0YSAoY29tcDogYW55KSB7XG4gICAgICAgIGlmIChjb21wKSB7XG4gICAgICAgICAgICBsZXQgcG9pbnRMaXN0OiBjYy5WZWMyW10gPSBjb21wLmdldFBvaW50TGlzdCgpXG4gICAgICAgICAgICBsZXQgcG9pbnROdW06IG51bWJlciA9IHBvaW50TGlzdC5sZW5ndGhcbiAgICAgICAgICAgIGlmIChwb2ludE51bSA8IDIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IG5vZGUgPSBjb21wLm5vZGVcbiAgICAgICAgICAgIGxldCBoZWlnaHQgPSBub2RlLmhlaWdodFxuICAgICAgICAgICAgbGV0IHdpZHRoID0gbm9kZS53aWR0aFxuICAgICAgICAgICAgbGV0IHBvc1ggPSAtIHdpZHRoICogbm9kZS5hbmNob3JYXG4gICAgICAgICAgICBsZXQgcG9zWSA9IC0gaGVpZ2h0ICogbm9kZS5hbmNob3JZXG5cbiAgICAgICAgICAgIGxldCBnYXBVID0gMSAvIChwb2ludE51bSAtIDEpXG4gICAgICAgICAgICBsZXQgbGFzdFUgPSAwXG4gICAgICAgICAgICBsZXQgbmV4dFUgPSAwXG5cbiAgICAgICAgICAgIGxldCBmbG9hdHNQZXJWZXJ0ID0gdGhpcy5mbG9hdHNQZXJWZXJ0O1xuICAgICAgICAgICAgbGV0IHZlcnRzID0gdGhpcy5yZW5kZXJEYXRhLnZEYXRhc1swXTtcbiAgICAgICAgICAgIC8vIOWGmXZlcnRz5pe255qE5LiL5qCHXG4gICAgICAgICAgICBsZXQgZHN0T2Zmc2V0ID0gMDtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgcG9pbnROdW07IGkrKykge1xuICAgICAgICAgICAgICAgIGxldCBsYXN0UG9pbnQgPSBwb2ludExpc3RbaSAtIDFdXG4gICAgICAgICAgICAgICAgbGV0IG5leHRQb2ludCA9IHBvaW50TGlzdFtpXVxuICAgICAgICAgICAgICAgIG5leHRVID0gbGFzdFUgKyBnYXBVXG5cbiAgICAgICAgICAgICAgICAvLyDpobbngrnlkozotKjngrnkuIDkuIDlr7nlupRcbiAgICAgICAgICAgICAgICAvLyDpobbngrnmlbDmja7lhpnlhaV2ZXJ0c1xuICAgICAgICAgICAgICAgIGRzdE9mZnNldCA9IGZsb2F0c1BlclZlcnQgKiAoaS0xKSAqIDQ7XG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0XSAgICAgPSBwb3NYICsgbGFzdFBvaW50Lng7XG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgMV0gPSBwb3NZICsgbGFzdFBvaW50Lnk7XG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgMl0gPSBsYXN0VTtcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAzXSA9IDE7XG4gICAgICAgICAgICAgICAgZHN0T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7XG5cbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXRdICAgICA9IHBvc1ggKyBuZXh0UG9pbnQueDtcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAxXSA9IHBvc1kgKyBuZXh0UG9pbnQueTtcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAyXSA9IG5leHRVO1xuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDNdID0gMTtcbiAgICAgICAgICAgICAgICBkc3RPZmZzZXQgKz0gZmxvYXRzUGVyVmVydDtcblxuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldF0gICAgID0gcG9zWCArIGxhc3RQb2ludC54O1xuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDFdID0gcG9zWSArIGhlaWdodCArIGxhc3RQb2ludC55O1xuICAgICAgICAgICAgICAgIHZlcnRzW2RzdE9mZnNldCArIDJdID0gbGFzdFU7XG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgM10gPSAwO1xuICAgICAgICAgICAgICAgIGRzdE9mZnNldCArPSBmbG9hdHNQZXJWZXJ0O1xuXG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0XSAgICAgPSBwb3NYICsgbmV4dFBvaW50Lng7XG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgMV0gPSBwb3NZICsgaGVpZ2h0ICsgbmV4dFBvaW50Lnk7XG4gICAgICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgMl0gPSBuZXh0VTtcbiAgICAgICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXQgKyAzXSA9IDA7XG5cbiAgICAgICAgICAgICAgICBsYXN0VSA9IG5leHRVXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29sb3IoY29tcCwgbnVsbCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUlzRnJvbnQoY29tcCwgNSk7XG4gICAgICAgIH1cbiAgICB9XG59Il19
\ No newline at end of file
......@@ -221,4 +221,4 @@ cc._RF.pop();
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcT1AxM1xcc2NyaXB0XFx2ZXJsZXRfcmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFpRDtBQUUzQyxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUU1QztJQUlJLG1CQUFZLENBQVMsRUFBRSxDQUFTO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBQ0wsZ0JBQUM7QUFBRCxDQVBBLEFBT0MsSUFBQTtBQUdEO0lBQTBDLGdDQUFrQjtJQUE1RDtRQUFBLHFFQW9LQztRQWxLVSxpQkFBVyxHQUFtQixFQUFFLENBQUE7UUFHaEMsaUJBQVcsR0FBVyxFQUFFLENBQUE7UUFHeEIscUJBQWUsR0FBVyxHQUFHLENBQUE7UUFHN0IsYUFBTyxHQUFXLEdBQUcsQ0FBQTtRQUdyQixhQUFPLEdBQVcsQ0FBQyxDQUFBO1FBRWhCLHFCQUFlLEdBQVksS0FBSyxDQUFBO1FBQ2xDLGdCQUFVLEdBQWdCLEVBQUUsQ0FBQTtRQUM1QixZQUFNLEdBQVcsQ0FBQyxDQUFBOztJQWtKOUIsQ0FBQztJQWhKRywrQkFBUSxHQUFSO1FBQ0ksaUJBQU0sUUFBUSxXQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU0sc0NBQWUsR0FBdEI7UUFDSSxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksMEJBQWUsRUFBRSxDQUFBO1FBQ3ZELFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVTLHNDQUFlLEdBQXpCO1FB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QUMsYUFBYSxDQUFDLENBQUE7aUJBQzVDO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFFTSwyQkFBSSxHQUFYO1FBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO1NBQ3hCO1FBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFqS0Q7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO3FEQUNmO0lBR3ZDO1FBREMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDO3FEQUNSO0lBRy9CO1FBREMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO3lEQUNFO0lBR3BDO1FBREMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxDQUFDO2lEQUNSO0lBRzVCO1FBREMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO2lEQUNOO0lBZFQsWUFBWTtRQURoQyxPQUFPO09BQ2EsWUFBWSxDQW9LaEM7SUFBRCxtQkFBQztDQXBLRCxBQW9LQyxDQXBLeUMsRUFBRSxDQUFDLGVBQWUsR0FvSzNEO2tCQXBLb0IsWUFBWSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWZXJsZXRBc3NlbWJsZXIgZnJvbSBcIi4vdmVybGV0X2Fzc2VtYmxlclwiO1xyXG5cclxuY29uc3QgeyBjY2NsYXNzLCBwcm9wZXJ0eSB9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbmNsYXNzIFBhZ2VQb2ludCB7XHJcbiAgICBwdWJsaWMgb2xkUG9zOiBjYy5WZWMyXHJcbiAgICBwdWJsaWMgbmV3UG9zOiBjYy5WZWMyXHJcblxyXG4gICAgY29uc3RydWN0b3IoeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLm9sZFBvcyA9IHRoaXMubmV3UG9zID0gY2MudjIoeCwgeSlcclxuICAgIH1cclxufVxyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVybGV0UmVuZGVyIGV4dGVuZHMgY2MuUmVuZGVyQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IFtjYy5UZXh0dXJlMkRdLCBkaXNwbGF5TmFtZTogXCLnurnnkIZcIiB9KVxyXG4gICAgcHVibGljIHRleHR1cmVMaXN0OiBjYy5UZXh0dXJlMkRbXSA9IFtdXHJcblxyXG4gICAgQHByb3BlcnR5KHsgZGlzcGxheU5hbWU6IFwi5q+P5p2h6L655LiK55qE6aG254K55pWw6YePXCIgfSlcclxuICAgIHB1YmxpYyBwb2ludHNDb3VudDogbnVtYmVyID0gMzBcclxuXHJcbiAgICBAcHJvcGVydHkoeyBkaXNwbGF5TmFtZTogXCLnuqDmraPmrKHmlbBcIiB9KVxyXG4gICAgcHVibGljIGNvbnN0cmFpbnRUaW1lczogbnVtYmVyID0gMTAwXHJcblxyXG4gICAgQHByb3BlcnR5KHsgZGlzcGxheU5hbWU6IFwi6YCf5bqm6KGw5YeP57O75pWwXCIgfSlcclxuICAgIHB1YmxpYyBkYW1waW5nOiBudW1iZXIgPSAwLjFcclxuXHJcbiAgICBAcHJvcGVydHkoeyBkaXNwbGF5TmFtZTogXCLph43liptcIiB9KVxyXG4gICAgcHVibGljIGdyYXZpdHk6IG51bWJlciA9IDBcclxuXHJcbiAgICBwcm90ZWN0ZWQgX2luaXRlZE1hdGVyaWFsOiBib29sZWFuID0gZmFsc2VcclxuICAgIHByaXZhdGUgX3BvaW50TGlzdDogUGFnZVBvaW50W10gPSBbXVxyXG4gICAgcHJpdmF0ZSBfYW5nbGU6IG51bWJlciA9IDBcclxuXHJcbiAgICBvbkVuYWJsZSgpIHtcclxuICAgICAgICBzdXBlci5vbkVuYWJsZSgpO1xyXG4gICAgICAgIHRoaXMuaW5pdFBvaW50TGlzdCgpO1xyXG4gICAgICAgIHRoaXMuZHJhdygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBfcmVzZXRBc3NlbWJsZXIoKSB7XHJcbiAgICAgICAgbGV0IGFzc2VtYmxlciA9IHRoaXMuX2Fzc2VtYmxlciA9IG5ldyBWZXJsZXRBc3NlbWJsZXIoKVxyXG4gICAgICAgIGFzc2VtYmxlci5pbml0KHRoaXMpXHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF91cGRhdGVNYXRlcmlhbCgpIHtcclxuICAgICAgICBsZXQgbWF0ZXJpYWwgPSB0aGlzLmdldE1hdGVyaWFsKDApXHJcbiAgICAgICAgaWYgKG1hdGVyaWFsKSB7XHJcbiAgICAgICAgICAgIG1hdGVyaWFsLmRlZmluZSgnQ0NfVVNFX01PREVMJywgMSk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRleHR1cmVMaXN0Lmxlbmd0aCA9PT0gMikge1xyXG4gICAgICAgICAgICAgICAgbWF0ZXJpYWwuc2V0UHJvcGVydHkoJ3RleHR1cmUwJywgdGhpcy50ZXh0dXJlTGlzdFswXSk7XHJcbiAgICAgICAgICAgICAgICBtYXRlcmlhbC5zZXRQcm9wZXJ0eSgndGV4dHVyZTEnLCB0aGlzLnRleHR1cmVMaXN0WzFdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdXBkYXRlTWF0ZXJpYWwoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMudGV4dHVyZUxpc3QubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZU1hdGVyaWFsKClcclxuICAgICAgICAgICAgdGhpcy5faW5pdGVkTWF0ZXJpYWwgPSB0cnVlXHJcbiAgICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdXBkYXRlQW5nbGUoYW5nbGU6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuX2FuZ2xlID0gYW5nbGVcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0UG9pbnRMaXN0KCkge1xyXG4gICAgICAgIGxldCBwb2ludExpc3Q6IGNjLlZlYzJbXSA9IFtdXHJcbiAgICAgICAgZm9yIChsZXQgcG9pbnQgb2YgdGhpcy5fcG9pbnRMaXN0KSB7XHJcbiAgICAgICAgICAgIHBvaW50TGlzdC5wdXNoKG5ldyBjYy5WZWMyKHBvaW50Lm5ld1Bvcy54LCBwb2ludC5uZXdQb3MueSkpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcG9pbnRMaXN0XHJcbiAgICB9XHJcblxyXG4gICAgLy8g5Yid5aeL5YyW6LSo54K5XHJcbiAgICBwdWJsaWMgaW5pdFBvaW50TGlzdCgpIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucG9pbnRzQ291bnQ7ICsraSkge1xyXG4gICAgICAgICAgICBsZXQgcG9zWCA9IGkgLyAodGhpcy5wb2ludHNDb3VudCAtIDEpICogdGhpcy5ub2RlLndpZHRoXHJcbiAgICAgICAgICAgIHRoaXMuX3BvaW50TGlzdC5wdXNoKG5ldyBQYWdlUG9pbnQocG9zWCwgMCkpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB1cGRhdGUoKSB7XHJcbiAgICAgICAgdGhpcy5zaW11bGF0ZSgpXHJcbiAgICAgICAgdGhpcy5hcHBseUNvbnN0cmFpbnQoKVxyXG4gICAgICAgIHRoaXMuZHJhdygpXHJcbiAgICB9XHJcblxyXG4gICAgLy8g5L2/55SodmVybGV056ev5YiG5pu05paw5L2N572uXHJcbiAgICBwdWJsaWMgc2ltdWxhdGUoKSB7XHJcbiAgICAgICAgbGV0IGdyYXZpdHkgPSBjYy52MigwLCB0aGlzLmdyYXZpdHkpXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMucG9pbnRzQ291bnQgLSAxOyBpID49IDE7IGktLSkge1xyXG4gICAgICAgICAgICBsZXQgcG9pbnQgPSB0aGlzLl9wb2ludExpc3RbaV1cclxuICAgICAgICAgICAgLy8g6YCf5bqm562J5LqO5b2T5YmN5L2N572u5LiO5LiK5LiA5Liq5L2N572u55qE5beu5LmY5LiK6KGw5YeP57O75pWwXHJcbiAgICAgICAgICAgIGxldCB2ZWxvY2l0eTogY2MuVmVjMiA9IHBvaW50Lm5ld1Bvcy5zdWIocG9pbnQub2xkUG9zKS5tdWwodGhpcy5kYW1waW5nKVxyXG4gICAgICAgICAgICAvLyDmqKHmi5/kuIDkuKrmsLTlubPmlL7nva7nmoTnu7PlrZDvvIzlvZN55bCP5LqO562J5LqOMOaXtu+8jOWwhuS4jeWGjeWPl+mHjeWKm+W9seWTjVxyXG4gICAgICAgICAgICBpZiAocG9pbnQubmV3UG9zLnkgPD0gMCkge1xyXG4gICAgICAgICAgICAgICAgZ3Jhdml0eS55ID0gTWF0aC5tYXgoMCwgZ3Jhdml0eS55KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHBvaW50Lm9sZFBvcyA9IHBvaW50Lm5ld1Bvc1xyXG4gICAgICAgICAgICBwb2ludC5uZXdQb3MgPSBwb2ludC5uZXdQb3MuYWRkKHZlbG9jaXR5KVxyXG4gICAgICAgICAgICBwb2ludC5uZXdQb3MgPSBwb2ludC5uZXdQb3MuYWRkKGdyYXZpdHkpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3VwZGF0ZUVuZFBvcyhlbmRQb3M6IGNjLlZlYzIpIHtcclxuICAgICAgICBsZXQgdGFpbFBvaW50ID0gdGhpcy5fcG9pbnRMaXN0W3RoaXMucG9pbnRzQ291bnQgLSAxXVxyXG4gICAgICAgIHRhaWxQb2ludC5uZXdQb3MgPSBuZXcgY2MuVmVjMihlbmRQb3MueCwgZW5kUG9zLnkpXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0RW5kUG9zKCk6IGNjLlZlYzIge1xyXG4gICAgICAgIGxldCBlbmRQb3MgPSBuZXcgY2MuVmVjMigwLCAwKVxyXG4gICAgICAgIGxldCB3aWR0aCA9IHRoaXMubm9kZS53aWR0aFxyXG4gICAgICAgIGxldCByYWQgPSB0aGlzLl9hbmdsZSAqIE1hdGguUEkgLyAxODBcclxuXHJcbiAgICAgICAgLy8g5LiO6LSd5aGe5bCU5puy57q/5L2/55So55u45ZCM55qE6L+Q5Yqo6L2o6L+5XHJcbiAgICAgICAgbGV0IHBlciA9IHJhZCAqIDIgLyBNYXRoLlBJXHJcbiAgICAgICAgaWYgKHRoaXMuX2FuZ2xlIDw9IDkwKSB7XHJcbiAgICAgICAgICAgIGxldCBlbmRQb3NYID0gd2lkdGggKiAoMSAtIE1hdGgucG93KHBlciwgMykpXHJcbiAgICAgICAgICAgIGxldCBlbmRQb3NZID0gd2lkdGggKiAxIC8gNCAqICgxIC0gTWF0aC5wb3coMSAtIHBlciwgNCkpXHJcbiAgICAgICAgICAgIGVuZFBvcyA9IG5ldyBjYy5WZWMyKGVuZFBvc1gsIGVuZFBvc1kpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcGVyID0gcGVyIC0gMVxyXG4gICAgICAgICAgICBsZXQgZW5kUG9zWCA9IC0gd2lkdGggKiAoMSAtIE1hdGgucG93KDEgLSBwZXIsIDMpKVxyXG4gICAgICAgICAgICBsZXQgZW5kUG9zWSA9IHdpZHRoICogMSAvIDQgKiAoMSAtIE1hdGgucG93KHBlciwgNCkpXHJcbiAgICAgICAgICAgIGVuZFBvcyA9IG5ldyBjYy5WZWMyKGVuZFBvc1gsIGVuZFBvc1kpXHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgcmV0dXJuIGVuZFBvc1xyXG4gICAgfVxyXG4gICAgLy8g57qm5p2f57qg5q2jXHJcbiAgICBwdWJsaWMgYXBwbHlDb25zdHJhaW50KCkge1xyXG4gICAgICAgIC8vIOS4pOS4qui0qOeCueS5i+mXtOeahOWbuuWumui3neemu1xyXG4gICAgICAgIGxldCBub3JtYWxEaXN0YW5jZSA9IHRoaXMubm9kZS53aWR0aCAvICh0aGlzLnBvaW50c0NvdW50IC0gMSlcclxuICAgICAgICBsZXQgZW5kUG9zID0gdGhpcy5fZ2V0RW5kUG9zKClcclxuICAgICAgICBmb3IgKGxldCB0ID0gMDsgdCA8IHRoaXMuY29uc3RyYWludFRpbWVzOyB0KyspIHtcclxuICAgICAgICAgICAgdGhpcy5fdXBkYXRlRW5kUG9zKGVuZFBvcylcclxuICAgICAgICAgICAgLy/nlLHmnIDlkI7kuIDkuKrotKjngrnlvIDlp4vkvp3mrKHnuqDmraNcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMucG9pbnRzQ291bnQgLSAxOyBpID49IDE7IGktLSkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGZpcnN0UG9pbnQgPSB0aGlzLl9wb2ludExpc3RbaSAtIDFdXHJcbiAgICAgICAgICAgICAgICBsZXQgc2Vjb25kUG9pbnQgPSB0aGlzLl9wb2ludExpc3RbaV1cclxuICAgICAgICAgICAgICAgIGxldCBkZWxhdFBvcyA9IHNlY29uZFBvaW50Lm5ld1Bvcy5zdWIoZmlyc3RQb2ludC5uZXdQb3MpXHJcbiAgICAgICAgICAgICAgICBsZXQgZGlzdGFuY2UgPSBkZWxhdFBvcy5tYWcoKVxyXG4gICAgICAgICAgICAgICAgbGV0IGZpeERpcmVjdGlvbjogY2MuVmVjMiA9IG51bGxcclxuICAgICAgICAgICAgICAgIGlmIChkaXN0YW5jZSA8IG5vcm1hbERpc3RhbmNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZml4RGlyZWN0aW9uID0gZGVsYXRQb3Mubm9ybWFsaXplKCkubmVnYXRlKClcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGlzdGFuY2UgPiBub3JtYWxEaXN0YW5jZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpeERpcmVjdGlvbiA9IGRlbGF0UG9zLm5vcm1hbGl6ZSgpXHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgbGV0IGZpeExlbiA9IE1hdGguYWJzKGRpc3RhbmNlIC0gbm9ybWFsRGlzdGFuY2UpXHJcbiAgICAgICAgICAgICAgICBpZiAoaSA9PSAxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8g55Sx5LqO56ys5LiA5Liq6LSo54K55piv5Zu65a6a55qE77yM5omA5Lul5Y+q5a+556ys5LqM5Liq6LSo54K55YGa57qg5q2jXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpeFZlY3RvciA9IGZpeERpcmVjdGlvbi5tdWwoZml4TGVuKVxyXG4gICAgICAgICAgICAgICAgICAgIHNlY29uZFBvaW50Lm5ld1Bvcy5zdWJTZWxmKGZpeFZlY3RvcilcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8g5bCG5Lik5Liq6LSo54K55LmL6Ze055qE6Led56a757qg5q2j5Li65Zu65a6a6ZW/5bqmXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpeEhhbGZWZWN0b3IgPSBmaXhEaXJlY3Rpb24ubXVsKGZpeExlbiAqIDAuNSlcclxuICAgICAgICAgICAgICAgICAgICBmaXJzdFBvaW50Lm5ld1Bvcy5hZGRTZWxmKGZpeEhhbGZWZWN0b3IpXHJcbiAgICAgICAgICAgICAgICAgICAgc2Vjb25kUG9pbnQubmV3UG9zLnN1YlNlbGYoZml4SGFsZlZlY3RvcilcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZHJhdygpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2luaXRlZE1hdGVyaWFsKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTWF0ZXJpYWwoKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZXRWZXJ0c0RpcnR5KClcclxuICAgIH1cclxufSJdfQ==
\ No newline at end of file
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9PUDEzL3NjcmlwdC92ZXJsZXRfcmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFpRDtBQUUzQyxJQUFBLEtBQXdCLEVBQUUsQ0FBQyxVQUFVLEVBQW5DLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBa0IsQ0FBQztBQUU1QztJQUlJLG1CQUFZLENBQVMsRUFBRSxDQUFTO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBQ0wsZ0JBQUM7QUFBRCxDQVBBLEFBT0MsSUFBQTtBQUdEO0lBQTBDLGdDQUFrQjtJQUE1RDtRQUFBLHFFQW9LQztRQWxLVSxpQkFBVyxHQUFtQixFQUFFLENBQUE7UUFHaEMsaUJBQVcsR0FBVyxFQUFFLENBQUE7UUFHeEIscUJBQWUsR0FBVyxHQUFHLENBQUE7UUFHN0IsYUFBTyxHQUFXLEdBQUcsQ0FBQTtRQUdyQixhQUFPLEdBQVcsQ0FBQyxDQUFBO1FBRWhCLHFCQUFlLEdBQVksS0FBSyxDQUFBO1FBQ2xDLGdCQUFVLEdBQWdCLEVBQUUsQ0FBQTtRQUM1QixZQUFNLEdBQVcsQ0FBQyxDQUFBOztJQWtKOUIsQ0FBQztJQWhKRywrQkFBUSxHQUFSO1FBQ0ksaUJBQU0sUUFBUSxXQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU0sc0NBQWUsR0FBdEI7UUFDSSxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksMEJBQWUsRUFBRSxDQUFBO1FBQ3ZELFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVTLHNDQUFlLEdBQXpCO1FBQ0ks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YUFBYSxDQUFDLENBQUE7aUJBQzVDO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFFTSwyQkFBSSxHQUFYO1FBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO1NBQ3hCO1FBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFqS0Q7UUFEQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO3FEQUNmO0lBR3ZDO1FBREMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDO3FEQUNSO0lBRy9CO1FBREMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO3lEQUNFO0lBR3BDO1FBREMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxDQUFDO2lEQUNSO0lBRzVCO1FBREMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO2lEQUNOO0lBZFQsWUFBWTtRQURoQyxPQUFPO09BQ2EsWUFBWSxDQW9LaEM7SUFBRCxtQkFBQztDQXBLRCxBQW9LQyxDQXBLeUMsRUFBRSxDQUFDLGVBQWUsR0FvSzNEO2tCQXBLb0IsWUFBWSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWZXJsZXRBc3NlbWJsZXIgZnJvbSBcIi4vdmVybGV0X2Fzc2VtYmxlclwiO1xuXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xuXG5jbGFzcyBQYWdlUG9pbnQge1xuICAgIHB1YmxpYyBvbGRQb3M6IGNjLlZlYzJcbiAgICBwdWJsaWMgbmV3UG9zOiBjYy5WZWMyXG5cbiAgICBjb25zdHJ1Y3Rvcih4OiBudW1iZXIsIHk6IG51bWJlcikge1xuICAgICAgICB0aGlzLm9sZFBvcyA9IHRoaXMubmV3UG9zID0gY2MudjIoeCwgeSlcbiAgICB9XG59XG5cbkBjY2NsYXNzXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZXJsZXRSZW5kZXIgZXh0ZW5kcyBjYy5SZW5kZXJDb21wb25lbnQge1xuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IFtjYy5UZXh0dXJlMkRdLCBkaXNwbGF5TmFtZTogXCLnurnnkIZcIiB9KVxuICAgIHB1YmxpYyB0ZXh0dXJlTGlzdDogY2MuVGV4dHVyZTJEW10gPSBbXVxuXG4gICAgQHByb3BlcnR5KHsgZGlzcGxheU5hbWU6IFwi5q+P5p2h6L655LiK55qE6aG254K55pWw6YePXCIgfSlcbiAgICBwdWJsaWMgcG9pbnRzQ291bnQ6IG51bWJlciA9IDMwXG5cbiAgICBAcHJvcGVydHkoeyBkaXNwbGF5TmFtZTogXCLnuqDmraPmrKHmlbBcIiB9KVxuICAgIHB1YmxpYyBjb25zdHJhaW50VGltZXM6IG51bWJlciA9IDEwMFxuXG4gICAgQHByb3BlcnR5KHsgZGlzcGxheU5hbWU6IFwi6YCf5bqm6KGw5YeP57O75pWwXCIgfSlcbiAgICBwdWJsaWMgZGFtcGluZzogbnVtYmVyID0gMC4xXG5cbiAgICBAcHJvcGVydHkoeyBkaXNwbGF5TmFtZTogXCLph43liptcIiB9KVxuICAgIHB1YmxpYyBncmF2aXR5OiBudW1iZXIgPSAwXG5cbiAgICBwcm90ZWN0ZWQgX2luaXRlZE1hdGVyaWFsOiBib29sZWFuID0gZmFsc2VcbiAgICBwcml2YXRlIF9wb2ludExpc3Q6IFBhZ2VQb2ludFtdID0gW11cbiAgICBwcml2YXRlIF9hbmdsZTogbnVtYmVyID0gMFxuXG4gICAgb25FbmFibGUoKSB7XG4gICAgICAgIHN1cGVyLm9uRW5hYmxlKCk7XG4gICAgICAgIHRoaXMuaW5pdFBvaW50TGlzdCgpO1xuICAgICAgICB0aGlzLmRyYXcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgX3Jlc2V0QXNzZW1ibGVyKCkge1xuICAgICAgICBsZXQgYXNzZW1ibGVyID0gdGhpcy5fYXNzZW1ibGVyID0gbmV3IFZlcmxldEFzc2VtYmxlcigpXG4gICAgICAgIGFzc2VtYmxlci5pbml0KHRoaXMpXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF91cGRhdGVNYXRlcmlhbCgpIHtcbiAgICAgICAgbGV0IG1hdGVyaWFsID0gdGhpcy5nZXRNYXRlcmlhbCgwKVxuICAgICAgICBpZiAobWF0ZXJpYWwpIHtcbiAgICAgICAgICAgIG1hdGVyaWFsLmRlZmluZSgnQ0NfVVNFX01PREVMJywgMSk7XG4gICAgICAgICAgICBpZiAodGhpcy50ZXh0dXJlTGlzdC5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgICAgICBtYXRlcmlhbC5zZXRQcm9wZXJ0eSgndGV4dHVyZTAnLCB0aGlzLnRleHR1cmVMaXN0WzBdKTtcbiAgICAgICAgICAgICAgICBtYXRlcmlhbC5zZXRQcm9wZXJ0eSgndGV4dHVyZTEnLCB0aGlzLnRleHR1cmVMaXN0WzFdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCB1cGRhdGVNYXRlcmlhbCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGV4dHVyZUxpc3QubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVNYXRlcmlhbCgpXG4gICAgICAgICAgICB0aGlzLl9pbml0ZWRNYXRlcmlhbCA9IHRydWVcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUFuZ2xlKGFuZ2xlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fYW5nbGUgPSBhbmdsZVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQb2ludExpc3QoKSB7XG4gICAgICAgIGxldCBwb2ludExpc3Q6IGNjLlZlYzJbXSA9IFtdXG4gICAgICAgIGZvciAobGV0IHBvaW50IG9mIHRoaXMuX3BvaW50TGlzdCkge1xuICAgICAgICAgICAgcG9pbnRMaXN0LnB1c2gobmV3IGNjLlZlYzIocG9pbnQubmV3UG9zLngsIHBvaW50Lm5ld1Bvcy55KSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwb2ludExpc3RcbiAgICB9XG5cbiAgICAvLyDliJ3lp4vljJbotKjngrlcbiAgICBwdWJsaWMgaW5pdFBvaW50TGlzdCgpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnBvaW50c0NvdW50OyArK2kpIHtcbiAgICAgICAgICAgIGxldCBwb3NYID0gaSAvICh0aGlzLnBvaW50c0NvdW50IC0gMSkgKiB0aGlzLm5vZGUud2lkdGhcbiAgICAgICAgICAgIHRoaXMuX3BvaW50TGlzdC5wdXNoKG5ldyBQYWdlUG9pbnQocG9zWCwgMCkpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlKCkge1xuICAgICAgICB0aGlzLnNpbXVsYXRlKClcbiAgICAgICAgdGhpcy5hcHBseUNvbnN0cmFpbnQoKVxuICAgICAgICB0aGlzLmRyYXcoKVxuICAgIH1cblxuICAgIC8vIOS9v+eUqHZlcmxldOenr+WIhuabtOaWsOS9jee9rlxuICAgIHB1YmxpYyBzaW11bGF0ZSgpIHtcbiAgICAgICAgbGV0IGdyYXZpdHkgPSBjYy52MigwLCB0aGlzLmdyYXZpdHkpXG4gICAgICAgIGZvciAobGV0IGkgPSB0aGlzLnBvaW50c0NvdW50IC0gMTsgaSA+PSAxOyBpLS0pIHtcbiAgICAgICAgICAgIGxldCBwb2ludCA9IHRoaXMuX3BvaW50TGlzdFtpXVxuICAgICAgICAgICAgLy8g6YCf5bqm562J5LqO5b2T5YmN5L2N572u5LiO5LiK5LiA5Liq5L2N572u55qE5beu5LmY5LiK6KGw5YeP57O75pWwXG4gICAgICAgICAgICBsZXQgdmVsb2NpdHk6IGNjLlZlYzIgPSBwb2ludC5uZXdQb3Muc3ViKHBvaW50Lm9sZFBvcykubXVsKHRoaXMuZGFtcGluZylcbiAgICAgICAgICAgIC8vIOaooeaLn+S4gOS4quawtOW5s+aUvue9rueahOe7s+WtkO+8jOW9k3nlsI/kuo7nrYnkuo4w5pe277yM5bCG5LiN5YaN5Y+X6YeN5Yqb5b2x5ZONXG4gICAgICAgICAgICBpZiAocG9pbnQubmV3UG9zLnkgPD0gMCkge1xuICAgICAgICAgICAgICAgIGdyYXZpdHkueSA9IE1hdGgubWF4KDAsIGdyYXZpdHkueSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBvaW50Lm9sZFBvcyA9IHBvaW50Lm5ld1Bvc1xuICAgICAgICAgICAgcG9pbnQubmV3UG9zID0gcG9pbnQubmV3UG9zLmFkZCh2ZWxvY2l0eSlcbiAgICAgICAgICAgIHBvaW50Lm5ld1BvcyA9IHBvaW50Lm5ld1Bvcy5hZGQoZ3Jhdml0eSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3VwZGF0ZUVuZFBvcyhlbmRQb3M6IGNjLlZlYzIpIHtcbiAgICAgICAgbGV0IHRhaWxQb2ludCA9IHRoaXMuX3BvaW50TGlzdFt0aGlzLnBvaW50c0NvdW50IC0gMV1cbiAgICAgICAgdGFpbFBvaW50Lm5ld1BvcyA9IG5ldyBjYy5WZWMyKGVuZFBvcy54LCBlbmRQb3MueSlcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRFbmRQb3MoKTogY2MuVmVjMiB7XG4gICAgICAgIGxldCBlbmRQb3MgPSBuZXcgY2MuVmVjMigwLCAwKVxuICAgICAgICBsZXQgd2lkdGggPSB0aGlzLm5vZGUud2lkdGhcbiAgICAgICAgbGV0IHJhZCA9IHRoaXMuX2FuZ2xlICogTWF0aC5QSSAvIDE4MFxuXG4gICAgICAgIC8vIOS4jui0neWhnuWwlOabsue6v+S9v+eUqOebuOWQjOeahOi/kOWKqOi9qOi/uVxuICAgICAgICBsZXQgcGVyID0gcmFkICogMiAvIE1hdGguUElcbiAgICAgICAgaWYgKHRoaXMuX2FuZ2xlIDw9IDkwKSB7XG4gICAgICAgICAgICBsZXQgZW5kUG9zWCA9IHdpZHRoICogKDEgLSBNYXRoLnBvdyhwZXIsIDMpKVxuICAgICAgICAgICAgbGV0IGVuZFBvc1kgPSB3aWR0aCAqIDEgLyA0ICogKDEgLSBNYXRoLnBvdygxIC0gcGVyLCA0KSlcbiAgICAgICAgICAgIGVuZFBvcyA9IG5ldyBjYy5WZWMyKGVuZFBvc1gsIGVuZFBvc1kpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwZXIgPSBwZXIgLSAxXG4gICAgICAgICAgICBsZXQgZW5kUG9zWCA9IC0gd2lkdGggKiAoMSAtIE1hdGgucG93KDEgLSBwZXIsIDMpKVxuICAgICAgICAgICAgbGV0IGVuZFBvc1kgPSB3aWR0aCAqIDEgLyA0ICogKDEgLSBNYXRoLnBvdyhwZXIsIDQpKVxuICAgICAgICAgICAgZW5kUG9zID0gbmV3IGNjLlZlYzIoZW5kUG9zWCwgZW5kUG9zWSlcbiAgICAgICAgfVxuXG5cbiAgICAgICAgcmV0dXJuIGVuZFBvc1xuICAgIH1cbiAgICAvLyDnuqbmnZ/nuqDmraNcbiAgICBwdWJsaWMgYXBwbHlDb25zdHJhaW50KCkge1xuICAgICAgICAvLyDkuKTkuKrotKjngrnkuYvpl7TnmoTlm7rlrprot53nprtcbiAgICAgICAgbGV0IG5vcm1hbERpc3RhbmNlID0gdGhpcy5ub2RlLndpZHRoIC8gKHRoaXMucG9pbnRzQ291bnQgLSAxKVxuICAgICAgICBsZXQgZW5kUG9zID0gdGhpcy5fZ2V0RW5kUG9zKClcbiAgICAgICAgZm9yIChsZXQgdCA9IDA7IHQgPCB0aGlzLmNvbnN0cmFpbnRUaW1lczsgdCsrKSB7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVFbmRQb3MoZW5kUG9zKVxuICAgICAgICAgICAgLy/nlLHmnIDlkI7kuIDkuKrotKjngrnlvIDlp4vkvp3mrKHnuqDmraNcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSB0aGlzLnBvaW50c0NvdW50IC0gMTsgaSA+PSAxOyBpLS0pIHtcbiAgICAgICAgICAgICAgICBsZXQgZmlyc3RQb2ludCA9IHRoaXMuX3BvaW50TGlzdFtpIC0gMV1cbiAgICAgICAgICAgICAgICBsZXQgc2Vjb25kUG9pbnQgPSB0aGlzLl9wb2ludExpc3RbaV1cbiAgICAgICAgICAgICAgICBsZXQgZGVsYXRQb3MgPSBzZWNvbmRQb2ludC5uZXdQb3Muc3ViKGZpcnN0UG9pbnQubmV3UG9zKVxuICAgICAgICAgICAgICAgIGxldCBkaXN0YW5jZSA9IGRlbGF0UG9zLm1hZygpXG4gICAgICAgICAgICAgICAgbGV0IGZpeERpcmVjdGlvbjogY2MuVmVjMiA9IG51bGxcbiAgICAgICAgICAgICAgICBpZiAoZGlzdGFuY2UgPCBub3JtYWxEaXN0YW5jZSkge1xuICAgICAgICAgICAgICAgICAgICBmaXhEaXJlY3Rpb24gPSBkZWxhdFBvcy5ub3JtYWxpemUoKS5uZWdhdGUoKVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGlzdGFuY2UgPiBub3JtYWxEaXN0YW5jZSkge1xuICAgICAgICAgICAgICAgICAgICBmaXhEaXJlY3Rpb24gPSBkZWxhdFBvcy5ub3JtYWxpemUoKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGV0IGZpeExlbiA9IE1hdGguYWJzKGRpc3RhbmNlIC0gbm9ybWFsRGlzdGFuY2UpXG4gICAgICAgICAgICAgICAgaWYgKGkgPT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAvLyDnlLHkuo7nrKzkuIDkuKrotKjngrnmmK/lm7rlrprnmoTvvIzmiYDku6Xlj6rlr7nnrKzkuozkuKrotKjngrnlgZrnuqDmraNcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpeFZlY3RvciA9IGZpeERpcmVjdGlvbi5tdWwoZml4TGVuKVxuICAgICAgICAgICAgICAgICAgICBzZWNvbmRQb2ludC5uZXdQb3Muc3ViU2VsZihmaXhWZWN0b3IpXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8g5bCG5Lik5Liq6LSo54K55LmL6Ze055qE6Led56a757qg5q2j5Li65Zu65a6a6ZW/5bqmXG4gICAgICAgICAgICAgICAgICAgIGxldCBmaXhIYWxmVmVjdG9yID0gZml4RGlyZWN0aW9uLm11bChmaXhMZW4gKiAwLjUpXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0UG9pbnQubmV3UG9zLmFkZFNlbGYoZml4SGFsZlZlY3RvcilcbiAgICAgICAgICAgICAgICAgICAgc2Vjb25kUG9pbnQubmV3UG9zLnN1YlNlbGYoZml4SGFsZlZlY3RvcilcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZHJhdygpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pbml0ZWRNYXRlcmlhbCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVNYXRlcmlhbCgpXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFZlcnRzRGlydHkoKVxuICAgIH1cbn0iXX0=
\ No newline at end of file
......@@ -63,6 +63,8 @@ cc.Class({
tipLast: cc.Node,
btnLeft: cc.Node,
btnRight: cc.Node,
touchAniLeft: cc.Node,
touchAniRight: cc.Node,
// verletRender: VerletRender,
capture: require('capture_to_web')
},
......@@ -430,10 +432,10 @@ cc.Class({
checkShowArrowBtn: function checkShowArrowBtn() {
var _this7 = this;
setTimeout(function () {
this._timeoutIds.push(setTimeout(function () {
_this7.lastBtn.active = !_this7.nodeDict.btnLast.children[1].active;
_this7.nextBtn.active = !_this7.nodeDict.btnNext.children[1].active;
}, 220);
}, 220));
},
autoPlay: function autoPlay() {
var _this8 = this;
......@@ -631,13 +633,15 @@ cc.Class({
});
},
catSpeakEnd: function catSpeakEnd(cb) {
var _this12 = this;
var cat = cc.find('Canvas/mao');
playDragonBoneAnimation(cat, 'finish', 0);
this.playAudioByUrl(this.data.endAudio, function () {
setTimeout(function () {
_this12._timeoutIds.push(setTimeout(function () {
playDragonBoneAnimation(cat, 'normal', -1);
cb();
}, 500);
}, 500));
});
},
onTouchCat: function onTouchCat() {
......@@ -672,18 +676,18 @@ cc.Class({
}
},
playAudioEntrer: function playAudioEntrer() {
var _this12 = this;
var _this13 = this;
GameData.audioCount++;
var id = cc.audioEngine.play(this.audEnter, false, 1);
cc.audioEngine.setFinishCallback(id, function () {
GameData.audioCount--;
_this12.playAudioQuestion();
_this13.playAudioQuestion();
});
},
playAudioPage: function playAudioPage(isBtn, cb) {
var _this13 = this;
var _this14 = this;
GameData.audioCount++;
var url = this.data.questionList[GameData.questionIndex].pageAudio; // url = 'http://127.0.0.1/iamflying.mp3';
......@@ -692,7 +696,7 @@ cc.Class({
if (err) {
console.log(err);
_this13.startStepDone();
_this14.startStepDone();
return;
}
......@@ -703,13 +707,13 @@ cc.Class({
cb && cb();
if (!isBtn) {
_this13.startStepDone();
_this14.startStepDone();
}
});
});
},
playAudioQuestion: function playAudioQuestion() {
var _this14 = this;
var _this15 = this;
GameData.audioCount++;
var url = this.data.questionAudio; // url = 'http://127.0.0.1/iamflying.mp3';
......@@ -724,7 +728,7 @@ cc.Class({
cc.audioEngine.setFinishCallback(id, function () {
GameData.audioCount--;
_this14.playAudioPage();
_this15.playAudioPage();
});
});
},
......@@ -761,7 +765,7 @@ cc.Class({
});
},
onTurnLast: function onTurnLast() {
var _this15 = this;
var _this16 = this;
if (GameData.pageIndex <= 0) {
this.tipAni(this.tipFirst);
......@@ -808,7 +812,7 @@ cc.Class({
.to(1, {
opacity: 255
}).call(function () {
_this15.resetPages();
_this16.resetPages();
}).start();
}
......@@ -849,7 +853,7 @@ cc.Class({
this.updateBtnStatus();
},
onTurnNext: function onTurnNext() {
var _this16 = this;
var _this17 = this;
if (GameData.pageIndex >= this.data.pageList.length - 2) {
this.tipAni(this.tipLast);
......@@ -896,7 +900,7 @@ cc.Class({
.to(1, {
opacity: 255
}).call(function () {
_this16.resetPages();
_this17.resetPages();
}).start();
}
......@@ -965,7 +969,7 @@ cc.Class({
}
},
update: function update(dt) {
var _this17 = this;
var _this18 = this;
var anglePerDt = 180;
......@@ -976,14 +980,14 @@ cc.Class({
this._angle = 180;
this._turnLeft = false;
cc.tween(this.verletRender.node).call(function () {
_this17.resetPages();
_this18.resetPages();
}).to(0.5, {
opacity: 0
}).call(function () {
if (_this17.verletRender) {
_this17.verletRender.node.destroy();
if (_this18.verletRender) {
_this18.verletRender.node.destroy();
_this17.verletRender = null;
_this18.verletRender = null;
}
}).start();
}
......@@ -998,14 +1002,14 @@ cc.Class({
this._angle = 0;
this._turnRight = false;
cc.tween(this.nodeDict.sprPage).call(function () {
_this17.resetPages();
_this18.resetPages();
}).to(0.5, {
opacity: 0
}).call(function () {
if (_this17.verletRender) {
_this17.verletRender.node.destroy();
if (_this18.verletRender) {
_this18.verletRender.node.destroy();
_this17.verletRender = null;
_this18.verletRender = null;
}
}).start();
}
......@@ -1014,7 +1018,7 @@ cc.Class({
}
},
playTitleAudio: function playTitleAudio() {
var _this18 = this;
var _this19 = this;
GameData.audioCount++;
var url = this.data.titleAudio;
......@@ -1025,9 +1029,9 @@ cc.Class({
return;
}
_this18.titleAudioId = cc.audioEngine.play(clip, false, 1);
cc.audioEngine.setFinishCallback(_this18.titleAudioId, function () {
if (!cc.isValid(_this18)) {
_this19.titleAudioId = cc.audioEngine.play(clip, false, 1);
cc.audioEngine.setFinishCallback(_this19.titleAudioId, function () {
if (!cc.isValid(_this19)) {
return;
}
......@@ -1048,7 +1052,7 @@ cc.Class({
});
},
playAudioByUrl: function playAudioByUrl(audio_url, cb) {
var _this19 = this;
var _this20 = this;
if (cb === void 0) {
cb = null;
......@@ -1065,7 +1069,7 @@ cc.Class({
this.stopCurrentPlayedAudio();
cc.assetManager.loadRemote(audio_url.toLowerCase(), function (err, audioClip) {
var audioId = cc.audioEngine.play(audioClip, false, 0.8);
_this19.currentPlayedAudioId = audioId;
_this20.currentPlayedAudioId = audioId;
if (cb) {
cc.audioEngine.setFinishCallback(audioId, cb);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
{"version":3,"sources":["assets\\OP13\\script\\BaseUI.js"],"names":["cc","Class","Component","onLoad","nodeDict","linkWidget","node","children","i","length","nodeName","name","substring","realName","error","isUI","on","buttonListener","getNodeByName","button"],"mappings":";;;;;;AAAAA,EAAE,CAACC,KAAH,CAAS;AACL,aAASD,EAAE,CAACE,SADP;AAGLC,EAAAA,MAHK,oBAGI;AACL,SAAKC,QAAL,GAAgB,EAAhB;AACA,SAAKC,UAAL,CAAgB,KAAKC,IAArB;AACH,GANI;AAQL;AACA;AACA;AACA;AACA;AACAD,EAAAA,UAbK,sBAaMC,IAbN,EAaY;AACb,QAAIC,QAAQ,GAAGD,IAAI,CAACC,QAApB;;AACA,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,QAAQ,CAACE,MAA7B,EAAqCD,CAAC,EAAtC,EAA0C;AACtC,UAAIE,QAAQ,GAAGH,QAAQ,CAACC,CAAD,CAAR,CAAYG,IAA3B;;AACA,UAAID,QAAQ,CAACE,SAAT,CAAmB,CAAnB,EAAsB,CAAtB,MAA6B,GAAjC,EAAsC;AAClC,aAAKP,UAAL,CAAgBE,QAAQ,CAACC,CAAD,CAAxB;AACA;AACH;;AAED,UAAIK,QAAQ,GAAGH,QAAQ,CAACE,SAAT,CAAmB,CAAnB,CAAf;;AACA,UAAI,KAAKR,QAAL,CAAcS,QAAd,CAAJ,EAA6B;AACzBb,QAAAA,EAAE,CAACc,KAAH,CAAS,YAAYD,QAArB;AACA,aAAKR,UAAL,CAAgBE,QAAQ,CAACC,CAAD,CAAxB;AACA;AACH;;AACD,UAAIO,IAAI,GAAG,KAAX;AACA,WAAKX,QAAL,CAAcS,QAAd,IAA0BN,QAAQ,CAACC,CAAD,CAAlC;;AACA,UAAIE,QAAQ,CAACE,SAAT,CAAmB,CAAnB,EAAsB,CAAtB,MAA6B,OAAjC,EAA0C;AACtCL,QAAAA,QAAQ,CAACC,CAAD,CAAR,CAAYQ,EAAZ,CAAe,OAAf,EAAwB,KAAKC,cAA7B,EAA6C,IAA7C;AACAF,QAAAA,IAAI,GAAG,IAAP;AACH,OAHD,MAGO,IAAIL,QAAQ,CAACE,SAAT,CAAmB,CAAnB,EAAsB,CAAtB,MAA6B,KAAjC,EAAwC;AAC3CL,QAAAA,QAAQ,CAACC,CAAD,CAAR,CAAYQ,EAAZ,CAAe,OAAf,EAAwB,KAAKC,cAA7B,EAA6C,IAA7C;AACAF,QAAAA,IAAI,GAAG,KAAP;AACH,OAHM,MAGA,IAAIL,QAAQ,CAACE,SAAT,CAAmB,CAAnB,EAAsB,CAAtB,MAA6B,IAAjC,EAAuC;AAC1CG,QAAAA,IAAI,GAAG,IAAP;AACH;;AACDR,MAAAA,QAAQ,CAACC,CAAD,CAAR,CAAYG,IAAZ,GAAmBE,QAAnB;AACA,WAAKT,QAAL,CAAcS,QAAd,IAA0BN,QAAQ,CAACC,CAAD,CAAlC;;AAEA,UAAI,CAACO,IAAL,EAAW;AACP,aAAKV,UAAL,CAAgBE,QAAQ,CAACC,CAAD,CAAxB;AACH;AACJ;AACJ,GA9CI;AAgDLU,EAAAA,aAhDK,yBAgDSP,IAhDT,EAgDe;AAChB,WAAO,KAAKP,QAAL,CAAcO,IAAd,CAAP;AACH,GAlDI;AAoDLM,EAAAA,cApDK,0BAoDUE,MApDV,EAoDkB,CAAG;AApDrB,CAAT","sourceRoot":"/","sourcesContent":["cc.Class({\r\n extends: cc.Component,\r\n \r\n onLoad() {\r\n this.nodeDict = {};\r\n this.linkWidget(this.node);\r\n },\r\n\r\n // 遍历节点树,获取重要节点\r\n // 节点名字以$开头的节点为重要节点,放进nodeDict中,可以直接拿到,不用拖拽绑定\r\n // $btn为按钮类型,放进nodeDict,并且绑定按钮点击事件\r\n // $ui为ui节点,放进nodeDict,并且上面绑定了BaseUI脚本,所以不继续遍历该节点的子节点\r\n // $btnUI为按钮类型ui节点,放进nodeDict,并且上面绑定了BaseUI脚本,所以不继续遍历该节点的子节点,并且绑定按钮点击事件\r\n linkWidget(node) {\r\n let children = node.children;\r\n for (let i = 0; i < children.length; i++) {\r\n let nodeName = children[i].name;\r\n if (nodeName.substring(0, 1) !== \"$\") {\r\n this.linkWidget(children[i]);\r\n continue;\r\n }\r\n\r\n let realName = nodeName.substring(1);\r\n if (this.nodeDict[realName]) {\r\n cc.error(\"节点名字重复!\" + realName);\r\n this.linkWidget(children[i]);\r\n continue;\r\n }\r\n let isUI = false;\r\n this.nodeDict[realName] = children[i];\r\n if (nodeName.substring(1, 6) === \"btnUI\") {\r\n children[i].on('click', this.buttonListener, this);\r\n isUI = true;\r\n } else if (nodeName.substring(1, 4) === \"btn\") {\r\n children[i].on('click', this.buttonListener, this);\r\n isUI = false;\r\n } else if (nodeName.substring(1, 3) === \"ui\") {\r\n isUI = true;\r\n }\r\n children[i].name = realName;\r\n this.nodeDict[realName] = children[i];\r\n\r\n if (!isUI) {\r\n this.linkWidget(children[i]);\r\n }\r\n }\r\n },\r\n\r\n getNodeByName(name) {\r\n return this.nodeDict[name];\r\n },\r\n\r\n buttonListener(button) { }\r\n});"]}
\ No newline at end of file
{"version":3,"sources":["assets/OP13/script/BaseUI.js"],"names":["cc","Class","Component","onLoad","nodeDict","linkWidget","node","children","i","length","nodeName","name","substring","realName","error","isUI","on","buttonListener","getNodeByName","button"],"mappings":";;;;;;AAAAA,EAAE,CAACC,KAAH,CAAS;AACL,aAASD,EAAE,CAACE,SADP;AAGLC,EAAAA,MAHK,oBAGI;AACL,SAAKC,QAAL,GAAgB,EAAhB;AACA,SAAKC,UAAL,CAAgB,KAAKC,IAArB;AACH,GANI;AAQL;AACA;AACA;AACA;AACA;AACAD,EAAAA,UAbK,sBAaMC,IAbN,EAaY;AACb,QAAIC,QAAQ,GAAGD,IAAI,CAACC,QAApB;;AACA,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,QAAQ,CAACE,MAA7B,EAAqCD,CAAC,EAAtC,EAA0C;AACtC,UAAIE,QAAQ,GAAGH,QAAQ,CAACC,CAAD,CAAR,CAAYG,IAA3B;;AACA,UAAID,QAAQ,CAACE,SAAT,CAAmB,CAAnB,EAAsB,CAAtB,MAA6B,GAAjC,EAAsC;AAClC,aAAKP,UAAL,CAAgBE,QAAQ,CAACC,CAAD,CAAxB;AACA;AACH;;AAED,UAAIK,QAAQ,GAAGH,QAAQ,CAACE,SAAT,CAAmB,CAAnB,CAAf;;AACA,UAAI,KAAKR,QAAL,CAAcS,QAAd,CAAJ,EAA6B;AACzBb,QAAAA,EAAE,CAACc,KAAH,CAAS,YAAYD,QAArB;AACA,aAAKR,UAAL,CAAgBE,QAAQ,CAACC,CAAD,CAAxB;AACA;AACH;;AACD,UAAIO,IAAI,GAAG,KAAX;AACA,WAAKX,QAAL,CAAcS,QAAd,IAA0BN,QAAQ,CAACC,CAAD,CAAlC;;AACA,UAAIE,QAAQ,CAACE,SAAT,CAAmB,CAAnB,EAAsB,CAAtB,MAA6B,OAAjC,EAA0C;AACtCL,QAAAA,QAAQ,CAACC,CAAD,CAAR,CAAYQ,EAAZ,CAAe,OAAf,EAAwB,KAAKC,cAA7B,EAA6C,IAA7C;AACAF,QAAAA,IAAI,GAAG,IAAP;AACH,OAHD,MAGO,IAAIL,QAAQ,CAACE,SAAT,CAAmB,CAAnB,EAAsB,CAAtB,MAA6B,KAAjC,EAAwC;AAC3CL,QAAAA,QAAQ,CAACC,CAAD,CAAR,CAAYQ,EAAZ,CAAe,OAAf,EAAwB,KAAKC,cAA7B,EAA6C,IAA7C;AACAF,QAAAA,IAAI,GAAG,KAAP;AACH,OAHM,MAGA,IAAIL,QAAQ,CAACE,SAAT,CAAmB,CAAnB,EAAsB,CAAtB,MAA6B,IAAjC,EAAuC;AAC1CG,QAAAA,IAAI,GAAG,IAAP;AACH;;AACDR,MAAAA,QAAQ,CAACC,CAAD,CAAR,CAAYG,IAAZ,GAAmBE,QAAnB;AACA,WAAKT,QAAL,CAAcS,QAAd,IAA0BN,QAAQ,CAACC,CAAD,CAAlC;;AAEA,UAAI,CAACO,IAAL,EAAW;AACP,aAAKV,UAAL,CAAgBE,QAAQ,CAACC,CAAD,CAAxB;AACH;AACJ;AACJ,GA9CI;AAgDLU,EAAAA,aAhDK,yBAgDSP,IAhDT,EAgDe;AAChB,WAAO,KAAKP,QAAL,CAAcO,IAAd,CAAP;AACH,GAlDI;AAoDLM,EAAAA,cApDK,0BAoDUE,MApDV,EAoDkB,CAAG;AApDrB,CAAT","sourceRoot":"/","sourcesContent":["cc.Class({\n extends: cc.Component,\n \n onLoad() {\n this.nodeDict = {};\n this.linkWidget(this.node);\n },\n\n // 遍历节点树,获取重要节点\n // 节点名字以$开头的节点为重要节点,放进nodeDict中,可以直接拿到,不用拖拽绑定\n // $btn为按钮类型,放进nodeDict,并且绑定按钮点击事件\n // $ui为ui节点,放进nodeDict,并且上面绑定了BaseUI脚本,所以不继续遍历该节点的子节点\n // $btnUI为按钮类型ui节点,放进nodeDict,并且上面绑定了BaseUI脚本,所以不继续遍历该节点的子节点,并且绑定按钮点击事件\n linkWidget(node) {\n let children = node.children;\n for (let i = 0; i < children.length; i++) {\n let nodeName = children[i].name;\n if (nodeName.substring(0, 1) !== \"$\") {\n this.linkWidget(children[i]);\n continue;\n }\n\n let realName = nodeName.substring(1);\n if (this.nodeDict[realName]) {\n cc.error(\"节点名字重复!\" + realName);\n this.linkWidget(children[i]);\n continue;\n }\n let isUI = false;\n this.nodeDict[realName] = children[i];\n if (nodeName.substring(1, 6) === \"btnUI\") {\n children[i].on('click', this.buttonListener, this);\n isUI = true;\n } else if (nodeName.substring(1, 4) === \"btn\") {\n children[i].on('click', this.buttonListener, this);\n isUI = false;\n } else if (nodeName.substring(1, 3) === \"ui\") {\n isUI = true;\n }\n children[i].name = realName;\n this.nodeDict[realName] = children[i];\n\n if (!isUI) {\n this.linkWidget(children[i]);\n }\n }\n },\n\n getNodeByName(name) {\n return this.nodeDict[name];\n },\n\n buttonListener(button) { }\n});"]}
\ No newline at end of file
{"version":3,"sources":["assets\\OP13\\script\\DefaultData.js"],"names":["DefaultData"],"mappings":";;;;;;;;AAAO,IAAMA,WAAW,GAAG;AACzB,gBAAc,4EADW;AAEzB,cAAY,4EAFa;AAGzB,eAAa,4EAHY;AAIzB,eAAa,KAJY;AAKzB,eAAa,OALY;AAMzB,gBAAc,EANW;AAOzB,gBAAc,EAPW;AAQzB,eAAa,EARY;AASzB,qBAAmB;AACjB,mBAAe;AACb,aAAO;AADM,KADE;AAIjB,mBAAe;AACb,aAAO;AADM,KAJE;AAOjB,kBAAc;AACZ,aAAO;AADK;AAPG,GATM;AAoBzB,gBAAc,EApBW;AAqBzB,eAAa,EArBY;AAsBzB,oBAAkB,GAtBO;AAuBzB,cAAY,CACV;AACE,gBAAY,OADd;AAEE,iBAAa,6EAFf;AAGE,gBAAY,EAHd;AAIE,iBAAa,EAJf;AAKE,iBAAa,GALf;AAME,sBAAkB;AAChB,qBAAe;AACb,eAAO,6EADM;AAEb,gBAAQ;AAFK,OADC;AAKhB,qBAAe;AACb,eAAO,6EADM;AAEb,gBAAQ;AAFK,OALC;AAShB,oBAAc;AACZ,eAAO,4EADK;AAEZ,gBAAQ;AAFI;AATE;AANpB,GADU,EAsBV;AACE,gBAAY,OADd;AAEE,iBAAa,6EAFf;AAGE,gBAAY,EAHd;AAIE,iBAAa,EAJf;AAKE,iBAAa,GALf;AAME,sBAAkB;AAChB,qBAAe;AACb,eAAO,8EADM;AAEb,gBAAQ;AAFK,OADC;AAKhB,qBAAe;AACb,eAAO,8EADM;AAEb,gBAAQ;AAFK,OALC;AAShB,oBAAc;AACZ,eAAO,6EADK;AAEZ,gBAAQ;AAFI;AATE;AANpB,GAtBU,EA2CV;AACE,gBAAY,OADd;AAEE,iBAAa,6EAFf;AAGE,gBAAY,EAHd;AAIE,iBAAa,EAJf;AAKE,iBAAa,GALf;AAME,sBAAkB;AAChB,qBAAe;AACb,eAAO,8EADM;AAEb,gBAAQ;AAFK,OADC;AAKhB,qBAAe;AACb,eAAO,8EADM;AAEb,gBAAQ;AAFK,OALC;AAShB,oBAAc;AACZ,eAAO,6EADK;AAEZ,gBAAQ;AAFI;AATE;AANpB,GA3CU,EAgEV;AACE,gBAAY,OADd;AAEE,iBAAa,6EAFf;AAGE,gBAAY,EAHd;AAIE,iBAAa,EAJf;AAKE,iBAAa,GALf;AAME,sBAAkB;AAChB,qBAAe;AACb,eAAO,8EADM;AAEb,gBAAQ;AAFK,OADC;AAKhB,qBAAe;AACb,eAAO,8EADM;AAEb,gBAAQ;AAFK,OALC;AAShB,oBAAc;AACZ,eAAO,6EADK;AAEZ,gBAAQ;AAFI;AATE;AANpB,GAhEU;AAvBa,CAApB","sourceRoot":"/","sourcesContent":["export const DefaultData = {\r\n \"startAudio\": \"http://staging-teach.cdn.ireadabc.com/1227771664f9dd7b1fe210a7736b76a0.mp3\",\r\n \"endAudio\": \"http://staging-teach.cdn.ireadabc.com/1227771664f9dd7b1fe210a7736b76a0.mp3\",\r\n \"waitAudio\": \"http://staging-teach.cdn.ireadabc.com/1227771664f9dd7b1fe210a7736b76a0.mp3\",\r\n \"haveCover\": false,\r\n \"coverType\": \"Image\",\r\n \"coverImage\": \"\",\r\n \"coverAudio\": \"\",\r\n \"coverText\": \"\",\r\n \"coverDragonBone\": {\r\n \"skeJsonData\": {\r\n \"url\": \"\"\r\n },\r\n \"texJsonData\": {\r\n \"url\": \"\"\r\n },\r\n \"texPngData\": {\r\n \"url\": \"\"\r\n }\r\n },\r\n \"titleAudio\": \"\",\r\n \"titleText\": \"\",\r\n \"titleTextColor\": \"A\",\r\n \"pageList\": [\r\n {\r\n \"pageType\": \"Image\",\r\n \"pageAudio\": \"https://staging-teach.cdn.ireadabc.com/0e67aa701df18cbb5581ffb81ffa7836.mp3\",\r\n \"pageText\": \"\",\r\n \"pageImage\": \"\",\r\n \"textColor\": \"A\",\r\n \"pageDragonBone\": {\r\n \"skeJsonData\": {\r\n \"url\": \"http://staging-teach.cdn.ireadabc.com/b4fbbfdb7228802154092f714e028c2c.json\",\r\n \"name\": \"1_ske.json\"\r\n },\r\n \"texJsonData\": {\r\n \"url\": \"http://staging-teach.cdn.ireadabc.com/0e419cc03b5ebedcf1a5c796a2c39437.json\",\r\n \"name\": \"1_tex.json\"\r\n },\r\n \"texPngData\": {\r\n \"url\": \"http://staging-teach.cdn.ireadabc.com/b69d4cccd46630d1d144ae1abfa66bdb.png\",\r\n \"name\": \"1_tex.png\"\r\n }\r\n }\r\n },\r\n {\r\n \"pageType\": \"Image\",\r\n \"pageAudio\": \"https://staging-teach.cdn.ireadabc.com/4c0379bc0f3bd0722874b2e11fb35336.mp3\",\r\n \"pageText\": \"\",\r\n \"pageImage\": \"\",\r\n \"textColor\": \"A\",\r\n \"pageDragonBone\": {\r\n \"skeJsonData\": {\r\n \"url\": \"https://staging-teach.cdn.ireadabc.com/d4d848c9a32e3296cfa1bacb22753ea9.json\",\r\n \"name\": \"OP_SB1_459612_U1L4_22(1)_ske.json\"\r\n },\r\n \"texJsonData\": {\r\n \"url\": \"https://staging-teach.cdn.ireadabc.com/4c06cdcf08b155ecc47f2236ad6e7cc2.json\",\r\n \"name\": \"OP_SB1_459612_U1L4_22(1)_tex.json\"\r\n },\r\n \"texPngData\": {\r\n \"url\": \"https://staging-teach.cdn.ireadabc.com/d244e99b4376dc91e069a3f22b965051.png\",\r\n \"name\": \"OP_SB1_459612_U1L4_22(1)_tex.png\"\r\n }\r\n }\r\n },\r\n {\r\n \"pageType\": \"Image\",\r\n \"pageAudio\": \"https://staging-teach.cdn.ireadabc.com/fe226bc303f03ea994cb9a93d1620284.mp3\",\r\n \"pageText\": \"\",\r\n \"pageImage\": \"\",\r\n \"textColor\": \"A\",\r\n \"pageDragonBone\": {\r\n \"skeJsonData\": {\r\n \"url\": \"https://staging-teach.cdn.ireadabc.com/727efd64e18fe99cdfc78b801c0c93b6.json\",\r\n \"name\": \"OP_SB1_459612_U1L4_24(1)_ske.json\"\r\n },\r\n \"texJsonData\": {\r\n \"url\": \"https://staging-teach.cdn.ireadabc.com/6997187f2b4a787a48fee73abb90e95d.json\",\r\n \"name\": \"OP_SB1_459612_U1L4_24(1)_tex.json\"\r\n },\r\n \"texPngData\": {\r\n \"url\": \"https://staging-teach.cdn.ireadabc.com/23eaa25a8c7d6a29c775f3ad6adddbf9.png\",\r\n \"name\": \"OP_SB1_459612_U1L4_24(1)_tex.png\"\r\n }\r\n }\r\n },\r\n {\r\n \"pageType\": \"Image\",\r\n \"pageAudio\": \"https://staging-teach.cdn.ireadabc.com/2990d622ec2940841a0741d7b64a3c50.mp3\",\r\n \"pageText\": \"\",\r\n \"pageImage\": \"\",\r\n \"textColor\": \"A\",\r\n \"pageDragonBone\": {\r\n \"skeJsonData\": {\r\n \"url\": \"https://staging-teach.cdn.ireadabc.com/11afe1cee9c37fcfe26af6496ddfe21a.json\",\r\n \"name\": \"OP_SB1_459612_U1L4_26(1)_ske.json\"\r\n },\r\n \"texJsonData\": {\r\n \"url\": \"https://staging-teach.cdn.ireadabc.com/06d1ce99efc8268a582419bde11671b1.json\",\r\n \"name\": \"OP_SB1_459612_U1L4_26(1)_tex.json\"\r\n },\r\n \"texPngData\": {\r\n \"url\": \"https://staging-teach.cdn.ireadabc.com/e315f97f50ed6698dee354c6d5290da5.png\",\r\n \"name\": \"OP_SB1_459612_U1L4_26(1)_tex.png\"\r\n }\r\n }\r\n }\r\n ]\r\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/OP13/script/DefaultData.js"],"names":["DefaultData"],"mappings":";;;;;;;;AAAO,IAAMA,WAAW,GAAG;AACzB,gBAAc,4EADW;AAEzB,cAAY,4EAFa;AAGzB,eAAa,4EAHY;AAIzB,eAAa,KAJY;AAKzB,eAAa,OALY;AAMzB,gBAAc,EANW;AAOzB,gBAAc,EAPW;AAQzB,eAAa,EARY;AASzB,qBAAmB;AACjB,mBAAe;AACb,aAAO;AADM,KADE;AAIjB,mBAAe;AACb,aAAO;AADM,KAJE;AAOjB,kBAAc;AACZ,aAAO;AADK;AAPG,GATM;AAoBzB,gBAAc,EApBW;AAqBzB,eAAa,EArBY;AAsBzB,oBAAkB,GAtBO;AAuBzB,cAAY,CACV;AACE,gBAAY,OADd;AAEE,iBAAa,6EAFf;AAGE,gBAAY,EAHd;AAIE,iBAAa,EAJf;AAKE,iBAAa,GALf;AAME,sBAAkB;AAChB,qBAAe;AACb,eAAO,6EADM;AAEb,gBAAQ;AAFK,OADC;AAKhB,qBAAe;AACb,eAAO,6EADM;AAEb,gBAAQ;AAFK,OALC;AAShB,oBAAc;AACZ,eAAO,4EADK;AAEZ,gBAAQ;AAFI;AATE;AANpB,GADU,EAsBV;AACE,gBAAY,OADd;AAEE,iBAAa,6EAFf;AAGE,gBAAY,EAHd;AAIE,iBAAa,EAJf;AAKE,iBAAa,GALf;AAME,sBAAkB;AAChB,qBAAe;AACb,eAAO,8EADM;AAEb,gBAAQ;AAFK,OADC;AAKhB,qBAAe;AACb,eAAO,8EADM;AAEb,gBAAQ;AAFK,OALC;AAShB,oBAAc;AACZ,eAAO,6EADK;AAEZ,gBAAQ;AAFI;AATE;AANpB,GAtBU,EA2CV;AACE,gBAAY,OADd;AAEE,iBAAa,6EAFf;AAGE,gBAAY,EAHd;AAIE,iBAAa,EAJf;AAKE,iBAAa,GALf;AAME,sBAAkB;AAChB,qBAAe;AACb,eAAO,8EADM;AAEb,gBAAQ;AAFK,OADC;AAKhB,qBAAe;AACb,eAAO,8EADM;AAEb,gBAAQ;AAFK,OALC;AAShB,oBAAc;AACZ,eAAO,6EADK;AAEZ,gBAAQ;AAFI;AATE;AANpB,GA3CU,EAgEV;AACE,gBAAY,OADd;AAEE,iBAAa,6EAFf;AAGE,gBAAY,EAHd;AAIE,iBAAa,EAJf;AAKE,iBAAa,GALf;AAME,sBAAkB;AAChB,qBAAe;AACb,eAAO,8EADM;AAEb,gBAAQ;AAFK,OADC;AAKhB,qBAAe;AACb,eAAO,8EADM;AAEb,gBAAQ;AAFK,OALC;AAShB,oBAAc;AACZ,eAAO,6EADK;AAEZ,gBAAQ;AAFI;AATE;AANpB,GAhEU;AAvBa,CAApB","sourceRoot":"/","sourcesContent":["export const DefaultData = {\n \"startAudio\": \"http://staging-teach.cdn.ireadabc.com/1227771664f9dd7b1fe210a7736b76a0.mp3\",\n \"endAudio\": \"http://staging-teach.cdn.ireadabc.com/1227771664f9dd7b1fe210a7736b76a0.mp3\",\n \"waitAudio\": \"http://staging-teach.cdn.ireadabc.com/1227771664f9dd7b1fe210a7736b76a0.mp3\",\n \"haveCover\": false,\n \"coverType\": \"Image\",\n \"coverImage\": \"\",\n \"coverAudio\": \"\",\n \"coverText\": \"\",\n \"coverDragonBone\": {\n \"skeJsonData\": {\n \"url\": \"\"\n },\n \"texJsonData\": {\n \"url\": \"\"\n },\n \"texPngData\": {\n \"url\": \"\"\n }\n },\n \"titleAudio\": \"\",\n \"titleText\": \"\",\n \"titleTextColor\": \"A\",\n \"pageList\": [\n {\n \"pageType\": \"Image\",\n \"pageAudio\": \"https://staging-teach.cdn.ireadabc.com/0e67aa701df18cbb5581ffb81ffa7836.mp3\",\n \"pageText\": \"\",\n \"pageImage\": \"\",\n \"textColor\": \"A\",\n \"pageDragonBone\": {\n \"skeJsonData\": {\n \"url\": \"http://staging-teach.cdn.ireadabc.com/b4fbbfdb7228802154092f714e028c2c.json\",\n \"name\": \"1_ske.json\"\n },\n \"texJsonData\": {\n \"url\": \"http://staging-teach.cdn.ireadabc.com/0e419cc03b5ebedcf1a5c796a2c39437.json\",\n \"name\": \"1_tex.json\"\n },\n \"texPngData\": {\n \"url\": \"http://staging-teach.cdn.ireadabc.com/b69d4cccd46630d1d144ae1abfa66bdb.png\",\n \"name\": \"1_tex.png\"\n }\n }\n },\n {\n \"pageType\": \"Image\",\n \"pageAudio\": \"https://staging-teach.cdn.ireadabc.com/4c0379bc0f3bd0722874b2e11fb35336.mp3\",\n \"pageText\": \"\",\n \"pageImage\": \"\",\n \"textColor\": \"A\",\n \"pageDragonBone\": {\n \"skeJsonData\": {\n \"url\": \"https://staging-teach.cdn.ireadabc.com/d4d848c9a32e3296cfa1bacb22753ea9.json\",\n \"name\": \"OP_SB1_459612_U1L4_22(1)_ske.json\"\n },\n \"texJsonData\": {\n \"url\": \"https://staging-teach.cdn.ireadabc.com/4c06cdcf08b155ecc47f2236ad6e7cc2.json\",\n \"name\": \"OP_SB1_459612_U1L4_22(1)_tex.json\"\n },\n \"texPngData\": {\n \"url\": \"https://staging-teach.cdn.ireadabc.com/d244e99b4376dc91e069a3f22b965051.png\",\n \"name\": \"OP_SB1_459612_U1L4_22(1)_tex.png\"\n }\n }\n },\n {\n \"pageType\": \"Image\",\n \"pageAudio\": \"https://staging-teach.cdn.ireadabc.com/fe226bc303f03ea994cb9a93d1620284.mp3\",\n \"pageText\": \"\",\n \"pageImage\": \"\",\n \"textColor\": \"A\",\n \"pageDragonBone\": {\n \"skeJsonData\": {\n \"url\": \"https://staging-teach.cdn.ireadabc.com/727efd64e18fe99cdfc78b801c0c93b6.json\",\n \"name\": \"OP_SB1_459612_U1L4_24(1)_ske.json\"\n },\n \"texJsonData\": {\n \"url\": \"https://staging-teach.cdn.ireadabc.com/6997187f2b4a787a48fee73abb90e95d.json\",\n \"name\": \"OP_SB1_459612_U1L4_24(1)_tex.json\"\n },\n \"texPngData\": {\n \"url\": \"https://staging-teach.cdn.ireadabc.com/23eaa25a8c7d6a29c775f3ad6adddbf9.png\",\n \"name\": \"OP_SB1_459612_U1L4_24(1)_tex.png\"\n }\n }\n },\n {\n \"pageType\": \"Image\",\n \"pageAudio\": \"https://staging-teach.cdn.ireadabc.com/2990d622ec2940841a0741d7b64a3c50.mp3\",\n \"pageText\": \"\",\n \"pageImage\": \"\",\n \"textColor\": \"A\",\n \"pageDragonBone\": {\n \"skeJsonData\": {\n \"url\": \"https://staging-teach.cdn.ireadabc.com/11afe1cee9c37fcfe26af6496ddfe21a.json\",\n \"name\": \"OP_SB1_459612_U1L4_26(1)_ske.json\"\n },\n \"texJsonData\": {\n \"url\": \"https://staging-teach.cdn.ireadabc.com/06d1ce99efc8268a582419bde11671b1.json\",\n \"name\": \"OP_SB1_459612_U1L4_26(1)_tex.json\"\n },\n \"texPngData\": {\n \"url\": \"https://staging-teach.cdn.ireadabc.com/e315f97f50ed6698dee354c6d5290da5.png\",\n \"name\": \"OP_SB1_459612_U1L4_26(1)_tex.png\"\n }\n }\n }\n ]\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets\\OP13\\script\\EventMgr.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["/**\r\n * 事件模块\r\n * onfire.js\r\n * \r\n */\r\ninterface Listener {\r\n cb: Function;\r\n once: boolean;\r\n target: object;\r\n}\r\n\r\ninterface EventsType {\r\n [eventName: string]: Listener[];\r\n}\r\nclass EventMgr {\r\n // 所有事件的监听器\r\n es: EventsType = {};\r\n\r\n on(eventName: string, cb: Function, target: object) {\r\n if (!this.es[eventName]) {\r\n this.es[eventName] = [];\r\n }\r\n\r\n this.es[eventName].push({\r\n cb,\r\n once: false,\r\n target,\r\n });\r\n }\r\n\r\n once(eventName: string, cb: Function, target: object) {\r\n if (!this.es[eventName]) {\r\n this.es[eventName] = [];\r\n }\r\n\r\n this.es[eventName].push({\r\n cb,\r\n once: true,\r\n target,\r\n });\r\n }\r\n\r\n emit(eventName: string, params?: any) {\r\n const listeners = this.es[eventName] || [];\r\n\r\n let l = listeners.length;\r\n\r\n for (let i = 0; i < l; i++) {\r\n const { cb, once, target } = listeners[i];\r\n let args = [eventName, params];\r\n cb.apply(target, args);\r\n\r\n if (once) {\r\n listeners.splice(i, 1);\r\n i--;\r\n l--;\r\n }\r\n }\r\n }\r\n\r\n off(eventName?: string, cb?: Function, target?: object) {\r\n // clean all\r\n if (eventName === undefined) {\r\n this.es = {};\r\n } else {\r\n if (cb === undefined) {\r\n // clean the eventName's listeners\r\n delete this.es[eventName];\r\n } else if (cb === null) {\r\n if (!target) {\r\n return;\r\n }\r\n const listeners = this.es[eventName] || [];\r\n // clean the event and listener\r\n let l = listeners.length;\r\n for (let i = 0; i < l; i++) {\r\n if (listeners[i].target === target) {\r\n listeners.splice(i, 1);\r\n i--;\r\n l--;\r\n }\r\n }\r\n } else {\r\n const listeners = this.es[eventName] || [];\r\n // clean the event and listener\r\n let l = listeners.length;\r\n for (let i = 0; i < l; i++) {\r\n if (listeners[i].cb === cb && listeners[i].target === target) {\r\n listeners.splice(i, 1);\r\n i--;\r\n l--;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default new EventMgr();"]}
\ No newline at end of file
{"version":3,"sources":["assets/OP13/script/EventMgr.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["/**\n * 事件模块\n * onfire.js\n * \n */\ninterface Listener {\n cb: Function;\n once: boolean;\n target: object;\n}\n\ninterface EventsType {\n [eventName: string]: Listener[];\n}\nclass EventMgr {\n // 所有事件的监听器\n es: EventsType = {};\n\n on(eventName: string, cb: Function, target: object) {\n if (!this.es[eventName]) {\n this.es[eventName] = [];\n }\n\n this.es[eventName].push({\n cb,\n once: false,\n target,\n });\n }\n\n once(eventName: string, cb: Function, target: object) {\n if (!this.es[eventName]) {\n this.es[eventName] = [];\n }\n\n this.es[eventName].push({\n cb,\n once: true,\n target,\n });\n }\n\n emit(eventName: string, params?: any) {\n const listeners = this.es[eventName] || [];\n\n let l = listeners.length;\n\n for (let i = 0; i < l; i++) {\n const { cb, once, target } = listeners[i];\n let args = [eventName, params];\n cb.apply(target, args);\n\n if (once) {\n listeners.splice(i, 1);\n i--;\n l--;\n }\n }\n }\n\n off(eventName?: string, cb?: Function, target?: object) {\n // clean all\n if (eventName === undefined) {\n this.es = {};\n } else {\n if (cb === undefined) {\n // clean the eventName's listeners\n delete this.es[eventName];\n } else if (cb === null) {\n if (!target) {\n return;\n }\n const listeners = this.es[eventName] || [];\n // clean the event and listener\n let l = listeners.length;\n for (let i = 0; i < l; i++) {\n if (listeners[i].target === target) {\n listeners.splice(i, 1);\n i--;\n l--;\n }\n }\n } else {\n const listeners = this.es[eventName] || [];\n // clean the event and listener\n let l = listeners.length;\n for (let i = 0; i < l; i++) {\n if (listeners[i].cb === cb && listeners[i].target === target) {\n listeners.splice(i, 1);\n i--;\n l--;\n }\n }\n }\n }\n }\n}\n\nexport default new EventMgr();"]}
\ No newline at end of file
{"version":3,"sources":["assets\\OP13\\script\\ItemPage.js"],"names":["require","loadSpine","colorMap","cc","Class","properties","dragonBone","dragonBones","ArmatureDisplay","skeleton","sp","Skeleton","onLoad","_super","sprImage","nodeDict","getComponent","Sprite","labText","RichText","labTextTitle","init","data","isCover","pageIndex","Promise","resolve","reject","pageType","string","pageDragonBone","animType","loadSpineAnim","then","loadDragonBoneAnim","playSpine","setToSetupPose","setTimeout","setAnimation","animationName","setCompleteListener","GameData","isPlaying","playAnimation","on","EventObject","COMPLETE","evt","playAudio","pageAudio","assetManager","loadRemote","err","clip","audioID","audioEngine","play","audioDuration","getDuration","stopAudio","stop","unschedule","chengeTextColor","loadBg","url","pageImage","error","texture","console","log","spriteFrame","SpriteFrame","setBgScale","tex","texPngData","atlas","texJsonData","ske","skeJsonData","name","width","height","node","animationNames","setSpineScale","imageUrl","skeUrl","atlasUrl","loadAny","ext","assets","DragonBonesAtlasAsset","_uuid","atlasJson","asset","DragonBonesAsset","dragonBonesJson","dragonAtlasAsset","dragonAsset","_dragonBonesJsonData","armature","armatureName","animation","canvas","bgWidth","bgHeight","designScale","scale","size"],"mappings":"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","sourceRoot":"/","sourcesContent":["const { loadSpine } = require('./utils');\r\n\r\nconst colorMap = {\r\n \"A\": [\"#1f356b\", \"#ffffff\", \"#bd2c37\"],\r\n \"B\": [\"#fff8d0\", \"#000000\", \"#ffb93b\"]\r\n}\r\ncc.Class({\r\n extends: require('BaseUI'),\r\n\r\n properties: {\r\n dragonBone: dragonBones.ArmatureDisplay,\r\n skeleton: sp.Skeleton\r\n },\r\n\r\n onLoad() {\r\n this._super();\r\n this.sprImage = this.nodeDict.sprImage.getComponent(cc.Sprite);\r\n this.labText = this.nodeDict.labText.getComponent(cc.RichText);\r\n this.labTextTitle = this.nodeDict.labTextTitle.getComponent(cc.RichText);\r\n },\r\n\r\n init(data, isCover, pageIndex) {\r\n return new Promise((resolve, reject) => {\r\n this.data = data;\r\n this.data.pageType = \"spine\"\r\n this.pageIndex = pageIndex;\r\n this.isCover = isCover;\r\n this.labText.string = '';\r\n this.labTextTitle.string = '';\r\n\r\n if (this.data.pageDragonBone.animType == 'spine') {\r\n this.loadSpineAnim().then(() => {\r\n resolve('');\r\n })\r\n } else {\r\n this.loadDragonBoneAnim().then(() => {\r\n resolve('');\r\n })\r\n }\r\n \r\n });\r\n },\r\n\r\n playSpine() {\r\n return new Promise((resolve, reject) => {\r\n\r\n if (this.data.pageDragonBone.animType == 'spine') {\r\n const skeleton = this.skeleton;\r\n skeleton.setToSetupPose();\r\n setTimeout(() => {\r\n skeleton.setAnimation(0, this.animationName, false);\r\n skeleton.setCompleteListener(() => {\r\n GameData.isPlaying = false;\r\n resolve('');\r\n })\r\n }, 1);\r\n } else {\r\n this.dragonBone.playAnimation(this.animationName, 1);\r\n this.dragonBone.on(dragonBones.EventObject.COMPLETE, (evt) => {\r\n GameData.isPlaying = false;\r\n resolve('');\r\n });\r\n }\r\n\r\n \r\n });\r\n },\r\n\r\n playAudio() {\r\n if (this.data.pageAudio) {\r\n cc.assetManager.loadRemote(this.data.pageAudio, null, (err, clip) => {\r\n this.audioID = cc.audioEngine.play(clip, false, 1);\r\n this.audioDuration = cc.audioEngine.getDuration(this.audioID);\r\n });\r\n }\r\n },\r\n stopAudio() {\r\n cc.audioEngine.stop(this.audioID);\r\n this.unschedule(this.chengeTextColor);\r\n GameData.isPlaying = false;\r\n },\r\n loadBg() {\r\n let url = this.data.pageImage;\r\n if (!url) return;\r\n cc.assetManager.loadRemote(url, (error, texture) => {\r\n if (error) {\r\n console.log(error)\r\n }\r\n this.sprImage.spriteFrame = new cc.SpriteFrame(texture);\r\n this.setBgScale();\r\n })\r\n },\r\n\r\n loadSpineAnim() {\r\n\r\n return new Promise((resolve, reject) => {\r\n\r\n const tex = this.data.pageDragonBone.texPngData.url;\r\n const atlas = this.data.pageDragonBone.texJsonData.url;\r\n const ske = this.data.pageDragonBone.skeJsonData.url;\r\n \r\n loadSpine(this.skeleton, this.data.pageDragonBone.texPngData.name, {tex, atlas, ske}).then(({width, height}) => {\r\n this.skeleton.node.width = width;\r\n this.skeleton.node.height = height;\t\r\n\t\t\t\r\n resolve('');\r\n this.animationName = this.skeleton.animationNames[0];\r\n console.log('width: ', this.skeleton.node.width);\r\n console.log('height~~~: ', this.skeleton.node.height);\r\n console.log('this.skeleton.node: ', this.skeleton.node);\r\n\r\n this.setSpineScale(this.skeleton.node, this.skeleton.node);\r\n })\r\n });\r\n \r\n },\r\n loadDragonBoneAnim() {\r\n return new Promise((resolve, reject) => {\r\n var imageUrl = this.data.pageDragonBone.texPngData.url;\r\n var skeUrl = this.data.pageDragonBone.skeJsonData.url;\r\n var atlasUrl = this.data.pageDragonBone.texJsonData.url;\r\n cc.assetManager.loadAny([{ url: atlasUrl, ext: '.txt' }, { url: skeUrl, ext: '.txt' }], (error, assets) => {\r\n if (error) return resolve('');\r\n if (imageUrl == '') console.log(this.data)\r\n cc.assetManager.loadRemote(imageUrl, (error, texture) => {\r\n if (error) return resolve('');\r\n var atlas = new dragonBones.DragonBonesAtlasAsset();\r\n atlas._uuid = atlasUrl;\r\n atlas.atlasJson = assets[0];\r\n atlas.texture = texture;\r\n\r\n var asset = new dragonBones.DragonBonesAsset();\r\n asset._uuid = skeUrl;\r\n asset.dragonBonesJson = assets[1];\r\n this.dragonBone.dragonAtlasAsset = atlas;\r\n this.dragonBone.dragonAsset = asset;\r\n let data = asset._dragonBonesJsonData.armature[0];\r\n if (!data) return resolve('');\r\n this.dragonBone.armatureName = data.name;\r\n this.animationName = data.animation[0].name;\r\n this.dragonBone.animationName = this.animationName;\r\n\r\n // this.dragonBone.premultipliedAlpha = true;\r\n // atlas.texture.setPremultiplyAlpha(true);\r\n\r\n console.log('data.canvas:', data.canvas);\r\n\r\n this.setSpineScale(data.canvas, this.dragonBone.node);\r\n return resolve('');\r\n });\r\n });\r\n });\r\n\r\n },\r\n // 缩放\r\n setBgScale() {\r\n let bgWidth = 382;\r\n let bgHeight = 540;\r\n if (this.nodeDict.sprImage.width != bgWidth || this.nodeDict.sprImage.height != bgHeight) {\r\n let designScale = bgWidth / bgHeight;\r\n let scale = this.nodeDict.sprImage.width / this.nodeDict.sprImage.height;\r\n if (scale > designScale) {\r\n this.nodeDict.sprImage.scale = bgWidth / this.nodeDict.sprImage.width;\r\n } else {\r\n this.nodeDict.sprImage.scale = bgHeight / this.nodeDict.sprImage.height;\r\n }\r\n }\r\n },\r\n setSpineScale(size, node) {\r\n // return;\r\n if (!size) {\r\n return;\r\n }\r\n let bgWidth = 482;\r\n let bgHeight = 489;\r\n if (size.width != bgWidth || size.height != bgHeight) {\r\n let designScale = bgWidth / bgHeight;\r\n let scale = size.width / size.height;\r\n if (scale > designScale) {\r\n node.scale = bgWidth / size.width;\r\n } else {\r\n node.scale = bgHeight / size.height;\r\n }\r\n }\r\n },\r\n // update (dt) {},\r\n});\r\n"]}
\ No newline at end of file
{"version":3,"sources":["assets/OP13/script/ItemPage.js"],"names":["require","loadSpine","colorMap","cc","Class","properties","dragonBone","dragonBones","ArmatureDisplay","skeleton","sp","Skeleton","onLoad","_super","sprImage","nodeDict","getComponent","Sprite","labText","RichText","labTextTitle","init","data","isCover","pageIndex","Promise","resolve","reject","pageType","string","pageDragonBone","animType","loadSpineAnim","then","loadDragonBoneAnim","stopSpine","_aniSpine","clearTracks","_aniDragonBone","stop","playSpine","setToSetupPose","setTimeout","setAnimation","animationName","setCompleteListener","GameData","isPlaying","playAnimation","on","EventObject","COMPLETE","evt","playAudio","pageAudio","assetManager","loadRemote","err","clip","audioID","audioEngine","play","audioDuration","getDuration","stopAudio","unschedule","chengeTextColor","loadBg","url","pageImage","error","texture","console","log","spriteFrame","SpriteFrame","setBgScale","tex","texPngData","atlas","texJsonData","ske","skeJsonData","name","width","height","node","animationNames","setSpineScale","imageUrl","skeUrl","atlasUrl","loadAny","ext","assets","DragonBonesAtlasAsset","_uuid","atlasJson","asset","DragonBonesAsset","dragonBonesJson","dragonAtlasAsset","dragonAsset","_dragonBonesJsonData","armature","armatureName","animation","canvas","bgWidth","bgHeight","designScale","scale","size"],"mappings":"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","sourceRoot":"/","sourcesContent":["const { loadSpine } = require('./utils');\n\nconst colorMap = {\n \"A\": [\"#1f356b\", \"#ffffff\", \"#bd2c37\"],\n \"B\": [\"#fff8d0\", \"#000000\", \"#ffb93b\"]\n}\ncc.Class({\n extends: require('BaseUI'),\n\n properties: {\n dragonBone: dragonBones.ArmatureDisplay,\n skeleton: sp.Skeleton\n },\n\n onLoad() {\n this._super();\n this.sprImage = this.nodeDict.sprImage.getComponent(cc.Sprite);\n this.labText = this.nodeDict.labText.getComponent(cc.RichText);\n this.labTextTitle = this.nodeDict.labTextTitle.getComponent(cc.RichText);\n },\n\n init(data, isCover, pageIndex) {\n return new Promise((resolve, reject) => {\n this.data = data;\n this.data.pageType = \"spine\"\n this.pageIndex = pageIndex;\n this.isCover = isCover;\n this.labText.string = '';\n this.labTextTitle.string = '';\n\n if (this.data.pageDragonBone.animType == 'spine') {\n this.loadSpineAnim().then(() => {\n resolve('');\n })\n } else {\n this.loadDragonBoneAnim().then(() => {\n resolve('');\n })\n }\n\n });\n },\n stopSpine() {\n if (this._aniSpine) {\n const skeleton = this.skeleton;\n skeleton.clearTracks();\n }\n if (this._aniDragonBone) {\n this._aniDragonBone.stop();\n }\n },\n playSpine() {\n return new Promise((resolve, reject) => {\n if (this.data.pageDragonBone.animType == 'spine') {\n const skeleton = this.skeleton;\n skeleton.setToSetupPose();\n setTimeout(() => {\n this._aniSpine = skeleton.setAnimation(0, this.animationName, false);\n skeleton.setCompleteListener(() => {\n this._aniSpine = null;\n GameData.isPlaying = 0;\n resolve('');\n })\n }, 1);\n } else {\n this._aniDragonBone = this.dragonBone.playAnimation(this.animationName, 1);\n this.dragonBone.on(dragonBones.EventObject.COMPLETE, (evt) => {\n this._aniDragonBone = null;\n GameData.isPlaying = 0;\n resolve('');\n });\n }\n });\n },\n\n playAudio() {\n if (this.data.pageAudio) {\n cc.assetManager.loadRemote(this.data.pageAudio, null, (err, clip) => {\n this.audioID = cc.audioEngine.play(clip, false, 1);\n this.audioDuration = cc.audioEngine.getDuration(this.audioID);\n });\n }\n },\n stopAudio() {\n cc.audioEngine.stop(this.audioID);\n this.unschedule(this.chengeTextColor);\n GameData.isPlaying = 0;\n },\n loadBg() {\n let url = this.data.pageImage;\n if (!url) return;\n cc.assetManager.loadRemote(url, (error, texture) => {\n if (error) {\n console.log(error)\n }\n this.sprImage.spriteFrame = new cc.SpriteFrame(texture);\n this.setBgScale();\n })\n },\n\n loadSpineAnim() {\n\n return new Promise((resolve, reject) => {\n\n const tex = this.data.pageDragonBone.texPngData.url;\n const atlas = this.data.pageDragonBone.texJsonData.url;\n const ske = this.data.pageDragonBone.skeJsonData.url;\n\n loadSpine(this.skeleton, this.data.pageDragonBone.texPngData.name, { tex, atlas, ske }).then(({ width, height }) => {\n this.skeleton.node.width = width;\n this.skeleton.node.height = height;\n\n resolve('');\n this.animationName = this.skeleton.animationNames[0];\n console.log('width: ', this.skeleton.node.width);\n console.log('height~~~: ', this.skeleton.node.height);\n console.log('this.skeleton.node: ', this.skeleton.node);\n\n this.setSpineScale(this.skeleton.node, this.skeleton.node);\n })\n });\n\n },\n loadDragonBoneAnim() {\n return new Promise((resolve, reject) => {\n var imageUrl = this.data.pageDragonBone.texPngData.url;\n var skeUrl = this.data.pageDragonBone.skeJsonData.url;\n var atlasUrl = this.data.pageDragonBone.texJsonData.url;\n cc.assetManager.loadAny([{ url: atlasUrl, ext: '.txt' }, { url: skeUrl, ext: '.txt' }], (error, assets) => {\n if (error) return resolve('');\n if (imageUrl == '') console.log(this.data)\n cc.assetManager.loadRemote(imageUrl, (error, texture) => {\n if (error) return resolve('');\n var atlas = new dragonBones.DragonBonesAtlasAsset();\n atlas._uuid = atlasUrl;\n atlas.atlasJson = assets[0];\n atlas.texture = texture;\n\n var asset = new dragonBones.DragonBonesAsset();\n asset._uuid = skeUrl;\n asset.dragonBonesJson = assets[1];\n this.dragonBone.dragonAtlasAsset = atlas;\n this.dragonBone.dragonAsset = asset;\n let data = asset._dragonBonesJsonData.armature[0];\n if (!data) return resolve('');\n this.dragonBone.armatureName = data.name;\n this.animationName = data.animation[0].name;\n this.dragonBone.animationName = this.animationName;\n\n // this.dragonBone.premultipliedAlpha = true;\n // atlas.texture.setPremultiplyAlpha(true);\n\n console.log('data.canvas:', data.canvas);\n\n this.setSpineScale(data.canvas, this.dragonBone.node);\n return resolve('');\n });\n });\n });\n\n },\n // 缩放\n setBgScale() {\n let bgWidth = 382;\n let bgHeight = 540;\n if (this.nodeDict.sprImage.width != bgWidth || this.nodeDict.sprImage.height != bgHeight) {\n let designScale = bgWidth / bgHeight;\n let scale = this.nodeDict.sprImage.width / this.nodeDict.sprImage.height;\n if (scale > designScale) {\n this.nodeDict.sprImage.scale = bgWidth / this.nodeDict.sprImage.width;\n } else {\n this.nodeDict.sprImage.scale = bgHeight / this.nodeDict.sprImage.height;\n }\n }\n },\n setSpineScale(size, node) {\n // return;\n if (!size) {\n return;\n }\n let bgWidth = 482;\n let bgHeight = 489;\n if (size.width != bgWidth || size.height != bgHeight) {\n let designScale = bgWidth / bgHeight;\n let scale = size.width / size.height;\n if (scale > designScale) {\n node.scale = bgWidth / size.width;\n } else {\n node.scale = bgHeight / size.height;\n }\n }\n },\n // update (dt) {},\n});\n"]}
\ No newline at end of file
{"version":3,"sources":["assets\\OP13\\script\\NodeFitScreen.js"],"names":["FitType","Scale","FullScreen","FitMode","FullHeight","FullWidth","designSize","cc","size","Class","Component","properties","type","Enum","onLoad","view","on","refreshFit","onDestroy","off","winSize","getVisibleSize","console","log","node","width","height","scale1","scale2","scale","visiblesize","wsize","getFrameSize","scaleW","scaleH","pCanvas","getComponent","Canvas","fitHeight","fitWidth","error"],"mappings":"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","sourceRoot":"/","sourcesContent":["\r\nconst FitType = {\r\n Scale: 0,//等比缩放,一般用于背景图\r\n FullScreen: 1,//铺满全屏,拉伸\r\n FitMode: 2,//更改canvas适配策略,只能挂在canvas上\r\n FullHeight: 3,\r\n FullWidth: 4,\r\n};\r\nconst designSize = cc.size(1280, 720);\r\ncc.Class({\r\n extends: cc.Component,\r\n\r\n properties: {\r\n FitType: {\r\n type: cc.Enum(FitType),\r\n default: 0\r\n },\r\n },\r\n\r\n onLoad: function () {\r\n cc.view.on('canvas-resize', this.refreshFit, this)\r\n this.refreshFit();\r\n },\r\n onDestroy(){\r\n cc.view.off('canvas-resize', this.refreshFit, this)\r\n },\r\n\r\n refreshFit() {\r\n if (this.FitType == FitType.Scale) {\r\n let winSize = cc.view.getVisibleSize();\r\n console.log(winSize)\r\n console.log(this.node.width,this.node.height)\r\n if(this.node.width >= winSize.width && this.node.height >= winSize.height ){\r\n return;\r\n }\r\n let scale1 = winSize.width / this.node.width;\r\n let scale2 = winSize.height / this.node.height;\r\n if (scale1 > scale2) {\r\n this.node.scale = scale1;\r\n } else {\r\n this.node.scale = scale2;\r\n }\r\n } else if (this.FitType == FitType.FullScreen) {\r\n let visiblesize = cc.view.getVisibleSize();\r\n this.node.width = visiblesize.width;\r\n this.node.height = visiblesize.height;\r\n } else if (this.FitType == FitType.FullHeight) {\r\n let visiblesize = cc.view.getVisibleSize();\r\n let scale = visiblesize.width / this.node.width;\r\n this.node.width = scale * this.node.width;\r\n this.node.height = scale * this.node.height;\r\n } else if (this.FitType == FitType.FullWidth) {\r\n let visiblesize = cc.view.getVisibleSize();\r\n let scale = visiblesize.height / this.node.height;\r\n this.node.width = scale * this.node.width;\r\n this.node.height = scale * this.node.height;\r\n } else {\r\n let wsize = cc.view.getFrameSize();\r\n let scaleW = wsize.width / designSize.width;\r\n let scaleH = wsize.height / designSize.height;\r\n\r\n let pCanvas = this.node.getComponent(cc.Canvas);\r\n if (pCanvas) {\r\n if (scaleW > scaleH) { //更宽了要fitHeight, 否则height就留黑边了;\r\n pCanvas.fitHeight = true;\r\n pCanvas.fitWidth = false;\r\n } else { //更高;\r\n pCanvas.fitHeight = false;\r\n pCanvas.fitWidth = true;\r\n }\r\n } else {\r\n console.error(\"fitmode模式只能用在canvas节点上\");\r\n }\r\n }\r\n },\r\n});\r\n"]}
\ No newline at end of file
{"version":3,"sources":["assets/OP13/script/NodeFitScreen.js"],"names":["FitType","Scale","FullScreen","FitMode","FullHeight","FullWidth","designSize","cc","size","Class","Component","properties","type","Enum","onLoad","view","on","refreshFit","onDestroy","off","winSize","getVisibleSize","console","log","node","width","height","scale1","scale2","scale","visiblesize","wsize","getFrameSize","scaleW","scaleH","pCanvas","getComponent","Canvas","fitHeight","fitWidth","error"],"mappings":"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","sourceRoot":"/","sourcesContent":["\nconst FitType = {\n Scale: 0,//等比缩放,一般用于背景图\n FullScreen: 1,//铺满全屏,拉伸\n FitMode: 2,//更改canvas适配策略,只能挂在canvas上\n FullHeight: 3,\n FullWidth: 4,\n};\nconst designSize = cc.size(1280, 720);\ncc.Class({\n extends: cc.Component,\n\n properties: {\n FitType: {\n type: cc.Enum(FitType),\n default: 0\n },\n },\n\n onLoad: function () {\n cc.view.on('canvas-resize', this.refreshFit, this)\n this.refreshFit();\n },\n onDestroy(){\n cc.view.off('canvas-resize', this.refreshFit, this)\n },\n\n refreshFit() {\n if (this.FitType == FitType.Scale) {\n let winSize = cc.view.getVisibleSize();\n console.log(winSize)\n console.log(this.node.width,this.node.height)\n if(this.node.width >= winSize.width && this.node.height >= winSize.height ){\n return;\n }\n let scale1 = winSize.width / this.node.width;\n let scale2 = winSize.height / this.node.height;\n if (scale1 > scale2) {\n this.node.scale = scale1;\n } else {\n this.node.scale = scale2;\n }\n } else if (this.FitType == FitType.FullScreen) {\n let visiblesize = cc.view.getVisibleSize();\n this.node.width = visiblesize.width;\n this.node.height = visiblesize.height;\n } else if (this.FitType == FitType.FullHeight) {\n let visiblesize = cc.view.getVisibleSize();\n let scale = visiblesize.width / this.node.width;\n this.node.width = scale * this.node.width;\n this.node.height = scale * this.node.height;\n } else if (this.FitType == FitType.FullWidth) {\n let visiblesize = cc.view.getVisibleSize();\n let scale = visiblesize.height / this.node.height;\n this.node.width = scale * this.node.width;\n this.node.height = scale * this.node.height;\n } else {\n let wsize = cc.view.getFrameSize();\n let scaleW = wsize.width / designSize.width;\n let scaleH = wsize.height / designSize.height;\n\n let pCanvas = this.node.getComponent(cc.Canvas);\n if (pCanvas) {\n if (scaleW > scaleH) { //更宽了要fitHeight, 否则height就留黑边了;\n pCanvas.fitHeight = true;\n pCanvas.fitWidth = false;\n } else { //更高;\n pCanvas.fitHeight = false;\n pCanvas.fitWidth = true;\n }\n } else {\n console.error(\"fitmode模式只能用在canvas节点上\");\n }\n }\n },\n});\n"]}
\ No newline at end of file
{"version":3,"sources":["assets\\OP13\\script\\bezier_assembler.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import PageEffectAssemblerBase from \"./page_effect_assembler_base\";\r\n\r\nconst gfx = cc.gfx;\r\n\r\nlet vfmtPosUvColorFront = new gfx.VertexFormat([\r\n { name: gfx.ATTR_POSITION, type: gfx.ATTR_TYPE_FLOAT32, num: 2 },\r\n { name: gfx.ATTR_UV0, type: gfx.ATTR_TYPE_FLOAT32, num: 2 },\r\n { name: gfx.ATTR_COLOR, type: gfx.ATTR_TYPE_UINT8, num: 4, normalize: true },\r\n { name: \"a_isFront\", type: gfx.ATTR_TYPE_FLOAT32, num: 1},\r\n]);\r\n\r\nexport default class BezierAssembler extends PageEffectAssemblerBase {\r\n protected angle:number = 0\r\n public updateRenderData (comp: any) {\r\n if (comp) {\r\n let pointNum: number = comp.getPointCount()\r\n if (pointNum < 2) {\r\n return\r\n }\r\n\r\n let node = comp.node\r\n let height = node.height\r\n let width = node.width\r\n // 左下角的坐标\r\n let posX = - width * node.anchorX\r\n let posY = - height * node.anchorY\r\n // 根据角度获得控制点的位置\r\n let ctrlPosData = this._getCtrlPosByAngle(width)\r\n let startPos = ctrlPosData.startPos\r\n let endPos = ctrlPosData.endPos\r\n let ctrlPos1 = ctrlPosData.ctrlPos1\r\n let ctrlPos2 = ctrlPosData.ctrlPos2\r\n // 记录各个顶点的位置\r\n let bezierPosList: cc.Vec2[] = []\r\n bezierPosList[0] = startPos\r\n // 当前所有顶点连线的总长\r\n let realWidth = 0\r\n // 上一个点的纹理坐标\r\n let lastU = 0\r\n // 下一个点的纹理坐标\r\n let nextU = 0\r\n\r\n let floatsPerVert = this.floatsPerVert;\r\n let verts = this.renderData.vDatas[0];\r\n // 写verts时的下标\r\n let dstOffset = 0;\r\n for (let i = 1; i < pointNum; i++) {\r\n let isTail = i === pointNum - 1\r\n let lastBezierPos = bezierPosList[i - 1]\r\n let nextBezierPos = this._getBezierPos(i / (pointNum - 1) , startPos, endPos, ctrlPos1, ctrlPos2)\r\n let fixedData = this._fixWidth(lastBezierPos, nextBezierPos, width, realWidth, isTail)\r\n let gapWidth = fixedData.gapWidth\r\n nextBezierPos = fixedData.nextBezierPos\r\n realWidth += gapWidth\r\n bezierPosList[i] = nextBezierPos\r\n // 根据当前小矩形的宽度占总长度的比例来计算纹理坐标的间隔\r\n let gapU = gapWidth / width\r\n nextU = lastU + gapU\r\n /* \r\n 分别计算小矩形四个顶点的坐标和纹理坐标\r\n 各顶点的坐标计算方法为在左下角坐标的基础上加上顶点在贝塞尔曲线上的坐标,如果是书页顶部的顶点则还要加上书页的高度\r\n */\r\n\r\n // 将4个顶点数据写入verts\r\n dstOffset = floatsPerVert * (i-1) * 4;\r\n verts[dstOffset] = posX + lastBezierPos.x;\r\n verts[dstOffset + 1] = posY + lastBezierPos.y;\r\n verts[dstOffset + 2] = lastU;\r\n verts[dstOffset + 3] = 1;\r\n dstOffset += floatsPerVert;\r\n\r\n verts[dstOffset] = posX + nextBezierPos.x;\r\n verts[dstOffset + 1] = posY + nextBezierPos.y;\r\n verts[dstOffset + 2] = nextU;\r\n verts[dstOffset + 3] = 1;\r\n dstOffset += floatsPerVert;\r\n\r\n verts[dstOffset] = posX + lastBezierPos.x;\r\n verts[dstOffset + 1] = posY + height + lastBezierPos.y;\r\n verts[dstOffset + 2] = lastU;\r\n verts[dstOffset + 3] = 0;\r\n dstOffset += floatsPerVert;\r\n\r\n verts[dstOffset] = posX + nextBezierPos.x;\r\n verts[dstOffset + 1] = posY + height + nextBezierPos.y;\r\n verts[dstOffset + 2] = nextU;\r\n verts[dstOffset + 3] = 0;\r\n\r\n lastU = nextU\r\n }\r\n\r\n this.updateColor(comp, null);\r\n this.updateIsFront(comp, 5);\r\n }\r\n }\r\n\r\n init(comp: cc.RenderComponent) {\r\n super.init(comp);\r\n\r\n //@ts-ignore\r\n let segmentCount = comp.getPointCount() - 1;\r\n this.verticesCount = 4 * segmentCount;\r\n this.indicesCount = 6 * segmentCount;\r\n this.floatsPerVert = 6;\r\n \r\n this.initData();\r\n }\r\n\r\n getVfmt() {\r\n return vfmtPosUvColorFront;\r\n }\r\n\r\n private _getCtrlPosByAngle(width: number): {startPos: cc.Vec2, endPos: cc.Vec2, ctrlPos1: cc.Vec2, ctrlPos2: cc.Vec2} {\r\n let startPos = new cc.Vec2(0, 0)\r\n let endPos = null\r\n let ctrlPos1 = null\r\n let ctrlPos2 = null\r\n let rad = this.angle * Math.PI / 180\r\n let per = rad * 2 / Math.PI\r\n if(this.angle <= 90) {\r\n // 终点的x坐标变换 width => 0,速度先慢后快,使用InCubic缓动函数\r\n let endPosX = width * (1 - Math.pow(per, 3))\r\n // InCubic\r\n // 终点的y坐标变换 0 => width / 4, 速度先快后慢,使用OutQuart缓动函数\r\n let endPosY = width / 4 * (1 - Math.pow(1 - per, 4))\r\n endPos = new cc.Vec2(endPosX, endPosY)\r\n\r\n // 中间两个控制点坐标匀速变换\r\n // x坐标 width => width * 3 / 4\r\n let ctrlPosX = width * (1 - 1 / 4 * per)\r\n // 控制点1y坐标 0 => width / 16\r\n let ctrlPos1Y = width * 1 / 16 * per\r\n // 控制点2y坐标 0 => width * 3 / 16\r\n let ctrlPos2Y = width * 3 / 16 * per\r\n ctrlPos1 = new cc.Vec2(ctrlPosX, ctrlPos1Y)\r\n ctrlPos2 = new cc.Vec2(ctrlPosX, ctrlPos2Y)\r\n } else {\r\n per = per - 1\r\n // 终点的x坐标变换 0 => width,速度先快后慢,使用OutCubic缓动函数\r\n let endPosX = - width * (1 - Math.pow(1 - per, 3))\r\n // 终点的y坐标变换 width / 4 => 0, 速度先慢后快,使用InQuart缓动函数\r\n let endPosY = width / 4 * (1 - Math.pow(per, 4))\r\n endPos = new cc.Vec2(endPosX, endPosY)\r\n\r\n // 控制点1x坐标 width * 3 / 4 => 0\r\n let ctrlPos1X = width * 3 / 4 * (1 - per)\r\n // 控制点2x坐标 width * 3 / 4 => 0\r\n let ctrlPos2X = width * 3 / 4 * Math.pow(1 - per, 3)\r\n // 控制点1y坐标 width / 16 => 0\r\n let ctrlPos1Y = width * 1 / 16 * (1 - per)\r\n // 控制点2y坐标 width * 3 / 16 => 0\r\n let ctrlPos2Y = width * 3 / 16 * (1 - Math.pow(per, 4))\r\n ctrlPos1 = new cc.Vec2(ctrlPos1X, ctrlPos1Y)\r\n ctrlPos2 = new cc.Vec2(ctrlPos2X, ctrlPos2Y)\r\n }\r\n\r\n return {\r\n startPos: startPos,\r\n endPos: endPos,\r\n ctrlPos1: ctrlPos1,\r\n ctrlPos2: ctrlPos2\r\n }\r\n }\r\n\r\n // 修正宽度\r\n private _fixWidth(lastBezierPos: cc.Vec2, nextBezierPos: cc.Vec2, width: number, realWidth: number, isTail: boolean) {\r\n let deltaVector = nextBezierPos.sub(lastBezierPos)\r\n // 两个顶点的间距\r\n let gapWidth = deltaVector.mag()\r\n // 当前的总长\r\n let curWidth = realWidth + gapWidth\r\n if(isTail) {\r\n // 如果是最后一个顶点则将总长度修正至书页的真实宽度\r\n gapWidth = width - realWidth\r\n let direction = deltaVector.normalize()\r\n nextBezierPos = lastBezierPos.add(direction.mul(gapWidth))\r\n } else if(curWidth >= width) {\r\n // 如果当前总长超过了书页的真实宽度,就衰减超过部分的1.1倍\r\n let delta = curWidth - width\r\n gapWidth = gapWidth - delta * 1.1\r\n gapWidth = Math.max(0, gapWidth)\r\n let direction = deltaVector.normalize()\r\n nextBezierPos = lastBezierPos.add(direction.mul(gapWidth))\r\n }\r\n\r\n return {\r\n gapWidth: gapWidth,\r\n nextBezierPos: nextBezierPos,\r\n }\r\n }\r\n\r\n // 贝塞尔曲线公式\r\n private _getBezierPos(t: number, startPos: cc.Vec2, endPos: cc.Vec2, ctrlPos1: cc.Vec2, ctrlPos2: cc.Vec2): cc.Vec2 {\r\n startPos = startPos.mul(Math.pow(1 - t, 3))\r\n ctrlPos1 = ctrlPos1.mul(3 * t * Math.pow(1 - t, 2))\r\n ctrlPos2 = ctrlPos2.mul(3 * (1 - t) * Math.pow(t, 2))\r\n endPos = endPos.mul(Math.pow(t, 3))\r\n return startPos.add(ctrlPos1.add(ctrlPos2.add(endPos)))\r\n }\r\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/OP13/script/bezier_assembler.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import PageEffectAssemblerBase from \"./page_effect_assembler_base\";\n\nconst gfx = cc.gfx;\n\nlet vfmtPosUvColorFront = new gfx.VertexFormat([\n { name: gfx.ATTR_POSITION, type: gfx.ATTR_TYPE_FLOAT32, num: 2 },\n { name: gfx.ATTR_UV0, type: gfx.ATTR_TYPE_FLOAT32, num: 2 },\n { name: gfx.ATTR_COLOR, type: gfx.ATTR_TYPE_UINT8, num: 4, normalize: true },\n { name: \"a_isFront\", type: gfx.ATTR_TYPE_FLOAT32, num: 1},\n]);\n\nexport default class BezierAssembler extends PageEffectAssemblerBase {\n protected angle:number = 0\n public updateRenderData (comp: any) {\n if (comp) {\n let pointNum: number = comp.getPointCount()\n if (pointNum < 2) {\n return\n }\n\n let node = comp.node\n let height = node.height\n let width = node.width\n // 左下角的坐标\n let posX = - width * node.anchorX\n let posY = - height * node.anchorY\n // 根据角度获得控制点的位置\n let ctrlPosData = this._getCtrlPosByAngle(width)\n let startPos = ctrlPosData.startPos\n let endPos = ctrlPosData.endPos\n let ctrlPos1 = ctrlPosData.ctrlPos1\n let ctrlPos2 = ctrlPosData.ctrlPos2\n // 记录各个顶点的位置\n let bezierPosList: cc.Vec2[] = []\n bezierPosList[0] = startPos\n // 当前所有顶点连线的总长\n let realWidth = 0\n // 上一个点的纹理坐标\n let lastU = 0\n // 下一个点的纹理坐标\n let nextU = 0\n\n let floatsPerVert = this.floatsPerVert;\n let verts = this.renderData.vDatas[0];\n // 写verts时的下标\n let dstOffset = 0;\n for (let i = 1; i < pointNum; i++) {\n let isTail = i === pointNum - 1\n let lastBezierPos = bezierPosList[i - 1]\n let nextBezierPos = this._getBezierPos(i / (pointNum - 1) , startPos, endPos, ctrlPos1, ctrlPos2)\n let fixedData = this._fixWidth(lastBezierPos, nextBezierPos, width, realWidth, isTail)\n let gapWidth = fixedData.gapWidth\n nextBezierPos = fixedData.nextBezierPos\n realWidth += gapWidth\n bezierPosList[i] = nextBezierPos\n // 根据当前小矩形的宽度占总长度的比例来计算纹理坐标的间隔\n let gapU = gapWidth / width\n nextU = lastU + gapU\n /* \n 分别计算小矩形四个顶点的坐标和纹理坐标\n 各顶点的坐标计算方法为在左下角坐标的基础上加上顶点在贝塞尔曲线上的坐标,如果是书页顶部的顶点则还要加上书页的高度\n */\n\n // 将4个顶点数据写入verts\n dstOffset = floatsPerVert * (i-1) * 4;\n verts[dstOffset] = posX + lastBezierPos.x;\n verts[dstOffset + 1] = posY + lastBezierPos.y;\n verts[dstOffset + 2] = lastU;\n verts[dstOffset + 3] = 1;\n dstOffset += floatsPerVert;\n\n verts[dstOffset] = posX + nextBezierPos.x;\n verts[dstOffset + 1] = posY + nextBezierPos.y;\n verts[dstOffset + 2] = nextU;\n verts[dstOffset + 3] = 1;\n dstOffset += floatsPerVert;\n\n verts[dstOffset] = posX + lastBezierPos.x;\n verts[dstOffset + 1] = posY + height + lastBezierPos.y;\n verts[dstOffset + 2] = lastU;\n verts[dstOffset + 3] = 0;\n dstOffset += floatsPerVert;\n\n verts[dstOffset] = posX + nextBezierPos.x;\n verts[dstOffset + 1] = posY + height + nextBezierPos.y;\n verts[dstOffset + 2] = nextU;\n verts[dstOffset + 3] = 0;\n\n lastU = nextU\n }\n\n this.updateColor(comp, null);\n this.updateIsFront(comp, 5);\n }\n }\n\n init(comp: cc.RenderComponent) {\n super.init(comp);\n\n //@ts-ignore\n let segmentCount = comp.getPointCount() - 1;\n this.verticesCount = 4 * segmentCount;\n this.indicesCount = 6 * segmentCount;\n this.floatsPerVert = 6;\n \n this.initData();\n }\n\n getVfmt() {\n return vfmtPosUvColorFront;\n }\n\n private _getCtrlPosByAngle(width: number): {startPos: cc.Vec2, endPos: cc.Vec2, ctrlPos1: cc.Vec2, ctrlPos2: cc.Vec2} {\n let startPos = new cc.Vec2(0, 0)\n let endPos = null\n let ctrlPos1 = null\n let ctrlPos2 = null\n let rad = this.angle * Math.PI / 180\n let per = rad * 2 / Math.PI\n if(this.angle <= 90) {\n // 终点的x坐标变换 width => 0,速度先慢后快,使用InCubic缓动函数\n let endPosX = width * (1 - Math.pow(per, 3))\n // InCubic\n // 终点的y坐标变换 0 => width / 4, 速度先快后慢,使用OutQuart缓动函数\n let endPosY = width / 4 * (1 - Math.pow(1 - per, 4))\n endPos = new cc.Vec2(endPosX, endPosY)\n\n // 中间两个控制点坐标匀速变换\n // x坐标 width => width * 3 / 4\n let ctrlPosX = width * (1 - 1 / 4 * per)\n // 控制点1y坐标 0 => width / 16\n let ctrlPos1Y = width * 1 / 16 * per\n // 控制点2y坐标 0 => width * 3 / 16\n let ctrlPos2Y = width * 3 / 16 * per\n ctrlPos1 = new cc.Vec2(ctrlPosX, ctrlPos1Y)\n ctrlPos2 = new cc.Vec2(ctrlPosX, ctrlPos2Y)\n } else {\n per = per - 1\n // 终点的x坐标变换 0 => width,速度先快后慢,使用OutCubic缓动函数\n let endPosX = - width * (1 - Math.pow(1 - per, 3))\n // 终点的y坐标变换 width / 4 => 0, 速度先慢后快,使用InQuart缓动函数\n let endPosY = width / 4 * (1 - Math.pow(per, 4))\n endPos = new cc.Vec2(endPosX, endPosY)\n\n // 控制点1x坐标 width * 3 / 4 => 0\n let ctrlPos1X = width * 3 / 4 * (1 - per)\n // 控制点2x坐标 width * 3 / 4 => 0\n let ctrlPos2X = width * 3 / 4 * Math.pow(1 - per, 3)\n // 控制点1y坐标 width / 16 => 0\n let ctrlPos1Y = width * 1 / 16 * (1 - per)\n // 控制点2y坐标 width * 3 / 16 => 0\n let ctrlPos2Y = width * 3 / 16 * (1 - Math.pow(per, 4))\n ctrlPos1 = new cc.Vec2(ctrlPos1X, ctrlPos1Y)\n ctrlPos2 = new cc.Vec2(ctrlPos2X, ctrlPos2Y)\n }\n\n return {\n startPos: startPos,\n endPos: endPos,\n ctrlPos1: ctrlPos1,\n ctrlPos2: ctrlPos2\n }\n }\n\n // 修正宽度\n private _fixWidth(lastBezierPos: cc.Vec2, nextBezierPos: cc.Vec2, width: number, realWidth: number, isTail: boolean) {\n let deltaVector = nextBezierPos.sub(lastBezierPos)\n // 两个顶点的间距\n let gapWidth = deltaVector.mag()\n // 当前的总长\n let curWidth = realWidth + gapWidth\n if(isTail) {\n // 如果是最后一个顶点则将总长度修正至书页的真实宽度\n gapWidth = width - realWidth\n let direction = deltaVector.normalize()\n nextBezierPos = lastBezierPos.add(direction.mul(gapWidth))\n } else if(curWidth >= width) {\n // 如果当前总长超过了书页的真实宽度,就衰减超过部分的1.1倍\n let delta = curWidth - width\n gapWidth = gapWidth - delta * 1.1\n gapWidth = Math.max(0, gapWidth)\n let direction = deltaVector.normalize()\n nextBezierPos = lastBezierPos.add(direction.mul(gapWidth))\n }\n\n return {\n gapWidth: gapWidth,\n nextBezierPos: nextBezierPos,\n }\n }\n\n // 贝塞尔曲线公式\n private _getBezierPos(t: number, startPos: cc.Vec2, endPos: cc.Vec2, ctrlPos1: cc.Vec2, ctrlPos2: cc.Vec2): cc.Vec2 {\n startPos = startPos.mul(Math.pow(1 - t, 3))\n ctrlPos1 = ctrlPos1.mul(3 * t * Math.pow(1 - t, 2))\n ctrlPos2 = ctrlPos2.mul(3 * (1 - t) * Math.pow(t, 2))\n endPos = endPos.mul(Math.pow(t, 3))\n return startPos.add(ctrlPos1.add(ctrlPos2.add(endPos)))\n }\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets\\OP13\\script\\bezier_render.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAiD;AAE3C,IAAA,KAAsB,EAAE,CAAC,UAAU,EAAlC,OAAO,aAAA,EAAE,QAAQ,cAAiB,CAAC;AAI1C;IAA0C,gCAAkB;IAA5D;QAAA,qEA0DC;QAxDU,iBAAW,GAAmB,EAAE,CAAA;QAGhC,iBAAW,GAAW,EAAE,CAAA;QAErB,qBAAe,GAAY,KAAK,CAAA;;IAmD9C,CAAC;IAjDG,+BAAQ,GAAR;QACI,iBAAM,QAAQ,WAAE,CAAC;QACjB,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAEM,2BAAI,GAAX;QACI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,cAAc,EAAE,CAAA;SACxB;QAED,IAAI,CAAC,aAAa,EAAE,CAAA;IACxB,CAAC;IAEM,sCAAe,GAAtB;QACI,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,0BAAe,EAAE,CAAA;QACvD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAES,sCAAe,GAAzB;QACI,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAClC,IAAI,QAAQ,EAAE;YACV,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aACzD;SACJ;IACL,CAAC;IAES,qCAAc,GAAxB;QACI,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,eAAe,EAAE,CAAA;YACtB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;YAC3B,OAAM;SACT;IACL,CAAC;IAEM,oCAAa,GAApB;QACI,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAEM,kCAAW,GAAlB,UAAmB,KAAa;QAC5B,IAAG,CAAC,IAAI,CAAC,UAAU,EAAE;YACjB,OAAM;SACT;QAED,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAvDD;QADC,QAAQ,CAAC,EAAC,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,IAAI,EAAC,CAAC;qDACb;IAGvC;QADC,QAAQ,CAAC,EAAC,WAAW,EAAE,WAAW,EAAC,CAAC;qDACN;IALd,YAAY;QADhC,OAAO;OACa,YAAY,CA0DhC;IAAD,mBAAC;CA1DD,AA0DC,CA1DyC,EAAE,CAAC,eAAe,GA0D3D;kBA1DoB,YAAY","file":"","sourceRoot":"/","sourcesContent":["import BezierAssembler from \"./bezier_assembler\";\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n\r\n@ccclass\r\nexport default class BezierRender extends cc.RenderComponent {\r\n @property({type: [cc.Texture2D], displayName: \"纹理\"})\r\n public textureList: cc.Texture2D[] = []\r\n\r\n @property({displayName: \"每条边上的顶点数量\"})\r\n public pointsCount: number = 10\r\n\r\n protected _initedMaterial: boolean = false\r\n\r\n onEnable () {\r\n super.onEnable();\r\n this.init();\r\n }\r\n\r\n public init() {\r\n if (!this._initedMaterial) {\r\n this.updateMaterial()\r\n }\r\n\r\n this.setVertsDirty()\r\n }\r\n\r\n public _resetAssembler() {\r\n let assembler = this._assembler = new BezierAssembler()\r\n assembler.init(this)\r\n }\r\n\r\n protected _updateMaterial() {\r\n let material = this.getMaterial(0)\r\n if (material) {\r\n material.define('CC_USE_MODEL', 1);\r\n if (this.textureList.length === 2) {\r\n material.setProperty('texture0', this.textureList[0]);\r\n material.setProperty('texture1', this.textureList[1]);\r\n }\r\n }\r\n }\r\n\r\n protected updateMaterial () {\r\n if (this.textureList.length === 2) {\r\n this._updateMaterial()\r\n this._initedMaterial = true\r\n return\r\n } \r\n }\r\n\r\n public getPointCount() {\r\n return this.pointsCount\r\n }\r\n\r\n public updateAngle(angle: number) {\r\n if(!this._assembler) {\r\n return\r\n }\r\n\r\n this._assembler.angle = angle;\r\n this._assembler.updateRenderData(this);\r\n }\r\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/OP13/script/bezier_render.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAiD;AAE3C,IAAA,KAAsB,EAAE,CAAC,UAAU,EAAlC,OAAO,aAAA,EAAE,QAAQ,cAAiB,CAAC;AAI1C;IAA0C,gCAAkB;IAA5D;QAAA,qEA0DC;QAxDU,iBAAW,GAAmB,EAAE,CAAA;QAGhC,iBAAW,GAAW,EAAE,CAAA;QAErB,qBAAe,GAAY,KAAK,CAAA;;IAmD9C,CAAC;IAjDG,+BAAQ,GAAR;QACI,iBAAM,QAAQ,WAAE,CAAC;QACjB,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAEM,2BAAI,GAAX;QACI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,cAAc,EAAE,CAAA;SACxB;QAED,IAAI,CAAC,aAAa,EAAE,CAAA;IACxB,CAAC;IAEM,sCAAe,GAAtB;QACI,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,0BAAe,EAAE,CAAA;QACvD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAES,sCAAe,GAAzB;QACI,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAClC,IAAI,QAAQ,EAAE;YACV,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aACzD;SACJ;IACL,CAAC;IAES,qCAAc,GAAxB;QACI,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,eAAe,EAAE,CAAA;YACtB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;YAC3B,OAAM;SACT;IACL,CAAC;IAEM,oCAAa,GAApB;QACI,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAEM,kCAAW,GAAlB,UAAmB,KAAa;QAC5B,IAAG,CAAC,IAAI,CAAC,UAAU,EAAE;YACjB,OAAM;SACT;QAED,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAvDD;QADC,QAAQ,CAAC,EAAC,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,IAAI,EAAC,CAAC;qDACb;IAGvC;QADC,QAAQ,CAAC,EAAC,WAAW,EAAE,WAAW,EAAC,CAAC;qDACN;IALd,YAAY;QADhC,OAAO;OACa,YAAY,CA0DhC;IAAD,mBAAC;CA1DD,AA0DC,CA1DyC,EAAE,CAAC,eAAe,GA0D3D;kBA1DoB,YAAY","file":"","sourceRoot":"/","sourcesContent":["import BezierAssembler from \"./bezier_assembler\";\n\nconst {ccclass, property} = cc._decorator;\n\n\n@ccclass\nexport default class BezierRender extends cc.RenderComponent {\n @property({type: [cc.Texture2D], displayName: \"纹理\"})\n public textureList: cc.Texture2D[] = []\n\n @property({displayName: \"每条边上的顶点数量\"})\n public pointsCount: number = 10\n\n protected _initedMaterial: boolean = false\n\n onEnable () {\n super.onEnable();\n this.init();\n }\n\n public init() {\n if (!this._initedMaterial) {\n this.updateMaterial()\n }\n\n this.setVertsDirty()\n }\n\n public _resetAssembler() {\n let assembler = this._assembler = new BezierAssembler()\n assembler.init(this)\n }\n\n protected _updateMaterial() {\n let material = this.getMaterial(0)\n if (material) {\n material.define('CC_USE_MODEL', 1);\n if (this.textureList.length === 2) {\n material.setProperty('texture0', this.textureList[0]);\n material.setProperty('texture1', this.textureList[1]);\n }\n }\n }\n\n protected updateMaterial () {\n if (this.textureList.length === 2) {\n this._updateMaterial()\n this._initedMaterial = true\n return\n } \n }\n\n public getPointCount() {\n return this.pointsCount\n }\n\n public updateAngle(angle: number) {\n if(!this._assembler) {\n return\n }\n\n this._assembler.angle = angle;\n this._assembler.updateRenderData(this);\n }\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets\\OP13\\script\\capture_to_web.js"],"names":["cc","Class","Component","start","doCapture","nodeCapture","isTurn","nodeCamera","Node","parent","find","camera","addComponent","Camera","position","getPosition","width","height","scaleX","alignWithScreen","ortho","orthoSize","texture","RenderTexture","initWithSize","gfx","RB_FMT_S8","targetTexture","canvas","document","createElement","ctx","getContext","setPosition","Vec2","ZERO","render","data","readPixels","rowBytes","row","srow","imageData","createImageData","i","putImageData","dataURL","toDataURL","img","src","destroy","texture2D","Texture2D","initWithElement","spriteFrame","SpriteFrame","setTexture","node","sprite","Sprite"],"mappings":"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","sourceRoot":"/","sourcesContent":["cc.Class({\r\n extends: cc.Component,\r\n\r\n start () {\r\n \r\n },\r\n\r\n doCapture(nodeCapture,isTurn) {\r\n let nodeCamera = new cc.Node();\r\n nodeCamera.parent = cc.find(\"Canvas\");\r\n let camera = nodeCamera.addComponent(cc.Camera);\r\n \r\n let position = nodeCapture.getPosition();\r\n let width = nodeCapture.width;\r\n let height = nodeCapture.height;\r\n if(isTurn){\r\n nodeCapture.scaleX = -1;\r\n }\r\n // 当 alignWithScreen 为 true 的时候,摄像机会自动将视窗大小调整为整个屏幕的大小。如果想要完全自由地控制摄像机,则需要将 alignWithScreen 设置为 false。(v2.2.1 新增)\r\n camera.alignWithScreen = false;\r\n // 设置摄像机的投影模式是正交(true)还是透视(false)模式\r\n camera.ortho = true;\r\n // 摄像机在正交投影模式下的视窗大小。该属性在 alignWithScreen 设置为 false 时生效。\r\n camera.orthoSize = height / 2;\r\n \r\n let texture = new cc.RenderTexture();\r\n // 如果截图内容中不包含 Mask 组件,可以不用传递第三个参数\r\n texture.initWithSize(width, height, cc.gfx.RB_FMT_S8);\r\n \r\n // 如果设置了 targetTexture,那么摄像机渲染的内容不会输出到屏幕上,而是会渲染到 targetTexture 上。\r\n camera.targetTexture = texture;\r\n \r\n // 创建画布\r\n let canvas = document.createElement('canvas');\r\n canvas.width = width;\r\n canvas.height = height;\r\n \r\n let ctx = canvas.getContext('2d');\r\n \r\n nodeCapture.setPosition(cc.Vec2.ZERO);\r\n // 渲染一次摄像机,即更新一次内容到 RenderTexture 中\r\n camera.render(nodeCapture);\r\n nodeCapture.setPosition(position);\r\n // 从 render texture 读取像素数据,数据类型为 RGBA 格式的 Uint8Array 数组。\r\n // 默认每次调用此函数会生成一个大小为 (长 x 高 x 4) 的 Uint8Array。\r\n let data = texture.readPixels();\r\n // write the render data\r\n // PNG 中 1 像素 = 32 bit(RGBA),1 byte = 8 bit,所以 1 像素 = 4 byte\r\n // 每行 width 像素,即 width * 4 字节\r\n let rowBytes = width * 4;\r\n for (let row = 0; row < height; row++) {\r\n // RenderTexture 得到的纹理是上下翻转的\r\n let srow = height - 1 - row;\r\n let imageData = ctx.createImageData(width, 1);\r\n let start = srow * width * 4;\r\n for (let i = 0; i < rowBytes; i++) {\r\n imageData.data[i] = data[start + i];\r\n }\r\n \r\n ctx.putImageData(imageData, 0, row);\r\n }\r\n \r\n let dataURL = canvas.toDataURL(\"image/png\");\r\n let img = document.createElement(\"img\");\r\n img.src = dataURL;\r\n \r\n nodeCamera.destroy();\r\n \r\n let texture2D = new cc.Texture2D();\r\n texture2D.initWithElement(img);\r\n \r\n let spriteFrame = new cc.SpriteFrame();\r\n spriteFrame.setTexture(texture2D);\r\n \r\n let node = new cc.Node();\r\n let sprite = node.addComponent(cc.Sprite);\r\n sprite.spriteFrame = spriteFrame;\r\n nodeCapture.scaleX = 1;\r\n return spriteFrame;\r\n },\r\n});\r\n"]}
\ No newline at end of file
{"version":3,"sources":["assets/OP13/script/capture_to_web.js"],"names":["cc","Class","Component","start","doCapture","nodeCapture","isTurn","nodeCamera","Node","parent","find","camera","addComponent","Camera","position","getPosition","width","height","scaleX","alignWithScreen","ortho","orthoSize","texture","RenderTexture","initWithSize","gfx","RB_FMT_S8","targetTexture","canvas","document","createElement","ctx","getContext","setPosition","Vec2","ZERO","render","data","readPixels","rowBytes","row","srow","imageData","createImageData","i","putImageData","dataURL","toDataURL","img","src","destroy","texture2D","Texture2D","initWithElement","spriteFrame","SpriteFrame","setTexture","node","sprite","Sprite"],"mappings":"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","sourceRoot":"/","sourcesContent":["cc.Class({\n extends: cc.Component,\n\n start () {\n \n },\n\n doCapture(nodeCapture,isTurn) {\n let nodeCamera = new cc.Node();\n nodeCamera.parent = cc.find(\"Canvas\");\n let camera = nodeCamera.addComponent(cc.Camera);\n \n let position = nodeCapture.getPosition();\n let width = nodeCapture.width;\n let height = nodeCapture.height;\n if(isTurn){\n nodeCapture.scaleX = -1;\n }\n // 当 alignWithScreen 为 true 的时候,摄像机会自动将视窗大小调整为整个屏幕的大小。如果想要完全自由地控制摄像机,则需要将 alignWithScreen 设置为 false。(v2.2.1 新增)\n camera.alignWithScreen = false;\n // 设置摄像机的投影模式是正交(true)还是透视(false)模式\n camera.ortho = true;\n // 摄像机在正交投影模式下的视窗大小。该属性在 alignWithScreen 设置为 false 时生效。\n camera.orthoSize = height / 2;\n \n let texture = new cc.RenderTexture();\n // 如果截图内容中不包含 Mask 组件,可以不用传递第三个参数\n texture.initWithSize(width, height, cc.gfx.RB_FMT_S8);\n \n // 如果设置了 targetTexture,那么摄像机渲染的内容不会输出到屏幕上,而是会渲染到 targetTexture 上。\n camera.targetTexture = texture;\n \n // 创建画布\n let canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n \n let ctx = canvas.getContext('2d');\n \n nodeCapture.setPosition(cc.Vec2.ZERO);\n // 渲染一次摄像机,即更新一次内容到 RenderTexture 中\n camera.render(nodeCapture);\n nodeCapture.setPosition(position);\n // 从 render texture 读取像素数据,数据类型为 RGBA 格式的 Uint8Array 数组。\n // 默认每次调用此函数会生成一个大小为 (长 x 高 x 4) 的 Uint8Array。\n let data = texture.readPixels();\n // write the render data\n // PNG 中 1 像素 = 32 bit(RGBA),1 byte = 8 bit,所以 1 像素 = 4 byte\n // 每行 width 像素,即 width * 4 字节\n let rowBytes = width * 4;\n for (let row = 0; row < height; row++) {\n // RenderTexture 得到的纹理是上下翻转的\n let srow = height - 1 - row;\n let imageData = ctx.createImageData(width, 1);\n let start = srow * width * 4;\n for (let i = 0; i < rowBytes; i++) {\n imageData.data[i] = data[start + i];\n }\n \n ctx.putImageData(imageData, 0, row);\n }\n \n let dataURL = canvas.toDataURL(\"image/png\");\n let img = document.createElement(\"img\");\n img.src = dataURL;\n \n nodeCamera.destroy();\n \n let texture2D = new cc.Texture2D();\n texture2D.initWithElement(img);\n \n let spriteFrame = new cc.SpriteFrame();\n spriteFrame.setTexture(texture2D);\n \n let node = new cc.Node();\n let sprite = node.addComponent(cc.Sprite);\n sprite.spriteFrame = spriteFrame;\n nodeCapture.scaleX = 1;\n return spriteFrame;\n },\n});\n"]}
\ No newline at end of file
{"version":3,"sources":["assets\\OP13\\script\\page_effect_assembler_base.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nexport default class PageEffectAssemblerBase extends cc.Assembler {\r\n // 普通四边形的属性,根据实际的顶点格式、数量调整\r\n protected verticesCount = 4;\r\n protected indicesCount = 6;\r\n protected floatsPerVert = 5;\r\n\r\n protected colorOffset = 4; \r\n protected renderData: cc.RenderData = null;\r\n\r\n get verticesFloats() {\r\n return this.verticesCount * this.floatsPerVert;\r\n }\r\n\r\n getBuffer() {\r\n //@ts-ignore\r\n return cc.renderer._handle.getBuffer(\"mesh\", this.getVfmt());\r\n }\r\n\r\n getVfmt() {\r\n // to be overwrite\r\n return null;\r\n }\r\n\r\n updateColor(comp, color) {\r\n let uintVerts = this.renderData.uintVDatas[0];\r\n if (!uintVerts) return;\r\n color = color != null ? color : comp.node.color._val;\r\n let floatsPerVert = this.floatsPerVert;\r\n let colorOffset = this.colorOffset;\r\n for (let i = colorOffset, l = uintVerts.length; i < l; i += floatsPerVert) {\r\n uintVerts[i] = color;\r\n }\r\n }\r\n\r\n updateIsFront(comp, dataOffset) {\r\n let verts = this.renderData.vDatas[0];\r\n let index = 0;\r\n let floatsPerVert = this.floatsPerVert;\r\n for (let i = 0, n = this.verticesCount; i < n; ++i) {\r\n index = i * floatsPerVert;\r\n let isFirstVert = i % 2 === 0;\r\n let firstVertX = isFirstVert ? verts[index] : verts[index - floatsPerVert];\r\n let secondVertX = isFirstVert ? verts[index + floatsPerVert] : verts[index];\r\n let isFront = firstVertX < secondVertX ? 1.0 : 0.0;\r\n verts[index + dataOffset] = isFront;\r\n }\r\n }\r\n \r\n initData() {\r\n //@ts-ignore\r\n this.renderData = new cc.RenderData();\r\n this.renderData.init(this);\r\n\r\n let data = this.renderData;\r\n // createFlexData支持创建指定格式的renderData\r\n data.createFlexData(0, this.verticesCount, this.indicesCount, this.getVfmt());\r\n\r\n // 顶点数固定的情况下索引不变化\r\n let indices = data.iDatas[0];\r\n let count = indices.length / 6;\r\n for (let i = 0, idx = 0; i < count; i++) {\r\n let vertextID = i * 4;\r\n indices[idx++] = vertextID;\r\n indices[idx++] = vertextID+1;\r\n indices[idx++] = vertextID+2;\r\n indices[idx++] = vertextID+1;\r\n indices[idx++] = vertextID+3;\r\n indices[idx++] = vertextID+2;\r\n }\r\n }\r\n\r\n fillBuffers(comp, renderer) {\r\n let renderData = this.renderData;\r\n let vData = renderData.vDatas[0];\r\n let iData = renderData.iDatas[0];\r\n\r\n let buffer = this.getBuffer();\r\n let offsetInfo = buffer.request(this.verticesCount, this.indicesCount);\r\n\r\n let vertexOffset = offsetInfo.byteOffset >> 2,\r\n vbuf = buffer._vData;\r\n\r\n if (vData.length + vertexOffset > vbuf.length) {\r\n vbuf.set(vData.subarray(0, vbuf.length - vertexOffset), vertexOffset);\r\n } else {\r\n vbuf.set(vData, vertexOffset);\r\n }\r\n\r\n let ibuf = buffer._iData,\r\n indiceOffset = offsetInfo.indiceOffset,\r\n vertexId = offsetInfo.vertexOffset;\r\n for (let i = 0, l = iData.length; i < l; i++) {\r\n ibuf[indiceOffset++] = vertexId + iData[i];\r\n }\r\n }\r\n}\r\n"]}
\ No newline at end of file
{"version":3,"sources":["assets/OP13/script/page_effect_assembler_base.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\nexport default class PageEffectAssemblerBase extends cc.Assembler {\n // 普通四边形的属性,根据实际的顶点格式、数量调整\n protected verticesCount = 4;\n protected indicesCount = 6;\n protected floatsPerVert = 5;\n\n protected colorOffset = 4; \n protected renderData: cc.RenderData = null;\n\n get verticesFloats() {\n return this.verticesCount * this.floatsPerVert;\n }\n\n getBuffer() {\n //@ts-ignore\n return cc.renderer._handle.getBuffer(\"mesh\", this.getVfmt());\n }\n\n getVfmt() {\n // to be overwrite\n return null;\n }\n\n updateColor(comp, color) {\n let uintVerts = this.renderData.uintVDatas[0];\n if (!uintVerts) return;\n color = color != null ? color : comp.node.color._val;\n let floatsPerVert = this.floatsPerVert;\n let colorOffset = this.colorOffset;\n for (let i = colorOffset, l = uintVerts.length; i < l; i += floatsPerVert) {\n uintVerts[i] = color;\n }\n }\n\n updateIsFront(comp, dataOffset) {\n let verts = this.renderData.vDatas[0];\n let index = 0;\n let floatsPerVert = this.floatsPerVert;\n for (let i = 0, n = this.verticesCount; i < n; ++i) {\n index = i * floatsPerVert;\n let isFirstVert = i % 2 === 0;\n let firstVertX = isFirstVert ? verts[index] : verts[index - floatsPerVert];\n let secondVertX = isFirstVert ? verts[index + floatsPerVert] : verts[index];\n let isFront = firstVertX < secondVertX ? 1.0 : 0.0;\n verts[index + dataOffset] = isFront;\n }\n }\n \n initData() {\n //@ts-ignore\n this.renderData = new cc.RenderData();\n this.renderData.init(this);\n\n let data = this.renderData;\n // createFlexData支持创建指定格式的renderData\n data.createFlexData(0, this.verticesCount, this.indicesCount, this.getVfmt());\n\n // 顶点数固定的情况下索引不变化\n let indices = data.iDatas[0];\n let count = indices.length / 6;\n for (let i = 0, idx = 0; i < count; i++) {\n let vertextID = i * 4;\n indices[idx++] = vertextID;\n indices[idx++] = vertextID+1;\n indices[idx++] = vertextID+2;\n indices[idx++] = vertextID+1;\n indices[idx++] = vertextID+3;\n indices[idx++] = vertextID+2;\n }\n }\n\n fillBuffers(comp, renderer) {\n let renderData = this.renderData;\n let vData = renderData.vDatas[0];\n let iData = renderData.iDatas[0];\n\n let buffer = this.getBuffer();\n let offsetInfo = buffer.request(this.verticesCount, this.indicesCount);\n\n let vertexOffset = offsetInfo.byteOffset >> 2,\n vbuf = buffer._vData;\n\n if (vData.length + vertexOffset > vbuf.length) {\n vbuf.set(vData.subarray(0, vbuf.length - vertexOffset), vertexOffset);\n } else {\n vbuf.set(vData, vertexOffset);\n }\n\n let ibuf = buffer._iData,\n indiceOffset = offsetInfo.indiceOffset,\n vertexId = offsetInfo.vertexOffset;\n for (let i = 0, l = iData.length; i < l; i++) {\n ibuf[indiceOffset++] = vertexId + iData[i];\n }\n }\n}\n"]}
\ No newline at end of file
{"version":3,"sources":["assets\\OP13\\script\\runtime.js"],"names":["global","Op","Object","prototype","hasOwn","hasOwnProperty","undefined","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","inModule","module","runtime","regeneratorRuntime","exports","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","makeInvokeMethod","tryCatch","fn","obj","arg","type","call","err","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","constructor","displayName","defineIteratorMethods","forEach","method","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","invoke","resolve","reject","record","result","value","Promise","then","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","async","iter","next","done","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","info","resultName","nextLoc","toString","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","keys","object","key","reverse","length","pop","iterable","iteratorMethod","isNaN","i","skipTempReset","prev","charAt","slice","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","Function"],"mappings":"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","sourceRoot":"/","sourcesContent":["/**\r\n * Copyright (c) 2014-present, Facebook, Inc.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n */\r\n\r\n!(function(global) {\r\n \"use strict\";\r\n\r\n var Op = Object.prototype;\r\n var hasOwn = Op.hasOwnProperty;\r\n var undefined; // More compressible than void 0.\r\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\r\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\r\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\r\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\r\n\r\n var inModule = typeof module === \"object\";\r\n var runtime = global.regeneratorRuntime;\r\n if (runtime) {\r\n if (inModule) {\r\n // If regeneratorRuntime is defined globally and we're in a module,\r\n // make the exports object identical to regeneratorRuntime.\r\n module.exports = runtime;\r\n }\r\n // Don't bother evaluating the rest of this file if the runtime was\r\n // already defined globally.\r\n return;\r\n }\r\n\r\n // Define the runtime globally (as expected by generated code) as either\r\n // module.exports (if we're in a module) or a new, empty object.\r\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\r\n\r\n function wrap(innerFn, outerFn, self, tryLocsList) {\r\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\r\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\r\n var generator = Object.create(protoGenerator.prototype);\r\n var context = new Context(tryLocsList || []);\r\n\r\n // The ._invoke method unifies the implementations of the .next,\r\n // .throw, and .return methods.\r\n generator._invoke = makeInvokeMethod(innerFn, self, context);\r\n\r\n return generator;\r\n }\r\n runtime.wrap = wrap;\r\n\r\n // Try/catch helper to minimize deoptimizations. Returns a completion\r\n // record like context.tryEntries[i].completion. This interface could\r\n // have been (and was previously) designed to take a closure to be\r\n // invoked without arguments, but in all the cases we care about we\r\n // already have an existing method we want to call, so there's no need\r\n // to create a new function object. We can even get away with assuming\r\n // the method takes exactly one argument, since that happens to be true\r\n // in every case, so we don't have to touch the arguments object. The\r\n // only additional allocation required is the completion record, which\r\n // has a stable shape and so hopefully should be cheap to allocate.\r\n function tryCatch(fn, obj, arg) {\r\n try {\r\n return { type: \"normal\", arg: fn.call(obj, arg) };\r\n } catch (err) {\r\n return { type: \"throw\", arg: err };\r\n }\r\n }\r\n\r\n var GenStateSuspendedStart = \"suspendedStart\";\r\n var GenStateSuspendedYield = \"suspendedYield\";\r\n var GenStateExecuting = \"executing\";\r\n var GenStateCompleted = \"completed\";\r\n\r\n // Returning this object from the innerFn has the same effect as\r\n // breaking out of the dispatch switch statement.\r\n var ContinueSentinel = {};\r\n\r\n // Dummy constructor functions that we use as the .constructor and\r\n // .constructor.prototype properties for functions that return Generator\r\n // objects. For full spec compliance, you may wish to configure your\r\n // minifier not to mangle the names of these two functions.\r\n function Generator() {}\r\n function GeneratorFunction() {}\r\n function GeneratorFunctionPrototype() {}\r\n\r\n // This is a polyfill for %IteratorPrototype% for environments that\r\n // don't natively support it.\r\n var IteratorPrototype = {};\r\n IteratorPrototype[iteratorSymbol] = function () {\r\n return this;\r\n };\r\n\r\n var getProto = Object.getPrototypeOf;\r\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\r\n if (NativeIteratorPrototype &&\r\n NativeIteratorPrototype !== Op &&\r\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\r\n // This environment has a native %IteratorPrototype%; use it instead\r\n // of the polyfill.\r\n IteratorPrototype = NativeIteratorPrototype;\r\n }\r\n\r\n var Gp = GeneratorFunctionPrototype.prototype =\r\n Generator.prototype = Object.create(IteratorPrototype);\r\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\r\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\r\n GeneratorFunctionPrototype[toStringTagSymbol] =\r\n GeneratorFunction.displayName = \"GeneratorFunction\";\r\n\r\n // Helper for defining the .next, .throw, and .return methods of the\r\n // Iterator interface in terms of a single ._invoke method.\r\n function defineIteratorMethods(prototype) {\r\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\r\n prototype[method] = function(arg) {\r\n return this._invoke(method, arg);\r\n };\r\n });\r\n }\r\n\r\n runtime.isGeneratorFunction = function(genFun) {\r\n var ctor = typeof genFun === \"function\" && genFun.constructor;\r\n return ctor\r\n ? ctor === GeneratorFunction ||\r\n // For the native GeneratorFunction constructor, the best we can\r\n // do is to check its .name property.\r\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\r\n : false;\r\n };\r\n\r\n runtime.mark = function(genFun) {\r\n if (Object.setPrototypeOf) {\r\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\r\n } else {\r\n genFun.__proto__ = GeneratorFunctionPrototype;\r\n if (!(toStringTagSymbol in genFun)) {\r\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\r\n }\r\n }\r\n genFun.prototype = Object.create(Gp);\r\n return genFun;\r\n };\r\n\r\n // Within the body of any async function, `await x` is transformed to\r\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\r\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\r\n // meant to be awaited.\r\n runtime.awrap = function(arg) {\r\n return { __await: arg };\r\n };\r\n\r\n function AsyncIterator(generator) {\r\n function invoke(method, arg, resolve, reject) {\r\n var record = tryCatch(generator[method], generator, arg);\r\n if (record.type === \"throw\") {\r\n reject(record.arg);\r\n } else {\r\n var result = record.arg;\r\n var value = result.value;\r\n if (value &&\r\n typeof value === \"object\" &&\r\n hasOwn.call(value, \"__await\")) {\r\n return Promise.resolve(value.__await).then(function(value) {\r\n invoke(\"next\", value, resolve, reject);\r\n }, function(err) {\r\n invoke(\"throw\", err, resolve, reject);\r\n });\r\n }\r\n\r\n return Promise.resolve(value).then(function(unwrapped) {\r\n // When a yielded Promise is resolved, its final value becomes\r\n // the .value of the Promise<{value,done}> result for the\r\n // current iteration. If the Promise is rejected, however, the\r\n // result for this iteration will be rejected with the same\r\n // reason. Note that rejections of yielded Promises are not\r\n // thrown back into the generator function, as is the case\r\n // when an awaited Promise is rejected. This difference in\r\n // behavior between yield and await is important, because it\r\n // allows the consumer to decide what to do with the yielded\r\n // rejection (swallow it and continue, manually .throw it back\r\n // into the generator, abandon iteration, whatever). With\r\n // await, by contrast, there is no opportunity to examine the\r\n // rejection reason outside the generator function, so the\r\n // only option is to throw it from the await expression, and\r\n // let the generator function handle the exception.\r\n result.value = unwrapped;\r\n resolve(result);\r\n }, reject);\r\n }\r\n }\r\n\r\n var previousPromise;\r\n\r\n function enqueue(method, arg) {\r\n function callInvokeWithMethodAndArg() {\r\n return new Promise(function(resolve, reject) {\r\n invoke(method, arg, resolve, reject);\r\n });\r\n }\r\n\r\n return previousPromise =\r\n // If enqueue has been called before, then we want to wait until\r\n // all previous Promises have been resolved before calling invoke,\r\n // so that results are always delivered in the correct order. If\r\n // enqueue has not been called before, then it is important to\r\n // call invoke immediately, without waiting on a callback to fire,\r\n // so that the async generator function has the opportunity to do\r\n // any necessary setup in a predictable way. This predictability\r\n // is why the Promise constructor synchronously invokes its\r\n // executor callback, and why async functions synchronously\r\n // execute code before the first await. Since we implement simple\r\n // async functions in terms of async generators, it is especially\r\n // important to get this right, even though it requires care.\r\n previousPromise ? previousPromise.then(\r\n callInvokeWithMethodAndArg,\r\n // Avoid propagating failures to Promises returned by later\r\n // invocations of the iterator.\r\n callInvokeWithMethodAndArg\r\n ) : callInvokeWithMethodAndArg();\r\n }\r\n\r\n // Define the unified helper method that is used to implement .next,\r\n // .throw, and .return (see defineIteratorMethods).\r\n this._invoke = enqueue;\r\n }\r\n\r\n defineIteratorMethods(AsyncIterator.prototype);\r\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\r\n return this;\r\n };\r\n runtime.AsyncIterator = AsyncIterator;\r\n\r\n // Note that simple async functions are implemented on top of\r\n // AsyncIterator objects; they just return a Promise for the value of\r\n // the final result produced by the iterator.\r\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\r\n var iter = new AsyncIterator(\r\n wrap(innerFn, outerFn, self, tryLocsList)\r\n );\r\n\r\n return runtime.isGeneratorFunction(outerFn)\r\n ? iter // If outerFn is a generator, return the full iterator.\r\n : iter.next().then(function(result) {\r\n return result.done ? result.value : iter.next();\r\n });\r\n };\r\n\r\n function makeInvokeMethod(innerFn, self, context) {\r\n var state = GenStateSuspendedStart;\r\n\r\n return function invoke(method, arg) {\r\n if (state === GenStateExecuting) {\r\n throw new Error(\"Generator is already running\");\r\n }\r\n\r\n if (state === GenStateCompleted) {\r\n if (method === \"throw\") {\r\n throw arg;\r\n }\r\n\r\n // Be forgiving, per 25.3.3.3.3 of the spec:\r\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\r\n return doneResult();\r\n }\r\n\r\n context.method = method;\r\n context.arg = arg;\r\n\r\n while (true) {\r\n var delegate = context.delegate;\r\n if (delegate) {\r\n var delegateResult = maybeInvokeDelegate(delegate, context);\r\n if (delegateResult) {\r\n if (delegateResult === ContinueSentinel) continue;\r\n return delegateResult;\r\n }\r\n }\r\n\r\n if (context.method === \"next\") {\r\n // Setting context._sent for legacy support of Babel's\r\n // function.sent implementation.\r\n context.sent = context._sent = context.arg;\r\n\r\n } else if (context.method === \"throw\") {\r\n if (state === GenStateSuspendedStart) {\r\n state = GenStateCompleted;\r\n throw context.arg;\r\n }\r\n\r\n context.dispatchException(context.arg);\r\n\r\n } else if (context.method === \"return\") {\r\n context.abrupt(\"return\", context.arg);\r\n }\r\n\r\n state = GenStateExecuting;\r\n\r\n var record = tryCatch(innerFn, self, context);\r\n if (record.type === \"normal\") {\r\n // If an exception is thrown from innerFn, we leave state ===\r\n // GenStateExecuting and loop back for another invocation.\r\n state = context.done\r\n ? GenStateCompleted\r\n : GenStateSuspendedYield;\r\n\r\n if (record.arg === ContinueSentinel) {\r\n continue;\r\n }\r\n\r\n return {\r\n value: record.arg,\r\n done: context.done\r\n };\r\n\r\n } else if (record.type === \"throw\") {\r\n state = GenStateCompleted;\r\n // Dispatch the exception by looping back around to the\r\n // context.dispatchException(context.arg) call above.\r\n context.method = \"throw\";\r\n context.arg = record.arg;\r\n }\r\n }\r\n };\r\n }\r\n\r\n // Call delegate.iterator[context.method](context.arg) and handle the\r\n // result, either by returning a { value, done } result from the\r\n // delegate iterator, or by modifying context.method and context.arg,\r\n // setting context.delegate to null, and returning the ContinueSentinel.\r\n function maybeInvokeDelegate(delegate, context) {\r\n var method = delegate.iterator[context.method];\r\n if (method === undefined) {\r\n // A .throw or .return when the delegate iterator has no .throw\r\n // method always terminates the yield* loop.\r\n context.delegate = null;\r\n\r\n if (context.method === \"throw\") {\r\n if (delegate.iterator.return) {\r\n // If the delegate iterator has a return method, give it a\r\n // chance to clean up.\r\n context.method = \"return\";\r\n context.arg = undefined;\r\n maybeInvokeDelegate(delegate, context);\r\n\r\n if (context.method === \"throw\") {\r\n // If maybeInvokeDelegate(context) changed context.method from\r\n // \"return\" to \"throw\", let that override the TypeError below.\r\n return ContinueSentinel;\r\n }\r\n }\r\n\r\n context.method = \"throw\";\r\n context.arg = new TypeError(\r\n \"The iterator does not provide a 'throw' method\");\r\n }\r\n\r\n return ContinueSentinel;\r\n }\r\n\r\n var record = tryCatch(method, delegate.iterator, context.arg);\r\n\r\n if (record.type === \"throw\") {\r\n context.method = \"throw\";\r\n context.arg = record.arg;\r\n context.delegate = null;\r\n return ContinueSentinel;\r\n }\r\n\r\n var info = record.arg;\r\n\r\n if (! info) {\r\n context.method = \"throw\";\r\n context.arg = new TypeError(\"iterator result is not an object\");\r\n context.delegate = null;\r\n return ContinueSentinel;\r\n }\r\n\r\n if (info.done) {\r\n // Assign the result of the finished delegate to the temporary\r\n // variable specified by delegate.resultName (see delegateYield).\r\n context[delegate.resultName] = info.value;\r\n\r\n // Resume execution at the desired location (see delegateYield).\r\n context.next = delegate.nextLoc;\r\n\r\n // If context.method was \"throw\" but the delegate handled the\r\n // exception, let the outer generator proceed normally. If\r\n // context.method was \"next\", forget context.arg since it has been\r\n // \"consumed\" by the delegate iterator. If context.method was\r\n // \"return\", allow the original .return call to continue in the\r\n // outer generator.\r\n if (context.method !== \"return\") {\r\n context.method = \"next\";\r\n context.arg = undefined;\r\n }\r\n\r\n } else {\r\n // Re-yield the result returned by the delegate method.\r\n return info;\r\n }\r\n\r\n // The delegate iterator is finished, so forget it and continue with\r\n // the outer generator.\r\n context.delegate = null;\r\n return ContinueSentinel;\r\n }\r\n\r\n // Define Generator.prototype.{next,throw,return} in terms of the\r\n // unified ._invoke helper method.\r\n defineIteratorMethods(Gp);\r\n\r\n Gp[toStringTagSymbol] = \"Generator\";\r\n\r\n // A Generator should always return itself as the iterator object when the\r\n // @@iterator function is called on it. Some browsers' implementations of the\r\n // iterator prototype chain incorrectly implement this, causing the Generator\r\n // object to not be returned from this call. This ensures that doesn't happen.\r\n // See https://github.com/facebook/regenerator/issues/274 for more details.\r\n Gp[iteratorSymbol] = function() {\r\n return this;\r\n };\r\n\r\n Gp.toString = function() {\r\n return \"[object Generator]\";\r\n };\r\n\r\n function pushTryEntry(locs) {\r\n var entry = { tryLoc: locs[0] };\r\n\r\n if (1 in locs) {\r\n entry.catchLoc = locs[1];\r\n }\r\n\r\n if (2 in locs) {\r\n entry.finallyLoc = locs[2];\r\n entry.afterLoc = locs[3];\r\n }\r\n\r\n this.tryEntries.push(entry);\r\n }\r\n\r\n function resetTryEntry(entry) {\r\n var record = entry.completion || {};\r\n record.type = \"normal\";\r\n delete record.arg;\r\n entry.completion = record;\r\n }\r\n\r\n function Context(tryLocsList) {\r\n // The root entry object (effectively a try statement without a catch\r\n // or a finally block) gives us a place to store values thrown from\r\n // locations where there is no enclosing try statement.\r\n this.tryEntries = [{ tryLoc: \"root\" }];\r\n tryLocsList.forEach(pushTryEntry, this);\r\n this.reset(true);\r\n }\r\n\r\n runtime.keys = function(object) {\r\n var keys = [];\r\n for (var key in object) {\r\n keys.push(key);\r\n }\r\n keys.reverse();\r\n\r\n // Rather than returning an object with a next method, we keep\r\n // things simple and return the next function itself.\r\n return function next() {\r\n while (keys.length) {\r\n var key = keys.pop();\r\n if (key in object) {\r\n next.value = key;\r\n next.done = false;\r\n return next;\r\n }\r\n }\r\n\r\n // To avoid creating an additional object, we just hang the .value\r\n // and .done properties off the next function object itself. This\r\n // also ensures that the minifier will not anonymize the function.\r\n next.done = true;\r\n return next;\r\n };\r\n };\r\n\r\n function values(iterable) {\r\n if (iterable) {\r\n var iteratorMethod = iterable[iteratorSymbol];\r\n if (iteratorMethod) {\r\n return iteratorMethod.call(iterable);\r\n }\r\n\r\n if (typeof iterable.next === \"function\") {\r\n return iterable;\r\n }\r\n\r\n if (!isNaN(iterable.length)) {\r\n var i = -1, next = function next() {\r\n while (++i < iterable.length) {\r\n if (hasOwn.call(iterable, i)) {\r\n next.value = iterable[i];\r\n next.done = false;\r\n return next;\r\n }\r\n }\r\n\r\n next.value = undefined;\r\n next.done = true;\r\n\r\n return next;\r\n };\r\n\r\n return next.next = next;\r\n }\r\n }\r\n\r\n // Return an iterator with no values.\r\n return { next: doneResult };\r\n }\r\n runtime.values = values;\r\n\r\n function doneResult() {\r\n return { value: undefined, done: true };\r\n }\r\n\r\n Context.prototype = {\r\n constructor: Context,\r\n\r\n reset: function(skipTempReset) {\r\n this.prev = 0;\r\n this.next = 0;\r\n // Resetting context._sent for legacy support of Babel's\r\n // function.sent implementation.\r\n this.sent = this._sent = undefined;\r\n this.done = false;\r\n this.delegate = null;\r\n\r\n this.method = \"next\";\r\n this.arg = undefined;\r\n\r\n this.tryEntries.forEach(resetTryEntry);\r\n\r\n if (!skipTempReset) {\r\n for (var name in this) {\r\n // Not sure about the optimal order of these conditions:\r\n if (name.charAt(0) === \"t\" &&\r\n hasOwn.call(this, name) &&\r\n !isNaN(+name.slice(1))) {\r\n this[name] = undefined;\r\n }\r\n }\r\n }\r\n },\r\n\r\n stop: function() {\r\n this.done = true;\r\n\r\n var rootEntry = this.tryEntries[0];\r\n var rootRecord = rootEntry.completion;\r\n if (rootRecord.type === \"throw\") {\r\n throw rootRecord.arg;\r\n }\r\n\r\n return this.rval;\r\n },\r\n\r\n dispatchException: function(exception) {\r\n if (this.done) {\r\n throw exception;\r\n }\r\n\r\n var context = this;\r\n function handle(loc, caught) {\r\n record.type = \"throw\";\r\n record.arg = exception;\r\n context.next = loc;\r\n\r\n if (caught) {\r\n // If the dispatched exception was caught by a catch block,\r\n // then let that catch block handle the exception normally.\r\n context.method = \"next\";\r\n context.arg = undefined;\r\n }\r\n\r\n return !! caught;\r\n }\r\n\r\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\r\n var entry = this.tryEntries[i];\r\n var record = entry.completion;\r\n\r\n if (entry.tryLoc === \"root\") {\r\n // Exception thrown outside of any try block that could handle\r\n // it, so set the completion value of the entire function to\r\n // throw the exception.\r\n return handle(\"end\");\r\n }\r\n\r\n if (entry.tryLoc <= this.prev) {\r\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\r\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\r\n\r\n if (hasCatch && hasFinally) {\r\n if (this.prev < entry.catchLoc) {\r\n return handle(entry.catchLoc, true);\r\n } else if (this.prev < entry.finallyLoc) {\r\n return handle(entry.finallyLoc);\r\n }\r\n\r\n } else if (hasCatch) {\r\n if (this.prev < entry.catchLoc) {\r\n return handle(entry.catchLoc, true);\r\n }\r\n\r\n } else if (hasFinally) {\r\n if (this.prev < entry.finallyLoc) {\r\n return handle(entry.finallyLoc);\r\n }\r\n\r\n } else {\r\n throw new Error(\"try statement without catch or finally\");\r\n }\r\n }\r\n }\r\n },\r\n\r\n abrupt: function(type, arg) {\r\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\r\n var entry = this.tryEntries[i];\r\n if (entry.tryLoc <= this.prev &&\r\n hasOwn.call(entry, \"finallyLoc\") &&\r\n this.prev < entry.finallyLoc) {\r\n var finallyEntry = entry;\r\n break;\r\n }\r\n }\r\n\r\n if (finallyEntry &&\r\n (type === \"break\" ||\r\n type === \"continue\") &&\r\n finallyEntry.tryLoc <= arg &&\r\n arg <= finallyEntry.finallyLoc) {\r\n // Ignore the finally entry if control is not jumping to a\r\n // location outside the try/catch block.\r\n finallyEntry = null;\r\n }\r\n\r\n var record = finallyEntry ? finallyEntry.completion : {};\r\n record.type = type;\r\n record.arg = arg;\r\n\r\n if (finallyEntry) {\r\n this.method = \"next\";\r\n this.next = finallyEntry.finallyLoc;\r\n return ContinueSentinel;\r\n }\r\n\r\n return this.complete(record);\r\n },\r\n\r\n complete: function(record, afterLoc) {\r\n if (record.type === \"throw\") {\r\n throw record.arg;\r\n }\r\n\r\n if (record.type === \"break\" ||\r\n record.type === \"continue\") {\r\n this.next = record.arg;\r\n } else if (record.type === \"return\") {\r\n this.rval = this.arg = record.arg;\r\n this.method = \"return\";\r\n this.next = \"end\";\r\n } else if (record.type === \"normal\" && afterLoc) {\r\n this.next = afterLoc;\r\n }\r\n\r\n return ContinueSentinel;\r\n },\r\n\r\n finish: function(finallyLoc) {\r\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\r\n var entry = this.tryEntries[i];\r\n if (entry.finallyLoc === finallyLoc) {\r\n this.complete(entry.completion, entry.afterLoc);\r\n resetTryEntry(entry);\r\n return ContinueSentinel;\r\n }\r\n }\r\n },\r\n\r\n \"catch\": function(tryLoc) {\r\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\r\n var entry = this.tryEntries[i];\r\n if (entry.tryLoc === tryLoc) {\r\n var record = entry.completion;\r\n if (record.type === \"throw\") {\r\n var thrown = record.arg;\r\n resetTryEntry(entry);\r\n }\r\n return thrown;\r\n }\r\n }\r\n\r\n // The context.catch method must only be called with a location\r\n // argument that corresponds to a known catch block.\r\n throw new Error(\"illegal catch attempt\");\r\n },\r\n\r\n delegateYield: function(iterable, resultName, nextLoc) {\r\n this.delegate = {\r\n iterator: values(iterable),\r\n resultName: resultName,\r\n nextLoc: nextLoc\r\n };\r\n\r\n if (this.method === \"next\") {\r\n // Deliberately forget the last sent value so that we don't\r\n // accidentally pass it on to the delegate.\r\n this.arg = undefined;\r\n }\r\n\r\n return ContinueSentinel;\r\n }\r\n };\r\n})(\r\n // In sloppy mode, unbound `this` refers to the global object, fallback to\r\n // Function constructor if we're in global strict mode. That is sadly a form\r\n // of indirect eval which violates Content Security Policy.\r\n (function() { return this })() || Function(\"return this\")()\r\n);\r\n"]}
\ No newline at end of file
{"version":3,"sources":["assets/OP13/script/runtime.js"],"names":["global","Op","Object","prototype","hasOwn","hasOwnProperty","undefined","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","inModule","module","runtime","regeneratorRuntime","exports","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","makeInvokeMethod","tryCatch","fn","obj","arg","type","call","err","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","constructor","displayName","defineIteratorMethods","forEach","method","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","invoke","resolve","reject","record","result","value","Promise","then","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","async","iter","next","done","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","info","resultName","nextLoc","toString","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","keys","object","key","reverse","length","pop","iterable","iteratorMethod","isNaN","i","skipTempReset","prev","charAt","slice","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","Function"],"mappings":"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","sourceRoot":"/","sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n"]}
\ No newline at end of file
{"version":3,"sources":["assets\\OP13\\script\\util.js"],"names":["getPosByAngle","angle","len","radian","Math","PI","x","sin","y","cos","getAngleByPos","px","py","mx","my","abs","z","sqrt","pow","radina","acos","floor","exchangeNodePos","baseNode","targetNode","convertToNodeSpaceAR","_parent","convertToWorldSpaceAR","cc","v2","RandomInt","a","b","max","min","random","randomSortByArr","arr","newArr","tmpArr","concat","length","randomIndex","push","splice","setSprNodeMaxLen","sprNode","maxW","maxH","sx","width","sy","height","s","scale","round","localPosTolocalPos","worldPos","parent","localPos","worldPosToLocalPos","getScaleRateBy2Node","maxFlag","worldRect1","getBoundingBoxToWorld","worldRect2","getDistance","start","end","pos","dis","playAudioByUrl","audio_url","cb","assetManager","loadRemote","err","audioClip","audioId","audioEngine","play","setFinishCallback","btnClickAnima","btn","time","rate","tmpScale","on","Node","EventType","TOUCH_START","tween","to","TOUCH_CANCEL","TOUCH_END"],"mappings":"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","sourceRoot":"/","sourcesContent":["export function getPosByAngle(angle, len) {\r\n\r\n const radian = angle * Math.PI / 180;\r\n const x = Math.sin(radian) * len;\r\n const y = Math.cos(radian) * len;\r\n\r\n return { x, y };\r\n\r\n}\r\n\r\nexport function getAngleByPos(px, py, mx, my) {\r\n\r\n const x = Math.abs(px - mx);\r\n const y = Math.abs(py - my);\r\n\r\n const z = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));\r\n const cos = y / z;\r\n const radina = Math.acos(cos); // 用反三角函数求弧度\r\n let angle = Math.floor(180 / (Math.PI / radina) * 100) / 100; // 将弧度转换成角度\r\n\r\n if (mx > px && my > py) {// 鼠标在第四象限\r\n angle = 180 - angle;\r\n }\r\n if (mx === px && my > py) {// 鼠标在y轴负方向上\r\n angle = 180;\r\n }\r\n if (mx > px && my === py) {// 鼠标在x轴正方向上\r\n angle = 90;\r\n }\r\n if (mx < px && my > py) {// 鼠标在第三象限\r\n angle = 180 + angle;\r\n }\r\n if (mx < px && my === py) {// 鼠标在x轴负方向\r\n angle = 270;\r\n }\r\n if (mx < px && my < py) {// 鼠标在第二象限\r\n angle = 360 - angle;\r\n }\r\n\r\n // console.log('angle: ', angle);\r\n return angle;\r\n\r\n}\r\n\r\nexport function exchangeNodePos(baseNode, targetNode) {\r\n return baseNode.convertToNodeSpaceAR(targetNode._parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y)));\r\n}\r\n\r\nexport function RandomInt(a, b = 0) {\r\n let max = Math.max(a, b);\r\n let min = Math.min(a, b);\r\n return Math.floor(Math.random() * (max - min) + min);\r\n}\r\n\r\nexport function randomSortByArr(arr) {\r\n const newArr = [];\r\n const tmpArr = arr.concat();\r\n while (tmpArr.length > 0) {\r\n const randomIndex = Math.floor(tmpArr.length * Math.random());\r\n newArr.push(tmpArr[randomIndex]);\r\n tmpArr.splice(randomIndex, 1);\r\n }\r\n return newArr;\r\n}\r\n\r\nexport function setSprNodeMaxLen(sprNode, maxW, maxH) {\r\n const sx = maxW / sprNode.width;\r\n const sy = maxH / sprNode.height;\r\n const s = Math.min(sx, sy);\r\n sprNode.scale = Math.round(s * 1000) / 1000;\r\n}\r\n\r\nexport function localPosTolocalPos(baseNode, targetNode) {\r\n\tconst worldPos = targetNode.parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y));\r\n\tconst localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));\r\n\treturn localPos;\r\n}\r\n\r\nexport function worldPosToLocalPos(worldPos, baseNode) {\r\n\tconst localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));\r\n\treturn localPos;\r\n}\r\n\r\nexport function getScaleRateBy2Node(baseNode, targetNode, maxFlag = true) {\r\n\tconst worldRect1 = targetNode.getBoundingBoxToWorld();\r\n\tconst worldRect2 = baseNode.getBoundingBoxToWorld();\r\n\r\n\tconst sx = worldRect1.width / worldRect2.width;\r\n\tconst sy = worldRect1.height / worldRect2.height;\r\n\tif (maxFlag) {\r\n\t\treturn Math.max(sx, sy);\r\n\t} else {\r\n\t\treturn Math.min(sx, sy);\r\n\t}\r\n}\r\n\r\nexport function getDistance (start, end){\r\n var pos = cc.v2(start.x - end.x, start.y - end.y);\r\n var dis = Math.sqrt(pos.x*pos.x + pos.y*pos.y);\r\n return dis;\r\n}\r\n\r\nexport function playAudioByUrl(audio_url, cb=null) {\r\n\tif (audio_url) {\r\n\t\tcc.assetManager.loadRemote(audio_url, (err, audioClip) => {\r\n const audioId = cc.audioEngine.play(audioClip, false, 0.8);\r\n if (cb) {\r\n cc.audioEngine.setFinishCallback(audioId, () => {\r\n cb();\r\n });\r\n }\r\n\t\t});\r\n\t}\r\n}\r\n\r\n\r\nexport function btnClickAnima(btn, time=0.15, rate=1.05) {\r\n btn.tmpScale = btn.scale;\r\n btn.on(cc.Node.EventType.TOUCH_START, () => {\r\n cc.tween(btn)\r\n .to(time / 2, {scale: btn.scale * rate})\r\n .start()\r\n })\r\n btn.on(cc.Node.EventType.TOUCH_CANCEL, () => {\r\n cc.tween(btn)\r\n .to(time / 2, {scale: btn.tmpScale})\r\n .start()\r\n })\r\n btn.on(cc.Node.EventType.TOUCH_END, () => {\r\n cc.tween(btn)\r\n .to(time / 2, {scale: btn.tmpScale})\r\n .start()\r\n })\r\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/OP13/script/util.js"],"names":["getPosByAngle","angle","len","radian","Math","PI","x","sin","y","cos","getAngleByPos","px","py","mx","my","abs","z","sqrt","pow","radina","acos","floor","exchangeNodePos","baseNode","targetNode","convertToNodeSpaceAR","_parent","convertToWorldSpaceAR","cc","v2","RandomInt","a","b","max","min","random","randomSortByArr","arr","newArr","tmpArr","concat","length","randomIndex","push","splice","setSprNodeMaxLen","sprNode","maxW","maxH","sx","width","sy","height","s","scale","round","localPosTolocalPos","worldPos","parent","localPos","worldPosToLocalPos","getScaleRateBy2Node","maxFlag","worldRect1","getBoundingBoxToWorld","worldRect2","getDistance","start","end","pos","dis","playAudioByUrl","audio_url","cb","assetManager","loadRemote","err","audioClip","audioId","audioEngine","play","setFinishCallback","btnClickAnima","btn","time","rate","tmpScale","on","Node","EventType","TOUCH_START","tween","to","TOUCH_CANCEL","TOUCH_END"],"mappings":"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","sourceRoot":"/","sourcesContent":["export function getPosByAngle(angle, len) {\n\n const radian = angle * Math.PI / 180;\n const x = Math.sin(radian) * len;\n const y = Math.cos(radian) * len;\n\n return { x, y };\n\n}\n\nexport function getAngleByPos(px, py, mx, my) {\n\n const x = Math.abs(px - mx);\n const y = Math.abs(py - my);\n\n const z = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));\n const cos = y / z;\n const radina = Math.acos(cos); // 用反三角函数求弧度\n let angle = Math.floor(180 / (Math.PI / radina) * 100) / 100; // 将弧度转换成角度\n\n if (mx > px && my > py) {// 鼠标在第四象限\n angle = 180 - angle;\n }\n if (mx === px && my > py) {// 鼠标在y轴负方向上\n angle = 180;\n }\n if (mx > px && my === py) {// 鼠标在x轴正方向上\n angle = 90;\n }\n if (mx < px && my > py) {// 鼠标在第三象限\n angle = 180 + angle;\n }\n if (mx < px && my === py) {// 鼠标在x轴负方向\n angle = 270;\n }\n if (mx < px && my < py) {// 鼠标在第二象限\n angle = 360 - angle;\n }\n\n // console.log('angle: ', angle);\n return angle;\n\n}\n\nexport function exchangeNodePos(baseNode, targetNode) {\n return baseNode.convertToNodeSpaceAR(targetNode._parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y)));\n}\n\nexport function RandomInt(a, b = 0) {\n let max = Math.max(a, b);\n let min = Math.min(a, b);\n return Math.floor(Math.random() * (max - min) + min);\n}\n\nexport function randomSortByArr(arr) {\n const newArr = [];\n const tmpArr = arr.concat();\n while (tmpArr.length > 0) {\n const randomIndex = Math.floor(tmpArr.length * Math.random());\n newArr.push(tmpArr[randomIndex]);\n tmpArr.splice(randomIndex, 1);\n }\n return newArr;\n}\n\nexport function setSprNodeMaxLen(sprNode, maxW, maxH) {\n const sx = maxW / sprNode.width;\n const sy = maxH / sprNode.height;\n const s = Math.min(sx, sy);\n sprNode.scale = Math.round(s * 1000) / 1000;\n}\n\nexport function localPosTolocalPos(baseNode, targetNode) {\n\tconst worldPos = targetNode.parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y));\n\tconst localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));\n\treturn localPos;\n}\n\nexport function worldPosToLocalPos(worldPos, baseNode) {\n\tconst localPos = baseNode.parent.convertToNodeSpaceAR(cc.v2(worldPos.x, worldPos.y));\n\treturn localPos;\n}\n\nexport function getScaleRateBy2Node(baseNode, targetNode, maxFlag = true) {\n\tconst worldRect1 = targetNode.getBoundingBoxToWorld();\n\tconst worldRect2 = baseNode.getBoundingBoxToWorld();\n\n\tconst sx = worldRect1.width / worldRect2.width;\n\tconst sy = worldRect1.height / worldRect2.height;\n\tif (maxFlag) {\n\t\treturn Math.max(sx, sy);\n\t} else {\n\t\treturn Math.min(sx, sy);\n\t}\n}\n\nexport function getDistance (start, end){\n var pos = cc.v2(start.x - end.x, start.y - end.y);\n var dis = Math.sqrt(pos.x*pos.x + pos.y*pos.y);\n return dis;\n}\n\nexport function playAudioByUrl(audio_url, cb=null) {\n\tif (audio_url) {\n\t\tcc.assetManager.loadRemote(audio_url, (err, audioClip) => {\n const audioId = cc.audioEngine.play(audioClip, false, 0.8);\n if (cb) {\n cc.audioEngine.setFinishCallback(audioId, () => {\n cb();\n });\n }\n\t\t});\n\t}\n}\n\n\nexport function btnClickAnima(btn, time=0.15, rate=1.05) {\n btn.tmpScale = btn.scale;\n btn.on(cc.Node.EventType.TOUCH_START, () => {\n cc.tween(btn)\n .to(time / 2, {scale: btn.scale * rate})\n .start()\n })\n btn.on(cc.Node.EventType.TOUCH_CANCEL, () => {\n cc.tween(btn)\n .to(time / 2, {scale: btn.tmpScale})\n .start()\n })\n btn.on(cc.Node.EventType.TOUCH_END, () => {\n cc.tween(btn)\n .to(time / 2, {scale: btn.tmpScale})\n .start()\n })\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets\\OP13\\script\\utils.js"],"names":["getPosByAngle","angle","len","radian","Math","PI","x","sin","y","cos","getAngleByPos","px","py","mx","my","abs","z","sqrt","pow","radina","acos","floor","exchangeNodePos","baseNode","targetNode","convertToNodeSpaceAR","_parent","convertToWorldSpaceAR","cc","v2","RandomInt","a","b","max","min","random","Between","c","sort","randomSortByArr","arr","newArr","tmpArr","concat","length","randomIndex","push","splice","asyncTweenTo","node","duration","obj","ease","undefined","Promise","resolve","reject","tween","to","call","start","asyncTweenBy","by","asyncPlayDragonBoneAnimation","animationName","time","onFrameEvent","getComponent","dragonBones","ArmatureDisplay","once","EventObject","COMPLETE","on","FRAME_EVENT","name","playAnimation","asyncPlayEffectByUrl","url","loop","assetManager","loadRemote","err","clip","console","log","audioEngine","playEffect","jelly","scaleX","scaleY","asyncDelay","setTimeout","showFireworks","nodeList","pos","side","range","number","Array","fill","forEach","_","i","rabbonNode","Node","parent","instantiate","active","rate","easing","rabbonFall","union","repeatForever","delay","opacity","stopAllActions","offsetX","loadSpine","skeleton","picName","tex","atlas","ske","error","texture","loadAny","atlasJson","dragonBonesJson","asset","sp","SkeletonData","_uuid","skeletonJson","JSON","stringify","atlasText","textures","textureNames","skeletonData","jsonObj","animationNameObj","animations","animationNames","animation","onHomeworkFinish","middleLayer","find","middleLayerComponent","role"],"mappings":"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","sourceRoot":"/","sourcesContent":["export function getPosByAngle(angle, len) {\r\n\r\n const radian = angle * Math.PI / 180;\r\n const x = Math.sin(radian) * len;\r\n const y = Math.cos(radian) * len;\r\n\r\n return { x, y };\r\n\r\n}\r\n\r\nexport function getAngleByPos(px, py, mx, my) {\r\n\r\n const x = Math.abs(px - mx);\r\n const y = Math.abs(py - my);\r\n\r\n const z = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));\r\n const cos = y / z;\r\n const radina = Math.acos(cos); // 用反三角函数求弧度\r\n let angle = Math.floor(180 / (Math.PI / radina) * 100) / 100; // 将弧度转换成角度\r\n\r\n if (mx > px && my > py) {// 鼠标在第四象限\r\n angle = 180 - angle;\r\n }\r\n if (mx === px && my > py) {// 鼠标在y轴负方向上\r\n angle = 180;\r\n }\r\n if (mx > px && my === py) {// 鼠标在x轴正方向上\r\n angle = 90;\r\n }\r\n if (mx < px && my > py) {// 鼠标在第三象限\r\n angle = 180 + angle;\r\n }\r\n if (mx < px && my === py) {// 鼠标在x轴负方向\r\n angle = 270;\r\n }\r\n if (mx < px && my < py) {// 鼠标在第二象限\r\n angle = 360 - angle;\r\n }\r\n\r\n // console.log('angle: ', angle);\r\n return angle;\r\n\r\n}\r\n\r\nexport function exchangeNodePos(baseNode, targetNode) {\r\n return baseNode.convertToNodeSpaceAR(targetNode._parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y)));\r\n}\r\n\r\nexport function RandomInt(a, b = 0) {\r\n let max = Math.max(a, b);\r\n let min = Math.min(a, b);\r\n return Math.floor(Math.random() * (max - min) + min);\r\n}\r\n\r\nexport function Between(a, b, c) {\r\n return [a, b, c].sort((a, b) => a - b)[1];\r\n}\r\n\r\nexport function randomSortByArr(arr) {\r\n const newArr = [];\r\n const tmpArr = arr.concat();\r\n while (tmpArr.length > 0) {\r\n const randomIndex = Math.floor(tmpArr.length * Math.random());\r\n newArr.push(tmpArr[randomIndex]);\r\n tmpArr.splice(randomIndex, 1);\r\n }\r\n return newArr;\r\n}\r\n\r\nexport async function asyncTweenTo(node, duration, obj, ease = undefined) {\r\n return new Promise((resolve, reject) => {\r\n cc.tween(node)\r\n .to(duration, obj, ease)\r\n .call(() => {\r\n resolve();\r\n })\r\n .start();\r\n });\r\n}\r\n\r\nexport async function asyncTweenBy(node, duration, obj, ease = undefined) {\r\n return new Promise((resolve, reject) => {\r\n cc.tween(node)\r\n .by(duration, obj, ease)\r\n .call(() => {\r\n resolve();\r\n })\r\n .start();\r\n });\r\n}\r\n\r\nexport async function asyncPlayDragonBoneAnimation(node, animationName, time = 1, onFrameEvent) {\r\n return new Promise((resolve, reject) => {\r\n node.getComponent(dragonBones.ArmatureDisplay)\r\n .once(dragonBones.EventObject.COMPLETE, () => {\r\n resolve();\r\n });\r\n\r\n node.getComponent(dragonBones.ArmatureDisplay)\r\n .on(dragonBones.EventObject.FRAME_EVENT, ({ name }) => {\r\n if (onFrameEvent && typeof (onFrameEvent) == 'function') {\r\n onFrameEvent(name);\r\n }\r\n });\r\n\r\n node.getComponent(dragonBones.ArmatureDisplay)\r\n .playAnimation(animationName, time);\r\n });\r\n}\r\n\r\nexport async function asyncPlayEffectByUrl(url, loop = false) {\r\n return new Promise((resolve, reject) => {\r\n cc.assetManager.loadRemote(url, (err, clip) => {\r\n console.log(clip);\r\n cc.audioEngine.playEffect(clip, loop);\r\n resolve();\r\n });\r\n });\r\n}\r\n\r\nexport async function jelly(node) {\r\n return new Promise((resolve, reject) => {\r\n cc.tween(node)\r\n .to(0.1, { scaleX: 0.9, scaleY: 1.1 })\r\n .to(0.1, { scaleX: 1.1, scaleY: 0.9 })\r\n .to(0.1, { scaleX: 1, scaleY: 1 })\r\n .call(resolve)\r\n .start();\r\n });\r\n}\r\n\r\nexport async function asyncDelay(time) {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n resolve();\r\n }, time * 1000);\r\n })\r\n}\r\n\r\nexport async function showFireworks(baseNode, nodeList, pos = cc.v2(0, 0), side = cc.v2(0, 100), range = 50, number = 100) {\r\n new Array(number).fill(' ').forEach(async (_, i) => {\r\n\r\n let rabbonNode = new cc.Node();\r\n rabbonNode.parent = baseNode;\r\n rabbonNode.x = pos.x;\r\n rabbonNode.y = pos.y;\r\n rabbonNode.angle = 60 * Math.random() - 30;\r\n\r\n let node = cc.instantiate(nodeList[RandomInt(nodeList.length)]);\r\n node.parent = rabbonNode;\r\n node.active = true;\r\n node.x = 0;\r\n node.y = 0;\r\n node.angle = 0;\r\n\r\n const rate = Math.random();\r\n const angle = Math.PI * (Math.random() * 2 - 1);\r\n\r\n await asyncTweenBy(rabbonNode, 0.3, {\r\n x: side.x * rate + Math.cos(angle) * range * rate,\r\n y: side.y * rate + Math.sin(angle) * range * rate\r\n }, {\r\n easing: 'quadIn'\r\n });\r\n\r\n cc.tween(rabbonNode)\r\n .by(8, { y: -2000 })\r\n .start();\r\n\r\n rabbonFall(rabbonNode);\r\n\r\n await asyncDelay(Math.random());\r\n cc.tween(node)\r\n .by(0.15, { x: -10, angle: -10 })\r\n .by(0.3, { x: 20, angle: 20 })\r\n .by(0.15, { x: -10, angle: -10 })\r\n .union()\r\n .repeatForever()\r\n .start();\r\n\r\n cc.tween(rabbonNode)\r\n .delay(5)\r\n .to(0.3, { opacity: 0 })\r\n .call(() => {\r\n node.stopAllActions();\r\n node.active = false;\r\n node.parent = null;\r\n node = null;\r\n })\r\n .start();\r\n });\r\n}\r\n\r\nasync function rabbonFall(node) {\r\n const time = 1 + Math.random();\r\n const offsetX = RandomInt(-200, 200) * time;\r\n await asyncTweenBy(node, time, { x: offsetX, angle: offsetX * 60 / 200 });\r\n rabbonFall(node);\r\n}\r\n\r\n\r\nexport function loadSpine(skeleton, picName, {tex, atlas, ske}) {\r\n return new Promise((resolve, reject) => {\r\n // cc.loader.load({ url: tex, type: 'png' }, (error, texture) => {\r\n cc.assetManager.loadRemote(tex, (error, texture) => {\r\n if (error) {\r\n reject();\r\n return;\r\n }\r\n // cc.loader.load({ url: atlas, type: 'txt' }, (error, atlasJson) => {\r\n cc.assetManager.loadAny({ url: atlas }, (error, atlasJson) => {\r\n if (error) {\r\n reject();\r\n return;\r\n }\r\n // cc.loader.load({ url: ske, type: 'txt' }, (error, dragonBonesJson) => {\r\n cc.assetManager.loadAny({ url: ske }, (error, dragonBonesJson) => {\r\n if (error) {\r\n reject();\r\n return;\r\n }\r\n \r\n \r\n var asset = new sp.SkeletonData();\r\n asset._uuid = ske;\r\n asset.skeletonJson = JSON.stringify( dragonBonesJson );\r\n asset.atlasText = atlasJson;\r\n asset.textures = [texture];\r\n asset.textureNames = [picName];\r\n \r\n console.log('picName: ', picName);\r\n \r\n skeleton.skeletonData = asset;\r\n \r\n \r\n const jsonObj = dragonBonesJson //JSON.parse( assets[1]);\r\n const animationNameObj = jsonObj.animations;\r\n let animationNames = [];\r\n for (let name in animationNameObj) {\r\n console.log('name~~: ', name);\r\n animationNames.push(name);\r\n }\r\n console.log(\"skeleton.animation: \", skeleton.animation);\r\n skeleton.animationNames = animationNames;\r\n skeleton.loop = false;\r\n\r\n console.log(\"jsonObj : \", jsonObj)\r\n console.log(\"jsonObj['skeleton'] : \", jsonObj['skeleton'])\r\n \r\n resolve(jsonObj['skeleton']);\r\n \r\n\r\n });\r\n });\r\n });\r\n });\r\n \r\n }\r\n \r\n\r\n\r\n\r\n\r\nexport function onHomeworkFinish() {\r\n\tconst middleLayer = cc.find('middleLayer');\r\n\tif (middleLayer) {\r\n\t const middleLayerComponent = middleLayer.getComponent('middleLayer');\r\n\t if (middleLayerComponent.role == 'student') {\r\n\t\tmiddleLayerComponent.onHomeworkFinish(() => { });\r\n\t }\r\n\t} else {\r\n\t console.log('onHomeworkFinish');\r\n\t}\r\n }"]}
\ No newline at end of file
{"version":3,"sources":["assets/OP13/script/utils.js"],"names":["getPosByAngle","angle","len","radian","Math","PI","x","sin","y","cos","getAngleByPos","px","py","mx","my","abs","z","sqrt","pow","radina","acos","floor","exchangeNodePos","baseNode","targetNode","convertToNodeSpaceAR","_parent","convertToWorldSpaceAR","cc","v2","RandomInt","a","b","max","min","random","Between","c","sort","randomSortByArr","arr","newArr","tmpArr","concat","length","randomIndex","push","splice","asyncTweenTo","node","duration","obj","ease","undefined","Promise","resolve","reject","tween","to","call","start","asyncTweenBy","by","asyncPlayDragonBoneAnimation","animationName","time","onFrameEvent","getComponent","dragonBones","ArmatureDisplay","once","EventObject","COMPLETE","on","FRAME_EVENT","name","playAnimation","asyncPlayEffectByUrl","url","loop","assetManager","loadRemote","err","clip","console","log","audioEngine","playEffect","jelly","scaleX","scaleY","asyncDelay","setTimeout","showFireworks","nodeList","pos","side","range","number","Array","fill","forEach","_","i","rabbonNode","Node","parent","instantiate","active","rate","easing","rabbonFall","union","repeatForever","delay","opacity","stopAllActions","offsetX","loadSpine","skeleton","picName","tex","atlas","ske","error","texture","loadAny","atlasJson","dragonBonesJson","asset","sp","SkeletonData","_uuid","skeletonJson","JSON","stringify","atlasText","textures","textureNames","skeletonData","jsonObj","animationNameObj","animations","animationNames","animation","onHomeworkFinish","middleLayer","find","middleLayerComponent","role"],"mappings":"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","sourceRoot":"/","sourcesContent":["export function getPosByAngle(angle, len) {\n\n const radian = angle * Math.PI / 180;\n const x = Math.sin(radian) * len;\n const y = Math.cos(radian) * len;\n\n return { x, y };\n\n}\n\nexport function getAngleByPos(px, py, mx, my) {\n\n const x = Math.abs(px - mx);\n const y = Math.abs(py - my);\n\n const z = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));\n const cos = y / z;\n const radina = Math.acos(cos); // 用反三角函数求弧度\n let angle = Math.floor(180 / (Math.PI / radina) * 100) / 100; // 将弧度转换成角度\n\n if (mx > px && my > py) {// 鼠标在第四象限\n angle = 180 - angle;\n }\n if (mx === px && my > py) {// 鼠标在y轴负方向上\n angle = 180;\n }\n if (mx > px && my === py) {// 鼠标在x轴正方向上\n angle = 90;\n }\n if (mx < px && my > py) {// 鼠标在第三象限\n angle = 180 + angle;\n }\n if (mx < px && my === py) {// 鼠标在x轴负方向\n angle = 270;\n }\n if (mx < px && my < py) {// 鼠标在第二象限\n angle = 360 - angle;\n }\n\n // console.log('angle: ', angle);\n return angle;\n\n}\n\nexport function exchangeNodePos(baseNode, targetNode) {\n return baseNode.convertToNodeSpaceAR(targetNode._parent.convertToWorldSpaceAR(cc.v2(targetNode.x, targetNode.y)));\n}\n\nexport function RandomInt(a, b = 0) {\n let max = Math.max(a, b);\n let min = Math.min(a, b);\n return Math.floor(Math.random() * (max - min) + min);\n}\n\nexport function Between(a, b, c) {\n return [a, b, c].sort((a, b) => a - b)[1];\n}\n\nexport function randomSortByArr(arr) {\n const newArr = [];\n const tmpArr = arr.concat();\n while (tmpArr.length > 0) {\n const randomIndex = Math.floor(tmpArr.length * Math.random());\n newArr.push(tmpArr[randomIndex]);\n tmpArr.splice(randomIndex, 1);\n }\n return newArr;\n}\n\nexport async function asyncTweenTo(node, duration, obj, ease = undefined) {\n return new Promise((resolve, reject) => {\n cc.tween(node)\n .to(duration, obj, ease)\n .call(() => {\n resolve();\n })\n .start();\n });\n}\n\nexport async function asyncTweenBy(node, duration, obj, ease = undefined) {\n return new Promise((resolve, reject) => {\n cc.tween(node)\n .by(duration, obj, ease)\n .call(() => {\n resolve();\n })\n .start();\n });\n}\n\nexport async function asyncPlayDragonBoneAnimation(node, animationName, time = 1, onFrameEvent) {\n return new Promise((resolve, reject) => {\n node.getComponent(dragonBones.ArmatureDisplay)\n .once(dragonBones.EventObject.COMPLETE, () => {\n resolve();\n });\n\n node.getComponent(dragonBones.ArmatureDisplay)\n .on(dragonBones.EventObject.FRAME_EVENT, ({ name }) => {\n if (onFrameEvent && typeof (onFrameEvent) == 'function') {\n onFrameEvent(name);\n }\n });\n\n node.getComponent(dragonBones.ArmatureDisplay)\n .playAnimation(animationName, time);\n });\n}\n\nexport async function asyncPlayEffectByUrl(url, loop = false) {\n return new Promise((resolve, reject) => {\n cc.assetManager.loadRemote(url, (err, clip) => {\n console.log(clip);\n cc.audioEngine.playEffect(clip, loop);\n resolve();\n });\n });\n}\n\nexport async function jelly(node) {\n return new Promise((resolve, reject) => {\n cc.tween(node)\n .to(0.1, { scaleX: 0.9, scaleY: 1.1 })\n .to(0.1, { scaleX: 1.1, scaleY: 0.9 })\n .to(0.1, { scaleX: 1, scaleY: 1 })\n .call(resolve)\n .start();\n });\n}\n\nexport async function asyncDelay(time) {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve();\n }, time * 1000);\n })\n}\n\nexport async function showFireworks(baseNode, nodeList, pos = cc.v2(0, 0), side = cc.v2(0, 100), range = 50, number = 100) {\n new Array(number).fill(' ').forEach(async (_, i) => {\n\n let rabbonNode = new cc.Node();\n rabbonNode.parent = baseNode;\n rabbonNode.x = pos.x;\n rabbonNode.y = pos.y;\n rabbonNode.angle = 60 * Math.random() - 30;\n\n let node = cc.instantiate(nodeList[RandomInt(nodeList.length)]);\n node.parent = rabbonNode;\n node.active = true;\n node.x = 0;\n node.y = 0;\n node.angle = 0;\n\n const rate = Math.random();\n const angle = Math.PI * (Math.random() * 2 - 1);\n\n await asyncTweenBy(rabbonNode, 0.3, {\n x: side.x * rate + Math.cos(angle) * range * rate,\n y: side.y * rate + Math.sin(angle) * range * rate\n }, {\n easing: 'quadIn'\n });\n\n cc.tween(rabbonNode)\n .by(8, { y: -2000 })\n .start();\n\n rabbonFall(rabbonNode);\n\n await asyncDelay(Math.random());\n cc.tween(node)\n .by(0.15, { x: -10, angle: -10 })\n .by(0.3, { x: 20, angle: 20 })\n .by(0.15, { x: -10, angle: -10 })\n .union()\n .repeatForever()\n .start();\n\n cc.tween(rabbonNode)\n .delay(5)\n .to(0.3, { opacity: 0 })\n .call(() => {\n node.stopAllActions();\n node.active = false;\n node.parent = null;\n node = null;\n })\n .start();\n });\n}\n\nasync function rabbonFall(node) {\n const time = 1 + Math.random();\n const offsetX = RandomInt(-200, 200) * time;\n await asyncTweenBy(node, time, { x: offsetX, angle: offsetX * 60 / 200 });\n rabbonFall(node);\n}\n\n\nexport function loadSpine(skeleton, picName, {tex, atlas, ske}) {\n return new Promise((resolve, reject) => {\n // cc.loader.load({ url: tex, type: 'png' }, (error, texture) => {\n cc.assetManager.loadRemote(tex, (error, texture) => {\n if (error) {\n reject();\n return;\n }\n // cc.loader.load({ url: atlas, type: 'txt' }, (error, atlasJson) => {\n cc.assetManager.loadAny({ url: atlas }, (error, atlasJson) => {\n if (error) {\n reject();\n return;\n }\n // cc.loader.load({ url: ske, type: 'txt' }, (error, dragonBonesJson) => {\n cc.assetManager.loadAny({ url: ske }, (error, dragonBonesJson) => {\n if (error) {\n reject();\n return;\n }\n \n \n var asset = new sp.SkeletonData();\n asset._uuid = ske;\n asset.skeletonJson = JSON.stringify( dragonBonesJson );\n asset.atlasText = atlasJson;\n asset.textures = [texture];\n asset.textureNames = [picName];\n \n console.log('picName: ', picName);\n \n skeleton.skeletonData = asset;\n \n \n const jsonObj = dragonBonesJson //JSON.parse( assets[1]);\n const animationNameObj = jsonObj.animations;\n let animationNames = [];\n for (let name in animationNameObj) {\n console.log('name~~: ', name);\n animationNames.push(name);\n }\n console.log(\"skeleton.animation: \", skeleton.animation);\n skeleton.animationNames = animationNames;\n skeleton.loop = false;\n\n console.log(\"jsonObj : \", jsonObj)\n console.log(\"jsonObj['skeleton'] : \", jsonObj['skeleton'])\n \n resolve(jsonObj['skeleton']);\n \n\n });\n });\n });\n });\n \n }\n \n\n\n\n\nexport function onHomeworkFinish() {\n\tconst middleLayer = cc.find('middleLayer');\n\tif (middleLayer) {\n\t const middleLayerComponent = middleLayer.getComponent('middleLayer');\n\t if (middleLayerComponent.role == 'student') {\n\t\tmiddleLayerComponent.onHomeworkFinish(() => { });\n\t }\n\t} else {\n\t console.log('onHomeworkFinish');\n\t}\n }"]}
\ No newline at end of file
{"version":3,"sources":["assets\\OP13\\script\\verlet_assembler.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import PageEffectAssemblerBase from \"./page_effect_assembler_base\";\r\n\r\nconst gfx = cc.gfx\r\n\r\nlet vfmtPosUvColorFront = new gfx.VertexFormat([\r\n { name: gfx.ATTR_POSITION, type: gfx.ATTR_TYPE_FLOAT32, num: 2 },\r\n { name: gfx.ATTR_UV0, type: gfx.ATTR_TYPE_FLOAT32, num: 2 },\r\n { name: gfx.ATTR_COLOR, type: gfx.ATTR_TYPE_UINT8, num: 4, normalize: true },\r\n { name: \"a_isFront\", type: gfx.ATTR_TYPE_FLOAT32, num: 1},\r\n]);\r\n\r\nexport default class VerletAssembler extends PageEffectAssemblerBase {\r\n\r\n init(comp: cc.RenderComponent) {\r\n super.init(comp);\r\n\r\n //@ts-ignore\r\n let segmentCount = comp.pointsCount - 1;\r\n this.verticesCount = 4 * segmentCount;\r\n this.indicesCount = 6 * segmentCount;\r\n this.floatsPerVert = 6;\r\n \r\n this.initData();\r\n }\r\n\r\n getVfmt() {\r\n return vfmtPosUvColorFront;\r\n }\r\n \r\n public updateRenderData (comp: any) {\r\n if (comp) {\r\n let pointList: cc.Vec2[] = comp.getPointList()\r\n let pointNum: number = pointList.length\r\n if (pointNum < 2) {\r\n return\r\n }\r\n\r\n let node = comp.node\r\n let height = node.height\r\n let width = node.width\r\n let posX = - width * node.anchorX\r\n let posY = - height * node.anchorY\r\n\r\n let gapU = 1 / (pointNum - 1)\r\n let lastU = 0\r\n let nextU = 0\r\n\r\n let floatsPerVert = this.floatsPerVert;\r\n let verts = this.renderData.vDatas[0];\r\n // 写verts时的下标\r\n let dstOffset = 0;\r\n for (let i = 1; i < pointNum; i++) {\r\n let lastPoint = pointList[i - 1]\r\n let nextPoint = pointList[i]\r\n nextU = lastU + gapU\r\n\r\n // 顶点和质点一一对应\r\n // 顶点数据写入verts\r\n dstOffset = floatsPerVert * (i-1) * 4;\r\n verts[dstOffset] = posX + lastPoint.x;\r\n verts[dstOffset + 1] = posY + lastPoint.y;\r\n verts[dstOffset + 2] = lastU;\r\n verts[dstOffset + 3] = 1;\r\n dstOffset += floatsPerVert;\r\n\r\n verts[dstOffset] = posX + nextPoint.x;\r\n verts[dstOffset + 1] = posY + nextPoint.y;\r\n verts[dstOffset + 2] = nextU;\r\n verts[dstOffset + 3] = 1;\r\n dstOffset += floatsPerVert;\r\n\r\n verts[dstOffset] = posX + lastPoint.x;\r\n verts[dstOffset + 1] = posY + height + lastPoint.y;\r\n verts[dstOffset + 2] = lastU;\r\n verts[dstOffset + 3] = 0;\r\n dstOffset += floatsPerVert;\r\n\r\n verts[dstOffset] = posX + nextPoint.x;\r\n verts[dstOffset + 1] = posY + height + nextPoint.y;\r\n verts[dstOffset + 2] = nextU;\r\n verts[dstOffset + 3] = 0;\r\n\r\n lastU = nextU\r\n }\r\n\r\n this.updateColor(comp, null);\r\n this.updateIsFront(comp, 5);\r\n }\r\n }\r\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/OP13/script/verlet_assembler.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import PageEffectAssemblerBase from \"./page_effect_assembler_base\";\n\nconst gfx = cc.gfx\n\nlet vfmtPosUvColorFront = new gfx.VertexFormat([\n { name: gfx.ATTR_POSITION, type: gfx.ATTR_TYPE_FLOAT32, num: 2 },\n { name: gfx.ATTR_UV0, type: gfx.ATTR_TYPE_FLOAT32, num: 2 },\n { name: gfx.ATTR_COLOR, type: gfx.ATTR_TYPE_UINT8, num: 4, normalize: true },\n { name: \"a_isFront\", type: gfx.ATTR_TYPE_FLOAT32, num: 1},\n]);\n\nexport default class VerletAssembler extends PageEffectAssemblerBase {\n\n init(comp: cc.RenderComponent) {\n super.init(comp);\n\n //@ts-ignore\n let segmentCount = comp.pointsCount - 1;\n this.verticesCount = 4 * segmentCount;\n this.indicesCount = 6 * segmentCount;\n this.floatsPerVert = 6;\n \n this.initData();\n }\n\n getVfmt() {\n return vfmtPosUvColorFront;\n }\n \n public updateRenderData (comp: any) {\n if (comp) {\n let pointList: cc.Vec2[] = comp.getPointList()\n let pointNum: number = pointList.length\n if (pointNum < 2) {\n return\n }\n\n let node = comp.node\n let height = node.height\n let width = node.width\n let posX = - width * node.anchorX\n let posY = - height * node.anchorY\n\n let gapU = 1 / (pointNum - 1)\n let lastU = 0\n let nextU = 0\n\n let floatsPerVert = this.floatsPerVert;\n let verts = this.renderData.vDatas[0];\n // 写verts时的下标\n let dstOffset = 0;\n for (let i = 1; i < pointNum; i++) {\n let lastPoint = pointList[i - 1]\n let nextPoint = pointList[i]\n nextU = lastU + gapU\n\n // 顶点和质点一一对应\n // 顶点数据写入verts\n dstOffset = floatsPerVert * (i-1) * 4;\n verts[dstOffset] = posX + lastPoint.x;\n verts[dstOffset + 1] = posY + lastPoint.y;\n verts[dstOffset + 2] = lastU;\n verts[dstOffset + 3] = 1;\n dstOffset += floatsPerVert;\n\n verts[dstOffset] = posX + nextPoint.x;\n verts[dstOffset + 1] = posY + nextPoint.y;\n verts[dstOffset + 2] = nextU;\n verts[dstOffset + 3] = 1;\n dstOffset += floatsPerVert;\n\n verts[dstOffset] = posX + lastPoint.x;\n verts[dstOffset + 1] = posY + height + lastPoint.y;\n verts[dstOffset + 2] = lastU;\n verts[dstOffset + 3] = 0;\n dstOffset += floatsPerVert;\n\n verts[dstOffset] = posX + nextPoint.x;\n verts[dstOffset + 1] = posY + height + nextPoint.y;\n verts[dstOffset + 2] = nextU;\n verts[dstOffset + 3] = 0;\n\n lastU = nextU\n }\n\n this.updateColor(comp, null);\n this.updateIsFront(comp, 5);\n }\n }\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets\\OP13\\script\\verlet_render.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import VerletAssembler from \"./verlet_assembler\";\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n\r\nclass PagePoint {\r\n public oldPos: cc.Vec2\r\n public newPos: cc.Vec2\r\n\r\n constructor(x: number, y: number) {\r\n this.oldPos = this.newPos = cc.v2(x, y)\r\n }\r\n}\r\n\r\n@ccclass\r\nexport default class VerletRender extends cc.RenderComponent {\r\n @property({ type: [cc.Texture2D], displayName: \"纹理\" })\r\n public textureList: cc.Texture2D[] = []\r\n\r\n @property({ displayName: \"每条边上的顶点数量\" })\r\n public pointsCount: number = 30\r\n\r\n @property({ displayName: \"纠正次数\" })\r\n public constraintTimes: number = 100\r\n\r\n @property({ displayName: \"速度衰减系数\" })\r\n public damping: number = 0.1\r\n\r\n @property({ displayName: \"重力\" })\r\n public gravity: number = 0\r\n\r\n protected _initedMaterial: boolean = false\r\n private _pointList: PagePoint[] = []\r\n private _angle: number = 0\r\n\r\n onEnable() {\r\n super.onEnable();\r\n this.initPointList();\r\n this.draw();\r\n }\r\n\r\n public _resetAssembler() {\r\n let assembler = this._assembler = new VerletAssembler()\r\n assembler.init(this)\r\n }\r\n\r\n protected _updateMaterial() {\r\n let material = this.getMaterial(0)\r\n if (material) {\r\n material.define('CC_USE_MODEL', 1);\r\n if (this.textureList.length === 2) {\r\n material.setProperty('texture0', this.textureList[0]);\r\n material.setProperty('texture1', this.textureList[1]);\r\n }\r\n }\r\n }\r\n\r\n protected updateMaterial() {\r\n if (this.textureList.length === 2) {\r\n this._updateMaterial()\r\n this._initedMaterial = true\r\n return\r\n }\r\n }\r\n\r\n public updateAngle(angle: number) {\r\n this._angle = angle\r\n }\r\n\r\n public getPointList() {\r\n let pointList: cc.Vec2[] = []\r\n for (let point of this._pointList) {\r\n pointList.push(new cc.Vec2(point.newPos.x, point.newPos.y))\r\n }\r\n\r\n return pointList\r\n }\r\n\r\n // 初始化质点\r\n public initPointList() {\r\n for (let i = 0; i < this.pointsCount; ++i) {\r\n let posX = i / (this.pointsCount - 1) * this.node.width\r\n this._pointList.push(new PagePoint(posX, 0))\r\n }\r\n }\r\n\r\n public update() {\r\n this.simulate()\r\n this.applyConstraint()\r\n this.draw()\r\n }\r\n\r\n // 使用verlet积分更新位置\r\n public simulate() {\r\n let gravity = cc.v2(0, this.gravity)\r\n for (let i = this.pointsCount - 1; i >= 1; i--) {\r\n let point = this._pointList[i]\r\n // 速度等于当前位置与上一个位置的差乘上衰减系数\r\n let velocity: cc.Vec2 = point.newPos.sub(point.oldPos).mul(this.damping)\r\n // 模拟一个水平放置的绳子,当y小于等于0时,将不再受重力影响\r\n if (point.newPos.y <= 0) {\r\n gravity.y = Math.max(0, gravity.y)\r\n }\r\n point.oldPos = point.newPos\r\n point.newPos = point.newPos.add(velocity)\r\n point.newPos = point.newPos.add(gravity)\r\n }\r\n }\r\n\r\n private _updateEndPos(endPos: cc.Vec2) {\r\n let tailPoint = this._pointList[this.pointsCount - 1]\r\n tailPoint.newPos = new cc.Vec2(endPos.x, endPos.y)\r\n }\r\n\r\n private _getEndPos(): cc.Vec2 {\r\n let endPos = new cc.Vec2(0, 0)\r\n let width = this.node.width\r\n let rad = this._angle * Math.PI / 180\r\n\r\n // 与贝塞尔曲线使用相同的运动轨迹\r\n let per = rad * 2 / Math.PI\r\n if (this._angle <= 90) {\r\n let endPosX = width * (1 - Math.pow(per, 3))\r\n let endPosY = width * 1 / 4 * (1 - Math.pow(1 - per, 4))\r\n endPos = new cc.Vec2(endPosX, endPosY)\r\n } else {\r\n per = per - 1\r\n let endPosX = - width * (1 - Math.pow(1 - per, 3))\r\n let endPosY = width * 1 / 4 * (1 - Math.pow(per, 4))\r\n endPos = new cc.Vec2(endPosX, endPosY)\r\n }\r\n\r\n\r\n return endPos\r\n }\r\n // 约束纠正\r\n public applyConstraint() {\r\n // 两个质点之间的固定距离\r\n let normalDistance = this.node.width / (this.pointsCount - 1)\r\n let endPos = this._getEndPos()\r\n for (let t = 0; t < this.constraintTimes; t++) {\r\n this._updateEndPos(endPos)\r\n //由最后一个质点开始依次纠正\r\n for (let i = this.pointsCount - 1; i >= 1; i--) {\r\n let firstPoint = this._pointList[i - 1]\r\n let secondPoint = this._pointList[i]\r\n let delatPos = secondPoint.newPos.sub(firstPoint.newPos)\r\n let distance = delatPos.mag()\r\n let fixDirection: cc.Vec2 = null\r\n if (distance < normalDistance) {\r\n fixDirection = delatPos.normalize().negate()\r\n } else if (distance > normalDistance) {\r\n fixDirection = delatPos.normalize()\r\n } else {\r\n continue\r\n }\r\n\r\n let fixLen = Math.abs(distance - normalDistance)\r\n if (i == 1) {\r\n // 由于第一个质点是固定的,所以只对第二个质点做纠正\r\n let fixVector = fixDirection.mul(fixLen)\r\n secondPoint.newPos.subSelf(fixVector)\r\n } else {\r\n // 将两个质点之间的距离纠正为固定长度\r\n let fixHalfVector = fixDirection.mul(fixLen * 0.5)\r\n firstPoint.newPos.addSelf(fixHalfVector)\r\n secondPoint.newPos.subSelf(fixHalfVector)\r\n }\r\n }\r\n }\r\n }\r\n\r\n public draw() {\r\n if (!this._initedMaterial) {\r\n this.updateMaterial()\r\n }\r\n\r\n this.setVertsDirty()\r\n }\r\n}"]}
\ No newline at end of file
{"version":3,"sources":["assets/OP13/script/verlet_render.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import VerletAssembler from \"./verlet_assembler\";\n\nconst { ccclass, property } = cc._decorator;\n\nclass PagePoint {\n public oldPos: cc.Vec2\n public newPos: cc.Vec2\n\n constructor(x: number, y: number) {\n this.oldPos = this.newPos = cc.v2(x, y)\n }\n}\n\n@ccclass\nexport default class VerletRender extends cc.RenderComponent {\n @property({ type: [cc.Texture2D], displayName: \"纹理\" })\n public textureList: cc.Texture2D[] = []\n\n @property({ displayName: \"每条边上的顶点数量\" })\n public pointsCount: number = 30\n\n @property({ displayName: \"纠正次数\" })\n public constraintTimes: number = 100\n\n @property({ displayName: \"速度衰减系数\" })\n public damping: number = 0.1\n\n @property({ displayName: \"重力\" })\n public gravity: number = 0\n\n protected _initedMaterial: boolean = false\n private _pointList: PagePoint[] = []\n private _angle: number = 0\n\n onEnable() {\n super.onEnable();\n this.initPointList();\n this.draw();\n }\n\n public _resetAssembler() {\n let assembler = this._assembler = new VerletAssembler()\n assembler.init(this)\n }\n\n protected _updateMaterial() {\n let material = this.getMaterial(0)\n if (material) {\n material.define('CC_USE_MODEL', 1);\n if (this.textureList.length === 2) {\n material.setProperty('texture0', this.textureList[0]);\n material.setProperty('texture1', this.textureList[1]);\n }\n }\n }\n\n protected updateMaterial() {\n if (this.textureList.length === 2) {\n this._updateMaterial()\n this._initedMaterial = true\n return\n }\n }\n\n public updateAngle(angle: number) {\n this._angle = angle\n }\n\n public getPointList() {\n let pointList: cc.Vec2[] = []\n for (let point of this._pointList) {\n pointList.push(new cc.Vec2(point.newPos.x, point.newPos.y))\n }\n\n return pointList\n }\n\n // 初始化质点\n public initPointList() {\n for (let i = 0; i < this.pointsCount; ++i) {\n let posX = i / (this.pointsCount - 1) * this.node.width\n this._pointList.push(new PagePoint(posX, 0))\n }\n }\n\n public update() {\n this.simulate()\n this.applyConstraint()\n this.draw()\n }\n\n // 使用verlet积分更新位置\n public simulate() {\n let gravity = cc.v2(0, this.gravity)\n for (let i = this.pointsCount - 1; i >= 1; i--) {\n let point = this._pointList[i]\n // 速度等于当前位置与上一个位置的差乘上衰减系数\n let velocity: cc.Vec2 = point.newPos.sub(point.oldPos).mul(this.damping)\n // 模拟一个水平放置的绳子,当y小于等于0时,将不再受重力影响\n if (point.newPos.y <= 0) {\n gravity.y = Math.max(0, gravity.y)\n }\n point.oldPos = point.newPos\n point.newPos = point.newPos.add(velocity)\n point.newPos = point.newPos.add(gravity)\n }\n }\n\n private _updateEndPos(endPos: cc.Vec2) {\n let tailPoint = this._pointList[this.pointsCount - 1]\n tailPoint.newPos = new cc.Vec2(endPos.x, endPos.y)\n }\n\n private _getEndPos(): cc.Vec2 {\n let endPos = new cc.Vec2(0, 0)\n let width = this.node.width\n let rad = this._angle * Math.PI / 180\n\n // 与贝塞尔曲线使用相同的运动轨迹\n let per = rad * 2 / Math.PI\n if (this._angle <= 90) {\n let endPosX = width * (1 - Math.pow(per, 3))\n let endPosY = width * 1 / 4 * (1 - Math.pow(1 - per, 4))\n endPos = new cc.Vec2(endPosX, endPosY)\n } else {\n per = per - 1\n let endPosX = - width * (1 - Math.pow(1 - per, 3))\n let endPosY = width * 1 / 4 * (1 - Math.pow(per, 4))\n endPos = new cc.Vec2(endPosX, endPosY)\n }\n\n\n return endPos\n }\n // 约束纠正\n public applyConstraint() {\n // 两个质点之间的固定距离\n let normalDistance = this.node.width / (this.pointsCount - 1)\n let endPos = this._getEndPos()\n for (let t = 0; t < this.constraintTimes; t++) {\n this._updateEndPos(endPos)\n //由最后一个质点开始依次纠正\n for (let i = this.pointsCount - 1; i >= 1; i--) {\n let firstPoint = this._pointList[i - 1]\n let secondPoint = this._pointList[i]\n let delatPos = secondPoint.newPos.sub(firstPoint.newPos)\n let distance = delatPos.mag()\n let fixDirection: cc.Vec2 = null\n if (distance < normalDistance) {\n fixDirection = delatPos.normalize().negate()\n } else if (distance > normalDistance) {\n fixDirection = delatPos.normalize()\n } else {\n continue\n }\n\n let fixLen = Math.abs(distance - normalDistance)\n if (i == 1) {\n // 由于第一个质点是固定的,所以只对第二个质点做纠正\n let fixVector = fixDirection.mul(fixLen)\n secondPoint.newPos.subSelf(fixVector)\n } else {\n // 将两个质点之间的距离纠正为固定长度\n let fixHalfVector = fixDirection.mul(fixLen * 0.5)\n firstPoint.newPos.addSelf(fixHalfVector)\n secondPoint.newPos.subSelf(fixHalfVector)\n }\n }\n }\n }\n\n public draw() {\n if (!this._initedMaterial) {\n this.updateMaterial()\n }\n\n this.setVertsDirty()\n }\n}"]}
\ No newline at end of file
{"pid":12660}
{"pid":58410}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment