@sapui5/sap.fe.controls 1.149.0 → 1.150.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.
Files changed (59) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/controls/.library +1 -1
  3. package/src/sap/fe/controls/easyFilter/EasyFilterBarContainer.js +57 -48
  4. package/src/sap/fe/controls/easyFilter/EasyFilterBarContainer.tsx +4 -1
  5. package/src/sap/fe/controls/easyFilter/utils.js +9 -3
  6. package/src/sap/fe/controls/easyFilter/utils.ts +4 -2
  7. package/src/sap/fe/controls/library.js +1 -1
  8. package/src/sap/fe/controls/messagebundle_ar.properties +2 -0
  9. package/src/sap/fe/controls/messagebundle_bg.properties +2 -0
  10. package/src/sap/fe/controls/messagebundle_ca.properties +2 -0
  11. package/src/sap/fe/controls/messagebundle_cnr.properties +2 -0
  12. package/src/sap/fe/controls/messagebundle_cs.properties +2 -0
  13. package/src/sap/fe/controls/messagebundle_cy.properties +2 -0
  14. package/src/sap/fe/controls/messagebundle_da.properties +2 -0
  15. package/src/sap/fe/controls/messagebundle_de.properties +11 -9
  16. package/src/sap/fe/controls/messagebundle_el.properties +2 -0
  17. package/src/sap/fe/controls/messagebundle_en.properties +2 -0
  18. package/src/sap/fe/controls/messagebundle_en_GB.properties +2 -0
  19. package/src/sap/fe/controls/messagebundle_en_US_saprigi.properties +2 -0
  20. package/src/sap/fe/controls/messagebundle_es.properties +2 -0
  21. package/src/sap/fe/controls/messagebundle_es_MX.properties +2 -0
  22. package/src/sap/fe/controls/messagebundle_et.properties +2 -0
  23. package/src/sap/fe/controls/messagebundle_fi.properties +2 -0
  24. package/src/sap/fe/controls/messagebundle_fr.properties +2 -0
  25. package/src/sap/fe/controls/messagebundle_fr_CA.properties +2 -0
  26. package/src/sap/fe/controls/messagebundle_hi.properties +2 -0
  27. package/src/sap/fe/controls/messagebundle_hr.properties +2 -0
  28. package/src/sap/fe/controls/messagebundle_hu.properties +2 -0
  29. package/src/sap/fe/controls/messagebundle_id.properties +2 -0
  30. package/src/sap/fe/controls/messagebundle_it.properties +2 -0
  31. package/src/sap/fe/controls/messagebundle_iw.properties +2 -0
  32. package/src/sap/fe/controls/messagebundle_ja.properties +2 -0
  33. package/src/sap/fe/controls/messagebundle_kk.properties +2 -0
  34. package/src/sap/fe/controls/messagebundle_ko.properties +2 -0
  35. package/src/sap/fe/controls/messagebundle_lt.properties +2 -0
  36. package/src/sap/fe/controls/messagebundle_lv.properties +2 -0
  37. package/src/sap/fe/controls/messagebundle_mk.properties +2 -0
  38. package/src/sap/fe/controls/messagebundle_ms.properties +2 -0
  39. package/src/sap/fe/controls/messagebundle_nl.properties +2 -0
  40. package/src/sap/fe/controls/messagebundle_no.properties +2 -0
  41. package/src/sap/fe/controls/messagebundle_pl.properties +2 -0
  42. package/src/sap/fe/controls/messagebundle_pt.properties +2 -0
  43. package/src/sap/fe/controls/messagebundle_pt_PT.properties +2 -0
  44. package/src/sap/fe/controls/messagebundle_ro.properties +2 -0
  45. package/src/sap/fe/controls/messagebundle_ru.properties +2 -0
  46. package/src/sap/fe/controls/messagebundle_sh.properties +2 -0
  47. package/src/sap/fe/controls/messagebundle_sk.properties +2 -0
  48. package/src/sap/fe/controls/messagebundle_sl.properties +2 -0
  49. package/src/sap/fe/controls/messagebundle_sr.properties +2 -0
  50. package/src/sap/fe/controls/messagebundle_sv.properties +2 -0
  51. package/src/sap/fe/controls/messagebundle_th.properties +2 -0
  52. package/src/sap/fe/controls/messagebundle_tr.properties +2 -0
  53. package/src/sap/fe/controls/messagebundle_uk.properties +2 -0
  54. package/src/sap/fe/controls/messagebundle_vi.properties +2 -0
  55. package/src/sap/fe/controls/messagebundle_zh_CN.properties +2 -0
  56. package/src/sap/fe/controls/messagebundle_zh_TW.properties +2 -0
  57. package/src/sap/fe/controls/shortcuts/ShortcutExplanationProvider.js +8 -2
  58. package/src/sap/fe/controls/shortcuts/ShortcutExplanationProvider.tsx +9 -2
  59. package/src/sap/fe/controls/themes/base/EasyFill.less +61 -19
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=\u041F\u043E\u0441\u043B\u0435\u0
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\u041D\u0435\u043C\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u043E \u043A\u043E\u0440\u0438\u0441\u0442\u0435\u043D\u0438 \u043F\u0440\u0430\u0448\u0430\u043B\u043D\u0438\u0446\u0438
31
31
  M_EASY_FILTER_FILLED_STAR=\u041E\u0442\u0441\u0442\u0440\u0430\u043D\u0438 \u043E\u0434 \u041E\u043C\u0438\u043B\u0435\u043D\u0438
