@ytsaurus/ui 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/public/build/assets-manifest.json +20 -20
- package/dist/public/build/js/1422.2980037b.chunk.js +2 -0
- package/dist/public/build/js/1422.2980037b.chunk.js.map +1 -0
- package/dist/public/build/js/{4253.1e48a7d8.chunk.js → 4253.9c5e22a8.chunk.js} +3 -3
- package/dist/public/build/js/4253.9c5e22a8.chunk.js.map +1 -0
- package/dist/public/build/js/{cluster-page-wrapper.d9f0e479.chunk.js → cluster-page-wrapper.7ee2ebb7.chunk.js} +2 -2
- package/dist/public/build/js/{cluster-page-wrapper.d9f0e479.chunk.js.map → cluster-page-wrapper.7ee2ebb7.chunk.js.map} +1 -1
- package/dist/public/build/js/{main.910247d4.js → main.83f42e63.js} +3 -3
- package/dist/public/build/js/{main.910247d4.js.map → main.83f42e63.js.map} +1 -1
- package/dist/public/build/js/query-tracker.2a1efcb7.chunk.js +2 -0
- package/dist/public/build/js/query-tracker.2a1efcb7.chunk.js.map +1 -0
- package/dist/public/build/js/{runtime.ff41a284.js → runtime.42f2261f.js} +2 -2
- package/dist/public/build/js/{runtime.ff41a284.js.map → runtime.42f2261f.js.map} +1 -1
- package/dist/public/build/js/{scheduling.43b30898.chunk.js → scheduling.893e96af.chunk.js} +2 -2
- package/dist/public/build/js/{scheduling.43b30898.chunk.js.map → scheduling.893e96af.chunk.js.map} +1 -1
- package/dist/public/build/js/yt-queries-list.3fb2ae8e.chunk.js +2 -0
- package/dist/public/build/js/yt-queries-list.3fb2ae8e.chunk.js.map +1 -0
- package/dist/public/build/manifest.json +16 -16
- package/package.json +2 -2
- package/dist/public/build/js/2142.27bbbca6.chunk.js +0 -2
- package/dist/public/build/js/2142.27bbbca6.chunk.js.map +0 -1
- package/dist/public/build/js/4253.1e48a7d8.chunk.js.map +0 -1
- package/dist/public/build/js/query-tracker.17719828.chunk.js +0 -2
- package/dist/public/build/js/query-tracker.17719828.chunk.js.map +0 -1
- package/dist/public/build/js/yt-queries-list.0737c4ce.chunk.js +0 -2
- package/dist/public/build/js/yt-queries-list.0737c4ce.chunk.js.map +0 -1
- /package/dist/public/build/js/{4253.1e48a7d8.chunk.js.LICENSE.txt → 4253.9c5e22a8.chunk.js.LICENSE.txt} +0 -0
- /package/dist/public/build/js/{main.910247d4.js.LICENSE.txt → main.83f42e63.js.LICENSE.txt} +0 -0
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"cluster-menu.css": "css/cluster-menu.d8cafef3.chunk.css",
|
|
31
31
|
"cluster-menu.js": "js/cluster-menu.12b81f0b.chunk.js",
|
|
32
32
|
"cluster-page-wrapper.css": "css/cluster-page-wrapper.c5126834.chunk.css",
|
|
33
|
-
"cluster-page-wrapper.js": "js/cluster-page-wrapper.
|
|
33
|
+
"cluster-page-wrapper.js": "js/cluster-page-wrapper.7ee2ebb7.chunk.js",
|
|
34
34
|
"code-assistant-chat.css": "css/code-assistant-chat.12ac3bf4.chunk.css",
|
|
35
35
|
"code-assistant-chat.js": "js/code-assistant-chat.4275144c.chunk.js",
|
|
36
36
|
"components.css": "css/components.8e3adcf7.chunk.css",
|
|
@@ -248,9 +248,9 @@
|
|
|
248
248
|
"main": {
|
|
249
249
|
"assets": {
|
|
250
250
|
"js": [
|
|
251
|
-
"js/runtime.
|
|
251
|
+
"js/runtime.42f2261f.js",
|
|
252
252
|
"js/vendors.b8fd2db8.js",
|
|
253
|
-
"js/main.
|
|
253
|
+
"js/main.83f42e63.js"
|
|
254
254
|
],
|
|
255
255
|
"css": [
|
|
256
256
|
"css/main.47a6a708.css"
|
|
@@ -297,6 +297,8 @@
|
|
|
297
297
|
"js/1411.818018dc.chunk.js": "js/1411.818018dc.chunk.js",
|
|
298
298
|
"js/1411.818018dc.chunk.js.LICENSE.txt": "js/1411.818018dc.chunk.js.LICENSE.txt",
|
|
299
299
|
"js/1411.818018dc.chunk.js.map": "js/1411.818018dc.chunk.js.map",
|
|
300
|
+
"js/1422.2980037b.chunk.js": "js/1422.2980037b.chunk.js",
|
|
301
|
+
"js/1422.2980037b.chunk.js.map": "js/1422.2980037b.chunk.js.map",
|
|
300
302
|
"js/1472.2a305c14.chunk.js": "js/1472.2a305c14.chunk.js",
|
|
301
303
|
"js/1472.2a305c14.chunk.js.map": "js/1472.2a305c14.chunk.js.map",
|
|
302
304
|
"js/1501.d4acddca.chunk.js": "js/1501.d4acddca.chunk.js",
|
|
@@ -349,8 +351,6 @@
|
|
|
349
351
|
"js/2113.678a506e.chunk.js": "js/2113.678a506e.chunk.js",
|
|
350
352
|
"js/2113.678a506e.chunk.js.LICENSE.txt": "js/2113.678a506e.chunk.js.LICENSE.txt",
|
|
351
353
|
"js/2113.678a506e.chunk.js.map": "js/2113.678a506e.chunk.js.map",
|
|
352
|
-
"js/2142.27bbbca6.chunk.js": "js/2142.27bbbca6.chunk.js",
|
|
353
|
-
"js/2142.27bbbca6.chunk.js.map": "js/2142.27bbbca6.chunk.js.map",
|
|
354
354
|
"js/2145.26a3a1a7.chunk.js": "js/2145.26a3a1a7.chunk.js",
|
|
355
355
|
"js/2145.26a3a1a7.chunk.js.map": "js/2145.26a3a1a7.chunk.js.map",
|
|
356
356
|
"js/2152.0eb05ac6.chunk.js": "js/2152.0eb05ac6.chunk.js",
|
|
@@ -486,9 +486,9 @@
|
|
|
486
486
|
"js/4135.976941a5.chunk.js.map": "js/4135.976941a5.chunk.js.map",
|
|
487
487
|
"js/4163.848e1939.chunk.js": "js/4163.848e1939.chunk.js",
|
|
488
488
|
"js/4163.848e1939.chunk.js.map": "js/4163.848e1939.chunk.js.map",
|
|
489
|
-
"js/4253.
|
|
490
|
-
"js/4253.
|
|
491
|
-
"js/4253.
|
|
489
|
+
"js/4253.9c5e22a8.chunk.js": "js/4253.9c5e22a8.chunk.js",
|
|
490
|
+
"js/4253.9c5e22a8.chunk.js.LICENSE.txt": "js/4253.9c5e22a8.chunk.js.LICENSE.txt",
|
|
491
|
+
"js/4253.9c5e22a8.chunk.js.map": "js/4253.9c5e22a8.chunk.js.map",
|
|
492
492
|
"js/4268.18cff25a.chunk.js": "js/4268.18cff25a.chunk.js",
|
|
493
493
|
"js/4268.18cff25a.chunk.js.map": "js/4268.18cff25a.chunk.js.map",
|
|
494
494
|
"js/4299.a6d46124.chunk.js": "js/4299.a6d46124.chunk.js",
|
|
@@ -878,7 +878,7 @@
|
|
|
878
878
|
"js/chyt.4541561d.chunk.js.map": "js/chyt.4541561d.chunk.js.map",
|
|
879
879
|
"js/clickhouse-autocomplete.88fe8e11.chunk.js.map": "js/clickhouse-autocomplete.88fe8e11.chunk.js.map",
|
|
880
880
|
"js/cluster-menu.12b81f0b.chunk.js.map": "js/cluster-menu.12b81f0b.chunk.js.map",
|
|
881
|
-
"js/cluster-page-wrapper.
|
|
881
|
+
"js/cluster-page-wrapper.7ee2ebb7.chunk.js.map": "js/cluster-page-wrapper.7ee2ebb7.chunk.js.map",
|
|
882
882
|
"js/code-assistant-chat.4275144c.chunk.js.map": "js/code-assistant-chat.4275144c.chunk.js.map",
|
|
883
883
|
"js/components.ac6b4ad3.chunk.js.map": "js/components.ac6b4ad3.chunk.js.map",
|
|
884
884
|
"js/dashboard.90703886.chunk.js.map": "js/dashboard.90703886.chunk.js.map",
|
|
@@ -886,8 +886,8 @@
|
|
|
886
886
|
"js/groups.22f05e2d.chunk.js.map": "js/groups.22f05e2d.chunk.js.map",
|
|
887
887
|
"js/incarnations.5672a83c.chunk.js.map": "js/incarnations.5672a83c.chunk.js.map",
|
|
888
888
|
"js/job.a9ec9818.chunk.js.map": "js/job.a9ec9818.chunk.js.map",
|
|
889
|
-
"js/main.
|
|
890
|
-
"js/main.
|
|
889
|
+
"js/main.83f42e63.js.LICENSE.txt": "js/main.83f42e63.js.LICENSE.txt",
|
|
890
|
+
"js/main.83f42e63.js.map": "js/main.83f42e63.js.map",
|
|
891
891
|
"js/manage-tokens.643da5f5.chunk.js.map": "js/manage-tokens.643da5f5.chunk.js.map",
|
|
892
892
|
"js/navigation-flow.f42363b4.chunk.js.map": "js/navigation-flow.f42363b4.chunk.js.map",
|
|
893
893
|
"js/navigation.0f0c924d.chunk.js.map": "js/navigation.0f0c924d.chunk.js.map",
|
|
@@ -895,11 +895,11 @@
|
|
|
895
895
|
"js/operations.660a5d96.chunk.js.map": "js/operations.660a5d96.chunk.js.map",
|
|
896
896
|
"js/path-viewer.09144838.chunk.js.map": "js/path-viewer.09144838.chunk.js.map",
|
|
897
897
|
"js/query-navigation.9fd7df83.chunk.js.map": "js/query-navigation.9fd7df83.chunk.js.map",
|
|
898
|
-
"js/query-tracker.
|
|
898
|
+
"js/query-tracker.2a1efcb7.chunk.js.map": "js/query-tracker.2a1efcb7.chunk.js.map",
|
|
899
899
|
"js/query-visualization.a379ee67.chunk.js.map": "js/query-visualization.a379ee67.chunk.js.map",
|
|
900
900
|
"js/query-widget.058dd95d.chunk.js.map": "js/query-widget.058dd95d.chunk.js.map",
|
|
901
|
-
"js/runtime.
|
|
902
|
-
"js/scheduling.
|
|
901
|
+
"js/runtime.42f2261f.js.map": "js/runtime.42f2261f.js.map",
|
|
902
|
+
"js/scheduling.893e96af.chunk.js.map": "js/scheduling.893e96af.chunk.js.map",
|
|
903
903
|
"js/settings-panel.8eb1e9f1.chunk.js.map": "js/settings-panel.8eb1e9f1.chunk.js.map",
|
|
904
904
|
"js/support-comonent.96d54c66.chunk.js.map": "js/support-comonent.96d54c66.chunk.js.map",
|
|
905
905
|
"js/system.575d664f.chunk.js.map": "js/system.575d664f.chunk.js.map",
|
|
@@ -917,7 +917,7 @@
|
|
|
917
917
|
"js/yt-df-dialog.2e422b36.chunk.js.map": "js/yt-df-dialog.2e422b36.chunk.js.map",
|
|
918
918
|
"js/yt-monaco-editor.2d113a81.chunk.js.map": "js/yt-monaco-editor.2d113a81.chunk.js.map",
|
|
919
919
|
"js/yt-queries-graph.515d473f.chunk.js.map": "js/yt-queries-graph.515d473f.chunk.js.map",
|
|
920
|
-
"js/yt-queries-list.
|
|
920
|
+
"js/yt-queries-list.3fb2ae8e.chunk.js.map": "js/yt-queries-list.3fb2ae8e.chunk.js.map",
|
|
921
921
|
"js/yt-query-token.d2159352.chunk.js.map": "js/yt-query-token.d2159352.chunk.js.map",
|
|
922
922
|
"js/yt-subject-suggest.c53f7558.chunk.js.map": "js/yt-subject-suggest.c53f7558.chunk.js.map",
|
|
923
923
|
"js/yt-user-suggest.8aff46dd.chunk.js.map": "js/yt-user-suggest.8aff46dd.chunk.js.map",
|
|
@@ -925,7 +925,7 @@
|
|
|
925
925
|
"json.5239aa2e.worker.js.LICENSE.txt": "json.5239aa2e.worker.js.LICENSE.txt",
|
|
926
926
|
"json.5239aa2e.worker.js.map": "json.5239aa2e.worker.js.map",
|
|
927
927
|
"main.css": "css/main.47a6a708.css",
|
|
928
|
-
"main.js": "js/main.
|
|
928
|
+
"main.js": "js/main.83f42e63.js",
|
|
929
929
|
"manage-tokens.css": "css/manage-tokens.9a74d930.chunk.css",
|
|
930
930
|
"manage-tokens.js": "js/manage-tokens.643da5f5.chunk.js",
|
|
931
931
|
"navigation-flow.css": "css/navigation-flow.ec80e3a1.chunk.css",
|
|
@@ -940,14 +940,14 @@
|
|
|
940
940
|
"query-navigation.css": "css/query-navigation.4dbdea2d.chunk.css",
|
|
941
941
|
"query-navigation.js": "js/query-navigation.9fd7df83.chunk.js",
|
|
942
942
|
"query-tracker.css": "css/query-tracker.b77df5c1.chunk.css",
|
|
943
|
-
"query-tracker.js": "js/query-tracker.
|
|
943
|
+
"query-tracker.js": "js/query-tracker.2a1efcb7.chunk.js",
|
|
944
944
|
"query-visualization.css": "css/query-visualization.c20674d0.chunk.css",
|
|
945
945
|
"query-visualization.js": "js/query-visualization.a379ee67.chunk.js",
|
|
946
946
|
"query-widget.css": "css/query-widget.27c08570.chunk.css",
|
|
947
947
|
"query-widget.js": "js/query-widget.058dd95d.chunk.js",
|
|
948
|
-
"runtime.js": "js/runtime.
|
|
948
|
+
"runtime.js": "js/runtime.42f2261f.js",
|
|
949
949
|
"scheduling.css": "css/scheduling.ff0daf1f.chunk.css",
|
|
950
|
-
"scheduling.js": "js/scheduling.
|
|
950
|
+
"scheduling.js": "js/scheduling.893e96af.chunk.js",
|
|
951
951
|
"settings-panel.css": "css/settings-panel.e1c01fa0.chunk.css",
|
|
952
952
|
"settings-panel.js": "js/settings-panel.8eb1e9f1.chunk.js",
|
|
953
953
|
"support-comonent.js": "js/support-comonent.96d54c66.chunk.js",
|
|
@@ -973,7 +973,7 @@
|
|
|
973
973
|
"yt-queries-graph.css": "css/yt-queries-graph.bcf236e7.chunk.css",
|
|
974
974
|
"yt-queries-graph.js": "js/yt-queries-graph.515d473f.chunk.js",
|
|
975
975
|
"yt-queries-list.css": "css/yt-queries-list.39d9dd99.chunk.css",
|
|
976
|
-
"yt-queries-list.js": "js/yt-queries-list.
|
|
976
|
+
"yt-queries-list.js": "js/yt-queries-list.3fb2ae8e.chunk.js",
|
|
977
977
|
"yt-query-token.css": "css/yt-query-token.edf6eef6.chunk.css",
|
|
978
978
|
"yt-query-token.js": "js/yt-query-token.d2159352.chunk.js",
|
|
979
979
|
"yt-subject-suggest.css": "css/yt-subject-suggest.83a90268.chunk.css",
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[1422],{16077:(e,t,r)=>{r.d(t,{A:()=>i});var n=r(40319),a=r(64922);const i=function(e){return(0,a.jsx)("svg",(0,n.A)((0,n.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,a.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M13.5 8a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0m-3.9-1.55a.75.75 0 1 0-1.2-.9L7.419 8.858 6.03 7.47a.75.75 0 0 0-1.06 1.06l2 2a.75.75 0 0 0 1.13-.08z",clipRule:"evenodd"})}))}},18309:(e,t,r)=>{r.d(t,{KO:()=>a,lq:()=>u,qo:()=>i});var n=r(81594);function a(e){return n.Oc.includes(e.state)}function i(e){return n.GU.includes(e.state)}function u(e){return n.j8.includes(e.state)}},19610:(e,t,r)=>{r.d(t,{y:()=>_});var n=r(13322),a=r(57976),i=r(52978),u=r(81594),o=r(38224),c=r.n(o),s=r(34455),l=r.n(s),d=r(7787),f=r(29970),v=r(32751),p=r(32151),m=r(92611);const y=JSON.parse('{"title_error":"Error","title_result":"Result","title_progress":"Progress","title_chart":"Chart","title_statistics":"Statistics","title_metadata":"Meta"}'),h=JSON.parse('{"title_error":"Ошибка","title_result":"Результат","title_progress":"Прогресс","title_chart":"График","title_statistics":"Статистика","title_metadata":"Метаданные"}'),A=(0,m.Kc)("yt:query-tracker-tabs",{en:y,ru:h});var _=function(){return function(e,t){var r,o,s=t(),m=(0,f.$Z)(s),y=(0,v._Z)(s);if(m){var h=[];m.state===u.RE.FAILED&&h.push({id:"error",title:A("title_error")}),m.state===u.RE.COMPLETED&&h.push.apply(h,(0,n.A)(c()(m.result_count,(function(e){var t=1===m.result_count?"":" #".concat(e+1);return{id:"result/".concat(e),title:A("title_result")+t}}))));var _=(0,a.eZ)(null==m?void 0:m.progress)?m.progress:{},g=Boolean(null==_||null===(r=_.yql_plan)||void 0===r?void 0:r.Basic.nodes.length)||Boolean(null==_||null===(o=_.yql_plan)||void 0===o||null===(o=o.Basic.links)||void 0===o?void 0:o.length);m.progress&&g&&h.push({id:"progress",title:A("title_progress")}),m.state===u.RE.COMPLETED&&(d.Ay.getQueryResultChartTab()&&m.result_count&&h.push.apply(h,(0,n.A)(c()(m.result_count,(function(e){var t=1===m.result_count?"":" #".concat(e+1);return{id:"chart-tab/".concat(e),title:A("title_chart")+t}})))),null!=_&&_.yql_statistics&&h.push({id:"statistic",title:A("title_statistics")})),h.push({id:"meta",title:A("title_metadata")}),e((0,i.Fd)(h));var x=l()(u.GU,(function(e){return(null==m?void 0:m.state)===e}));if(m&&x&&e((0,p.E9)(m)),!y&&h.length)if(m.state!==u.RE.FAILED){if(m.state===u.RE.COMPLETED){var w=h.find((function(e){return e.id.includes("result")}));if(w)return void e((0,i.YF)(w.id))}e(g?(0,i.YF)("progress"):(0,i.YF)("meta"))}else e((0,i.YF)("error"))}else e((0,i.Fd)([]))}}},20361:(e,t,r)=>{r.d(t,{J_:()=>A,Vm:()=>T,yz:()=>j,yZ:()=>k,lN:()=>w.lN,Y:()=>_,Ln:()=>x,D7:()=>w.D7,ps:()=>w.ps});var n=r(53775),a=r(28407),i=r(77810),u=r(33882),o=r(40319),c=r(9736),s=r(64922),l=r(68175),d=r(76872),f=r(54736),v=r(29347),p=r.n(v),m=r(27528),y=r.n(m),h=(0,d.A)("yt-dialog-error");function A(e){return(0,s.jsx)(f.z,(0,o.A)((0,o.A)({},e),{},{className:h()}))}function _(e){return p()(y()(e,(function(e,t){return e?{name:"error_".concat(t),type:"block",extras:{children:(0,s.jsx)(A,{error:e})}}:void 0})))}var g="FINAL_FORM/form-error";function x(e){return{validationErrors:(0,l.A)({},g,(0,s.jsx)(A,{error:e}))}}var w=r(67249);function b(){return Promise.all([r.e(8096),r.e(4428),r.e(5473),r.e(4724),r.e(9143),r.e(6030),r.e(1086),r.e(164),r.e(840),r.e(7422),r.e(2209),r.e(2640),r.e(2642),r.e(6756),r.e(3776),r.e(3536),r.e(937),r.e(9641),r.e(536),r.e(3320),r.e(7999),r.e(5423),r.e(827),r.e(2433),r.e(1051),r.e(8512),r.e(7315),r.e(3688),r.e(3559),r.e(5338),r.e(6680),r.e(5082),r.e(3676),r.e(2947),r.e(193),r.e(8992),r.e(2736)]).then(r.bind(r,8191))}var q,k=(q=(0,u.A)(i.lazy((0,a.A)((0,n.A)().mark((function e(){return(0,n.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b();case 2:return e.t0=e.sent.YTDialog,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),function(e){var t=i.useState(!1),r=(0,c.A)(t,2),n=r[0],a=r[1];return i.useEffect((function(){!n&&e.visible&&a(!0)}),[e.visible,n]),n?(0,s.jsx)(q,(0,o.A)({},e)):null});(0,u.A)(i.lazy((0,a.A)((0,n.A)().mark((function e(){return(0,n.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b();case 2:return e.t0=e.sent.RoleListControl,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"");var T=(0,u.A)(i.lazy((0,a.A)((0,n.A)().mark((function e(){return(0,n.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b();case 2:return e.t0=e.sent.EditableList,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),""),j=(0,u.A)(i.lazy((0,a.A)((0,n.A)().mark((function e(){return(0,n.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b();case 2:return e.t0=e.sent.TabFieldVertical,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))),"")},21003:(e,t,r)=>{r.d(t,{C:()=>i,S:()=>u});var n=r(64209),a=r(19314);function i(e,t){return(0,n.RK)("/".concat(e,"/").concat(a.YW.QUERIES).concat(t?"/".concat(t):""))}function u(e,t,r){var i=r.tableCluster,u=r.path,o=r.useDraft;return(0,n.RK)("/".concat(e,"/").concat(a.YW.QUERIES,"?"),{engine:t,path:u||void 0,cluster:i||e,useDraft:o||void 0})}},24297:(e,t,r)=>{r.d(t,{LA:()=>p,SK:()=>h,dR:()=>A,fU:()=>v,pG:()=>d,vy:()=>f,zJ:()=>m});var n=r(9736),a=r(41655),i=r.n(a),u=36e5,o=24*u,c=7*o,s=30*o,l=365*o,d=function(e,t){var r=t-e;if(r>=l){var n=Math.floor(r/l),a=Math.floor(r%l/s);return 0===a||n>4?"".concat(n,"y"):"".concat(n,"y ").concat(a,"mo")}if(r>=s){var i=Math.floor(r/s),d=Math.floor(r%s/o);return 0===d||i>4?"".concat(i,"mo"):"".concat(i,"mo ").concat(d,"d")}if(r>=c){var f=Math.floor(r/c),v=Math.floor(r%c/o);return 0===v||f>3?"".concat(f,"w"):"".concat(f,"w ").concat(v,"d")}if(r>=o){var p=Math.floor(r/o),m=Math.floor(r%o/u);return 0===m||p>4?"".concat(p,"d"):"".concat(p,"d ").concat(m,"h")}if(r>=u){var y=Math.floor(r/u),h=Math.floor(r%u/6e4);return 0===h||y>6?"".concat(y,"h"):"".concat(y,"h ").concat(h,"m")}var A=Math.round(r/6e4);return"".concat(A,"m")},f=function(e,t){var r=i()(e),n=i()(t);return n.isSame(r,"d")?"".concat(r.format("YYYY-MM-DD HH:mm")," — ").concat(n.format("HH:mm")):"".concat(r.format("YYYY-MM-DD HH:mm")," — ").concat(n.format("YYYY-MM-DD HH:mm"))},v=function(e){return i()(e).format("HH:mm")},p=function(e){return i()(e).format("YYYY-MM-DD HH:mm")},m=function(e){return i()(e).valueOf()},y={mo:"M"},h=function(e){var t=Date.now(),r=function(e,t){for(var r=i()(t),a=/(-?\d+)([a-zA-Z]+)/g;;){var u=a.exec(e);if(!u)break;var o=(0,n.A)(u,3),c=o[1],s=o[2],l=y[s]||s;r.subtract(c,l)}return r.valueOf()}(e,t);return t<r?{from:t,to:r}:{from:r,to:t}};function A(e){if(e){var t=e.from,r=e.to,n=e.shortcutValue;return n?h(n):{from:t,to:r}}}},32751:(e,t,r)=>{r.d(t,{G6:()=>s,Lc:()=>o,Qm:()=>u,_Z:()=>c});var n=r(18472),a=r(29970),i=r(62835),u=function(e){return e.queryTracker.tabs.tabs},o=function(e){return e.queryTracker.tabs.activeTabId},c=function(e){return e.queryTracker.tabs.userChangeTab},s=(0,n.Mz)([o,a.Ux],(function(e,t){if(t&&null!=e&&e.includes("result"))return{queryId:t,resultIndex:(0,i.S)(e)||0}}))},37267:(e,t,r)=>{r.d(t,{H:()=>d});var n=r(9736),a=r(60723),i=r(77810),u=r(81594),o=r(58122);function c(e){return(0,o.c)(e.start_time,e.finish_time)}var s=r(18309),l=r(64922),d=i.memo((function(e){var t=e.query,r=e.className,o=function(e){var t=(0,i.useState)(c(e)),r=(0,n.A)(t,2),a=r[0],o=r[1];return(0,i.useEffect)((function(){if(e.state!==u.RE.DRAFT){if((0,s.qo)(e))o(e.finish_time?c(e):"-");else if(o(c(e)),!e.finish_time){var t=setInterval((function(){return o(c(e))}),1e3);return function(){clearInterval(t)}}}else o(null)}),[e.id,e.state,e.start_time]),a}(t);return o&&(0,l.jsx)(a.J,{className:r,children:o})}))},41487:(e,t,r)=>{r.d(t,{Dh:()=>a,F9:()=>c,V$:()=>i,XZ:()=>s,dp:()=>u,g:()=>h,k4:()=>o,nF:()=>d,qv:()=>l,rd:()=>v,tU:()=>f,to:()=>m,uf:()=>y,wW:()=>A,zu:()=>p});var n=r(18472),a=function(e){return e.queryTracker.vcs.vcsConfig||[]},i=function(e){return Array.isArray(e.queryTracker.vcs.vcsConfig)&&0!==e.queryTracker.vcs.vcsConfig.length},u=function(e){return e.queryTracker.vcs},o=function(e){return e.queryTracker.vcs.path},c=function(e){return e.queryTracker.vcs.preview},s=function(e){return e.queryTracker.vcs.repositories},l=function(e){return e.queryTracker.vcs.vcs},d=function(e){return e.queryTracker.vcs.repository},f=function(e){return e.queryTracker.vcs.branch},v=function(e){return e.queryTracker.vcs.branches},p=function(e){return e.queryTracker.vcs.listFilter},m=function(e){return e.queryTracker.vcs.listError},y=(0,n.Mz)([f,c],(function(e,t){return Boolean(e&&!t.name)})),h=(0,n.Mz)([function(e){return e.queryTracker.vcs.list},p],(function(e,t){var r=Object.values(e);return t?r.filter((function(e){return e.name.includes(t)})):r})),A=(0,n.Mz)([d,s],(function(e,t){return e?t[e]:null}))},43671:()=>{},47001:(e,t,r)=>{r.d(t,{$D:()=>p,I7:()=>y,NZ:()=>v,Nz:()=>d,PR:()=>x,Rv:()=>h,WS:()=>m,fV:()=>A,mV:()=>b,mk:()=>_,n7:()=>w,oz:()=>f,rS:()=>l});var n=r(13322),a=r(40319),i=r(18472),u=r(45033),o=r(79329),c=r(21594),s=r(19314),l=function(e){return e.queryTracker.queryNavigation.cluster},d=function(e){return e.queryTracker.queryNavigation.loading},f=function(e){return e.clustersMenu.clusters},v=function(e){return e.queryTracker.queryNavigation.error},p=(0,i.Mz)([l,f],(function(e,t){return e&&e in t?t[e]:null})),m=(0,i.Mz)([o.th,l],(function(e,t){if(!t)return[];var r=(0,c.HL)(t,s.dK.LOCAL),n=e(s.Ou.LOCAL.FAVOURITES,r);return n?n.map((function(e){return e.path})).sort():[]})),y=function(e){return e.queryTracker.queryNavigation.path},h=function(e){return e.queryTracker.queryNavigation.nodeType},A=function(e){return e.queryTracker.queryNavigation.filter},_=function(e){return e.queryTracker.queryNavigation.nodes},g=function(e,t){return e.toLowerCase().includes(t.toLowerCase())},x=(0,i.Mz)([function(e){return e.queryTracker.queryNavigation.table},A],(function(e,t){return e?(0,a.A)((0,a.A)({},e),{},{schema:e.schema.filter((function(e){var r=e.name,n=e.type;return g(r,t)||g(n,t)}))}):null})),w=(0,i.Mz)([u.Dy,A],(function(e,t){return t?e.filter((function(e){var r=e.name;return g(r,t)})):e})),b=(0,i.Mz)([_,A,y],(function(e,t,r){var a=!r||"/"===r,i={name:"...",type:"map_node",path:a?r:r.split("/").slice(0,-1).join("/"),isFavorite:!1};if(!t)return a?e:[i].concat((0,n.A)(e));var u=e.filter((function(e){var r=e.name;return g(r,t)}));return a||u.unshift(i),u}))},52142:(e,t,r)=>{r.d(t,{Bn:()=>Z,D4:()=>I,EO:()=>H,Fz:()=>B,GB:()=>J,I2:()=>U,IH:()=>G,TI:()=>Q,Tk:()=>ee,VR:()=>Y,cQ:()=>K,i5:()=>P,ib:()=>$,jF:()=>F,kR:()=>O,rc:()=>V,sR:()=>te,s_:()=>X,wu:()=>W});var n=r(13322),a=r(9736),i=r(40319),u=r(53775),o=r(28407),c=r(21003),s=r(52797),l=r(30996),d=r(57976),f=r(61422),v=r(29970),p=r(13542),m=r(48971),y=r(92354),h=r(65667),A=r(50266),_=r(66026),g=r(57018),x=r(7787),w=r(34206),b=r(42152),q=r(94383),k=r(86349),T=r(27859),j=r(11896),N=r(59028),M=r(47001),C=r(22290),z=r(52120),R=r(52978),E=r(19610),D=function(e,t){return function(){var r=(0,o.A)((0,u.A)().mark((function r(n){var a;return(0,u.A)().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,L(e);case 2:a=r.sent,(t===l.d.SPYT&&!a.spyt||t===l.d.CHYT&&!a.chyt)&&n(Z({engine:l.d.YQL})),n({type:w.zF,data:a});case 5:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()},S=function(){return function(){var e=(0,o.A)((0,u.A)().mark((function e(t,r){var n,a,o,c,l;return(0,u.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r(),a=(0,s.dB)(n),o=(0,v.sh)(n),c=o.settings,l=o.engine,!c||!("cluster"in c)){e.next=5;break}return e.abrupt("return");case 5:t(D(a,l)),t(Z({settings:(0,i.A)((0,i.A)({},c),{},{cluster:a})}));case 7:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()},Y=function(e){return function(t,r){var n=r(),a=(0,v.sh)(n).settings,u=(0,v.ln)(n),o=(0,q.aJ)(n),c=(0,q.EJ)(n),s=(0,q.lm)(n),d=(0,i.A)({},a);e&&(delete d.discovery_group,delete d.clique),u===l.d.SPYT&&o&&(d.discovery_group=o),u===l.d.CHYT&&c&&(d.clique=c),u!==l.d.YQL||!s||null!=a&&a.yql_version||(d.yql_version=s),t(Z({settings:d}))}},L=function(){var e=(0,o.A)((0,u.A)().mark((function e(t){var r,n,i,o,c,s;return(0,u.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",{spyt:!1,chyt:!1,yql:!0,ql:!0});case 2:return r=new T.CT(t,j.c.CLUSTER_PARAMS),e.next=5,(0,k.jj)(r,t);case 5:return n=e.sent,i=n.data,o=(0,k.ok)(i.uiConfig,i.uiDevConfig),c=(0,a.A)(o,1),s=c[0],e.abrupt("return",{yql:!0,chyt:Boolean(s.chyt_controller_base_url),spyt:Boolean(s.livy_controller_base_url),ql:!0});case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),O=function(e,t,r,n){return function(){var a=(0,o.A)((0,u.A)().mark((function a(i,o){var c,s,l,d,f,v;return(0,u.A)().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(c=o(),s=(0,C.GN)(),l=s.pageSize,d=(0,M.oz)(c),f=d[e]){a.next=6;break}return a.abrupt("return");case 6:return a.next=8,(0,z.h)({clusterConfig:f,path:t,engine:r,limit:l});case 8:v=a.sent,i(K(r,v,n));case 10:case"end":return a.stop()}}),a)})));return function(e,t){return a.apply(this,arguments)}}()},I=function(e){return function(t,r){var n=(0,v.hM)(r()),a=(0,i.A)({},n);e!==l.d.SPYT&&delete a.discovery_group,e!==l.d.CHYT&&delete a.clique,e!==l.d.YQL&&delete a.yql_version,t(Z({settings:a}))}},F=function(e){return function(){var t=(0,o.A)((0,u.A)().mark((function t(r,n){var a,o,c,s,l,d;return(0,u.A)().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=n(),o=(0,v.sh)(a),c=o.settings,s=void 0===c?{}:c,l=o.engine,t.prev=2,r({type:w.ud,data:!0}),t.next=6,r(D(e,l));case 6:d=(0,i.A)({},s),e?d.cluster=e:delete d.cluster,delete d.clique,r(Z({settings:d})),r(Y(!0));case 11:return t.prev=11,r({type:w.ud,data:!1}),t.finish(11);case 14:case"end":return t.stop()}}),t,null,[[2,,11,14]])})));return function(e,r){return t.apply(this,arguments)}}()},H=function(e){return function(t,r){var n=(0,v.hM)(r()),a=(0,i.A)({},n);!e&&"clique"in a?delete a.clique:a.clique=e,t(Z({settings:a})),t((0,N.rw)("local::".concat(null==n?void 0:n.cluster,"::queryTracker::lastChytClique"),e))}},B=function(e){return function(t,r){var n=(0,v.hM)(r());t(Z({settings:(0,i.A)((0,i.A)({},n),{},{yql_version:e})})),t((0,N.rw)("local::".concat(null==n?void 0:n.cluster,"::queryTracker::lastYqlVersion"),e))}},P=function(e){return function(t,r){var n=(0,v.hM)(r());t(Z({settings:(0,i.A)((0,i.A)({},n),{},{discovery_group:e})})),t((0,N.rw)("local::".concat(null==n?void 0:n.cluster,"::queryTracker::lastDiscoveryPath"),e))}},Q=function(e,t){return function(){var r=(0,o.A)((0,u.A)().mark((function r(n,a){var i,o,c;return(0,u.A)().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(i=e===l.d.SPYT,o=(0,v.K7)(a()),!(t in o)||!o[t][e]){r.next=4;break}return r.abrupt("return");case 4:return r.next=6,L(t);case 6:if(c=r.sent,(!i||c.spyt)&&(i||c.chyt)){r.next=9;break}return r.abrupt("return");case 9:n({type:w.Zk,data:!0}),(i?h.H:h.v)("list",t,{attributes:["yt_operation_id","state","health"]},{}).then((function(r){var a,i=null==r||null===(a=r.result)||void 0===a?void 0:a.map((function(e){var t=e.$value,r=e.$attributes,n=void 0===r?{}:r;return{alias:t,yt_operation_id:n.yt_operation_id,state:n.state,health:n.health}}));n({type:w.jn,data:{cluster:t,engine:e,items:i}})})).catch((function(){n({type:w.jn,data:{cluster:t,engine:e,items:[]}})})).finally((function(){n({type:w.Zk,data:!1})}));case 12:case"end":return r.stop()}}),r)})));return function(e,t){return r.apply(this,arguments)}}()};function V(e,t){return function(){var r=(0,o.A)((0,u.A)().mark((function r(n,a){var o,c,s,l,f,v;return(0,u.A)().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return o=a(),c=(0,_.Fi)(o),n({type:w.DN}),n((0,R.c1)()),r.prev=4,r.next=7,(0,m.fI)(n((0,d.$Z)(e)),{toasterName:"load_query",skipSuccessToast:!0,errorContent:function(e){var t=e.code,r=e.message;return"[code ".concat(t,"]: ").concat(r).concat(c?'. Your stage is set to "'.concat(c,'". Reset it and try again'):"")},errorTitle:"Failed to load query ".concat(c?"[stage: ".concat(c,"]"):"")});case 7:(l=r.sent).files=l.files.map((function(e){return(0,i.A)((0,i.A)({},e),{},{id:(0,A.A)()})})),f=(0,g.B8)(o),v=(0,y.n)(l,f),null!=t&&t.dontReplaceQueryText&&(v.query=o.queryTracker.query.draft.query),null===(s=x.Ay.getInlineSuggestionsApi())||void 0===s||s.onQueryLoad(),n({type:w.WO,data:{initialQuery:v}}),n((0,b.LQ)()),r.next=20;break;case 17:r.prev=17,r.t0=r.catch(4),n(K());case 20:return r.prev=20,n(S()),n(Y()),n((0,E.y)()),r.finish(20);case 25:case"end":return r.stop()}}),r,null,[[4,17,20,25]])})));return function(e,t){return r.apply(this,arguments)}}()}function Z(e){return{type:w.Hd,data:e}}function U(e,t,r,n){return function(){var a=(0,o.A)((0,u.A)().mark((function a(i,o){var c,s,l;return(0,u.A)().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return i({type:w.DN}),i({type:w.ud,data:!0}),a.prev=2,c=o(),s=(0,g.B8)(c),a.next=7,(0,m.fI)((0,d.ky)(e,{cluster:t,path:r,defaultQueryACO:s}),{toasterName:"load_query",skipSuccessToast:!0,errorTitle:"Failed to load query"});case 7:(l=a.sent)?null!=n&&n.useDraft?(i({type:w.Ck,data:l}),i({type:w.mS})):i({type:w.WO,data:{initialQuery:l}}):i(K(e)),a.next=14;break;case 11:a.prev=11,a.t0=a.catch(2),i(K(e));case 14:return a.prev=14,i(D(t,e)),i({type:w.ud,data:!1}),a.finish(14);case 18:case"end":return a.stop()}}),a,null,[[2,11,14,18]])})));return function(e,t){return a.apply(this,arguments)}}()}function K(e,t,r){return function(n,a){var i,u=a(),o=(0,q.Xq)(u),c=(0,g.B8)(u),s=e||o||l.d.YQL;null===(i=x.Ay.getInlineSuggestionsApi())||void 0===i||i.onQueryCreate(),n({type:w.WO,data:{initialQuery:{access_control_object:c,access_control_objects:[c],query:t||"",engine:s,settings:r||{}}}}),n(S()),n(Y()),n((0,R.c1)())}}function J(e,t){return function(){var r=(0,o.A)((0,u.A)().mark((function r(n,a){var o,c,s,l,p,y;return(0,u.A)().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return o=a(),c=(0,v.sh)(o),"access_control_objects"in(s=(0,i.A)({},c))&&(s.access_control_objects=null===(l=s.access_control_objects)||void 0===l?void 0:l.filter((function(e){return e!==v.PH}))),n({type:w.ZW,data:!1}),r.next=7,(0,m.fI)(n((0,d.lg)(s,t)),{toasterName:"start_query",skipSuccessToast:!0,errorTitle:"Failed to start query"});case 7:p=r.sent,y=p.query_id,(null==e?void 0:e(y))||n(V(y)),n((0,f.et)(!0));case 12:case"end":return r.stop()}}),r)})));return function(e,t){return r.apply(this,arguments)}}()}function $(){return function(){var e=(0,o.A)((0,u.A)().mark((function e(t,r){var n,a;return(0,u.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r(),!(a=(0,v.st)(n))){e.next=7;break}return e.next=5,(0,m.fI)(t((0,d.Bl)({query_id:null==a?void 0:a.id})),{toasterName:"abort_query",skipSuccessToast:!0,errorTitle:"Failed to abort query"});case 5:t(V(null==a?void 0:a.id,{dontReplaceQueryText:!0})),t((0,f.et)(!0));case 7:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()}function W(e){return function(t,r){var n=r(),a=(0,s.dB)(n);(0,p.Q)().push((0,c.C)(a,e))}}function G(){return function(e,t){var r=t(),n=(0,s.dB)(r);(0,p.Q)().push((0,c.C)(n,"")),e(K())}}function X(e){var t=e.aco,r=e.query_id;return function(e,n){var a=(0,g.EO)(n());return(0,m.fI)(e((0,d.DK)({query_id:r,aco:t})),{toasterName:"update_aco_query",skipSuccessToast:!0,errorTitle:"Failed to update query ACO"}).then((function(){e({type:w.Xj,data:a?{access_control_objects:t}:{access_control_object:t[0]}})}))}}function ee(e){var t=e.aco;return function(e,r){var n=(0,g.EO)(r());return e((0,d.de)(t)).then((function(){return e(Z(n?{access_control_objects:t}:{access_control_object:t[0]}))}))}}var te=function(){return function(){var e=(0,o.A)((0,u.A)().mark((function e(t,r){var a,i,o,c;return(0,u.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=r(),i=(0,v.$Z)(a)){e.next=4;break}return e.abrupt("return");case 4:return o=(0,g.B8)(a),(c=i.access_control_objects||[o]).includes(v.PH)?(c=c.filter((function(e){return e!==v.PH}))).length||(c=[o]):c=[].concat((0,n.A)(c),[v.PH]),e.next=9,t((0,d.DK)({aco:c,query_id:i.id}));case 9:t({type:w.Xj,data:{access_control_objects:c}}),t((0,f.et)(!0));case 11:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()}},57660:(e,t,r)=>{r.d(t,{A:()=>i});var n=r(40319),a=r(64922);const i=function(e){return(0,a.jsx)("svg",(0,n.A)((0,n.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,a.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M11 13.5H5A1.5 1.5 0 0 1 3.5 12V4A1.5 1.5 0 0 1 5 2.5h2V5a3 3 0 0 0 3 3h2.5v4a1.5 1.5 0 0 1-1.5 1.5m1.303-7a1.5 1.5 0 0 0-.242-.318L8.818 2.939a1.5 1.5 0 0 0-.318-.242V5A1.5 1.5 0 0 0 10 6.5zm.818-1.379A3 3 0 0 1 14 7.243V12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3h2.757a3 3 0 0 1 2.122.879z",clipRule:"evenodd"})}))}},58122:(e,t,r)=>{r.d(t,{c:()=>a});var n=r(73822);function a(e,t){var r=new Date(e).getTime(),a=(t?new Date(t):new Date).getTime();return n.A.format.TimeDuration(a-r)}},60723:(e,t,r)=>{r.d(t,{J:()=>v});var n=r(64922),a=r(77810),i=r(12663),u=r(72890),o=r(3179),c=r(34564),s=r(45760),l=r(47999);const d=(0,l.om)("label"),f={xs:12,s:14,m:16},v=a.forwardRef((function(e,t){const{type:r="default",theme:l="normal",size:v="xs",width:p,title:m,icon:y,children:h,onCloseClick:A,className:_,disabled:g,copyText:x,closeButtonLabel:w,copyButtonLabel:b,interactive:q=!1,value:k,onCopy:T,onClick:j,qa:N,loading:M=!1}=e,C=Boolean(""!==h&&a.Children.count(h)>0),z="close"===r&&C,R="copy"===r&&C,E="info"===r,D="function"==typeof j,S=Boolean(R&&x),Y=(D||S||E||q)&&!g,L=f[v],O=y&&(0,n.jsx)("div",{className:d("addon",{side:C?"start":void 0,type:"icon"}),children:y}),I=C&&(0,n.jsxs)("div",{className:d("text"),children:[(0,n.jsx)("div",{className:d("content"),children:h}),Boolean(k)&&(0,n.jsxs)("div",{className:d("value"),children:[(0,n.jsx)("div",{className:d("separator"),children:":"}),(0,n.jsx)("div",{className:d("key"),children:k})]})]}),F=e=>{let r;return R?r=(0,n.jsx)("button",{type:"button","aria-label":b||void 0,onClick:D?j:void 0,disabled:g,className:d("addon",{side:"end",type:"button",action:D?"click":"copy"}),"data-qa":"copy-button",children:(0,n.jsx)(o.u,{status:e||"pending",size:L})}):E?r=(0,n.jsx)("div",{className:d("addon",{side:"end",type:"icon"}),children:(0,n.jsx)(s.I,{size:L,data:i.A})}):z&&(r=(0,n.jsx)("button",{type:"button",onClick:A,"aria-label":w||void 0,disabled:g,className:d("addon",{side:"end",type:"button",action:"close"}),"data-qa":"close-button",children:(0,n.jsx)(s.I,{size:L,data:u.A})})),(0,n.jsxs)("div",{ref:t,className:d({theme:l,size:v,width:p,interactive:Y,disabled:g},_),title:m,"data-qa":N,children:[!g&&M&&(0,n.jsx)("div",{className:d("animation-container")}),O,D?(0,n.jsx)("button",{disabled:g,type:"button",onClick:j,className:d("main-button"),"data-qa":"main-button",children:I}):I,r]})};return S&&x&&!D?(0,n.jsx)(c.$,{text:x,onCopy:T,timeout:1e3,children:e=>F(e)}):F()}))},61422:(e,t,r)=>{r.d(t,{$h:()=>h,JZ:()=>_,et:()=>p,sZ:()=>m,uG:()=>v,wD:()=>A,yL:()=>y});var n=r(40319),a=r(53775),i=r(28407),u=r(48971),o=r(57976),c=r(79543),s=r(9178),l=r(34206),d=r(87410),f=20,v=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t){t((0,d.Ru)({items:[],cursor:{direction:l.cL.PAST}})),t(p(e))}};function p(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(){var t=(0,i.A)((0,a.A)().mark((function t(r,n){var i,s,l,v,p;return(0,a.A)().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=n(),s=(0,c.pC)(i),e||r((0,d.r1)(!0)),t.prev=3,t.next=6,(0,u.fI)(r((0,o.d3)({params:(0,c.hi)(i),cursor:(0,c.rv)(i),limit:f})),{toasterName:"load_history_list",skipSuccessToast:!0,errorTitle:"Failed to load query-tracker list"});case 6:l=t.sent,v=new Map,s.forEach((function(e){return v.set(e.id,e)})),l.queries.forEach((function(e){return v.set(e.id,e)})),(p=Array.from(v.values())).sort((function(e,t){var r=new Date(e.start_time).getTime();return new Date(t.start_time).getTime()-r})),r((0,d.Ru)({items:p,hasMore:l.incomplete,timestamp:l.timestamp}));case 13:return t.prev=13,e||r((0,d.r1)(!1)),t.finish(13);case 16:case"end":return t.stop()}}),t,null,[[3,,13,16]])})));return function(e,r){return t.apply(this,arguments)}}()}function m(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l.cL.PAST;return function(t,r){var n=r(),a=(0,c.pC)(n),i=a[e===l.cL.FUTURE?0:a.length-1];a.length&&(t((0,d.f9)({cursorTime:i.start_time,direction:e})),t(p()))}}function y(){return function(e,t){var r=t(),a=(0,c.OP)(r),i=(0,c.uc)(r);e((0,d.R6)((0,n.A)((0,n.A)({},s.e2[a]),{},{filter:i.filter}))),e(p())}}function h(e){return function(t,r){var a=(0,c.uc)(r());t((0,d.R6)((0,n.A)((0,n.A)({},a),e))),t(v(!0))}}function A(e){return function(t){t((0,d.Ru)({listMode:e,filter:s.e2[e],cursor:{direction:l.cL.PAST},items:[]})),t(v())}}function _(e,t){return function(r,a){var i=a(),u=(0,c.pC)(i).map((function(r){return r.id===e?(0,n.A)((0,n.A)({},r),t):r}));r((0,d.Ru)({items:u}))}}},62835:(e,t,r)=>{r.d(t,{S:()=>n});var n=function(e){if(e){var t=e.split("/");return null!=t&&t[1]?parseInt(null==t?void 0:t[1],10):void 0}}},65667:(e,t,r)=>{r.d(t,{H:()=>s,v:()=>c});var n=r(40319),a=r(41169),i=r(48971),u=r(30996),o=function(e,t,r){var u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=u.type,c=u.cancelToken,s=u.skipErrorToast,l=u.successTitle,d=u.isAdmin?"?isDeveloper=true":"";return(0,i.fI)(a.A.request({method:"POST",url:"/api/strawberry/".concat(o,"/").concat(t,"/").concat(e).concat(d),data:{params:(0,n.A)({},r)},cancelToken:c}),{toasterName:"clique-".concat(e),skipSuccessToast:!l,successTitle:l,skipErrorToast:s,errorTitle:"'".concat(e,"' action failed")}).then((function(e){return e.data}))},c=function(e,t,r,a){return o(e,t,r,(0,n.A)((0,n.A)({},a),{},{type:u.d.CHYT}))},s=function(e,t,r,a){return o(e,t,r,(0,n.A)((0,n.A)({},a),{},{type:u.d.SPYT}))}},67249:(e,t,r)=>{r.d(t,{om:()=>y,lN:()=>x,D7:()=>h,ps:()=>_});var n=r(13322),a=r(40319),i=r(76872),u=r(49214),o=r.n(u),c=r(39760),s=r.n(c),l=r(27528),d=r.n(l),f=r(92611);const v=JSON.parse('{"title_current":"Current","title_will-be-added":"Will be added","title_will-be-removed":"Will be removed","title_unrecognized":"Unrecognized"}'),p=JSON.parse('{"title_current":"Текущие","title_will-be-added":"Будут добавлены","title_will-be-removed":"Будут удалены","title_unrecognized":"Нераспознанные"}'),m=(0,f.Kc)("yt:dialog-role-list",{en:v,ru:p});var y=(0,i.A)("role-list-control");function h(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=[],n=[],a=[],i=[];s()(e,(function(e){var t=e.isUnrecognized,u=e.isRequested,o=e.isApproved,c=e.isDepriving;t?i.push(e):c?a.push(e):o||u?n.push(e):r.push(e)}));var u=r.map((function(e){return A(e)})),o=t.map((function(e){return{title:e,data:{},frozen:!0}}));return{newItems:[],current:{title:m("title_current"),data:u.concat(o)},toAdd:{title:m("title_will-be-added"),itemClassName:y("item-to-add"),data:n.map((function(e){return A(e,{frozen:!0})}))},toRemove:{title:m("title_will-be-removed"),itemClassName:y("item-to-remove"),data:a.map((function(e){return A(e,{frozen:!0})}))},unrecognized:{title:m("title_unrecognized"),itemClassName:y("item-unrecognized"),data:i.map((function(e){return A(e,{frozen:!0})}))}}}function A(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,a.A)({title:e.text||e.value,data:e},t)}function _(e){var t=e.current,r=e.newItems,a=e.toAdd;return[].concat((0,n.A)(r),(0,n.A)(g(t)),(0,n.A)(g(a)))}function g(e){var t=(e||{}).data;return d()(o()(t,(function(e){return!e.removed})),(function(e){var t=e.data||{};return{type:t.type,value:t.value}}))}function x(e){var t=e.current,r=e.newItems||[],n=(t&&t.data||[]).filter((function(e){return e.removed}));return{added:r.map((function(e){var t=e.type,r=e.value;return"users"===t?{user:r}:{group:r}})),removed:n.map((function(e){var t=e.data||{},r=t.value;return"users"===t.type?{user:r}:{group:r}}))}}},79065:(e,t,r)=>{r.d(t,{g:()=>h,C:()=>A});var n=r(68175),a=r(64922),i=r(77810);const u=(0,r(47999).om)("spin"),o=i.forwardRef((function(e,t){const{size:r="m",style:n,className:i,qa:o}=e;return(0,a.jsx)("div",{ref:t,style:n,className:u({size:r},i),"data-qa":o,children:(0,a.jsx)("div",{className:u("inner")})})}));var c=r(45760),s=r(76872),l=r(73822),d=r(81594),f=r(40319);var v=r(16077);var p=r(57660),m=(0,s.A)("query-status"),y=(0,n.A)((0,n.A)((0,n.A)((0,n.A)({},d.RE.DRAFT,p.A),d.RE.FAILED,(function(e){return(0,a.jsx)("svg",(0,f.A)((0,f.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,a.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M8 13.5a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14m1-4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0M8.75 5a.75.75 0 0 0-1.5 0v2.5a.75.75 0 0 0 1.5 0z",clipRule:"evenodd"})}))})),d.RE.ABORTED,(function(e){return(0,a.jsx)("svg",(0,f.A)((0,f.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,a.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"M13.5 8a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0M5.25 6.25a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1v3.5a1 1 0 0 1-1 1h-3.5a1 1 0 0 1-1-1z",clipRule:"evenodd"})}))})),d.RE.COMPLETED,v.A);function h(e){var t=e.status,r=e.className;if(d.Oc.includes(t))return(0,a.jsx)(o,{size:"xs",className:m("icon-container",r)});var i=y[t];return i?(0,a.jsx)(c.I,{className:m("icon-container",(0,n.A)({},t.toLocaleLowerCase(),!0),r),data:i,size:16}):(0,a.jsx)(a.Fragment,{children:t})}var A=function(e){var t=e.mode,r=e.status,n=e.className;return(0,a.jsxs)("div",{className:m(null,n),children:[("icon"===t||"both"===t)&&(0,a.jsx)(h,{status:r}),("text"===t||"both"===t)&&l.A.format.Readable(r)]})}},79543:(e,t,r)=>{r.d(t,{uc:()=>re,pC:()=>ee,rv:()=>se,hi:()=>le,OP:()=>ne,xK:()=>ue,kx:()=>ie,qO:()=>oe,h9:()=>ae,$I:()=>ce,MD:()=>te,Vm:()=>X});var n=r(18801),a=r(40319),i=r(9736),u=r(18472),o=r(52797),c=r(18309),s=r(9178),l=r(95942),d=r(41487),f=r(94904),v=r.n(f),p=r(41655),m=r.n(p),y=r(10332),h=r.n(y),A=r(77810),_=r(3962),g=r(76872),x=r(73822),w=r(79065),b=r(24297),q=r(13322),k=r(53775),T=r(28407),j=r(20361),N=r(58299),M=r(88787),C=r(57976),z=r(14371),R=r(61422),E=r(29970),D=r(52142),S=r(64922);function Y(e){var t=e.query,r=t.state,n=t.annotations,u=t.id,o=e.className,c=(0,z.w)(),s=(0,z.d)(E.sh),l=(0,A.useState)(void 0),d=(0,i.A)(l,2),f=d[0],v=d[1],p=(0,A.useState)(!1),m=(0,i.A)(p,2),y=m[0],h=m[1],_=function(){var e=(0,T.A)((0,k.A)().mark((function e(t){var r,i;return(0,k.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.getState().values.name,v(void 0),e.prev=2,i=(0,a.A)((0,a.A)({},n),{},{title:r}),e.next=6,c((0,C.av)(u,i));case 6:c((0,R.JZ)(u,{annotations:i})),s.id===u&&c((0,D.Bn)({annotations:(0,a.A)((0,a.A)({},s.annotations),{},{title:r})})),e.next=14;break;case 10:throw e.prev=10,e.t0=e.catch(2),v(e.t0),e.t0;case 14:case"end":return e.stop()}}),e,null,[[2,10]])})));return function(t){return e.apply(this,arguments)}}(),g=(0,A.useMemo)((function(){return{name:(null==n?void 0:n.title)||""}}),[null==n?void 0:n.title]);return"completed"===r||"aborted"===r||"failed"===r||"draft"===r?(0,S.jsxs)("div",{className:o,children:[(0,S.jsx)(N.A,{onClick:function(e){e.stopPropagation(),h(!0)},view:"flat-secondary",size:"m",width:"auto",children:(0,S.jsx)(M.A,{awesome:"pencil"})}),y?(0,S.jsx)(j.yZ,{pristineSubmittable:!0,visible:y,modal:!0,headerProps:{title:"Edit query name"},footerProps:{textApply:"Save"},onClose:function(){v(void 0),h(!1)},onAdd:_,initialValues:g,fields:[{name:"name",type:"text",required:!0,caption:"Name",extras:{placeholder:"Enter query name"}}].concat((0,q.A)((0,j.Y)([f])))}):null]}):null}var L=r(81594),O=r(37267),I=(r(43671),r(30996)),F=(0,g.A)("query-history-item"),H=function(e){return void 0!==e.header},B={name:"Name",align:"left",className:F("name_row"),render:function(e){var t,r=e.row;if(H(r))return(0,S.jsx)("div",{className:F("separator"),children:r.header});var n=null===(t=r.annotations)||void 0===t?void 0:t.title;return(0,S.jsxs)("div",{className:F("name"),title:n,children:[(0,S.jsx)(w.g,{className:F("status-icon"),status:r.state}),(0,S.jsx)(_.E,{className:F("name-container"),color:n?"primary":"secondary",ellipsis:!0,children:n||"No name"})]})}},P={name:" ",align:"left",width:20,className:F("action_row"),render:function(e){var t=e.row;return H(t)?null:(0,S.jsx)("div",{className:F("action"),onClick:function(e){return e.stopPropagation()},children:(0,S.jsx)(Y,{className:F("name-edit"),query:t})})}},Q={name:"Type",align:"center",width:60,render:function(e){var t=e.row;return H(t)?null:(0,S.jsx)(_.E,{variant:"body-1",color:"secondary",children:t.engine in I.i?I.i[t.engine]:t.engine})}},V={name:"Duration",align:"left",width:100,render:function(e){var t=e.row;return H(t)?null:t.state===L.RE.RUNNING?x.A.format.NO_VALUE:(0,S.jsx)(O.H,{query:t})}},Z={name:"Started",align:"left",width:60,render:function(e){var t=e.row;return H(t)?null:(0,S.jsx)(_.E,{variant:"body-1",color:"secondary",children:(0,b.fU)(t.start_time)})}},U={name:"Author",align:"left",width:120,className:F("author_row"),render:function(e){var t=e.row;return H(t)?null:(0,S.jsx)(_.E,{variant:"body-1",ellipsis:!0,title:t.user,children:t.user})}},K={name:"ACO",align:"left",width:60,className:F("access_control_object"),render:function(e){var t,r=e.row;if(H(r))return null;var n=null===(t=r.access_control_objects)||void 0===t?void 0:t.join(", ");return(0,S.jsx)(_.E,{variant:"body-1",ellipsis:!0,title:n,children:n})}},J=[B,Q,V,Z,K,P],$=[B,Q,V,U,Z,K,P],W=["is_tutorial","from","to","state"],G=function(e){return e.queryTracker.list},X=function(e){return e.queryTracker.list.isLoading},ee=function(e){return G(e).items},te=function(e){return G(e).hasMore},re=function(e){return G(e).filter||{}},ne=function(e){return G(e).listMode},ae=(0,u.Mz)([ee],(function(e){return e.filter((function(e){return null==e?void 0:e.is_tutorial}))})),ie=(0,u.Mz)([ee],(function(e){return Object.entries(v()(e,(function(e){return m()(e.start_time).format("DD MMMM YYYY")}))).reduce((function(e,t){var r=(0,i.A)(t,2),n=r[0],a=r[1];return e.push({header:n}),e.concat(a.map((function(e){return e})))}),[])})),ue=(0,u.Mz)([d.V$],(function(e){var t=Object.values(s.e8);return e?t:t.filter((function(e){return e!==s.e8.VCS}))})),oe=(0,u.Mz)([re,function(e){return(0,l.u)(e)["global::queryTracker::history::Columns"]}],(function(e,t){var r=h()($,J,"name").map((function(e){return e.name})),n=[B.name,U.name,P.name],a=e.user===s.AK.My?J:$,i=new Set(Array.isArray(t)?t:r);return i.add(B.name),i.add(U.name),i.add(P.name),{columns:a.filter((function(e){var t=e.name;return i.has(t)})),allowedColumns:a.filter((function(e){return!n.includes(e.name)})).map((function(e){var t=e.name;return{name:t,checked:i.has(t)}}))}})),ce=(0,u.Mz)([re,l.u],(function(e){var t=void 0!==e.from,r=void 0!==e.to,n=void 0!==e.state,a=e.user!==s.e2[s.e8.History].user;return t||r||n||a})),se=((0,u.Mz)(ee,(function(e){return e.filter(c.KO)})),function(e){var t=function(e){return G(e).cursor}(e);if(t)return{cursor_time:t.cursorTime,cursor_direction:t.direction}});function le(e){var t=ne(e),r=(0,a.A)((0,a.A)({},re(e)),s.dR[t]||{}),i=r.is_tutorial,u=r.from,c=r.to,l=r.state,d=(0,n.A)(r,W),f=d.user;return"my"===d.user&&(f=(0,o.ID)(e)),"all"===d.user&&(f=void 0),(0,a.A)((0,a.A)({},d),{},{from_time:u,to_time:c,state:l,user:f,tutorial_filter:i})}}}]);
|
|
2
|
+
//# sourceMappingURL=1422.2980037b.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js/1422.2980037b.chunk.js","mappings":"wJACA,QADuB,SAAAA,GAAK,OAAIC,EAAAA,EAAAA,KAAA,OAAAC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CAAKC,MAAM,6BAA6BC,KAAK,OAAOC,QAAQ,aAAgBL,GAAK,IAAAM,UAAEL,EAAAA,EAAAA,KAAA,QAAMG,KAAK,eAAeG,SAAS,UAAUC,EAAE,wLAAwLC,SAAS,cAAmB,C,qECG/W,SAASC,EAAgBC,GAC5B,OAAOC,EAAAA,GAAiBC,SAASF,EAAMG,MAC3C,CAEO,SAASC,EAAiBJ,GAC7B,OAAOK,EAAAA,GAAgBH,SAASF,EAAMG,MAC1C,CAEO,SAASG,EAAYN,GACxB,OAAOO,EAAAA,GAAkBL,SAASF,EAAMG,MAC5C,C,shBCRA,GAAeK,EAAAA,EAAAA,IAAc,wBAAyB,CAACC,GAAAA,EAAIC,GAAAA,ICgBpD,IAAMC,EAAkB,WAAH,OAAsB,SAACC,EAAUC,GAAc,IAADC,EAAAC,EAChEZ,EAAQU,IACRb,GAAQgB,EAAAA,EAAAA,IAASb,GACjBc,GAAgBC,EAAAA,EAAAA,IAAgCf,GAEtD,GAAKH,EAAL,CAMA,IAAMmB,EAAmB,GAErBnB,EAAMG,QAAUiB,EAAAA,GAAYC,QAC5BF,EAAKG,KAAK,CAACC,GAAI,QAASC,MAAOC,EAAK,iBAGpCzB,EAAMG,QAAUiB,EAAAA,GAAYM,WAC5BP,EAAKG,KAAIK,MAATR,GAAIS,EAAAA,EAAAA,GACGC,IAAO7B,EAAM8B,cAAc,SAACC,GAC3B,IAAMC,EAAgC,IAAvBhC,EAAM8B,aAAqB,GAAE,KAAAG,OAAQF,EAAM,GAC1D,MAAO,CACHR,GAAG,UAADU,OAAYF,GACdP,MAAOC,EAAK,gBAAkBO,EAEtC,MAIR,IAAME,GAAWC,EAAAA,EAAAA,IAAiBnC,aAAK,EAALA,EAAOkC,UAAYlC,EAAMkC,SAAW,CAAC,EACjEE,EACFC,QAAQH,SAAkB,QAAVpB,EAARoB,EAAUI,gBAAQ,IAAAxB,OAAA,EAAlBA,EAAoByB,MAAMC,MAAMC,SACxCJ,QAAQH,SAAkB,QAAVnB,EAARmB,EAAUI,gBAAQ,IAAAvB,GAAa,QAAbA,EAAlBA,EAAoBwB,MAAMG,aAAK,IAAA3B,OAAA,EAA/BA,EAAiC0B,QAEzCzC,EAAMkC,UAAYE,GAClBjB,EAAKG,KAAK,CACNC,GAAI,WACJC,MAAOC,EAAK,oBAIhBzB,EAAMG,QAAUiB,EAAAA,GAAYM,YACAiB,EAAAA,GAAUC,0BACX5C,EAAM8B,cAC7BX,EAAKG,KAAIK,MAATR,GAAIS,EAAAA,EAAAA,GACGC,IAAO7B,EAAM8B,cAAc,SAACC,GAC3B,IAAMC,EAAgC,IAAvBhC,EAAM8B,aAAqB,GAAE,KAAAG,OAAQF,EAAM,GAC1D,MAAO,CACHR,GAAG,aAADU,OAAeF,GACjBP,MAAOC,EAAK,eAAiBO,EAErC,MAIJE,SAAAA,EAAUW,gBACV1B,EAAKG,KAAK,CACNC,GAAI,YACJC,MAAOC,EAAK,uBAKxBN,EAAKG,KAAK,CAACC,GAAI,OAAQC,MAAOC,EAAK,oBACnCb,GAASkC,EAAAA,EAAAA,IAAQ3B,IAGjB,IAAM4B,EAAcC,IAAM3C,EAAAA,IAAiB,SAAC4C,GAAM,OAAKjD,aAAK,EAALA,EAAOG,SAAU8C,CAAM,IAM9E,GALIjD,GAAS+C,GACTnC,GAASsC,EAAAA,EAAAA,IAAuBlD,KAIhCiB,GAAkBE,EAAKsB,OAE3B,GAAIzC,EAAMG,QAAUiB,EAAAA,GAAYC,OAAhC,CAKA,GAAIrB,EAAMG,QAAUiB,EAAAA,GAAYM,UAAW,CACvC,IAAMyB,EAAiBhC,EAAKiC,MAAK,SAACC,GAAG,OAAKA,EAAI9B,GAAGrB,SAAS,SAAS,IACnE,GAAIiD,EAEA,YADAvC,GAAS0C,EAAAA,EAAAA,IAAaH,EAAe5B,IAG7C,CAGIX,EADAwB,GACSkB,EAAAA,EAAAA,IAAa,aAIjBA,EAAAA,EAAAA,IAAa,QAftB,MAFI1C,GAAS0C,EAAAA,EAAAA,IAAa,SApE1B,MAFI1C,GAASkC,EAAAA,EAAAA,IAAQ,IAwFzB,CAAE,C,6QCxGIS,GAAQC,EAAAA,EAAAA,GAAG,mBAEV,SAASC,EAAYpE,GACxB,OAAOC,EAAAA,EAAAA,KAACoE,EAAAA,GAAYnE,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAKF,GAAK,IAAEsE,UAAWJ,MAC/C,CAEO,SAASK,EAAgBC,GAC5B,OAAOC,IACHC,IAAKF,GAAQ,SAACG,EAAOC,GACjB,OAAOD,EACD,CACIE,KAAK,SAADjC,OAAWgC,GACfE,KAAM,QACNC,OAAQ,CACJzE,UAAUL,EAAAA,EAAAA,KAACmE,EAAW,CAACO,MAAOA,WAGtCK,CACV,IAER,CAEA,IAAMC,EAAmC,wBAElC,SAASC,EAAoBP,GAChC,MAAO,CACHQ,kBAAgBC,EAAAA,EAAAA,GAAA,GACXH,GAAahF,EAAAA,EAAAA,KAACmE,EAAW,CAACO,MAAOA,KAG9C,C,eC3BO,SAASU,IACZ,OAAO,+YACX,CAEO,ICVyDC,EDUnDC,GCVmDD,GDW5DE,EAAAA,EAAAA,GACIC,EAAAA,MAAUC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAC,SAAAC,IAAA,OAAAF,EAAAA,EAAAA,KAAAG,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACiBZ,IAAkB,OAAU,OAAVU,EAAAG,GAAAH,EAAAI,KAAEC,SAAQL,EAAAM,OAAA,kBAAAN,EAAAG,KAAA,wBAAAH,EAAAO,OAAA,GAAAT,EAAA,MAExD,ICdG,SAA6B7F,GAChC,IAAAuG,EAA8Bd,EAAAA,UAAe,GAAMe,GAAAC,EAAAA,EAAAA,GAAAF,EAAA,GAA5CG,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAM1B,OALAf,EAAAA,WAAgB,YACPiB,GAAW1G,EAAM4G,SAClBD,GAAW,EAEnB,GAAG,CAAC3G,EAAM4G,QAASF,IACXA,GAAiBzG,EAAAA,EAAAA,KAACqF,GAASpF,EAAAA,EAAAA,GAAA,GAAKF,IAAtB,IACtB,IDsB2BwF,EAAAA,EAAAA,GAC3BC,EAAAA,MAAUC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAC,SAAAiB,IAAA,OAAAlB,EAAAA,EAAAA,KAAAG,MAAA,SAAAgB,GAAA,cAAAA,EAAAd,KAAAc,EAAAb,MAAA,cAAAa,EAAAb,KAAA,EACiBZ,IAAkB,OAAiB,OAAjByB,EAAAZ,GAAAY,EAAAX,KAAEY,gBAAeD,EAAAT,OAAA,kBAAAS,EAAAZ,KAAA,wBAAAY,EAAAR,OAAA,GAAAO,EAAA,MAE/D,IAJG,IAOMG,GAAexB,EAAAA,EAAAA,GACxBC,EAAAA,MAAUC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAC,SAAAqB,IAAA,OAAAtB,EAAAA,EAAAA,KAAAG,MAAA,SAAAoB,GAAA,cAAAA,EAAAlB,KAAAkB,EAAAjB,MAAA,cAAAiB,EAAAjB,KAAA,EACiBZ,IAAkB,OAAc,OAAd6B,EAAAhB,GAAAgB,EAAAf,KAAEa,aAAYE,EAAAb,OAAA,kBAAAa,EAAAhB,KAAA,wBAAAgB,EAAAZ,OAAA,GAAAW,EAAA,MAE5D,IAGSE,GAAmB3B,EAAAA,EAAAA,GAC5BC,EAAAA,MAAUC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAC,SAAAwB,IAAA,OAAAzB,EAAAA,EAAAA,KAAAG,MAAA,SAAAuB,GAAA,cAAAA,EAAArB,KAAAqB,EAAApB,MAAA,cAAAoB,EAAApB,KAAA,EACiBZ,IAAkB,OAAkB,OAAlBgC,EAAAnB,GAAAmB,EAAAlB,KAAEgB,iBAAgBE,EAAAhB,OAAA,kBAAAgB,EAAAnB,KAAA,wBAAAmB,EAAAf,OAAA,GAAAc,EAAA,MAEhE,G,qEErDG,SAASE,EAAeC,EAAiBC,GAC5C,OAAOC,EAAAA,EAAAA,IAAc,IAAD7E,OAAK2E,EAAO,KAAA3E,OAAI8E,EAAAA,GAAKC,SAAO/E,OAAG4E,EAAQ,IAAA5E,OAAO4E,GAAa,IACnF,CAEO,SAASI,EACZC,EACAC,EAAmBC,GAEpB,IADEC,EAAYD,EAAZC,aAAcC,EAAIF,EAAJE,KAAMC,EAAQH,EAARG,SAErB,OAAOT,EAAAA,EAAAA,IAAc,IAAD7E,OAAKiF,EAAS,KAAAjF,OAAI8E,EAAAA,GAAKC,QAAO,KAAK,CACnDG,OAAAA,EACAG,KAAMA,QAAQjD,EACduC,QAASS,GAAgBH,EACzBK,SAAUA,QAAYlD,GAE9B,C,4HCbamD,EAAOC,KACPC,EAAa,GAAPF,EACNG,EAAa,EAAND,EACPE,EAAc,GAANF,EACRG,EAAa,IAANH,EAQPI,EAAmB,SAACC,EAAcC,GAC3C,IAAMC,EAAWD,EAAKD,EACtB,GAAIE,GAAYJ,EAAM,CAClB,IAAMK,EAAQC,KAAKC,MAAMH,EAAWJ,GAC9BQ,EAASF,KAAKC,MAAOH,EAAWJ,EAAQD,GAC9C,OAAkB,IAAXS,GAAgBH,EAAQ,EAAC,GAAAjG,OAAMiG,EAAK,QAAAjG,OAASiG,EAAK,MAAAjG,OAAKoG,EAAM,KACxE,CACA,GAAIJ,GAAYL,EAAO,CACnB,IAAMS,EAASF,KAAKC,MAAMH,EAAWL,GAC/BU,EAAOH,KAAKC,MAAOH,EAAWL,EAASF,GAC7C,OAAgB,IAATY,GAAcD,EAAS,EAAC,GAAApG,OAAMoG,EAAM,SAAApG,OAAUoG,EAAM,OAAApG,OAAMqG,EAAI,IACzE,CACA,GAAIL,GAAYN,EAAM,CAClB,IAAMY,EAAQJ,KAAKC,MAAMH,EAAWN,GAC9BW,EAAOH,KAAKC,MAAOH,EAAWN,EAAQD,GAC5C,OAAgB,IAATY,GAAcC,EAAQ,EAAC,GAAAtG,OAAMsG,EAAK,QAAAtG,OAASsG,EAAK,MAAAtG,OAAKqG,EAAI,IACpE,CACA,GAAIL,GAAYP,EAAK,CACjB,IAAMY,EAAOH,KAAKC,MAAMH,EAAWP,GAC7Bc,EAAQL,KAAKC,MAAOH,EAAWP,EAAOF,GAC5C,OAAiB,IAAVgB,GAAeF,EAAO,EAAC,GAAArG,OAAMqG,EAAI,QAAArG,OAASqG,EAAI,MAAArG,OAAKuG,EAAK,IACnE,CACA,GAAIP,GAAYT,EAAM,CAClB,IAAMgB,EAAQL,KAAKC,MAAMH,EAAWT,GAC9BiB,EAAUN,KAAKC,MAAOH,EAAWT,EArCzB,KAsCd,OAAmB,IAAZiB,GAAiBD,EAAQ,EAAC,GAAAvG,OAAMuG,EAAK,QAAAvG,OAASuG,EAAK,MAAAvG,OAAKwG,EAAO,IAC1E,CACA,IAAMA,EAAUN,KAAKO,MAAMT,EAxCT,KAyClB,MAAM,GAANhG,OAAUwG,EAAO,IACrB,EAEaE,EAAiB,SAACZ,EAAmBC,GAC9C,IAAMY,EAAQC,IAAOd,GACfe,EAAMD,IAAOb,GACnB,OAAIc,EAAIC,OAAOH,EAAO,KAEZ,GAAN3G,OAAU2G,EAAMI,OAAO,qBAAoB,SAAA/G,OAAQ6G,EAAIE,OAAO,UAExD,GAAN/G,OAAU2G,EAAMI,OAAO,qBAAoB,SAAA/G,OAAQ6G,EAAIE,OAAO,qBAGtE,EAEaC,EAAa,SAACC,GACvB,OAAOL,IAAOK,GAAMF,OAAO,QAC/B,EAEaG,EAAsB,SAACC,GAChC,OAAOP,IAAOO,GAAIJ,OAAO,mBAC7B,EAEaK,EAAuB,SAACH,GACjC,OAAOL,IAAOK,GAAMI,SACxB,EAEMC,EAA4C,CAC9CC,GAAI,KAoBKC,EAAwB,SAACC,GAClC,IAAM3B,EAAO4B,KAAKC,MACZ5B,EAnB4B,SAAC6B,EAAcT,GAIjD,IAHA,IAAMU,EAAOjB,IAAOO,GACdW,EAAS,wBAEF,CACT,IAAMC,EAAQD,EAAOE,KAAKJ,GAC1B,IAAIG,EAKA,MAJA,IAAAE,GAAApE,EAAAA,EAAAA,GAA6BkE,EAAK,GAAzBG,EAAMD,EAAA,GAAEE,EAAQF,EAAA,GACnBG,EAAQd,EAASa,IAAcA,EACrCN,EAAKQ,SAASH,EAAQE,EAI9B,CACA,OAAOP,EAAKR,SAChB,CAIeiB,CAAuBb,EAAU3B,GAC5C,OAAOA,EAAOC,EAAK,CAACD,KAAAA,EAAMC,GAAAA,GAAM,CAACD,KAAMC,EAAIA,GAAID,EACnD,EAEO,SAASyC,EAA2BV,GAMvC,GAAKA,EAAL,CAIA,IAAO/B,EAA2B+B,EAA3B/B,KAAMC,EAAqB8B,EAArB9B,GAAIyC,EAAiBX,EAAjBW,cACjB,OAAOA,EAAgBhB,EAAsBgB,GAAiB,CAAC1C,KAAAA,EAAMC,GAAAA,EAHrE,CAIJ,C,oGC3Ga0C,EAAwB,SAACvK,GAAgB,OAAKA,EAAMwK,aAAaxJ,KAAKA,IAAK,EAC3EyJ,EAA6B,SAACzK,GAAgB,OAAKA,EAAMwK,aAAaxJ,KAAK0J,WAAY,EACvF3J,EAAkC,SAACf,GAAgB,OAC5DA,EAAMwK,aAAaxJ,KAAKF,aAAc,EAE7B6J,GAA2BC,EAAAA,EAAAA,IACpC,CAACH,EAA4BI,EAAAA,KAC7B,SAACH,EAAatJ,GACV,GAAKA,GAAOsJ,SAAAA,EAAa3K,SAAS,UAElC,MAAO,CACH+K,QAAS1J,EACT2J,aAAaC,EAAAA,EAAAA,GAAoBN,IAAgB,EAEzD,G,6FChBG,SAASO,EAAcpL,GAC1B,OAAOqL,EAAAA,EAAAA,GAAcrL,EAAMsL,WAAYtL,EAAMuL,YACjD,C,0BC+BaC,EAAgB1G,EAAAA,MAAW,SAAsBsC,GAGtC,IAFpBpH,EAAKoH,EAALpH,MACA2D,EAASyD,EAATzD,UAEMsE,EA5Be,SAACjI,GACtB,IAAAyL,GAAgCC,EAAAA,EAAAA,UAASN,EAAcpL,IAAO2L,GAAA7F,EAAAA,EAAAA,GAAA2F,EAAA,GAAvDxD,EAAQ0D,EAAA,GAAEC,EAAWD,EAAA,GAoB5B,OAnBAE,EAAAA,EAAAA,YAAU,WACN,GAAI7L,EAAMG,QAAUiB,EAAAA,GAAY0K,OAIhC,IAAI1L,EAAAA,EAAAA,IAAiBJ,GACjB4L,EAAY5L,EAAMuL,YAAcH,EAAcpL,GAAS,UAI3D,GADA4L,EAAYR,EAAcpL,KACtBA,EAAMuL,YAAV,CAGA,IAAMQ,EAAQC,aAAY,kBAAMJ,EAAYR,EAAcpL,GAAO,GAAE,KACnE,OAAO,WACHiM,cAAcF,EAClB,CAJA,OAVIH,EAAY,KAepB,GAAG,CAAC5L,EAAMuB,GAAIvB,EAAMG,MAAOH,EAAMsL,aAE1BrD,CACX,CAMqBiE,CAAiBlM,GAClC,OAAOiI,IAAY3I,EAAAA,EAAAA,KAAC6M,EAAAA,EAAK,CAACxI,UAAWA,EAAUhE,SAAEsI,GACrD,G,gLCxCamE,EAAkB,SAACjM,GAAgB,OAAKA,EAAMwK,aAAa0B,IAAIC,WAAa,EAAG,EAC/EC,EAAqB,SAACpM,GAAgB,OAC/CqM,MAAMC,QAAQtM,EAAMwK,aAAa0B,IAAIC,YACO,IAA5CnM,EAAMwK,aAAa0B,IAAIC,UAAU7J,MAAa,EACrCiK,EAAY,SAACvM,GAAgB,OAAKA,EAAMwK,aAAa0B,GAAI,EAEzDM,EAAa,SAACxM,GAAgB,OAAKA,EAAMwK,aAAa0B,IAAI/E,IAAK,EAC/DsF,EAAgB,SAACzM,GAAgB,OAAKA,EAAMwK,aAAa0B,IAAIQ,OAAQ,EACrEC,EAAqB,SAAC3M,GAAgB,OAAKA,EAAMwK,aAAa0B,IAAIU,YAAa,EAC/EC,EAAmB,SAAC7M,GAAgB,OAAKA,EAAMwK,aAAa0B,IAAIA,GAAI,EACpEY,EAAmB,SAAC9M,GAAgB,OAAKA,EAAMwK,aAAa0B,IAAIa,UAAW,EAC3EC,EAAe,SAAChN,GAAgB,OAAKA,EAAMwK,aAAa0B,IAAIe,MAAO,EACnEC,EAAiB,SAAClN,GAAgB,OAAKA,EAAMwK,aAAa0B,IAAIiB,QAAS,EACvEC,EAAmB,SAACpN,GAAgB,OAAKA,EAAMwK,aAAa0B,IAAImB,UAAW,EAC3EC,EAAkB,SAACtN,GAAgB,OAAKA,EAAMwK,aAAa0B,IAAIqB,SAAU,EAEzEC,GAAmB5C,EAAAA,EAAAA,IAAe,CAACoC,EAAcP,IAAgB,SAACQ,EAAQP,GACnF,OAAOxK,QAAQ+K,IAAWP,EAAQ3I,KACtC,IAEa0J,GAAkB7C,EAAAA,EAAAA,IAAe,CAfpB,SAAC5K,GAAgB,OAAKA,EAAMwK,aAAa0B,IAAIwB,IAAK,EAejBN,IAAmB,SAACM,EAAMC,GACjF,IAAMC,EAAYC,OAAOC,OAAOJ,GAChC,OAAOC,EAASC,EAAUD,QAAO,SAACI,GAAI,OAAKA,EAAKhK,KAAKhE,SAAS4N,EAAO,IAAIC,CAC7E,IAEaI,GAA0BpD,EAAAA,EAAAA,IACnC,CAACkC,EAAkBH,IACnB,SAACI,EAAYH,GACT,OAAKG,EACEH,EAAaG,GADI,IAE5B,G,8OCxBSkB,EAA0B,SAACjO,GAAgB,OACpDA,EAAMwK,aAAa0D,gBAAgBzH,OAAQ,EAClC0H,EAAgB,SAACnO,GAAgB,OAAKA,EAAMwK,aAAa0D,gBAAgBE,OAAQ,EACjFC,EAAuB,SAACrO,GAAgB,OAAKA,EAAMsO,aAAaC,QAAS,EACzEC,EAAwB,SAACxO,GAAgB,OAAKA,EAAMwK,aAAa0D,gBAAgBrK,KAAM,EAEvF4K,GAAgC7D,EAAAA,EAAAA,IACzC,CAACqD,EAAyBI,IAC1B,SAACK,EAAaH,GACV,OAAKG,GAAiBA,KAAeH,EAE9BA,EAASG,GAFuC,IAG3D,IAGSC,GAAuB/D,EAAAA,EAAAA,IAChC,CAACgE,EAAAA,GAAgBX,IACjB,SAACY,EAAYpI,GACT,IAAKA,EAAS,MAAO,GACrB,IAAMqI,GAAWC,EAAAA,EAAAA,IAAetI,EAASuI,EAAAA,GAAWC,OAC9CC,EAAaL,EAAWM,EAAAA,GAAYF,MAAMG,WAAYN,GAE5D,OAAOI,EAAaA,EAAWG,KAAI,SAACC,GAAiB,OAAKA,EAAEnI,IAAI,IAAEoI,OAAS,EAC/E,IAGSC,EAAuB,SAACxP,GAAgB,OAAKA,EAAMwK,aAAa0D,gBAAgB/G,IAAK,EAErFsI,EAA2B,SAACzP,GAAgB,OACrDA,EAAMwK,aAAa0D,gBAAgBwB,QAAS,EAEnCC,EAAyB,SAAC3P,GAAgB,OACnDA,EAAMwK,aAAa0D,gBAAgBP,MAAO,EAEjCiC,EAAwB,SAAC5P,GAAgB,OAAKA,EAAMwK,aAAa0D,gBAAgB7L,KAAM,EAI9FwN,EAAoB,SAACC,EAAenC,GAAc,OACpDmC,EAAMC,cAAchQ,SAAS4N,EAAOoC,cAAe,EAE1CC,GAAwBpF,EAAAA,EAAAA,IACjC,CANiC,SAAC5K,GAAgB,OAAKA,EAAMwK,aAAa0D,gBAAgB+B,KAAM,EAMxEN,IACxB,SAACM,EAAOtC,GACJ,OAAKsC,GAEL7Q,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACO6Q,GAAK,IACRC,OAAQD,EAAMC,OAAOvC,QAAO,SAAA1G,GAAmB,IAAjBlD,EAAIkD,EAAJlD,KAAMC,EAAIiD,EAAJjD,KAChC,OAAO6L,EAAkB9L,EAAM4J,IAAWkC,EAAkB7L,EAAM2J,EACtE,MANe,IAQvB,IAGSwC,GAAyBvF,EAAAA,EAAAA,IAClC,CAACwF,EAAAA,GAAgBT,IACjB,SAACpB,EAAUZ,GACP,OAAKA,EAEEY,EAASZ,QAAO,SAAA0C,GAAA,IAAEtM,EAAIsM,EAAJtM,KAAI,OAAM8L,EAAkB9L,EAAM4J,EAAO,IAF9CY,CAGxB,IAGS+B,GAAyB1F,EAAAA,EAAAA,IAClC,CAACgF,EAAuBD,EAAwBH,IAChD,SAACnN,EAAOsL,EAAQxG,GACZ,IAAMoJ,GAAUpJ,GAAiB,MAATA,EAElBqJ,EAAyB,CAC3BzM,KAAM,MACNC,KAAM,WACNmD,KAJeoJ,EAASpJ,EAAOA,EAAKsJ,MAAM,KAAKC,MAAM,GAAI,GAAGC,KAAK,KAKjEC,YAAY,GAGhB,IAAKjD,EAAQ,OAAO4C,EAASlO,EAAK,CAAImO,GAAM1O,QAAAL,EAAAA,EAAAA,GAAKY,IAEjD,IAAMwO,EAASxO,EAAMsL,QAAO,SAAAmD,GAAA,IAAE/M,EAAI+M,EAAJ/M,KAAI,OAAM8L,EAAkB9L,EAAM4J,EAAO,IAMvE,OAJK4C,GACDM,EAAOE,QAAQP,GAGZK,CACX,G,+hBCXEG,EACF,SAACC,EAAmBjK,GAAmB,sBAAAC,GAAArC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MACvC,SAAAC,EAAOtE,GAAQ,IAAAyQ,EAAA,OAAArM,EAAAA,EAAAA,KAAAG,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACwBgM,EAAoCF,GAAW,KAAD,EAA3EC,EAAoBjM,EAAAI,MAGrB2B,IAAWoK,EAAAA,EAAYC,OAASH,EAAqBI,MACrDtK,IAAWoK,EAAAA,EAAYG,OAASL,EAAqBM,OAEtD/Q,EAASgR,EAAiB,CAACzK,OAAQoK,EAAAA,EAAYM,OAGnDjR,EAAS,CACLuD,KAAM2N,EAAAA,GACNC,KAAMV,IACP,wBAAAjM,EAAAO,OAAA,GAAAT,EAAA,KACN,gBAAA8M,GAAA,OAAA5K,EAAAzF,MAAA,KAAAsQ,UAAA,EAfsC,EAetC,EAEQC,EAA2B,WAAH,sBAAA1B,GAAAzL,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAsB,SAAAiB,EAAOtF,EAAUC,GAAQ,IAAAV,EAAAyG,EAAAuL,EAAAC,EAAAjL,EAAA,OAAAnC,EAAAA,EAAAA,KAAAG,MAAA,SAAAgB,GAAA,cAAAA,EAAAd,KAAAc,EAAAb,MAAA,OAGzD,GAFjBnF,EAAQU,IACR+F,GAAUyL,EAAAA,EAAAA,IAAWlS,GAAMgS,GACNG,EAAAA,EAAAA,IAAcnS,GAAlCiS,EAAQD,EAARC,SAAUjL,EAAMgL,EAANhL,QAEbiL,KAAY,YAAaA,GAAQ,CAAAjM,EAAAb,KAAA,eAAAa,EAAAT,OAAA,iBAErC9E,EAASuQ,EAAiCvK,EAASO,IACnDvG,EAASgR,EAAiB,CAACQ,UAAQ7S,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAM6S,GAAQ,IAAExL,QAAAA,OAAY,wBAAAT,EAAAR,OAAA,GAAAO,EAAA,KAClE,gBAAAqM,EAAAC,GAAA,OAAAhC,EAAA7O,MAAA,KAAAsQ,UAAA,EAToC,EASpC,EAEYQ,EACT,SAACC,GAAoB,OACrB,SAAC9R,EAAUC,GACP,IAAMV,EAAQU,IACPuR,GAAYE,EAAAA,EAAAA,IAAcnS,GAA1BiS,SACDjL,GAASwL,EAAAA,EAAAA,IAAexS,GACxByS,GAAWC,EAAAA,EAAAA,IAAoC1S,GAC/C2S,GAAaC,EAAAA,EAAAA,IAAiC5S,GAC9C6S,GAAcC,EAAAA,EAAAA,IAA4B9S,GAE1C+S,GAAW3T,EAAAA,EAAAA,GAAA,GAAO6S,GACpBM,WACOQ,EAAYC,uBACZD,EAAYE,QAGnBjM,IAAWoK,EAAAA,EAAYC,MAAQoB,IAC/BM,EAAYC,gBAAkBP,GAG9BzL,IAAWoK,EAAAA,EAAYG,MAAQoB,IAC/BI,EAAYE,OAASN,GAGrB3L,IAAWoK,EAAAA,EAAYM,MAAOmB,GAAgBZ,SAAAA,EAAUiB,cACxDH,EAAYG,YAAcL,GAG9BpS,EAASgR,EAAiB,CAACQ,SAAUc,IACzC,CAAE,EAEA5B,EAAmC,eAAAL,GAAAlM,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAG,SAAAqB,EACxCM,GAAe,IAAA0M,EAAAC,EAAAxB,EAAAyB,EAAAC,EAAAC,EAAA,OAAA1O,EAAAA,EAAAA,KAAAG,MAAA,SAAAoB,GAAA,cAAAA,EAAAlB,KAAAkB,EAAAjB,MAAA,UAEVsB,EAAQ,CAADL,EAAAjB,KAAA,eAAAiB,EAAAb,OAAA,SACD,CACH+L,MAAM,EACNE,MAAM,EACNgC,KAAK,EACLC,IAAI,IACP,OAGgE,OAA/DN,EAAQ,IAAIO,EAAAA,GAAWjN,EAASkN,EAAAA,EAAgBC,gBAAexN,EAAAjB,KAAA,GAChD0O,EAAAA,EAAAA,IAAiBV,EAAO1M,GAAS,KAAD,EAChC,OADgC2M,EAAAhN,EAAAf,KAA9CuM,EAAIwB,EAAJxB,KAAIyB,GACcS,EAAAA,EAAAA,IAAuBlC,EAAKmC,SAAUnC,EAAKoC,aAAYV,GAAA3N,EAAAA,EAAAA,GAAA0N,EAAA,GAAzEE,EAAcD,EAAA,GAAAlN,EAAAb,OAAA,SAId,CACHiO,KAAK,EACLhC,KAAMtP,QAAQqR,EAAeU,0BAC7B3C,KAAMpP,QAAQqR,EAAeW,0BAC7BT,IAAI,IACP,wBAAArN,EAAAZ,OAAA,GAAAW,EAAA,KACJ,gBAxBwCgO,GAAA,OAAArD,EAAAtP,MAAA,KAAAsQ,UAAA,KA0B5BsC,EACT,SACI3N,EACAU,EACAH,EACAqN,GAAyC,sBAAAC,GAAA1P,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAE7C,SAAAwB,EAAO7F,EAAUC,GAAQ,IAAAV,EAAAuU,EAAAC,EAAAjG,EAAAkG,EAAA5U,EAAA,OAAAgF,EAAAA,EAAAA,KAAAG,MAAA,SAAAuB,GAAA,cAAAA,EAAArB,KAAAqB,EAAApB,MAAA,OAKmB,GAJlCnF,EAAQU,IAAU6T,GACLG,EAAAA,EAAAA,MAAZF,EAAQD,EAARC,SACDjG,GAAWF,EAAAA,EAAAA,IAAqBrO,GAEhCyU,EAAgBlG,EAAS9H,GACZ,CAADF,EAAApB,KAAA,eAAAoB,EAAAhB,OAAA,wBAAAgB,EAAApB,KAAA,GAEEwP,EAAAA,EAAAA,GAAkB,CAACF,cAAAA,EAAetN,KAAAA,EAAMH,OAAAA,EAAQ4N,MAAOJ,IAAW,KAAD,EAA/E3U,EAAK0G,EAAAlB,KACX5E,EAASoU,EAAiB7N,EAAQnH,EAAOwU,IAAmB,yBAAA9N,EAAAf,OAAA,GAAAc,EAAA,KAC/D,gBAAAwO,EAAAC,GAAA,OAAAT,EAAA9S,MAAA,KAAAsQ,UAAA,EAZ4C,EAY5C,EAEQkD,EACT,SAAChO,GAAmB,OACpB,SAACvG,EAAUC,GACP,IAAMuR,GAAWgD,EAAAA,EAAAA,IAAsBvU,KAEjCqS,GAAW3T,EAAAA,EAAAA,GAAA,GAAO6S,GACpBjL,IAAWoK,EAAAA,EAAYC,aAChB0B,EAAYC,gBAGnBhM,IAAWoK,EAAAA,EAAYG,aAChBwB,EAAYE,OAGnBjM,IAAWoK,EAAAA,EAAYM,YAChBqB,EAAYG,YAGvBzS,EAASgR,EAAiB,CAACQ,SAAUc,IACzC,CAAE,EAEOmC,EACT,SAACjE,GAAiB,sBAAAkE,GAAAvQ,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAClB,SAAAsQ,EAAO3U,EAAUC,GAAQ,IAAAV,EAAAqV,EAAAC,EAAArD,EAAAjL,EAAA+L,EAAA,OAAAlO,EAAAA,EAAAA,KAAAG,MAAA,SAAAuQ,GAAA,cAAAA,EAAArQ,KAAAqQ,EAAApQ,MAAA,OAKuC,OAJtDnF,EAAQU,IAAU2U,GACQlD,EAAAA,EAAAA,IAAcnS,GAAMsV,EAAAD,EAA7CpD,SAAAA,OAAQ,IAAAqD,EAAG,CAAC,EAACA,EAAEtO,EAAMqO,EAANrO,OAAMuO,EAAArQ,KAAA,EAGxBzE,EAAS,CAACuD,KAAMwR,EAAAA,GAA2B5D,MAAM,IAAO2D,EAAApQ,KAAA,EAClD1E,EAASuQ,EAAiCC,EAAWjK,IAAS,KAAD,EAE7D+L,GAAW3T,EAAAA,EAAAA,GAAA,GAAO6S,GACpBhB,EACA8B,EAAYtM,QAAUwK,SAEf8B,EAAqB,eAEzBA,EAAoB,OAE3BtS,EAASgR,EAAiB,CAACQ,SAAUc,KACrCtS,EAAS6R,GAAkB,IAAO,QAEuB,OAFvBiD,EAAArQ,KAAA,GAElCzE,EAAS,CAACuD,KAAMwR,EAAAA,GAA2B5D,MAAM,IAAQ2D,EAAAE,OAAA,6BAAAF,EAAA/P,OAAA,GAAA4P,EAAA,uBAEhE,gBAAAM,EAAAC,GAAA,OAAAR,EAAA3T,MAAA,KAAAsQ,UAAA,EAtBiB,EAsBjB,EAEQ8D,EACT,SAACC,GAAa,OACd,SAACpV,EAAUC,GACP,IAAMuR,GAAWgD,EAAAA,EAAAA,IAAsBvU,KAEjCqS,GAAW3T,EAAAA,EAAAA,GAAA,GAAO6S,IACnB4D,GAAS,WAAY9C,SACfA,EAAYE,OAEnBF,EAAYE,OAAS4C,EAEzBpV,EAASgR,EAAiB,CAACQ,SAAUc,KACrCtS,GACIqV,EAAAA,EAAAA,IAAgB,UAADhU,OAAWmQ,aAAQ,EAARA,EAAUxL,QAAO,kCAAkCoP,GAErF,CAAE,EAEOE,EACT,SAACC,GAAe,OAChB,SAACvV,EAAUC,GACP,IAAMuR,GAAWgD,EAAAA,EAAAA,IAAsBvU,KAEvCD,EAASgR,EAAiB,CAACQ,UAAQ7S,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAM6S,GAAQ,IAAEiB,YAAa8C,OAChEvV,GACIqV,EAAAA,EAAAA,IAAgB,UAADhU,OAAWmQ,aAAQ,EAARA,EAAUxL,QAAO,kCAAkCuP,GAErF,CAAE,EAEOC,EACT,SAACC,GAAe,OAChB,SAACzV,EAAUC,GACP,IAAMuR,GAAWgD,EAAAA,EAAAA,IAAsBvU,KACvCD,EAASgR,EAAiB,CAACQ,UAAQ7S,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAM6S,GAAQ,IAAEe,gBAAiBkD,OACpEzV,GACIqV,EAAAA,EAAAA,IAAgB,UAADhU,OACDmQ,aAAQ,EAARA,EAAUxL,QAAO,qCAC3ByP,GAGZ,CAAE,EAEOC,EACT,SACInP,EACAP,GAAe,sBAAA2P,GAAAxR,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAEnB,SAAAuR,EAAO5V,EAAUC,GAAQ,IAAA4V,EAAAC,EAAArF,EAAA,OAAArM,EAAAA,EAAAA,KAAAG,MAAA,SAAAwR,GAAA,cAAAA,EAAAtR,KAAAsR,EAAArR,MAAA,OAEsB,GADrCmR,EAAStP,IAAWoK,EAAAA,EAAYC,KAChCkF,GAAYE,EAAAA,EAAAA,IAAa/V,OAE3B+F,KAAW8P,KAAaA,EAAU9P,GAASO,GAAO,CAAAwP,EAAArR,KAAA,eAAAqR,EAAAjR,OAAA,wBAAAiR,EAAArR,KAAA,EAEnBgM,EAAoC1K,GAAS,KAAD,EAArD,GAApByK,EAAoBsF,EAAAnR,OAErBiR,GAAWpF,EAAqBI,QAAWgF,GAAWpF,EAAqBM,MAAK,CAAAgF,EAAArR,KAAA,eAAAqR,EAAAjR,OAAA,iBAGrF9E,EAAS,CAACuD,KAAM0S,EAAAA,GAA0B9E,MAAM,KAC9B0E,EAASK,EAAAA,EAAgBC,EAAAA,GACjC,OAAQnQ,EAAS,CAACoQ,WAAY,CAAC,kBAAmB,QAAS,WAAY,CAAC,GAC7EC,MAAK,SAAClF,GAAU,IAADmF,EACNC,EAAQpF,SAAY,QAARmF,EAAJnF,EAAMf,cAAM,IAAAkG,OAAA,EAAZA,EAAc1H,KAAI,SAAA4H,GAAiC,IAA/BC,EAAMD,EAANC,OAAMC,EAAAF,EAAEG,YAAAA,OAAW,IAAAD,EAAG,CAAC,EAACA,EAOtD,MANyB,CACrBtB,MAAOqB,EACPG,gBAAiBD,EAAYC,gBAC7BrX,MAAOoX,EAAYpX,MACnBsX,OAAQF,EAAYE,OAG5B,IAEA7W,EAAS,CACLuD,KAAMuT,EAAAA,GACN3F,KAAM,CAACnL,QAAAA,EAASO,OAAAA,EAAQgQ,MAAAA,IAEhC,IAAE,OACK,WACHvW,EAAS,CACLuD,KAAMuT,EAAAA,GACN3F,KAAM,CAACnL,QAAAA,EAASO,OAAAA,EAAQgQ,MAAO,KAEvC,IAAE,SACO,WACLvW,EAAS,CAACuD,KAAM0S,EAAAA,GAA0B9E,MAAM,GACpD,IAAG,yBAAA4E,EAAAhR,OAAA,GAAA6Q,EAAA,KACV,gBAAAmB,EAAAC,GAAA,OAAArB,EAAA5U,MAAA,KAAAsQ,UAAA,EAzCkB,EAyClB,EAEE,SAAS4F,EACZ5M,EACA6M,GAOA,sBAAAC,GAAAhT,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA+S,EAAOpX,EAAUC,GAAQ,IAAAV,EAAA8X,EAAAC,EAAAlY,EAAAmY,EAAAC,EAAA,OAAApT,EAAAA,EAAAA,KAAAG,MAAA,SAAAkT,GAAA,cAAAA,EAAAhT,KAAAgT,EAAA/S,MAAA,OAID,OAHrBnF,EAAQU,IACRoX,GAAQK,EAAAA,EAAAA,IAA4BnY,GAC1CS,EAAS,CAACuD,KAAMoU,EAAAA,KAChB3X,GAAS4X,EAAAA,EAAAA,OAAkBH,EAAAhT,KAAA,EAAAgT,EAAA/S,KAAA,GAEHmT,EAAAA,EAAAA,IAAwB7X,GAASI,EAAAA,EAAAA,IAASiK,IAAW,CACrEyN,YAAa,aACbC,kBAAkB,EAClBC,aAAc,SAAC5U,GACX,IAAO6U,EAAiB7U,EAAjB6U,KAAMC,EAAW9U,EAAX8U,QACb,MAAM,SAAN7W,OAAgB4W,EAAI,OAAA5W,OAAM6W,GAAO7W,OAAGgW,EAAK,2BAAAhW,OAA8BgW,EAAK,6BAA8B,GAC9G,EACAc,WAAW,wBAAD9W,OAA0BgW,EAAK,WAAAhW,OAAcgW,EAAK,KAAM,MACnE,KAAD,GARIjY,EAAKqY,EAAA7S,MAULwT,MAAQhZ,EAAMgZ,MAAMxJ,KAAI,SAACyJ,GAAI,OAAA1Z,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAU0Z,GAAI,IAAE1X,IAAI2X,EAAAA,EAAAA,MAAM,IACvDf,GAAkBgB,EAAAA,EAAAA,IAAmBhZ,GACrCiY,GAAYgB,EAAAA,EAAAA,GAAoBpZ,EAAOmY,GAEzCL,SAAAA,EAAQuB,uBACRjB,EAAUpY,MAAQG,EAAMwK,aAAa3K,MAAMsZ,MAAMtZ,OAGlB,QAAnCkY,EAAAvV,EAAAA,GAAU4W,iCAAyB,IAAArB,GAAnCA,EAAqCsB,cACrC5Y,EAAS,CACLuD,KAAMsV,EAAAA,GACN1H,KAAM,CACF2H,aAActB,KAGtBxX,GAAS+Y,EAAAA,EAAAA,OAAqBtB,EAAA/S,KAAA,iBAAA+S,EAAAhT,KAAA,GAAAgT,EAAA9S,GAAA8S,EAAA,SAE9BzX,EAASoU,KAAoB,QAID,OAJCqD,EAAAhT,KAAA,GAE7BzE,EAASsR,KACTtR,EAAS6R,KACT7R,GAASD,EAAAA,EAAAA,MAAmB0X,EAAAzC,OAAA,6BAAAyC,EAAA1S,OAAA,GAAAqS,EAAA,yBAEnC,gBAAA4B,EAAAC,GAAA,OAAA9B,EAAApW,MAAA,KAAAsQ,UAAA,EAvCD,EAwCJ,CAEO,SAASL,EAAiBG,GAC7B,MAAO,CAAC5N,KAAM2V,EAAAA,GAAiB/H,KAAAA,EACnC,CAEO,SAASgI,EACZ5S,EACAP,EACAU,EACA0S,GAaA,sBAAAC,GAAAlV,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAiV,EAAOtZ,EAAUC,GAAQ,IAAAV,EAAAgY,EAAAmB,EAAA,OAAAtU,EAAAA,EAAAA,KAAAG,MAAA,SAAAgV,GAAA,cAAAA,EAAA9U,KAAA8U,EAAA7U,MAAA,OAMyB,OALrD1E,EAAS,CAACuD,KAAMoU,EAAAA,KAChB3X,EAAS,CAACuD,KAAMwR,EAAAA,GAA2B5D,MAAM,IAAOoI,EAAA9U,KAAA,EAG9ClF,EAAQU,IACRsX,GAAkBgB,EAAAA,EAAAA,IAAmBhZ,GAAMga,EAAA7U,KAAA,GAC7BmT,EAAAA,EAAAA,KAChB2B,EAAAA,EAAAA,IAAuBjT,EAAQ,CAACP,QAAAA,EAASU,KAAAA,EAAM6Q,gBAAAA,IAC/C,CACIO,YAAa,aACbC,kBAAkB,EAClBI,WAAY,yBAElB,KAAD,GAPKO,EAAKa,EAAA3U,MASHwU,SAAAA,EAASzS,UACT3G,EAAS,CACLuD,KAAMkW,EAAAA,GACNtI,KAAMuH,IAEV1Y,EAAS,CAACuD,KAAMmW,EAAAA,MAEhB1Z,EAAS,CACLuD,KAAMsV,EAAAA,GACN1H,KAAM,CACF2H,aAAcJ,KAK1B1Y,EAASoU,EAAiB7N,IAC7BgT,EAAA7U,KAAA,iBAAA6U,EAAA9U,KAAA,GAAA8U,EAAA5U,GAAA4U,EAAA,SAEDvZ,EAASoU,EAAiB7N,IAAS,QAGsB,OAHtBgT,EAAA9U,KAAA,GAEnCzE,EAASuQ,EAAiCvK,EAASO,IACnDvG,EAAS,CAACuD,KAAMwR,EAAAA,GAA2B5D,MAAM,IAAQoI,EAAAvE,OAAA,6BAAAuE,EAAAxU,OAAA,GAAAuU,EAAA,yBAEhE,gBAAAK,EAAAC,GAAA,OAAAP,EAAAtY,MAAA,KAAAsQ,UAAA,EAvCD,EAwCJ,CAEO,SAAS+C,EACZ7N,EACAnH,EACAoS,GAEA,OAAO,SAACxR,EAAUC,GAAc,IAAD4Z,EACrBta,EAAQU,IACR6Z,GAAaC,EAAAA,EAAAA,IAA6Bxa,GAC1CgY,GAAkBgB,EAAAA,EAAAA,IAAmBhZ,GAErCya,EAAgBzT,GAAUuT,GAAcnJ,EAAAA,EAAYM,IAGvB,QAAnC4I,EAAA9X,EAAAA,GAAU4W,iCAAyB,IAAAkB,GAAnCA,EAAqCI,gBACrCja,EAAS,CACLuD,KAAMsV,EAAAA,GACN1H,KAAM,CACF2H,aAAc,CACVoB,sBAAuB3C,EACvB4C,uBAAwB,CAAC5C,GACzBnY,MAAOA,GAAS,GAChBmH,OAAQyT,EACRxI,SAAUA,GAV0B,CAAC,MAcjDxR,EAASsR,KACTtR,EAAS6R,KACT7R,GAAS4X,EAAAA,EAAAA,MACb,CACJ,CAEO,SAASwC,EACZC,EACAjB,GAEA,sBAAAkB,GAAAnW,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAkW,EAAOva,EAAUC,GAAQ,IAAAV,EAAAH,EAAAob,EAAAC,EAAAC,EAAAzU,EAAA,OAAA7B,EAAAA,EAAAA,KAAAG,MAAA,SAAAoW,GAAA,cAAAA,EAAAlW,KAAAkW,EAAAjW,MAAA,OAczB,OAbGnF,EAAQU,IACRb,GAAQsS,EAAAA,EAAAA,IAAcnS,GAGxB,2BADEib,GAAQ7b,EAAAA,EAAAA,GAAA,GAAOS,MAEjBob,EAASL,uBAAwD,QAAlCM,EAAGD,EAASL,8BAAsB,IAAAM,OAAA,EAA/BA,EAAiCvN,QAC/D,SAAC2B,GAAC,OAAKA,IAAM+L,EAAAA,EAAgB,KAIrC5a,EAAS,CACLuD,KAAMsX,EAAAA,GACN1J,MAAM,IACPwJ,EAAAjW,KAAA,GAEsBmT,EAAAA,EAAAA,IAAwB7X,GAAS8a,EAAAA,EAAAA,IAAWN,EAAUpB,IAAW,CACtFtB,YAAa,cACbC,kBAAkB,EAClBI,WAAY,0BACb,KAAD,EAAAuC,EAAAC,EAAA/V,KAJKqB,EAAQyU,EAARzU,UAKSoU,aAAW,EAAXA,EAAcpU,KAE1BjG,EAASiX,EAAUhR,IAGvBjG,GAAS+a,EAAAA,EAAAA,KAAmB,IAAO,yBAAAJ,EAAA5V,OAAA,GAAAwV,EAAA,KACtC,gBAAAS,EAAAC,GAAA,OAAAX,EAAAvZ,MAAA,KAAAsQ,UAAA,EA3BD,EA4BJ,CAEO,SAAS6J,IACZ,sBAAAC,GAAAhX,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA+W,EAAOpb,EAAUC,GAAQ,IAAAV,EAAA8b,EAAA,OAAAjX,EAAAA,EAAAA,KAAAG,MAAA,SAAA+W,GAAA,cAAAA,EAAA7W,KAAA6W,EAAA5W,MAAA,OAEgB,GADtCnF,EAAQU,MACRob,GAAeE,EAAAA,EAAAA,IAAgBhc,IACpB,CAAD+b,EAAA5W,KAAA,eAAA4W,EAAA5W,KAAA,GACNmT,EAAAA,EAAAA,IAAwB7X,GAASwb,EAAAA,EAAAA,IAAW,CAACvV,SAAUoV,aAAY,EAAZA,EAAc1a,MAAO,CAC9EmX,YAAa,cACbC,kBAAkB,EAClBI,WAAY,0BACb,KAAD,EACFnY,EAASiX,EAAUoE,aAAY,EAAZA,EAAc1a,GAAI,CAAC8X,sBAAsB,KAC5DzY,GAAS+a,EAAAA,EAAAA,KAAmB,IAAO,wBAAAO,EAAAvW,OAAA,GAAAqW,EAAA,KAE1C,gBAAAK,EAAAC,GAAA,OAAAP,EAAApa,MAAA,KAAAsQ,UAAA,EAZD,EAaJ,CAEO,SAASsK,EAAU1V,GACtB,OAAO,SAAC2V,EAAG3b,GACP,IAAMV,EAAQU,IACR+F,GAAUyL,EAAAA,EAAAA,IAAWlS,IACXsc,EAAAA,EAAAA,KACRnb,MAAKqF,EAAAA,EAAAA,GAAeC,EAASC,GACzC,CACJ,CAEO,SAAS6V,IACZ,OAAO,SAAC9b,EAAUC,GACd,IAAMV,EAAQU,IACR+F,GAAUyL,EAAAA,EAAAA,IAAWlS,IACXsc,EAAAA,EAAAA,KACRnb,MAAKqF,EAAAA,EAAAA,GAAeC,EAAS,KAErChG,EAASoU,IACb,CACJ,CAEO,SAAS2H,EAAWC,GAMmC,IAL1DC,EAAGD,EAAHC,IACAhW,EAAQ+V,EAAR/V,SAKA,OAAO,SAACjG,EAAUC,GACd,IAAMic,GAAgBC,EAAAA,EAAAA,IAAoBlc,KAC1C,OAAO4X,EAAAA,EAAAA,IAAwB7X,GAASoc,EAAAA,EAAAA,IAAe,CAACnW,SAAAA,EAAUgW,IAAAA,KAAQ,CACtEnE,YAAa,mBACbC,kBAAkB,EAClBI,WAAY,+BACb9B,MAAK,WACJrW,EAAS,CACLuD,KAAM8Y,EAAAA,GACNlL,KAAM+K,EACA,CAAC/B,uBAAwB8B,GACzB,CAAC/B,sBAAuB+B,EAAI,KAE1C,GACJ,CACJ,CAEO,SAASK,GAAgBC,GAI8B,IAH1DN,EAAGM,EAAHN,IAIA,OAAO,SAACjc,EAAUC,GACd,IAAMic,GAAgBC,EAAAA,EAAAA,IAAoBlc,KAC1C,OAAOD,GAASwc,EAAAA,EAAAA,IAAqBP,IAAM5F,MAAK,kBAC5CrW,EACIgR,EACIkL,EAAgB,CAAC/B,uBAAwB8B,GAAO,CAAC/B,sBAAuB+B,EAAI,KAEnF,GAET,CACJ,CAEO,IAAMQ,GACT,WADyB,sBAAAC,GAAAvY,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAC8B,SAAAsY,EAAO3c,EAAUC,GAAQ,IAAAV,EAAAH,EAAAmY,EAAA0E,EAAA,OAAA7X,EAAAA,EAAAA,KAAAG,MAAA,SAAAqY,GAAA,cAAAA,EAAAnY,KAAAmY,EAAAlY,MAAA,OAE3C,GAD3BnF,EAAQU,IACRb,GAAQyd,EAAAA,EAAAA,IAAYtd,GACf,CAADqd,EAAAlY,KAAA,eAAAkY,EAAA9X,OAAA,iBAUT,OARKyS,GAAkBgB,EAAAA,EAAAA,IAAmBhZ,IACvC0c,EAAM7c,EAAM+a,wBAA0B,CAAC5C,IAEnCjY,SAASsb,EAAAA,KACbqB,EAAMA,EAAI/O,QAAO,SAAC2B,GAAC,OAAKA,IAAM+L,EAAAA,EAAgB,KACrC/Y,SAAQoa,EAAM,CAAC1E,IAExB0E,EAAG,GAAA5a,QAAAL,EAAAA,EAAAA,GAAOib,GAAG,CAAErB,EAAAA,KAClBgC,EAAAlY,KAAA,EAEK1E,GAASoc,EAAAA,EAAAA,IAAe,CAACH,IAAAA,EAAKhW,SAAU7G,EAAMuB,MAAM,KAAD,EACzDX,EAAS,CACLuD,KAAM8Y,EAAAA,GACNlL,KAAM,CAACgJ,uBAAwB8B,KAEnCjc,GAAS+a,EAAAA,EAAAA,KAAmB,IAAO,yBAAA6B,EAAA7X,OAAA,GAAA4X,EAAA,KACtC,gBAAAG,EAAAC,GAAA,OAAAL,EAAA3b,MAAA,KAAAsQ,UAAA,EAtBwB,EAsBxB,C,6DCtlBL,QADgB,SAAA5S,GAAK,OAAIC,EAAAA,EAAAA,KAAA,OAAAC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CAAKC,MAAM,6BAA6BC,KAAK,OAAOC,QAAQ,aAAgBL,GAAK,IAAAM,UAAEL,EAAAA,EAAAA,KAAA,QAAMG,KAAK,eAAeG,SAAS,UAAUC,EAAE,4SAA4SC,SAAS,cAAmB,C,kDCE5d,SAASuL,EAActD,EAAcC,GACxC,IAAM4V,EAAW,IAAIjU,KAAK5B,GAAM8V,UAC1BC,GAAU9V,EAAK,IAAI2B,KAAK3B,GAAM,IAAI2B,MAAQkU,UAChD,OAAOE,EAAAA,EAAO/U,OAAOgV,aAAaF,EAASF,EAC/C,C,8HCNO,MCiBDK,GAAI,QAAM,SAEVC,EAA+D,CACjEC,GAAI,GACJC,EAAG,GACHC,EAAG,IAyCMlS,EAAQ,cAAiB,SAClC9M,EACAif,GAEA,MAAM,KACFna,EAAO,UAAS,MAChBoa,EAAQ,SAAQ,KAChBC,EAAO,KAAI,MACXC,EAAK,MACLjd,EAAK,KACLkd,EAAI,SACJ/e,EAAQ,aACRgf,EAAY,UACZhb,EAAS,SACTib,EAAQ,SACRC,EAAQ,iBACRC,EAAgB,gBAChBC,EAAe,YACfC,GAAc,EAAK,MACnB/O,EAAK,OACLgP,EAAM,QACNC,EAAO,GACPC,EAAE,QACF5Q,GAAU,GACVlP,EACE+f,EAAa/c,QAAqB,KAAb1C,GAAmB,WAAe0f,MAAM1f,GAAY,GAEzE2f,EAAqB,UAATnb,GAAoBib,EAChCG,EAAoB,SAATpb,GAAmBib,EAC9BI,EAAoB,SAATrb,EAEXsb,EAAgC,mBAAZP,EACpBQ,EAAUrd,QAAQkd,GAAYV,GAC9Bc,GAAiBF,GAAcC,GAAWF,GAAYR,KAAiBJ,EAEvEgB,EAAW1B,EAAYM,GAEvBqB,EAAYnB,IACd,gBAAK/a,UAAWsa,EAAE,QAAS,CAAC6B,KAAMV,EAAa,aAAU/a,EAAWF,KAAM,SAAQ,SAC7Eua,IAGHqB,EAAUX,IACZ,iBAAKzb,UAAWsa,EAAE,QAAO,WACrB,gBAAKta,UAAWsa,EAAE,WAAU,SAAGte,IAC9B0C,QAAQ4N,KACL,iBAAKtM,UAAWsa,EAAE,SAAQ,WACtB,gBAAKta,UAAWsa,EAAE,aAAY,gBAC9B,gBAAKta,UAAWsa,EAAE,OAAM,SAAGhO,UAMrC+P,EAAe/c,IACjB,IAAIgd,EAiDJ,OA/CIV,EACAU,GACI,mBACI9b,KAAK,SAAQ,aACD4a,QAAmB1a,EAC/B6a,QAASO,EAAaP,OAAU7a,EAChCua,SAAUA,EACVjb,UAAWsa,EAAE,QAAS,CAClB6B,KAAM,MACN3b,KAAM,SACN+b,OAAQT,EAAa,QAAU,SACjC,UDlIN,cCmI+B,UAE3B,SAACU,EAAA,EAAa,CAACld,OAAQA,GAAU,UAAWub,KAAMoB,MAGnDJ,EACPS,GACI,gBACItc,UAAWsa,EAAE,QAAS,CAClB6B,KAAM,MACN3b,KAAM,SACR,UAEF,SAACic,EAAAC,EAAI,CAAC7B,KAAMoB,EAAU7N,KAAMuO,EAAA,MAG7BhB,IACPW,GACI,mBACI9b,KAAK,SACL+a,QAASP,EAAY,aACTG,QAAoBza,EAChCua,SAAUA,EACVjb,UAAWsa,EAAE,QAAS,CAClB6B,KAAM,MACN3b,KAAM,SACN+b,OAAQ,UACV,UD7JL,eC8J+B,UAE5B,SAACE,EAAAC,EAAI,CAAC7B,KAAMoB,EAAU7N,KAAMwO,EAAA,QAMpC,iBACIjC,IAAKA,EACL3a,UAAWsa,EACP,CACIM,QACAC,OACAC,QACAO,YAAaW,EACbf,YAEJjb,GAEJnC,MAAOA,EAAK,UACH2d,EAAE,WAETP,GAAYrQ,IAAW,gBAAK5K,UAAWsa,EAAE,yBAC1C4B,EACAJ,GACG,mBACIb,SAAUA,EACVza,KAAK,SACL+a,QAASA,EACTvb,UAAWsa,EAAE,eAAc,UD3LnC,cC4LmC,SAE1B8B,IAEL,EAGHE,IAER,EAGL,OAAIP,GAAWb,IAAaY,GAEpB,SAACe,EAAA,EAAe,CAACC,KAAM5B,EAAUI,OAAQA,EAAQyB,QAAS,IAAI,SACxDzd,GAAW+c,EAAY/c,KAK9B+c,GACX,G,gMCzLMW,EAAqB,GAEdC,EACT,WADuB,IACtBC,EAAM5O,UAAAxP,OAAA,QAAA4B,IAAA4N,UAAA,IAAAA,UAAA,GAAQ,OACf,SAACrR,GACGA,GACIkgB,EAAAA,EAAAA,IAAgB,CACZ3J,MAAO,GACP4J,OAAQ,CACJC,UAAWC,EAAAA,GAA8BC,SAIrDtgB,EAAS+a,EAAmBkF,GAChC,CAAE,EAEC,SAASlF,IAAiD,IAA9BkF,EAAM5O,UAAAxP,OAAA,QAAA4B,IAAA4N,UAAA,IAAAA,UAAA,GACrC,sBAAA7K,GAAArC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOtE,EAAUC,GAAQ,IAAAV,EAAA0N,EAAAmD,EAAAmQ,EAAAhK,EAAA,OAAAnS,EAAAA,EAAAA,KAAAG,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAM3B,OALKnF,EAAQU,IACRgN,GAAOuT,EAAAA,EAAAA,IAAejhB,GAEvB0gB,GACDjgB,GAASygB,EAAAA,EAAAA,KAAW,IACvBjc,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAGwBmT,EAAAA,EAAAA,IACjB7X,GACI0gB,EAAAA,EAAAA,IAAgB,CACZC,QAAQC,EAAAA,EAAAA,IAA2BrhB,GACnC4gB,QAAQU,EAAAA,EAAAA,IAA2BthB,GACnC4U,MAAO4L,KAGf,CACIjI,YAAa,oBACbC,kBAAkB,EAClBI,WAAY,sCAElB,KAAD,EAbK/H,EAAM5L,EAAAI,KAeN2b,EAAW,IAAIO,IACrB7T,EAAK8T,SAAQ,SAACzT,GAAI,OAAKiT,EAASS,IAAI1T,EAAK3M,GAAI2M,EAAK,IAClD8C,EAAO6Q,QAAQF,SAAQ,SAACzT,GAAI,OAAKiT,EAASS,IAAI1T,EAAK3M,GAAI2M,EAAK,KACtDiJ,EAAQ3K,MAAMzE,KAAKoZ,EAASlT,WAC5ByB,MAAK,SAACoS,EAAG7D,GACX,IAAM8D,EAAQ,IAAIpY,KAAKmY,EAAExW,YAAYuS,UAErC,OADc,IAAIlU,KAAKsU,EAAE3S,YAAYuS,UACtBkE,CACnB,IACAnhB,GACIkgB,EAAAA,EAAAA,IAAgB,CACZ3J,MAAAA,EACA6K,QAAShR,EAAOiR,WAChBC,UAAWlR,EAAOkR,aAExB,QAID,OAJC9c,EAAAC,KAAA,GAEGwb,GACDjgB,GAASygB,EAAAA,EAAAA,KAAW,IACvBjc,EAAAwQ,OAAA,6BAAAxQ,EAAAO,OAAA,GAAAT,EAAA,uBAER,gBAAA8M,EAAAO,GAAA,OAAAnL,EAAAzF,MAAA,KAAAsQ,UAAA,EA7CD,EA8CJ,CAEO,SAASkQ,IAAkF,IAA9DnB,EAAS/O,UAAAxP,OAAA,QAAA4B,IAAA4N,UAAA,GAAAA,UAAA,GAAGgP,EAAAA,GAA8BC,KAC1E,OAAO,SAACtgB,EAAUC,GACd,IAAMV,EAAQU,IACRsW,GAAQiK,EAAAA,EAAAA,IAAejhB,GAGvBiiB,EAAWjL,EADA6J,IAAcC,EAAAA,GAA8BoB,OAC3B,EAAIlL,EAAM1U,OAAS,GAEjD0U,EAAM1U,SACN7B,GACI0hB,EAAAA,EAAAA,IAAU,CACNC,WAAYH,EAAS9W,WACrB0V,UAAAA,KAGRpgB,EAAS+a,KAEjB,CACJ,CAEO,SAAS6G,IACZ,OAAO,SAAC5hB,EAAUC,GACd,IAAMV,EAAQU,IACR4hB,GAAWC,EAAAA,EAAAA,IAAmBviB,GAC9BwiB,GAAgBC,EAAAA,EAAAA,IAAkBziB,GAExCS,GAASiiB,EAAAA,EAAAA,KAAStjB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAGujB,EAAAA,GAAyBL,IAAS,IAAE3U,OAAQ6U,EAAc7U,WACjFlN,EAAS+a,IACb,CACJ,CAEO,SAASoH,EAAYC,GACxB,OAAO,SAACpiB,EAAUC,GACd,IAAMiN,GAAS8U,EAAAA,EAAAA,IAAkB/hB,KAEjCD,GAASiiB,EAAAA,EAAAA,KAAStjB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAGuO,GAAWkV,KAClCpiB,EAASggB,GAAe,GAC5B,CACJ,CAEO,SAASqC,EAAcR,GAC1B,OAAO,SAAC7hB,GACJA,GACIkgB,EAAAA,EAAAA,IAAgB,CACZ2B,SAAAA,EACA3U,OAAQgV,EAAAA,GAAyBL,GACjC1B,OAAQ,CAACC,UAAWC,EAAAA,GAA8BC,MAClD/J,MAAO,MAGfvW,EAASggB,IACb,CACJ,CAEO,SAASsC,EAAkBjY,EAAiBkY,GAC/C,OAAO,SAACviB,EAAUC,GACd,IAAMV,EAAQU,IAGRuiB,GAFQhC,EAAAA,EAAAA,IAAejhB,GAEFqP,KAAI,SAACtB,GAAI,OAChCA,EAAK3M,KAAO0J,GAAO1L,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAO2O,GAASiV,GAAWjV,CAAI,IAGtDtN,GACIkgB,EAAAA,EAAAA,IAAgB,CACZ3J,MAAOiM,IAGnB,CACJ,C,mCCjKO,IAAMjY,EAAsB,SAACkY,GAChC,GAAKA,EAAL,CAIA,IAAMC,EAAQD,EAAMzS,MAAM,KAC1B,OAAO0S,SAAAA,EAAQ,GAAKC,SAASD,aAAK,EAALA,EAAQ,GAAI,SAAMjf,CAH/C,CAIJ,C,2FCiHMmf,EAAmC,SACrCtD,EACAtZ,EACA2a,GAEE,IAADna,EAAA6K,UAAAxP,OAAA,QAAA4B,IAAA4N,UAAA,GAAAA,UAAA,GAD4D,CAAC,EAA7D9N,EAAIiD,EAAJjD,KAAMsf,EAAWrc,EAAXqc,YAAaC,EAActc,EAAdsc,eAAgBC,EAAYvc,EAAZuc,aAE9B3jB,EAFmDoH,EAAPwc,QAE1B,oBAAsB,GAC9C,OAAOnL,EAAAA,EAAAA,IACHoL,EAAAA,EAAMC,QAAQ,CACVC,OAAQ,OACRC,IAAI,mBAAD/hB,OAAqBkC,EAAI,KAAAlC,OAAI2E,EAAO,KAAA3E,OAAIie,GAAMje,OAAGjC,GACpD+R,KAAM,CACFwP,QAAMhiB,EAAAA,EAAAA,GAAA,GAAMgiB,IAEhBkC,YAAAA,IAEJ,CACI/K,YAAY,UAADzW,OAAYie,GACvBvH,kBAAmBgL,EACnBA,aAAAA,EACAD,eAAAA,EACA3K,WAAW,IAAD9W,OAAMie,EAAM,qBAE5BjJ,MAAK,SAACgN,GACJ,OAAOA,EAASlS,IACpB,GACJ,EAEagF,EAAmC,SAACmJ,EAAQtZ,EAAS2a,EAAQliB,GACtE,OAAOmkB,EAActD,EAAQtZ,EAAS2a,GAAMhiB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAMF,GAAK,IAAE8E,KAAMoN,EAAAA,EAAYG,OAC/E,EAEaoF,EAAmC,SAACoJ,EAAQtZ,EAAS2a,EAAQliB,GACtE,OAAOmkB,EAActD,EAAQtZ,EAAS2a,GAAMhiB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAMF,GAAK,IAAE8E,KAAMoN,EAAAA,EAAYC,OAC/E,C,mfCrJA,GAAehR,EAAAA,EAAAA,IAAc,sBAAuB,CAACC,GAAAA,EAAIC,GAAAA,ICQlD,IAAM6C,GAAQC,EAAAA,EAAAA,GAAG,qBAEjB,SAAS0gB,EAAqBC,GAA+D,IAAnCC,EAA2BnS,UAAAxP,OAAA,QAAA4B,IAAA4N,UAAA,GAAAA,UAAA,GAAG,GACrFoS,EAAwB,GACxBC,EAAsB,GACtBC,EAAyB,GACzBC,EAA6B,GACnCC,IAASN,GAAO,SAACjW,GACb,IAAOwW,EAAwDxW,EAAxDwW,eAAgBC,EAAwCzW,EAAxCyW,YAAaC,EAA2B1W,EAA3B0W,WAAYC,EAAe3W,EAAf2W,YAC5CH,EACAF,EAAaljB,KAAK4M,GACX2W,EACPN,EAASjjB,KAAK4M,GACP0W,GAAcD,EACrBL,EAAMhjB,KAAK4M,GAEXmW,EAAQ/iB,KAAK4M,EAErB,IAEA,IAAM4W,EAAaT,EAAQ7U,KAAI,SAACtB,GAAI,OAAK6W,EAAqB7W,EAAK,IAC7D8W,EAAWZ,EAAa5U,KAAI,SAACtB,GAAI,MAAM,CACzC1M,MAAO0M,EACP6D,KAAM,CAAC,EACPkT,QAAQ,EACX,IAED,MAAO,CACHC,SAAU,GACVb,QAAS,CAAC7iB,MAAOC,EAAK,iBAAkBsQ,KAAM+S,EAAW7iB,OAAO+iB,IAChEV,MAAO,CACH9iB,MAAOC,EAAK,uBACZ0jB,cAAe5hB,EAAM,eACrBwO,KAAMuS,EAAM9U,KAAI,SAACtB,GAAI,OAAK6W,EAAqB7W,EAAM,CAAC+W,QAAQ,GAAM,KAExEV,SAAU,CACN/iB,MAAOC,EAAK,yBACZ0jB,cAAe5hB,EAAM,kBACrBwO,KAAMwS,EAAS/U,KAAI,SAACtB,GAAI,OAAK6W,EAAqB7W,EAAM,CAAC+W,QAAQ,GAAM,KAE3ET,aAAc,CACVhjB,MAAOC,EAAK,sBACZ0jB,cAAe5hB,EAAM,qBACrBwO,KAAMyS,EAAahV,KAAI,SAACtB,GAAI,OAAK6W,EAAqB7W,EAAM,CAAC+W,QAAQ,GAAM,KAGvF,CAEA,SAASF,EAAqBK,GAA2C,IAAvBC,EAAepT,UAAAxP,OAAA,QAAA4B,IAAA4N,UAAA,GAAAA,UAAA,GAAG,CAAC,EACjE,OAAA1S,EAAAA,EAAAA,GAAA,CACIiC,MAAO4jB,EAAK3E,MAAQ2E,EAAKnV,MACzB8B,KAAMqT,GACHC,EAEX,CAEO,SAASC,EACZrV,GAEA,IAAOoU,EAA4BpU,EAA5BoU,QAASa,EAAmBjV,EAAnBiV,SAAUZ,EAASrU,EAATqU,MAC1B,MAAM,GAANriB,QAAAL,EAAAA,EAAAA,GACOsjB,IAAQtjB,EAAAA,EAAAA,GACR2jB,EAA8BlB,KAAQziB,EAAAA,EAAAA,GACtC2jB,EAA8BjB,IAEzC,CAEA,SAASiB,EACLC,GAEA,IAAOzT,GAAQyT,GAAoB,CAAC,GAA7BzT,KACP,OAAOhO,IACH0hB,IAAQ1T,GAAM,SAAAvB,GAAS,OAAAA,EAAPkV,OAAqB,KACrC,SAAAzU,GAAa,IACTuC,EADEvC,EAAJc,MACgC,CAAC,EAC/B,MAAO,CAAC5N,KADGqP,EAAJrP,KACc8L,MADHuD,EAALvD,MAEjB,GAER,CAEO,SAAS0V,EAAuB1V,GAOnC,IAAOoU,EAAqBpU,EAArBoU,QACDuB,EADsB3V,EAAZiV,UACU,GACpBQ,GAAYrB,GAAWA,EAAQtS,MAAS,IAAIjE,QAAO,SAAA2F,GAAS,OAAAA,EAAPiS,OAAoB,IAC/E,MAAO,CACHE,MAAOA,EAAMpW,KAAI,SAAAiF,GAAoB,IAAlBtQ,EAAIsQ,EAAJtQ,KAAM8L,EAAKwE,EAALxE,MACrB,MAAgB,UAAT9L,EAAmB,CAAC0hB,KAAM5V,GAAS,CAAC6V,MAAO7V,EACtD,IACAyV,QAASA,EAAQlW,KAAI,SAAA8F,GAAa,IAC9BiB,EADuBjB,EAAJvD,MACW,CAAC,EAAxB9B,EAAKsG,EAALtG,MACP,MAAgB,UADEsG,EAAJpS,KACY,CAAC0hB,KAAM5V,GAAU,CAAC6V,MAAO7V,EACvD,IAER,C,gFCzGA,MAAMgO,GAAI,E,SAAA,IAAM,QAQH8H,EAAO,cAA4C,SAAc1mB,EAAOif,GACjF,MAAM,KAACE,EAAO,IAAG,MAAEwH,EAAK,UAAEriB,EAAS,GAAEwb,GAAM9f,EAE3C,OACI,gBAAKif,IAAKA,EAAK0H,MAAOA,EAAOriB,UAAWsa,EAAE,CAACO,QAAO7a,GAAU,UAAWwb,EAAE,UACrE,gBAAKxb,UAAWsa,EAAE,YAG9B,I,yFCXMA,GAAI1a,EAAAA,EAAAA,GAAM,gBAQV0iB,GAAuDxhB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACxDrD,EAAAA,GAAY0K,MAAQoa,EAAAA,GACpB9kB,EAAAA,GAAYC,QCtBY,SAAAhC,GAAK,OAAIC,EAAAA,EAAAA,KAAA,OAAAC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CAAKC,MAAM,6BAA6BC,KAAK,OAAOC,QAAQ,aAAgBL,GAAK,IAAAM,UAAEL,EAAAA,EAAAA,KAAA,QAAMG,KAAK,eAAeG,SAAS,UAAUC,EAAE,sKAAsKC,SAAS,cAAmB,IDuBrWsB,EAAAA,GAAY+kB,SEvBK,SAAA9mB,GAAK,OAAIC,EAAAA,EAAAA,KAAA,OAAAC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CAAKC,MAAM,6BAA6BC,KAAK,OAAOC,QAAQ,aAAgBL,GAAK,IAAAM,UAAEL,EAAAA,EAAAA,KAAA,QAAMG,KAAK,eAAeG,SAAS,UAAUC,EAAE,kKAAkKC,SAAS,cAAmB,IFwB1VsB,EAAAA,GAAYM,UAAY0kB,EAAAA,GAGtB,SAASC,EAAejf,GAAkE,IAAhEnE,EAAMmE,EAANnE,OAAQU,EAASyD,EAATzD,UACrC,GAAI1D,EAAAA,GAAiBC,SAAS+C,GAC1B,OAAO3D,EAAAA,EAAAA,KAACymB,EAAI,CAACvH,KAAK,KAAK7a,UAAWsa,EAAE,iBAAkBta,KAG1D,IAAM2iB,EAAaL,EAAahjB,GAChC,OAAIqjB,GAEIhnB,EAAAA,EAAAA,KAAC8gB,EAAAA,EAAI,CACDzc,UAAWsa,EACP,kBAAgBxZ,EAAAA,EAAAA,GAAA,GAEXxB,EAAOsjB,qBAAsB,GAElC5iB,GAEJoO,KAAMuU,EACN9H,KAAM,MAIXlf,EAAAA,EAAAA,KAAAknB,EAAAA,SAAA,CAAA7mB,SAAGsD,GACd,CAEO,IAAMwjB,EAAkB,SAAHjW,GAA0C,IAArCkW,EAAIlW,EAAJkW,KAAMzjB,EAAMuN,EAANvN,OAAQU,EAAS6M,EAAT7M,UAC3C,OACIgjB,EAAAA,EAAAA,MAAA,OAAKhjB,UAAWsa,EAAE,KAAMta,GAAWhE,SAAA,EACpB,SAAT+mB,GAA4B,SAATA,KAAoBpnB,EAAAA,EAAAA,KAAC+mB,EAAe,CAACpjB,OAAQA,KACvD,SAATyjB,GAA4B,SAATA,IAAoB3I,EAAAA,EAAO/U,OAAO4d,SAAS3jB,KAG5E,C,wfGrCe,SAAS4jB,EAAkBzf,GAAuD,IAAD0f,EAAA1f,EAApDpH,MAAQG,EAAK2mB,EAAL3mB,MAAO4mB,EAAWD,EAAXC,YAAaxlB,EAAEulB,EAAFvlB,GAAKoC,EAASyD,EAATzD,UACnE/C,GAAWomB,EAAAA,EAAAA,KACXC,GAAeC,EAAAA,EAAAA,GAAY5U,EAAAA,IACjC7G,GAA0BC,EAAAA,EAAAA,eAA4BrH,GAAUsH,GAAA7F,EAAAA,EAAAA,GAAA2F,EAAA,GAAzDzH,EAAK2H,EAAA,GAAEwb,EAAQxb,EAAA,GACtByb,GAA8B1b,EAAAA,EAAAA,WAAS,GAAM2b,GAAAvhB,EAAAA,EAAAA,GAAAshB,EAAA,GAAtCnhB,EAAOohB,EAAA,GAAEC,EAAUD,EAAA,GAEpBE,EAAY,eAAA/W,GAAAzL,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAG,SAAAC,EAAOsiB,GAAyB,IAAAtjB,EAAAujB,EAAA,OAAAziB,EAAAA,EAAAA,KAAAG,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAIU,OAHpDpB,EAAQsjB,EAAK3mB,WAAWoN,OAAxB/J,KACPijB,OAAS9iB,GAAWe,EAAAC,KAAA,EAEVoiB,GAAkBloB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAOwnB,GAAW,IAAEvlB,MAAO0C,IAAIkB,EAAAE,KAAA,EACjD1E,GAAS8mB,EAAAA,EAAAA,IAAanmB,EAAIkmB,IAAqB,KAAD,EACpD7mB,GACIsiB,EAAAA,EAAAA,IAAkB3hB,EAAI,CAClBwlB,YAAaU,KAIjBR,EAAa1lB,KAAOA,GACpBX,GACIgR,EAAAA,EAAAA,IAAiB,CACbmV,aAAWxnB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAM0nB,EAAaF,aAAW,IAAEvlB,MAAO0C,OAG7DkB,EAAAE,KAAA,iBAEsB,MAFtBF,EAAAC,KAAA,GAAAD,EAAAG,GAAAH,EAAA,SAED+hB,EAAQ/hB,EAAAG,IAAeH,EAAAG,GAAA,yBAAAH,EAAAO,OAAA,GAAAT,EAAA,mBAG9B,gBAvBiB8M,GAAA,OAAAxB,EAAA7O,MAAA,KAAAsQ,UAAA,KAyBZ0V,GAAgBC,EAAAA,EAAAA,UAAQ,WAC1B,MAAO,CACH1jB,MAAM6iB,aAAW,EAAXA,EAAavlB,QAAS,GAEpC,GAAG,CAACulB,aAAW,EAAXA,EAAavlB,QAEjB,MAAiB,cAAVrB,GACO,YAAVA,GACU,WAAVA,GACU,UAAVA,GACAwmB,EAAAA,EAAAA,MAAA,OAAKhjB,UAAWA,EAAUhE,SAAA,EACtBL,EAAAA,EAAAA,KAACuoB,EAAAA,EAAM,CACH3I,QAAS,SAAC4I,GACNA,EAAMC,kBACNT,GAAW,EACf,EACAU,KAAM,iBACNxJ,KAAM,IACNC,MAAO,OAAO9e,UAEdL,EAAAA,EAAAA,KAAC8gB,EAAAA,EAAI,CAAC6H,QAAQ,aAEjBhiB,GACG3G,EAAAA,EAAAA,KAACsF,EAAAA,GAAU,CACPsjB,qBAAmB,EACnBjiB,QAASA,EACTkiB,OAAO,EACPC,YAAa,CAAC5mB,MAAO,mBACrB6mB,YAAa,CAACC,UAAW,QACzBC,QAAS,WACLpB,OAAS9iB,GACTijB,GAAW,EACf,EACAkB,MAAOjB,EACPI,cAAeA,EACfc,OAAM,CACF,CACIvkB,KAAM,OACNC,KAAM,OACNukB,UAAU,EACVC,QAAS,OACTvkB,OAAQ,CACJwkB,YAAa,sBAEpB3mB,QAAAL,EAAAA,EAAAA,IACEgC,EAAAA,EAAAA,GAAgB,CAACI,QAG5B,QAER,IACR,C,gDCzFM6kB,GAAYtlB,EAAAA,EAAAA,GAAM,sBAKlBulB,EAAoB,SAAC7K,GACvB,YAAyC5Z,IAAjC4Z,EAAsB8K,MAClC,EAEaC,EAAiC,CAC1C9kB,KAAM,OACN+kB,MAAO,OAEPtlB,UAAWklB,EAAU,YACrBK,OAAQ,SAAF9hB,GAAc,IAAD+hB,EAATC,EAAGhiB,EAAHgiB,IACN,GAAIN,EAAkBM,GAClB,OAAO9pB,EAAAA,EAAAA,KAAA,OAAKqE,UAAWklB,EAAU,aAAalpB,SAAEypB,EAAIL,SAGxD,IAAM7kB,EAAsB,QAAlBilB,EAAGC,EAAIrC,mBAAW,IAAAoC,OAAA,EAAfA,EAAiB3nB,MAC9B,OACImlB,EAAAA,EAAAA,MAAA,OAAKhjB,UAAWklB,EAAU,QAASrnB,MAAO0C,EAAKvE,SAAA,EAC3CL,EAAAA,EAAAA,KAAC+mB,EAAAA,EAAe,CAAC1iB,UAAWklB,EAAU,eAAgB5lB,OAAQmmB,EAAIjpB,SAClEb,EAAAA,EAAAA,KAAC+pB,EAAAA,EAAI,CACD1lB,UAAWklB,EAAU,kBACrBS,MAAOplB,EAAO,UAAY,YAC1BqlB,UAAQ,EAAA5pB,SAEPuE,GAAQ,cAIzB,GAGSslB,EAAmC,CAC5CtlB,KAAM,IACN+kB,MAAO,OACPxK,MAAO,GACP9a,UAAWklB,EAAU,cACrBK,OAAQ,SAAF1Y,GAAc,IAAV4Y,EAAG5Y,EAAH4Y,IACN,OAAIN,EAAkBM,GACX,MAIP9pB,EAAAA,EAAAA,KAAA,OAAKqE,UAAWklB,EAAU,UAAW3J,QAAS,SAACuK,GAAC,OAAKA,EAAE1B,iBAAiB,EAACpoB,UACrEL,EAAAA,EAAAA,KAACunB,EAAkB,CAACljB,UAAWklB,EAAU,aAAc7oB,MAAOopB,KAG1E,GAGEM,EAAiC,CACnCxlB,KAAM,OACN+kB,MAAO,SACPxK,MAAO,GACPyK,OAAQ,SAAFjY,GAAc,IAAVmY,EAAGnY,EAAHmY,IACN,OAAIN,EAAkBM,GACX,MAIP9pB,EAAAA,EAAAA,KAAC+pB,EAAAA,EAAI,CAACM,QAAQ,SAASL,MAAM,YAAW3pB,SACnCypB,EAAIjiB,UAAUyiB,EAAAA,EAAoBA,EAAAA,EAAkBR,EAAIjiB,QAAUiiB,EAAIjiB,QAGnF,GAGE0iB,EAAqC,CACvC3lB,KAAM,WACN+kB,MAAO,OACPxK,MAAO,IACPyK,OAAQ,SAAF1V,GAAc,IAAV4V,EAAG5V,EAAH4V,IACN,OAAIN,EAAkBM,GACX,KAGPA,EAAIjpB,QAAUiB,EAAAA,GAAY0oB,QACnB/L,EAAAA,EAAO/U,OAAO+gB,UAElBzqB,EAAAA,EAAAA,KAACkM,EAAAA,EAAa,CAACxL,MAAOopB,GACjC,GAGEY,EAAoC,CACtC9lB,KAAM,UACN+kB,MAAO,OACPxK,MAAO,GACPyK,OAAQ,SAAFzV,GAAc,IAAV2V,EAAG3V,EAAH2V,IACN,OAAIN,EAAkBM,GACX,MAIP9pB,EAAAA,EAAAA,KAAC+pB,EAAAA,EAAI,CAACM,QAAQ,SAASL,MAAM,YAAW3pB,UACnCsJ,EAAAA,EAAAA,IAAWmgB,EAAI9d,aAG5B,GAGS2e,EAAmC,CAC5C/lB,KAAM,SACN+kB,MAAO,OACPxK,MAAO,IACP9a,UAAWklB,EAAU,cACrBK,OAAQ,SAAFzU,GAAc,IAAV2U,EAAG3U,EAAH2U,IACN,OAAIN,EAAkBM,GACX,MAIP9pB,EAAAA,EAAAA,KAAC+pB,EAAAA,EAAI,CAACM,QAAQ,SAASJ,UAAQ,EAAC/nB,MAAO4nB,EAAIvD,KAAKlmB,SAC3CypB,EAAIvD,MAGjB,GAGEqE,EAAgC,CAClChmB,KAAM,MACN+kB,MAAO,OACPxK,MAAO,GACP9a,UAAWklB,EAAU,yBACrBK,OAAQ,SAAF5T,GAAc,IAAD6U,EAATf,EAAG9T,EAAH8T,IACN,GAAIN,EAAkBM,GAClB,OAAO,KAGX,IAAM5nB,EAAkC,QAA7B2oB,EAAGf,EAAIrO,8BAAsB,IAAAoP,OAAA,EAA1BA,EAA4BrZ,KAAK,MAE/C,OACIxR,EAAAA,EAAAA,KAAC+pB,EAAAA,EAAI,CAACM,QAAQ,SAASJ,UAAQ,EAAC/nB,MAAOA,EAAM7B,SACxC6B,GAGb,GAGS4oB,EAAiC,CAC1CpB,EACAU,EACAG,EACAG,EACAE,EACAV,GAESa,EAAkC,CAC3CrB,EACAU,EACAG,EACAI,EACAD,EACAE,EACAV,G,sCClJSc,EAAsB,SAACnqB,GAAgB,OAAKA,EAAMwK,aAAakD,IAAK,EAEpE0c,EAAuB,SAACpqB,GAAgB,OAAKA,EAAMwK,aAAakD,KAAK2c,SAAU,EAE/EpJ,GAAiB,SAACjhB,GAAgB,OAAKmqB,EAAoBnqB,GAAOgX,KAAM,EAExEsT,GAAqB,SAACtqB,GAAgB,OAAKmqB,EAAoBnqB,GAAO6hB,OAAQ,EAE9EY,GAAoB,SAACziB,GAAgB,OAAKmqB,EAAoBnqB,GAAO2N,QAAU,CAAC,CAAE,EAClF4U,GAAqB,SAACviB,GAAgB,OAAKmqB,EAAoBnqB,GAAOsiB,QAAS,EAG/EiI,IAAyB3f,EAAAA,EAAAA,IAAe,CAACqW,KAAiB,SAACuJ,GACpE,OAAOA,EAAU7c,QAAO,SAACI,GAAI,OAAKA,aAAI,EAAJA,EAAM0c,WAAW,GACvD,IAEaC,IAAqB9f,EAAAA,EAAAA,IAAe,CAACqW,KAAiB,SAACuJ,GAChE,OAAO3c,OAAO8c,QACVC,IAASJ,GAAW,SAACzc,GAAI,OAAKrF,IAAOqF,EAAK5C,YAAYtC,OAAO,eAAe,KAC9EgiB,QAAyC,SAACC,EAAG7jB,GAAuB,IAADoJ,GAAA1K,EAAAA,EAAAA,GAAAsB,EAAA,GAAnB2hB,EAAMvY,EAAA,GAAE2G,EAAK3G,EAAA,GAK3D,OAJAya,EAAI3pB,KAAK,CACLynB,OAAAA,IAGGkC,EAAIhpB,OAAOkV,EAAM3H,KAAI,SAACtB,GAAI,OAAKA,CAAI,IAC9C,GAAG,GACP,IAEagd,IAAqBngB,EAAAA,EAAAA,IAAe,CAACwB,EAAAA,KAAqB,SAAC4e,GACpE,IAAMC,EAAkBpd,OAAOC,OAAOod,EAAAA,IACtC,OAAOF,EACDC,EACAA,EAAgBtd,QAAO,SAACI,GAAI,OAAKA,IAASmd,EAAAA,GAAgBC,GAAG,GACvE,IAEaC,IAAsBxgB,EAAAA,EAAAA,IAC/B,CAAC6X,GAkFE,SAAoCziB,GACvC,OAAOqrB,EAAAA,EAAAA,GAAgBrrB,GAAO,yCAClC,IAnFI,SAAC2N,EAAQ2d,GACL,IAAMC,EAAmBC,IAAgBtB,EAAYD,EAAW,QAAQ5a,KACpE,SAACtB,GAAI,OAAKA,EAAKhK,IAAI,IAEjB0nB,EAAmB,CAAC5C,EAAY9kB,KAAM+lB,EAAc/lB,KAAMslB,EAActlB,MACxE2nB,EACF/d,EAAO+X,OAASiG,EAAAA,GAAwBC,GAAK3B,EAAYC,EAEvD2B,EAAsB,IAAIC,IAC5Bzf,MAAMC,QAAQgf,GAAmBA,EAAkBC,GAOvD,OAJAM,EAAoBE,IAAIlD,EAAY9kB,MACpC8nB,EAAoBE,IAAIjC,EAAc/lB,MACtC8nB,EAAoBE,IAAI1C,EAActlB,MAE/B,CACHioB,QAASN,EAAqB/d,QAAO,SAAAmD,GAAA,IAAE/M,EAAI+M,EAAJ/M,KAAI,OAAM8nB,EAAoBI,IAAIloB,EAAK,IAC9EmoB,eAAgBR,EACX/d,QAAO,SAACI,GAAI,OAAM0d,EAAiB1rB,SAASgO,EAAKhK,KAAK,IACtDsL,KAAI,SAAAgE,GAAA,IAAEtP,EAAIsP,EAAJtP,KAAI,MAAO,CAACA,KAAAA,EAAMooB,QAASN,EAAoBI,IAAIloB,GAAM,IAE5E,IAGSqoB,IAA0BxhB,EAAAA,EAAAA,IACnC,CAAC6X,GAAmB4I,EAAAA,IACpB,SAAC1d,GACG,IAGM0e,OAAuBnoB,IAHGyJ,EAAzB/F,KAID0kB,OAAmBpoB,IAJOyJ,EAAnB9F,GAKP0kB,OAAyBroB,IALCyJ,EAAf3N,MAMXwsB,EAN0B7e,EAAR+X,OACF/C,EAAAA,GAAyBuI,EAAAA,GAAgBuB,SAKpB/G,KAE3C,OAAO2G,GAAeC,GAAaC,GAAgBC,CACvD,IAOSlL,KAJsB1W,EAAAA,EAAAA,IAAeqW,IAAgB,SAACjK,GAC/D,OAAOA,EAAMrJ,OAAO/N,EAAAA,GACxB,IAE0C,SAACI,GACvC,IAAM4gB,EAxE0B,SAAC5gB,GAAgB,OAAKmqB,EAAoBnqB,GAAO4gB,MAAO,CAwEzE8L,CAAqB1sB,GACpC,GAAI4gB,EACA,MAAO,CAAC+L,YAAa/L,EAAOwB,WAAYwK,iBAAkBhM,EAAOC,UAIzE,GAEO,SAASQ,GAA2BrhB,GACvC,IAAMsiB,EAAWC,GAAmBviB,GAC9B6sB,GAAYztB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACXqjB,GAAkBziB,IACjB8sB,EAAAA,GAAyBxK,IAAa,CAAC,GAExCmI,EAAuDoC,EAAvDpC,YAAa7iB,EAA0CilB,EAA1CjlB,KAAMC,EAAoCglB,EAApChlB,GAAWklB,EAAyBF,EAAhC7sB,MAAsB2N,GAAMqf,EAAAA,EAAAA,GAAIH,EAAYI,GAEtEvH,EAAO/X,EAAO+X,KAiBlB,MAhBoB,OAAhB/X,EAAO+X,OACPA,GAAOwH,EAAAA,EAAAA,IAAmBltB,IAEV,QAAhB2N,EAAO+X,OACPA,OAAOxhB,IAGC9E,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACLuO,GAAM,IACTwf,UAAWvlB,EACXwlB,QAASvlB,EACT7H,MAAO+sB,EACPrH,KAAAA,EACA2H,gBAAiB5C,GAIzB,C","sources":["webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/circle-check.svg","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/utils/query.ts","webpack://@ytsaurus/ui/./src/ui/store/actions/query-tracker/queryTabs/i18n/index.ts","webpack://@ytsaurus/ui/./src/ui/store/actions/query-tracker/queryTabs/queryTabs.tsx","webpack://@ytsaurus/ui/./src/ui/components/Dialog/DialogError.tsx","webpack://@ytsaurus/ui/./src/ui/components/Dialog/index.tsx","webpack://@ytsaurus/ui/./src/ui/hocs/withDelayedMount.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/utils/navigation.ts","webpack://@ytsaurus/ui/./src/ui/components/common/Timeline/util.ts","webpack://@ytsaurus/ui/./src/ui/store/selectors/query-tracker/queryTabs.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/utils/date.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryDuration/index.tsx","webpack://@ytsaurus/ui/./src/ui/store/selectors/query-tracker/vcs.ts","webpack://@ytsaurus/ui/./src/ui/store/selectors/query-tracker/queryNavigation.ts","webpack://@ytsaurus/ui/./src/ui/store/actions/query-tracker/query.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/file.svg","webpack://@ytsaurus/ui/./src/ui/utils/date.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/Label/constants.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/Label/Label.tsx","webpack://@ytsaurus/ui/./src/ui/store/actions/query-tracker/queriesList.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryResults/helpers/parseResultTabIndex.ts","webpack://@ytsaurus/ui/./src/ui/utils/strawberryControllerApi.ts","webpack://@ytsaurus/ui/./src/ui/components/Dialog/controls/RoleListControl/i18n/index.ts","webpack://@ytsaurus/ui/./src/ui/components/Dialog/controls/RoleListControl/utils.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/Spin/Spin.tsx","webpack://@ytsaurus/ui/./src/ui/components/QueryStatus/index.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/circle-exclamation.svg","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/circle-stop.svg","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/EditQueryNameModal/EditQueryNameModal.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesHistoryList/columns.tsx","webpack://@ytsaurus/ui/./src/ui/store/selectors/query-tracker/queriesList.ts"],"sourcesContent":["const SvgCircleCheck = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M13.5 8a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0m-3.9-1.55a.75.75 0 1 0-1.2-.9L7.419 8.858 6.03 7.47a.75.75 0 0 0-1.06 1.06l2 2a.75.75 0 0 0 1.13-.08z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgCircleCheck;","import {AbortableStatuses, CompletedStates, ProgressStatuses} from '../../../types/query-tracker';\nimport type {QueryItem} from '../../../types/query-tracker/api';\n\nexport function isQueryProgress(query: QueryItem): boolean {\n return ProgressStatuses.includes(query.state);\n}\n\nexport function isQueryCompleted(query: QueryItem): boolean {\n return CompletedStates.includes(query.state);\n}\n\nexport function isAbortable(query: QueryItem): boolean {\n return AbortableStatuses.includes(query.state);\n}\n","import {addI18Keysets} from '../../../../../i18n';\n\nimport en from './en.json';\nimport ru from './ru.json';\n\nexport default addI18Keysets('yt:query-tracker-tabs', {en, ru});\n","import {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../../reducers';\nimport {Action} from 'redux';\nimport {isSingleProgress} from '../api';\nimport {\n QueryResultTab,\n QueryTab,\n setActiveTab,\n setTabs,\n} from '../../../reducers/query-tracker/queryTabsSlice';\nimport {CompletedStates, QueryStatus} from '../../../../types/query-tracker';\nimport times_ from 'lodash/times';\nimport find_ from 'lodash/find';\nimport UIFactory from '../../../../UIFactory';\nimport {getQuery} from '../../../selectors/query-tracker/query';\nimport {selectUserChangedQueryResultTab} from '../../../selectors/query-tracker/queryTabs';\nimport {loadQueryResultsErrors} from '../queryResult';\nimport i18n from './i18n';\n\ntype AsyncAction = ThunkAction<void, RootState, undefined, Action>;\n\nexport const updateQueryTabs = (): AsyncAction => (dispatch, getState) => {\n const state = getState();\n const query = getQuery(state);\n const userChangeTab = selectUserChangedQueryResultTab(state);\n\n if (!query) {\n dispatch(setTabs([]));\n return;\n }\n\n // step1 - make tabs. Consistency is important\n const tabs: QueryTab[] = [];\n\n if (query.state === QueryStatus.FAILED) {\n tabs.push({id: 'error', title: i18n('title_error')});\n }\n\n if (query.state === QueryStatus.COMPLETED) {\n tabs.push(\n ...times_(query.result_count, (num) => {\n const suffix = query.result_count === 1 ? '' : ` #${num + 1}`;\n return {\n id: `result/${num}` as QueryResultTab,\n title: i18n('title_result') + suffix,\n };\n }),\n );\n }\n\n const progress = isSingleProgress(query?.progress) ? query.progress : {};\n const hasProgress =\n Boolean(progress?.yql_plan?.Basic.nodes.length) ||\n Boolean(progress?.yql_plan?.Basic.links?.length);\n\n if (query.progress && hasProgress) {\n tabs.push({\n id: 'progress',\n title: i18n('title_progress'),\n });\n }\n\n if (query.state === QueryStatus.COMPLETED) {\n const queryResultChartTab = UIFactory.getQueryResultChartTab();\n if (queryResultChartTab && query.result_count) {\n tabs.push(\n ...times_(query.result_count, (num) => {\n const suffix = query.result_count === 1 ? '' : ` #${num + 1}`;\n return {\n id: `chart-tab/${num}` as QueryResultTab,\n title: i18n('title_chart') + suffix,\n };\n }),\n );\n }\n\n if (progress?.yql_statistics) {\n tabs.push({\n id: 'statistic',\n title: i18n('title_statistics'),\n });\n }\n }\n\n tabs.push({id: 'meta', title: i18n('title_metadata')});\n dispatch(setTabs(tabs));\n\n // Load query results errors for completed query-tracker\n const isCompleted = find_(CompletedStates, (status) => query?.state === status);\n if (query && isCompleted) {\n dispatch(loadQueryResultsErrors(query));\n }\n\n //step 2 - set active tab\n if (userChangeTab || !tabs.length) return;\n\n if (query.state === QueryStatus.FAILED) {\n dispatch(setActiveTab('error'));\n return;\n }\n\n if (query.state === QueryStatus.COMPLETED) {\n const firstResultTab = tabs.find((tab) => tab.id.includes('result'));\n if (firstResultTab) {\n dispatch(setActiveTab(firstResultTab.id));\n return;\n }\n }\n\n if (hasProgress) {\n dispatch(setActiveTab('progress'));\n return;\n }\n\n dispatch(setActiveTab('meta'));\n};\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport type {FORM_ERROR as FormErrorType} from './index';\n\nimport {FIX_MY_TYPE, YTError} from '../../types';\nimport {YTErrorBlock} from '../../components/Block/Block';\n\nimport compact_ from 'lodash/compact';\nimport map_ from 'lodash/map';\n\nconst block = cn('yt-dialog-error');\n\nexport function DialogError(props: FIX_MY_TYPE) {\n return <YTErrorBlock {...props} className={block()} />;\n}\n\nexport function makeErrorFields(errors: Array<YTError | Error | undefined>) {\n return compact_(\n map_(errors, (error, index) => {\n return error\n ? {\n name: `error_${index}`,\n type: 'block' as const,\n extras: {\n children: <DialogError error={error} />,\n },\n }\n : undefined;\n }),\n );\n}\n\nconst FORM_ERROR: typeof FormErrorType = 'FINAL_FORM/form-error';\n\nexport function makeFormSubmitError(error: YTError) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n}\n","import React from 'react';\nimport withLazyLoading from '../../hocs/withLazyLoading';\nimport {withDelayedMount} from '../../hocs/withDelayedMount';\n\nimport type {\n registerDialogControl as RegisterDialogControlFn,\n registerDialogTabControl as RegisterDialogTabControlFn,\n YTDialogType,\n} from './Dialog';\n\nexport type * from './Dialog';\nexport * from './DialogError';\nexport * from './controls/RoleListControl/utils';\n\nexport function importYTDFDialog() {\n return import(/* webpackChunkName: \"yt-df-dialog\" */ './Dialog');\n}\n\nexport const YTDFDialog = withDelayedMount(\n withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).YTDialog};\n }),\n '',\n ),\n) as YTDialogType;\n\nexport function useControlRegistration(\n fn: (params: {\n registerDialogControl: typeof RegisterDialogControlFn;\n registerDialogTabControl: typeof RegisterDialogTabControlFn;\n }) => void,\n) {\n importYTDFDialog().then(({registerDialogControl, registerDialogTabControl}) => {\n fn({registerDialogControl, registerDialogTabControl});\n });\n}\n\nexport type {RoleListControlProps} from './controls/RoleListControl/RoleListControl';\nexport const RoleListControl = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).RoleListControl};\n }),\n '',\n);\n\nexport const EditableList = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).EditableList};\n }),\n '',\n);\n\nexport const TabFieldVertical = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importYTDFDialog()).TabFieldVertical};\n }),\n '',\n);\n","import React from 'react';\n\n/**\n * The hoc allows to delay mounting until `props.visible == true`.\n * The hoc might be useful to wrap components wrapped by React.lazy\n * @param Component\n * @returns\n */\nexport function withDelayedMount<P extends {visible?: boolean}>(Component: React.ComponentType<P>) {\n return function MountOnFirstVisible(props: P) {\n const [mounted, setMounted] = React.useState(false);\n React.useEffect(() => {\n if (!mounted && props.visible) {\n setMounted(true);\n }\n }, [props.visible, mounted]);\n return !mounted ? null : <Component {...props} />;\n };\n}\n","import {makeRoutedURL} from '../../../store/location';\nimport {Page} from '../../../../shared/constants/settings';\nimport {QueryEngine} from '../../../../shared/constants/engines';\n\nexport function createQueryUrl(cluster: string, query_id: string) {\n return makeRoutedURL(`/${cluster}/${Page.QUERIES}${query_id ? `/${query_id}` : ''}`);\n}\n\nexport function createNewQueryUrl(\n QTcluster: string,\n engine: QueryEngine,\n {tableCluster, path, useDraft}: {tableCluster?: string; path?: string; useDraft?: boolean},\n) {\n return makeRoutedURL(`/${QTcluster}/${Page.QUERIES}?`, {\n engine,\n path: path || undefined,\n cluster: tableCluster || QTcluster,\n useDraft: useDraft || undefined,\n });\n}\n","/* eslint-disable valid-jsdoc */\nimport moment, {MomentInput, unitOfTime} from 'moment';\n\n/** @deprecated */\n\nexport const minute = 60 * 1000;\nexport const hour = minute * 60;\nexport const day = hour * 24;\nexport const week = day * 7;\nexport const month = day * 30;\nexport const year = day * 365;\n\n/**\n * Creates a human-readable representation of time interval\n * @param from Interval start, ms from epoch\n * @param to Interval end, ms from epoch\n * @returns Formatted string, e.g. 1d 3h\n */\nexport const humanizeInterval = (from: number, to: number) => {\n const duration = to - from;\n if (duration >= year) {\n const years = Math.floor(duration / year);\n const months = Math.floor((duration % year) / month);\n return months === 0 || years > 4 ? `${years}y` : `${years}y ${months}mo`;\n }\n if (duration >= month) {\n const months = Math.floor(duration / month);\n const days = Math.floor((duration % month) / day);\n return days === 0 || months > 4 ? `${months}mo` : `${months}mo ${days}d`;\n }\n if (duration >= week) {\n const weeks = Math.floor(duration / week);\n const days = Math.floor((duration % week) / day);\n return days === 0 || weeks > 3 ? `${weeks}w` : `${weeks}w ${days}d`;\n }\n if (duration >= day) {\n const days = Math.floor(duration / day);\n const hours = Math.floor((duration % day) / hour);\n return hours === 0 || days > 4 ? `${days}d` : `${days}d ${hours}h`;\n }\n if (duration >= hour) {\n const hours = Math.floor(duration / hour);\n const minutes = Math.floor((duration % hour) / minute);\n return minutes === 0 || hours > 6 ? `${hours}h` : `${hours}h ${minutes}m`;\n }\n const minutes = Math.round(duration / minute);\n return `${minutes}m`;\n};\n\nexport const formatInterval = (from: MomentInput, to: MomentInput) => {\n const mFrom = moment(from);\n const mTo = moment(to);\n if (mTo.isSame(mFrom, 'd')) {\n /* eslint-disable no-irregular-whitespace */\n return `${mFrom.format('YYYY-MM-DD HH:mm')} — ${mTo.format('HH:mm')}`;\n } else {\n return `${mFrom.format('YYYY-MM-DD HH:mm')} — ${mTo.format('YYYY-MM-DD HH:mm')}`;\n /* eslint-enable no-irregular-whitespace */\n }\n};\n\nexport const formatTime = (date: MomentInput) => {\n return moment(date).format('HH:mm');\n};\n\nexport const formatTimeCanonical = (ts: MomentInput) => {\n return moment(ts).format('YYYY-MM-DD HH:mm');\n};\n\nexport const getTimestampFromDate = (date: MomentInput) => {\n return moment(date).valueOf();\n};\n\nconst rangeMap: Record<string, 'M' | undefined> = {\n mo: 'M',\n};\n\nexport const calculateBackTimestamp = (back: string, ts?: MomentInput) => {\n const time = moment(ts);\n const backRe = /(-?\\d+)([a-zA-Z]+)/g;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const match = backRe.exec(back);\n if (match) {\n const [, amount, rawRange] = match; // eslint-disable-line no-unused-vars\n const range = rangeMap[rawRange] || (rawRange as unitOfTime.DurationConstructor);\n time.subtract(amount, range);\n } else {\n break;\n }\n }\n return time.valueOf();\n};\n\nexport const calculateShortcutTime = (shortcut: string) => {\n const from = Date.now();\n const to = calculateBackTimestamp(shortcut, from);\n return from < to ? {from, to} : {from: to, to: from};\n};\n\nexport function convertTimeToRequestParams(time: {\n from?: number;\n to?: number;\n shortcut?: string;\n shortcutValue?: string;\n}) {\n if (!time) {\n return undefined;\n }\n\n const {from, to, shortcutValue} = time;\n return shortcutValue ? calculateShortcutTime(shortcutValue) : {from, to};\n}\n","import {RootState} from '../../reducers';\nimport {createSelector} from 'reselect';\nimport {getQueryId} from './query';\nimport {parseResultTabIndex} from '../../../pages/query-tracker/QueryResults/helpers/parseResultTabIndex';\n\nexport const selectQueryResultTabs = (state: RootState) => state.queryTracker.tabs.tabs;\nexport const selectActiveQueryResultTab = (state: RootState) => state.queryTracker.tabs.activeTabId;\nexport const selectUserChangedQueryResultTab = (state: RootState) =>\n state.queryTracker.tabs.userChangeTab;\n\nexport const selectActiveResultParams = createSelector(\n [selectActiveQueryResultTab, getQueryId],\n (activeTabId, id) => {\n if (!id || !activeTabId?.includes('result')) return undefined;\n\n return {\n queryId: id,\n resultIndex: parseResultTabIndex(activeTabId) || 0,\n };\n },\n);\n","import {durationDates} from '../../../utils/date';\nimport {QueryItem} from '../../../types/query-tracker/api';\n\nexport function queryDuration(query: QueryItem) {\n return durationDates(query.start_time, query.finish_time);\n}\n","import {Label} from '@gravity-ui/uikit';\nimport React, {useEffect, useState} from 'react';\nimport {QueryStatus} from '../../../types/query-tracker';\nimport {QueryItem} from '../../../types/query-tracker/api';\nimport {queryDuration} from '../utils/date';\nimport {isQueryCompleted} from '../utils/query';\n\nexport type QueryDurationProps = {\n query: QueryItem;\n className?: string;\n};\n\nconst useQueryDuration = (query: QueryItem) => {\n const [duration, setDuration] = useState(queryDuration(query));\n useEffect(() => {\n if (query.state === QueryStatus.DRAFT) {\n setDuration(null);\n return;\n }\n if (isQueryCompleted(query)) {\n setDuration(query.finish_time ? queryDuration(query) : '-');\n return;\n }\n setDuration(queryDuration(query));\n if (query.finish_time) {\n return;\n }\n const timer = setInterval(() => setDuration(queryDuration(query)), 1000);\n return () => {\n clearInterval(timer);\n };\n }, [query.id, query.state, query.start_time]);\n\n return duration;\n};\n\nexport const QueryDuration = React.memo(function QueryDuration({\n query,\n className,\n}: QueryDurationProps) {\n const duration = useQueryDuration(query);\n return duration && <Label className={className}>{duration}</Label>;\n});\n","import {RootState} from '../../reducers';\nimport {createSelector} from 'reselect';\nexport const selectVcsConfig = (state: RootState) => state.queryTracker.vcs.vcsConfig || [];\nexport const selectIsVcsVisible = (state: RootState) =>\n Array.isArray(state.queryTracker.vcs.vcsConfig) &&\n state.queryTracker.vcs.vcsConfig.length !== 0;\nexport const selectVcs = (state: RootState) => state.queryTracker.vcs;\nexport const selectList = (state: RootState) => state.queryTracker.vcs.list;\nexport const selectPath = (state: RootState) => state.queryTracker.vcs.path;\nexport const selectPreview = (state: RootState) => state.queryTracker.vcs.preview;\nexport const selectRepositories = (state: RootState) => state.queryTracker.vcs.repositories;\nexport const selectCurrentVcs = (state: RootState) => state.queryTracker.vcs.vcs;\nexport const selectRepository = (state: RootState) => state.queryTracker.vcs.repository;\nexport const selectBranch = (state: RootState) => state.queryTracker.vcs.branch;\nexport const selectBranches = (state: RootState) => state.queryTracker.vcs.branches;\nexport const selectListFilter = (state: RootState) => state.queryTracker.vcs.listFilter;\nexport const selectListError = (state: RootState) => state.queryTracker.vcs.listError;\n\nexport const selectShowFilter = createSelector([selectBranch, selectPreview], (branch, preview) => {\n return Boolean(branch && !preview.name);\n});\n\nexport const selectListArray = createSelector([selectList, selectListFilter], (list, filter) => {\n const listArray = Object.values(list);\n return filter ? listArray.filter((item) => item.name.includes(filter)) : listArray;\n});\n\nexport const selectCurrentRepository = createSelector(\n [selectRepository, selectRepositories],\n (repository, repositories) => {\n if (!repository) return null;\n return repositories[repository];\n },\n);\n","import {RootState} from '../../reducers';\nimport {createSelector} from 'reselect';\nimport {getClusterList} from '../slideoutMenu';\nimport {NavigationNode} from '../../reducers/query-tracker/queryNavigationSlice';\nimport {makeGetSetting} from '../settings';\nimport {createNestedNS} from '../../../../shared/utils/settings';\nimport {NAMESPACES, SettingName} from '../../../../shared/constants/settings';\n\nexport const selectNavigationCluster = (state: RootState) =>\n state.queryTracker.queryNavigation.cluster;\nexport const selectLoading = (state: RootState) => state.queryTracker.queryNavigation.loading;\nexport const selectClusterConfigs = (state: RootState) => state.clustersMenu.clusters;\nexport const selectNavigationError = (state: RootState) => state.queryTracker.queryNavigation.error;\n\nexport const selectNavigationClusterConfig = createSelector(\n [selectNavigationCluster, selectClusterConfigs],\n (clusterName, clusters) => {\n if (!clusterName || !(clusterName in clusters)) return null;\n\n return clusters[clusterName];\n },\n);\n\nexport const selectFavouritePaths = createSelector(\n [makeGetSetting, selectNavigationCluster],\n (getSetting, cluster) => {\n if (!cluster) return [];\n const parentNS = createNestedNS(cluster, NAMESPACES.LOCAL);\n const favourites = getSetting(SettingName.LOCAL.FAVOURITES, parentNS);\n\n return favourites ? favourites.map((i: {path: string}) => i.path).sort() : [];\n },\n);\n\nexport const selectNavigationPath = (state: RootState) => state.queryTracker.queryNavigation.path;\n\nexport const selectNavigationNodeType = (state: RootState) =>\n state.queryTracker.queryNavigation.nodeType;\n\nexport const selectNavigationFilter = (state: RootState) =>\n state.queryTracker.queryNavigation.filter;\n\nexport const selectNavigationNodes = (state: RootState) => state.queryTracker.queryNavigation.nodes;\n\nexport const selectNavigationTable = (state: RootState) => state.queryTracker.queryNavigation.table;\n\nconst filterValueInText = (value: string, filter: string) =>\n value.toLowerCase().includes(filter.toLowerCase());\n\nexport const selectTableWithFilter = createSelector(\n [selectNavigationTable, selectNavigationFilter],\n (table, filter) => {\n if (!table) return null;\n\n return {\n ...table,\n schema: table.schema.filter(({name, type}) => {\n return filterValueInText(name, filter) || filterValueInText(type, filter);\n }),\n };\n },\n);\n\nexport const selectClustersByFilter = createSelector(\n [getClusterList, selectNavigationFilter],\n (clusters, filter) => {\n if (!filter) return clusters;\n\n return clusters.filter(({name}) => filterValueInText(name, filter));\n },\n);\n\nexport const selectNodeListByFilter = createSelector(\n [selectNavigationNodes, selectNavigationFilter, selectNavigationPath],\n (nodes, filter, path) => {\n const isRoot = !path || path === '/';\n const parentPath = isRoot ? path : path.split('/').slice(0, -1).join('/');\n const upItem: NavigationNode = {\n name: '...',\n type: 'map_node',\n path: parentPath,\n isFavorite: false,\n };\n\n if (!filter) return isRoot ? nodes : [upItem, ...nodes];\n\n const result = nodes.filter(({name}) => filterValueInText(name, filter));\n\n if (!isRoot) {\n result.unshift(upItem);\n }\n\n return result;\n },\n);\n","import {createQueryUrl} from '../../../pages/query-tracker/utils/navigation';\nimport {AnyAction} from 'redux';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../reducers';\nimport {getCluster} from '../../selectors/global';\nimport {QueryEngine} from '../../../../shared/constants/engines';\nimport {\n DraftQuery,\n QueryItem,\n abortQuery,\n addACOToLastSelected,\n generateQueryFromTable,\n getQuery,\n startQuery,\n updateACOQuery,\n} from './api';\nimport {requestQueriesList} from './queriesList';\nimport {\n SHARED_QUERY_ACO,\n getCliqueMap,\n getCurrentQuery,\n getQueryDraft,\n getQueryDraftSettings,\n getQueryEngine,\n getQuery as selectQuery,\n} from '../../selectors/query-tracker/query';\nimport {getAppBrowserHistory} from '../../window-store';\nimport {\n QueryState,\n RequestQueryAction,\n SetDirtySubmit,\n SetQueryAction,\n SetQueryCliqueLoading,\n SetQueryClusterClique,\n SetQueryClusterLoading,\n SetQueryErrorLoadAction,\n SetQueryPatchAction,\n SetQueryReadyAction,\n UpdateDraftAction,\n} from '../../reducers/query-tracker/query';\nimport {wrapApiPromiseByToaster} from '../../../utils/utils';\nimport {prepareQueryPlanIds} from '../../../types/query-tracker/query';\nimport {chytApiAction, spytApiAction} from '../../../utils/strawberryControllerApi';\nimport guid from '../../../common/hammer/guid';\nimport {getSettingQueryTrackerStage} from '../../selectors/settings/settings-ts';\nimport {getDefaultQueryACO, selectIsMultipleAco} from '../../selectors/query-tracker/queryAco';\nimport UIFactory from '../../../UIFactory';\n\nimport {\n REQUEST_QUERY,\n SET_DIRTY_SUBMIT,\n SET_QUERY,\n SET_QUERY_CLIQUE_LOADING,\n SET_QUERY_CLUSTER_CLIQUE,\n SET_QUERY_CLUSTER_LOADING,\n SET_QUERY_PATCH,\n SET_QUERY_READY,\n SET_SUPPORTED_ENGINE,\n UPDATE_ACO_QUERY,\n UPDATE_DRAFT,\n} from '../../reducers/query-tracker/query-tracker-contants';\nimport {loadVisualization} from './queryChart';\nimport {ChytInfo} from '../../reducers/chyt/list';\nimport {\n getLastUserChoiceQueryChytClique,\n getLastUserChoiceQueryDiscoveryPath,\n getLastUserChoiceQueryEngine,\n getLastUserChoiceYqlVersion,\n} from '../../selectors/settings/settings-queries';\nimport {getClusterParams, prepareClusterUiConfig} from '../cluster-params';\nimport {RumWrapper} from '../../../rum/rum-wrap-api';\nimport {RumMeasureTypes} from '../../../rum/rum-measure-types';\nimport {ClusterUiConfig} from '../../../../shared/yt-types';\nimport {setSettingByKey} from '../settings';\nimport {selectClusterConfigs} from '../../selectors/query-tracker/queryNavigation';\nimport {getQueryResultGlobalSettings} from '../../selectors/query-tracker/queryResult';\nimport {createTableSelect} from '../../../pages/query-tracker/Navigation/helpers/createTableSelect';\nimport {ResetQueryTabsAction, resetQueryTabs} from '../../reducers/query-tracker/queryTabsSlice';\nimport {updateQueryTabs} from './queryTabs/queryTabs';\n\ntype AsyncAction = ThunkAction<void, RootState, unknown, any>;\n\nconst checkCliqueControllerIsSupported =\n (clusterId: string, engine: QueryEngine): AsyncAction =>\n async (dispatch) => {\n const supportedControllers = await getCliqueControllerSupportByCluster(clusterId);\n\n if (\n (engine === QueryEngine.SPYT && !supportedControllers.spyt) ||\n (engine === QueryEngine.CHYT && !supportedControllers.chyt)\n ) {\n dispatch(updateQueryDraft({engine: QueryEngine.YQL}));\n }\n\n dispatch({\n type: SET_SUPPORTED_ENGINE,\n data: supportedControllers,\n });\n };\n\nexport const setCurrentClusterToQuery = (): AsyncAction => async (dispatch, getState) => {\n const state = getState();\n const cluster = getCluster(state);\n const {settings, engine} = getQueryDraft(state);\n\n if (settings && 'cluster' in settings) return;\n\n dispatch(checkCliqueControllerIsSupported(cluster, engine));\n dispatch(updateQueryDraft({settings: {...settings, cluster}}));\n};\n\nexport const setUserLastChoice =\n (clearProps?: boolean): AsyncAction =>\n (dispatch, getState) => {\n const state = getState();\n const {settings} = getQueryDraft(state);\n const engine = getQueryEngine(state);\n const lastPath = getLastUserChoiceQueryDiscoveryPath(state);\n const lastClique = getLastUserChoiceQueryChytClique(state);\n const lastVersion = getLastUserChoiceYqlVersion(state);\n\n const newSettings = {...settings};\n if (clearProps) {\n delete newSettings.discovery_group;\n delete newSettings.clique;\n }\n\n if (engine === QueryEngine.SPYT && lastPath) {\n newSettings.discovery_group = lastPath;\n }\n\n if (engine === QueryEngine.CHYT && lastClique) {\n newSettings.clique = lastClique;\n }\n\n if (engine === QueryEngine.YQL && lastVersion && !settings?.yql_version) {\n newSettings.yql_version = lastVersion;\n }\n\n dispatch(updateQueryDraft({settings: newSettings}));\n };\n\nconst getCliqueControllerSupportByCluster = async (\n cluster: string,\n): Promise<QueryState['draft']['supportedEngines']> => {\n if (!cluster) {\n return {\n spyt: false,\n chyt: false,\n yql: true,\n ql: true,\n };\n }\n\n const rumId = new RumWrapper(cluster, RumMeasureTypes.CLUSTER_PARAMS);\n const {data} = await getClusterParams(rumId, cluster);\n const [uiConfigOutput] = prepareClusterUiConfig(data.uiConfig, data.uiDevConfig) as [\n ClusterUiConfig,\n ];\n\n return {\n yql: true,\n chyt: Boolean(uiConfigOutput.chyt_controller_base_url),\n spyt: Boolean(uiConfigOutput.livy_controller_base_url),\n ql: true,\n };\n};\n\nexport const loadTablePromptToQuery =\n (\n cluster: string,\n path: string,\n engine: QueryEngine,\n newQuerySettings?: Record<string, string>,\n ): AsyncAction =>\n async (dispatch, getState) => {\n const state = getState();\n const {pageSize} = getQueryResultGlobalSettings();\n const clusters = selectClusterConfigs(state);\n\n const clusterConfig = clusters[cluster];\n if (!clusterConfig) return;\n\n const query = await createTableSelect({clusterConfig, path, engine, limit: pageSize});\n dispatch(createEmptyQuery(engine, query, newQuerySettings));\n };\n\nexport const setQueryEngine =\n (engine: QueryEngine): AsyncAction =>\n (dispatch, getState) => {\n const settings = getQueryDraftSettings(getState());\n\n const newSettings = {...settings};\n if (engine !== QueryEngine.SPYT) {\n delete newSettings.discovery_group;\n }\n\n if (engine !== QueryEngine.CHYT) {\n delete newSettings.clique;\n }\n\n if (engine !== QueryEngine.YQL) {\n delete newSettings.yql_version;\n }\n\n dispatch(updateQueryDraft({settings: newSettings}));\n };\n\nexport const setQueryCluster =\n (clusterId: string): AsyncAction =>\n async (dispatch, getState) => {\n const state = getState();\n const {settings = {}, engine} = getQueryDraft(state);\n\n try {\n dispatch({type: SET_QUERY_CLUSTER_LOADING, data: true});\n await dispatch(checkCliqueControllerIsSupported(clusterId, engine));\n\n const newSettings = {...settings};\n if (clusterId) {\n newSettings.cluster = clusterId;\n } else {\n delete newSettings['cluster'];\n }\n delete newSettings['clique'];\n\n dispatch(updateQueryDraft({settings: newSettings}));\n dispatch(setUserLastChoice(true));\n } finally {\n dispatch({type: SET_QUERY_CLUSTER_LOADING, data: false});\n }\n };\n\nexport const setQueryClique =\n (alias: string): AsyncAction =>\n (dispatch, getState) => {\n const settings = getQueryDraftSettings(getState());\n\n const newSettings = {...settings};\n if (!alias && 'clique' in newSettings) {\n delete newSettings.clique;\n } else {\n newSettings.clique = alias;\n }\n dispatch(updateQueryDraft({settings: newSettings}));\n dispatch(\n setSettingByKey(`local::${settings?.cluster}::queryTracker::lastChytClique`, alias),\n );\n };\n\nexport const setQueryYqlVersion =\n (version: string): AsyncAction =>\n (dispatch, getState) => {\n const settings = getQueryDraftSettings(getState());\n\n dispatch(updateQueryDraft({settings: {...settings, yql_version: version}}));\n dispatch(\n setSettingByKey(`local::${settings?.cluster}::queryTracker::lastYqlVersion`, version),\n );\n };\n\nexport const setQueryPath =\n (newPath: string): AsyncAction =>\n (dispatch, getState) => {\n const settings = getQueryDraftSettings(getState());\n dispatch(updateQueryDraft({settings: {...settings, discovery_group: newPath}}));\n dispatch(\n setSettingByKey(\n `local::${settings?.cluster}::queryTracker::lastDiscoveryPath`,\n newPath,\n ),\n );\n };\n\nexport const loadCliqueByCluster =\n (\n engine: QueryEngine.SPYT | QueryEngine.CHYT,\n cluster: string,\n ): ThunkAction<void, RootState, unknown, SetQueryClusterClique | SetQueryCliqueLoading> =>\n async (dispatch, getState) => {\n const isSpyt = engine === QueryEngine.SPYT;\n const cliqueMap = getCliqueMap(getState());\n\n if (cluster in cliqueMap && cliqueMap[cluster][engine]) return;\n\n const supportedControllers = await getCliqueControllerSupportByCluster(cluster);\n\n if ((isSpyt && !supportedControllers.spyt) || (!isSpyt && !supportedControllers.chyt))\n return; // Clique selector is not supported on cluster\n\n dispatch({type: SET_QUERY_CLIQUE_LOADING, data: true});\n const apiAction = isSpyt ? spytApiAction : chytApiAction;\n apiAction('list', cluster, {attributes: ['yt_operation_id', 'state', 'health']}, {})\n .then((data) => {\n const items = data?.result?.map(({$value, $attributes = {}}) => {\n const clique: ChytInfo = {\n alias: $value,\n yt_operation_id: $attributes.yt_operation_id,\n state: $attributes.state,\n health: $attributes.health,\n };\n return clique;\n });\n\n dispatch({\n type: SET_QUERY_CLUSTER_CLIQUE,\n data: {cluster, engine, items},\n });\n })\n .catch(() => {\n dispatch({\n type: SET_QUERY_CLUSTER_CLIQUE,\n data: {cluster, engine, items: []},\n });\n })\n .finally(() => {\n dispatch({type: SET_QUERY_CLIQUE_LOADING, data: false});\n });\n };\n\nexport function loadQuery(\n queryId: string,\n config?: {dontReplaceQueryText?: boolean},\n): ThunkAction<\n any,\n RootState,\n any,\n SetQueryAction | RequestQueryAction | ResetQueryTabsAction | SetQueryErrorLoadAction\n> {\n return async (dispatch, getState) => {\n const state = getState();\n const stage = getSettingQueryTrackerStage(state);\n dispatch({type: REQUEST_QUERY});\n dispatch(resetQueryTabs());\n try {\n const query = await wrapApiPromiseByToaster(dispatch(getQuery(queryId)), {\n toasterName: 'load_query',\n skipSuccessToast: true,\n errorContent: (error) => {\n const {code, message} = error;\n return `[code ${code}]: ${message}${stage ? `. Your stage is set to \"${stage}\". Reset it and try again` : ''}`;\n },\n errorTitle: `Failed to load query ${stage ? `[stage: ${stage}]` : ''}`,\n });\n\n query.files = query.files.map((file) => ({...file, id: guid()}));\n const defaultQueryACO = getDefaultQueryACO(state);\n const queryItem = prepareQueryPlanIds(query, defaultQueryACO);\n\n if (config?.dontReplaceQueryText) {\n queryItem.query = state.queryTracker.query.draft.query;\n }\n\n UIFactory.getInlineSuggestionsApi()?.onQueryLoad();\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: queryItem,\n },\n });\n dispatch(loadVisualization());\n } catch (e: unknown) {\n dispatch(createEmptyQuery());\n } finally {\n dispatch(setCurrentClusterToQuery());\n dispatch(setUserLastChoice());\n dispatch(updateQueryTabs());\n }\n };\n}\n\nexport function updateQueryDraft(data: Partial<QueryState['draft']>) {\n return {type: SET_QUERY_PATCH, data};\n}\n\nexport function createQueryFromTablePath(\n engine: QueryEngine,\n cluster: string,\n path: string,\n options?: {useDraft?: boolean},\n): ThunkAction<\n any,\n RootState,\n any,\n | SetQueryAction\n | RequestQueryAction\n | SetQueryErrorLoadAction\n | SetQueryPatchAction\n | UpdateDraftAction\n | SetQueryReadyAction\n | SetQueryClusterLoading\n> {\n return async (dispatch, getState) => {\n dispatch({type: REQUEST_QUERY});\n dispatch({type: SET_QUERY_CLUSTER_LOADING, data: true});\n\n try {\n const state = getState();\n const defaultQueryACO = getDefaultQueryACO(state);\n const draft = await wrapApiPromiseByToaster(\n generateQueryFromTable(engine, {cluster, path, defaultQueryACO}),\n {\n toasterName: 'load_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to load query',\n },\n );\n if (draft) {\n if (options?.useDraft) {\n dispatch({\n type: UPDATE_DRAFT,\n data: draft,\n });\n dispatch({type: SET_QUERY_READY});\n } else {\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: draft as QueryItem,\n },\n });\n }\n } else {\n dispatch(createEmptyQuery(engine));\n }\n } catch (e) {\n dispatch(createEmptyQuery(engine));\n } finally {\n dispatch(checkCliqueControllerIsSupported(cluster, engine));\n dispatch({type: SET_QUERY_CLUSTER_LOADING, data: false});\n }\n };\n}\n\nexport function createEmptyQuery(\n engine?: QueryEngine,\n query?: string,\n settings?: Record<string, string>,\n): ThunkAction<any, RootState, any, SetQueryAction | ResetQueryTabsAction> {\n return (dispatch, getState) => {\n const state = getState();\n const lastEngine = getLastUserChoiceQueryEngine(state);\n const defaultQueryACO = getDefaultQueryACO(state);\n\n const initialEngine = engine || lastEngine || QueryEngine.YQL;\n\n const defaultSettings: DraftQuery['settings'] = {};\n UIFactory.getInlineSuggestionsApi()?.onQueryCreate();\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: {\n access_control_object: defaultQueryACO,\n access_control_objects: [defaultQueryACO],\n query: query || '',\n engine: initialEngine,\n settings: settings || defaultSettings,\n } as QueryItem,\n },\n });\n dispatch(setCurrentClusterToQuery());\n dispatch(setUserLastChoice());\n dispatch(resetQueryTabs());\n };\n}\n\nexport function runQuery(\n afterCreate?: (query_id: string) => boolean | void,\n options?: {execution_mode: 'validate' | 'optimize'},\n): ThunkAction<any, RootState, any, SetQueryAction | SetDirtySubmit> {\n return async (dispatch, getState) => {\n const state = getState();\n const query = getQueryDraft(state);\n\n const newQuery = {...query};\n if ('access_control_objects' in newQuery) {\n newQuery.access_control_objects = newQuery.access_control_objects?.filter(\n (i) => i !== SHARED_QUERY_ACO,\n );\n }\n\n dispatch({\n type: SET_DIRTY_SUBMIT,\n data: false,\n });\n\n const {query_id} = await wrapApiPromiseByToaster(dispatch(startQuery(newQuery, options)), {\n toasterName: 'start_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to start query',\n });\n const handled = afterCreate?.(query_id);\n if (!handled) {\n dispatch(loadQuery(query_id));\n }\n\n dispatch(requestQueriesList(true));\n };\n}\n\nexport function abortCurrentQuery(): ThunkAction<any, RootState, any, SetQueryAction> {\n return async (dispatch, getState) => {\n const state = getState();\n const currentQuery = getCurrentQuery(state);\n if (currentQuery) {\n await wrapApiPromiseByToaster(dispatch(abortQuery({query_id: currentQuery?.id})), {\n toasterName: 'abort_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to abort query',\n });\n dispatch(loadQuery(currentQuery?.id, {dontReplaceQueryText: true}));\n dispatch(requestQueriesList(true));\n }\n };\n}\n\nexport function goToQuery(query_id: string): ThunkAction<any, RootState, any, never> {\n return (_, getState) => {\n const state = getState();\n const cluster = getCluster(state);\n const history = getAppBrowserHistory();\n history.push(createQueryUrl(cluster, query_id));\n };\n}\n\nexport function resetQueryTracker(): ThunkAction<any, RootState, any, never> {\n return (dispatch, getState) => {\n const state = getState();\n const cluster = getCluster(state);\n const history = getAppBrowserHistory();\n history.push(createQueryUrl(cluster, ''));\n\n dispatch(createEmptyQuery());\n };\n}\n\nexport function setQueryACO({\n aco,\n query_id,\n}: {\n aco: string[];\n query_id: string;\n}): ThunkAction<Promise<unknown>, RootState, any, AnyAction> {\n return (dispatch, getState) => {\n const isMultipleAco = selectIsMultipleAco(getState());\n return wrapApiPromiseByToaster(dispatch(updateACOQuery({query_id, aco})), {\n toasterName: 'update_aco_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to update query ACO',\n }).then(() => {\n dispatch({\n type: UPDATE_ACO_QUERY,\n data: isMultipleAco\n ? {access_control_objects: aco}\n : {access_control_object: aco[0]},\n });\n });\n };\n}\n\nexport function setDraftQueryACO({\n aco,\n}: {\n aco: string[];\n}): ThunkAction<Promise<unknown>, RootState, any, AnyAction> {\n return (dispatch, getState) => {\n const isMultipleAco = selectIsMultipleAco(getState());\n return dispatch(addACOToLastSelected(aco)).then(() =>\n dispatch(\n updateQueryDraft(\n isMultipleAco ? {access_control_objects: aco} : {access_control_object: aco[0]},\n ),\n ),\n );\n };\n}\n\nexport const toggleShareQuery =\n (): ThunkAction<unknown, RootState, any, AnyAction> => async (dispatch, getState) => {\n const state = getState();\n const query = selectQuery(state);\n if (!query) return;\n\n const defaultQueryACO = getDefaultQueryACO(state);\n let aco = query.access_control_objects || [defaultQueryACO];\n\n if (aco.includes(SHARED_QUERY_ACO)) {\n aco = aco.filter((i) => i !== SHARED_QUERY_ACO);\n if (!aco.length) aco = [defaultQueryACO];\n } else {\n aco = [...aco, SHARED_QUERY_ACO];\n }\n\n await dispatch(updateACOQuery({aco, query_id: query.id}));\n dispatch({\n type: UPDATE_ACO_QUERY,\n data: {access_control_objects: aco},\n });\n dispatch(requestQueriesList(true));\n };\n","const SvgFile = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M11 13.5H5A1.5 1.5 0 0 1 3.5 12V4A1.5 1.5 0 0 1 5 2.5h2V5a3 3 0 0 0 3 3h2.5v4a1.5 1.5 0 0 1-1.5 1.5m1.303-7a1.5 1.5 0 0 0-.242-.318L8.818 2.939a1.5 1.5 0 0 0-.318-.242V5A1.5 1.5 0 0 0 10 6.5zm.818-1.379A3 3 0 0 1 14 7.243V12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3h2.757a3 3 0 0 1 2.122.879z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgFile;","import hammer from '../common/hammer';\n\nexport function durationDates(from: string, to?: string) {\n const fromDate = new Date(from).getTime();\n const toDate = (to ? new Date(to) : new Date()).getTime();\n return hammer.format.TimeDuration(toDate - fromDate);\n}\n","export const LabelQa = {\n copyButton: 'copy-button',\n closeButton: 'close-button',\n mainButton: 'main-button',\n};\n","'use client';\n\nimport * as React from 'react';\n\nimport {CircleInfo, Xmark} from '@gravity-ui/icons';\n\nimport {ClipboardIcon} from '../ClipboardIcon';\nimport {CopyToClipboard} from '../CopyToClipboard';\nimport type {CopyToClipboardStatus} from '../CopyToClipboard';\nimport {Icon} from '../Icon';\nimport type {QAProps} from '../types';\nimport {block} from '../utils/cn';\n\nimport {LabelQa} from './constants';\n\nimport './Label.scss';\n\nconst b = block('label');\n\nconst iconSizeMap: Record<NonNullable<LabelProps['size']>, number> = {\n xs: 12,\n s: 14,\n m: 16,\n} as const;\n\nexport interface LabelProps extends QAProps {\n /** Label icon (at start) */\n icon?: React.ReactNode;\n /** Disabled state */\n disabled?: boolean;\n /** Handler for click on close button */\n onCloseClick?(event: React.MouseEvent<HTMLButtonElement>): void;\n /** Text to copy */\n copyText?: string;\n /** `aria-label` of close button */\n closeButtonLabel?: string;\n /** `aria-label` of copy button */\n copyButtonLabel?: string;\n /** Handler for copy event */\n onCopy?(text: string, result: boolean): void;\n /** Handler for click on label itself */\n onClick?(event: React.MouseEvent<HTMLElement>): void;\n /** Class name */\n className?: string;\n /** Content */\n children?: React.ReactNode;\n /** Display hover */\n interactive?: boolean;\n /** Label value (shows as \"children : value\") */\n value?: React.ReactNode;\n /** Label color */\n theme?: 'normal' | 'info' | 'danger' | 'warning' | 'success' | 'utility' | 'unknown' | 'clear';\n /** Label type (plain, with copy text button, with close button, or with info icon) */\n type?: 'default' | 'copy' | 'close' | 'info';\n /** Label size */\n size?: 'xs' | 's' | 'm';\n /** Container width behavior */\n width?: 'auto';\n /** Browser title for Label */\n title?: string;\n loading?: boolean;\n}\n\nexport const Label = React.forwardRef(function Label(\n props: LabelProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {\n type = 'default',\n theme = 'normal',\n size = 'xs',\n width,\n title,\n icon,\n children,\n onCloseClick,\n className,\n disabled,\n copyText,\n closeButtonLabel,\n copyButtonLabel,\n interactive = false,\n value,\n onCopy,\n onClick,\n qa,\n loading = false,\n } = props;\n const hasContent = Boolean(children !== '' && React.Children.count(children) > 0);\n\n const typeClose = type === 'close' && hasContent;\n const typeCopy = type === 'copy' && hasContent;\n const typeInfo = type === 'info';\n\n const hasOnClick = typeof onClick === 'function';\n const hasCopy = Boolean(typeCopy && copyText);\n const isInteractive = (hasOnClick || hasCopy || typeInfo || interactive) && !disabled;\n\n const iconSize = iconSizeMap[size];\n\n const startIcon = icon && (\n <div className={b('addon', {side: hasContent ? 'start' : undefined, type: 'icon'})}>\n {icon}\n </div>\n );\n const content = hasContent && (\n <div className={b('text')}>\n <div className={b('content')}>{children}</div>\n {Boolean(value) && (\n <div className={b('value')}>\n <div className={b('separator')}>:</div>\n <div className={b('key')}>{value}</div>\n </div>\n )}\n </div>\n );\n\n const renderLabel = (status?: CopyToClipboardStatus) => {\n let actionButton: React.ReactNode;\n\n if (typeCopy) {\n actionButton = (\n <button\n type=\"button\"\n aria-label={copyButtonLabel || undefined}\n onClick={hasOnClick ? onClick : undefined}\n disabled={disabled}\n className={b('addon', {\n side: 'end',\n type: 'button',\n action: hasOnClick ? 'click' : 'copy',\n })}\n data-qa={LabelQa.copyButton}\n >\n <ClipboardIcon status={status || 'pending'} size={iconSize} />\n </button>\n );\n } else if (typeInfo) {\n actionButton = (\n <div\n className={b('addon', {\n side: 'end',\n type: 'icon',\n })}\n >\n <Icon size={iconSize} data={CircleInfo} />\n </div>\n );\n } else if (typeClose) {\n actionButton = (\n <button\n type=\"button\"\n onClick={onCloseClick}\n aria-label={closeButtonLabel || undefined}\n disabled={disabled}\n className={b('addon', {\n side: 'end',\n type: 'button',\n action: 'close',\n })}\n data-qa={LabelQa.closeButton}\n >\n <Icon size={iconSize} data={Xmark} />\n </button>\n );\n }\n\n return (\n <div\n ref={ref}\n className={b(\n {\n theme,\n size,\n width,\n interactive: isInteractive,\n disabled,\n },\n className,\n )}\n title={title}\n data-qa={qa}\n >\n {!disabled && loading && <div className={b('animation-container')} />}\n {startIcon}\n {hasOnClick ? (\n <button\n disabled={disabled}\n type=\"button\"\n onClick={onClick}\n className={b('main-button')}\n data-qa={LabelQa.mainButton}\n >\n {content}\n </button>\n ) : (\n content\n )}\n {actionButton}\n </div>\n );\n };\n\n if (hasCopy && copyText && !hasOnClick) {\n return (\n <CopyToClipboard text={copyText} onCopy={onCopy} timeout={1000}>\n {(status) => renderLabel(status)}\n </CopyToClipboard>\n );\n }\n\n return renderLabel();\n});\n","import {ThunkAction} from 'redux-thunk';\nimport {wrapApiPromiseByToaster} from '../../../utils/utils';\nimport {RootState} from '../../reducers';\nimport {loadQueriesList} from './api';\nimport {\n getQueriesFilters,\n getQueriesList,\n getQueriesListCursorParams,\n getQueriesListFilterParams,\n getQueriesListMode,\n} from '../../selectors/query-tracker/queriesList';\nimport {\n DefaultQueriesListFilter,\n QueriesListFilter,\n QueriesListMode,\n} from '../../../types/query-tracker/queryList';\nimport {QueriesHistoryCursorDirection} from '../../reducers/query-tracker/query-tracker-contants';\nimport {\n setCursor,\n setFilter,\n setLoading,\n updateListState,\n} from '../../reducers/query-tracker/queryListSlice';\nimport {QueryItem} from '../../../types/query-tracker/api';\n\ntype AsyncAction = ThunkAction<any, RootState, any, any>;\n\nconst QUERIES_LIST_LIMIT = 20;\n\nexport const resetQueryList =\n (silent = false): AsyncAction =>\n (dispatch) => {\n dispatch(\n updateListState({\n items: [],\n cursor: {\n direction: QueriesHistoryCursorDirection.PAST,\n },\n }),\n );\n dispatch(requestQueriesList(silent));\n };\n\nexport function requestQueriesList(silent = false): AsyncAction {\n return async (dispatch, getState) => {\n const state = getState();\n const list = getQueriesList(state);\n\n if (!silent) {\n dispatch(setLoading(true));\n }\n\n try {\n const result = await wrapApiPromiseByToaster(\n dispatch(\n loadQueriesList({\n params: getQueriesListFilterParams(state),\n cursor: getQueriesListCursorParams(state),\n limit: QUERIES_LIST_LIMIT,\n }),\n ),\n {\n toasterName: 'load_history_list',\n skipSuccessToast: true,\n errorTitle: 'Failed to load query-tracker list',\n },\n );\n\n const itemsMap = new Map<string, QueryItem>();\n list.forEach((item) => itemsMap.set(item.id, item));\n result.queries.forEach((item) => itemsMap.set(item.id, item));\n const items = Array.from(itemsMap.values());\n items.sort((a, b) => {\n const timeA = new Date(a.start_time).getTime();\n const timeB = new Date(b.start_time).getTime();\n return timeB - timeA;\n });\n dispatch(\n updateListState({\n items,\n hasMore: result.incomplete,\n timestamp: result.timestamp,\n }),\n );\n } finally {\n if (!silent) {\n dispatch(setLoading(false));\n }\n }\n };\n}\n\nexport function loadNextQueriesList(direction = QueriesHistoryCursorDirection.PAST): AsyncAction {\n return (dispatch, getState) => {\n const state = getState();\n const items = getQueriesList(state);\n\n const isFuture = direction === QueriesHistoryCursorDirection.FUTURE;\n const lastItem = items[isFuture ? 0 : items.length - 1];\n\n if (items.length) {\n dispatch(\n setCursor({\n cursorTime: lastItem.start_time,\n direction,\n }),\n );\n dispatch(requestQueriesList());\n }\n };\n}\n\nexport function resetFilter(): AsyncAction {\n return (dispatch, getState) => {\n const state = getState();\n const listMode = getQueriesListMode(state);\n const currentFilter = getQueriesFilters(state);\n\n dispatch(setFilter({...DefaultQueriesListFilter[listMode], filter: currentFilter.filter}));\n dispatch(requestQueriesList());\n };\n}\n\nexport function applyFilter(patch: QueriesListFilter): AsyncAction {\n return (dispatch, getState) => {\n const filter = getQueriesFilters(getState());\n\n dispatch(setFilter({...filter, ...patch}));\n dispatch(resetQueryList(true));\n };\n}\n\nexport function applyListMode(listMode: QueriesListMode): AsyncAction {\n return (dispatch) => {\n dispatch(\n updateListState({\n listMode,\n filter: DefaultQueriesListFilter[listMode],\n cursor: {direction: QueriesHistoryCursorDirection.PAST},\n items: [],\n }),\n );\n dispatch(resetQueryList());\n };\n}\n\nexport function updateQueryInList(queryId: string, updates: Partial<QueryItem>): AsyncAction {\n return (dispatch, getState) => {\n const state = getState();\n const items = getQueriesList(state);\n\n const updatedItems = items.map((item) =>\n item.id === queryId ? {...item, ...updates} : item,\n );\n\n dispatch(\n updateListState({\n items: updatedItems,\n }),\n );\n };\n}\n","export const parseResultTabIndex = (tabId?: string) => {\n if (!tabId) {\n return undefined;\n }\n\n const parts = tabId.split('/');\n return parts?.[1] ? parseInt(parts?.[1], 10) : undefined;\n};\n","import axios, {CancelToken} from 'axios';\nimport {wrapApiPromiseByToaster} from './utils';\nimport {OptionsGroup} from '../components/Dialog/df-dialog-utils';\nimport {QueryEngine} from '../../shared/constants/engines';\n\nexport type WithResult<T> = {result: T};\n\nexport type StrawberryListAttributes = keyof Required<StrawberryListResponseItem>['$attributes'];\n\nexport type StrawberryDescribeOptionsType = Array<OptionsGroup>;\n\nexport type StrawberryApi =\n | {\n action: 'list';\n params: {attributes?: Array<StrawberryListAttributes>};\n response: StrawberryListResponse;\n }\n | {action: 'start'; params: {alias: string; untracked?: boolean}; response: void}\n | {action: 'stop'; params: {alias: string}; response: void}\n | {action: 'remove'; params: {alias: string}; response: void}\n | {\n action: 'create';\n params: {\n alias: string;\n speclet_options: {\n active: boolean;\n pool?: string;\n instance_count: number;\n };\n };\n response: void;\n }\n | {\n action: 'edit_options';\n params: {\n alias: string;\n options_to_set: Partial<StrawberryListResponseItem['$attributes']>;\n options_to_remove: Array<StrawberryListAttributes>;\n };\n response: void;\n }\n | {\n action: 'describe_options';\n params: {alias: string};\n response: WithResult<StrawberryDescribeOptionsType>;\n }\n | {action: 'get_speclet'; params: {alias: string}; response: WithResult<unknown>}\n | {\n action: 'get_brief_info';\n params: {alias: string};\n response: WithResult<StrawberryStatusResponse>;\n };\n\nexport type StrawberryStatusResponse = {\n ctl_attributes: {\n instance_count?: number;\n total_cpu?: number;\n total_memory?: number;\n };\n yt_operation: {\n id?: string;\n state?: string;\n start_time?: string;\n finish_time?: string;\n };\n state?: StrawberryCliqueStateType;\n health?: StrawberryCliqueHealthType;\n health_reason?: string;\n incarnation_index?: number;\n creator?: string;\n speclet_modification_time?: string;\n strawberry_state_modification_time?: string;\n stage?: string;\n\n pool?: string;\n error?: string;\n};\n\nexport type StrawberryListResponse = WithResult<Array<StrawberryListResponseItem>>;\n\nexport type StrawberryListResponseItem = {\n $value: string;\n $attributes?: {\n pool?: string;\n creator?: string;\n creation_time?: string;\n health?: StrawberryCliqueHealthType;\n health_reason?: string;\n instance_count?: number;\n speclet_modification_time?: string;\n stage?: string;\n state?: StrawberryCliqueStateType;\n strawberry_state_modification_time?: string;\n total_cpu?: number;\n total_memory?: number;\n yt_operation_id?: string;\n yt_operation_finish_time?: string;\n yt_operation_start_time?: string;\n };\n};\n\nexport type StrawberryCliqueHealthType = 'good' | 'pending' | 'failed';\nexport type StrawberryCliqueStateType = 'active' | 'inactive' | 'untracked';\n\nexport type StrawberryApiType = <\n T extends StrawberryApi['action'] = never,\n ApiItem extends StrawberryApi & {action: T} = StrawberryApi & {action: T},\n>(\n action: T,\n cluster: string,\n params: ApiItem['params'],\n props: {\n type?: 'chyt' | 'spyt';\n cancelToken?: CancelToken;\n skipErrorToast?: boolean;\n successTitle?: string;\n isAdmin?: boolean;\n },\n) => Promise<ApiItem['response']>;\n\nconst strawberryApi: StrawberryApiType = (\n action,\n cluster,\n params,\n {type, cancelToken, skipErrorToast, successTitle, isAdmin} = {},\n) => {\n const query = isAdmin ? '?isDeveloper=true' : '';\n return wrapApiPromiseByToaster(\n axios.request({\n method: 'POST',\n url: `/api/strawberry/${type}/${cluster}/${action}${query}`,\n data: {\n params: {...params},\n },\n cancelToken,\n }),\n {\n toasterName: `clique-${action}`,\n skipSuccessToast: !successTitle,\n successTitle,\n skipErrorToast,\n errorTitle: `'${action}' action failed`,\n },\n ).then((response) => {\n return response.data;\n });\n};\n\nexport const chytApiAction: StrawberryApiType = (action, cluster, params, props) => {\n return strawberryApi(action, cluster, params, {...props, type: QueryEngine.CHYT});\n};\n\nexport const spytApiAction: StrawberryApiType = (action, cluster, params, props) => {\n return strawberryApi(action, cluster, params, {...props, type: QueryEngine.SPYT});\n};\n","import {addI18Keysets} from '../../../../../i18n/index';\n\nimport en from './en.json';\nimport ru from './ru.json';\n\nexport default addI18Keysets('yt:dialog-role-list', {en, ru});\n","import cn from 'bem-cn-lite';\n\nimport filter_ from 'lodash/filter';\nimport forEach_ from 'lodash/forEach';\nimport map_ from 'lodash/map';\n\nimport type {EditableManyListsItemType} from '../../../../components/Dialog';\nimport type {ResponsibleType, RoleConverted, Subject} from '../../../../utils/acl/acl-types';\nimport type {PreparedRole} from '../../../../utils/acl';\nimport {RoleListControlProps} from './RoleListControl';\n\nimport i18n from './i18n';\n\nexport const block = cn('role-list-control');\n\nexport function prepareRoleListValue(roles: Array<PreparedRole>, otherMembers: Array<string> = []) {\n const current: typeof roles = [];\n const toAdd: typeof roles = [];\n const toRemove: typeof roles = [];\n const unrecognized: typeof roles = [];\n forEach_(roles, (item) => {\n const {isUnrecognized, isRequested, isApproved, isDepriving} = item;\n if (isUnrecognized) {\n unrecognized.push(item);\n } else if (isDepriving) {\n toRemove.push(item);\n } else if (isApproved || isRequested) {\n toAdd.push(item);\n } else {\n current.push(item);\n }\n });\n\n const currentArr = current.map((item) => prepareItemOfCurrent(item));\n const otherArr = otherMembers.map((item) => ({\n title: item,\n data: {},\n frozen: true,\n }));\n\n return {\n newItems: [],\n current: {title: i18n('title_current'), data: currentArr.concat(otherArr)},\n toAdd: {\n title: i18n('title_will-be-added'),\n itemClassName: block('item-to-add'),\n data: toAdd.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n toRemove: {\n title: i18n('title_will-be-removed'),\n itemClassName: block('item-to-remove'),\n data: toRemove.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n unrecognized: {\n title: i18n('title_unrecognized'),\n itemClassName: block('item-unrecognized'),\n data: unrecognized.map((item) => prepareItemOfCurrent(item, {frozen: true})),\n },\n };\n}\n\nfunction prepareItemOfCurrent(role: PreparedRole, extraProps: any = {}) {\n return {\n title: role.text || role.value,\n data: role,\n ...extraProps,\n };\n}\n\nexport function roleListValueToSubjectList(\n value: RoleListControlProps['value'],\n): Array<ResponsibleType> {\n const {current, newItems, toAdd} = value;\n return [\n ...newItems,\n ...manyListDataItemToSubjectList(current),\n ...manyListDataItemToSubjectList(toAdd),\n ];\n}\n\nfunction manyListDataItemToSubjectList(\n manyListDataItem: EditableManyListsItemType<RoleConverted>,\n): Array<ResponsibleType> {\n const {data} = manyListDataItem || {};\n return map_(\n filter_(data, ({removed}) => !removed),\n ({data}) => {\n const {type, value} = data || {};\n return {type: type!, value: value!};\n },\n );\n}\n\nexport function extractChangedSubjects(value: {\n current: EditableManyListsItemType<RoleConverted>;\n newItems: Array<ResponsibleType>;\n}): {\n added: Subject[];\n removed: Subject[];\n} {\n const {current, newItems} = value;\n const added = newItems || [];\n const removed = ((current && current.data) || []).filter(({removed}) => removed);\n return {\n added: added.map(({type, value}) => {\n return type === 'users' ? {user: value} : {group: value};\n }),\n removed: removed.map(({data}) => {\n const {value, type} = data || {};\n return type === 'users' ? {user: value!} : {group: value!};\n }),\n };\n}\n","import * as React from 'react';\n\nimport type {DOMProps, QAProps} from '../types';\nimport {block} from '../utils/cn';\n\nimport './Spin.scss';\n\nconst b = block('spin');\n\nexport type SpinSize = 'xs' | 's' | 'm' | 'l' | 'xl';\n\nexport interface SpinProps extends DOMProps, QAProps {\n size?: SpinSize;\n}\n\nexport const Spin = React.forwardRef<HTMLDivElement, SpinProps>(function Spin(props, ref) {\n const {size = 'm', style, className, qa} = props;\n\n return (\n <div ref={ref} style={style} className={b({size}, className)} data-qa={qa}>\n <div className={b('inner')} />\n </div>\n );\n});\n","import {Icon, Spin} from '@gravity-ui/uikit';\nimport React from 'react';\nimport block from 'bem-cn-lite';\nimport hammer from '../../common/hammer';\nimport {SVGIconData} from '@gravity-ui/uikit/build/esm/components/Icon/types';\nimport {ProgressStatuses, QueryStatus} from '../../types/query-tracker';\nimport CircleExclamationIcon from '@gravity-ui/icons/svgs/circle-exclamation.svg';\nimport CircleCheckIcon from '@gravity-ui/icons/svgs/circle-check.svg';\nimport CircleStopIcon from '@gravity-ui/icons/svgs/circle-stop.svg';\nimport FileIcon from '@gravity-ui/icons/svgs/file.svg';\nimport './index.scss';\n\nconst b = block('query-status');\n\ntype Props = {\n status: QueryStatus;\n mode: 'icon' | 'text' | 'both';\n className?: string;\n};\n\nconst STATUS_ICONS: Partial<Record<QueryStatus, SVGIconData>> = {\n [QueryStatus.DRAFT]: FileIcon,\n [QueryStatus.FAILED]: CircleExclamationIcon,\n [QueryStatus.ABORTED]: CircleStopIcon,\n [QueryStatus.COMPLETED]: CircleCheckIcon,\n};\n\nexport function QueryStatusIcon({status, className}: {status: QueryStatus; className?: string}) {\n if (ProgressStatuses.includes(status)) {\n return <Spin size=\"xs\" className={b('icon-container', className)} />;\n }\n\n const statusIcon = STATUS_ICONS[status];\n if (statusIcon) {\n return (\n <Icon\n className={b(\n 'icon-container',\n {\n [status.toLocaleLowerCase()]: true,\n },\n className,\n )}\n data={statusIcon}\n size={16}\n />\n );\n }\n return <>{status}</>;\n}\n\nexport const QueryStatusView = ({mode, status, className}: Props) => {\n return (\n <div className={b(null, className)}>\n {(mode === 'icon' || mode === 'both') && <QueryStatusIcon status={status} />}\n {(mode === 'text' || mode === 'both') && hammer.format.Readable(status)}\n </div>\n );\n};\n","const SvgCircleExclamation = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M8 13.5a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14m1-4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0M8.75 5a.75.75 0 0 0-1.5 0v2.5a.75.75 0 0 0 1.5 0z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgCircleExclamation;","const SvgCircleStop = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M13.5 8a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0M5.25 6.25a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1v3.5a1 1 0 0 1-1 1h-3.5a1 1 0 0 1-1-1z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgCircleStop;","import React, {useMemo, useState} from 'react';\nimport {FormApi, YTDFDialog, makeErrorFields} from '../../../../components/Dialog';\nimport Button from '../../../../components/Button/Button';\nimport Icon from '../../../../components/Icon/Icon';\n\nimport type {QueryItem} from '../../../../types/query-tracker/api';\nimport {setQueryName} from '../../../../store/actions/query-tracker/api';\nimport {useDispatch, useSelector} from '../../../../store/redux-hooks';\nimport {updateQueryInList} from '../../../../store/actions/query-tracker/queriesList';\nimport {getQueryDraft} from '../../../../store/selectors/query-tracker/query';\nimport {updateQueryDraft} from '../../../../store/actions/query-tracker/query';\n\nexport interface Props {\n query: QueryItem;\n className?: string;\n}\n\ninterface FormValues {\n name: string;\n}\n\nexport default function EditQueryNameModal({query: {state, annotations, id}, className}: Props) {\n const dispatch = useDispatch();\n const currentDraft = useSelector(getQueryDraft);\n const [error, setError] = useState<Error | undefined>(undefined);\n const [visible, setVisible] = useState(false);\n\n const handleSubmit = async (form: FormApi<FormValues>) => {\n const {name} = form.getState().values;\n setError(undefined);\n try {\n const updatedAnnotations = {...annotations, title: name};\n await dispatch(setQueryName(id, updatedAnnotations));\n dispatch(\n updateQueryInList(id, {\n annotations: updatedAnnotations,\n }),\n );\n\n if (currentDraft.id === id) {\n dispatch(\n updateQueryDraft({\n annotations: {...currentDraft.annotations, title: name},\n }),\n );\n }\n } catch (err) {\n setError(err as Error);\n throw err;\n }\n };\n\n const initialValues = useMemo(() => {\n return {\n name: annotations?.title || '',\n };\n }, [annotations?.title]);\n\n return state === 'completed' ||\n state === 'aborted' ||\n state === 'failed' ||\n state === 'draft' ? (\n <div className={className}>\n <Button\n onClick={(event) => {\n event.stopPropagation();\n setVisible(true);\n }}\n view={'flat-secondary'}\n size={'m'}\n width={'auto'}\n >\n <Icon awesome=\"pencil\"></Icon>\n </Button>\n {visible ? (\n <YTDFDialog<FormValues>\n pristineSubmittable\n visible={visible}\n modal={true}\n headerProps={{title: 'Edit query name'}}\n footerProps={{textApply: 'Save'}}\n onClose={() => {\n setError(undefined);\n setVisible(false);\n }}\n onAdd={handleSubmit}\n initialValues={initialValues}\n fields={[\n {\n name: 'name',\n type: 'text',\n required: true,\n caption: 'Name',\n extras: {\n placeholder: 'Enter query name',\n },\n },\n ...makeErrorFields([error]),\n ]}\n />\n ) : null}\n </div>\n ) : null;\n}\n","import React from 'react';\nimport {Text} from '@gravity-ui/uikit';\nimport {Column} from '@gravity-ui/react-data-table';\nimport block from 'bem-cn-lite';\nimport hammer from '../../../../common/hammer';\nimport {QueryStatusIcon} from '../../../../components/QueryStatus';\nimport {formatTime} from '../../../../components/common/Timeline/util';\nimport {QueryItem} from '../../../../types/query-tracker/api';\nimport EditQueryNameModal from '../EditQueryNameModal/EditQueryNameModal';\nimport {QueryStatus} from '../../../../types/query-tracker';\nimport {QueryDuration} from '../../QueryDuration';\nimport './QueryHistoryItem.scss';\nimport {QueryEnginesNames} from '../../../../../shared/constants/engines';\n\nconst itemBlock = block('query-history-item');\n\ntype HeaderTableItem = {header: string};\ntype TableItem = QueryItem | HeaderTableItem;\n\nconst isHeaderTableItem = (b: TableItem): b is HeaderTableItem => {\n return (b as HeaderTableItem).header !== undefined;\n};\n\nexport const NameColumns: Column<TableItem> = {\n name: 'Name',\n align: 'left',\n\n className: itemBlock('name_row'),\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return <div className={itemBlock('separator')}>{row.header}</div>;\n }\n\n const name = row.annotations?.title;\n return (\n <div className={itemBlock('name')} title={name}>\n <QueryStatusIcon className={itemBlock('status-icon')} status={row.state} />\n <Text\n className={itemBlock('name-container')}\n color={name ? 'primary' : 'secondary'}\n ellipsis\n >\n {name || 'No name'}\n </Text>\n </div>\n );\n },\n};\n\nexport const ActionColumns: Column<TableItem> = {\n name: ' ',\n align: 'left',\n width: 20,\n className: itemBlock('action_row'),\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n return (\n <div className={itemBlock('action')} onClick={(e) => e.stopPropagation()}>\n <EditQueryNameModal className={itemBlock('name-edit')} query={row} />\n </div>\n );\n },\n};\n\nconst TypeColumns: Column<TableItem> = {\n name: 'Type',\n align: 'center',\n width: 60,\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n return (\n <Text variant=\"body-1\" color=\"secondary\">\n {row.engine in QueryEnginesNames ? QueryEnginesNames[row.engine] : row.engine}\n </Text>\n );\n },\n};\n\nconst DurationColumns: Column<TableItem> = {\n name: 'Duration',\n align: 'left',\n width: 100,\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n if (row.state === QueryStatus.RUNNING) {\n return hammer.format.NO_VALUE;\n }\n return <QueryDuration query={row} />;\n },\n};\n\nconst StartedColumns: Column<TableItem> = {\n name: 'Started',\n align: 'left',\n width: 60,\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n return (\n <Text variant=\"body-1\" color=\"secondary\">\n {formatTime(row.start_time)}\n </Text>\n );\n },\n};\n\nexport const AuthorColumns: Column<TableItem> = {\n name: 'Author',\n align: 'left',\n width: 120,\n className: itemBlock('author_row'),\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n return (\n <Text variant=\"body-1\" ellipsis title={row.user}>\n {row.user}\n </Text>\n );\n },\n};\n\nconst ACOColumns: Column<TableItem> = {\n name: 'ACO',\n align: 'left',\n width: 60,\n className: itemBlock('access_control_object'),\n render: ({row}) => {\n if (isHeaderTableItem(row)) {\n return null;\n }\n\n const title = row.access_control_objects?.join(', ');\n\n return (\n <Text variant=\"body-1\" ellipsis title={title}>\n {title}\n </Text>\n );\n },\n};\n\nexport const MyColumns: Column<TableItem>[] = [\n NameColumns,\n TypeColumns,\n DurationColumns,\n StartedColumns,\n ACOColumns,\n ActionColumns,\n];\nexport const AllColumns: Column<TableItem>[] = [\n NameColumns,\n TypeColumns,\n DurationColumns,\n AuthorColumns,\n StartedColumns,\n ACOColumns,\n ActionColumns,\n];\n","import {createSelector} from 'reselect';\nimport {RootState} from '../../reducers';\nimport {getCurrentUserName} from '../global';\nimport {QueriesListParams, QueryItem} from '../../../types/query-tracker/api';\nimport {isQueryProgress} from '../../../pages/query-tracker/utils/query';\nimport {\n DefaultQueriesListFilter,\n QueriesListAuthorFilter,\n QueriesListFilterPresets,\n QueriesListMode,\n} from '../../../types/query-tracker/queryList';\nimport {getSettingsData} from '../settings/settings-base';\nimport {selectIsVcsVisible} from './vcs';\nimport groupBy_ from 'lodash/groupBy';\nimport moment from 'moment';\nimport intersectionBy_ from 'lodash/intersectionBy';\nimport {\n ActionColumns,\n AllColumns,\n AuthorColumns,\n MyColumns,\n NameColumns,\n} from '../../../pages/query-tracker/QueriesList/QueriesHistoryList/columns';\n\nexport const getQueriesListState = (state: RootState) => state.queryTracker.list;\n\nexport const isQueriesListLoading = (state: RootState) => state.queryTracker.list.isLoading;\n\nexport const getQueriesList = (state: RootState) => getQueriesListState(state).items;\n\nexport const hasQueriesListMore = (state: RootState) => getQueriesListState(state).hasMore;\n\nexport const getQueriesFilters = (state: RootState) => getQueriesListState(state).filter || {};\nexport const getQueriesListMode = (state: RootState) => getQueriesListState(state).listMode;\nexport const getQueriesListCursor = (state: RootState) => getQueriesListState(state).cursor;\n\nexport const getTutorialQueriesList = createSelector([getQueriesList], (listItems) => {\n return listItems.filter((item) => item?.is_tutorial);\n});\n\nexport const getQueryListByDate = createSelector([getQueriesList], (listItems) => {\n return Object.entries(\n groupBy_(listItems, (item) => moment(item.start_time).format('DD MMMM YYYY')),\n ).reduce<(QueryItem | {header: string})[]>((ret, [header, items]) => {\n ret.push({\n header,\n });\n\n return ret.concat(items.map((item) => item));\n }, []);\n});\n\nexport const getQueriesListTabs = createSelector([selectIsVcsVisible], (vcsVisible) => {\n const queriesListMode = Object.values(QueriesListMode);\n return vcsVisible\n ? queriesListMode\n : queriesListMode.filter((item) => item !== QueriesListMode.VCS);\n});\n\nexport const getQueryListColumns = createSelector(\n [getQueriesFilters, getQueryListHistoryColumns],\n (filter, selectedColumns) => {\n const ALL_COLUMN_NAMES = intersectionBy_(AllColumns, MyColumns, 'name').map(\n (item) => item.name,\n );\n const EXCLUDED_COLUMNS = [NameColumns.name, AuthorColumns.name, ActionColumns.name];\n const currentColumnsPreset =\n filter.user === QueriesListAuthorFilter.My ? MyColumns : AllColumns;\n\n const selectedColumnNames = new Set(\n Array.isArray(selectedColumns) ? selectedColumns : ALL_COLUMN_NAMES,\n );\n\n selectedColumnNames.add(NameColumns.name);\n selectedColumnNames.add(AuthorColumns.name);\n selectedColumnNames.add(ActionColumns.name);\n\n return {\n columns: currentColumnsPreset.filter(({name}) => selectedColumnNames.has(name)),\n allowedColumns: currentColumnsPreset\n .filter((item) => !EXCLUDED_COLUMNS.includes(item.name))\n .map(({name}) => ({name, checked: selectedColumnNames.has(name)})),\n };\n },\n);\n\nexport const hasCustomHistoryFilters = createSelector(\n [getQueriesFilters, getSettingsData],\n (filter) => {\n const {from, to, state, user} = filter;\n const defaultFilter = DefaultQueriesListFilter[QueriesListMode.History];\n\n const fromChanged = from !== undefined;\n const toChanged = to !== undefined;\n const stateChanged = state !== undefined;\n const userChanged = user !== defaultFilter.user;\n\n return fromChanged || toChanged || stateChanged || userChanged;\n },\n);\n\nexport const getUncompletedItems = createSelector(getQueriesList, (items) => {\n return items.filter(isQueryProgress);\n});\n\nexport const getQueriesListCursorParams = (state: RootState) => {\n const cursor = getQueriesListCursor(state);\n if (cursor) {\n return {cursor_time: cursor.cursorTime, cursor_direction: cursor.direction};\n }\n\n return undefined;\n};\n\nexport function getQueriesListFilterParams(state: RootState): QueriesListParams {\n const listMode = getQueriesListMode(state);\n const filterParams = {\n ...getQueriesFilters(state),\n ...(QueriesListFilterPresets[listMode] || {}),\n };\n const {is_tutorial, from, to, state: queryState, ...filter} = filterParams;\n\n let user = filter.user;\n if (filter.user === 'my') {\n user = getCurrentUserName(state);\n }\n if (filter.user === 'all') {\n user = undefined;\n }\n\n const params = {\n ...filter,\n from_time: from,\n to_time: to,\n state: queryState,\n user,\n tutorial_filter: is_tutorial,\n };\n\n return params;\n}\n\nexport function getQueryListHistoryColumns(state: RootState) {\n return getSettingsData(state)['global::queryTracker::history::Columns'];\n}\n"],"names":["props","_jsx","_objectSpread","xmlns","fill","viewBox","children","fillRule","d","clipRule","isQueryProgress","query","ProgressStatuses","includes","state","isQueryCompleted","CompletedStates","isAbortable","AbortableStatuses","addI18Keysets","en","ru","updateQueryTabs","dispatch","getState","_progress$yql_plan","_progress$yql_plan2","getQuery","userChangeTab","selectUserChangedQueryResultTab","tabs","QueryStatus","FAILED","push","id","title","i18n","COMPLETED","apply","_toConsumableArray","times_","result_count","num","suffix","concat","progress","isSingleProgress","hasProgress","Boolean","yql_plan","Basic","nodes","length","links","UIFactory","getQueryResultChartTab","yql_statistics","setTabs","isCompleted","find_","status","loadQueryResultsErrors","firstResultTab","find","tab","setActiveTab","block","cn","DialogError","YTErrorBlock","className","makeErrorFields","errors","compact_","map_","error","index","name","type","extras","undefined","FORM_ERROR","makeFormSubmitError","validationErrors","_defineProperty","importYTDFDialog","Component","YTDFDialog","withLazyLoading","React","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","t0","sent","YTDialog","abrupt","stop","_React$useState","_React$useState2","_slicedToArray","mounted","setMounted","visible","_callee2","_context2","RoleListControl","EditableList","_callee3","_context3","TabFieldVertical","_callee4","_context4","createQueryUrl","cluster","query_id","makeRoutedURL","Page","QUERIES","createNewQueryUrl","QTcluster","engine","_ref","tableCluster","path","useDraft","hour","minute","day","week","month","year","humanizeInterval","from","to","duration","years","Math","floor","months","days","weeks","hours","minutes","round","formatInterval","mFrom","moment","mTo","isSame","format","formatTime","date","formatTimeCanonical","ts","getTimestampFromDate","valueOf","rangeMap","mo","calculateShortcutTime","shortcut","Date","now","back","time","backRe","match","exec","_match","amount","rawRange","range","subtract","calculateBackTimestamp","convertTimeToRequestParams","shortcutValue","selectQueryResultTabs","queryTracker","selectActiveQueryResultTab","activeTabId","selectActiveResultParams","createSelector","getQueryId","queryId","resultIndex","parseResultTabIndex","queryDuration","durationDates","start_time","finish_time","QueryDuration","_useState","useState","_useState2","setDuration","useEffect","DRAFT","timer","setInterval","clearInterval","useQueryDuration","Label","selectVcsConfig","vcs","vcsConfig","selectIsVcsVisible","Array","isArray","selectVcs","selectPath","selectPreview","preview","selectRepositories","repositories","selectCurrentVcs","selectRepository","repository","selectBranch","branch","selectBranches","branches","selectListFilter","listFilter","selectListError","listError","selectShowFilter","selectListArray","list","filter","listArray","Object","values","item","selectCurrentRepository","selectNavigationCluster","queryNavigation","selectLoading","loading","selectClusterConfigs","clustersMenu","clusters","selectNavigationError","selectNavigationClusterConfig","clusterName","selectFavouritePaths","makeGetSetting","getSetting","parentNS","createNestedNS","NAMESPACES","LOCAL","favourites","SettingName","FAVOURITES","map","i","sort","selectNavigationPath","selectNavigationNodeType","nodeType","selectNavigationFilter","selectNavigationNodes","filterValueInText","value","toLowerCase","selectTableWithFilter","table","schema","selectClustersByFilter","getClusterList","_ref2","selectNodeListByFilter","isRoot","upItem","split","slice","join","isFavorite","result","_ref3","unshift","checkCliqueControllerIsSupported","clusterId","supportedControllers","getCliqueControllerSupportByCluster","QueryEngine","SPYT","spyt","CHYT","chyt","updateQueryDraft","YQL","SET_SUPPORTED_ENGINE","data","_x","arguments","setCurrentClusterToQuery","_getQueryDraft","settings","getCluster","getQueryDraft","_x2","_x3","setUserLastChoice","clearProps","getQueryEngine","lastPath","getLastUserChoiceQueryDiscoveryPath","lastClique","getLastUserChoiceQueryChytClique","lastVersion","getLastUserChoiceYqlVersion","newSettings","discovery_group","clique","yql_version","rumId","_yield$getClusterPara","_ref4","_ref5","uiConfigOutput","yql","ql","RumWrapper","RumMeasureTypes","CLUSTER_PARAMS","getClusterParams","prepareClusterUiConfig","uiConfig","uiDevConfig","chyt_controller_base_url","livy_controller_base_url","_x4","loadTablePromptToQuery","newQuerySettings","_ref6","_getQueryResultGlobal","pageSize","clusterConfig","getQueryResultGlobalSettings","createTableSelect","limit","createEmptyQuery","_x5","_x6","setQueryEngine","getQueryDraftSettings","setQueryCluster","_ref7","_callee5","_getQueryDraft3","_getQueryDraft3$setti","_context5","SET_QUERY_CLUSTER_LOADING","finish","_x7","_x8","setQueryClique","alias","setSettingByKey","setQueryYqlVersion","version","setQueryPath","newPath","loadCliqueByCluster","_ref8","_callee6","isSpyt","cliqueMap","_context6","getCliqueMap","SET_QUERY_CLIQUE_LOADING","spytApiAction","chytApiAction","attributes","then","_data$result","items","_ref9","$value","_ref9$$attributes","$attributes","yt_operation_id","health","SET_QUERY_CLUSTER_CLIQUE","_x9","_x0","loadQuery","config","_ref0","_callee7","stage","_UIFactory$getInlineS","defaultQueryACO","queryItem","_context7","getSettingQueryTrackerStage","REQUEST_QUERY","resetQueryTabs","wrapApiPromiseByToaster","toasterName","skipSuccessToast","errorContent","code","message","errorTitle","files","file","guid","getDefaultQueryACO","prepareQueryPlanIds","dontReplaceQueryText","draft","getInlineSuggestionsApi","onQueryLoad","SET_QUERY","initialQuery","loadVisualization","_x1","_x10","SET_QUERY_PATCH","createQueryFromTablePath","options","_ref1","_callee8","_context8","generateQueryFromTable","UPDATE_DRAFT","SET_QUERY_READY","_x11","_x12","_UIFactory$getInlineS2","lastEngine","getLastUserChoiceQueryEngine","initialEngine","onQueryCreate","access_control_object","access_control_objects","runQuery","afterCreate","_ref10","_callee9","newQuery","_newQuery$access_cont","_yield$wrapApiPromise","_context9","SHARED_QUERY_ACO","SET_DIRTY_SUBMIT","startQuery","requestQueriesList","_x13","_x14","abortCurrentQuery","_ref11","_callee0","currentQuery","_context0","getCurrentQuery","abortQuery","_x15","_x16","goToQuery","_","getAppBrowserHistory","resetQueryTracker","setQueryACO","_ref12","aco","isMultipleAco","selectIsMultipleAco","updateACOQuery","UPDATE_ACO_QUERY","setDraftQueryACO","_ref13","addACOToLastSelected","toggleShareQuery","_ref14","_callee1","_context1","selectQuery","_x17","_x18","fromDate","getTime","toDate","hammer","TimeDuration","b","iconSizeMap","xs","s","m","ref","theme","size","width","icon","onCloseClick","disabled","copyText","closeButtonLabel","copyButtonLabel","interactive","onCopy","onClick","qa","hasContent","count","typeClose","typeCopy","typeInfo","hasOnClick","hasCopy","isInteractive","iconSize","startIcon","side","content","renderLabel","actionButton","action","ClipboardIcon","Icon","I","CircleInfo","Xmark","CopyToClipboard","text","timeout","QUERIES_LIST_LIMIT","resetQueryList","silent","updateListState","cursor","direction","QueriesHistoryCursorDirection","PAST","itemsMap","getQueriesList","setLoading","loadQueriesList","params","getQueriesListFilterParams","getQueriesListCursorParams","Map","forEach","set","queries","a","timeA","hasMore","incomplete","timestamp","loadNextQueriesList","lastItem","FUTURE","setCursor","cursorTime","resetFilter","listMode","getQueriesListMode","currentFilter","getQueriesFilters","setFilter","DefaultQueriesListFilter","applyFilter","patch","applyListMode","updateQueryInList","updates","updatedItems","tabId","parts","parseInt","strawberryApi","cancelToken","skipErrorToast","successTitle","isAdmin","axios","request","method","url","response","prepareRoleListValue","roles","otherMembers","current","toAdd","toRemove","unrecognized","forEach_","isUnrecognized","isRequested","isApproved","isDepriving","currentArr","prepareItemOfCurrent","otherArr","frozen","newItems","itemClassName","role","extraProps","roleListValueToSubjectList","manyListDataItemToSubjectList","manyListDataItem","filter_","removed","extractChangedSubjects","added","user","group","Spin","style","STATUS_ICONS","FileIcon","ABORTED","CircleCheckIcon","QueryStatusIcon","statusIcon","toLocaleLowerCase","_Fragment","QueryStatusView","mode","_jsxs","Readable","EditQueryNameModal","_ref$query","annotations","useDispatch","currentDraft","useSelector","setError","_useState3","_useState4","setVisible","handleSubmit","form","updatedAnnotations","setQueryName","initialValues","useMemo","Button","event","stopPropagation","view","awesome","pristineSubmittable","modal","headerProps","footerProps","textApply","onClose","onAdd","fields","required","caption","placeholder","itemBlock","isHeaderTableItem","header","NameColumns","align","render","_row$annotations","row","Text","color","ellipsis","ActionColumns","e","TypeColumns","variant","QueryEnginesNames","DurationColumns","RUNNING","NO_VALUE","StartedColumns","AuthorColumns","ACOColumns","_row$access_control_o","MyColumns","AllColumns","getQueriesListState","isQueriesListLoading","isLoading","hasQueriesListMore","getTutorialQueriesList","listItems","is_tutorial","getQueryListByDate","entries","groupBy_","reduce","ret","getQueriesListTabs","vcsVisible","queriesListMode","QueriesListMode","VCS","getQueryListColumns","getSettingsData","selectedColumns","ALL_COLUMN_NAMES","intersectionBy_","EXCLUDED_COLUMNS","currentColumnsPreset","QueriesListAuthorFilter","My","selectedColumnNames","Set","add","columns","has","allowedColumns","checked","hasCustomHistoryFilters","fromChanged","toChanged","stateChanged","userChanged","History","getQueriesListCursor","cursor_time","cursor_direction","filterParams","QueriesListFilterPresets","queryState","_objectWithoutProperties","_excluded","getCurrentUserName","from_time","to_time","tutorial_filter"],"sourceRoot":""}
|