32
32
  M_EASY_FILTER_EMPTY_START=\u0414\u043E\u0434\u0430\u0458 \u0432\u043E \u041E\u043C\u0438\u043B\u0435\u043D\u0438
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=\u0414\u043E\u0441\u0442\u0438\u0433\u043D\u0430\u0442\u043E \u0435 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0443\u0432\u0430\u045A\u0435\u0442\u043E \u0437\u0430 \u041E\u043C\u0438\u043B\u0435\u043D\u0438.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0417\u0430 \u043E\u0434\u0435\u045A\u0435 \u0434\u043E \u0441\u043F\u0438\u0441\u043E\u043A\u043E\u0442 \u0441\u043E \u043E\u043C\u0438\u043B\u0435\u043D\u0438 \u043F\u0440\u0430\u0448\u0430\u043B\u043D\u0438\u0446\u0438 \u0438 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u043E \u043A\u043E\u0440\u0438\u0441\u0442\u0435\u043D\u0438 \u043F\u0440\u0430\u0448\u0430\u043B\u043D\u0438\u0446\u0438, \u043F\u0440\u0438\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u0433\u043E \u043A\u043E\u043F\u0447\u0435\u0442\u043E \u0421\u0442\u0440\u0435\u043B\u043A\u0430 \u043D\u0430\u0434\u043E\u043B\u0443
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=\u041F\u0440\u0435\u0434 \u0434\u0430 \u043F\u0440\u0438\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u043D\u0430 \u041E\u0434\u0438 \u0438\u043B\u0438 Enter, \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u0433\u0438 \u043F\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435 \u0437\u0430\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u0438\u0442\u0435 \u043F\u043E\u043B\u0438\u045A\u0430. \u0417\u0430\u0434\u043E\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u0438 \u043F\u043E\u043B\u0438\u045A\u0430 \u0441\u0435\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=\u0421\u0430\u043C\u043E \u0435\u0434\u0438\u043D\u0435\u0447\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u043C\u043E\u0436\u0435 \u0434\u0430 \u0441\u0435 \u043F\u0440\u0438\u043C\u0435\u043D\u0438 \u043D\u0430 \u0441\u043B\u0435\u0434\u043D\u043E\u0432\u043E\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=\u041E\u0432\u0430\u0430 \u0430\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u0458\u0430 \u043D\u0435 \u043F\u043E\u0434\u0434\u0440\u0436\u0443\u0432\u0430 \u0444\u0438\u043B\u0442\u0440\u0438\u0440\u0430\u045A\u0435 \u0441\u043F\u043E\u0440\u0435\u0434 {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=\u041C\u043E\u0436\u0435 \u0434\u0430 \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u0435 \u0441\u0430\u043C\u043E \u0435\u0434\u0435\u043D \u0443\u0441\u043B\u043E\u0432 \u043D\u0430 {0}.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=Pertanyaan terakhir yang digunaka
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Tiada pertanyaan terakhir digunakan
31
31
  M_EASY_FILTER_FILLED_STAR=Keluarkan daripada Kegemaran
32
32
  M_EASY_FILTER_EMPTY_START=Tambah ke Kegemaran
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=Had kegemaran dicapai.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Untuk beralih ke senarai pertanyaan kegemaran dan pertanyaan terakhir digunakan, tekan kekunci Anak Panah ke Bawah
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=Sebelum anda menekan Pergi atau Masuk, anda perlu mengisi medan yang diperlukan. Medan yang diperlukan ialah\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Hanya satu nilai tunggal boleh digunakan pada yang berikut\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=Aplikasi ini tidak menyokong penapisan mengikut {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=Anda hanya boleh menggunakan satu syarat pada {0}.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=Uw laatst gebruikte query's worde
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Geen laatst gebruikte query's
31
31
  M_EASY_FILTER_FILLED_STAR=Uit favorieten verwijderen
32
32
  M_EASY_FILTER_EMPTY_START=Aan favorieten toevoegen
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=Favorietenlimiet bereikt.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Druk op PIJL-OMLAAG om naar de lijst met favoriete query's en laatst gebruikte query's te gaan
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=Vul de verplichte velden in voordat u op Start of Enter drukt. De verplichte velden zijn\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Er kan slechts \u00E9\u00E9n enkele waarde worden toegepast op het volgende\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=Voor deze app wordt filteren op {0} niet ondersteund.
36
38
  M_EASY_FILTER_SINGLE_RANGE=U kunt slechts \u00E9\u00E9n conditie toepassen op {0}.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=De sist brukte sp\u00F8rringene d
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Ingen sist brukte sp\u00F8rringer
31
31
  M_EASY_FILTER_FILLED_STAR=Fjern fra favoritter
32
32
  M_EASY_FILTER_EMPTY_START=Legg til i favoritter
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=Grensen for favoritter er n\u00E5dd.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=For \u00E5 g\u00E5 til listen over favorittsp\u00F8rringer og sist brukte sp\u00F8rringer trykker du p\u00E5 pil ned
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=F\u00F8r du trykker p\u00E5 Start eller Enter, m\u00E5 du fylle ut de obligatoriske feltene. De obligatoriske feltene er\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Bare \u00E9n enkeltverdi kan brukes p\u00E5 f\u00F8lgende\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=Denne appen st\u00F8tter ikke filtrering etter {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=Du kan bare bruke \u00E9n betingelse p\u00E5 {0}.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=Tutaj b\u0119d\u0105 wy\u015Bwiet
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Nieu\u017Cywane ostatnio zapytania
31
31
  M_EASY_FILTER_FILLED_STAR=Usu\u0144 z ulubionych
32
32
  M_EASY_FILTER_EMPTY_START=Dodaj do ulubionych
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=Osi\u0105gni\u0119to limit ulubionych.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Aby przenie\u015B\u0107 na list\u0119 ulubionych zapyta\u0144 i ostatnio u\u017Cywanych zapyta\u0144, i naci\u015Bnij klawisz strza\u0142ki w d\u00F3\u0142
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=Przed naci\u015Bni\u0119ciem przycisku Start lub Enter nale\u017Cy wype\u0142ni\u0107 wymagane pola. Wymagane pola to\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Tylko warto\u015B\u0107 pojedyncz\u0105 mo\u017Cna zastosowa\u0107 do nast\u0119puj\u0105cych element\u00F3w\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=Ta aplikacja nie obs\u0142uguje filtrowania wed\u0142ug {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=Do {0} mo\u017Cna zastosowa\u0107 tylko jeden warunek.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=Suas \u00FAltimas consultas utili
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Sem \u00FAltimas consultas usadas
31
31
  M_EASY_FILTER_FILLED_STAR=Remover dos favoritos
32
32
  M_EASY_FILTER_EMPTY_START=Adicionar aos favoritos
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=Limite de favoritos atingido.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Para ir para a lista de consultas preferidas e as \u00FAltimas consultas usadas, pressione o bot\u00E3o da seta para baixo
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=Antes de pressionar Ir ou Enter, voc\u00EA precisa preencher os campos obrigat\u00F3rios. Os campos obrigat\u00F3rios s\u00E3o\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=S\u00F3 \u00E9 poss\u00EDvel aplicar um valor individual ao seguinte\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=Este app n\u00E3o suporta a filtragem por {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=Voc\u00EA s\u00F3 pode aplicar uma condi\u00E7\u00E3o a {0}.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=As suas \u00FAltimas consultas ut
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Sem \u00FAltimas consultas utilizadas
31
31
  M_EASY_FILTER_FILLED_STAR=Remover dos favoritos
32
32
  M_EASY_FILTER_EMPTY_START=Adicionar aos favoritos
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=Limite de favorito alcan\u00E7ado.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Para ir para a lista de consultas favoritas e para as \u00FAltimas consultas utilizadas, prima a tecla Seta para baixo
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=Antes de premir Ir ou Enter, precisa de preencher os campos obrigat\u00F3rios. Os campos obrigat\u00F3rios s\u00E3o\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=S\u00F3 \u00E9 poss\u00EDvel aplicar um valor individual ao seguinte\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=Esta aplica\u00E7\u00E3o n\u00E3o suporta a filtragem por {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=Pode aplicar apenas uma condi\u00E7\u00E3o a {0}.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=Ultimele dvs. query-uri utilizate
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Niciun query utilizat ultimul
31
31
  M_EASY_FILTER_FILLED_STAR=Eliminare din favorite
32
32
  M_EASY_FILTER_EMPTY_START=Ad\u0103ugare la favorite
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=Limita de favorite a fost atins\u0103.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Pentru a trece la lista de \u00EEntreb\u0103ri favorite \u0219i ultimele \u00EEntreb\u0103ri utilizate, ap\u0103sa\u021Bi tasta S\u0103geat\u0103 \u00EEn jos
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=\u00CEnainte de a ap\u0103sa Lansare sau Introducere, trebuie s\u0103 completa\u021Bi c\u00E2mpurile obligatorii. C\u00E2mpurile obligatorii sunt\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=O singur\u0103 valoare poate fi aplicat\u0103 la urm\u0103toarele\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=Aceast\u0103 aplica\u021Bie nu suport\u0103 filtrarea dup\u0103 {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=Pute\u021Bi aplica o singur\u0103 condi\u021Bie la {0}.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=\u0412\u0430\u0448\u0438 \u043F\u
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\u041D\u0435\u0442 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0445 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0437\u0430\u043F\u0440\u043E\u0441\u043E\u0432
31
31
  M_EASY_FILTER_FILLED_STAR=\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0437 \u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E
32
32
  M_EASY_FILTER_EMPTY_START=\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0435
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=\u0414\u043E\u0441\u0442\u0438\u0433\u043D\u0443\u0442 \u043B\u0438\u043C\u0438\u0442 \u0438\u0437\u0431\u0440\u0430\u043D\u043D\u043E\u0433\u043E.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0427\u0442\u043E\u0431\u044B \u043F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432 \u0441\u043F\u0438\u0441\u043E\u043A \u0438\u0437\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u0438 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0445 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0437\u0430\u043F\u0440\u043E\u0441\u043E\u0432, \u043D\u0430\u0436\u043C\u0438\u0442\u0435 \u043A\u043B\u0430\u0432\u0438\u0448\u0443 \u0441\u043E \u0441\u0442\u0440\u0435\u043B\u043A\u043E\u0439 \u0432\u043D\u0438\u0437
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=\u041F\u0435\u0440\u0435\u0434 \u043D\u0430\u0436\u0430\u0442\u0438\u0435\u043C \u043A\u043D\u043E\u043F\u043A\u0438 "\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C" \u0438\u043B\u0438 \u043A\u043B\u0430\u0432\u0438\u0448\u0438 Enter \u0437\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u0435 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u043F\u043E\u043B\u044F. \u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0435 \u043F\u043E\u043B\u044F\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=\u0422\u043E\u043B\u044C\u043A\u043E \u043E\u0434\u043D\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u043C\u043E\u0436\u043D\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043A\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=\u0412 \u044D\u0442\u043E\u043C \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u044F \u043F\u043E {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=\u041A {0} \u043C\u043E\u0436\u043D\u043E \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0434\u043D\u043E \u0443\u0441\u043B\u043E\u0432\u0438\u0435.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=Poslednji upiti koje ste koristil
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Nema poslednje kori\u0161\u0107enih upita
31
31
  M_EASY_FILTER_FILLED_STAR=Ukloni iz omiljenih
32
32
  M_EASY_FILTER_EMPTY_START=Dodaj u omiljene
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=Dostignuto je ograni\u010Denje omiljenih stavki.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Da pomerite listu omiljenih upita i poslednje kori\u0161\u0107enih upita, pritisnite taster Strelica nadole
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=Pre nego \u0161to pritisnete Idi ili Enter, morate popuniti obavezna polja. Obavezna polja su\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Samo jedna vrednost se mo\u017Ee primeniti na slede\u0107e\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=Ova aplikacija ne podr\u017Eava filtriranje po {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=Mo\u017Eete primeniti samo jedan uslov na {0}.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=Tu sa zobrazia va\u0161e posledn\
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\u017Diadne naposledy pou\u017Eit\u00E9 dotazy
31
31
  M_EASY_FILTER_FILLED_STAR=Odstr\u00E1ni\u0165 z ob\u013E\u00FAben\u00FDch
32
32
  M_EASY_FILTER_EMPTY_START=Prida\u0165 k ob\u013E\u00FAben\u00FDm
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=Dosiahnut\u00FD limit ob\u013E\u00FAben\u00FDch polo\u017Eiek.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Ak sa chcete presun\u00FA\u0165 na zoznam ob\u013E\u00FAben\u00FDch a naposledy pou\u017Eit\u00FDch dotazov, stla\u010Dte kl\u00E1ves so \u0161\u00EDpkou nadol.
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=Sk\u00F4r ako stla\u010D\u00EDte tla\u010Didlo Prejs\u0165 alebo Enter, mus\u00EDte vyplni\u0165 povinn\u00E9 polia. Povinn\u00E9 polia s\u00FA\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Je mo\u017En\u00E9 pou\u017Ei\u0165 iba jednu hodnotu pre nasleduj\u00FAce\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=T\u00E1to aplik\u00E1cia nepodporuje filtrovanie pod\u013Ea {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=Na {0} m\u00F4\u017Eete pou\u017Ei\u0165 iba jednu podmienku.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=Tukaj bodo prikazane nazadnje upo
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Ni nazadnje uporabljenih poizvedb
31
31
  M_EASY_FILTER_FILLED_STAR=Odstrani iz priljubljenih
32
32
  M_EASY_FILTER_EMPTY_START=Dodaj v priljubljene
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=Dose\u017Eena je omejitev priljubljenih.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u010Ce se \u017Eelite premakniti na seznam priljubljenih poizvedb in nazadnje uporabljenih poizvedb, pritisnite pu\u0161\u010Dico navzdol
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=Preden pritisnete Pojdi ali Enter, morate izpolniti obvezna polja. Obvezna polja so\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Za naslednje je mogo\u010De uporabiti le posamezno vrednost\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=Ta aplikacija ne podpira filtriranja po {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=Za {0} lahko uporabite le en pogoj.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=\u041F\u043E\u0441\u043B\u0435\u0
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\u041D\u0435\u043C\u0430 \u043F\u043E\u0441\u043B\u0435\u0434\u045A\u0435 \u043A\u043E\u0440\u0438\u0448\u045B\u0435\u043D\u0438\u0445 \u0443\u043F\u0438\u0442\u0430
31
31
  M_EASY_FILTER_FILLED_STAR=\u0423\u043A\u043B\u043E\u043D\u0438 \u0438\u0437 \u043E\u043C\u0438\u0459\u0435\u043D\u0438\u0445
32
32
  M_EASY_FILTER_EMPTY_START=\u0414\u043E\u0434\u0430\u0458 \u0443 \u043E\u043C\u0438\u0459\u0435\u043D\u0435
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=\u0414\u043E\u0441\u0442\u0438\u0433\u043D\u0443\u0442\u043E \u0458\u0435 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u045A\u0435 \u043E\u043C\u0438\u0459\u0435\u043D\u0438\u0445 \u0441\u0442\u0430\u0432\u043A\u0438.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0414\u0430 \u043F\u043E\u043C\u0435\u0440\u0438\u0442\u0435 \u043B\u0438\u0441\u0442\u0443 \u043E\u043C\u0438\u0459\u0435\u043D\u0438\u0445 \u0443\u043F\u0438\u0442\u0430 \u0438 \u043F\u043E\u0441\u043B\u0435\u0434\u045A\u0435 \u043A\u043E\u0440\u0438\u0448\u045B\u0435\u043D\u0438\u0445 \u0443\u043F\u0438\u0442\u0430, \u043F\u0440\u0438\u0442\u0438\u0441\u043D\u0438\u0442\u0435 \u0442\u0430\u0441\u0442\u0435\u0440 \u0421\u0442\u0440\u0435\u043B\u0438\u0446\u0430 \u043D\u0430\u0434\u043E\u043B\u0435
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=\u041F\u0440\u0435 \u043D\u0435\u0433\u043E \u0448\u0442\u043E \u043F\u0440\u0438\u0442\u0438\u0441\u043D\u0435\u0442\u0435 \u0418\u0434\u0438 \u0438\u043B\u0438 Enter, \u043C\u043E\u0440\u0430\u0442\u0435 \u043F\u043E\u043F\u0443\u043D\u0438\u0442\u0438 \u043E\u0431\u0430\u0432\u0435\u0437\u043D\u0430 \u043F\u043E\u0459\u0430. \u041E\u0431\u0430\u0432\u0435\u0437\u043D\u0430 \u043F\u043E\u0459\u0430 \u0441\u0443\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=\u0421\u0430\u043C\u043E \u0458\u0435\u0434\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0441\u0435 \u043C\u043E\u0436\u0435 \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u0438 \u043D\u0430 \u0441\u043B\u0435\u0434\u0435\u045B\u0435\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=\u041E\u0432\u0430 \u0430\u043F\u043B\u0438\u043A\u0430\u0446\u0438\u0458\u0430 \u043D\u0435 \u043F\u043E\u0434\u0440\u0436\u0430\u0432\u0430 \u0444\u0438\u043B\u0442\u0440\u0438\u0440\u0430\u045A\u0435 \u043F\u043E {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=\u041C\u043E\u0436\u0435\u0442\u0435 \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u0438 \u0441\u0430\u043C\u043E \u0458\u0435\u0434\u0430\u043D \u0443\u0441\u043B\u043E\u0432 \u043D\u0430 {0}.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=Dina senast anv\u00E4nda fr\u00E5
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Inga senast anv\u00E4nda fr\u00E5gor
31
31
  M_EASY_FILTER_FILLED_STAR=Ta bort fr\u00E5n favoriter
32
32
  M_EASY_FILTER_EMPTY_START=L\u00E4gg till i favoriter
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=Gr\u00E4nsen f\u00F6r favoriter har n\u00E5tts.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Tryck p\u00E5 tangenten Pil ned\u00E5t f\u00F6r att flytta listan med favoritfr\u00E5gor och senast anv\u00E4nda fr\u00E5gor
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=Innan du trycker p\u00E5 OK eller Enter m\u00E5ste du fylla i obligatoriska f\u00E4lt. De obligatoriska f\u00E4lten \u00E4r\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Endast ett enskilt v\u00E4rde kan till\u00E4mpas f\u00F6r f\u00F6ljande\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=Den h\u00E4r appen medger inte filtrering efter {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=Du kan endast till\u00E4mpa ett villkor p\u00E5 {0}.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=\u0E04\u0E34\u0E27\u0E23\u0E35\u0
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E34\u0E27\u0E23\u0E35\u0E17\u0E35\u0E48\u0E43\u0E0A\u0E49\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14
31
31
  M_EASY_FILTER_FILLED_STAR=\u0E22\u0E49\u0E32\u0E22\u0E2D\u0E2D\u0E01\u0E08\u0E32\u0E01\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E42\u0E1B\u0E23\u0E14
32
32
  M_EASY_FILTER_EMPTY_START=\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E43\u0E19\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E42\u0E1B\u0E23\u0E14
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=\u0E16\u0E36\u0E07\u0E02\u0E35\u0E14\u0E08\u0E33\u0E01\u0E31\u0E14\u0E02\u0E2D\u0E07\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E42\u0E1B\u0E23\u0E14\u0E41\u0E25\u0E49\u0E27
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E22\u0E49\u0E32\u0E22\u0E44\u0E1B\u0E22\u0E31\u0E07\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E02\u0E2D\u0E07\u0E04\u0E34\u0E27\u0E23\u0E35\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E42\u0E1B\u0E23\u0E14\u0E41\u0E25\u0E30\u0E04\u0E34\u0E27\u0E23\u0E35\u0E17\u0E35\u0E48\u0E43\u0E0A\u0E49\u0E25\u0E48\u0E32\u0E2A\u0E38\u0E14 \u0E43\u0E2B\u0E49\u0E01\u0E14\u0E41\u0E1B\u0E49\u0E19\u0E25\u0E39\u0E01\u0E28\u0E23\u0E25\u0E07
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=\u0E01\u0E48\u0E2D\u0E19\u0E17\u0E35\u0E48\u0E04\u0E38\u0E13\u0E08\u0E30\u0E01\u0E14 ''\u0E44\u0E1B'' \u0E2B\u0E23\u0E37\u0E2D Enter \u0E04\u0E38\u0E13\u0E15\u0E49\u0E2D\u0E07\u0E40\u0E15\u0E34\u0E21\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E43\u0E19\u0E1F\u0E34\u0E25\u0E14\u0E4C\u0E17\u0E35\u0E48\u0E15\u0E49\u0E2D\u0E07\u0E1B\u0E49\u0E2D\u0E19\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25 \u0E1F\u0E34\u0E25\u0E14\u0E4C\u0E17\u0E35\u0E48\u0E15\u0E49\u0E2D\u0E07\u0E1B\u0E49\u0E2D\u0E19\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E21\u0E35\u0E14\u0E31\u0E07\u0E19\u0E35\u0E49\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=\u0E04\u0E48\u0E32\u0E40\u0E14\u0E35\u0E22\u0E27\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19\u0E17\u0E35\u0E48\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E19\u0E33\u0E44\u0E1B\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E15\u0E48\u0E2D\u0E44\u0E1B\u0E19\u0E35\u0E49\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=\u0E41\u0E2D\u0E1E\u0E19\u0E35\u0E49\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E1F\u0E34\u0E25\u0E40\u0E15\u0E2D\u0E23\u0E4C\u0E15\u0E32\u0E21 ''{0}''
36
38
  M_EASY_FILTER_SINGLE_RANGE=\u0E04\u0E38\u0E13\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E19\u0E33\u0E40\u0E07\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E02\u0E44\u0E1B\u0E43\u0E0A\u0E49\u0E01\u0E31\u0E1A ''{0}'' \u0E44\u0E14\u0E49\u0E40\u0E1E\u0E35\u0E22\u0E07\u0E40\u0E07\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E02\u0E40\u0E14\u0E35\u0E22\u0E27\u0E40\u0E17\u0E48\u0E32\u0E19\u0E31\u0E49\u0E19
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=Son kullan\u0131lan sorgular\u013
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Son kullan\u0131lan sorgu yok
31
31
  M_EASY_FILTER_FILLED_STAR=Favorilerden kald\u0131r
32
32
  M_EASY_FILTER_EMPTY_START=Favorilere ekle
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=Favori s\u0131n\u0131r\u0131na ula\u015F\u0131ld\u0131.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=Favori sorgular ve son kullan\u0131lan sorgular listesine ta\u015F\u0131mak i\u00E7in a\u015Fa\u011F\u0131 ok tu\u015Funa bas\u0131n
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=Git veya Enter tu\u015Funa basmadan \u00F6nce gerekli alanlar\u0131 doldurman\u0131z gerekir. Gerekli alanlar\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=\u015Eunun i\u00E7in yaln\u0131zca bir m\u00FCnferit de\u011Fer uygulanabilir\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=Bu uygulama {0} \u00FCzerinde filtrelemeyi desteklemiyor.
36
38
  M_EASY_FILTER_SINGLE_RANGE={0} i\u00E7in yaln\u0131zca bir ko\u015Ful uygulayabilirsiniz.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=\u0422\u0443\u0442 \u0431\u0443\u
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\u041D\u0435\u043C\u0430\u0454 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0445 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0438\u0445 \u0437\u0430\u043F\u0438\u0442\u0456\u0432
31
31
  M_EASY_FILTER_FILLED_STAR=\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0437 \u0443\u043B\u044E\u0431\u043B\u0435\u043D\u0438\u0445
32
32
  M_EASY_FILTER_EMPTY_START=\u0414\u043E\u0434\u0430\u0442\u0438 \u0434\u043E \u0443\u043B\u044E\u0431\u043B\u0435\u043D\u0438\u0445
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=\u0414\u043E\u0441\u044F\u0433\u043D\u0443\u0442\u043E \u043B\u0456\u043C\u0456\u0442 \u0443\u043B\u044E\u0431\u043B\u0435\u043D\u0438\u0445.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0414\u043B\u044F \u043F\u0435\u0440\u0435\u0445\u043E\u0434\u0443 \u0434\u043E \u0441\u043F\u0438\u0441\u043A\u0443 \u0443\u043B\u044E\u0431\u043B\u0435\u043D\u0438\u0445 \u0437\u0430\u043F\u0438\u0442\u0456\u0432 \u0442\u0430 \u043E\u0441\u0442\u0430\u043D\u043D\u0456\u0445 \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u0438\u0445 \u0437\u0430\u043F\u0438\u0442\u0456\u0432 \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u043A\u043B\u0430\u0432\u0456\u0448\u0443 \u0437\u0456 \u0441\u0442\u0440\u0456\u043B\u043A\u043E\u044E \u0432\u043D\u0438\u0437
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=\u041F\u0435\u0440\u0448 \u043D\u0456\u0436 \u043D\u0430\u0442\u0438\u0441\u043D\u0443\u0442\u0438 \u00AB\u041F\u0435\u0440\u0435\u0439\u0442\u0438\u00BB \u0430\u0431\u043E \u00AB\u0412\u0432\u0435\u0441\u0442\u0438\u00BB, \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u043E \u0437\u0430\u043F\u043E\u0432\u043D\u0438\u0442\u0438 \u043E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u0456 \u043F\u043E\u043B\u044F. \u041E\u0431\u043E\u0432\u2019\u044F\u0437\u043A\u043E\u0432\u0456 \u043F\u043E\u043B\u044F\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=\u0422\u0456\u043B\u044C\u043A\u0438 \u043E\u0434\u043D\u0435 \u043E\u043A\u0440\u0435\u043C\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u043C\u043E\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0430\u0441\u0442\u043E\u0441\u043E\u0432\u0430\u043D\u0435 \u0434\u043E \u043D\u0430\u0441\u0442\u0443\u043F\u043D\u043E\u0433\u043E\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=\u0426\u0435\u0439 \u0437\u0430\u0441\u0442\u043E\u0441\u0443\u043D\u043E\u043A \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u0454 \u0444\u0456\u043B\u044C\u0442\u0440\u0430\u0446\u0456\u044E \u0437\u0430 {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=\u0412\u0438 \u043C\u043E\u0436\u0435\u0442\u0435 \u0437\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u043B\u0438\u0448\u0435 \u043E\u0434\u043D\u0443 \u0443\u043C\u043E\u0432\u0443 \u0434\u043E {0}.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=Truy v\u1EA5n \u0111\u00E3 s\u1EE
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=Kh\u00F4ng c\u00F3 truy v\u1EA5n \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng l\u1EA7n cu\u1ED1i
31
31
  M_EASY_FILTER_FILLED_STAR=Loa\u0323i bo\u0309 kho\u0309i mu\u0323c \u01B0a thi\u0301ch
32
32
  M_EASY_FILTER_EMPTY_START=Th\u00EAm va\u0300o mu\u0323c \u01B0a thi\u0301ch
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=\u0110\u00E3 \u0111\u1EA1t \u0111\u1EBFn gi\u1EDBi h\u1EA1n m\u1EE5c \u01B0a th\u00EDch.
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u0110\u1EC3 di chuy\u1EC3n \u0111\u1EBFn danh s\u00E1ch c\u00E1c truy v\u1EA5n \u01B0a th\u00EDch v\u00E0 c\u00E1c truy v\u1EA5n \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng g\u1EA7n \u0111\u00E2y nh\u1EA5t, h\u00E3y nh\u1EA5n ph\u00EDm M\u0169i t\u00EAn xu\u1ED1ng
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=Tr\u01B0\u1EDBc khi nh\u1EA5n Go ho\u1EB7c Enter, b\u1EA1n c\u1EA7n \u0111i\u1EC1n v\u00E0o c\u00E1c tr\u01B0\u1EDDng b\u1EAFt bu\u1ED9c. C\u00E1c tr\u01B0\u1EDDng b\u1EAFt bu\u1ED9c l\u00E0\: {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=Ch\u1EC9 c\u00F3 th\u1EC3 \u00E1p d\u1EE5ng m\u1ED9t gi\u00E1 tr\u1ECB duy nh\u1EA5t cho \u0111i\u1EC1u sau \u0111\u00E2y\: {0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=\u1EE8ng d\u1EE5ng n\u00E0y kh\u00F4ng h\u1ED7 tr\u1EE3 l\u1ECDc theo {0}.
36
38
  M_EASY_FILTER_SINGLE_RANGE=Ba\u0323n chi\u0309 co\u0301 th\u00EA\u0309 a\u0301p du\u0323ng m\u1ED9t \u0111i\u00EA\u0300u ki\u1EC7n cho {0}.
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=\u4E0A\u6B21\u4F7F\u7528\u7684\u6
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\u65E0\u4E0A\u6B21\u4F7F\u7528\u7684\u67E5\u8BE2
31
31
  M_EASY_FILTER_FILLED_STAR=\u4ECE\u6536\u85CF\u5939\u79FB\u9664
32
32
  M_EASY_FILTER_EMPTY_START=\u6DFB\u52A0\u5230\u6536\u85CF\u5939
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=\u5DF2\u8FBE\u5230\u6536\u85CF\u5939\u9650\u5236\u3002
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u8981\u79FB\u52A8\u5230\u6536\u85CF\u7684\u67E5\u8BE2\u548C\u4E0A\u6B21\u4F7F\u7528\u7684\u67E5\u8BE2\u5217\u8868\uFF0C\u8BF7\u6309\u5411\u4E0B\u7BAD\u5934\u952E
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=\u5728\u6309\u201C\u6267\u884C\u201D\u6216 Enter \u4E4B\u524D\uFF0C\u9700\u8981\u586B\u5199\u5FC5\u586B\u5B57\u6BB5\u3002\u5FC5\u586B\u5B57\u6BB5\u4E3A\uFF1A{0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=\u53EA\u80FD\u5BF9\u4EE5\u4E0B\u9879\u76EE\u5E94\u7528\u5355\u4E2A\u503C\uFF1A{0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=\u6B64\u5E94\u7528\u7A0B\u5E8F\u4E0D\u652F\u6301\u6309 {0} \u8FDB\u884C\u8FC7\u6EE4\u3002
36
38
  M_EASY_FILTER_SINGLE_RANGE=\u53EA\u80FD\u5C06\u4E00\u4E2A\u6761\u4EF6\u5E94\u7528\u4E8E {0}\u3002
@@ -30,7 +30,9 @@ M_EASY_FILTER_POPOVER_EMPTY_RECENT_DESCRIPTION=\u60A8\u4E0A\u6B21\u4F7F\u7528\u7
30
30
  M_EASY_FILTER_POPOVER_EMPTY_LAST_USED_TITLE=\u6C92\u6709\u4E0A\u6B21\u4F7F\u7528\u7684\u67E5\u8A62
31
31
  M_EASY_FILTER_FILLED_STAR=\u81EA\u6700\u611B\u4E2D\u79FB\u9664
32
32
  M_EASY_FILTER_EMPTY_START=\u65B0\u589E\u81F3\u6700\u611B
33
+ M_EASY_FILTER_MAX_FAVORITE_REACHED=\u5DF2\u9054\u5230\u6700\u611B\u9650\u5236\u3002
33
34
  T_EASY_FILTER_INPUT_TEXT_LINK_POPOVER_ARIA=\u82E5\u8981\u79FB\u5230\u6700\u611B\u67E5\u8A62\u6E05\u55AE\u548C\u6700\u5F8C\u4F7F\u7528\u7684\u67E5\u8A62\uFF0C\u8ACB\u6309 [\u5411\u4E0B\u9375]
35
+ M_EASY_FILTER_INPUT_REQUIRED_FIELDS=\u60A8\u9700\u8981\u5148\u586B\u5165\u5FC5\u8981\u6B04\u4F4D\uFF0C\u624D\u80FD\u6309\u4E0B [\u958B\u59CB] \u6216 [Enter] \u3002\u5FC5\u8981\u6B04\u4F4D\u70BA\uFF1A {0}
34
36
  M_EASY_FILTER_SINGLE_VALUE_MESSAGE=\u53EA\u80FD\u5C07\u4E00\u500B\u55AE\u4E00\u503C\u5957\u7528\u5230\u4E0B\u5217\uFF1A{0}
35
37
  M_EASY_FILTER_NON_FILTERABLE=\u6B64\u61C9\u7528\u7A0B\u5F0F\u4E0D\u652F\u63F4\u6309 {0} \u9032\u884C\u7BE9\u9078\u3002
36
38
  M_EASY_FILTER_SINGLE_RANGE=\u60A8\u50C5\u53EF\u5C07\u4E00\u500B\u689D\u4EF6\u5957\u7528\u81F3 {0}\u3002
@@ -145,6 +145,12 @@ sap.ui.define(["sap/base/Log", "sap/base/security/encodeURL", "sap/fe/base/Class
145
145
  try {
146
146
  const resourceBundle = Lib.getResourceBundleFor("sap.fe.controls");
147
147
  const shellHistoryDialog = new ShortcutExplanationProvider();
148
+
149
+ // Destroy previous user action before creating a new one to prevent duplicates in keep-alive navigation
150
+ if (this._userAction) {
151
+ this._userAction.destroy();
152
+ this._userAction = undefined;
153
+ }
148
154
  const userAction = await shellExtensionService.createUserAction({
149
155
  text: resourceBundle.getText("C_SHORTCUT_TITLE"),
150
156
  icon: IconPool.getIconURI("keyboard-and-mouse"),
@@ -159,7 +165,7 @@ sap.ui.define(["sap/base/Log", "sap/base/security/encodeURL", "sap/fe/base/Class
159
165
  if (!this._cleanupAttached) {
160
166
  this._cleanupAttached = true;
161
167
  window.addEventListener("pagehide", () => {
162
- this._userAction.destroy();
168
+ this._userAction?.destroy();
163
169
  });
164
170
  }
165
171
  userAction.showForCurrentApp();
@@ -173,4 +179,4 @@ sap.ui.define(["sap/base/Log", "sap/base/security/encodeURL", "sap/fe/base/Class
173
179
  _exports = ShortcutExplanationProvider;
174
180
  return _exports;
175
181
  }, false);
176
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfY2xhc3MiLCJfU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyIiwiX01hbmFnZWRPYmplY3QiLCJhcmdzIiwiX3RoaXMiLCJjYWxsIiwiX3BvcHVwSWR4IiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsImdldFNoZWxsRGlhbG9nQ29udGVudCIsIndpbmRvd1dpZHRoIiwibGVmdCIsIndpbmRvdyIsInNjcmVlbkxlZnQiLCJvdXRlcldpZHRoIiwic2NyZWVuIiwiYXZhaWxXaWR0aCIsInRoZW1lIiwiVGhlbWluZyIsImdldFRoZW1lIiwiX3Nhbml0aXplVGhlbWUiLCJ1cmwiLCJzYXAiLCJ1aSIsInJlcXVpcmUiLCJ0b1VybCIsImxvY2FsT3JpZ2luIiwibG9jYXRpb24iLCJwcm90b2NvbCIsImhvc3QiLCJwYXJhbXMiLCJlbmNvZGVVUkwiLCJteVdpbiIsIm9wZW4iLCJzY3JlZW5Ub3AiLCJoYW5kbGVNZXNzYWdlUmVjZWl2ZWQiLCJtZXNzYWdlRXZlbnQiLCJvcmlnaW4iLCJtZXNzYWdlRGF0YSIsImRhdGEiLCJzZXJ2aWNlIiwibWVzc2FnZVBvcnQiLCJwb3J0cyIsInBvc3RNZXNzYWdlIiwic3RhcnRzV2l0aCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvcGVuZXIiLCJlIiwiTG9nIiwiZGVidWciLCJFcnJvciIsIm1lc3NhZ2UiLCJTdHJpbmciLCJzZXRUaW1lb3V0IiwiYWRkRXZlbnRMaXN0ZW5lciIsImlkIiwib251bmxvYWQiLCJjbG9zZSIsImNvbXB1dGVkU3R5bGVzIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiZ2V0UHJvcGVydHlWYWx1ZSIsInRoZW1lTWV0YWRhdGEiLCJ0aGVtZU1hdGNoIiwiSlNPTiIsInBhcnNlIiwiRXh0ZW5kcyIsImxlbmd0aCIsImluZm8iLCJnZXRJbnN0YW5jZSIsInNoZWxsQ29udGFpbmVyIiwicmVzb2x2ZUNyZWF0aW9uIiwiaW5zdGFuY2UiLCJpbnN0YW5jZVByb21pc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsImFwcExpZmVDeWNsZSIsImdldFNlcnZpY2VBc3luYyIsImV4dGVuc2lvblNlcnZpY2UiLCJhdHRhY2hBcHBMb2FkZWQiLCJzaGVsbEhpc3RvcnlQcm92aWRlciIsInJlZ2lzdGVyVXNlckFjdGlvbiIsImVycm9yIiwidW5kZWZpbmVkIiwic2hlbGxFeHRlbnNpb25TZXJ2aWNlIiwicmVzb3VyY2VCdW5kbGUiLCJMaWIiLCJnZXRSZXNvdXJjZUJ1bmRsZUZvciIsInNoZWxsSGlzdG9yeURpYWxvZyIsInVzZXJBY3Rpb24iLCJjcmVhdGVVc2VyQWN0aW9uIiwidGV4dCIsImdldFRleHQiLCJpY29uIiwiSWNvblBvb2wiLCJnZXRJY29uVVJJIiwicHJlc3MiLCJjb250cm9sVHlwZSIsIl91c2VyQWN0aW9uIiwiX2NsZWFudXBBdHRhY2hlZCIsImRlc3Ryb3kiLCJzaG93Rm9yQ3VycmVudEFwcCIsImVyciIsIk1hbmFnZWRPYmplY3QiLCJpc0RpYWxvZ0FkZGVkIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IGVuY29kZVVSTCBmcm9tIFwic2FwL2Jhc2Uvc2VjdXJpdHkvZW5jb2RlVVJMXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgSWNvblBvb2wgZnJvbSBcInNhcC91aS9jb3JlL0ljb25Qb29sXCI7XG5pbXBvcnQgTGliIGZyb20gXCJzYXAvdWkvY29yZS9MaWJcIjtcbmltcG9ydCBUaGVtaW5nIGZyb20gXCJzYXAvdWkvY29yZS9UaGVtaW5nXCI7XG5pbXBvcnQgdHlwZSBDb250YWluZXIgZnJvbSBcInNhcC91c2hlbGwvQ29udGFpbmVyXCI7XG5pbXBvcnQgdHlwZSBBcHBMaWZlQ3ljbGUgZnJvbSBcInNhcC91c2hlbGwvc2VydmljZXMvQXBwTGlmZUN5Y2xlXCI7XG5pbXBvcnQgdHlwZSBFeHRlbnNpb24gZnJvbSBcInNhcC91c2hlbGwvc2VydmljZXMvRXh0ZW5zaW9uXCI7XG5pbXBvcnQgdHlwZSBJdGVtIGZyb20gXCJzYXAvdXNoZWxsL3NlcnZpY2VzL0V4dGVuc2lvbi9JdGVtXCI7XG5cbi8qKlxuICogUHJvdmlkZXMgYSBkaWFsb2cgdG8gZXhwbGFpbiB0aGUgc2hvcnRjdXRzIHRvIHRoZSB1c2VyLlxuICogVGhpcyBkaWFsb2cgd2lsbCBiZSByZWdpc3RlcmVkIGluIHRoZSBzaGVsbCB1c2VyIG1lbnUgYW5kIHdpbGwgb3BlbiBhcyBhbiBpbmRlcGVuZGVudCB3aW5kb3cuXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb250cm9scy5zaG9ydGN1dHMuU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyXCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIgZXh0ZW5kcyBNYW5hZ2VkT2JqZWN0IHtcblx0cHJpdmF0ZSBfcG9wdXBJZHggPSAwO1xuXG5cdGdldFNoZWxsRGlhbG9nQ29udGVudCgpOiB2b2lkIHtcblx0XHQvLyBQb3NpdGlvbiB0byB0b3AgcmlnaHQgb2YgdGhlIG1haW4gd2luZG93IGlmIHBvc3NpYmxlXG5cdFx0Y29uc3Qgd2luZG93V2lkdGggPSA2MjA7XG5cdFx0bGV0IGxlZnQgPSB3aW5kb3cuc2NyZWVuTGVmdCArIHdpbmRvdy5vdXRlcldpZHRoO1xuXHRcdGlmIChsZWZ0ICsgd2luZG93V2lkdGggPiB3aW5kb3cuc2NyZWVuLmF2YWlsV2lkdGgpIHtcblx0XHRcdGxlZnQgPSB3aW5kb3cuc2NyZWVuLmF2YWlsV2lkdGggLSB3aW5kb3dXaWR0aDtcblx0XHR9XG5cdFx0bGV0IHRoZW1lID0gVGhlbWluZy5nZXRUaGVtZSgpO1xuXHRcdHRoZW1lID0gdGhpcy5fc2FuaXRpemVUaGVtZSh0aGVtZSk7XG5cdFx0Y29uc3QgdXJsID0gc2FwLnVpLnJlcXVpcmUudG9VcmwoXCJzYXAvZmUvY29udHJvbHMvc2hvcnRjdXRzL3BvcHVwL2luZGV4Lmh0bWxcIik7XG5cdFx0Y29uc3QgbG9jYWxPcmlnaW4gPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgKyBcIi8vXCIgKyB3aW5kb3cubG9jYXRpb24uaG9zdDtcblx0XHQvLyBXZSBwYXNzIHRoZSB0aGVtZSBhbmQgdGhlIG9yaWdpbiB0byB0aGUgcG9wdXAgc28gdGhhdCBpdCBjYW4gY29tbXVuaWNhdGUgc2FmZWx5IHdpdGggdGhlIHBhcmVudFxuXHRcdGNvbnN0IHBhcmFtcyA9IFwiP3NhcC11aS14eC1zaG9ydGN1dC1vcmlnaW49XCIgKyBlbmNvZGVVUkwobG9jYWxPcmlnaW4pICsgXCImc2FwLXVpLXRoZW1lPVwiICsgdGhlbWU7XG5cdFx0Y29uc3QgbXlXaW4gPSB3aW5kb3cub3Blbihcblx0XHRcdHVybCArIHBhcmFtcyxcblx0XHRcdFwiX2JsYW5rXCIsXG5cdFx0XHRgcG9wdXAsdG9vbGJhcj1ubyxtZW51YmFyPW5vLHNjcm9sbGJhcnM9bm8sbG9jYXRpb249bm8sd2lkdGg9JHt3aW5kb3dXaWR0aH0saGVpZ2h0PTU1MCx0b3A9JHt3aW5kb3cuc2NyZWVuVG9wfSxsZWZ0PSR7bGVmdH1gXG5cdFx0KTtcblx0XHRpZiAobXlXaW4pIHtcblx0XHRcdGNvbnN0IGhhbmRsZU1lc3NhZ2VSZWNlaXZlZCA9IChtZXNzYWdlRXZlbnQ6IE1lc3NhZ2VFdmVudCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRpZiAobG9jYWxPcmlnaW4gPT09IG1lc3NhZ2VFdmVudC5vcmlnaW4pIHtcblx0XHRcdFx0XHRjb25zdCBtZXNzYWdlRGF0YSA9IG1lc3NhZ2VFdmVudD8uZGF0YTtcblx0XHRcdFx0XHRpZiAobWVzc2FnZURhdGEuc2VydmljZSA9PT0gXCJzYXAudWkuaW50ZXJhY3Rpb24uTWVzc2FnZVBvcnRSZWFkeVwiKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBtZXNzYWdlUG9ydCA9IG1lc3NhZ2VFdmVudC5wb3J0c1swXTsgLy8gUmVtZW1iZXIgdGhlIHBvcnRcblx0XHRcdFx0XHRcdG15V2luLnBvc3RNZXNzYWdlKHsgc2VydmljZTogXCJzYXAudWkuaW50ZXJhY3Rpb24uTWVzc2FnZVBvcnRSZWFkeVwiIH0sIHVybC5zdGFydHNXaXRoKFwiL1wiKSA/IGxvY2FsT3JpZ2luIDogdXJsLCBbXG5cdFx0XHRcdFx0XHRcdG1lc3NhZ2VQb3J0XG5cdFx0XHRcdFx0XHRdKTtcblx0XHRcdFx0XHRcdHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBoYW5kbGVNZXNzYWdlUmVjZWl2ZWQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fTtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdG15V2luLm9wZW5lciA9IG51bGw7XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdC8vIFRoaXMgbWlnaHQgZmFpbCB3aGVuIHRoZXJlIGlzIENPUlMgaW52b2x2ZWQgYW55d2F5IGFuZCB3ZSBjYW4ndCBhY2Nlc3MgdGhlIG9wZW5lciBhbnl3YXlcblx0XHRcdFx0TG9nLmRlYnVnKFwiQ2Fubm90IHNldCBvcGVuZXIgdG8gbnVsbFwiLCBlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBTdHJpbmcoZSkpO1xuXHRcdFx0fVxuXG5cdFx0XHRzZXRUaW1lb3V0KCgpOiB2b2lkID0+IHtcblx0XHRcdFx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIGhhbmRsZU1lc3NhZ2VSZWNlaXZlZCk7XG5cdFx0XHRcdHdpbmRvdy5wb3N0TWVzc2FnZShcblx0XHRcdFx0XHR7IGlkOiBcInNhcC5mZS5pbnRlcmFjdGlvbi5Qb3B1cFwiICsgdGhpcy5fcG9wdXBJZHgrKywgc2VydmljZTogXCJzYXAudWkuaW50ZXJhY3Rpb24uUmVxdWVzdE1lc3NhZ2VQb3J0XCIgfSxcblx0XHRcdFx0XHRsb2NhbE9yaWdpblxuXHRcdFx0XHQpO1xuXHRcdFx0fSwgMTUwMCk7IC8vIGdpdmUgYSBiaXQgb2YgdGltZSBmb3IgdGhlIHBvcHVwIHRvIGJlIHJlYWR5XG5cdFx0XHQvLyBXZSBjYW4ndCByZWx5IG9uIHRoZSBvbmxvYWQgb2YgdGhlIHBvcHVwIGJlY2F1c2UgaXQgaXMgbm90IGFsd2F5cyBhdmFpbGJsZSBpbiBDT1JTIHNjZW5hcmlvc1xuXHRcdFx0d2luZG93Lm9udW5sb2FkID0gZnVuY3Rpb24gKCk6IHZvaWQge1xuXHRcdFx0XHRteVdpbi5jbG9zZSgpO1xuXHRcdFx0fTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogU2FuaXRpemVzIHRoZSB0aGVtZSBuYW1lIHRvIGVuc3VyZSBpdCBzdGFydHMgd2l0aCBcInNhcC1cIi5cblx0ICogSWYgdGhlIHRoZW1lIGRvZXMgbm90IHN0YXJ0IHdpdGggXCJzYXAtXCIsIGl0IHRyaWVzIHRvIGdldCB0aGUgdGhlbWUgZnJvbSB0aGUgY29tcHV0ZWQgc3R5bGVzLlxuXHQgKiBJZiBpdCBzdGlsbCBkb2VzIG5vdCBmaW5kIGEgdmFsaWQgdGhlbWUsIGl0IGRlZmF1bHRzIHRvIFwic2FwX2hvcml6b25cIi5cblx0ICogVGhpcyBpcyB0byBlbnN1cmUgdGhhdCB0aGUgcG9wdXAgYWx3YXlzIHVzZXMgYSB2YWxpZCB0aGVtZS5cblx0ICogQHBhcmFtIHRoZW1lIFRoZSB0aGVtZSBuYW1lIHRvIHNhbml0aXplXG5cdCAqIEByZXR1cm5zIFRoZSBzYW5pdGl6ZWQgdGhlbWUgbmFtZVxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cHJpdmF0ZSBfc2FuaXRpemVUaGVtZSh0aGVtZTogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRpZiAoIXRoZW1lLnN0YXJ0c1dpdGgoXCJzYXBfXCIpKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCBjb21wdXRlZFN0eWxlcyA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTtcblx0XHRcdFx0dGhlbWUgPSBjb21wdXRlZFN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKFwiLS1zYXBTYXBUaGVtZUlkXCIpO1xuXHRcdFx0XHRpZiAoIXRoZW1lKSB7XG5cdFx0XHRcdFx0Y29uc3QgdGhlbWVNZXRhZGF0YSA9IGNvbXB1dGVkU3R5bGVzLmdldFByb3BlcnR5VmFsdWUoXCItLXNhcFRoZW1lTWV0YURhdGEtVUk1LXNhcC11aS1jb3JlXCIpO1xuXHRcdFx0XHRcdGlmICh0aGVtZU1ldGFkYXRhKSB7XG5cdFx0XHRcdFx0XHRjb25zdCB0aGVtZU1hdGNoID0gSlNPTi5wYXJzZSh0aGVtZU1ldGFkYXRhKTtcblx0XHRcdFx0XHRcdGlmICh0aGVtZU1hdGNoICYmIHRoZW1lTWF0Y2guRXh0ZW5kcyAmJiB0aGVtZU1hdGNoLkV4dGVuZHMubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdFx0XHR0aGVtZSA9IHRoZW1lTWF0Y2guRXh0ZW5kc1swXTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0TG9nLmluZm8oXCJDYW5ub3QgZ2V0IHRoZW1lIGZyb20gY29tcHV0ZWQgc3R5bGVzXCIsIGUgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IFN0cmluZyhlKSk7XG5cdFx0XHRcdHRoZW1lID0gXCJzYXBfaG9yaXpvblwiO1xuXHRcdFx0fVxuXHRcdFx0aWYgKCF0aGVtZSB8fCAhdGhlbWUuc3RhcnRzV2l0aChcInNhcF9cIikpIHtcblx0XHRcdFx0Ly8gRmluYWwgZmFsbGJhY2sgdG8gc2FwX2hvcml6b25cblx0XHRcdFx0dGhlbWUgPSBcInNhcF9ob3Jpem9uXCI7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB0aGVtZTtcblx0fVxuXG5cdHN0YXRpYyBpbnN0YW5jZVByb21pc2U6IFByb21pc2U8U2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyIHwgdW5kZWZpbmVkPjtcblxuXHRzdGF0aWMgaW5zdGFuY2U6IFNob3J0Y3V0RXhwbGFuYXRpb25Qcm92aWRlciB8IHVuZGVmaW5lZDtcblxuXHRzdGF0aWMgaXNEaWFsb2dBZGRlZCA9IGZhbHNlO1xuXG5cdC8vIEtlZXAgcmVmZXJlbmNlIHRvIHRoZSBjcmVhdGVkIHVzZXIgYWN0aW9uIHNvIHdlIGNhbiBjbGVhbiBpdCB1cCBvbiBpZnJhbWUgcmVsb2FkIHRvIGF2b2lkIGR1cGxpY2F0ZVxuXHRzdGF0aWMgX3VzZXJBY3Rpb246IEl0ZW07XG5cblx0c3RhdGljIF9jbGVhbnVwQXR0YWNoZWQgPSBmYWxzZTtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBvciByZXR1cm5zIHRoZSBpbnN0YW5jZSBvZiB0aGUgU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyLlxuXHQgKiBUaGlzIGlzIGEgc2luZ2xldG9uIHRvIGVuc3VyZSB3ZSBvbmx5IGhhdmUgb25lIGluc3RhbmNlIG9mIHRoZSBkaWFsb2cuXG5cdCAqIEByZXR1cm5zIFRoZSBpbnN0YW5jZSBvZiB0aGUgU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyXG5cdCAqL1xuXHRzdGF0aWMgYXN5bmMgZ2V0SW5zdGFuY2UoKTogUHJvbWlzZTxTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIgfCB1bmRlZmluZWQ+IHtcblx0XHQvLyBUZXN0IHRoZSBzaGVsbCBleGlzdGVuY2UgYW5kIHJlZ2lzdGVyIHRoZSBleHRlbnNpb25cblx0XHRjb25zdCBzaGVsbENvbnRhaW5lciA9IHNhcC51aS5yZXF1aXJlKFwic2FwL3VzaGVsbC9Db250YWluZXJcIikgYXMgQ29udGFpbmVyIHwgdW5kZWZpbmVkO1xuXHRcdGxldCByZXNvbHZlQ3JlYXRpb246IEZ1bmN0aW9uIHwgdW5kZWZpbmVkO1xuXHRcdHRyeSB7XG5cdFx0XHRpZiAoc2hlbGxDb250YWluZXIgJiYgIXRoaXMuaW5zdGFuY2UpIHtcblx0XHRcdFx0dGhpcy5pbnN0YW5jZVByb21pc2UgPSBuZXcgUHJvbWlzZTxTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIgfCB1bmRlZmluZWQ+KChyZXNvbHZlKSA9PiB7XG5cdFx0XHRcdFx0cmVzb2x2ZUNyZWF0aW9uID0gcmVzb2x2ZTtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGNvbnN0IGFwcExpZmVDeWNsZSA9IChhd2FpdCBzaGVsbENvbnRhaW5lci5nZXRTZXJ2aWNlQXN5bmMoXCJBcHBMaWZlQ3ljbGVcIikpIGFzIEFwcExpZmVDeWNsZSB8IHVuZGVmaW5lZDtcblx0XHRcdFx0Y29uc3QgZXh0ZW5zaW9uU2VydmljZSA9IChhd2FpdCBzaGVsbENvbnRhaW5lci5nZXRTZXJ2aWNlQXN5bmMoXCJFeHRlbnNpb25cIikpIGFzIEV4dGVuc2lvbiB8IHVuZGVmaW5lZDtcblx0XHRcdFx0aWYgKGV4dGVuc2lvblNlcnZpY2UpIHtcblx0XHRcdFx0XHRhcHBMaWZlQ3ljbGU/LmF0dGFjaEFwcExvYWRlZChcblx0XHRcdFx0XHRcdHt9LFxuXHRcdFx0XHRcdFx0YXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBzaGVsbEhpc3RvcnlQcm92aWRlciA9IGF3YWl0IFNob3J0Y3V0RXhwbGFuYXRpb25Qcm92aWRlci5yZWdpc3RlclVzZXJBY3Rpb24oZXh0ZW5zaW9uU2VydmljZSk7XG5cdFx0XHRcdFx0XHRcdHRoaXMuaW5zdGFuY2UgPSBzaGVsbEhpc3RvcnlQcm92aWRlcjtcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZUNyZWF0aW9uIShzaGVsbEhpc3RvcnlQcm92aWRlcik7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0dGhpc1xuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRMb2cuZXJyb3IoXCJDYW5ub3QgcmVnaXN0ZXIgZXh0ZW5zaW9uXCIsIGUgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IFN0cmluZyhlKSk7XG5cdFx0XHRyZXNvbHZlQ3JlYXRpb24/Lih1bmRlZmluZWQpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5pbnN0YW5jZVByb21pc2U7XG5cdH1cblxuXHQvKipcblx0ICogQWRkcyB0aGUgdXNlciBhY3Rpb24gdG8gdGhlIHNoZWxsLCB0aGUgYWN0aW9uIHdpbGwgb3BlbiB0aGUgZGlhbG9nIHdpdGggdGhlIHNob3J0Y3V0cy5cblx0ICogQHBhcmFtIHNoZWxsRXh0ZW5zaW9uU2VydmljZSBUaGUgZXh0ZW5zaW9uIHNlcnZpY2UgdG8gYWRkIHRoZSB1c2VyIGFjdGlvbiB0byB0aGUgc2hlbGxcblx0ICogQHJldHVybnMgVGhlIGRpYWxvZyB3aXRoIHRoZSBzaG9ydGN1dHNcblx0ICovXG5cdHN0YXRpYyBhc3luYyByZWdpc3RlclVzZXJBY3Rpb24oc2hlbGxFeHRlbnNpb25TZXJ2aWNlOiBFeHRlbnNpb24pOiBQcm9taXNlPFNob3J0Y3V0RXhwbGFuYXRpb25Qcm92aWRlciB8IHVuZGVmaW5lZD4ge1xuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCByZXNvdXJjZUJ1bmRsZSA9IExpYi5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5jb250cm9sc1wiKSE7XG5cblx0XHRcdGNvbnN0IHNoZWxsSGlzdG9yeURpYWxvZyA9IG5ldyBTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIoKTtcblx0XHRcdGNvbnN0IHVzZXJBY3Rpb24gPSBhd2FpdCBzaGVsbEV4dGVuc2lvblNlcnZpY2UuY3JlYXRlVXNlckFjdGlvbihcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHRleHQ6IHJlc291cmNlQnVuZGxlLmdldFRleHQoXCJDX1NIT1JUQ1VUX1RJVExFXCIpLFxuXHRcdFx0XHRcdGljb246IEljb25Qb29sLmdldEljb25VUkkoXCJrZXlib2FyZC1hbmQtbW91c2VcIiksXG5cdFx0XHRcdFx0cHJlc3M6ICgpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdHNoZWxsSGlzdG9yeURpYWxvZy5nZXRTaGVsbERpYWxvZ0NvbnRlbnQoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRjb250cm9sVHlwZTogXCJzYXAubS5CdXR0b25cIlxuXHRcdFx0XHR9XG5cdFx0XHQpO1xuXHRcdFx0Ly8gU3RvcmUgcmVmZXJlbmNlIGZvciBjbGVhbnVwIHdoZW4gdGhlIGlmcmFtZSBpcyByZWxvYWRlZC91bmxvYWRlZFxuXHRcdFx0dGhpcy5fdXNlckFjdGlvbiA9IHVzZXJBY3Rpb247XG5cblx0XHRcdGlmICghdGhpcy5fY2xlYW51cEF0dGFjaGVkKSB7XG5cdFx0XHRcdHRoaXMuX2NsZWFudXBBdHRhY2hlZCA9IHRydWU7XG5cdFx0XHRcdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicGFnZWhpZGVcIiwgKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuX3VzZXJBY3Rpb24uZGVzdHJveSgpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblxuXHRcdFx0dXNlckFjdGlvbi5zaG93Rm9yQ3VycmVudEFwcCgpO1xuXHRcdFx0cmV0dXJuIHNoZWxsSGlzdG9yeURpYWxvZztcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdExvZy5lcnJvcihcIkNhbm5vdCBhZGQgdXNlciBhY3Rpb25cIiwgZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IFN0cmluZyhlcnIpKTtcblx0XHR9XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0VBWUE7QUFDQTtBQUNBO0FBQ0E7RUFIQSxJQUtxQkEsMkJBQTJCLElBQUFDLElBQUEsR0FEL0NDLGNBQWMsQ0FBQyx1REFBdUQsQ0FBQyxFQUFBRCxJQUFBLENBQUFFLE1BQUEsSUFBQUMsNEJBQUEsMEJBQUFDLGNBQUE7SUFBQSxTQUFBTCw0QkFBQSxHQUFBTSxJQUFBO01BQUEsSUFBQUMsS0FBQTtNQUFBQSxLQUFBLEdBQUFGLGNBQUEsQ0FBQUcsSUFBQSxVQUFBRixJQUFBO01BQUFDLEtBQUEsQ0FFL0RFLFNBQVMsR0FBRyxDQUFDO01BQUEsT0FBQUYsS0FBQTtJQUFBO0lBQUFHLFFBQUEsR0FBQVYsMkJBQUE7SUFBQVcsY0FBQSxDQUFBWCwyQkFBQSxFQUFBSyxjQUFBO0lBQUEsSUFBQU8sTUFBQSxHQUFBWiwyQkFBQSxDQUFBYSxTQUFBO0lBQUFELE1BQUEsQ0FFckJFLHFCQUFxQixHQUFyQixTQUFBQSxxQkFBcUJBLENBQUEsRUFBUztNQUM3QjtNQUNBLE1BQU1DLFdBQVcsR0FBRyxHQUFHO01BQ3ZCLElBQUlDLElBQUksR0FBR0MsTUFBTSxDQUFDQyxVQUFVLEdBQUdELE1BQU0sQ0FBQ0UsVUFBVTtNQUNoRCxJQUFJSCxJQUFJLEdBQUdELFdBQVcsR0FBR0UsTUFBTSxDQUFDRyxNQUFNLENBQUNDLFVBQVUsRUFBRTtRQUNsREwsSUFBSSxHQUFHQyxNQUFNLENBQUNHLE1BQU0sQ0FBQ0MsVUFBVSxHQUFHTixXQUFXO01BQzlDO01BQ0EsSUFBSU8sS0FBSyxHQUFHQyxPQUFPLENBQUNDLFFBQVEsQ0FBQyxDQUFDO01BQzlCRixLQUFLLEdBQUcsSUFBSSxDQUFDRyxjQUFjLENBQUNILEtBQUssQ0FBQztNQUNsQyxNQUFNSSxHQUFHLEdBQUdDLEdBQUcsQ0FBQ0MsRUFBRSxDQUFDQyxPQUFPLENBQUNDLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQztNQUM5RSxNQUFNQyxXQUFXLEdBQUdkLE1BQU0sQ0FBQ2UsUUFBUSxDQUFDQyxRQUFRLEdBQUcsSUFBSSxHQUFHaEIsTUFBTSxDQUFDZSxRQUFRLENBQUNFLElBQUk7TUFDMUU7TUFDQSxNQUFNQyxNQUFNLEdBQUcsNkJBQTZCLEdBQUdDLFNBQVMsQ0FBQ0wsV0FBVyxDQUFDLEdBQUcsZ0JBQWdCLEdBQUdULEtBQUs7TUFDaEcsTUFBTWUsS0FBSyxHQUFHcEIsTUFBTSxDQUFDcUIsSUFBSSxDQUN4QlosR0FBRyxHQUFHUyxNQUFNLEVBQ1osUUFBUSxFQUNSLCtEQUErRHBCLFdBQVcsbUJBQW1CRSxNQUFNLENBQUNzQixTQUFTLFNBQVN2QixJQUFJLEVBQzNILENBQUM7TUFDRCxJQUFJcUIsS0FBSyxFQUFFO1FBQ1YsTUFBTUcscUJBQXFCLEdBQUlDLFlBQTBCLElBQVc7VUFDbkUsSUFBSVYsV0FBVyxLQUFLVSxZQUFZLENBQUNDLE1BQU0sRUFBRTtZQUN4QyxNQUFNQyxXQUFXLEdBQUdGLFlBQVksRUFBRUcsSUFBSTtZQUN0QyxJQUFJRCxXQUFXLENBQUNFLE9BQU8sS0FBSyxxQ0FBcUMsRUFBRTtjQUNsRSxNQUFNQyxXQUFXLEdBQUdMLFlBQVksQ0FBQ00sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Y0FDM0NWLEtBQUssQ0FBQ1csV0FBVyxDQUFDO2dCQUFFSCxPQUFPLEVBQUU7Y0FBc0MsQ0FBQyxFQUFFbkIsR0FBRyxDQUFDdUIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHbEIsV0FBVyxHQUFHTCxHQUFHLEVBQUUsQ0FDOUdvQixXQUFXLENBQ1gsQ0FBQztjQUNGN0IsTUFBTSxDQUFDaUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFVixxQkFBcUIsQ0FBQztZQUM3RDtVQUNEO1FBQ0QsQ0FBQztRQUNELElBQUk7VUFDSEgsS0FBSyxDQUFDYyxNQUFNLEdBQUcsSUFBSTtRQUNwQixDQUFDLENBQUMsT0FBT0MsQ0FBQyxFQUFFO1VBQ1g7VUFDQUMsR0FBRyxDQUFDQyxLQUFLLENBQUMsMkJBQTJCLEVBQUVGLENBQUMsWUFBWUcsS0FBSyxHQUFHSCxDQUFDLENBQUNJLE9BQU8sR0FBR0MsTUFBTSxDQUFDTCxDQUFDLENBQUMsQ0FBQztRQUNuRjtRQUVBTSxVQUFVLENBQUMsTUFBWTtVQUN0QnpDLE1BQU0sQ0FBQzBDLGdCQUFnQixDQUFDLFNBQVMsRUFBRW5CLHFCQUFxQixDQUFDO1VBQ3pEdkIsTUFBTSxDQUFDK0IsV0FBVyxDQUNqQjtZQUFFWSxFQUFFLEVBQUUsMEJBQTBCLEdBQUcsSUFBSSxDQUFDbkQsU0FBUyxFQUFFO1lBQUVvQyxPQUFPLEVBQUU7VUFBd0MsQ0FBQyxFQUN2R2QsV0FDRCxDQUFDO1FBQ0YsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDVjtRQUNBZCxNQUFNLENBQUM0QyxRQUFRLEdBQUcsWUFBa0I7VUFDbkN4QixLQUFLLENBQUN5QixLQUFLLENBQUMsQ0FBQztRQUNkLENBQUM7TUFDRjtJQUNEOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQVJDO0lBQUFsRCxNQUFBLENBU1FhLGNBQWMsR0FBdEIsU0FBUUEsY0FBY0EsQ0FBQ0gsS0FBYSxFQUFVO01BQzdDLElBQUksQ0FBQ0EsS0FBSyxDQUFDMkIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzlCLElBQUk7VUFDSCxNQUFNYyxjQUFjLEdBQUdDLGdCQUFnQixDQUFDQyxRQUFRLENBQUNDLGVBQWUsQ0FBQztVQUNqRTVDLEtBQUssR0FBR3lDLGNBQWMsQ0FBQ0ksZ0JBQWdCLENBQUMsaUJBQWlCLENBQUM7VUFDMUQsSUFBSSxDQUFDN0MsS0FBSyxFQUFFO1lBQ1gsTUFBTThDLGFBQWEsR0FBR0wsY0FBYyxDQUFDSSxnQkFBZ0IsQ0FBQyxvQ0FBb0MsQ0FBQztZQUMzRixJQUFJQyxhQUFhLEVBQUU7Y0FDbEIsTUFBTUMsVUFBVSxHQUFHQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsYUFBYSxDQUFDO2NBQzVDLElBQUlDLFVBQVUsSUFBSUEsVUFBVSxDQUFDRyxPQUFPLElBQUlILFVBQVUsQ0FBQ0csT0FBTyxDQUFDQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN0RW5ELEtBQUssR0FBRytDLFVBQVUsQ0FBQ0csT0FBTyxDQUFDLENBQUMsQ0FBQztjQUM5QjtZQUNEO1VBQ0Q7UUFDRCxDQUFDLENBQUMsT0FBT3BCLENBQUMsRUFBRTtVQUNYQyxHQUFHLENBQUNxQixJQUFJLENBQUMsdUNBQXVDLEVBQUV0QixDQUFDLFlBQVlHLEtBQUssR0FBR0gsQ0FBQyxDQUFDSSxPQUFPLEdBQUdDLE1BQU0sQ0FBQ0wsQ0FBQyxDQUFDLENBQUM7VUFDN0Y5QixLQUFLLEdBQUcsYUFBYTtRQUN0QjtRQUNBLElBQUksQ0FBQ0EsS0FBSyxJQUFJLENBQUNBLEtBQUssQ0FBQzJCLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtVQUN4QztVQUNBM0IsS0FBSyxHQUFHLGFBQWE7UUFDdEI7TUFDRDtNQUNBLE9BQU9BLEtBQUs7SUFDYixDQUFDO0lBYUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtJQUpDdEIsMkJBQUEsQ0FLYTJFLFdBQVcsR0FBeEIsZUFBYUEsV0FBV0EsQ0FBQSxFQUFxRDtNQUM1RTtNQUNBLE1BQU1DLGNBQWMsR0FBR2pELEdBQUcsQ0FBQ0MsRUFBRSxDQUFDQyxPQUFPLENBQUMsc0JBQXNCLENBQTBCO01BQ3RGLElBQUlnRCxlQUFxQztNQUN6QyxJQUFJO1FBQ0gsSUFBSUQsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDRSxRQUFRLEVBQUU7VUFDckMsSUFBSSxDQUFDQyxlQUFlLEdBQUcsSUFBSUMsT0FBTyxDQUEyQ0MsT0FBTyxJQUFLO1lBQ3hGSixlQUFlLEdBQUdJLE9BQU87VUFDMUIsQ0FBQyxDQUFDO1VBQ0YsTUFBTUMsWUFBWSxHQUFJLE1BQU1OLGNBQWMsQ0FBQ08sZUFBZSxDQUFDLGNBQWMsQ0FBOEI7VUFDdkcsTUFBTUMsZ0JBQWdCLEdBQUksTUFBTVIsY0FBYyxDQUFDTyxlQUFlLENBQUMsV0FBVyxDQUEyQjtVQUNyRyxJQUFJQyxnQkFBZ0IsRUFBRTtZQUNyQkYsWUFBWSxFQUFFRyxlQUFlLENBQzVCLENBQUMsQ0FBQyxFQUNGLFlBQTJCO2NBQzFCLE1BQU1DLG9CQUFvQixHQUFHLE1BQU10RiwyQkFBMkIsQ0FBQ3VGLGtCQUFrQixDQUFDSCxnQkFBZ0IsQ0FBQztjQUNuRyxJQUFJLENBQUNOLFFBQVEsR0FBR1Esb0JBQW9CO2NBQ3BDVCxlQUFlLENBQUVTLG9CQUFvQixDQUFDO1lBQ3ZDLENBQUMsRUFDRCxJQUNELENBQUM7VUFDRjtRQUNEO01BQ0QsQ0FBQyxDQUFDLE9BQU9sQyxDQUFDLEVBQUU7UUFDWEMsR0FBRyxDQUFDbUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFcEMsQ0FBQyxZQUFZRyxLQUFLLEdBQUdILENBQUMsQ0FBQ0ksT0FBTyxHQUFHQyxNQUFNLENBQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ2xGeUIsZUFBZSxHQUFHWSxTQUFTLENBQUM7TUFDN0I7TUFDQSxPQUFPLElBQUksQ0FBQ1YsZUFBZTtJQUM1Qjs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBLE9BSkM7SUFBQS9FLDJCQUFBLENBS2F1RixrQkFBa0IsR0FBL0IsZUFBYUEsa0JBQWtCQSxDQUFDRyxxQkFBZ0MsRUFBb0Q7TUFDbkgsSUFBSTtRQUNILE1BQU1DLGNBQWMsR0FBR0MsR0FBRyxDQUFDQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBRTtRQUVuRSxNQUFNQyxrQkFBa0IsR0FBRyxJQUFJOUYsMkJBQTJCLENBQUMsQ0FBQztRQUM1RCxNQUFNK0YsVUFBVSxHQUFHLE1BQU1MLHFCQUFxQixDQUFDTSxnQkFBZ0IsQ0FDOUQ7VUFDQ0MsSUFBSSxFQUFFTixjQUFjLENBQUNPLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztVQUNoREMsSUFBSSxFQUFFQyxRQUFRLENBQUNDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztVQUMvQ0MsS0FBSyxFQUFFQSxDQUFBLEtBQVk7WUFDbEJSLGtCQUFrQixDQUFDaEYscUJBQXFCLENBQUMsQ0FBQztVQUMzQztRQUNELENBQUMsRUFDRDtVQUNDeUYsV0FBVyxFQUFFO1FBQ2QsQ0FDRCxDQUFDO1FBQ0Q7UUFDQSxJQUFJLENBQUNDLFdBQVcsR0FBR1QsVUFBVTtRQUU3QixJQUFJLENBQUMsSUFBSSxDQUFDVSxnQkFBZ0IsRUFBRTtVQUMzQixJQUFJLENBQUNBLGdCQUFnQixHQUFHLElBQUk7VUFDNUJ4RixNQUFNLENBQUMwQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsTUFBTTtZQUN6QyxJQUFJLENBQUM2QyxXQUFXLENBQUNFLE9BQU8sQ0FBQyxDQUFDO1VBQzNCLENBQUMsQ0FBQztRQUNIO1FBRUFYLFVBQVUsQ0FBQ1ksaUJBQWlCLENBQUMsQ0FBQztRQUM5QixPQUFPYixrQkFBa0I7TUFDMUIsQ0FBQyxDQUFDLE9BQU9jLEdBQUcsRUFBRTtRQUNidkQsR0FBRyxDQUFDbUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFb0IsR0FBRyxZQUFZckQsS0FBSyxHQUFHcUQsR0FBRyxDQUFDcEQsT0FBTyxHQUFHQyxNQUFNLENBQUNtRCxHQUFHLENBQUMsQ0FBQztNQUN0RjtJQUNELENBQUM7SUFBQSxPQUFBNUcsMkJBQUE7RUFBQSxFQTdLdUQ2RyxhQUFhLEdBQUF6Ryw0QkFBQSxDQThGOUQwRyxhQUFhLEdBQUcsS0FBSyxFQUFBMUcsNEJBQUEsQ0FLckJxRyxnQkFBZ0IsR0FBRyxLQUFLLEVBQUFyRyw0QkFBQSxNQUFBRCxNQUFBO0VBQUFPLFFBQUEsR0FBQVYsMkJBQUE7RUFBQSxPQUFBVSxRQUFBO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
182
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfY2xhc3MiLCJfU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyIiwiX01hbmFnZWRPYmplY3QiLCJhcmdzIiwiX3RoaXMiLCJjYWxsIiwiX3BvcHVwSWR4IiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsImdldFNoZWxsRGlhbG9nQ29udGVudCIsIndpbmRvd1dpZHRoIiwibGVmdCIsIndpbmRvdyIsInNjcmVlbkxlZnQiLCJvdXRlcldpZHRoIiwic2NyZWVuIiwiYXZhaWxXaWR0aCIsInRoZW1lIiwiVGhlbWluZyIsImdldFRoZW1lIiwiX3Nhbml0aXplVGhlbWUiLCJ1cmwiLCJzYXAiLCJ1aSIsInJlcXVpcmUiLCJ0b1VybCIsImxvY2FsT3JpZ2luIiwibG9jYXRpb24iLCJwcm90b2NvbCIsImhvc3QiLCJwYXJhbXMiLCJlbmNvZGVVUkwiLCJteVdpbiIsIm9wZW4iLCJzY3JlZW5Ub3AiLCJoYW5kbGVNZXNzYWdlUmVjZWl2ZWQiLCJtZXNzYWdlRXZlbnQiLCJvcmlnaW4iLCJtZXNzYWdlRGF0YSIsImRhdGEiLCJzZXJ2aWNlIiwibWVzc2FnZVBvcnQiLCJwb3J0cyIsInBvc3RNZXNzYWdlIiwic3RhcnRzV2l0aCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvcGVuZXIiLCJlIiwiTG9nIiwiZGVidWciLCJFcnJvciIsIm1lc3NhZ2UiLCJTdHJpbmciLCJzZXRUaW1lb3V0IiwiYWRkRXZlbnRMaXN0ZW5lciIsImlkIiwib251bmxvYWQiLCJjbG9zZSIsImNvbXB1dGVkU3R5bGVzIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiZ2V0UHJvcGVydHlWYWx1ZSIsInRoZW1lTWV0YWRhdGEiLCJ0aGVtZU1hdGNoIiwiSlNPTiIsInBhcnNlIiwiRXh0ZW5kcyIsImxlbmd0aCIsImluZm8iLCJnZXRJbnN0YW5jZSIsInNoZWxsQ29udGFpbmVyIiwicmVzb2x2ZUNyZWF0aW9uIiwiaW5zdGFuY2UiLCJpbnN0YW5jZVByb21pc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsImFwcExpZmVDeWNsZSIsImdldFNlcnZpY2VBc3luYyIsImV4dGVuc2lvblNlcnZpY2UiLCJhdHRhY2hBcHBMb2FkZWQiLCJzaGVsbEhpc3RvcnlQcm92aWRlciIsInJlZ2lzdGVyVXNlckFjdGlvbiIsImVycm9yIiwidW5kZWZpbmVkIiwic2hlbGxFeHRlbnNpb25TZXJ2aWNlIiwicmVzb3VyY2VCdW5kbGUiLCJMaWIiLCJnZXRSZXNvdXJjZUJ1bmRsZUZvciIsInNoZWxsSGlzdG9yeURpYWxvZyIsIl91c2VyQWN0aW9uIiwiZGVzdHJveSIsInVzZXJBY3Rpb24iLCJjcmVhdGVVc2VyQWN0aW9uIiwidGV4dCIsImdldFRleHQiLCJpY29uIiwiSWNvblBvb2wiLCJnZXRJY29uVVJJIiwicHJlc3MiLCJjb250cm9sVHlwZSIsIl9jbGVhbnVwQXR0YWNoZWQiLCJzaG93Rm9yQ3VycmVudEFwcCIsImVyciIsIk1hbmFnZWRPYmplY3QiLCJpc0RpYWxvZ0FkZGVkIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IGVuY29kZVVSTCBmcm9tIFwic2FwL2Jhc2Uvc2VjdXJpdHkvZW5jb2RlVVJMXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgSWNvblBvb2wgZnJvbSBcInNhcC91aS9jb3JlL0ljb25Qb29sXCI7XG5pbXBvcnQgTGliIGZyb20gXCJzYXAvdWkvY29yZS9MaWJcIjtcbmltcG9ydCBUaGVtaW5nIGZyb20gXCJzYXAvdWkvY29yZS9UaGVtaW5nXCI7XG5pbXBvcnQgdHlwZSBDb250YWluZXIgZnJvbSBcInNhcC91c2hlbGwvQ29udGFpbmVyXCI7XG5pbXBvcnQgdHlwZSBBcHBMaWZlQ3ljbGUgZnJvbSBcInNhcC91c2hlbGwvc2VydmljZXMvQXBwTGlmZUN5Y2xlXCI7XG5pbXBvcnQgdHlwZSBFeHRlbnNpb24gZnJvbSBcInNhcC91c2hlbGwvc2VydmljZXMvRXh0ZW5zaW9uXCI7XG5pbXBvcnQgdHlwZSBJdGVtIGZyb20gXCJzYXAvdXNoZWxsL3NlcnZpY2VzL0V4dGVuc2lvbi9JdGVtXCI7XG5cbi8qKlxuICogUHJvdmlkZXMgYSBkaWFsb2cgdG8gZXhwbGFpbiB0aGUgc2hvcnRjdXRzIHRvIHRoZSB1c2VyLlxuICogVGhpcyBkaWFsb2cgd2lsbCBiZSByZWdpc3RlcmVkIGluIHRoZSBzaGVsbCB1c2VyIG1lbnUgYW5kIHdpbGwgb3BlbiBhcyBhbiBpbmRlcGVuZGVudCB3aW5kb3cuXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb250cm9scy5zaG9ydGN1dHMuU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyXCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIgZXh0ZW5kcyBNYW5hZ2VkT2JqZWN0IHtcblx0cHJpdmF0ZSBfcG9wdXBJZHggPSAwO1xuXG5cdGdldFNoZWxsRGlhbG9nQ29udGVudCgpOiB2b2lkIHtcblx0XHQvLyBQb3NpdGlvbiB0byB0b3AgcmlnaHQgb2YgdGhlIG1haW4gd2luZG93IGlmIHBvc3NpYmxlXG5cdFx0Y29uc3Qgd2luZG93V2lkdGggPSA2MjA7XG5cdFx0bGV0IGxlZnQgPSB3aW5kb3cuc2NyZWVuTGVmdCArIHdpbmRvdy5vdXRlcldpZHRoO1xuXHRcdGlmIChsZWZ0ICsgd2luZG93V2lkdGggPiB3aW5kb3cuc2NyZWVuLmF2YWlsV2lkdGgpIHtcblx0XHRcdGxlZnQgPSB3aW5kb3cuc2NyZWVuLmF2YWlsV2lkdGggLSB3aW5kb3dXaWR0aDtcblx0XHR9XG5cdFx0bGV0IHRoZW1lID0gVGhlbWluZy5nZXRUaGVtZSgpO1xuXHRcdHRoZW1lID0gdGhpcy5fc2FuaXRpemVUaGVtZSh0aGVtZSk7XG5cdFx0Y29uc3QgdXJsID0gc2FwLnVpLnJlcXVpcmUudG9VcmwoXCJzYXAvZmUvY29udHJvbHMvc2hvcnRjdXRzL3BvcHVwL2luZGV4Lmh0bWxcIik7XG5cdFx0Y29uc3QgbG9jYWxPcmlnaW4gPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgKyBcIi8vXCIgKyB3aW5kb3cubG9jYXRpb24uaG9zdDtcblx0XHQvLyBXZSBwYXNzIHRoZSB0aGVtZSBhbmQgdGhlIG9yaWdpbiB0byB0aGUgcG9wdXAgc28gdGhhdCBpdCBjYW4gY29tbXVuaWNhdGUgc2FmZWx5IHdpdGggdGhlIHBhcmVudFxuXHRcdGNvbnN0IHBhcmFtcyA9IFwiP3NhcC11aS14eC1zaG9ydGN1dC1vcmlnaW49XCIgKyBlbmNvZGVVUkwobG9jYWxPcmlnaW4pICsgXCImc2FwLXVpLXRoZW1lPVwiICsgdGhlbWU7XG5cdFx0Y29uc3QgbXlXaW4gPSB3aW5kb3cub3Blbihcblx0XHRcdHVybCArIHBhcmFtcyxcblx0XHRcdFwiX2JsYW5rXCIsXG5cdFx0XHRgcG9wdXAsdG9vbGJhcj1ubyxtZW51YmFyPW5vLHNjcm9sbGJhcnM9bm8sbG9jYXRpb249bm8sd2lkdGg9JHt3aW5kb3dXaWR0aH0saGVpZ2h0PTU1MCx0b3A9JHt3aW5kb3cuc2NyZWVuVG9wfSxsZWZ0PSR7bGVmdH1gXG5cdFx0KTtcblx0XHRpZiAobXlXaW4pIHtcblx0XHRcdGNvbnN0IGhhbmRsZU1lc3NhZ2VSZWNlaXZlZCA9IChtZXNzYWdlRXZlbnQ6IE1lc3NhZ2VFdmVudCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRpZiAobG9jYWxPcmlnaW4gPT09IG1lc3NhZ2VFdmVudC5vcmlnaW4pIHtcblx0XHRcdFx0XHRjb25zdCBtZXNzYWdlRGF0YSA9IG1lc3NhZ2VFdmVudD8uZGF0YTtcblx0XHRcdFx0XHRpZiAobWVzc2FnZURhdGEuc2VydmljZSA9PT0gXCJzYXAudWkuaW50ZXJhY3Rpb24uTWVzc2FnZVBvcnRSZWFkeVwiKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBtZXNzYWdlUG9ydCA9IG1lc3NhZ2VFdmVudC5wb3J0c1swXTsgLy8gUmVtZW1iZXIgdGhlIHBvcnRcblx0XHRcdFx0XHRcdG15V2luLnBvc3RNZXNzYWdlKHsgc2VydmljZTogXCJzYXAudWkuaW50ZXJhY3Rpb24uTWVzc2FnZVBvcnRSZWFkeVwiIH0sIHVybC5zdGFydHNXaXRoKFwiL1wiKSA/IGxvY2FsT3JpZ2luIDogdXJsLCBbXG5cdFx0XHRcdFx0XHRcdG1lc3NhZ2VQb3J0XG5cdFx0XHRcdFx0XHRdKTtcblx0XHRcdFx0XHRcdHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBoYW5kbGVNZXNzYWdlUmVjZWl2ZWQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fTtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdG15V2luLm9wZW5lciA9IG51bGw7XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdC8vIFRoaXMgbWlnaHQgZmFpbCB3aGVuIHRoZXJlIGlzIENPUlMgaW52b2x2ZWQgYW55d2F5IGFuZCB3ZSBjYW4ndCBhY2Nlc3MgdGhlIG9wZW5lciBhbnl3YXlcblx0XHRcdFx0TG9nLmRlYnVnKFwiQ2Fubm90IHNldCBvcGVuZXIgdG8gbnVsbFwiLCBlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBTdHJpbmcoZSkpO1xuXHRcdFx0fVxuXG5cdFx0XHRzZXRUaW1lb3V0KCgpOiB2b2lkID0+IHtcblx0XHRcdFx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIGhhbmRsZU1lc3NhZ2VSZWNlaXZlZCk7XG5cdFx0XHRcdHdpbmRvdy5wb3N0TWVzc2FnZShcblx0XHRcdFx0XHR7IGlkOiBcInNhcC5mZS5pbnRlcmFjdGlvbi5Qb3B1cFwiICsgdGhpcy5fcG9wdXBJZHgrKywgc2VydmljZTogXCJzYXAudWkuaW50ZXJhY3Rpb24uUmVxdWVzdE1lc3NhZ2VQb3J0XCIgfSxcblx0XHRcdFx0XHRsb2NhbE9yaWdpblxuXHRcdFx0XHQpO1xuXHRcdFx0fSwgMTUwMCk7IC8vIGdpdmUgYSBiaXQgb2YgdGltZSBmb3IgdGhlIHBvcHVwIHRvIGJlIHJlYWR5XG5cdFx0XHQvLyBXZSBjYW4ndCByZWx5IG9uIHRoZSBvbmxvYWQgb2YgdGhlIHBvcHVwIGJlY2F1c2UgaXQgaXMgbm90IGFsd2F5cyBhdmFpbGJsZSBpbiBDT1JTIHNjZW5hcmlvc1xuXHRcdFx0d2luZG93Lm9udW5sb2FkID0gZnVuY3Rpb24gKCk6IHZvaWQge1xuXHRcdFx0XHRteVdpbi5jbG9zZSgpO1xuXHRcdFx0fTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogU2FuaXRpemVzIHRoZSB0aGVtZSBuYW1lIHRvIGVuc3VyZSBpdCBzdGFydHMgd2l0aCBcInNhcC1cIi5cblx0ICogSWYgdGhlIHRoZW1lIGRvZXMgbm90IHN0YXJ0IHdpdGggXCJzYXAtXCIsIGl0IHRyaWVzIHRvIGdldCB0aGUgdGhlbWUgZnJvbSB0aGUgY29tcHV0ZWQgc3R5bGVzLlxuXHQgKiBJZiBpdCBzdGlsbCBkb2VzIG5vdCBmaW5kIGEgdmFsaWQgdGhlbWUsIGl0IGRlZmF1bHRzIHRvIFwic2FwX2hvcml6b25cIi5cblx0ICogVGhpcyBpcyB0byBlbnN1cmUgdGhhdCB0aGUgcG9wdXAgYWx3YXlzIHVzZXMgYSB2YWxpZCB0aGVtZS5cblx0ICogQHBhcmFtIHRoZW1lIFRoZSB0aGVtZSBuYW1lIHRvIHNhbml0aXplXG5cdCAqIEByZXR1cm5zIFRoZSBzYW5pdGl6ZWQgdGhlbWUgbmFtZVxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0cHJpdmF0ZSBfc2FuaXRpemVUaGVtZSh0aGVtZTogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRpZiAoIXRoZW1lLnN0YXJ0c1dpdGgoXCJzYXBfXCIpKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCBjb21wdXRlZFN0eWxlcyA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTtcblx0XHRcdFx0dGhlbWUgPSBjb21wdXRlZFN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKFwiLS1zYXBTYXBUaGVtZUlkXCIpO1xuXHRcdFx0XHRpZiAoIXRoZW1lKSB7XG5cdFx0XHRcdFx0Y29uc3QgdGhlbWVNZXRhZGF0YSA9IGNvbXB1dGVkU3R5bGVzLmdldFByb3BlcnR5VmFsdWUoXCItLXNhcFRoZW1lTWV0YURhdGEtVUk1LXNhcC11aS1jb3JlXCIpO1xuXHRcdFx0XHRcdGlmICh0aGVtZU1ldGFkYXRhKSB7XG5cdFx0XHRcdFx0XHRjb25zdCB0aGVtZU1hdGNoID0gSlNPTi5wYXJzZSh0aGVtZU1ldGFkYXRhKTtcblx0XHRcdFx0XHRcdGlmICh0aGVtZU1hdGNoICYmIHRoZW1lTWF0Y2guRXh0ZW5kcyAmJiB0aGVtZU1hdGNoLkV4dGVuZHMubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdFx0XHR0aGVtZSA9IHRoZW1lTWF0Y2guRXh0ZW5kc1swXTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0TG9nLmluZm8oXCJDYW5ub3QgZ2V0IHRoZW1lIGZyb20gY29tcHV0ZWQgc3R5bGVzXCIsIGUgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IFN0cmluZyhlKSk7XG5cdFx0XHRcdHRoZW1lID0gXCJzYXBfaG9yaXpvblwiO1xuXHRcdFx0fVxuXHRcdFx0aWYgKCF0aGVtZSB8fCAhdGhlbWUuc3RhcnRzV2l0aChcInNhcF9cIikpIHtcblx0XHRcdFx0Ly8gRmluYWwgZmFsbGJhY2sgdG8gc2FwX2hvcml6b25cblx0XHRcdFx0dGhlbWUgPSBcInNhcF9ob3Jpem9uXCI7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB0aGVtZTtcblx0fVxuXG5cdHN0YXRpYyBpbnN0YW5jZVByb21pc2U6IFByb21pc2U8U2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyIHwgdW5kZWZpbmVkPjtcblxuXHRzdGF0aWMgaW5zdGFuY2U6IFNob3J0Y3V0RXhwbGFuYXRpb25Qcm92aWRlciB8IHVuZGVmaW5lZDtcblxuXHRzdGF0aWMgaXNEaWFsb2dBZGRlZCA9IGZhbHNlO1xuXG5cdC8vIEtlZXAgcmVmZXJlbmNlIHRvIHRoZSBjcmVhdGVkIHVzZXIgYWN0aW9uIHNvIHdlIGNhbiBjbGVhbiBpdCB1cCBvbiBpZnJhbWUgcmVsb2FkIHRvIGF2b2lkIGR1cGxpY2F0ZVxuXHRzdGF0aWMgX3VzZXJBY3Rpb246IEl0ZW0gfCB1bmRlZmluZWQ7XG5cblx0c3RhdGljIF9jbGVhbnVwQXR0YWNoZWQgPSBmYWxzZTtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBvciByZXR1cm5zIHRoZSBpbnN0YW5jZSBvZiB0aGUgU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyLlxuXHQgKiBUaGlzIGlzIGEgc2luZ2xldG9uIHRvIGVuc3VyZSB3ZSBvbmx5IGhhdmUgb25lIGluc3RhbmNlIG9mIHRoZSBkaWFsb2cuXG5cdCAqIEByZXR1cm5zIFRoZSBpbnN0YW5jZSBvZiB0aGUgU2hvcnRjdXRFeHBsYW5hdGlvblByb3ZpZGVyXG5cdCAqL1xuXHRzdGF0aWMgYXN5bmMgZ2V0SW5zdGFuY2UoKTogUHJvbWlzZTxTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIgfCB1bmRlZmluZWQ+IHtcblx0XHQvLyBUZXN0IHRoZSBzaGVsbCBleGlzdGVuY2UgYW5kIHJlZ2lzdGVyIHRoZSBleHRlbnNpb25cblx0XHRjb25zdCBzaGVsbENvbnRhaW5lciA9IHNhcC51aS5yZXF1aXJlKFwic2FwL3VzaGVsbC9Db250YWluZXJcIikgYXMgQ29udGFpbmVyIHwgdW5kZWZpbmVkO1xuXHRcdGxldCByZXNvbHZlQ3JlYXRpb246IEZ1bmN0aW9uIHwgdW5kZWZpbmVkO1xuXHRcdHRyeSB7XG5cdFx0XHRpZiAoc2hlbGxDb250YWluZXIgJiYgIXRoaXMuaW5zdGFuY2UpIHtcblx0XHRcdFx0dGhpcy5pbnN0YW5jZVByb21pc2UgPSBuZXcgUHJvbWlzZTxTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIgfCB1bmRlZmluZWQ+KChyZXNvbHZlKSA9PiB7XG5cdFx0XHRcdFx0cmVzb2x2ZUNyZWF0aW9uID0gcmVzb2x2ZTtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGNvbnN0IGFwcExpZmVDeWNsZSA9IChhd2FpdCBzaGVsbENvbnRhaW5lci5nZXRTZXJ2aWNlQXN5bmMoXCJBcHBMaWZlQ3ljbGVcIikpIGFzIEFwcExpZmVDeWNsZSB8IHVuZGVmaW5lZDtcblx0XHRcdFx0Y29uc3QgZXh0ZW5zaW9uU2VydmljZSA9IChhd2FpdCBzaGVsbENvbnRhaW5lci5nZXRTZXJ2aWNlQXN5bmMoXCJFeHRlbnNpb25cIikpIGFzIEV4dGVuc2lvbiB8IHVuZGVmaW5lZDtcblx0XHRcdFx0aWYgKGV4dGVuc2lvblNlcnZpY2UpIHtcblx0XHRcdFx0XHRhcHBMaWZlQ3ljbGU/LmF0dGFjaEFwcExvYWRlZChcblx0XHRcdFx0XHRcdHt9LFxuXHRcdFx0XHRcdFx0YXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBzaGVsbEhpc3RvcnlQcm92aWRlciA9IGF3YWl0IFNob3J0Y3V0RXhwbGFuYXRpb25Qcm92aWRlci5yZWdpc3RlclVzZXJBY3Rpb24oZXh0ZW5zaW9uU2VydmljZSk7XG5cdFx0XHRcdFx0XHRcdHRoaXMuaW5zdGFuY2UgPSBzaGVsbEhpc3RvcnlQcm92aWRlcjtcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZUNyZWF0aW9uIShzaGVsbEhpc3RvcnlQcm92aWRlcik7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0dGhpc1xuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRMb2cuZXJyb3IoXCJDYW5ub3QgcmVnaXN0ZXIgZXh0ZW5zaW9uXCIsIGUgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IFN0cmluZyhlKSk7XG5cdFx0XHRyZXNvbHZlQ3JlYXRpb24/Lih1bmRlZmluZWQpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5pbnN0YW5jZVByb21pc2U7XG5cdH1cblxuXHQvKipcblx0ICogQWRkcyB0aGUgdXNlciBhY3Rpb24gdG8gdGhlIHNoZWxsLCB0aGUgYWN0aW9uIHdpbGwgb3BlbiB0aGUgZGlhbG9nIHdpdGggdGhlIHNob3J0Y3V0cy5cblx0ICogQHBhcmFtIHNoZWxsRXh0ZW5zaW9uU2VydmljZSBUaGUgZXh0ZW5zaW9uIHNlcnZpY2UgdG8gYWRkIHRoZSB1c2VyIGFjdGlvbiB0byB0aGUgc2hlbGxcblx0ICogQHJldHVybnMgVGhlIGRpYWxvZyB3aXRoIHRoZSBzaG9ydGN1dHNcblx0ICovXG5cdHN0YXRpYyBhc3luYyByZWdpc3RlclVzZXJBY3Rpb24oc2hlbGxFeHRlbnNpb25TZXJ2aWNlOiBFeHRlbnNpb24pOiBQcm9taXNlPFNob3J0Y3V0RXhwbGFuYXRpb25Qcm92aWRlciB8IHVuZGVmaW5lZD4ge1xuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCByZXNvdXJjZUJ1bmRsZSA9IExpYi5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5jb250cm9sc1wiKSE7XG5cblx0XHRcdGNvbnN0IHNoZWxsSGlzdG9yeURpYWxvZyA9IG5ldyBTaG9ydGN1dEV4cGxhbmF0aW9uUHJvdmlkZXIoKTtcblxuXHRcdFx0Ly8gRGVzdHJveSBwcmV2aW91cyB1c2VyIGFjdGlvbiBiZWZvcmUgY3JlYXRpbmcgYSBuZXcgb25lIHRvIHByZXZlbnQgZHVwbGljYXRlcyBpbiBrZWVwLWFsaXZlIG5hdmlnYXRpb25cblx0XHRcdGlmICh0aGlzLl91c2VyQWN0aW9uKSB7XG5cdFx0XHRcdHRoaXMuX3VzZXJBY3Rpb24uZGVzdHJveSgpO1xuXHRcdFx0XHR0aGlzLl91c2VyQWN0aW9uID0gdW5kZWZpbmVkO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCB1c2VyQWN0aW9uID0gYXdhaXQgc2hlbGxFeHRlbnNpb25TZXJ2aWNlLmNyZWF0ZVVzZXJBY3Rpb24oXG5cdFx0XHRcdHtcblx0XHRcdFx0XHR0ZXh0OiByZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiQ19TSE9SVENVVF9USVRMRVwiKSxcblx0XHRcdFx0XHRpY29uOiBJY29uUG9vbC5nZXRJY29uVVJJKFwia2V5Ym9hcmQtYW5kLW1vdXNlXCIpLFxuXHRcdFx0XHRcdHByZXNzOiAoKTogdm9pZCA9PiB7XG5cdFx0XHRcdFx0XHRzaGVsbEhpc3RvcnlEaWFsb2cuZ2V0U2hlbGxEaWFsb2dDb250ZW50KCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0Y29udHJvbFR5cGU6IFwic2FwLm0uQnV0dG9uXCJcblx0XHRcdFx0fVxuXHRcdFx0KTtcblx0XHRcdC8vIFN0b3JlIHJlZmVyZW5jZSBmb3IgY2xlYW51cCB3aGVuIHRoZSBpZnJhbWUgaXMgcmVsb2FkZWQvdW5sb2FkZWRcblx0XHRcdHRoaXMuX3VzZXJBY3Rpb24gPSB1c2VyQWN0aW9uO1xuXG5cdFx0XHRpZiAoIXRoaXMuX2NsZWFudXBBdHRhY2hlZCkge1xuXHRcdFx0XHR0aGlzLl9jbGVhbnVwQXR0YWNoZWQgPSB0cnVlO1xuXHRcdFx0XHR3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInBhZ2VoaWRlXCIsICgpID0+IHtcblx0XHRcdFx0XHR0aGlzLl91c2VyQWN0aW9uPy5kZXN0cm95KCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXG5cdFx0XHR1c2VyQWN0aW9uLnNob3dGb3JDdXJyZW50QXBwKCk7XG5cdFx0XHRyZXR1cm4gc2hlbGxIaXN0b3J5RGlhbG9nO1xuXHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0TG9nLmVycm9yKFwiQ2Fubm90IGFkZCB1c2VyIGFjdGlvblwiLCBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVycikpO1xuXHRcdH1cblx0fVxufVxu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
@@ -112,7 +112,7 @@ export default class ShortcutExplanationProvider extends ManagedObject {
112
112
  static isDialogAdded = false;
113
113
 
114
114
  // Keep reference to the created user action so we can clean it up on iframe reload to avoid duplicate
115
- static _userAction: Item;
115
+ static _userAction: Item | undefined;
116
116
 
117
117
  static _cleanupAttached = false;
118
118
 
@@ -161,6 +161,13 @@ export default class ShortcutExplanationProvider extends ManagedObject {
161
161
  const resourceBundle = Lib.getResourceBundleFor("sap.fe.controls")!;
162
162
 
163
163
  const shellHistoryDialog = new ShortcutExplanationProvider();
164
+
165
+ // Destroy previous user action before creating a new one to prevent duplicates in keep-alive navigation
166
+ if (this._userAction) {
167
+ this._userAction.destroy();
168
+ this._userAction = undefined;
169
+ }
170
+
164
171
  const userAction = await shellExtensionService.createUserAction(
165
172
  {
166
173
  text: resourceBundle.getText("C_SHORTCUT_TITLE"),
@@ -179,7 +186,7 @@ export default class ShortcutExplanationProvider extends ManagedObject {
179
186
  if (!this._cleanupAttached) {
180
187
  this._cleanupAttached = true;
181
188
  window.addEventListener("pagehide", () => {
182
- this._userAction.destroy();
189
+ this._userAction?.destroy();
183
190
  });
184
191
  }
185
192
 
@@ -3,14 +3,11 @@
3
3
  /* Base theme */
4
4
  /* ========================================= */
5
5
 
6
- .sapFeEasyFillReviewArea {
6
+ .sapFeEasyFillReviewPaneWrapper {
7
+ overflow: hidden;
7
8
  background-color: var(--sapShell_Background);
8
9
  }
9
10
 
10
- .sapFeEasyFillReviewArea > .sapMFlexItem.sapUiContentPadding {
11
- padding: 0;
12
- }
13
-
14
11
  .sapFeEasyFillPlaceholder {
15
12
  background-color: var(--sapShell_Background);
16
13
  height: 100%;
@@ -25,30 +22,75 @@
25
22
  color: var(--sapContent_LabelColor);
26
23
  }
27
24
 
28
- .sapFeEasyFillDialog .sapUiFormCLContainer {
29
- padding-bottom: 0 !important;
30
- }
31
-
32
25
  .sapFeEasyFillDialog .sapUiFormCL.sapUiFormCLSmallColumns .sapUiFormCLElement > .sapUiFormCLCellsS6 {
33
- width: 100% !important;
26
+ width: 100%;
34
27
  }
35
28
 
36
- #easyFillObjectPageLayout {
29
+ #sapFeEasyFillObjectPageLayout {
37
30
  min-width: 20rem;
38
31
  }
39
32
 
40
- #easyFillObjectPageLayout-spacer {
41
- display: none !important;
33
+ // sapUxAPObjectPageWrapper is an internal UI5 class (sap.uxap.ObjectPageLayout, verified UI5 1.120).
34
+ // Setting height: 0 forces the wrapper to shrink so the OPL fits its flex container instead of
35
+ // expanding to its content height, keeping the header sticky while only the content scrolls.
36
+ #sapFeEasyFillObjectPageLayout > .sapUxAPObjectPageWrapper {
37
+ height: 0;
42
38
  }
43
39
 
44
- .sapUiEasyFillPreviewTable {
40
+ .sapFeEasyFillPreviewTable {
45
41
  border-radius: 0.5rem;
46
- border: 1px solid var(--sapList_BorderColor, #e5e5e5);
42
+ border: 1px solid var(--sapList_BorderColor);
47
43
  }
48
- .sapUiEasyFillPreviewTable .sapMListTblRow:first-child {
44
+
45
+ .sapFeEasyFillPreviewTable .sapMListTblRow:first-child {
49
46
  border-top: none;
50
47
  }
51
- .sapUiEasyFillWarningCell .sapMInputBaseContentWrapper {
52
- background-color: var(--sapField_WarningBackground, #fff3b0) !important;
53
- border-color: var(--sapField_WarningColor, #e9730c) !important;
48
+ .sapFeEasyFillWarningCell .sapMInputBaseContentWrapper {
49
+ background-color: var(--sapField_WarningBackground) !important;
50
+ border-color: var(--sapField_WarningColor) !important;
51
+ }
52
+ .sapFeEasyFillWarningCell .sapMText,
53
+ .sapFeEasyFillWarningCell .sapMLabel {
54
+ background-color: var(--sapField_WarningBackground) !important;
55
+ }
56
+
57
+ // do not display header details when it is collapsed, as it takes up space
58
+ .sapFeEasyFillDialog .sapUxAPObjectPageHeaderDetailsHidden {
59
+ display: none;
60
+ }
61
+
62
+ .sapFeEasyFillDialog {
63
+ // unnecessary padding for the inner grid of the section content
64
+ .sapFeEasyFillSubsection [id$="-innerGrid"] {
65
+ padding: 0;
66
+ }
67
+ // unnecessary margin bottom for the last element in the inner grid of the section content
68
+ .sapFeEasyFillSubsection [id$="-innerGrid"] > :first-child {
69
+ margin-bottom: 0;
70
+ }
71
+ }
72
+
73
+ // padding for the form containers for fields subsection
74
+ .sapFeEasyFillDialog .sapFeEasyFillForm .sapUiFormCLContainer {
75
+ padding: 1rem !important;
76
+ }
77
+
78
+ // unnecessary margin top for table titles which have a margin-top 2rem by default
79
+ .sapFeEasyFillDialog .sapFeEasyFillSectionDetailed {
80
+ margin-top: 0 !important;
81
+ }
82
+
83
+ // margin bottom for the last section (detailed layout)
84
+ .sapFeEasyFillDialog .sapFeEasyFillSectionDetailed:last-child {
85
+ margin-bottom: 2rem;
86
+ }
87
+
88
+ // margin bottom for the last section (condensed layout)
89
+ .sapFeEasyFillDialog .sapFeEasyFillSectionCondensed:last-child {
90
+ margin-bottom: 2rem;
91
+ }
92
+
93
+ // padding top for the first section (condensed layout)
94
+ .sapFeEasyFillDialog .sapFeEasyFillSectionCondensed:first-child {
95
+ padding-top: 2rem;
54
96
  }