iobroker.shoppingroute 0.2.0 → 0.3.1

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/README.md CHANGED
@@ -2,15 +2,22 @@
2
2
 
3
3
  ![ShoppingRoute](admin/shoppingroute.png)
4
4
 
5
- **Current version: 0.2.0 – stable**
5
+ **Current version: 0.3.1**
6
6
 
7
- ShoppingRoute sorts existing Alexa shopping-list entries by market, product group and each store's individual walking route. It **never creates, deletes or automatically completes Alexa list items**. It only redistributes visible texts across existing active Alexa IDs. Managed Alexa lists must be set to **Oldest to newest** in the Alexa app.
7
+ ShoppingRoute sorts Alexa shopping-list entries by market, product group and each store's individual walking route. Normal shopping items are still sorted only by redistributing visible texts across existing Alexa IDs. Optionally, ShoppingRoute can use Alexa2 to create its own market headings such as `---- ALDI ----`. Once a market is no longer needed, ShoppingRoute completely deletes only that self-managed heading entry. Managed Alexa lists must be set to **Oldest to newest** in the Alexa app.
8
+
9
+ ## User guide / Bedienungsanleitung
10
+
11
+ 🇬🇧 [**English user guide**](USER_GUIDE_EN.md)
12
+ 🇩🇪 [**Deutsche Bedienungsanleitung**](BEDIENUNGSANLEITUNG_DE.md)
8
13
 
9
14
  ## Highlights
10
15
 
11
16
  - multiple Alexa lists with per-list priority markets
12
17
  - global, per-list and temporary market priorities
13
18
  - market aliases and common market-name variants
19
+ - optional automatically managed market headings such as `---- ALDI ----`
20
+ - optional cross-market consolidation using a minimum-item threshold; explicit market requests are never moved
14
21
  - configurable product groups and store-specific routes
15
22
  - product catalogue with aliases, preferred and available markets
16
23
  - quantity parser for digits, number words, packs, half-kilo and `6x` forms
@@ -32,6 +39,14 @@ See `README_DE.md` for the detailed German documentation.
32
39
 
33
40
  ## Changelog
34
41
 
42
+ ### 0.3.0 (2026-08-10)
43
+
44
+ - Added optional `---- MARKET ----` headings.
45
+ - A heading stays active until the last real item for that market is completed and is then deleted completely instead of remaining among completed items.
46
+ - Added configurable minimum-items-per-market consolidation for flexible articles.
47
+ - Explicit market phrases always remain assigned to the requested market.
48
+ - Header management uses Alexa2 states (`#New`, `#delete`) and does not create a second Amazon session; normal shopping items are never automatically deleted or completed.
49
+
35
50
  ### 0.2.0 (2026-08-09)
36
51
 
37
52
  - First stable release of ShoppingRoute.
package/README_DE.md CHANGED
@@ -2,15 +2,22 @@
2
2
 
3
3
  ![ShoppingRoute](admin/shoppingroute.png)
4
4
 
5
- **Aktuelle Version: 0.2.0 – Stable**
5
+ **Aktuelle Version: 0.3.1**
6
6
 
7
- ShoppingRoute sortiert vorhandene Alexa-Einkaufslisteneinträge nach Markt, Produktgruppe und dem individuellen Laufweg durch den jeweiligen Markt. Dabei werden **keine Einträge angelegt, gelöscht oder automatisch abgehakt**. Der Adapter verteilt ausschließlich die sichtbaren Texte auf bereits vorhandene aktive Alexa-IDs. Die Alexa-App muss für verwaltete Listen auf **„Älteste bis neueste“** gestellt sein.
7
+ ShoppingRoute sortiert Alexa-Einkaufslisteneinträge nach Markt, Produktgruppe und dem individuellen Laufweg durch den jeweiligen Markt. Normale Einkaufsartikel werden weiterhin ausschließlich über ihre vorhandenen Alexa-IDs und sichtbaren Texte sortiert. Optional kann ShoppingRoute über Alexa2 eigene Marktüberschriften wie `---- ALDI ----` anlegen. Sobald ein Markt nicht mehr benötigt wird, löscht ShoppingRoute ausschließlich diesen selbst verwalteten Überschriftseintrag wieder vollständig. Die Alexa-App muss für verwaltete Listen auf **„Älteste bis neueste“** gestellt sein.
8
+
9
+ ## Bedienungsanleitung / User guide
10
+
11
+ 🇩🇪 [**Deutsche Bedienungsanleitung**](BEDIENUNGSANLEITUNG_DE.md)
12
+ 🇬🇧 [**English user guide**](USER_GUIDE_EN.md)
8
13
 
9
14
  ## Funktionen
10
15
 
11
16
  - mehrere Alexa-Einkaufslisten mit eigenem Prioritätsmarkt
12
17
  - globale, listenbezogene und temporäre Marktpriorität
13
18
  - Markt-Aliase und automatische Erkennung häufiger Marktvarianten
19
+ - optionale, automatisch verwaltete Marktüberschriften wie `---- ALDI ----`
20
+ - optionale marktübergreifende Zusammenlegung anhand einer Mindestanzahl von Artikeln pro zusätzlichem Markt; explizite Marktangaben bleiben unverändert
14
21
  - frei pflegbare Produktgruppen und marktbezogene Laufwege
15
22
  - Laufweg nach Tabellenreihenfolge; Reihenfolgen werden automatisch neu nummeriert
16
23
  - Artikelstamm mit Aliasen, Produktgruppe, bevorzugtem Markt und verfügbaren Märkten
@@ -42,6 +49,8 @@ Bei der Marktzuordnung gilt:
42
49
  6. erster erlaubter Markt aus „Verfügbare Märkte“
43
50
  7. Fallback-Markt
44
51
 
52
+ Anschließend kann 0.3.0 flexible Artikel marktübergreifend zusammenlegen, wenn ein zusätzlicher Markt die konfigurierte Mindestanzahl nicht erreicht. Dafür werden ausschließlich im Artikelstamm hinterlegte alternative verfügbare Märkte verwendet. Explizite Angaben wie `Milch von LIDL` oder `Eier bei ALDI` werden niemals verschoben.
53
+
45
54
  ## Wichtige Datenpunkte
46
55
 
47
56
  - `info.previewText` – lesbare Sortiervorschau
@@ -66,6 +75,14 @@ ShoppingRoute wird ab dieser Version unter der **MIT-Lizenz** veröffentlicht. F
66
75
 
67
76
  ## Changelog
68
77
 
78
+ ### 0.3.0 (2026-08-10)
79
+
80
+ - Optionale Marktüberschriften im Format `---- MARKT ----` ergänzt.
81
+ - Überschriften bleiben aktiv, solange mindestens ein echter Artikel des Marktes offen ist, und werden danach vollständig gelöscht statt unter erledigten Artikeln stehen zu bleiben.
82
+ - Marktübergreifende Zusammenlegung anhand einer konfigurierbaren Mindestanzahl ergänzt.
83
+ - Explizite Marktangaben bleiben von der Zusammenlegung ausnahmslos unberührt.
84
+ - Header-Verwaltung nutzt ausschließlich Alexa2-Datenpunkte (`#New`, `#delete`) und erzeugt keine zweite Amazon-Sitzung; normale Einkaufsartikel werden niemals automatisch gelöscht oder erledigt.
85
+
69
86
  ### 0.2.0 (2026-08-09)
70
87
 
71
88
  - Erste stabile Veröffentlichung von ShoppingRoute.
@@ -70,6 +70,29 @@
70
70
  "lg": 4,
71
71
  "xl": 3
72
72
  },
73
+ "marketHeaders": {
74
+ "type": "checkbox",
75
+ "label": "ui.items.general.items.marketheaders.label",
76
+ "help": "ui.items.general.items.marketheaders.help",
77
+ "newLine": true,
78
+ "xs": 12,
79
+ "sm": 12,
80
+ "md": 6,
81
+ "lg": 4,
82
+ "xl": 3
83
+ },
84
+ "minItemsPerMarket": {
85
+ "type": "number",
86
+ "label": "ui.items.general.items.minitemspermarket.label",
87
+ "help": "ui.items.general.items.minitemspermarket.help",
88
+ "min": 1,
89
+ "max": 99,
90
+ "xs": 12,
91
+ "sm": 12,
92
+ "md": 6,
93
+ "lg": 4,
94
+ "xl": 3
95
+ },
73
96
  "fallbackMarket": {
74
97
  "type": "selectSendTo",
75
98
  "command": "getMarkets",
@@ -710,17 +733,17 @@
710
733
  "zh-cn": "常规"
711
734
  },
712
735
  "ui.items.general.items.betawarning.text": {
713
- "en": "Safety notice: Start with Dry-Run enabled. ShoppingRoute never creates, deletes or completes Alexa list items; it only redistributes visible value texts across existing active IDs.",
714
- "de": "Sicherheitshinweis: Zuerst mit Dry-Run testen. ShoppingRoute legt niemals Alexa-Listeneinträge an, löscht keine und hakt keine ab; es verteilt ausschließlich sichtbare value-Texte auf vorhandene aktive IDs.",
715
- "ru": "Примечание по безопасности: сначала включите пробный режим. ShoppingRoute никогда не создаёт, не удаляет и не отмечает выполненными элементы списка Alexa; он только перераспределяет видимые тексты value между существующими активными ID.",
716
- "pt": "Aviso de segurança: comece com o modo de simulação ativado. O ShoppingRoute nunca cria, exclui ou marca como concluídos itens da lista Alexa; ele apenas redistribui os textos value visíveis entre IDs ativos existentes.",
717
- "nl": "Veiligheidsadvies: begin met de proefmodus ingeschakeld. ShoppingRoute maakt nooit Alexa-lijstitems aan, verwijdert of voltooit ze niet; het verdeelt alleen zichtbare value-teksten opnieuw over bestaande actieve ID's.",
718
- "fr": "Consigne de sécurité : commencez avec le mode simulation activé. ShoppingRoute ne crée, ne supprime et ne valide jamais d’éléments de liste Alexa ; il redistribue uniquement les textes value visibles entre les ID actifs existants.",
719
- "it": "Avviso di sicurezza: inizia con la modalità simulazione attivata. ShoppingRoute non crea, elimina o completa mai elementi dell’elenco Alexa; ridistribuisce soltanto i testi value visibili tra gli ID attivi esistenti.",
720
- "es": "Aviso de seguridad: empiece con el modo de prueba activado. ShoppingRoute nunca crea, elimina ni marca como completados elementos de la lista de Alexa; solo redistribuye los textos value visibles entre los ID activos existentes.",
721
- "pl": "Informacja dotycząca bezpieczeństwa: zacznij z włączonym trybem testowym. ShoppingRoute nigdy nie tworzy, nie usuwa ani nie oznacza jako wykonane pozycji listy Alexa; jedynie rozdziela widoczne teksty value między istniejące aktywne identyfikatory.",
722
- "uk": "Примітка щодо безпеки: спочатку увімкніть тестовий режим. ShoppingRoute ніколи не створює, не видаляє й не позначає виконаними елементи списку Alexa; він лише перерозподіляє видимі тексти value між наявними активними ID.",
723
- "zh-cn": "安全提示:请先启用试运行模式。ShoppingRoute 从不创建、删除或完成 Alexa 列表项目;它只会在现有活动 ID 之间重新分配可见的 value 文本。"
736
+ "en": "Safety notice: Start with Dry Run enabled. Normal shopping items are still sorted only by redistributing their visible texts. If market headings are enabled, ShoppingRoute creates and deletes only its own ---- MARKET ---- heading entries through Alexa2.",
737
+ "de": "Sicherheitshinweis: Zuerst mit Dry-Run testen. Normale Einkaufsartikel werden weiterhin nur durch Umverteilen ihrer sichtbaren Texte sortiert. Bei aktivierten Marktüberschriften legt und löscht ShoppingRoute über Alexa2 ausschließlich eigene Einträge im Format ---- MARKT ----.",
738
+ "ru": "Примечание по безопасности: сначала используйте пробный режим. Обычные товары по-прежнему сортируются только перераспределением видимых текстов. При включённых заголовках ShoppingRoute через Alexa2 создаёт и удаляет только собственные строки ---- МАГАЗИН ----.",
739
+ "pt": "Aviso de segurança: comece com o modo de simulação. Os itens normais continuam sendo ordenados apenas redistribuindo seus textos visíveis. Com cabeçalhos ativados, o ShoppingRoute cria e exclui via Alexa2 apenas suas próprias entradas ---- MERCADO ----.",
740
+ "nl": "Veiligheidsadvies: begin met de proefmodus. Normale boodschappen worden nog steeds alleen gesorteerd door zichtbare teksten te herverdelen. Met winkelkoppen ingeschakeld maakt en verwijdert ShoppingRoute via Alexa2 uitsluitend eigen ---- WINKEL ---- regels.",
741
+ "fr": "Consigne de sécurité : commencez en mode simulation. Les articles normaux restent triés uniquement par redistribution de leurs textes visibles. Si les en-têtes sont activés, ShoppingRoute crée et supprime via Alexa2 uniquement ses propres entrées ---- MAGASIN ----.",
742
+ "it": "Avviso di sicurezza: iniziare con Dry Run. Gli articoli normali vengono ancora ordinati solo ridistribuendo i testi visibili. Con le intestazioni attive, ShoppingRoute crea ed elimina tramite Alexa2 esclusivamente le proprie voci ---- NEGOZIO ----.",
743
+ "es": "Aviso de seguridad: comience con Dry Run. Los artículos normales siguen ordenándose solo redistribuyendo sus textos visibles. Con encabezados activados, ShoppingRoute crea y elimina mediante Alexa2 únicamente sus propias entradas ---- TIENDA ----.",
744
+ "pl": "Informacja bezpieczeństwa: zacznij od trybu testowego. Zwykłe artykuły nadal są sortowane wyłącznie przez rozdzielanie widocznych tekstów. Po włączeniu nagłówków ShoppingRoute przez Alexa2 tworzy i usuwa wyłącznie własne wpisy ---- SKLEP ----.",
745
+ "uk": "Примітка з безпеки: спочатку використовуйте Dry Run. Звичайні товари й надалі сортуються лише перерозподілом видимих текстів. Якщо заголовки ввімкнено, ShoppingRoute через Alexa2 створює та видаляє лише власні записи ---- МАГАЗИН ----.",
746
+ "zh-cn": "安全提示:请先使用试运行。普通购物项仍只通过重新分配可见文本来排序。启用商店标题后,ShoppingRoute 仅通过 Alexa2 创建和删除自己的 ---- 商店 ---- 标题条目。"
724
747
  },
725
748
  "ui.items.general.items.alexainstance.label": {
726
749
  "en": "Alexa2 instance",
@@ -1488,6 +1511,58 @@
1488
1511
  "pl": "Kopie zapasowe i profile sklepów są pobierane bezpośrednio jako pliki JSON lub przywracane z pliku. Zawartości JSON nie trzeba wyświetlać ani edytować. Po imporcie zapisz konfigurację.",
1489
1512
  "uk": "Резервні копії та профілі магазинів завантажуються безпосередньо як JSON-файли або відновлюються з файлу. Вміст JSON не потрібно показувати чи редагувати. Після імпорту збережіть конфігурацію.",
1490
1513
  "zh-cn": "备份和商店配置文件会直接下载为 JSON 文件,或从文件中恢复。无需显示或编辑 JSON 内容。导入后请保存配置。"
1514
+ },
1515
+ "ui.items.general.items.marketheaders.label": {
1516
+ "en": "Market headings in Alexa list",
1517
+ "de": "Marktüberschriften in der Alexa-Liste",
1518
+ "ru": "Заголовки магазинов в списке Alexa",
1519
+ "pt": "Cabeçalhos de mercados na lista Alexa",
1520
+ "nl": "Winkelkoppen in de Alexa-lijst",
1521
+ "fr": "En-têtes de magasins dans la liste Alexa",
1522
+ "it": "Intestazioni dei negozi nell’elenco Alexa",
1523
+ "es": "Encabezados de tiendas en la lista de Alexa",
1524
+ "pl": "Nagłówki sklepów na liście Alexa",
1525
+ "uk": "Заголовки магазинів у списку Alexa",
1526
+ "zh-cn": "Alexa 列表中的商店标题"
1527
+ },
1528
+ "ui.items.general.items.marketheaders.help": {
1529
+ "en": "Adds entries such as ---- ALDI ----. A heading remains active while at least one real item for that market is open and is deleted completely when the market is no longer needed.",
1530
+ "de": "Fügt Einträge wie ---- ALDI ---- ein. Eine Überschrift bleibt aktiv, solange mindestens ein echter Artikel dieses Marktes offen ist, und wird vollständig gelöscht, sobald der Markt nicht mehr benötigt wird.",
1531
+ "ru": "Добавляет строки вида ---- ALDI ----. Заголовок остаётся активным, пока открыт хотя бы один настоящий товар этого магазина, и полностью удаляется, когда магазин больше не нужен.",
1532
+ "pt": "Adiciona entradas como ---- ALDI ----. O cabeçalho permanece ativo enquanto houver pelo menos um item real aberto nesse mercado e é excluído por completo quando o mercado deixa de ser necessário.",
1533
+ "nl": "Voegt regels zoals ---- ALDI ---- toe. De kop blijft actief zolang minstens één echt artikel voor die winkel openstaat en wordt volledig verwijderd zodra de winkel niet meer nodig is.",
1534
+ "fr": "Ajoute des entrées comme ---- ALDI ----. L’en-tête reste actif tant qu’au moins un article réel de ce magasin est ouvert et est entièrement supprimé lorsque le magasin n’est plus nécessaire.",
1535
+ "it": "Aggiunge voci come ---- ALDI ----. L’intestazione resta attiva finché almeno un articolo reale del negozio è aperto e viene eliminata completamente quando il negozio non serve più.",
1536
+ "es": "Añade entradas como ---- ALDI ----. El encabezado permanece activo mientras quede al menos un artículo real abierto de esa tienda y se elimina por completo cuando la tienda ya no es necesaria.",
1537
+ "pl": "Dodaje wpisy takie jak ---- ALDI ----. Nagłówek pozostaje aktywny, dopóki co najmniej jeden rzeczywisty artykuł tego sklepu jest otwarty, a gdy sklep nie jest już potrzebny, zostaje całkowicie usunięty.",
1538
+ "uk": "Додає записи на кшталт ---- ALDI ----. Заголовок залишається активним, доки відкритий хоча б один справжній товар цього магазину, і повністю видаляється, коли магазин більше не потрібен.",
1539
+ "zh-cn": "添加类似 ---- ALDI ---- 的条目。只要该商店还有至少一个真实商品未完成,标题就保持有效;不再需要该商店时,标题会被彻底删除。"
1540
+ },
1541
+ "ui.items.general.items.minitemspermarket.label": {
1542
+ "en": "Minimum items per additional market",
1543
+ "de": "Mindestanzahl Artikel pro zusätzlichem Markt",
1544
+ "ru": "Минимум товаров для дополнительного магазина",
1545
+ "pt": "Mínimo de itens por mercado adicional",
1546
+ "nl": "Minimum aantal artikelen per extra winkel",
1547
+ "fr": "Nombre minimum d’articles par magasin supplémentaire",
1548
+ "it": "Numero minimo di articoli per negozio aggiuntivo",
1549
+ "es": "Mínimo de artículos por tienda adicional",
1550
+ "pl": "Minimalna liczba artykułów na dodatkowy sklep",
1551
+ "uk": "Мінімальна кількість товарів для додаткового магазину",
1552
+ "zh-cn": "每个额外商店的最少商品数"
1553
+ },
1554
+ "ui.items.general.items.minitemspermarket.help": {
1555
+ "en": "1 disables consolidation. Below the threshold, only articles with configured alternative available markets may be moved. Explicit phrases such as “from LIDL” or “at ALDI” are never moved.",
1556
+ "de": "1 deaktiviert die Zusammenlegung. Unterhalb der Mindestzahl werden nur Artikel verschoben, für die alternative verfügbare Märkte hinterlegt sind. Explizite Angaben wie „von LIDL“ oder „bei ALDI“ werden niemals verschoben.",
1557
+ "ru": "1 отключает объединение. Ниже порога перемещаются только товары с настроенными альтернативными магазинами. Явные указания магазина никогда не изменяются.",
1558
+ "pt": "1 desativa a consolidação. Abaixo do limite, somente itens com mercados alternativos configurados podem ser movidos. Indicações explícitas de mercado nunca são alteradas.",
1559
+ "nl": "1 schakelt samenvoegen uit. Onder de grens worden alleen artikelen met ingestelde alternatieve winkels verplaatst. Expliciete winkelvermeldingen worden nooit verplaatst.",
1560
+ "fr": "1 désactive la consolidation. Sous le seuil, seuls les articles avec des magasins alternatifs configurés peuvent être déplacés. Les indications explicites ne sont jamais modifiées.",
1561
+ "it": "1 disattiva il consolidamento. Sotto la soglia vengono spostati solo gli articoli con negozi alternativi configurati. Le indicazioni esplicite non vengono mai modificate.",
1562
+ "es": "1 desactiva la consolidación. Por debajo del límite solo se mueven artículos con tiendas alternativas configuradas. Las indicaciones explícitas nunca se modifican.",
1563
+ "pl": "1 wyłącza konsolidację. Poniżej progu przenoszone są tylko artykuły z skonfigurowanymi alternatywnymi sklepami. Jawne wskazania sklepu nigdy nie są zmieniane.",
1564
+ "uk": "1 вимикає об’єднання. Нижче порога переміщуються лише товари з налаштованими альтернативними магазинами. Явні вказівки магазину ніколи не змінюються.",
1565
+ "zh-cn": "设为 1 将关闭合并。低于阈值时,只有配置了其他可用商店的商品才会移动。明确指定商店的说法永远不会更改。"
1491
1566
  }
1492
1567
  }
1493
1568
  }
@@ -1 +1 @@
1
- 'use strict';const _0x30b9da=_0x2059;(function(_0x45dd1a,_0x5b4a55){const _0x29435b=_0x2059,_0x35b982=_0x45dd1a();while(!![]){try{const _0x11a497=parseInt(_0x29435b(0x96))/0x1*(parseInt(_0x29435b(0x88))/0x2)+parseInt(_0x29435b(0x95))/0x3*(-parseInt(_0x29435b(0x94))/0x4)+parseInt(_0x29435b(0x84))/0x5*(parseInt(_0x29435b(0x8d))/0x6)+-parseInt(_0x29435b(0x92))/0x7*(-parseInt(_0x29435b(0x89))/0x8)+-parseInt(_0x29435b(0x93))/0x9*(-parseInt(_0x29435b(0x86))/0xa)+parseInt(_0x29435b(0x8a))/0xb*(parseInt(_0x29435b(0x97))/0xc)+-parseInt(_0x29435b(0x85))/0xd*(parseInt(_0x29435b(0x87))/0xe);if(_0x11a497===_0x5b4a55)break;else _0x35b982['push'](_0x35b982['shift']());}catch(_0x8cf212){_0x35b982['push'](_0x35b982['shift']());}}}(_0x5c83,0xa5472));Object[_0x30b9da(0x90)](exports,'__esModule',{'value':!![]}),exports[_0x30b9da(0x8e)]=inspectAlexaRemoteSource,exports['canWriteAlexa']=canWriteAlexa;function inspectAlexaRemoteSource(_0x4aff94){const _0x5ada99=_0x30b9da,_0x4d36ba=String(_0x4aff94||'');if(/\?version\s+=\$\{options\.version\}/[_0x5ada99(0x8b)](_0x4d36ba))return{'status':'known-bug','detail':_0x5ada99(0x98)};if(/\?version=\$\{options\.version\}/['test'](_0x4d36ba))return{'status':_0x5ada99(0x8c),'detail':'Die\x20bekannte\x20fehlerhafte\x20version-Query\x20wurde\x20in\x20der\x20installierten\x20alexa-remote2-Quelle\x20nicht\x20gefunden;\x20die\x20korrigierte\x20Schreibweise\x20ist\x20vorhanden.'};return{'status':_0x5ada99(0x91),'detail':_0x5ada99(0x8f)};}function _0x2059(_0x305281,_0x2205f1){_0x305281=_0x305281-0x84;const _0x5c83b4=_0x5c83();let _0x205992=_0x5c83b4[_0x305281];return _0x205992;}function canWriteAlexa(_0x526cfc){const _0x4ad4bf=_0x30b9da;return _0x526cfc===_0x4ad4bf(0x8c)||_0x526cfc==='live-ok';}function _0x5c83(){const _0x1ed018=['test','source-ok','43200WeMrZO','inspectAlexaRemoteSource','Die\x20installierte\x20alexa-remote2-Quelle\x20konnte\x20nicht\x20eindeutig\x20als\x20kompatibel\x20oder\x20als\x20bekannte\x20fehlerhafte\x20Variante\x20erkannt\x20werden.','defineProperty','unknown','9040129bohPmd','106569zfZFXI','760KlzJpz','17289DqoQjz','99961dVGgDj','2400eVCmSR','Bekannter\x20updateListItem-Fehler\x20gefunden:\x20Leerzeichen\x20vor\x20dem\x20Gleichheitszeichen\x20in\x20der\x20version-Query.','330nMppJE','2327QtOMWF','70lVdmHP','94458OypygV','14umdTrr','8LhOYOC','23672DoctUO'];_0x5c83=function(){return _0x1ed018;};return _0x5c83();}
1
+ 'use strict';function _0x482b(_0x2b0aa3,_0x5b741b){_0x2b0aa3=_0x2b0aa3-0xa9;const _0x13bb9e=_0x13bb();let _0x482b28=_0x13bb9e[_0x2b0aa3];return _0x482b28;}const _0x1175c4=_0x482b;(function(_0x2544c3,_0x5c59a8){const _0x382260=_0x482b,_0xd4175b=_0x2544c3();while(!![]){try{const _0x4e793c=-parseInt(_0x382260(0xb6))/0x1*(-parseInt(_0x382260(0xb2))/0x2)+-parseInt(_0x382260(0xab))/0x3*(parseInt(_0x382260(0xb0))/0x4)+parseInt(_0x382260(0xa9))/0x5+parseInt(_0x382260(0xb4))/0x6*(parseInt(_0x382260(0xba))/0x7)+-parseInt(_0x382260(0xaf))/0x8*(-parseInt(_0x382260(0xbb))/0x9)+-parseInt(_0x382260(0xaa))/0xa+-parseInt(_0x382260(0xb8))/0xb;if(_0x4e793c===_0x5c59a8)break;else _0xd4175b['push'](_0xd4175b['shift']());}catch(_0x12b13d){_0xd4175b['push'](_0xd4175b['shift']());}}}(_0x13bb,0x3f29f));function _0x13bb(){const _0x25ec7b=['Bekannter\x20updateListItem-Fehler\x20gefunden:\x20Leerzeichen\x20vor\x20dem\x20Gleichheitszeichen\x20in\x20der\x20version-Query.','3017360fTGXRP','452kAnAwp','source-ok','815294Sxebyd','defineProperty','8142XSGAzz','test','1nCqhxO','__esModule','3974069euGjQQ','canWriteAlexa','1085dimewM','9iPImbn','490535gGXluy','1723420qERvYW','7989EweIsn','inspectAlexaRemoteSource','unknown'];_0x13bb=function(){return _0x25ec7b;};return _0x13bb();}Object[_0x1175c4(0xb3)](exports,_0x1175c4(0xb7),{'value':!![]}),exports[_0x1175c4(0xac)]=inspectAlexaRemoteSource,exports[_0x1175c4(0xb9)]=canWriteAlexa;function inspectAlexaRemoteSource(_0x39d862){const _0x555a50=_0x1175c4,_0x32510c=String(_0x39d862||'');if(/\?version\s+=\$\{options\.version\}/[_0x555a50(0xb5)](_0x32510c))return{'status':'known-bug','detail':_0x555a50(0xae)};if(/\?version=\$\{options\.version\}/['test'](_0x32510c))return{'status':'source-ok','detail':'Die\x20bekannte\x20fehlerhafte\x20version-Query\x20wurde\x20in\x20der\x20installierten\x20alexa-remote2-Quelle\x20nicht\x20gefunden;\x20die\x20korrigierte\x20Schreibweise\x20ist\x20vorhanden.'};return{'status':_0x555a50(0xad),'detail':'Die\x20installierte\x20alexa-remote2-Quelle\x20konnte\x20nicht\x20eindeutig\x20als\x20kompatibel\x20oder\x20als\x20bekannte\x20fehlerhafte\x20Variante\x20erkannt\x20werden.'};}function canWriteAlexa(_0x5dc06e){const _0x345052=_0x1175c4;return _0x5dc06e===_0x345052(0xb1)||_0x5dc06e==='live-ok';}
@@ -1 +1 @@
1
- 'use strict';const _0x3be5fc=_0x582c;(function(_0x37845b,_0x24b36d){const _0x1d8381=_0x582c,_0x4d268d=_0x37845b();while(!![]){try{const _0x5798f5=-parseInt(_0x1d8381(0x102))/0x1+-parseInt(_0x1d8381(0x103))/0x2*(-parseInt(_0x1d8381(0xfc))/0x3)+-parseInt(_0x1d8381(0xee))/0x4*(parseInt(_0x1d8381(0xd5))/0x5)+parseInt(_0x1d8381(0xfa))/0x6+parseInt(_0x1d8381(0xde))/0x7*(-parseInt(_0x1d8381(0xd0))/0x8)+-parseInt(_0x1d8381(0xd1))/0x9*(parseInt(_0x1d8381(0xd3))/0xa)+parseInt(_0x1d8381(0xe5))/0xb;if(_0x5798f5===_0x24b36d)break;else _0x4d268d['push'](_0x4d268d['shift']());}catch(_0x2cff7c){_0x4d268d['push'](_0x4d268d['shift']());}}}(_0x1145,0x2390d));function _0x582c(_0x58c5f5,_0x4dbf89){_0x58c5f5=_0x58c5f5-0xcd;const _0x11457d=_0x1145();let _0x582c09=_0x11457d[_0x58c5f5];return _0x582c09;}Object[_0x3be5fc(0xf1)](exports,_0x3be5fc(0xcd),{'value':!![]}),exports[_0x3be5fc(0xfd)]=exportConfig,exports[_0x3be5fc(0xcf)]=parseConfigImport,exports[_0x3be5fc(0xfe)]=buildMarketProfiles,exports['importMarketProfile']=importMarketProfile,exports['groupRoutesByMarket']=groupRoutesByMarket,exports[_0x3be5fc(0xdc)]=ensureMarketRoutes,exports[_0x3be5fc(0xf6)]=reindexRoutes,exports[_0x3be5fc(0xf4)]=normalizeRoutesForAdmin;const EXPORT_KEYS=[_0x3be5fc(0xe3),'listName','lists','dryRun',_0x3be5fc(0xe2),'learningMode',_0x3be5fc(0x100),'debounceMs',_0x3be5fc(0xf5),_0x3be5fc(0xe7),'maxWritesPerMinute',_0x3be5fc(0xec),_0x3be5fc(0x105),_0x3be5fc(0xd6),'retryBaseMs',_0x3be5fc(0xf2),'priorityMarket','temporaryPriorityMarket',_0x3be5fc(0xd4),_0x3be5fc(0xe1),_0x3be5fc(0xd2),_0x3be5fc(0xf9),_0x3be5fc(0xf8)];function _0x1145(){const _0x15cc5f=['787476ikaLkS','route','3yHCrOJ','exportConfig','buildMarketProfiles','has','autoAliasSuggestions','Ungültiges\x20ShoppingRoute-Marktprofil.','17284BdUyAI','70996hZcvcz','name','batchPauseMs','slice','enabled','__esModule','toLocaleLowerCase','parseConfigImport','1552bprLtB','95859ReFXVI','routes','20kXbiNL','productGroups','111620abpHQh','maxWriteRetries','config','market','map','isArray','parse','ensureMarketRoutes','filter','910QCRToP','toISOString','shoppingroute-market-profile-v1','markets','autoLearnProducts','alexaInstance','base','961257BjFyCb','set','apiSafeMode','trim','format','object','localeCompare','batchSize','index','8cWiIZg','category','order','defineProperty','fallbackMarket','push','normalizeRoutesForAdmin','writePauseMs','reindexRoutes','sort','reviewItems','products'];_0x1145=function(){return _0x15cc5f;};return _0x1145();}function exportConfig(_0x1c42ed,_0x6658a4,_0x334757=new Date()){const _0x5bd113=_0x3be5fc,_0x190dec={};for(const _0x52b9d9 of EXPORT_KEYS){const _0x9d79be=_0x1c42ed[_0x52b9d9];if(_0x9d79be!==undefined)_0x190dec[_0x52b9d9]=structuredClone(_0x9d79be);}return{'format':'shoppingroute-config-v1','exportedAt':_0x334757[_0x5bd113(0xdf)](),'version':_0x6658a4,'config':_0x190dec};}function parseConfigImport(_0x4995bb){const _0x162913=_0x3be5fc,_0x1b4af7=JSON['parse'](String(_0x4995bb||'')),_0x3e31ba=_0x1b4af7['format']==='shoppingroute-config-v1'?_0x1b4af7[_0x162913(0xd7)]:_0x1b4af7;if(!_0x3e31ba||typeof _0x3e31ba!==_0x162913(0xea)||Array[_0x162913(0xda)](_0x3e31ba))throw new Error('Konfigurationsimport\x20enthält\x20kein\x20Objekt.');const _0x1ea599={};for(const _0x2c3bfb of EXPORT_KEYS){_0x3e31ba[_0x2c3bfb]!==undefined&&(_0x1ea599[_0x2c3bfb]=structuredClone(_0x3e31ba[_0x2c3bfb]));}return _0x1ea599;}function buildMarketProfiles(_0x4b9a54,_0x4f625f){const _0x48c424=_0x3be5fc;return _0x4b9a54[_0x48c424(0xdd)](_0x18c9aa=>_0x18c9aa[_0x48c424(0x104)])[_0x48c424(0xf7)]((_0x51ac11,_0x2ab88f)=>(Number(_0x51ac11[_0x48c424(0xf0)])||0x270f)-(Number(_0x2ab88f[_0x48c424(0xf0)])||0x270f))['map'](_0x4be72f=>({'format':'shoppingroute-market-profile-v1','market':{..._0x4be72f},'route':_0x4f625f[_0x48c424(0xdd)](_0x30ee47=>_0x30ee47['market'][_0x48c424(0xce)]('de')===_0x4be72f[_0x48c424(0x104)][_0x48c424(0xce)]('de'))['map']((_0x23a266,_0x217391)=>({..._0x23a266,'order':(_0x217391+0x1)*0xa}))}));}function importMarketProfile(_0x35e035,_0x3fa14c,_0x2b4bc5){const _0x59e0af=_0x3be5fc,_0x1ec01c=JSON[_0x59e0af(0xdb)](String(_0x35e035||''));if(_0x1ec01c[_0x59e0af(0xe9)]!==_0x59e0af(0xe0)||!_0x1ec01c['market']?.['name']||!Array[_0x59e0af(0xda)](_0x1ec01c[_0x59e0af(0xfb)]))throw new Error(_0x59e0af(0x101));const _0x14be5e=_0x1ec01c[_0x59e0af(0xd8)][_0x59e0af(0x104)]['trim'](),_0x5590ca=_0x3fa14c[_0x59e0af(0xdd)](_0x4577eb=>_0x4577eb['name'][_0x59e0af(0xce)]('de')!==_0x14be5e[_0x59e0af(0xce)]('de'));_0x5590ca[_0x59e0af(0xf3)]({..._0x1ec01c[_0x59e0af(0xd8)],'name':_0x14be5e}),_0x5590ca['sort']((_0x191a8b,_0x148adc)=>(Number(_0x191a8b[_0x59e0af(0xf0)])||0x270f)-(Number(_0x148adc['order'])||0x270f));const _0x57b386=_0x2b4bc5['filter'](_0x58d06a=>_0x58d06a[_0x59e0af(0xd8)][_0x59e0af(0xce)]('de')!==_0x14be5e['toLocaleLowerCase']('de'));return _0x1ec01c['route']['forEach']((_0x28b854,_0x4724ed)=>_0x57b386['push']({'market':_0x14be5e,'category':_0x28b854[_0x59e0af(0xef)],'order':(_0x4724ed+0x1)*0xa})),{'markets':_0x5590ca,'routes':_0x57b386,'market':_0x14be5e};}function groupRoutesByMarket(_0x4874fd){const _0x1ad741=_0x3be5fc;return _0x4874fd[_0x1ad741(0xd9)]((_0x3632d4,_0x2238a1)=>({'route':{..._0x3632d4},'index':_0x2238a1}))[_0x1ad741(0xf7)]((_0x2e05ab,_0x27105c)=>{const _0x2f02c3=_0x1ad741,_0x52f449=String(_0x2e05ab[_0x2f02c3(0xfb)]['market']||'')[_0x2f02c3(0xeb)](String(_0x27105c[_0x2f02c3(0xfb)]['market']||''),'de',{'sensitivity':_0x2f02c3(0xe4)});return _0x52f449||_0x2e05ab[_0x2f02c3(0xed)]-_0x27105c[_0x2f02c3(0xed)];})[_0x1ad741(0xd9)](_0x488c0c=>_0x488c0c['route']);}function ensureMarketRoutes(_0x5e8d25,_0x20a3ed,_0x237f66){const _0x111436=_0x3be5fc,_0x3bbcc2=_0x237f66[_0x111436(0xdd)](Boolean)[_0x111436(0xd9)](_0x10fcb5=>({..._0x10fcb5})),_0x5bcda8=new Set(_0x3bbcc2['map'](_0x3a03c4=>String(_0x3a03c4[_0x111436(0xd8)]||'')['trim']()['toLocaleLowerCase']('de')+'\x00'+String(_0x3a03c4['category']||'')['trim']()[_0x111436(0xce)]('de')));let _0x5b7644=0x0;const _0x1bf2ec=_0x5e8d25[_0x111436(0xdd)](_0x1f7142=>_0x1f7142&&_0x1f7142[_0x111436(0x104)]&&_0x1f7142[_0x111436(0x107)]!==![])[_0x111436(0x106)]()['sort']((_0x482ed2,_0x1b6258)=>String(_0x482ed2[_0x111436(0x104)])[_0x111436(0xeb)](String(_0x1b6258[_0x111436(0x104)]),'de',{'sensitivity':'base'})),_0x13c59f=_0x20a3ed['filter'](_0x480278=>_0x480278&&_0x480278[_0x111436(0x104)])['map'](_0x3f02d0=>String(_0x3f02d0[_0x111436(0x104)])[_0x111436(0xe8)]())[_0x111436(0xdd)](Boolean);for(const _0x5312a4 of _0x1bf2ec){const _0x4ffb94=String(_0x5312a4['name'])[_0x111436(0xe8)](),_0x76c1ef=_0x4ffb94['toLocaleLowerCase']('de');for(const _0x550a57 of _0x13c59f){const _0x2f3d95=_0x76c1ef+'\x00'+_0x550a57[_0x111436(0xce)]('de');if(_0x5bcda8[_0x111436(0xff)](_0x2f3d95))continue;_0x3bbcc2[_0x111436(0xf3)]({'market':_0x4ffb94,'category':_0x550a57,'order':0x0}),_0x5bcda8['add'](_0x2f3d95),_0x5b7644+=0x1;}}return{'routes':reindexRoutes(groupRoutesByMarket(_0x3bbcc2)),'added':_0x5b7644};}function reindexRoutes(_0x5e9f69){const _0x2e9297=new Map();return _0x5e9f69['map'](_0x23a4b6=>{const _0x41de63=_0x582c,_0x2ba005=String(_0x23a4b6[_0x41de63(0xd8)]||'')['toLocaleLowerCase']('de'),_0x3e72d2=(_0x2e9297['get'](_0x2ba005)||0x0)+0x1;return _0x2e9297[_0x41de63(0xe6)](_0x2ba005,_0x3e72d2),{..._0x23a4b6,'order':_0x3e72d2*0xa};});}function normalizeRoutesForAdmin(_0x1c8afd){const _0xe72a15=_0x3be5fc;return reindexRoutes(groupRoutesByMarket(_0x1c8afd[_0xe72a15(0xdd)](Boolean)));}
1
+ 'use strict';const _0x163ce7=_0x5797;function _0x5797(_0x3808e7,_0x2ce4c6){_0x3808e7=_0x3808e7-0x10e;const _0x236faf=_0x236f();let _0x579717=_0x236faf[_0x3808e7];return _0x579717;}(function(_0x246fba,_0x376fe4){const _0x80e162=_0x5797,_0xe2e677=_0x246fba();while(!![]){try{const _0x2909d5=parseInt(_0x80e162(0x130))/0x1*(-parseInt(_0x80e162(0x133))/0x2)+parseInt(_0x80e162(0x11d))/0x3+parseInt(_0x80e162(0x137))/0x4*(-parseInt(_0x80e162(0x13a))/0x5)+parseInt(_0x80e162(0x142))/0x6+parseInt(_0x80e162(0x11f))/0x7+parseInt(_0x80e162(0x112))/0x8+parseInt(_0x80e162(0x13b))/0x9;if(_0x2909d5===_0x376fe4)break;else _0xe2e677['push'](_0xe2e677['shift']());}catch(_0x5a8cc2){_0xe2e677['push'](_0xe2e677['shift']());}}}(_0x236f,0xb095f));Object['defineProperty'](exports,_0x163ce7(0x121),{'value':!![]}),exports[_0x163ce7(0x132)]=exportConfig,exports['parseConfigImport']=parseConfigImport,exports[_0x163ce7(0x12b)]=buildMarketProfiles,exports['importMarketProfile']=importMarketProfile,exports[_0x163ce7(0x116)]=groupRoutesByMarket,exports[_0x163ce7(0x135)]=ensureMarketRoutes,exports[_0x163ce7(0x12f)]=reindexRoutes,exports['normalizeRoutesForAdmin']=normalizeRoutesForAdmin;function _0x236f(){const _0x3f291e=['10291563jwgVyj','markets','retryBaseMs','dryRun','shoppingroute-market-profile-v1','priorityMarket','productGroups','5762538CGnpth','routes','has','isArray','toLocaleLowerCase','listName','6451616psEuin','toISOString','route','forEach','groupRoutesByMarket','batchPauseMs','base','lists','trim','get','enabled','375954RDisBy','parse','1006642lMVVho','reviewItems','__esModule','fallbackMarket','market','localeCompare','temporaryPriorityMarket','sort','map','autoLearnProducts','shoppingroute-config-v1','push','buildMarketProfiles','Konfigurationsimport\x20enthält\x20kein\x20Objekt.','learningMode','autoAliasSuggestions','reindexRoutes','1119763Dyzosd','debounceMs','exportConfig','2iGsLIN','object','ensureMarketRoutes','alexaInstance','13568HxtjWu','filter','name','1970NsFkLs'];_0x236f=function(){return _0x3f291e;};return _0x236f();}const EXPORT_KEYS=[_0x163ce7(0x136),_0x163ce7(0x111),_0x163ce7(0x119),_0x163ce7(0x13e),_0x163ce7(0x128),_0x163ce7(0x12d),_0x163ce7(0x12e),_0x163ce7(0x131),'writePauseMs','apiSafeMode','maxWritesPerMinute','batchSize',_0x163ce7(0x117),'maxWriteRetries',_0x163ce7(0x13d),_0x163ce7(0x122),_0x163ce7(0x140),_0x163ce7(0x125),_0x163ce7(0x141),_0x163ce7(0x13c),_0x163ce7(0x143),'products',_0x163ce7(0x120)];function exportConfig(_0x625e97,_0x315fea,_0x4e7f61=new Date()){const _0xdf856f=_0x163ce7,_0x9a1eac={};for(const _0x4a287a of EXPORT_KEYS){const _0x5415af=_0x625e97[_0x4a287a];if(_0x5415af!==undefined)_0x9a1eac[_0x4a287a]=structuredClone(_0x5415af);}return{'format':_0xdf856f(0x129),'exportedAt':_0x4e7f61[_0xdf856f(0x113)](),'version':_0x315fea,'config':_0x9a1eac};}function parseConfigImport(_0xd931d0){const _0x277f44=_0x163ce7,_0x1e8d38=JSON[_0x277f44(0x11e)](String(_0xd931d0||'')),_0x1a472a=_0x1e8d38['format']==='shoppingroute-config-v1'?_0x1e8d38['config']:_0x1e8d38;if(!_0x1a472a||typeof _0x1a472a!==_0x277f44(0x134)||Array[_0x277f44(0x10f)](_0x1a472a))throw new Error(_0x277f44(0x12c));const _0xf1d3ff={};for(const _0x4faa9d of EXPORT_KEYS){_0x1a472a[_0x4faa9d]!==undefined&&(_0xf1d3ff[_0x4faa9d]=structuredClone(_0x1a472a[_0x4faa9d]));}return _0xf1d3ff;}function buildMarketProfiles(_0x58a7f8,_0x42417f){const _0x16ae39=_0x163ce7;return _0x58a7f8[_0x16ae39(0x138)](_0x5c89ac=>_0x5c89ac['name'])['sort']((_0x1885e0,_0x2191f8)=>(Number(_0x1885e0['order'])||0x270f)-(Number(_0x2191f8['order'])||0x270f))[_0x16ae39(0x127)](_0x36a9ca=>({'format':_0x16ae39(0x13f),'market':{..._0x36a9ca},'route':_0x42417f[_0x16ae39(0x138)](_0x280ff4=>_0x280ff4['market']['toLocaleLowerCase']('de')===_0x36a9ca['name'][_0x16ae39(0x110)]('de'))[_0x16ae39(0x127)]((_0x5d4b1a,_0x55b2da)=>({..._0x5d4b1a,'order':(_0x55b2da+0x1)*0xa}))}));}function importMarketProfile(_0x1c66ea,_0x5ad114,_0x42d3b0){const _0x5dfd78=_0x163ce7,_0x2880f8=JSON['parse'](String(_0x1c66ea||''));if(_0x2880f8['format']!==_0x5dfd78(0x13f)||!_0x2880f8[_0x5dfd78(0x123)]?.[_0x5dfd78(0x139)]||!Array[_0x5dfd78(0x10f)](_0x2880f8['route']))throw new Error('Ungültiges\x20ShoppingRoute-Marktprofil.');const _0x140984=_0x2880f8[_0x5dfd78(0x123)]['name']['trim'](),_0x12259f=_0x5ad114[_0x5dfd78(0x138)](_0x1fa53e=>_0x1fa53e[_0x5dfd78(0x139)][_0x5dfd78(0x110)]('de')!==_0x140984[_0x5dfd78(0x110)]('de'));_0x12259f[_0x5dfd78(0x12a)]({..._0x2880f8['market'],'name':_0x140984}),_0x12259f[_0x5dfd78(0x126)]((_0x2649e1,_0x31862c)=>(Number(_0x2649e1['order'])||0x270f)-(Number(_0x31862c['order'])||0x270f));const _0x1fc6ad=_0x42d3b0[_0x5dfd78(0x138)](_0x1f0070=>_0x1f0070['market']['toLocaleLowerCase']('de')!==_0x140984[_0x5dfd78(0x110)]('de'));return _0x2880f8['route'][_0x5dfd78(0x115)]((_0x3c6af2,_0x4e563a)=>_0x1fc6ad['push']({'market':_0x140984,'category':_0x3c6af2['category'],'order':(_0x4e563a+0x1)*0xa})),{'markets':_0x12259f,'routes':_0x1fc6ad,'market':_0x140984};}function groupRoutesByMarket(_0x5bb0a2){const _0x3b9e8b=_0x163ce7;return _0x5bb0a2[_0x3b9e8b(0x127)]((_0x98504c,_0x297430)=>({'route':{..._0x98504c},'index':_0x297430}))[_0x3b9e8b(0x126)]((_0x22556f,_0x41e2ea)=>{const _0x19d4bf=_0x3b9e8b,_0x224bfc=String(_0x22556f['route']['market']||'')['localeCompare'](String(_0x41e2ea[_0x19d4bf(0x114)]['market']||''),'de',{'sensitivity':_0x19d4bf(0x118)});return _0x224bfc||_0x22556f['index']-_0x41e2ea['index'];})[_0x3b9e8b(0x127)](_0x4651b8=>_0x4651b8[_0x3b9e8b(0x114)]);}function ensureMarketRoutes(_0x2e3650,_0x208102,_0x1dd66f){const _0x3ffe1e=_0x163ce7,_0x123ff9=_0x1dd66f[_0x3ffe1e(0x138)](Boolean)[_0x3ffe1e(0x127)](_0x320ce8=>({..._0x320ce8})),_0x356a8b=new Set(_0x123ff9[_0x3ffe1e(0x127)](_0x377b1d=>String(_0x377b1d[_0x3ffe1e(0x123)]||'')[_0x3ffe1e(0x11a)]()['toLocaleLowerCase']('de')+'\x00'+String(_0x377b1d['category']||'')[_0x3ffe1e(0x11a)]()[_0x3ffe1e(0x110)]('de')));let _0x2d95fd=0x0;const _0x59d333=_0x2e3650['filter'](_0x34eb1b=>_0x34eb1b&&_0x34eb1b[_0x3ffe1e(0x139)]&&_0x34eb1b[_0x3ffe1e(0x11c)]!==![])['slice']()[_0x3ffe1e(0x126)]((_0x3d34d5,_0x43d887)=>String(_0x3d34d5[_0x3ffe1e(0x139)])[_0x3ffe1e(0x124)](String(_0x43d887['name']),'de',{'sensitivity':'base'})),_0x43d81a=_0x208102['filter'](_0x46897d=>_0x46897d&&_0x46897d[_0x3ffe1e(0x139)])['map'](_0x26a467=>String(_0x26a467[_0x3ffe1e(0x139)])['trim']())['filter'](Boolean);for(const _0x575e3f of _0x59d333){const _0x44f567=String(_0x575e3f['name'])['trim'](),_0x1fb1b4=_0x44f567['toLocaleLowerCase']('de');for(const _0x53eb7f of _0x43d81a){const _0x490eb9=_0x1fb1b4+'\x00'+_0x53eb7f[_0x3ffe1e(0x110)]('de');if(_0x356a8b[_0x3ffe1e(0x10e)](_0x490eb9))continue;_0x123ff9[_0x3ffe1e(0x12a)]({'market':_0x44f567,'category':_0x53eb7f,'order':0x0}),_0x356a8b['add'](_0x490eb9),_0x2d95fd+=0x1;}}return{'routes':reindexRoutes(groupRoutesByMarket(_0x123ff9)),'added':_0x2d95fd};}function reindexRoutes(_0x8d8057){const _0x37e90a=_0x163ce7,_0x19a789=new Map();return _0x8d8057[_0x37e90a(0x127)](_0x248327=>{const _0x444423=_0x37e90a,_0x165a80=String(_0x248327[_0x444423(0x123)]||'')['toLocaleLowerCase']('de'),_0x5119e0=(_0x19a789[_0x444423(0x11b)](_0x165a80)||0x0)+0x1;return _0x19a789['set'](_0x165a80,_0x5119e0),{..._0x248327,'order':_0x5119e0*0xa};});}function normalizeRoutesForAdmin(_0x170f90){const _0x45e8b3=_0x163ce7;return reindexRoutes(groupRoutesByMarket(_0x170f90[_0x45e8b3(0x138)](Boolean)));}
@@ -0,0 +1 @@
1
+ 'use strict';const _0x1d9192=_0x132d;(function(_0x533528,_0x2af718){const _0x3e27a3=_0x132d,_0x36faa0=_0x533528();while(!![]){try{const _0x1a43b7=-parseInt(_0x3e27a3(0x174))/0x1+-parseInt(_0x3e27a3(0x1a0))/0x2+parseInt(_0x3e27a3(0x19e))/0x3+parseInt(_0x3e27a3(0x186))/0x4*(parseInt(_0x3e27a3(0x17e))/0x5)+-parseInt(_0x3e27a3(0x1a2))/0x6*(-parseInt(_0x3e27a3(0x179))/0x7)+parseInt(_0x3e27a3(0x18b))/0x8+-parseInt(_0x3e27a3(0x198))/0x9;if(_0x1a43b7===_0x2af718)break;else _0x36faa0['push'](_0x36faa0['shift']());}catch(_0x4955cb){_0x36faa0['push'](_0x36faa0['shift']());}}}(_0x2f8d,0x913da));function _0x132d(_0x13ee7c,_0x2ca1db){_0x13ee7c=_0x13ee7c-0x173;const _0x2f8dcd=_0x2f8d();let _0x132dd7=_0x2f8dcd[_0x13ee7c];return _0x132dd7;}Object[_0x1d9192(0x175)](exports,'__esModule',{'value':!![]}),exports[_0x1d9192(0x176)]=formatMarketHeader,exports[_0x1d9192(0x180)]=marketFromHeader,exports['isMarketHeader']=isMarketHeader,exports['realActiveItems']=realActiveItems,exports['optimizeMarketAssignments']=optimizeMarketAssignments,exports[_0x1d9192(0x182)]=requiredMarkets,exports['planMarketHeaderAction']=planMarketHeaderAction;const parser_1=require('./parser'),HEADER_PATTERN=/^----\s+(.+?)\s+----$/;function formatMarketHeader(_0x5cd50b){const _0x50ca6c=_0x1d9192;return'----\x20'+String(_0x5cd50b||'')[_0x50ca6c(0x18c)]()[_0x50ca6c(0x181)](_0x50ca6c(0x18a))+_0x50ca6c(0x178);}function marketFromHeader(_0x8ffb53,_0x4afcaf){const _0x1b6675=_0x1d9192,_0x1dd55e=String(_0x8ffb53||'')[_0x1b6675(0x18c)]()['match'](HEADER_PATTERN);if(!_0x1dd55e?.[0x1])return undefined;const _0x37de7d=(0x0,parser_1[_0x1b6675(0x184)])(_0x1dd55e[0x1]);return _0x4afcaf[_0x1b6675(0x183)](_0x41e522=>_0x41e522['enabled']!==![]&&(0x0,parser_1[_0x1b6675(0x184)])(_0x41e522['name'])===_0x37de7d)?.[_0x1b6675(0x18e)];}function isMarketHeader(_0xb23b9b,_0x3f304f){const _0x1dba57=_0x1d9192;return HEADER_PATTERN['test'](String(_0xb23b9b||'')[_0x1dba57(0x18c)]());}function realActiveItems(_0x4a0e1c,_0x35c3e1){const _0x17afce=_0x1d9192;return _0x4a0e1c[_0x17afce(0x19d)](_0x2d9fbd=>_0x2d9fbd&&_0x2d9fbd[_0x17afce(0x173)]===![]&&Boolean(_0x2d9fbd['id'])&&Boolean(String(_0x2d9fbd[_0x17afce(0x193)]||'')['trim']())&&!isMarketHeader(String(_0x2d9fbd[_0x17afce(0x193)]),_0x35c3e1));}function marketOrderMap(_0xcbb458){const _0x5f12e7=_0x1d9192;return new Map(_0xcbb458[_0x5f12e7(0x18f)](_0x1e7279=>[_0x1e7279[_0x5f12e7(0x18e)],Number['isFinite'](Number(_0x1e7279[_0x5f12e7(0x17d)]))?Number(_0x1e7279[_0x5f12e7(0x17d)]):0x270f]));}function rankedMarkets(_0x35914c,_0x1a6080,_0x552084){return[...new Set(_0x35914c)]['sort']((_0x34970f,_0xf83224)=>{const _0x3a75d7=_0x132d,_0x162598=(_0x1a6080[_0x3a75d7(0x17a)](_0xf83224)||0x0)-(_0x1a6080[_0x3a75d7(0x17a)](_0x34970f)||0x0);if(_0x162598!==0x0)return _0x162598;const _0x5602de=(_0x552084[_0x3a75d7(0x17a)](_0x34970f)||0x270f)-(_0x552084[_0x3a75d7(0x17a)](_0xf83224)||0x270f);if(_0x5602de!==0x0)return _0x5602de;return _0x34970f[_0x3a75d7(0x188)](_0xf83224,'de',{'sensitivity':_0x3a75d7(0x19a)});});}function allowedMarketsForItem(_0x4fcaea,_0x12700c,_0x2326d5){const _0x3c2adc=_0x1d9192;if(_0x4fcaea[_0x3c2adc(0x17c)][_0x3c2adc(0x199)])return[_0x4fcaea['parsed'][_0x3c2adc(0x1a4)]];const _0x1c7f50=(0x0,parser_1[_0x3c2adc(0x194)])(_0x4fcaea[_0x3c2adc(0x17c)][_0x3c2adc(0x177)],_0x2326d5);if(!_0x1c7f50)return[_0x4fcaea['parsed'][_0x3c2adc(0x1a4)]];const _0x2fb2d0=(0x0,parser_1[_0x3c2adc(0x17f)])(_0x1c7f50['availableMarkets'],_0x12700c);if(!_0x2fb2d0['length'])return[_0x4fcaea[_0x3c2adc(0x17c)]['market']];return[...new Set([_0x4fcaea['parsed'][_0x3c2adc(0x1a4)],..._0x2fb2d0])];}function optimizeMarketAssignments(_0x4efb44,_0x8c9cfe,_0xfca381,_0xf42ce,_0x32932e='',_0x22c5b3=0x1){const _0x69833f=_0x1d9192,_0x2928ae=_0x4efb44[_0x69833f(0x18f)](_0x1250ec=>({'source':_0x1250ec,'parsed':(0x0,parser_1[_0x69833f(0x1a3)])(String(_0x1250ec['value']),_0x8c9cfe,_0xfca381,_0xf42ce,_0x32932e)})),_0x44220c=Math[_0x69833f(0x191)](0x1,Math[_0x69833f(0x197)](Number(_0x22c5b3)||0x1));if(_0x44220c<=0x1||_0x2928ae[_0x69833f(0x19f)]<=0x1)return _0x2928ae;const _0xbf332d=marketOrderMap(_0x8c9cfe),_0x213f3=new Map(),_0x18d48f=new Map(),_0x3a0b69=new Map(),_0x296611=new Set();for(const _0x21e802 of _0x2928ae){const _0x4ee34a=_0x21e802['parsed'][_0x69833f(0x1a4)];_0x213f3[_0x69833f(0x19b)](_0x4ee34a,(_0x213f3[_0x69833f(0x17a)](_0x4ee34a)||0x0)+0x1);const _0x591796=_0x3a0b69['get'](_0x4ee34a)||[];_0x591796['push'](_0x21e802),_0x3a0b69[_0x69833f(0x19b)](_0x4ee34a,_0x591796);const _0x476e7e=allowedMarketsForItem(_0x21e802,_0x8c9cfe,_0xfca381);_0x18d48f[_0x69833f(0x19b)](String(_0x21e802['source']['id']),_0x476e7e);if(_0x21e802['parsed'][_0x69833f(0x199)]||_0x476e7e[_0x69833f(0x19f)]<=0x1)_0x296611[_0x69833f(0x19c)](_0x4ee34a);}for(const [_0xc0888b,_0x5eee46]of _0x213f3){if(_0x5eee46>=_0x44220c)_0x296611[_0x69833f(0x19c)](_0xc0888b);}if(!_0x296611[_0x69833f(0x18d)]&&_0x213f3['size']){const _0x3e657b=rankedMarkets(_0x213f3['keys'](),_0x213f3,_0xbf332d)[0x0];if(_0x3e657b)_0x296611[_0x69833f(0x19c)](_0x3e657b);}const _0x4eebb8=new Map();for(const _0x13c3b0 of _0x2928ae)_0x4eebb8['set'](String(_0x13c3b0['source']['id']),_0x13c3b0[_0x69833f(0x17c)]['market']);const _0x4bd31c=[..._0x3a0b69[_0x69833f(0x190)]()][_0x69833f(0x19d)](([_0x8a6833])=>!_0x296611[_0x69833f(0x195)](_0x8a6833))[_0x69833f(0x17b)]((_0x22f8f2,_0x26f01c)=>{const _0x76d464=_0x69833f,_0x5a0bcb=_0x22f8f2[0x1][_0x76d464(0x19f)]-_0x26f01c[0x1][_0x76d464(0x19f)];if(_0x5a0bcb!==0x0)return _0x5a0bcb;return(_0xbf332d['get'](_0x22f8f2[0x0])||0x270f)-(_0xbf332d[_0x76d464(0x17a)](_0x26f01c[0x0])||0x270f);});for(const [_0x959eaf,_0x4f8a8b]of _0x4bd31c){const _0x28fcde=new Map();let _0x3fa9e5=!![];for(const _0x3d7acb of _0x4f8a8b){const _0x821568=(_0x18d48f[_0x69833f(0x17a)](String(_0x3d7acb[_0x69833f(0x192)]['id']))||[_0x959eaf])[_0x69833f(0x19d)](_0x1a3cf6=>_0x296611[_0x69833f(0x195)](_0x1a3cf6)),_0x31a839=rankedMarkets(_0x821568,_0x213f3,_0xbf332d)[0x0];if(!_0x31a839){_0x3fa9e5=![];break;}_0x28fcde[_0x69833f(0x19b)](String(_0x3d7acb[_0x69833f(0x192)]['id']),_0x31a839);}if(!_0x3fa9e5){_0x296611[_0x69833f(0x19c)](_0x959eaf);continue;}for(const _0x160fda of _0x4f8a8b){const _0x42d216=String(_0x160fda['source']['id']),_0x2941fc=_0x28fcde[_0x69833f(0x17a)](_0x42d216);if(!_0x2941fc||_0x2941fc===_0x959eaf)continue;_0x4eebb8['set'](_0x42d216,_0x2941fc),_0x213f3['set'](_0x959eaf,Math[_0x69833f(0x191)](0x0,(_0x213f3[_0x69833f(0x17a)](_0x959eaf)||0x0)-0x1)),_0x213f3[_0x69833f(0x19b)](_0x2941fc,(_0x213f3['get'](_0x2941fc)||0x0)+0x1);}}return _0x2928ae[_0x69833f(0x18f)](_0x2bba9e=>{const _0x460518=_0x69833f,_0x570460=_0x4eebb8[_0x460518(0x17a)](String(_0x2bba9e[_0x460518(0x192)]['id']))||_0x2bba9e[_0x460518(0x17c)][_0x460518(0x1a4)];return _0x570460===_0x2bba9e[_0x460518(0x17c)][_0x460518(0x1a4)]?_0x2bba9e:{'source':_0x2bba9e['source'],'parsed':{..._0x2bba9e['parsed'],'market':_0x570460}};});}function _0x2f8d(){const _0x52bff1=['find','normalize','push','68uBczIp','delete','localeCompare','active','de-DE','1241720ZotyjZ','trim','size','name','map','entries','max','source','value','findProduct','has','create','floor','6269805jcbLVk','explicitMarket','base','set','add','filter','73356BAtbbu','length','902608ikcRGn','item','294KFMVNV','parseItem','market','completed','233626gPvgmF','defineProperty','formatMarketHeader','productText','\x20----','96691yuBDcT','get','sort','parsed','order','329405jxRsFJ','parseMarketList','marketFromHeader','toLocaleUpperCase','requiredMarkets'];_0x2f8d=function(){return _0x52bff1;};return _0x2f8d();}function requiredMarkets(_0x14a05e,_0x17aa4f,_0x26e150,_0x54b555,_0x56b7e3='',_0x29db69=0x1){const _0x4e9116=_0x1d9192,_0x54ab8f=marketOrderMap(_0x17aa4f),_0x1d727a=optimizeMarketAssignments(_0x14a05e,_0x17aa4f,_0x26e150,_0x54b555,_0x56b7e3,_0x29db69),_0x33b097=new Set(_0x1d727a[_0x4e9116(0x18f)](_0x3fcf28=>_0x3fcf28[_0x4e9116(0x17c)][_0x4e9116(0x1a4)])[_0x4e9116(0x19d)](_0x117e8f=>(0x0,parser_1[_0x4e9116(0x184)])(_0x117e8f)!==(0x0,parser_1[_0x4e9116(0x184)])(_0x54b555)));return[..._0x33b097]['sort']((_0x58bbfa,_0x3e6935)=>{const _0x143083=_0x4e9116,_0x1fb449=(_0x54ab8f['get'](_0x58bbfa)||0x270f)-(_0x54ab8f[_0x143083(0x17a)](_0x3e6935)||0x270f);if(_0x1fb449!==0x0)return _0x1fb449;return _0x58bbfa['localeCompare'](_0x3e6935,'de',{'sensitivity':_0x143083(0x19a)});});}function planMarketHeaderAction(_0x2df97a,_0x58c632,_0x2d2837,_0x34e0fd,_0x52c4ae){const _0x26497f=_0x1d9192,_0x45c6c8=new Set(_0x58c632[_0x26497f(0x18f)](parser_1[_0x26497f(0x184)])),_0x56ab74=new Map(),_0xa79604=[];for(const _0x371bad of _0x2df97a){const _0x1c1d99=String(_0x371bad?.['value']||'')['trim'](),_0x327f6b=_0x1c1d99['match'](HEADER_PATTERN);if(!_0x327f6b?.[0x1])continue;const _0x529816=marketFromHeader(_0x1c1d99,_0x2d2837);if(!_0x529816||(0x0,parser_1[_0x26497f(0x184)])(_0x529816)===(0x0,parser_1[_0x26497f(0x184)])(_0x34e0fd)){_0xa79604['push']({'market':_0x327f6b[0x1][_0x26497f(0x18c)](),'item':_0x371bad});continue;}const _0x2c2c25=(0x0,parser_1[_0x26497f(0x184)])(_0x529816),_0x292372=_0x56ab74[_0x26497f(0x17a)](_0x2c2c25)||{'market':_0x529816,'active':[],'completed':[]};if(_0x371bad['completed']===![])_0x292372[_0x26497f(0x189)][_0x26497f(0x185)](_0x371bad);else _0x292372['completed'][_0x26497f(0x185)](_0x371bad);_0x56ab74[_0x26497f(0x19b)](_0x2c2c25,_0x292372);}if(_0xa79604[_0x26497f(0x19f)]){const _0xc25d3a=_0xa79604[0x0];return{'type':_0x26497f(0x187),'market':_0xc25d3a[_0x26497f(0x1a4)],'id':String(_0xc25d3a[_0x26497f(0x1a1)]['id'])};}if(!_0x52c4ae){for(const _0x21582d of _0x2d2837){const _0xac0a90=_0x56ab74[_0x26497f(0x17a)]((0x0,parser_1['normalize'])(_0x21582d[_0x26497f(0x18e)])),_0x541283=_0xac0a90?.[_0x26497f(0x189)][0x0]||_0xac0a90?.['completed'][0x0];if(_0x541283)return{'type':_0x26497f(0x187),'market':_0xac0a90?.[_0x26497f(0x1a4)]||_0x21582d['name'],'id':String(_0x541283['id'])};}return null;}for(const _0x24f8e7 of _0x58c632){const _0x299503=(0x0,parser_1[_0x26497f(0x184)])(_0x24f8e7),_0x46285a=_0x56ab74['get'](_0x299503);if(_0x46285a?.['active']['length']){if(_0x46285a[_0x26497f(0x173)][_0x26497f(0x19f)])return{'type':'delete','market':_0x24f8e7,'id':String(_0x46285a[_0x26497f(0x173)][0x0]['id'])};if(_0x46285a[_0x26497f(0x189)][_0x26497f(0x19f)]>0x1)return{'type':_0x26497f(0x187),'market':_0x24f8e7,'id':String(_0x46285a[_0x26497f(0x189)][0x1]['id'])};continue;}if(_0x46285a?.[_0x26497f(0x173)][_0x26497f(0x19f)])return{'type':_0x26497f(0x187),'market':_0x24f8e7,'id':String(_0x46285a[_0x26497f(0x173)][0x0]['id'])};return{'type':_0x26497f(0x196),'market':_0x24f8e7,'value':formatMarketHeader(_0x24f8e7)};}for(const _0x1e5984 of _0x2d2837){const _0x227444=(0x0,parser_1[_0x26497f(0x184)])(_0x1e5984[_0x26497f(0x18e)]);if((0x0,parser_1['normalize'])(_0x1e5984[_0x26497f(0x18e)])===(0x0,parser_1[_0x26497f(0x184)])(_0x34e0fd)||_0x45c6c8[_0x26497f(0x195)](_0x227444))continue;const _0x12918d=_0x56ab74[_0x26497f(0x17a)](_0x227444),_0x5613ce=_0x12918d?.[_0x26497f(0x189)][0x0]||_0x12918d?.['completed'][0x0];if(_0x5613ce)return{'type':_0x26497f(0x187),'market':_0x1e5984['name'],'id':String(_0x5613ce['id'])};}return null;}
@@ -1 +1 @@
1
- 'use strict';const _0x2d300a=_0x2548;(function(_0x507a8b,_0x323cdb){const _0x8d5d9c=_0x2548,_0x2f8430=_0x507a8b();while(!![]){try{const _0x34ad86=-parseInt(_0x8d5d9c(0x13d))/0x1*(-parseInt(_0x8d5d9c(0x149))/0x2)+parseInt(_0x8d5d9c(0x137))/0x3*(parseInt(_0x8d5d9c(0x14c))/0x4)+-parseInt(_0x8d5d9c(0x14d))/0x5*(-parseInt(_0x8d5d9c(0x138))/0x6)+parseInt(_0x8d5d9c(0x144))/0x7+-parseInt(_0x8d5d9c(0x13f))/0x8*(parseInt(_0x8d5d9c(0x140))/0x9)+parseInt(_0x8d5d9c(0x13e))/0xa+parseInt(_0x8d5d9c(0x14f))/0xb*(-parseInt(_0x8d5d9c(0x14a))/0xc);if(_0x34ad86===_0x323cdb)break;else _0x2f8430['push'](_0x2f8430['shift']());}catch(_0x3ca671){_0x2f8430['push'](_0x2f8430['shift']());}}}(_0x45e6,0x66eba));function _0x2548(_0x270e44,_0x55b4f5){_0x270e44=_0x270e44-0x137;const _0x45e60d=_0x45e6();let _0x25485d=_0x45e60d[_0x270e44];return _0x25485d;}Object[_0x2d300a(0x146)](exports,'__esModule',{'value':!![]}),exports['metricDate']=metricDate,exports['emptyTrafficMetrics']=emptyTrafficMetrics,exports[_0x2d300a(0x13c)]=normalizeTrafficMetrics;function metricDate(_0x238e81=new Date()){const _0x2b1041=_0x2d300a,_0x3f6110=_0x238e81[_0x2b1041(0x142)](),_0x4db46f=String(_0x238e81[_0x2b1041(0x13b)]()+0x1)[_0x2b1041(0x141)](0x2,'0'),_0x5e1368=String(_0x238e81[_0x2b1041(0x148)]())[_0x2b1041(0x141)](0x2,'0');return _0x3f6110+'-'+_0x4db46f+'-'+_0x5e1368;}function emptyTrafficMetrics(_0x4dfd17=new Date()){return{'date':metricDate(_0x4dfd17),'localChecks':0x0,'plannedChanges':0x0,'sortRuns':0x0,'alexaWrites':0x0,'compatibilityWrites':0x0,'abortedRuns':0x0,'lastAlexaWrite':'','lastSortRun':''};}function _0x45e6(){const _0x93b181=['plannedChanges','7219179ebYyhD','714vGKGvR','6LumDuZ','alexaWrites','lastAlexaWrite','getMonth','normalizeTrafficMetrics','1RKbbHv','1797670GMHezN','2152216dtHQgZ','18CYPqdN','padStart','getFullYear','compatibilityWrites','5492984HZrZTd','date','defineProperty','max','getDate','1585608gBTyGc','24QWoiHw','abortedRuns','3412IAyECQ','1559485aMLemj'];_0x45e6=function(){return _0x93b181;};return _0x45e6();}function normalizeTrafficMetrics(_0x522754,_0xcff095=new Date()){const _0x4ed553=_0x2d300a,_0x133cb5=emptyTrafficMetrics(_0xcff095);if(!_0x522754||typeof _0x522754!=='object')return _0x133cb5;const _0x4a2154=_0x522754;if(String(_0x4a2154[_0x4ed553(0x145)]||'')!==_0x133cb5[_0x4ed553(0x145)])return _0x133cb5;return{'date':_0x133cb5['date'],'localChecks':Math['max'](0x0,Number(_0x4a2154['localChecks'])||0x0),'plannedChanges':Math[_0x4ed553(0x147)](0x0,Number(_0x4a2154[_0x4ed553(0x14e)])||0x0),'sortRuns':Math[_0x4ed553(0x147)](0x0,Number(_0x4a2154['sortRuns'])||0x0),'alexaWrites':Math[_0x4ed553(0x147)](0x0,Number(_0x4a2154[_0x4ed553(0x139)])||0x0),'compatibilityWrites':Math[_0x4ed553(0x147)](0x0,Number(_0x4a2154[_0x4ed553(0x143)])||0x0),'abortedRuns':Math[_0x4ed553(0x147)](0x0,Number(_0x4a2154[_0x4ed553(0x14b)])||0x0),'lastAlexaWrite':String(_0x4a2154[_0x4ed553(0x13a)]||''),'lastSortRun':String(_0x4a2154['lastSortRun']||'')};}
1
+ 'use strict';const _0x4e9904=_0x10c6;(function(_0x3d6cc9,_0x6eb484){const _0x231d81=_0x10c6,_0x4eaad5=_0x3d6cc9();while(!![]){try{const _0xc56814=-parseInt(_0x231d81(0x168))/0x1*(parseInt(_0x231d81(0x15b))/0x2)+parseInt(_0x231d81(0x16d))/0x3+parseInt(_0x231d81(0x16b))/0x4*(-parseInt(_0x231d81(0x164))/0x5)+parseInt(_0x231d81(0x16e))/0x6+parseInt(_0x231d81(0x167))/0x7*(-parseInt(_0x231d81(0x166))/0x8)+-parseInt(_0x231d81(0x15c))/0x9+-parseInt(_0x231d81(0x161))/0xa*(-parseInt(_0x231d81(0x16a))/0xb);if(_0xc56814===_0x6eb484)break;else _0x4eaad5['push'](_0x4eaad5['shift']());}catch(_0x5aab71){_0x4eaad5['push'](_0x4eaad5['shift']());}}}(_0x1a95,0x74f6a));Object[_0x4e9904(0x15e)](exports,'__esModule',{'value':!![]}),exports['metricDate']=metricDate,exports['emptyTrafficMetrics']=emptyTrafficMetrics,exports[_0x4e9904(0x162)]=normalizeTrafficMetrics;function metricDate(_0x4117ec=new Date()){const _0x23bdd1=_0x4e9904,_0x3dc4bb=_0x4117ec['getFullYear'](),_0x4ed16d=String(_0x4117ec['getMonth']()+0x1)['padStart'](0x2,'0'),_0x1e61b3=String(_0x4117ec[_0x23bdd1(0x15a)]())['padStart'](0x2,'0');return _0x3dc4bb+'-'+_0x4ed16d+'-'+_0x1e61b3;}function emptyTrafficMetrics(_0x1a837d=new Date()){return{'date':metricDate(_0x1a837d),'localChecks':0x0,'plannedChanges':0x0,'sortRuns':0x0,'alexaWrites':0x0,'compatibilityWrites':0x0,'abortedRuns':0x0,'lastAlexaWrite':'','lastSortRun':''};}function _0x10c6(_0x141369,_0x5cd917){_0x141369=_0x141369-0x158;const _0x1a9599=_0x1a95();let _0x10c6b3=_0x1a9599[_0x141369];return _0x10c6b3;}function _0x1a95(){const _0x1abd97=['date','10859020ZpTLib','normalizeTrafficMetrics','abortedRuns','47665wmfaqL','alexaWrites','856FKdQfl','14378gSVSxy','30641QjfoIe','lastSortRun','22DXTFyE','372XpyJGs','compatibilityWrites','72165YhpCoH','4057398dfitIP','localChecks','lastAlexaWrite','getDate','46PhbXLe','5237280nskvpb','max','defineProperty','plannedChanges'];_0x1a95=function(){return _0x1abd97;};return _0x1a95();}function normalizeTrafficMetrics(_0x22458d,_0x4196db=new Date()){const _0x652f6a=_0x4e9904,_0x2c7062=emptyTrafficMetrics(_0x4196db);if(!_0x22458d||typeof _0x22458d!=='object')return _0x2c7062;const _0x40b298=_0x22458d;if(String(_0x40b298['date']||'')!==_0x2c7062[_0x652f6a(0x160)])return _0x2c7062;return{'date':_0x2c7062['date'],'localChecks':Math['max'](0x0,Number(_0x40b298[_0x652f6a(0x158)])||0x0),'plannedChanges':Math['max'](0x0,Number(_0x40b298[_0x652f6a(0x15f)])||0x0),'sortRuns':Math[_0x652f6a(0x15d)](0x0,Number(_0x40b298['sortRuns'])||0x0),'alexaWrites':Math[_0x652f6a(0x15d)](0x0,Number(_0x40b298[_0x652f6a(0x165)])||0x0),'compatibilityWrites':Math[_0x652f6a(0x15d)](0x0,Number(_0x40b298[_0x652f6a(0x16c)])||0x0),'abortedRuns':Math['max'](0x0,Number(_0x40b298[_0x652f6a(0x163)])||0x0),'lastAlexaWrite':String(_0x40b298[_0x652f6a(0x159)]||''),'lastSortRun':String(_0x40b298[_0x652f6a(0x169)]||'')};}
@@ -1 +1 @@
1
- 'use strict';var _0x19e8ed=_0x41cf;(function(_0x48f303,_0x249a1b){var _0x109407=_0x41cf,_0x5c3452=_0x48f303();while(!![]){try{var _0x1f0fc5=-parseInt(_0x109407(0x149))/0x1+-parseInt(_0x109407(0x150))/0x2*(-parseInt(_0x109407(0x14d))/0x3)+-parseInt(_0x109407(0x152))/0x4+parseInt(_0x109407(0x154))/0x5*(parseInt(_0x109407(0x14b))/0x6)+-parseInt(_0x109407(0x151))/0x7*(parseInt(_0x109407(0x14c))/0x8)+parseInt(_0x109407(0x14f))/0x9*(parseInt(_0x109407(0x14a))/0xa)+parseInt(_0x109407(0x153))/0xb;if(_0x1f0fc5===_0x249a1b)break;else _0x5c3452['push'](_0x5c3452['shift']());}catch(_0x4f86e9){_0x5c3452['push'](_0x5c3452['shift']());}}}(_0x5b10,0x356a6));function _0x5b10(){var _0x4147eb=['50230dQbZxz','10612FrhACm','1285484QwkmCq','3638250fNOhBs','50zuWKdx','defineProperty','266731mRojpS','89330ODsdNY','64542APDATJ','992ZztkrQ','27kFMfxc','__esModule','333bnUMHb'];_0x5b10=function(){return _0x4147eb;};return _0x5b10();}function _0x41cf(_0x2a56f,_0x22c08d){_0x2a56f=_0x2a56f-0x148;var _0x5b10c8=_0x5b10();var _0x41cf7b=_0x5b10c8[_0x2a56f];return _0x41cf7b;}Object[_0x19e8ed(0x148)](exports,_0x19e8ed(0x14e),{'value':!![]});
1
+ 'use strict';function _0x27c7(_0x3864f3,_0x29f9bc){_0x3864f3=_0x3864f3-0xa6;var _0x517988=_0x5179();var _0x27c7bf=_0x517988[_0x3864f3];return _0x27c7bf;}function _0x5179(){var _0x33cd13=['3913605gqmJwS','__esModule','2408624eWCIyL','25564DXRdpA','8AynnYa','226444oFhOEh','792615uYPgNe','250491wKtQzy','defineProperty','5163600XaVlKc','2RQrKvA','462vPcpRV'];_0x5179=function(){return _0x33cd13;};return _0x5179();}var _0x49a0b3=_0x27c7;(function(_0x305976,_0x1a224f){var _0x28f4f9=_0x27c7,_0x15f136=_0x305976();while(!![]){try{var _0xbcbb7a=-parseInt(_0x28f4f9(0xae))/0x1*(parseInt(_0x28f4f9(0xa9))/0x2)+-parseInt(_0x28f4f9(0xab))/0x3*(parseInt(_0x28f4f9(0xa8))/0x4)+parseInt(_0x28f4f9(0xaa))/0x5+parseInt(_0x28f4f9(0xaf))/0x6*(parseInt(_0x28f4f9(0xa7))/0x7)+parseInt(_0x28f4f9(0xa6))/0x8+parseInt(_0x28f4f9(0xb0))/0x9+-parseInt(_0x28f4f9(0xad))/0xa;if(_0xbcbb7a===_0x1a224f)break;else _0x15f136['push'](_0x15f136['shift']());}catch(_0x595c24){_0x15f136['push'](_0x15f136['shift']());}}}(_0x5179,0x40e7c));Object[_0x49a0b3(0xac)](exports,_0x49a0b3(0xb1),{'value':!![]});
@@ -1 +1 @@
1
- 'use strict';const _0x303d1a=_0x2296;(function(_0x4026d4,_0x1ba09c){const _0x1be464=_0x2296,_0x409ca2=_0x4026d4();while(!![]){try{const _0x248177=parseInt(_0x1be464(0x175))/0x1*(parseInt(_0x1be464(0xcd))/0x2)+parseInt(_0x1be464(0x152))/0x3+-parseInt(_0x1be464(0x150))/0x4*(-parseInt(_0x1be464(0x198))/0x5)+parseInt(_0x1be464(0xf8))/0x6*(parseInt(_0x1be464(0xe4))/0x7)+-parseInt(_0x1be464(0x132))/0x8*(parseInt(_0x1be464(0xcc))/0x9)+parseInt(_0x1be464(0xea))/0xa*(-parseInt(_0x1be464(0xef))/0xb)+-parseInt(_0x1be464(0x195))/0xc;if(_0x248177===_0x1ba09c)break;else _0x409ca2['push'](_0x409ca2['shift']());}catch(_0x532670){_0x409ca2['push'](_0x409ca2['shift']());}}}(_0x1ec2,0x86e0e));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports[_0x303d1a(0x114)]=normalize,exports['normalizeLoose']=normalizeLoose,exports['splitAliases']=splitAliases,exports[_0x303d1a(0x15a)]=marketAliases,exports[_0x303d1a(0x180)]=resolveMarket,exports[_0x303d1a(0x14a)]=stripQuantityDetailed,exports['stripQuantity']=stripQuantity,exports['canonicalProductKey']=canonicalProductKey,exports['findProduct']=findProduct,exports[_0x303d1a(0x1a1)]=guessCategory,exports[_0x303d1a(0x133)]=guessCategorySmart,exports[_0x303d1a(0x124)]=parseMarketList,exports[_0x303d1a(0x148)]=parseItem,exports[_0x303d1a(0xf7)]=suggestAliases;const CATEGORY_RULES=[{'category':'TK-Produkte','terms':['tiefkühl',_0x303d1a(0x11d),_0x303d1a(0x126),'gefrohren',_0x303d1a(0x15b),_0x303d1a(0x147),'pommes',_0x303d1a(0x191)]},{'category':_0x303d1a(0x19f),'terms':[_0x303d1a(0x157),_0x303d1a(0x107),_0x303d1a(0x184),'cornedbeef',_0x303d1a(0x18e),'gewürzgurke',_0x303d1a(0x112),_0x303d1a(0x177),'mais','aioli']},{'category':_0x303d1a(0x1a3),'terms':['h-milch',_0x303d1a(0xd8),_0x303d1a(0x16e),_0x303d1a(0x183),_0x303d1a(0x1a8),_0x303d1a(0x17e),'haferflock','speisestärke',_0x303d1a(0xdb),'öl',_0x303d1a(0xf1)]},{'category':_0x303d1a(0xf3),'terms':[_0x303d1a(0x134),'küchenrolle',_0x303d1a(0xdf),_0x303d1a(0xd0),_0x303d1a(0x1a4),_0x303d1a(0x188),_0x303d1a(0x18d),_0x303d1a(0x1ab),_0x303d1a(0x192),_0x303d1a(0x131),'schwamm','putztuch']},{'category':_0x303d1a(0x127),'terms':[_0x303d1a(0xdd),_0x303d1a(0x1a7),'zahnpasta','zahnbürste','zahnbuerste',_0x303d1a(0x117),'seife','creme',_0x303d1a(0x153),_0x303d1a(0x15f)]},{'category':_0x303d1a(0x13f),'terms':['pinsel',_0x303d1a(0x142),_0x303d1a(0x151),_0x303d1a(0x12f),'katzenfutter','katzenstreu',_0x303d1a(0xf6),'lampe']},{'category':_0x303d1a(0x160),'terms':[_0x303d1a(0x12d),_0x303d1a(0x155),'pepsi',_0x303d1a(0xe0),_0x303d1a(0x143),'sprite','fanta',_0x303d1a(0x12a),'getränk',_0x303d1a(0x113)]},{'category':'Tee/Kaffee','terms':['tee',_0x303d1a(0x1aa),_0x303d1a(0xfe),_0x303d1a(0x1a2)]},{'category':_0x303d1a(0x13d),'terms':[_0x303d1a(0xcf),_0x303d1a(0x15e),_0x303d1a(0xfc),_0x303d1a(0xe5),_0x303d1a(0x193),_0x303d1a(0xd3),'torte','croissant',_0x303d1a(0x10d)]},{'category':_0x303d1a(0x12b),'terms':['schokolade',_0x303d1a(0xe2),_0x303d1a(0x100),_0x303d1a(0x156),_0x303d1a(0xf4),'bonbon',_0x303d1a(0x11b),_0x303d1a(0x122),_0x303d1a(0x123),_0x303d1a(0xda),_0x303d1a(0x14c),_0x303d1a(0x130)]},{'category':_0x303d1a(0x199),'terms':[_0x303d1a(0x19c),_0x303d1a(0xfa),'salami',_0x303d1a(0x182),_0x303d1a(0xee),'wuerst',_0x303d1a(0x108),'speck','frikadelle',_0x303d1a(0xe8),_0x303d1a(0xed),'kartoffelsalat',_0x303d1a(0x129),'gefluegelsalat',_0x303d1a(0xde),_0x303d1a(0x10c),'pizzateig','döner',_0x303d1a(0x141)]},{'category':_0x303d1a(0x111),'terms':['milch',_0x303d1a(0x172),_0x303d1a(0x13e),'käse',_0x303d1a(0x169),'camembert','camenbert','feta',_0x303d1a(0x1ac),_0x303d1a(0x161),'gouda',_0x303d1a(0x11e),_0x303d1a(0x10a),_0x303d1a(0x109),'ei',_0x303d1a(0x12c)]},{'category':_0x303d1a(0x1a0),'terms':[_0x303d1a(0x17a),_0x303d1a(0x1ae),_0x303d1a(0x103),_0x303d1a(0x197),'roulade','hähnchen','haehnchen',_0x303d1a(0xd4),'lachs',_0x303d1a(0x138),'sushi']},{'category':'Obst/Gemüse','terms':[_0x303d1a(0x187),_0x303d1a(0xff),_0x303d1a(0x181),'banane',_0x303d1a(0x13c),'melone',_0x303d1a(0x139),_0x303d1a(0x10e),_0x303d1a(0x13a),'karotte',_0x303d1a(0x19e),_0x303d1a(0x1a9),_0x303d1a(0x1ad),_0x303d1a(0x13b),_0x303d1a(0x164),'zucchini',_0x303d1a(0x14f),_0x303d1a(0x121),'kartoffel',_0x303d1a(0x19b),'knoblauch',_0x303d1a(0x171),_0x303d1a(0x162),'obst',_0x303d1a(0x154),'gemuese','dill',_0x303d1a(0x12e)]}],QUANTITY_UNITS=[_0x303d1a(0x10b),_0x303d1a(0x136),'packung',_0x303d1a(0x194),_0x303d1a(0xe6),_0x303d1a(0xf9),_0x303d1a(0x119),_0x303d1a(0x149),'dose',_0x303d1a(0x107),'becher','glas','gläser',_0x303d1a(0x18c),'kg',_0x303d1a(0x145),'kilogramm','g',_0x303d1a(0x146),'l',_0x303d1a(0x17f),'ml','milliliter','bund',_0x303d1a(0x168),_0x303d1a(0xfb),_0x303d1a(0x18a),_0x303d1a(0x17d),_0x303d1a(0x16f),'kiste',_0x303d1a(0x165),_0x303d1a(0x174),'kartons',_0x303d1a(0xe7),'tuete','tüten',_0x303d1a(0xd6),_0x303d1a(0x163),'säcke',_0x303d1a(0xf2)],NUMBER_WORDS=[_0x303d1a(0xce),'eine','einen','einem','einer',_0x303d1a(0x19d),_0x303d1a(0xd7),_0x303d1a(0x185),_0x303d1a(0x19a),'fünf',_0x303d1a(0x14e),_0x303d1a(0x11c),_0x303d1a(0x16c),_0x303d1a(0xe1),_0x303d1a(0x140),_0x303d1a(0x14b),_0x303d1a(0x166),_0x303d1a(0x118),'zwoelf','dreizehn',_0x303d1a(0x144),_0x303d1a(0x102),'fuenfzehn',_0x303d1a(0x15d),'siebzehn','achtzehn',_0x303d1a(0xe3),_0x303d1a(0x115)];function normalize(_0x3e07e7){const _0x11ab0b=_0x303d1a;return String(_0x3e07e7||'')[_0x11ab0b(0x101)]()[_0x11ab0b(0x11a)](/\s+/g,'\x20')[_0x11ab0b(0x116)](_0x11ab0b(0xdc));}function normalizeLoose(_0x27d48a){const _0x3da2c8=_0x303d1a;return normalize(_0x27d48a)[_0x3da2c8(0x114)](_0x3da2c8(0xf0))['replace'](/[\u0300-\u036f]/g,'')[_0x3da2c8(0x11a)](/ß/g,'ss')['replace'](/[^a-z0-9]+/g,'\x20')[_0x3da2c8(0x101)]();}function splitAliases(_0x5f3bc9){const _0x3daa29=_0x303d1a;return String(_0x5f3bc9||'')['split'](/[;,]/)[_0x3daa29(0xfd)](_0x3376e9=>normalize(_0x3376e9))[_0x3daa29(0x16a)](Boolean);}function _0x1ec2(){const _0x422088=['tomate','mango','Brot/Gebäck','quark','Nonfood','neun','doener','verbandtasche','limonade','vierzehn','kilo','gramm','fischstaeb','parseItem','flaschen','stripQuantityDetailed','zehn','sonnenblumenkern','sort','fuenf','salat','692716CVouoH','fussmatte','3100005KevsCA','rasierer','gemüse','cola','chips','dose',')\x5cs+(?:','aldi','marketAliases','fischstäb','entries','sechzehn','brötchen','kosmetik','Getränke','parmesan','orange','sack','paprika','kisten','elf','endsWith','netz','kaese','filter','slice','sieben',')\x5cs*)?','nudel','rollen','penny','zitrone','joghurt','aliases','karton','42RgALrc','Sonstiges','pesto','aldi\x20sued','aldi\x20nord','fleisch','order','alias','rolle','reis','liter','resolveMarket','aepfel','leberwurst','spaghetti','konserve','drei','terms','apfel','muellbeutel','aldi\x20süd','schachteln','rewe','glaeser','spülmittel','corned\x20beef','explicit','split','eis','waschmittel','toast','packungen','7640328yCBsMp','rewe\x20center','gulasch','5ccuQsF','Wurst/Salate/Teigwaren','vier','zwiebel','aufschnitt','eins','möhre','Konserven','Fleisch/Fisch','guessCategory','cappuccino','H-Milch/Nudeln','müllbeutel','ambiguousMarketSuffix','penny\x20markt','shampoo','penne','moehre','kaffee','spuelmittel','ricotta','gurke','hack','1089FzVXSz','26380ilgqdy','ein','brot','taschentuch','availableMarkets','productText','kuchen','kassler','market','tueten','zwei','h.\x20milch','length','nuesse','speisestaerke','de-DE','duschgel','blätterteig','kuechenrolle','wasser','acht','gummi','neunzehn','14GQTpuN','baguette','paket','tüte','fleischsalat','includes','10foTwDu','\x20bei\x20','get','eiersalat','würst','8598062sQwHcn','NFD','oel','saecke','Haushalt/Hygiene','keks','rewe\x20markt','batterie','suggestAliases','1096278IYdlom','pakete','schinken','schachtel','broetchen','map','espresso','äpfel','haribo','trim','fünfzehn','steak','name','some','^(?:ein\x5cs+)?(?:halbes|halbe|halb)\x5cs+(?:','dosen','bacon','brunch','butter','stück','blaetterteig','apfeltasche','beere','flatMap','^(?:','Milchprodukte','gewuerzgurke','getraenk','normalize','zwanzig','toLocaleLowerCase','deo','zwölf','flasche','replace','mandel','sechs','tiefkuehl','sahne','enabled','lidl','rosenkohl','nuss','nüsse','parseMarketList','prefix','gefroren','Kosmetikartikel','push','geflügelsalat','bier','Schokolade/Naschen','eier','saft','petersilie','fußmatte','kokosraspel','reiniger','10256EZYMjO','guessCategorySmart','toilettenpapier','category','stueck',')\x5cs+','fisch','nektarine','avocado'];_0x1ec2=function(){return _0x422088;};return _0x1ec2();}function unique(_0x2bc39c){return[...new Set(_0x2bc39c['filter'](Boolean))];}function defaultAliasesForMarket(_0x2eb291){const _0x1e7332=_0x303d1a,_0xe788d8=normalizeLoose(_0x2eb291);if(_0xe788d8===_0x1e7332(0x159))return['aldi',_0x1e7332(0x179),_0x1e7332(0x189),_0x1e7332(0x178)];if(_0xe788d8===_0x1e7332(0x120))return[_0x1e7332(0x120)];if(_0xe788d8==='rewe')return[_0x1e7332(0x18b),_0x1e7332(0xf5),_0x1e7332(0x196)];if(_0xe788d8===_0x1e7332(0x170))return['penny',_0x1e7332(0x1a6)];return[];}function marketAliases(_0xe5e704){const _0x28f02d=_0x303d1a,_0x4d4722=[];for(const _0x301e40 of _0xe5e704){if(_0x301e40[_0x28f02d(0x11f)]===![]||!_0x301e40[_0x28f02d(0x104)])continue;const _0x56a953=unique([normalize(_0x301e40[_0x28f02d(0x104)]),...splitAliases(_0x301e40['aliases']),...defaultAliasesForMarket(_0x301e40['name'])[_0x28f02d(0xfd)](normalize)]);for(const _0x549dfc of _0x56a953)_0x4d4722[_0x28f02d(0x128)]({'market':_0x301e40[_0x28f02d(0x104)],'alias':_0x549dfc});}return _0x4d4722[_0x28f02d(0x14d)]((_0x518675,_0x24f310)=>_0x24f310[_0x28f02d(0x17c)][_0x28f02d(0xd9)]-_0x518675[_0x28f02d(0x17c)][_0x28f02d(0xd9)]);}function resolveMarket(_0x1a3206,_0x5287cb){const _0x10e655=_0x303d1a,_0x498a9d=normalize(_0x1a3206||'');if(!_0x498a9d)return undefined;for(const _0x4370e3 of marketAliases(_0x5287cb)){if(_0x4370e3[_0x10e655(0x17c)]===_0x498a9d)return _0x4370e3[_0x10e655(0xd5)];}return undefined;}function _0x2296(_0x17e381,_0xb2e730){_0x17e381=_0x17e381-0xcc;const _0x1ec238=_0x1ec2();let _0x2296e0=_0x1ec238[_0x17e381];return _0x2296e0;}function extractMarket(_0xa978d4,_0x5da300){const _0x467add=_0x303d1a,_0x11f7bc=normalize(_0xa978d4);for(const _0x744cf6 of marketAliases(_0x5da300)){const _0x1c89e0=['\x20von\x20'+_0x744cf6[_0x467add(0x17c)],_0x467add(0xeb)+_0x744cf6[_0x467add(0x17c)]];for(const _0x370e94 of _0x1c89e0){if(_0x11f7bc[_0x467add(0x167)](_0x370e94))return{'productText':_0xa978d4['slice'](0x0,_0xa978d4['length']-_0x370e94[_0x467add(0xd9)])[_0x467add(0x101)](),'market':_0x744cf6[_0x467add(0xd5)],'explicit':!![]};}}const _0x180aff=_0xa978d4['match'](/\s+(?:von|bei)\s+(.+?)\s*$/i);return{'productText':_0xa978d4['trim'](),'explicit':![],'ambiguousMarketSuffix':_0x180aff?.[0x1]?.['trim']()};}function stripQuantityDetailed(_0x1f0204){const _0x58b04b=_0x303d1a,_0x31449b=String(_0x1f0204||'')['trim']();if(!_0x31449b)return{'productText':'','prefix':''};if(/^\d+\s*\/\s*\d+\s+/['test'](_0x31449b))return{'productText':_0x31449b,'prefix':''};const _0xa41cfa=QUANTITY_UNITS['join']('|'),_0x32e08a=NUMBER_WORDS['join']('|'),_0x43a523=[new RegExp(_0x58b04b(0x106)+_0xa41cfa+_0x58b04b(0x137),'i'),new RegExp('^(?:'+_0x32e08a+_0x58b04b(0x158)+_0xa41cfa+_0x58b04b(0x137),'i'),new RegExp(_0x58b04b(0x110)+_0x32e08a+')\x5cs+','i'),new RegExp('^\x5cd+(?:[.,]\x5cd+)?\x5cs*[xX]\x5cs*(?:\x5cd+(?:[.,]\x5cd+)?\x5cs*(?:'+_0xa41cfa+_0x58b04b(0x16d),'i'),new RegExp('^\x5cd+(?:[.,]\x5cd+)?\x5cs*(?:'+_0xa41cfa+_0x58b04b(0x137),'i'),/^\d+(?:[.,]\d+)?\s+/i];for(const _0x1a0901 of _0x43a523){const _0x4a247a=_0x31449b['match'](_0x1a0901);if(_0x4a247a&&_0x4a247a[0x0]&&_0x4a247a[0x0][_0x58b04b(0xd9)]<_0x31449b[_0x58b04b(0xd9)])return{'productText':_0x31449b[_0x58b04b(0x16b)](_0x4a247a[0x0]['length'])['trim'](),'prefix':_0x4a247a[0x0]['trim']()};}return{'productText':_0x31449b,'prefix':''};}function stripQuantity(_0x5f4f42){const _0x473fef=_0x303d1a;return stripQuantityDetailed(_0x5f4f42)[_0x473fef(0xd2)];}function stemKey(_0x465d91){const _0x4681d5=_0x303d1a;let _0xb3a84d=normalizeLoose(_0x465d91)[_0x4681d5(0x11a)](/\s+/g,'');if(_0xb3a84d['length']>0x6&&_0xb3a84d[_0x4681d5(0x167)]('en'))_0xb3a84d=_0xb3a84d['slice'](0x0,-0x1);else{if(_0xb3a84d['length']>0x6&&_0xb3a84d['endsWith']('n'))_0xb3a84d=_0xb3a84d['slice'](0x0,-0x1);}return _0xb3a84d;}function canonicalProductKey(_0x25f008){return stemKey(stripQuantity(_0x25f008));}function productCandidates(_0x4a67c1){const _0x32d7c4=stripQuantityDetailed(_0x4a67c1);return unique([normalize(_0x4a67c1),normalize(_0x32d7c4['productText']),canonicalProductKey(_0x4a67c1),canonicalProductKey(_0x32d7c4['productText'])]);}function findProduct(_0x215b07,_0x28bc78){const _0xe982f1=_0x303d1a,_0x102ac8=productCandidates(_0x215b07);for(const _0x7a306a of _0x28bc78){const _0xe91f92=[_0x7a306a[_0xe982f1(0x104)],...splitAliases(_0x7a306a['aliases'])][_0xe982f1(0x10f)](_0x195316=>[normalize(_0x195316),canonicalProductKey(_0x195316)])[_0xe982f1(0x16a)](Boolean);if(_0x102ac8['some'](_0xeb64ee=>_0xe91f92[_0xe982f1(0xe9)](_0xeb64ee)))return _0x7a306a;}return undefined;}function guessCategory(_0x3c89be){const _0x2c359a=_0x303d1a,_0x4985f9=normalize(stripQuantity(_0x3c89be));for(const _0x3305c4 of CATEGORY_RULES){if(_0x3305c4[_0x2c359a(0x186)][_0x2c359a(0x105)](_0x5ea404=>_0x4985f9['includes'](_0x5ea404)))return _0x3305c4[_0x2c359a(0x135)];}return'Sonstiges';}function significantTokens(_0x27b8e5){const _0xd5365=_0x303d1a;return normalizeLoose(_0x27b8e5)[_0xd5365(0x190)]('\x20')[_0xd5365(0x16a)](_0x393c10=>_0x393c10[_0xd5365(0xd9)]>=0x4)[_0xd5365(0xfd)](_0x3d343a=>_0x3d343a[_0xd5365(0x167)]('en')&&_0x3d343a[_0xd5365(0xd9)]>0x6?_0x3d343a[_0xd5365(0x16b)](0x0,-0x1):_0x3d343a);}function guessCategorySmart(_0x4f711d,_0x42ca40){const _0x4632dc=_0x303d1a,_0x5470d8=guessCategory(_0x4f711d);if(_0x5470d8!==_0x4632dc(0x176))return _0x5470d8;const _0x4b0384=significantTokens(stripQuantity(_0x4f711d));if(!_0x4b0384['length'])return _0x5470d8;const _0x20db01=new Map();for(const _0x2429ac of _0x42ca40){const _0xe51e1a=significantTokens([_0x2429ac[_0x4632dc(0x104)],_0x2429ac['aliases']||'']['join']('\x20')),_0x41865f=_0x4b0384[_0x4632dc(0x16a)](_0x23d7eb=>_0xe51e1a[_0x4632dc(0xe9)](_0x23d7eb))[_0x4632dc(0xd9)];if(_0x41865f>0x0)_0x20db01['set'](_0x2429ac[_0x4632dc(0x135)],(_0x20db01[_0x4632dc(0xec)](_0x2429ac[_0x4632dc(0x135)])||0x0)+_0x41865f);}const _0x3419f7=[..._0x20db01[_0x4632dc(0x15c)]()][_0x4632dc(0x14d)]((_0x1468e0,_0x413238)=>_0x413238[0x1]-_0x1468e0[0x1]);return _0x3419f7[0x0]?.[0x0]||_0x5470d8;}function parseMarketList(_0x463c8f,_0x581816){const _0x39b3d6=_0x303d1a,_0x35d50a=String(_0x463c8f||'')['split'](/[;,]/)['map'](_0x275168=>resolveMarket(_0x275168[_0x39b3d6(0x101)](),_0x581816))[_0x39b3d6(0x16a)](_0x5058f4=>Boolean(_0x5058f4));return unique(_0x35d50a);}function resolveProductMarket(_0x592ee1,_0x451e89,_0x7f4fef,_0x2b4936){const _0x9a3e0e=_0x303d1a,_0x4e3fed=resolveMarket(_0x592ee1?.['defaultMarket'],_0x451e89);if(_0x4e3fed)return _0x4e3fed;const _0xad9009=parseMarketList(_0x592ee1?.[_0x9a3e0e(0xd1)],_0x451e89),_0x450bb4=resolveMarket(_0x2b4936,_0x451e89);if(_0x450bb4&&(!_0xad9009['length']||_0xad9009['includes'](_0x450bb4)))return _0x450bb4;if(_0xad9009[_0x9a3e0e(0xd9)]){const _0xfc88c0=new Map(_0x451e89[_0x9a3e0e(0xfd)](_0x1a5d7d=>[_0x1a5d7d[_0x9a3e0e(0x104)],Number(_0x1a5d7d[_0x9a3e0e(0x17b)])||0x270f]));return[..._0xad9009]['sort']((_0x45d002,_0x44e1ea)=>(_0xfc88c0[_0x9a3e0e(0xec)](_0x45d002)||0x270f)-(_0xfc88c0[_0x9a3e0e(0xec)](_0x44e1ea)||0x270f))[0x0];}return resolveMarket(_0x7f4fef,_0x451e89)||_0x7f4fef;}function parseItem(_0x2c682b,_0x100b38,_0xcebb51,_0x4c4de8,_0x34fd5f=''){const _0x50cb99=_0x303d1a,_0x1d6159=extractMarket(_0x2c682b,_0x100b38),_0x2c303c=stripQuantityDetailed(_0x1d6159[_0x50cb99(0xd2)]),_0x50cfe5=findProduct(_0x1d6159[_0x50cb99(0xd2)],_0xcebb51),_0x22f23d=_0x2c303c[_0x50cb99(0xd2)],_0xb0b647=!_0x1d6159[_0x50cb99(0xd5)]&&!_0x50cfe5&&Boolean(_0x1d6159['ambiguousMarketSuffix']);return{'originalText':_0x2c682b,'productText':_0x22f23d,'productName':_0x50cfe5?.[_0x50cb99(0x104)]||_0x22f23d||_0x1d6159[_0x50cb99(0xd2)],'market':_0x1d6159[_0x50cb99(0xd5)]||(!_0xb0b647?resolveProductMarket(_0x50cfe5,_0x100b38,_0x4c4de8,_0x34fd5f):resolveMarket(_0x4c4de8,_0x100b38)||_0x4c4de8),'category':_0x50cfe5?.[_0x50cb99(0x135)]||guessCategorySmart(_0x1d6159['productText'],_0xcebb51),'knownProduct':Boolean(_0x50cfe5),'explicitMarket':_0x1d6159[_0x50cb99(0x18f)],'quantityPrefix':_0x2c303c[_0x50cb99(0x125)],'ambiguousMarketSuffix':_0xb0b647?_0x1d6159[_0x50cb99(0x1a5)]:undefined};}function suggestAliases(_0x4318d4,_0x106750){const _0x5c7e95=_0x303d1a,_0x2fc88c=stripQuantity(_0x4318d4)['trim']();if(!_0x2fc88c)return[];const _0x36ffac=[_0x106750[_0x5c7e95(0x104)],...splitAliases(_0x106750[_0x5c7e95(0x173)])][_0x5c7e95(0xfd)](normalize);if(_0x36ffac['includes'](normalize(_0x2fc88c)))return[];if(canonicalProductKey(_0x2fc88c)===canonicalProductKey(_0x106750[_0x5c7e95(0x104)]))return[_0x2fc88c];return[];}
1
+ 'use strict';const _0x3ba275=_0x3dd8;function _0x3dd8(_0x39571e,_0x26700b){_0x39571e=_0x39571e-0xe0;const _0x17478c=_0x1747();let _0x3dd81a=_0x17478c[_0x39571e];return _0x3dd81a;}(function(_0x4370fb,_0x4d0680){const _0x1ef489=_0x3dd8,_0x9bff2e=_0x4370fb();while(!![]){try{const _0x5a44d3=parseInt(_0x1ef489(0x136))/0x1*(parseInt(_0x1ef489(0x155))/0x2)+-parseInt(_0x1ef489(0x197))/0x3+-parseInt(_0x1ef489(0x16a))/0x4*(parseInt(_0x1ef489(0x18c))/0x5)+-parseInt(_0x1ef489(0x137))/0x6*(parseInt(_0x1ef489(0xfa))/0x7)+parseInt(_0x1ef489(0x17c))/0x8*(-parseInt(_0x1ef489(0x168))/0x9)+parseInt(_0x1ef489(0x17a))/0xa*(-parseInt(_0x1ef489(0x11e))/0xb)+parseInt(_0x1ef489(0x1b3))/0xc*(parseInt(_0x1ef489(0x133))/0xd);if(_0x5a44d3===_0x4d0680)break;else _0x9bff2e['push'](_0x9bff2e['shift']());}catch(_0xaeff8d){_0x9bff2e['push'](_0x9bff2e['shift']());}}}(_0x1747,0xdaf94));Object['defineProperty'](exports,_0x3ba275(0x1b1),{'value':!![]}),exports[_0x3ba275(0x1a8)]=normalize,exports[_0x3ba275(0x182)]=normalizeLoose,exports['splitAliases']=splitAliases,exports[_0x3ba275(0x130)]=marketAliases,exports[_0x3ba275(0x126)]=resolveMarket,exports['stripQuantityDetailed']=stripQuantityDetailed,exports[_0x3ba275(0x13c)]=stripQuantity,exports[_0x3ba275(0xfd)]=canonicalProductKey,exports[_0x3ba275(0x143)]=findProduct,exports[_0x3ba275(0x11a)]=guessCategory,exports[_0x3ba275(0x1c6)]=guessCategorySmart,exports[_0x3ba275(0x125)]=parseMarketList,exports['parseItem']=parseItem,exports[_0x3ba275(0x12f)]=suggestAliases;const CATEGORY_RULES=[{'category':'TK-Produkte','terms':[_0x3ba275(0xfe),'tiefkuehl',_0x3ba275(0x15b),_0x3ba275(0x1c9),'fischstäb',_0x3ba275(0x16e),_0x3ba275(0x14a),_0x3ba275(0x1bf)]},{'category':_0x3ba275(0x1c8),'terms':[_0x3ba275(0x120),'dosen',_0x3ba275(0xfc),'cornedbeef','corned\x20beef',_0x3ba275(0x158),_0x3ba275(0x1a0),_0x3ba275(0x132),_0x3ba275(0x16f),'aioli']},{'category':'H-Milch/Nudeln','terms':[_0x3ba275(0x10c),_0x3ba275(0x15a),'nudel',_0x3ba275(0x188),_0x3ba275(0xea),_0x3ba275(0x1af),_0x3ba275(0x169),_0x3ba275(0x18e),'speisestaerke','öl','oel']},{'category':_0x3ba275(0x194),'terms':[_0x3ba275(0x13a),'küchenrolle','kuechenrolle',_0x3ba275(0x174),_0x3ba275(0x1b5),'muellbeutel','spülmittel',_0x3ba275(0x1a4),_0x3ba275(0x110),'reiniger',_0x3ba275(0x159),'putztuch']},{'category':'Kosmetikartikel','terms':[_0x3ba275(0x145),_0x3ba275(0x15c),'zahnpasta',_0x3ba275(0x15e),'zahnbuerste','deo',_0x3ba275(0x180),_0x3ba275(0x160),_0x3ba275(0x142),_0x3ba275(0x18f)]},{'category':_0x3ba275(0x19b),'terms':['pinsel',_0x3ba275(0x1b6),_0x3ba275(0x18b),_0x3ba275(0x1bc),'katzenfutter',_0x3ba275(0x12e),_0x3ba275(0x192),_0x3ba275(0x139)]},{'category':_0x3ba275(0x16b),'terms':[_0x3ba275(0x1c3),_0x3ba275(0xeb),'pepsi',_0x3ba275(0x1c0),'limonade','sprite',_0x3ba275(0x122),_0x3ba275(0x14f),'getränk',_0x3ba275(0x19f)]},{'category':_0x3ba275(0x187),'terms':['tee','kaffee',_0x3ba275(0x179),_0x3ba275(0x167)]},{'category':_0x3ba275(0x199),'terms':[_0x3ba275(0x184),_0x3ba275(0x191),_0x3ba275(0x1b7),_0x3ba275(0x121),_0x3ba275(0x19c),_0x3ba275(0x116),'torte',_0x3ba275(0xf7),'apfeltasche']},{'category':_0x3ba275(0x100),'terms':['schokolade','gummi',_0x3ba275(0x162),_0x3ba275(0x111),_0x3ba275(0x119),'bonbon',_0x3ba275(0x127),_0x3ba275(0xe2),_0x3ba275(0x106),_0x3ba275(0xf0),_0x3ba275(0x12d),_0x3ba275(0x1b0)]},{'category':_0x3ba275(0xf3),'terms':[_0x3ba275(0x140),'schinken',_0x3ba275(0xe6),'leberwurst',_0x3ba275(0xfb),_0x3ba275(0x173),_0x3ba275(0x12a),_0x3ba275(0x1bb),'frikadelle',_0x3ba275(0x181),_0x3ba275(0x17d),'kartoffelsalat',_0x3ba275(0xf1),_0x3ba275(0x1a1),_0x3ba275(0x18a),_0x3ba275(0xee),_0x3ba275(0x1c4),_0x3ba275(0x141),_0x3ba275(0xf6)]},{'category':_0x3ba275(0xe7),'terms':['milch','joghurt',_0x3ba275(0x10e),_0x3ba275(0x11d),_0x3ba275(0x147),_0x3ba275(0xf5),_0x3ba275(0x149),_0x3ba275(0x156),_0x3ba275(0x170),_0x3ba275(0x129),_0x3ba275(0x163),_0x3ba275(0x144),_0x3ba275(0x102),'brunch','ei',_0x3ba275(0x108)]},{'category':_0x3ba275(0x101),'terms':[_0x3ba275(0x118),'hack',_0x3ba275(0x1ca),_0x3ba275(0x146),_0x3ba275(0x113),_0x3ba275(0x150),_0x3ba275(0x157),_0x3ba275(0x10d),'lachs',_0x3ba275(0x15f),_0x3ba275(0x1ad)]},{'category':_0x3ba275(0x15d),'terms':['apfel','äpfel',_0x3ba275(0x123),_0x3ba275(0xef),_0x3ba275(0x18d),_0x3ba275(0x109),'nektarine',_0x3ba275(0xe3),_0x3ba275(0x183),_0x3ba275(0x17b),_0x3ba275(0x189),_0x3ba275(0x112),'gurke',_0x3ba275(0x117),'paprika',_0x3ba275(0x166),_0x3ba275(0x134),_0x3ba275(0x1a5),'kartoffel',_0x3ba275(0x195),_0x3ba275(0x1c1),'zitrone',_0x3ba275(0x1c2),_0x3ba275(0x165),_0x3ba275(0x193),'gemuese','dill',_0x3ba275(0x19a)]}],QUANTITY_UNITS=[_0x3ba275(0x151),_0x3ba275(0x186),_0x3ba275(0x1a7),'packungen',_0x3ba275(0x185),_0x3ba275(0x1c5),_0x3ba275(0x14b),'flaschen',_0x3ba275(0x120),_0x3ba275(0xe5),_0x3ba275(0x138),'glas',_0x3ba275(0x13b),_0x3ba275(0xe0),'kg',_0x3ba275(0x1ba),_0x3ba275(0x11f),'g',_0x3ba275(0xf8),'l','liter','ml','milliliter',_0x3ba275(0x103),'netz','schachtel',_0x3ba275(0x190),_0x3ba275(0x131),_0x3ba275(0x1c7),_0x3ba275(0x1b9),'kisten',_0x3ba275(0x11c),'kartons',_0x3ba275(0xf4),'tuete','tüten',_0x3ba275(0x178),_0x3ba275(0x196),_0x3ba275(0xe8),_0x3ba275(0x152)],NUMBER_WORDS=[_0x3ba275(0x17e),'eine',_0x3ba275(0x12b),_0x3ba275(0x115),_0x3ba275(0x107),_0x3ba275(0x177),'zwei','drei',_0x3ba275(0x154),'fünf','fuenf',_0x3ba275(0x175),_0x3ba275(0xf9),'acht',_0x3ba275(0x1b2),_0x3ba275(0xe4),'elf','zwölf',_0x3ba275(0x19d),'dreizehn',_0x3ba275(0x1b8),_0x3ba275(0x1ae),_0x3ba275(0x14c),_0x3ba275(0x13d),_0x3ba275(0x17f),'achtzehn','neunzehn',_0x3ba275(0x153)];function normalize(_0x58bc40){const _0x2b6db9=_0x3ba275;return String(_0x58bc40||'')[_0x2b6db9(0xf2)]()[_0x2b6db9(0x104)](/\s+/g,'\x20')['toLocaleLowerCase'](_0x2b6db9(0xe1));}function normalizeLoose(_0x5978c2){const _0x1e26ab=_0x3ba275;return normalize(_0x5978c2)['normalize'](_0x1e26ab(0x1a2))[_0x1e26ab(0x104)](/[\u0300-\u036f]/g,'')[_0x1e26ab(0x104)](/ß/g,'ss')[_0x1e26ab(0x104)](/[^a-z0-9]+/g,'\x20')['trim']();}function splitAliases(_0x560e78){const _0x14de8d=_0x3ba275;return String(_0x560e78||'')[_0x14de8d(0x16d)](/[;,]/)['map'](_0x1490be=>normalize(_0x1490be))[_0x14de8d(0x10a)](Boolean);}function unique(_0x5176de){const _0x6a90b=_0x3ba275;return[...new Set(_0x5176de[_0x6a90b(0x10a)](Boolean))];}function defaultAliasesForMarket(_0x2a202f){const _0x581d6b=_0x3ba275,_0x44eaaf=normalizeLoose(_0x2a202f);if(_0x44eaaf==='aldi')return['aldi','aldi\x20nord','aldi\x20süd',_0x581d6b(0x1b4)];if(_0x44eaaf==='lidl')return[_0x581d6b(0x14e)];if(_0x44eaaf==='rewe')return['rewe',_0x581d6b(0xff),'rewe\x20center'];if(_0x44eaaf===_0x581d6b(0x19e))return[_0x581d6b(0x19e),_0x581d6b(0x1a6)];return[];}function marketAliases(_0x1060e2){const _0x3d2cd3=_0x3ba275,_0x42e442=[];for(const _0x4ea88a of _0x1060e2){if(_0x4ea88a[_0x3d2cd3(0x1aa)]===![]||!_0x4ea88a[_0x3d2cd3(0x11b)])continue;const _0x43e655=unique([normalize(_0x4ea88a['name']),...splitAliases(_0x4ea88a[_0x3d2cd3(0x10b)]),...defaultAliasesForMarket(_0x4ea88a['name'])['map'](normalize)]);for(const _0x4f35d2 of _0x43e655)_0x42e442['push']({'market':_0x4ea88a[_0x3d2cd3(0x11b)],'alias':_0x4f35d2});}return _0x42e442['sort']((_0x6eabf3,_0x380813)=>_0x380813['alias'][_0x3d2cd3(0x128)]-_0x6eabf3['alias'][_0x3d2cd3(0x128)]);}function resolveMarket(_0x3766f4,_0x27cb61){const _0x45bf4e=_0x3ba275,_0x27f6c8=normalize(_0x3766f4||'');if(!_0x27f6c8)return undefined;for(const _0x2349b1 of marketAliases(_0x27cb61)){if(_0x2349b1['alias']===_0x27f6c8)return _0x2349b1[_0x45bf4e(0x1a3)];}return undefined;}function extractMarket(_0x4bccf3,_0x5273cd){const _0xd99736=_0x3ba275,_0x1d0e7d=normalize(_0x4bccf3);for(const _0x160807 of marketAliases(_0x5273cd)){const _0x140f82=[_0xd99736(0xec)+_0x160807['alias'],_0xd99736(0x176)+_0x160807['alias']];for(const _0x2e3bc4 of _0x140f82){if(_0x1d0e7d['endsWith'](_0x2e3bc4))return{'productText':_0x4bccf3[_0xd99736(0x14d)](0x0,_0x4bccf3['length']-_0x2e3bc4[_0xd99736(0x128)])['trim'](),'market':_0x160807[_0xd99736(0x1a3)],'explicit':!![]};}}const _0x41616c=_0x4bccf3['match'](/\s+(?:von|bei)\s+(.+?)\s*$/i);return{'productText':_0x4bccf3[_0xd99736(0xf2)](),'explicit':![],'ambiguousMarketSuffix':_0x41616c?.[0x1]?.[_0xd99736(0xf2)]()};}function stripQuantityDetailed(_0x13c084){const _0x18a984=_0x3ba275,_0x4da71b=String(_0x13c084||'')[_0x18a984(0xf2)]();if(!_0x4da71b)return{'productText':'','prefix':''};if(/^\d+\s*\/\s*\d+\s+/[_0x18a984(0x1a9)](_0x4da71b))return{'productText':_0x4da71b,'prefix':''};const _0x2db798=QUANTITY_UNITS[_0x18a984(0x12c)]('|'),_0x18cc1a=NUMBER_WORDS['join']('|'),_0x3fa953=[new RegExp('^(?:ein\x5cs+)?(?:halbes|halbe|halb)\x5cs+(?:'+_0x2db798+')\x5cs+','i'),new RegExp('^(?:'+_0x18cc1a+_0x18a984(0x10f)+_0x2db798+_0x18a984(0x171),'i'),new RegExp(_0x18a984(0xe9)+_0x18cc1a+')\x5cs+','i'),new RegExp('^\x5cd+(?:[.,]\x5cd+)?\x5cs*[xX]\x5cs*(?:\x5cd+(?:[.,]\x5cd+)?\x5cs*(?:'+_0x2db798+_0x18a984(0x1bd),'i'),new RegExp('^\x5cd+(?:[.,]\x5cd+)?\x5cs*(?:'+_0x2db798+_0x18a984(0x171),'i'),/^\d+(?:[.,]\d+)?\s+/i];for(const _0x2c6c38 of _0x3fa953){const _0x4aa19d=_0x4da71b[_0x18a984(0x13f)](_0x2c6c38);if(_0x4aa19d&&_0x4aa19d[0x0]&&_0x4aa19d[0x0][_0x18a984(0x128)]<_0x4da71b[_0x18a984(0x128)])return{'productText':_0x4da71b[_0x18a984(0x14d)](_0x4aa19d[0x0][_0x18a984(0x128)])['trim'](),'prefix':_0x4aa19d[0x0]['trim']()};}return{'productText':_0x4da71b,'prefix':''};}function stripQuantity(_0x490e37){return stripQuantityDetailed(_0x490e37)['productText'];}function stemKey(_0x1b2f05){const _0x360827=_0x3ba275;let _0x4626e9=normalizeLoose(_0x1b2f05)[_0x360827(0x104)](/\s+/g,'');if(_0x4626e9['length']>0x6&&_0x4626e9[_0x360827(0x1ac)]('en'))_0x4626e9=_0x4626e9['slice'](0x0,-0x1);else{if(_0x4626e9[_0x360827(0x128)]>0x6&&_0x4626e9[_0x360827(0x1ac)]('n'))_0x4626e9=_0x4626e9['slice'](0x0,-0x1);}return _0x4626e9;}function canonicalProductKey(_0x3109db){return stemKey(stripQuantity(_0x3109db));}function productCandidates(_0x431914){const _0x55bf63=_0x3ba275,_0x1ba6c2=stripQuantityDetailed(_0x431914);return unique([normalize(_0x431914),normalize(_0x1ba6c2['productText']),canonicalProductKey(_0x431914),canonicalProductKey(_0x1ba6c2[_0x55bf63(0x1ab)])]);}function findProduct(_0x299bf6,_0xf79f7e){const _0x296364=_0x3ba275,_0x53c0b3=productCandidates(_0x299bf6);for(const _0x3aefd5 of _0xf79f7e){const _0x3b3893=[_0x3aefd5['name'],...splitAliases(_0x3aefd5['aliases'])][_0x296364(0x198)](_0x271b73=>[normalize(_0x271b73),canonicalProductKey(_0x271b73)])[_0x296364(0x10a)](Boolean);if(_0x53c0b3[_0x296364(0x124)](_0x220421=>_0x3b3893['includes'](_0x220421)))return _0x3aefd5;}return undefined;}function guessCategory(_0x2b0863){const _0x45455b=_0x3ba275,_0x2cfd47=normalize(stripQuantity(_0x2b0863));for(const _0x190e03 of CATEGORY_RULES){if(_0x190e03['terms'][_0x45455b(0x124)](_0x54a91=>_0x2cfd47[_0x45455b(0x161)](_0x54a91)))return _0x190e03[_0x45455b(0x1be)];}return _0x45455b(0x105);}function significantTokens(_0x4d2f0e){const _0x2523cc=_0x3ba275;return normalizeLoose(_0x4d2f0e)['split']('\x20')[_0x2523cc(0x10a)](_0x19f13e=>_0x19f13e[_0x2523cc(0x128)]>=0x4)[_0x2523cc(0x172)](_0x5dd002=>_0x5dd002[_0x2523cc(0x1ac)]('en')&&_0x5dd002[_0x2523cc(0x128)]>0x6?_0x5dd002['slice'](0x0,-0x1):_0x5dd002);}function guessCategorySmart(_0x15aff2,_0x1e0ea1){const _0x41a378=_0x3ba275,_0x2d41b9=guessCategory(_0x15aff2);if(_0x2d41b9!==_0x41a378(0x105))return _0x2d41b9;const _0x11ff73=significantTokens(stripQuantity(_0x15aff2));if(!_0x11ff73[_0x41a378(0x128)])return _0x2d41b9;const _0x24b29c=new Map();for(const _0x208a24 of _0x1e0ea1){const _0x46c3a4=significantTokens([_0x208a24[_0x41a378(0x11b)],_0x208a24[_0x41a378(0x10b)]||''][_0x41a378(0x12c)]('\x20')),_0x21b4a1=_0x11ff73[_0x41a378(0x10a)](_0x2c48e8=>_0x46c3a4[_0x41a378(0x161)](_0x2c48e8))[_0x41a378(0x128)];if(_0x21b4a1>0x0)_0x24b29c['set'](_0x208a24[_0x41a378(0x1be)],(_0x24b29c[_0x41a378(0x135)](_0x208a24[_0x41a378(0x1be)])||0x0)+_0x21b4a1);}const _0x36343f=[..._0x24b29c[_0x41a378(0x114)]()]['sort']((_0x4cf476,_0x452742)=>_0x452742[0x1]-_0x4cf476[0x1]);return _0x36343f[0x0]?.[0x0]||_0x2d41b9;}function parseMarketList(_0x297471,_0x308d89){const _0x1c5902=_0x3ba275,_0x1debbe=String(_0x297471||'')[_0x1c5902(0x16d)](/[;,]/)[_0x1c5902(0x172)](_0x27e6e6=>resolveMarket(_0x27e6e6[_0x1c5902(0xf2)](),_0x308d89))['filter'](_0x40aa09=>Boolean(_0x40aa09));return unique(_0x1debbe);}function resolveProductMarket(_0x7bc075,_0x5bce8a,_0x30e1b2,_0x3cb475){const _0x210863=_0x3ba275,_0x5ae4b7=resolveMarket(_0x7bc075?.[_0x210863(0x13e)],_0x5bce8a);if(_0x5ae4b7)return _0x5ae4b7;const _0x13c962=parseMarketList(_0x7bc075?.[_0x210863(0xed)],_0x5bce8a),_0x280816=resolveMarket(_0x3cb475,_0x5bce8a);if(_0x280816&&(!_0x13c962[_0x210863(0x128)]||_0x13c962[_0x210863(0x161)](_0x280816)))return _0x280816;if(_0x13c962['length']){const _0x11699c=new Map(_0x5bce8a['map'](_0x1f129f=>[_0x1f129f[_0x210863(0x11b)],Number(_0x1f129f['order'])||0x270f]));return[..._0x13c962]['sort']((_0x282812,_0x16734f)=>(_0x11699c[_0x210863(0x135)](_0x282812)||0x270f)-(_0x11699c['get'](_0x16734f)||0x270f))[0x0];}return resolveMarket(_0x30e1b2,_0x5bce8a)||_0x30e1b2;}function _0x1747(){const _0x4deb8f=['fuenfzehn','slice','lidl','bier','hähnchen','stück','saecke','zwanzig','vier','1182414qlKtmX','feta','haehnchen','gewürzgurke','schwamm','h.\x20milch','gefroren','shampoo','Obst/Gemüse','zahnbürste','fisch','creme','includes','haribo','gouda','prefix','obst','zucchini','cappuccino','9VzqlQJ','haferflock','1496100WsVtqz','Getränke','explicit','split','fischstaeb','mais','ricotta',')\x5cs+','map','wuerst','taschentuch','sechs','\x20bei\x20','eins','tueten','espresso','10wZEBaV','karotte','10829432FAHrWQ','eiersalat','ein','siebzehn','seife','fleischsalat','normalizeLoose','avocado','brot','paket','stueck','Tee/Kaffee','spaghetti','möhre','blätterteig','fussmatte','20BOSWwf','mango','speisestärke','kosmetik','schachteln','brötchen','batterie','gemüse','Haushalt/Hygiene','zwiebel','sack','759591FHBwyx','flatMap','Brot/Gebäck','petersilie','Nonfood','toast','zwoelf','penny','getraenk','gewuerzgurke','gefluegelsalat','NFD','market','spuelmittel','rosenkohl','penny\x20markt','packung','normalize','test','enabled','productText','endsWith','sushi','fünfzehn','reis','kokosraspel','__esModule','neun','8184yjGPMn','aldi\x20sued','müllbeutel','verbandtasche','broetchen','vierzehn','kiste','kilo','speck','fußmatte',')\x5cs*)?','category','eis','wasser','knoblauch','orange','saft','pizzateig','pakete','guessCategorySmart','rollen','Konserven','gefrohren','steak','glaeser','de-DE','nuss','beere','zehn','dosen','salami','Milchprodukte','säcke','^(?:','penne','cola','\x20von\x20','availableMarkets','blaetterteig','banane','nuesse','geflügelsalat','trim','Wurst/Salate/Teigwaren','tüte','camembert','doener','croissant','gramm','sieben','2493876jaOjuU','würst','konserve','canonicalProductKey','tiefkühl','rewe\x20markt','Schokolade/Naschen','Fleisch/Fisch','butter','bund','replace','Sonstiges','nüsse','einer','eier','melone','filter','aliases','h-milch','kassler','quark',')\x5cs+(?:','waschmittel','chips','moehre','roulade','entries','einem','kuchen','tomate','fleisch','keks','guessCategory','name','karton','käse','4435827pmRlvi','kilogramm','dose','baguette','fanta','aepfel','some','parseMarketList','resolveMarket','mandel','length','parmesan','bacon','einen','join','sonnenblumenkern','katzenstreu','suggestAliases','marketAliases','rolle','pesto','56914JYiIkt','salat','get','3kerper','6KsWfwz','becher','lampe','toilettenpapier','gläser','stripQuantity','sechzehn','defaultMarket','match','aufschnitt','döner','rasierer','findProduct','sahne','duschgel','gulasch','kaese','ambiguousMarketSuffix','camenbert','pommes','flasche'];_0x1747=function(){return _0x4deb8f;};return _0x1747();}function parseItem(_0xeeb427,_0x36fd82,_0xb6e558,_0x1e2246,_0x2027f3=''){const _0x14f02b=_0x3ba275,_0x370b51=extractMarket(_0xeeb427,_0x36fd82),_0x2b264a=stripQuantityDetailed(_0x370b51[_0x14f02b(0x1ab)]),_0x34f6ae=findProduct(_0x370b51['productText'],_0xb6e558),_0x519d99=_0x2b264a[_0x14f02b(0x1ab)],_0x29a7de=!_0x370b51['market']&&!_0x34f6ae&&Boolean(_0x370b51[_0x14f02b(0x148)]);return{'originalText':_0xeeb427,'productText':_0x519d99,'productName':_0x34f6ae?.['name']||_0x519d99||_0x370b51[_0x14f02b(0x1ab)],'market':_0x370b51[_0x14f02b(0x1a3)]||(!_0x29a7de?resolveProductMarket(_0x34f6ae,_0x36fd82,_0x1e2246,_0x2027f3):resolveMarket(_0x1e2246,_0x36fd82)||_0x1e2246),'category':_0x34f6ae?.[_0x14f02b(0x1be)]||guessCategorySmart(_0x370b51[_0x14f02b(0x1ab)],_0xb6e558),'knownProduct':Boolean(_0x34f6ae),'explicitMarket':_0x370b51[_0x14f02b(0x16c)],'quantityPrefix':_0x2b264a[_0x14f02b(0x164)],'ambiguousMarketSuffix':_0x29a7de?_0x370b51[_0x14f02b(0x148)]:undefined};}function suggestAliases(_0x2a77fa,_0x1df1c8){const _0x17a404=_0x3ba275,_0x340086=stripQuantity(_0x2a77fa)['trim']();if(!_0x340086)return[];const _0x2c9d9f=[_0x1df1c8[_0x17a404(0x11b)],...splitAliases(_0x1df1c8[_0x17a404(0x10b)])][_0x17a404(0x172)](normalize);if(_0x2c9d9f['includes'](normalize(_0x340086)))return[];if(canonicalProductKey(_0x340086)===canonicalProductKey(_0x1df1c8[_0x17a404(0x11b)]))return[_0x340086];return[];}
@@ -1 +1 @@
1
- 'use strict';const _0x2af2c7=_0x40fa;(function(_0x346f8e,_0x4fbb36){const _0xccde0f=_0x40fa,_0x2f85a9=_0x346f8e();while(!![]){try{const _0x1a675a=-parseInt(_0xccde0f(0x1e4))/0x1*(-parseInt(_0xccde0f(0x1c7))/0x2)+-parseInt(_0xccde0f(0x1e6))/0x3*(parseInt(_0xccde0f(0x1b8))/0x4)+parseInt(_0xccde0f(0x1c5))/0x5+-parseInt(_0xccde0f(0x1c8))/0x6+-parseInt(_0xccde0f(0x1d0))/0x7*(-parseInt(_0xccde0f(0x1d5))/0x8)+parseInt(_0xccde0f(0x1e1))/0x9+-parseInt(_0xccde0f(0x1ee))/0xa;if(_0x1a675a===_0x4fbb36)break;else _0x2f85a9['push'](_0x2f85a9['shift']());}catch(_0x515299){_0x2f85a9['push'](_0x2f85a9['shift']());}}}(_0x29ea,0xd5258));Object[_0x2af2c7(0x1b3)](exports,'__esModule',{'value':!![]}),exports['toTimestamp']=toTimestamp,exports[_0x2af2c7(0x1d6)]=activeItems,exports[_0x2af2c7(0x1e8)]=activeIdSignature,exports[_0x2af2c7(0x1e0)]=sortSlotsOldestFirst,exports['buildDesiredItems']=buildDesiredItems,exports[_0x2af2c7(0x1c6)]=createSortPlan,exports[_0x2af2c7(0x1cd)]=collectUnknownItems,exports[_0x2af2c7(0x1dd)]=mergeUnknownProducts,exports['mergeReviewQueue']=mergeReviewQueue,exports[_0x2af2c7(0x1dc)]=applyReviewActions,exports[_0x2af2c7(0x1f1)]=makePreviewText;const parser_1=require('./parser');function toTimestamp(_0x4f4196){const _0x27a4c2=_0x2af2c7;if(typeof _0x4f4196==='number'&&Number[_0x27a4c2(0x1cc)](_0x4f4196))return _0x4f4196;if(typeof _0x4f4196===_0x27a4c2(0x1ca)&&_0x4f4196[_0x27a4c2(0x1b7)]()){const _0x58f55d=Number(_0x4f4196);if(Number[_0x27a4c2(0x1cc)](_0x58f55d))return _0x58f55d;const _0x4b5235=Date['parse'](_0x4f4196);if(Number[_0x27a4c2(0x1cc)](_0x4b5235))return _0x4b5235;}return 0x0;}function marketOrder(_0x1db925,_0x46b345){const _0x40423f=_0x2af2c7,_0x33555f=_0x1db925[_0x40423f(0x1bb)](_0x100bca=>(0x0,parser_1['normalize'])(_0x100bca[_0x40423f(0x1cf)])===(0x0,parser_1['normalize'])(_0x46b345));return Number[_0x40423f(0x1cc)](Number(_0x33555f?.['order']))?Number(_0x33555f?.['order']):0x270f;}function categoryOrder(_0x39f130,_0x171e5,_0x5c0260){const _0x1f7a52=_0x2af2c7,_0x162323=_0x39f130['filter'](_0x5ef510=>(0x0,parser_1['normalize'])(_0x5ef510[_0x1f7a52(0x1c1)])===(0x0,parser_1[_0x1f7a52(0x1b5)])(_0x171e5)),_0x1112f1=_0x162323['findIndex'](_0x9bc66=>(0x0,parser_1['normalize'])(_0x9bc66['category'])===(0x0,parser_1[_0x1f7a52(0x1b5)])(_0x5c0260));if(_0x1112f1>=0x0)return(_0x1112f1+0x1)*0xa;const _0x203ad4=_0x39f130['find'](_0x1d60b8=>(0x0,parser_1[_0x1f7a52(0x1b5)])(_0x1d60b8[_0x1f7a52(0x1c1)])===(0x0,parser_1[_0x1f7a52(0x1b5)])(_0x171e5)&&(0x0,parser_1['normalize'])(_0x1d60b8['category'])===(0x0,parser_1[_0x1f7a52(0x1b5)])(_0x5c0260));return Number[_0x1f7a52(0x1cc)](Number(_0x203ad4?.[_0x1f7a52(0x1f0)]))?Number(_0x203ad4?.['order']):0x270f;}function activeItems(_0x218f49){const _0x3ecf1e=_0x2af2c7;return _0x218f49[_0x3ecf1e(0x1de)](_0x32eca9=>_0x32eca9&&_0x32eca9[_0x3ecf1e(0x1c2)]===![]&&Boolean(_0x32eca9['id'])&&Boolean(String(_0x32eca9[_0x3ecf1e(0x1e3)]||'')[_0x3ecf1e(0x1b7)]()));}function _0x40fa(_0x373cd8,_0x6d7d8e){_0x373cd8=_0x373cd8-0x1b2;const _0x29eafb=_0x29ea();let _0x40fac9=_0x29eafb[_0x373cd8];return _0x40fac9;}function _0x29ea(){const _0x1d0d7f=['Sonstiges','parsed','defaultMarket','167608NccSfy','activeItems','Änderungen:\x20','firstSeen','has','map','canonicalProductKey','applyReviewActions','mergeUnknownProducts','filter','push','sortSlotsOldestFirst','14234760nKbuoY','key','value','61UhHKTl','localeCompare','6JFvKFZ','createdDateTime','activeIdSignature','split','Aktive\x20Plätze:\x20','length','product','base','22294930owatfv','guessedCategory','order','makePreviewText','join','defineProperty','sort','normalize','productName','trim','2569352OGrLOX','findProduct','marketOrder','find','parseItem','add','category','aliases','accept','market','completed','flatMap','padStart','8694955YMyWHb','createSortPlan','46340KVrZoG','3337764AFmBle','\x20/\x20','string','categoryOrder','isFinite','collectUnknownItems','changed','name','70qeptjg','ambiguousMarketSuffix'];_0x29ea=function(){return _0x1d0d7f;};return _0x29ea();}function activeIdSignature(_0x1b0228){const _0x1f3d40=_0x2af2c7;return activeItems(_0x1b0228)[_0x1f3d40(0x1da)](_0x41a79e=>String(_0x41a79e['id']))[_0x1f3d40(0x1b4)]()['join']('|');}function sortSlotsOldestFirst(_0x91466e){const _0x4a7c9b=_0x2af2c7;return[..._0x91466e][_0x4a7c9b(0x1b4)]((_0x1c02df,_0x4b5635)=>{const _0x2bea9f=_0x4a7c9b,_0x5ef8f5=toTimestamp(_0x1c02df[_0x2bea9f(0x1e7)]),_0x4f8775=toTimestamp(_0x4b5635[_0x2bea9f(0x1e7)]);if(_0x5ef8f5!==_0x4f8775)return _0x5ef8f5-_0x4f8775;return String(_0x1c02df['id'])['localeCompare'](String(_0x4b5635['id']));});}function buildDesiredItems(_0x2dc0a3,_0x6b9970,_0x38de50,_0x4fb531,_0x38b093,_0x395724=''){const _0x12c2f7=_0x2af2c7;return _0x2dc0a3[_0x12c2f7(0x1da)](_0x2e9e82=>{const _0x25077b=_0x12c2f7,_0x5ce9bf=(0x0,parser_1[_0x25077b(0x1bc)])(String(_0x2e9e82['value']),_0x6b9970,_0x4fb531,_0x38b093,_0x395724);return{'source':_0x2e9e82,'parsed':_0x5ce9bf,'marketOrder':marketOrder(_0x6b9970,_0x5ce9bf['market']),'categoryOrder':categoryOrder(_0x38de50,_0x5ce9bf[_0x25077b(0x1c1)],_0x5ce9bf[_0x25077b(0x1be)])};})['sort']((_0x4cb34f,_0x4c4307)=>{const _0xfddb41=_0x12c2f7;if(_0x4cb34f['marketOrder']!==_0x4c4307[_0xfddb41(0x1ba)])return _0x4cb34f[_0xfddb41(0x1ba)]-_0x4c4307['marketOrder'];if(_0x4cb34f['categoryOrder']!==_0x4c4307['categoryOrder'])return _0x4cb34f['categoryOrder']-_0x4c4307[_0xfddb41(0x1cb)];const _0x179482=_0x4cb34f['parsed'][_0xfddb41(0x1be)][_0xfddb41(0x1e5)](_0x4c4307['parsed']['category'],'de',{'sensitivity':_0xfddb41(0x1ed)});if(_0x179482!==0x0&&_0x4cb34f[_0xfddb41(0x1cb)]===0x270f&&_0x4c4307['categoryOrder']===0x270f)return _0x179482;return _0x4cb34f['parsed']['productName'][_0xfddb41(0x1e5)](_0x4c4307[_0xfddb41(0x1d3)][_0xfddb41(0x1b6)],'de',{'sensitivity':'base'});});}function createSortPlan(_0x39d8e2,_0x8c94df,_0x45fd35,_0x1e6ec4,_0x28019a,_0x220a84=''){const _0x1c31ef=_0x2af2c7,_0x12c0e8=activeItems(_0x39d8e2),_0x5ba463=sortSlotsOldestFirst(_0x12c0e8),_0x568676=buildDesiredItems(_0x12c0e8,_0x8c94df,_0x45fd35,_0x1e6ec4,_0x28019a,_0x220a84);return _0x5ba463[_0x1c31ef(0x1da)]((_0x3d0496,_0x489aeb)=>{const _0x1ebcfc=_0x1c31ef,_0x77c090=_0x568676[_0x489aeb],_0x1cbf0e=String(_0x3d0496[_0x1ebcfc(0x1e3)])[_0x1ebcfc(0x1b7)](),_0x7bd442=_0x77c090?.['parsed']['originalText']||_0x1cbf0e;return{'position':_0x489aeb+0x1,'id':String(_0x3d0496['id']),'createdDateTime':toTimestamp(_0x3d0496[_0x1ebcfc(0x1e7)]),'from':_0x1cbf0e,'to':_0x7bd442,'market':_0x77c090?.[_0x1ebcfc(0x1d3)][_0x1ebcfc(0x1c1)]||_0x28019a,'category':_0x77c090?.['parsed']['category']||_0x1ebcfc(0x1d2),'product':_0x77c090?.['parsed']['productName']||_0x7bd442,'changed':_0x1cbf0e!==_0x7bd442};});}function collectUnknownItems(_0xddd125,_0x18ffee,_0x1d0639,_0x5cecb8,_0x237051=''){const _0x43d07a=_0x2af2c7,_0x39198c=new Set(),_0x24e470=[];for(const _0x17cfe0 of activeItems(_0xddd125)){const _0x314c4e=(0x0,parser_1['parseItem'])(String(_0x17cfe0['value']),_0x18ffee,_0x1d0639,_0x5cecb8,_0x237051);if(_0x314c4e['knownProduct'])continue;const _0x4f3a97=(0x0,parser_1[_0x43d07a(0x1db)])(_0x314c4e['productName'])||(0x0,parser_1['normalize'])(_0x314c4e['productName']);if(!_0x4f3a97||_0x39198c['has'](_0x4f3a97))continue;_0x39198c[_0x43d07a(0x1bd)](_0x4f3a97),_0x24e470[_0x43d07a(0x1df)]({'key':_0x4f3a97,'text':_0x314c4e['originalText'],'product':_0x314c4e[_0x43d07a(0x1b6)],'market':_0x314c4e['market'],'guessedCategory':_0x314c4e['category'],'ambiguousMarketSuffix':_0x314c4e[_0x43d07a(0x1d1)]});}return _0x24e470;}function mergeUnknownProducts(_0x6b7380,_0x33bba2,_0x1aa2ab,_0x22c843,_0x5c76aa=''){const _0x6e7dda=_0x2af2c7,_0x548ae9=_0x1aa2ab[_0x6e7dda(0x1da)](_0x5873e1=>({..._0x5873e1})),_0x224900=[],_0x3383f0=new Set(_0x548ae9[_0x6e7dda(0x1c3)](_0x137860=>[_0x137860[_0x6e7dda(0x1cf)],...String(_0x137860['aliases']||'')[_0x6e7dda(0x1e9)](/[;,]/)])['map'](parser_1[_0x6e7dda(0x1db)])['filter'](Boolean)),_0x1e3d46=collectUnknownItems(_0x6b7380,_0x33bba2,_0x548ae9,_0x22c843,_0x5c76aa);for(const _0x41a7e7 of _0x1e3d46){const _0x4b5f96=String(_0x41a7e7[_0x6e7dda(0x1ec)]||'')[_0x6e7dda(0x1b7)](),_0x26ddf5=(0x0,parser_1['canonicalProductKey'])(_0x4b5f96);if(!_0x26ddf5||_0x3383f0[_0x6e7dda(0x1d9)](_0x26ddf5))continue;if(_0x41a7e7[_0x6e7dda(0x1d1)])continue;const _0x3f96bf=(0x0,parser_1[_0x6e7dda(0x1b9)])(_0x4b5f96,_0x548ae9);if(_0x3f96bf)continue;const _0x16f040={'name':_0x4b5f96,'aliases':'','category':_0x41a7e7['guessedCategory']||_0x6e7dda(0x1d2),'defaultMarket':'','availableMarkets':''};_0x548ae9[_0x6e7dda(0x1df)](_0x16f040),_0x224900['push'](_0x16f040),_0x3383f0['add'](_0x26ddf5);}return{'products':_0x548ae9,'learned':_0x224900};}function mergeReviewQueue(_0x512bfe,_0x1f0bef,_0x2c045d=new Date()['toISOString']()){const _0x333ccb=_0x2af2c7,_0xeab3b3=new Map(_0x512bfe['map'](_0x24692d=>[_0x24692d[_0x333ccb(0x1e2)],{..._0x24692d}]));for(const _0x3c57d2 of _0x1f0bef){const _0x11c161=_0xeab3b3['get'](_0x3c57d2['key']);if(_0x11c161?.['action']==='ignore'){_0x11c161['lastSeen']=_0x2c045d,_0xeab3b3['set'](_0x3c57d2[_0x333ccb(0x1e2)],_0x11c161);continue;}_0xeab3b3['set'](_0x3c57d2[_0x333ccb(0x1e2)],{'key':_0x3c57d2[_0x333ccb(0x1e2)],'text':_0x3c57d2['text'],'product':_0x11c161?.[_0x333ccb(0x1ec)]||_0x3c57d2[_0x333ccb(0x1ec)],'guessedCategory':_0x3c57d2[_0x333ccb(0x1ef)],'market':_0x3c57d2[_0x333ccb(0x1c1)],'category':_0x11c161?.['category']||_0x3c57d2[_0x333ccb(0x1ef)],'defaultMarket':_0x11c161?.[_0x333ccb(0x1d4)]||'','aliases':_0x11c161?.['aliases']||'','action':_0x11c161?.['action']||'pending','firstSeen':_0x11c161?.[_0x333ccb(0x1d8)]||_0x2c045d,'lastSeen':_0x2c045d});}return[..._0xeab3b3['values']()][_0x333ccb(0x1b4)]((_0x200404,_0x2613d0)=>_0x200404[_0x333ccb(0x1ec)][_0x333ccb(0x1e5)](_0x2613d0['product'],'de',{'sensitivity':_0x333ccb(0x1ed)}));}function applyReviewActions(_0x36c70e,_0x326df7){const _0x5c0770=_0x2af2c7,_0x232151=_0x36c70e['map'](_0x42c805=>({..._0x42c805})),_0x598141=[],_0x15ac7a=[];for(const _0x4cfd84 of _0x326df7){if(_0x4cfd84['action']!==_0x5c0770(0x1c0)){_0x15ac7a[_0x5c0770(0x1df)]({..._0x4cfd84});continue;}const _0x2ab096=String(_0x4cfd84['product']||'')['trim']();if(!_0x2ab096)continue;const _0x379449=(0x0,parser_1[_0x5c0770(0x1b9)])(_0x2ab096,_0x232151);if(_0x379449){if(_0x4cfd84[_0x5c0770(0x1be)])_0x379449[_0x5c0770(0x1be)]=_0x4cfd84[_0x5c0770(0x1be)];if(_0x4cfd84[_0x5c0770(0x1d4)]!==undefined)_0x379449[_0x5c0770(0x1d4)]=_0x4cfd84[_0x5c0770(0x1d4)];if(_0x4cfd84['aliases']){const _0xdb3469=new Set(String(_0x379449['aliases']||'')[_0x5c0770(0x1e9)](/[;,]/)[_0x5c0770(0x1da)](_0x4a28dc=>_0x4a28dc[_0x5c0770(0x1b7)]())['filter'](Boolean));for(const _0x58a666 of _0x4cfd84[_0x5c0770(0x1bf)]['split'](/[;,]/)['map'](_0x49c931=>_0x49c931[_0x5c0770(0x1b7)]())[_0x5c0770(0x1de)](Boolean))_0xdb3469['add'](_0x58a666);_0x379449[_0x5c0770(0x1bf)]=[..._0xdb3469][_0x5c0770(0x1b2)](',');}_0x598141[_0x5c0770(0x1df)]({..._0x379449});continue;}const _0x578805={'name':_0x2ab096,'aliases':String(_0x4cfd84['aliases']||''),'category':String(_0x4cfd84[_0x5c0770(0x1be)]||_0x4cfd84['guessedCategory']||_0x5c0770(0x1d2)),'defaultMarket':String(_0x4cfd84[_0x5c0770(0x1d4)]||''),'availableMarkets':''};_0x232151[_0x5c0770(0x1df)](_0x578805),_0x598141[_0x5c0770(0x1df)](_0x578805);}return{'products':_0x232151[_0x5c0770(0x1b4)]((_0x1053fd,_0x40555d)=>_0x1053fd['name'][_0x5c0770(0x1e5)](_0x40555d['name'],'de',{'sensitivity':_0x5c0770(0x1ed)})),'remainingReviews':_0x15ac7a,'accepted':_0x598141};}function makePreviewText(_0x352b8e,_0x554a2d){const _0x771817=_0x2af2c7,_0x3b0e3e=['Liste:\x20'+_0x352b8e,_0x771817(0x1ea)+_0x554a2d[_0x771817(0x1eb)],_0x771817(0x1d7)+_0x554a2d[_0x771817(0x1de)](_0x4ac6cb=>_0x4ac6cb['changed'])['length']];for(const _0x214dcd of _0x554a2d){const _0x3cf1eb=_0x214dcd[_0x771817(0x1ce)]?'→':'=';_0x3b0e3e[_0x771817(0x1df)](String(_0x214dcd['position'])[_0x771817(0x1c4)](0x2,'0')+'.\x20'+_0x214dcd['from']+'\x20'+_0x3cf1eb+'\x20'+_0x214dcd['to']+'\x20['+_0x214dcd[_0x771817(0x1c1)]+_0x771817(0x1c9)+_0x214dcd['category']+']');}return _0x3b0e3e[_0x771817(0x1b2)]('\x0a');}
1
+ 'use strict';const _0x5624b6=_0x1af6;(function(_0x4c28fd,_0x525cce){const _0x2df460=_0x1af6,_0x32a46e=_0x4c28fd();while(!![]){try{const _0xf97e4d=-parseInt(_0x2df460(0x165))/0x1*(-parseInt(_0x2df460(0x161))/0x2)+parseInt(_0x2df460(0x14a))/0x3+parseInt(_0x2df460(0x135))/0x4+parseInt(_0x2df460(0x151))/0x5+-parseInt(_0x2df460(0x142))/0x6*(-parseInt(_0x2df460(0x12e))/0x7)+parseInt(_0x2df460(0x154))/0x8*(parseInt(_0x2df460(0x134))/0x9)+-parseInt(_0x2df460(0x16d))/0xa;if(_0xf97e4d===_0x525cce)break;else _0x32a46e['push'](_0x32a46e['shift']());}catch(_0x77f119){_0x32a46e['push'](_0x32a46e['shift']());}}}(_0x37f6,0xa6a43));Object[_0x5624b6(0x144)](exports,_0x5624b6(0x13a),{'value':!![]}),exports[_0x5624b6(0x157)]=toTimestamp,exports[_0x5624b6(0x139)]=activeItems,exports['activeIdSignature']=activeIdSignature,exports[_0x5624b6(0x14e)]=sortSlotsOldestFirst,exports[_0x5624b6(0x172)]=buildDesiredItems,exports['createSortPlan']=createSortPlan,exports['collectUnknownItems']=collectUnknownItems,exports[_0x5624b6(0x12d)]=mergeUnknownProducts,exports[_0x5624b6(0x163)]=mergeReviewQueue,exports[_0x5624b6(0x169)]=applyReviewActions,exports['makePreviewText']=makePreviewText;const parser_1=require(_0x5624b6(0x155)),market_plan_1=require('./market-plan');function toTimestamp(_0xd541c){const _0x51e445=_0x5624b6;if(typeof _0xd541c===_0x51e445(0x152)&&Number['isFinite'](_0xd541c))return _0xd541c;if(typeof _0xd541c===_0x51e445(0x12c)&&_0xd541c[_0x51e445(0x13c)]()){const _0x251d0e=Number(_0xd541c);if(Number[_0x51e445(0x15a)](_0x251d0e))return _0x251d0e;const _0x4a6728=Date['parse'](_0xd541c);if(Number[_0x51e445(0x15a)](_0x4a6728))return _0x4a6728;}return 0x0;}function marketOrder(_0x1d9833,_0x3d7c85){const _0x2cc447=_0x5624b6,_0x14875a=_0x1d9833['find'](_0x21da88=>(0x0,parser_1[_0x2cc447(0x149)])(_0x21da88[_0x2cc447(0x147)])===(0x0,parser_1['normalize'])(_0x3d7c85));return Number[_0x2cc447(0x15a)](Number(_0x14875a?.[_0x2cc447(0x168)]))?Number(_0x14875a?.['order']):0x270f;}function categoryOrder(_0x1c4bc3,_0x4f62f6,_0x3bd96a){const _0x314c55=_0x5624b6,_0x5ae2c2=_0x1c4bc3[_0x314c55(0x14b)](_0x1f7467=>(0x0,parser_1[_0x314c55(0x149)])(_0x1f7467[_0x314c55(0x146)])===(0x0,parser_1['normalize'])(_0x4f62f6)),_0x4a172b=_0x5ae2c2[_0x314c55(0x16c)](_0xb66caa=>(0x0,parser_1[_0x314c55(0x149)])(_0xb66caa[_0x314c55(0x13e)])===(0x0,parser_1['normalize'])(_0x3bd96a));if(_0x4a172b>=0x0)return(_0x4a172b+0x1)*0xa;const _0x51536b=_0x1c4bc3[_0x314c55(0x131)](_0x515c02=>(0x0,parser_1[_0x314c55(0x149)])(_0x515c02[_0x314c55(0x146)])===(0x0,parser_1['normalize'])(_0x4f62f6)&&(0x0,parser_1['normalize'])(_0x515c02['category'])===(0x0,parser_1[_0x314c55(0x149)])(_0x3bd96a));return Number[_0x314c55(0x15a)](Number(_0x51536b?.['order']))?Number(_0x51536b?.[_0x314c55(0x168)]):0x270f;}function activeItems(_0x5601dc){const _0x513e75=_0x5624b6;return _0x5601dc['filter'](_0x237635=>_0x237635&&_0x237635[_0x513e75(0x15f)]===![]&&Boolean(_0x237635['id'])&&Boolean(String(_0x237635[_0x513e75(0x159)]||'')[_0x513e75(0x13c)]()));}function activeIdSignature(_0xdaa14a){const _0x5459d1=_0x5624b6;return activeItems(_0xdaa14a)[_0x5459d1(0x14f)](_0x2fe450=>String(_0x2fe450['id']))[_0x5459d1(0x141)]()['join']('|');}function sortSlotsOldestFirst(_0xd8e299){return[..._0xd8e299]['sort']((_0x3e5e60,_0x4ef01b)=>{const _0x243b16=_0x1af6,_0x1c92b5=toTimestamp(_0x3e5e60['createdDateTime']),_0xf707f3=toTimestamp(_0x4ef01b[_0x243b16(0x171)]);if(_0x1c92b5!==_0xf707f3)return _0x1c92b5-_0xf707f3;return String(_0x3e5e60['id'])['localeCompare'](String(_0x4ef01b['id']));});}function buildDesiredItems(_0x59396b,_0xb308aa,_0x5c798c,_0x263a6d,_0xb9a704,_0x5175ae='',_0x5ed395=0x1){const _0x14d2a4=_0x5624b6;return(0x0,market_plan_1['optimizeMarketAssignments'])(_0x59396b,_0xb308aa,_0x263a6d,_0xb9a704,_0x5175ae,_0x5ed395)[_0x14d2a4(0x14f)](({source:_0x4d689e,parsed:_0x510065})=>{const _0x1c1c90=_0x14d2a4;return{'source':_0x4d689e,'parsed':_0x510065,'marketOrder':marketOrder(_0xb308aa,_0x510065[_0x1c1c90(0x146)]),'categoryOrder':categoryOrder(_0x5c798c,_0x510065['market'],_0x510065['category'])};})[_0x14d2a4(0x141)]((_0x1a481a,_0x1c2538)=>{const _0x5d49b1=_0x14d2a4;if(_0x1a481a[_0x5d49b1(0x15b)]!==_0x1c2538['marketOrder'])return _0x1a481a[_0x5d49b1(0x15b)]-_0x1c2538['marketOrder'];if(_0x1a481a[_0x5d49b1(0x166)]!==_0x1c2538[_0x5d49b1(0x166)])return _0x1a481a[_0x5d49b1(0x166)]-_0x1c2538[_0x5d49b1(0x166)];const _0x43362f=_0x1a481a[_0x5d49b1(0x175)][_0x5d49b1(0x13e)]['localeCompare'](_0x1c2538[_0x5d49b1(0x175)][_0x5d49b1(0x13e)],'de',{'sensitivity':_0x5d49b1(0x14d)});if(_0x43362f!==0x0&&_0x1a481a['categoryOrder']===0x270f&&_0x1c2538[_0x5d49b1(0x166)]===0x270f)return _0x43362f;return _0x1a481a[_0x5d49b1(0x175)][_0x5d49b1(0x130)][_0x5d49b1(0x148)](_0x1c2538[_0x5d49b1(0x175)][_0x5d49b1(0x130)],'de',{'sensitivity':'base'});});}function createSortPlan(_0x21e4ff,_0x43c704,_0x4c0f01,_0x215e90,_0x477b4d,_0x209a3e='',_0x3585d6=0x1,_0x4c3b5c=![]){const _0x3c7f8b=_0x5624b6,_0x182465=activeItems(_0x21e4ff),_0x569228=_0x182465[_0x3c7f8b(0x14b)](_0x24f886=>!(0x0,market_plan_1['isMarketHeader'])(String(_0x24f886[_0x3c7f8b(0x159)]),_0x43c704)),_0x2af32c=sortSlotsOldestFirst(_0x182465),_0x1f1c3e=buildDesiredItems(_0x569228,_0x43c704,_0x4c0f01,_0x215e90,_0x477b4d,_0x209a3e,_0x3585d6),_0x176386=[];let _0x4d2c15='';for(const _0x5ed169 of _0x1f1c3e){const _0x4b2087=_0x5ed169[_0x3c7f8b(0x175)][_0x3c7f8b(0x146)];if(_0x4c3b5c&&(0x0,parser_1['normalize'])(_0x4b2087)!==(0x0,parser_1[_0x3c7f8b(0x149)])(_0x477b4d)&&(0x0,parser_1[_0x3c7f8b(0x149)])(_0x4b2087)!==(0x0,parser_1[_0x3c7f8b(0x149)])(_0x4d2c15)){const _0x219a4e=(0x0,market_plan_1[_0x3c7f8b(0x160)])(_0x4b2087);_0x176386[_0x3c7f8b(0x137)]({'text':_0x219a4e,'market':_0x4b2087,'category':'','product':_0x219a4e});}_0x176386[_0x3c7f8b(0x137)]({'text':_0x5ed169[_0x3c7f8b(0x175)]['originalText'],'market':_0x4b2087,'category':_0x5ed169['parsed']['category'],'product':_0x5ed169[_0x3c7f8b(0x175)]['productName']}),_0x4d2c15=_0x4b2087;}if(_0x176386[_0x3c7f8b(0x145)]!==_0x2af32c['length'])return _0x2af32c[_0x3c7f8b(0x14f)]((_0x5e32ef,_0x2bef33)=>{const _0x470af3=String(_0x5e32ef['value'])['trim']();return{'position':_0x2bef33+0x1,'id':String(_0x5e32ef['id']),'createdDateTime':toTimestamp(_0x5e32ef['createdDateTime']),'from':_0x470af3,'to':_0x470af3,'market':_0x477b4d,'category':'','product':_0x470af3,'changed':![]};});return _0x2af32c['map']((_0x277a23,_0x20ef74)=>{const _0x7ca099=_0x3c7f8b,_0x7561b6=_0x176386[_0x20ef74],_0x509d84=String(_0x277a23['value'])[_0x7ca099(0x13c)](),_0x259aba=_0x7561b6?.[_0x7ca099(0x143)]||_0x509d84;return{'position':_0x20ef74+0x1,'id':String(_0x277a23['id']),'createdDateTime':toTimestamp(_0x277a23['createdDateTime']),'from':_0x509d84,'to':_0x259aba,'market':_0x7561b6?.['market']||_0x477b4d,'category':_0x7561b6?.['category']||'','product':_0x7561b6?.[_0x7ca099(0x173)]||_0x259aba,'changed':_0x509d84!==_0x259aba};});}function collectUnknownItems(_0x45d26e,_0x2c7bc9,_0x533ff0,_0x36792e,_0xee34ac=''){const _0xeee07b=_0x5624b6,_0x268e49=new Set(),_0x1656a0=[];for(const _0x240b29 of activeItems(_0x45d26e)){if((0x0,market_plan_1['isMarketHeader'])(String(_0x240b29[_0xeee07b(0x159)]),_0x2c7bc9))continue;const _0x3bef2b=(0x0,parser_1['parseItem'])(String(_0x240b29['value']),_0x2c7bc9,_0x533ff0,_0x36792e,_0xee34ac);if(_0x3bef2b[_0xeee07b(0x174)])continue;const _0x58cf68=(0x0,parser_1[_0xeee07b(0x164)])(_0x3bef2b[_0xeee07b(0x130)])||(0x0,parser_1['normalize'])(_0x3bef2b[_0xeee07b(0x130)]);if(!_0x58cf68||_0x268e49[_0xeee07b(0x16b)](_0x58cf68))continue;_0x268e49[_0xeee07b(0x156)](_0x58cf68),_0x1656a0[_0xeee07b(0x137)]({'key':_0x58cf68,'text':_0x3bef2b[_0xeee07b(0x167)],'product':_0x3bef2b[_0xeee07b(0x130)],'market':_0x3bef2b[_0xeee07b(0x146)],'guessedCategory':_0x3bef2b[_0xeee07b(0x13e)],'ambiguousMarketSuffix':_0x3bef2b[_0xeee07b(0x162)]});}return _0x1656a0;}function mergeUnknownProducts(_0x61aa1,_0x207a39,_0x2fda93,_0x12e29d,_0x55fa60=''){const _0x1232bd=_0x5624b6,_0x3ce63c=_0x2fda93[_0x1232bd(0x14f)](_0x3c50fd=>({..._0x3c50fd})),_0x1a6c8b=[],_0x5c2259=new Set(_0x3ce63c[_0x1232bd(0x13b)](_0x1d8957=>[_0x1d8957[_0x1232bd(0x147)],...String(_0x1d8957[_0x1232bd(0x13f)]||'')[_0x1232bd(0x158)](/[;,]/)])['map'](parser_1['canonicalProductKey'])[_0x1232bd(0x14b)](Boolean)),_0x5ccf12=collectUnknownItems(_0x61aa1,_0x207a39,_0x3ce63c,_0x12e29d,_0x55fa60);for(const _0x332884 of _0x5ccf12){const _0x35374a=String(_0x332884[_0x1232bd(0x173)]||'')['trim'](),_0x28c671=(0x0,parser_1['canonicalProductKey'])(_0x35374a);if(!_0x28c671||_0x5c2259[_0x1232bd(0x16b)](_0x28c671))continue;if(_0x332884['ambiguousMarketSuffix'])continue;const _0x28da19=(0x0,parser_1[_0x1232bd(0x16e)])(_0x35374a,_0x3ce63c);if(_0x28da19)continue;const _0x1f574b={'name':_0x35374a,'aliases':'','category':_0x332884['guessedCategory']||_0x1232bd(0x16a),'defaultMarket':'','availableMarkets':''};_0x3ce63c['push'](_0x1f574b),_0x1a6c8b['push'](_0x1f574b),_0x5c2259['add'](_0x28c671);}return{'products':_0x3ce63c,'learned':_0x1a6c8b};}function mergeReviewQueue(_0x5131bc,_0xc212ab,_0x1f2805=new Date()[_0x5624b6(0x12f)]()){const _0x9aae99=_0x5624b6,_0xc834d7=new Map(_0x5131bc[_0x9aae99(0x14f)](_0xd04145=>[_0xd04145['key'],{..._0xd04145}]));for(const _0x1495f4 of _0xc212ab){const _0x3ce110=_0xc834d7[_0x9aae99(0x15d)](_0x1495f4[_0x9aae99(0x15c)]);if(_0x3ce110?.['action']===_0x9aae99(0x153)){_0xc834d7[_0x9aae99(0x136)](_0x1495f4['key'],_0x3ce110);continue;}const _0x25b18e={'key':_0x1495f4[_0x9aae99(0x15c)],'text':_0x1495f4['text'],'product':_0x3ce110?.['product']||_0x1495f4['product'],'guessedCategory':_0x1495f4['guessedCategory'],'market':_0x1495f4[_0x9aae99(0x146)],'category':_0x3ce110?.[_0x9aae99(0x13e)]||_0x1495f4[_0x9aae99(0x15e)],'defaultMarket':_0x3ce110?.[_0x9aae99(0x16f)]||'','aliases':_0x3ce110?.['aliases']||'','action':_0x3ce110?.['action']||'pending','firstSeen':_0x3ce110?.['firstSeen']||_0x1f2805,'lastSeen':_0x1f2805},_0x31f99c=Boolean(_0x3ce110)&&_0x3ce110[_0x9aae99(0x143)]===_0x25b18e[_0x9aae99(0x143)]&&_0x3ce110['product']===_0x25b18e[_0x9aae99(0x173)]&&_0x3ce110[_0x9aae99(0x15e)]===_0x25b18e[_0x9aae99(0x15e)]&&_0x3ce110['market']===_0x25b18e['market']&&_0x3ce110[_0x9aae99(0x13e)]===_0x25b18e[_0x9aae99(0x13e)]&&_0x3ce110[_0x9aae99(0x16f)]===_0x25b18e[_0x9aae99(0x16f)]&&_0x3ce110[_0x9aae99(0x13f)]===_0x25b18e[_0x9aae99(0x13f)]&&_0x3ce110[_0x9aae99(0x170)]===_0x25b18e['action']&&_0x3ce110[_0x9aae99(0x14c)]===_0x25b18e[_0x9aae99(0x14c)];_0xc834d7['set'](_0x1495f4['key'],_0x31f99c?_0x3ce110:_0x25b18e);}return[..._0xc834d7['values']()]['sort']((_0x54622b,_0x2dc2e8)=>_0x54622b[_0x9aae99(0x173)]['localeCompare'](_0x2dc2e8['product'],'de',{'sensitivity':'base'}));}function applyReviewActions(_0x1debc6,_0x5d460a){const _0xad7eae=_0x5624b6,_0x5222f3=_0x1debc6['map'](_0x1422ff=>({..._0x1422ff})),_0x287888=[],_0x339975=[];for(const _0x941040 of _0x5d460a){if(_0x941040[_0xad7eae(0x170)]!==_0xad7eae(0x140)){_0x339975['push']({..._0x941040});continue;}const _0x158c4c=String(_0x941040[_0xad7eae(0x173)]||'')[_0xad7eae(0x13c)]();if(!_0x158c4c)continue;const _0x33fc09=(0x0,parser_1[_0xad7eae(0x16e)])(_0x158c4c,_0x5222f3);if(_0x33fc09){if(_0x941040[_0xad7eae(0x13e)])_0x33fc09['category']=_0x941040['category'];if(_0x941040['defaultMarket']!==undefined)_0x33fc09['defaultMarket']=_0x941040[_0xad7eae(0x16f)];if(_0x941040[_0xad7eae(0x13f)]){const _0x3fd1ec=new Set(String(_0x33fc09['aliases']||'')[_0xad7eae(0x158)](/[;,]/)[_0xad7eae(0x14f)](_0x266106=>_0x266106['trim']())[_0xad7eae(0x14b)](Boolean));for(const _0x19104c of _0x941040[_0xad7eae(0x13f)][_0xad7eae(0x158)](/[;,]/)[_0xad7eae(0x14f)](_0x463389=>_0x463389[_0xad7eae(0x13c)]())[_0xad7eae(0x14b)](Boolean))_0x3fd1ec['add'](_0x19104c);_0x33fc09[_0xad7eae(0x13f)]=[..._0x3fd1ec][_0xad7eae(0x132)](',');}_0x287888['push']({..._0x33fc09});continue;}const _0x2fedd2={'name':_0x158c4c,'aliases':String(_0x941040[_0xad7eae(0x13f)]||''),'category':String(_0x941040['category']||_0x941040[_0xad7eae(0x15e)]||'Sonstiges'),'defaultMarket':String(_0x941040[_0xad7eae(0x16f)]||''),'availableMarkets':''};_0x5222f3[_0xad7eae(0x137)](_0x2fedd2),_0x287888[_0xad7eae(0x137)](_0x2fedd2);}return{'products':_0x5222f3[_0xad7eae(0x141)]((_0x2cf29f,_0x97f782)=>_0x2cf29f[_0xad7eae(0x147)]['localeCompare'](_0x97f782[_0xad7eae(0x147)],'de',{'sensitivity':_0xad7eae(0x14d)})),'remainingReviews':_0x339975,'accepted':_0x287888};}function _0x37f6(){const _0x4274e9=['push','from','activeItems','__esModule','flatMap','trim','\x20/\x20','category','aliases','accept','sort','4823358GwsEio','text','defineProperty','length','market','name','localeCompare','normalize','3187590EXgQrH','filter','firstSeen','base','sortSlotsOldestFirst','map','Änderungen:\x20','705190sRbRrn','number','ignore','16tdRByc','./parser','add','toTimestamp','split','value','isFinite','marketOrder','key','get','guessedCategory','completed','formatMarketHeader','7388vXZNCw','ambiguousMarketSuffix','mergeReviewQueue','canonicalProductKey','176dUSerW','categoryOrder','originalText','order','applyReviewActions','Sonstiges','has','findIndex','43989690aIsSOY','findProduct','defaultMarket','action','createdDateTime','buildDesiredItems','product','knownProduct','parsed','string','mergeUnknownProducts','7HViwbk','toISOString','productName','find','join','Aktive\x20Plätze:\x20','5426262bfTulZ','4872364aEjnsP','set'];_0x37f6=function(){return _0x4274e9;};return _0x37f6();}function _0x1af6(_0x35a2fd,_0x32c3ee){_0x35a2fd=_0x35a2fd-0x12c;const _0x37f6ac=_0x37f6();let _0x1af627=_0x37f6ac[_0x35a2fd];return _0x1af627;}function makePreviewText(_0x5bdd0d,_0x51e418){const _0x6c1156=_0x5624b6,_0x3b4ced=['Liste:\x20'+_0x5bdd0d,_0x6c1156(0x133)+_0x51e418[_0x6c1156(0x145)],_0x6c1156(0x150)+_0x51e418[_0x6c1156(0x14b)](_0x579bc0=>_0x579bc0['changed'])['length']];for(const _0x5e0695 of _0x51e418){const _0x3ce62e=_0x5e0695['changed']?'→':'=';_0x3b4ced['push'](String(_0x5e0695['position'])['padStart'](0x2,'0')+'.\x20'+_0x5e0695[_0x6c1156(0x138)]+'\x20'+_0x3ce62e+'\x20'+_0x5e0695['to']+'\x20['+_0x5e0695[_0x6c1156(0x146)]+_0x6c1156(0x13d)+_0x5e0695[_0x6c1156(0x13e)]+']');}return _0x3b4ced[_0x6c1156(0x132)]('\x0a');}
@@ -1 +1 @@
1
- 'use strict';const _0x39cfc0=_0x9876;(function(_0x402a84,_0x7c4bbe){const _0x46299e=_0x9876,_0x10fb3f=_0x402a84();while(!![]){try{const _0x22ed26=-parseInt(_0x46299e(0x17c))/0x1+parseInt(_0x46299e(0x193))/0x2*(-parseInt(_0x46299e(0x18d))/0x3)+-parseInt(_0x46299e(0x194))/0x4+parseInt(_0x46299e(0x17d))/0x5+parseInt(_0x46299e(0x190))/0x6+-parseInt(_0x46299e(0x18a))/0x7+parseInt(_0x46299e(0x180))/0x8;if(_0x22ed26===_0x7c4bbe)break;else _0x10fb3f['push'](_0x10fb3f['shift']());}catch(_0x56b02a){_0x10fb3f['push'](_0x10fb3f['shift']());}}}(_0x2a9e,0x767ec));Object['defineProperty'](exports,_0x39cfc0(0x182),{'value':!![]}),exports[_0x39cfc0(0x18c)]=emptyUsageStatistics,exports[_0x39cfc0(0x183)]=normalizeUsageStatistics,exports[_0x39cfc0(0x17f)]=recordAddedItem;function emptyUsageStatistics(_0x1affa1=new Date()){const _0x5ad164=_0x39cfc0,_0x429823=_0x1affa1[_0x5ad164(0x188)]();return{'startedAt':_0x429823,'lastUpdated':_0x429823,'totalAddedItems':0x0,'byProduct':{},'byMarket':{},'byCategory':{},'byList':{},'automaticLearned':0x0,'reviewAccepted':0x0,'reviewIgnored':0x0};}function _0x9876(_0x62bda2,_0x158e10){_0x62bda2=_0x62bda2-0x17c;const _0x2a9e22=_0x2a9e();let _0x9876ac=_0x2a9e22[_0x62bda2];return _0x9876ac;}function _0x2a9e(){const _0x3042c0=['5102328lygcql','reviewAccepted','emptyUsageStatistics','470754vDdQku','byList','byProduct','2442948BtvMKD','isArray','object','2LhNINg','240220vTjfel','max','790612advIeE','4707435UjpupI','lastUpdated','recordAddedItem','6985600HfYwrK','startedAt','__esModule','normalizeUsageStatistics','byCategory','automaticLearned','totalAddedItems','productName','toISOString','byMarket'];_0x2a9e=function(){return _0x3042c0;};return _0x2a9e();}function normalizeUsageStatistics(_0x54bd06,_0x206ad5=new Date()){const _0xae4abc=_0x39cfc0,_0x538236=emptyUsageStatistics(_0x206ad5);if(!_0x54bd06||typeof _0x54bd06!==_0xae4abc(0x192)||Array[_0xae4abc(0x191)](_0x54bd06))return _0x538236;const _0x314fb1=_0x54bd06;return{'startedAt':String(_0x314fb1[_0xae4abc(0x181)]||_0x538236['startedAt']),'lastUpdated':String(_0x314fb1['lastUpdated']||_0x538236[_0xae4abc(0x17e)]),'totalAddedItems':Math['max'](0x0,Number(_0x314fb1[_0xae4abc(0x186)])||0x0),'byProduct':{..._0x314fb1[_0xae4abc(0x18f)]||{}},'byMarket':{..._0x314fb1[_0xae4abc(0x189)]||{}},'byCategory':{..._0x314fb1[_0xae4abc(0x184)]||{}},'byList':{..._0x314fb1[_0xae4abc(0x18e)]||{}},'automaticLearned':Math[_0xae4abc(0x195)](0x0,Number(_0x314fb1[_0xae4abc(0x185)])||0x0),'reviewAccepted':Math[_0xae4abc(0x195)](0x0,Number(_0x314fb1[_0xae4abc(0x18b)])||0x0),'reviewIgnored':Math['max'](0x0,Number(_0x314fb1['reviewIgnored'])||0x0)};}function increment(_0x196c78,_0x5bb2cc){const _0x33fd34=String(_0x5bb2cc||'')['trim']()||'Unbekannt';_0x196c78[_0x33fd34]=(Number(_0x196c78[_0x33fd34])||0x0)+0x1;}function recordAddedItem(_0x6e498c,_0x1be7dc,_0x191ed6){const _0x59aacd=_0x39cfc0,_0x46a350=normalizeUsageStatistics(_0x6e498c);return _0x46a350['totalAddedItems']+=0x1,_0x46a350['lastUpdated']=new Date()['toISOString'](),increment(_0x46a350['byProduct'],_0x191ed6[_0x59aacd(0x187)]),increment(_0x46a350['byMarket'],_0x191ed6['market']),increment(_0x46a350[_0x59aacd(0x184)],_0x191ed6['category']),increment(_0x46a350[_0x59aacd(0x18e)],_0x1be7dc),_0x46a350;}
1
+ 'use strict';const _0x397302=_0x16aa;function _0x5237(){const _0x4788af=['byCategory','377064nyeLKN','7ImchrP','1136508ziHdXw','reviewIgnored','startedAt','emptyUsageStatistics','reviewAccepted','248MaChWa','byList','6313720ySAXsA','isArray','trim','2732091gbVdbD','object','11915qLGPjG','1898740GoDIFs','Unbekannt','normalizeUsageStatistics','max','9JkEtuz','market','byMarket','byProduct','5253910FePaCE','lastUpdated','productName'];_0x5237=function(){return _0x4788af;};return _0x5237();}(function(_0x5638e5,_0x187267){const _0x37bc8c=_0x16aa,_0x4d5798=_0x5638e5();while(!![]){try{const _0x33c04c=parseInt(_0x37bc8c(0xe5))/0x1+-parseInt(_0x37bc8c(0xf4))/0x2+parseInt(_0x37bc8c(0xf1))/0x3+-parseInt(_0x37bc8c(0xec))/0x4*(parseInt(_0x37bc8c(0xf3))/0x5)+parseInt(_0x37bc8c(0xe7))/0x6*(parseInt(_0x37bc8c(0xe6))/0x7)+parseInt(_0x37bc8c(0xee))/0x8+-parseInt(_0x37bc8c(0xf8))/0x9*(parseInt(_0x37bc8c(0xfc))/0xa);if(_0x33c04c===_0x187267)break;else _0x4d5798['push'](_0x4d5798['shift']());}catch(_0x44da20){_0x4d5798['push'](_0x4d5798['shift']());}}}(_0x5237,0x9d32f));function _0x16aa(_0x37fc3b,_0x2a3ccd){_0x37fc3b=_0x37fc3b-0xe2;const _0x523701=_0x5237();let _0x16aa0d=_0x523701[_0x37fc3b];return _0x16aa0d;}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports[_0x397302(0xea)]=emptyUsageStatistics,exports[_0x397302(0xf6)]=normalizeUsageStatistics,exports['recordAddedItem']=recordAddedItem;function emptyUsageStatistics(_0x337577=new Date()){const _0x1171f3=_0x337577['toISOString']();return{'startedAt':_0x1171f3,'lastUpdated':_0x1171f3,'totalAddedItems':0x0,'byProduct':{},'byMarket':{},'byCategory':{},'byList':{},'automaticLearned':0x0,'reviewAccepted':0x0,'reviewIgnored':0x0};}function normalizeUsageStatistics(_0x4e0aa9,_0x5b69ba=new Date()){const _0x15e267=_0x397302,_0x1eae88=emptyUsageStatistics(_0x5b69ba);if(!_0x4e0aa9||typeof _0x4e0aa9!==_0x15e267(0xf2)||Array[_0x15e267(0xef)](_0x4e0aa9))return _0x1eae88;const _0x55d03a=_0x4e0aa9;return{'startedAt':String(_0x55d03a[_0x15e267(0xe9)]||_0x1eae88['startedAt']),'lastUpdated':String(_0x55d03a[_0x15e267(0xe2)]||_0x1eae88['lastUpdated']),'totalAddedItems':Math[_0x15e267(0xf7)](0x0,Number(_0x55d03a['totalAddedItems'])||0x0),'byProduct':{..._0x55d03a[_0x15e267(0xfb)]||{}},'byMarket':{..._0x55d03a['byMarket']||{}},'byCategory':{..._0x55d03a[_0x15e267(0xe4)]||{}},'byList':{..._0x55d03a[_0x15e267(0xed)]||{}},'automaticLearned':Math[_0x15e267(0xf7)](0x0,Number(_0x55d03a['automaticLearned'])||0x0),'reviewAccepted':Math[_0x15e267(0xf7)](0x0,Number(_0x55d03a[_0x15e267(0xeb)])||0x0),'reviewIgnored':Math['max'](0x0,Number(_0x55d03a[_0x15e267(0xe8)])||0x0)};}function increment(_0x483537,_0x1d88d5){const _0x11a620=_0x397302,_0xfe0ce6=String(_0x1d88d5||'')[_0x11a620(0xf0)]()||_0x11a620(0xf5);_0x483537[_0xfe0ce6]=(Number(_0x483537[_0xfe0ce6])||0x0)+0x1;}function recordAddedItem(_0x5d280c,_0x66c726,_0x1aa85a){const _0x4790db=_0x397302,_0x50bde6=normalizeUsageStatistics(_0x5d280c);return _0x50bde6['totalAddedItems']+=0x1,_0x50bde6['lastUpdated']=new Date()['toISOString'](),increment(_0x50bde6[_0x4790db(0xfb)],_0x1aa85a[_0x4790db(0xe3)]),increment(_0x50bde6[_0x4790db(0xfa)],_0x1aa85a[_0x4790db(0xf9)]),increment(_0x50bde6[_0x4790db(0xe4)],_0x1aa85a['category']),increment(_0x50bde6[_0x4790db(0xed)],_0x66c726),_0x50bde6;}
package/build/main.js CHANGED
@@ -1 +1 @@
1
- 'use strict';const _0xf7bcd5=_0x44ef;(function(_0x2f9a30,_0x5eaec5){const _0x4a7b01=_0x44ef,_0x19b5da=_0x2f9a30();while(!![]){try{const _0x35d74b=parseInt(_0x4a7b01(0x120))/0x1*(-parseInt(_0x4a7b01(0x16a))/0x2)+parseInt(_0x4a7b01(0x114))/0x3*(parseInt(_0x4a7b01(0x13b))/0x4)+parseInt(_0x4a7b01(0x15a))/0x5*(parseInt(_0x4a7b01(0x1c7))/0x6)+-parseInt(_0x4a7b01(0x10b))/0x7+-parseInt(_0x4a7b01(0x12b))/0x8*(parseInt(_0x4a7b01(0xcb))/0x9)+-parseInt(_0x4a7b01(0xdb))/0xa+-parseInt(_0x4a7b01(0x1f0))/0xb*(-parseInt(_0x4a7b01(0x117))/0xc);if(_0x35d74b===_0x5eaec5)break;else _0x19b5da['push'](_0x19b5da['shift']());}catch(_0x3898f2){_0x19b5da['push'](_0x19b5da['shift']());}}}(_0x4cb1,0xb42b2));var __createBinding=this&&this[_0xf7bcd5(0x1ae)]||(Object[_0xf7bcd5(0x21b)]?function(_0x3fd6ab,_0x359a03,_0x5598db,_0x15d19b){const _0x23ea02=_0xf7bcd5;if(_0x15d19b===undefined)_0x15d19b=_0x5598db;var _0x16ce2e=Object[_0x23ea02(0x170)](_0x359a03,_0x5598db);(!_0x16ce2e||('get'in _0x16ce2e?!_0x359a03[_0x23ea02(0xfe)]:_0x16ce2e[_0x23ea02(0x127)]||_0x16ce2e[_0x23ea02(0x21a)]))&&(_0x16ce2e={'enumerable':!![],'get':function(){return _0x359a03[_0x5598db];}}),Object[_0x23ea02(0x1ed)](_0x3fd6ab,_0x15d19b,_0x16ce2e);}:function(_0x41f67f,_0x3cb490,_0x575a65,_0x5474b8){if(_0x5474b8===undefined)_0x5474b8=_0x575a65;_0x41f67f[_0x5474b8]=_0x3cb490[_0x575a65];}),__setModuleDefault=this&&this[_0xf7bcd5(0x15b)]||(Object[_0xf7bcd5(0x21b)]?function(_0x9bba38,_0x5ad28d){const _0x1f8118=_0xf7bcd5;Object[_0x1f8118(0x1ed)](_0x9bba38,_0x1f8118(0x106),{'enumerable':!![],'value':_0x5ad28d});}:function(_0x206902,_0x501bfa){const _0x891e28=_0xf7bcd5;_0x206902[_0x891e28(0x106)]=_0x501bfa;}),__importStar=this&&this['__importStar']||(function(){var _0x4de64b=function(_0x3841d5){const _0x4640e0=_0x44ef;return _0x4de64b=Object[_0x4640e0(0xd3)]||function(_0x599080){const _0x3d9e40=_0x4640e0;var _0x273ccb=[];for(var _0x4f6c65 in _0x599080)if(Object[_0x3d9e40(0xc7)][_0x3d9e40(0x193)]['call'](_0x599080,_0x4f6c65))_0x273ccb[_0x273ccb[_0x3d9e40(0x123)]]=_0x4f6c65;return _0x273ccb;},_0x4de64b(_0x3841d5);};return function(_0x16d30e){const _0x5e15a3=_0x44ef;if(_0x16d30e&&_0x16d30e['__esModule'])return _0x16d30e;var _0x3963f8={};if(_0x16d30e!=null){for(var _0x4af3d8=_0x4de64b(_0x16d30e),_0x28a9af=0x0;_0x28a9af<_0x4af3d8[_0x5e15a3(0x123)];_0x28a9af++)if(_0x4af3d8[_0x28a9af]!==_0x5e15a3(0x106))__createBinding(_0x3963f8,_0x16d30e,_0x4af3d8[_0x28a9af]);}return __setModuleDefault(_0x3963f8,_0x16d30e),_0x3963f8;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['ShoppingRoute']=void 0x0;function _0x4cb1(){const _0x23b7ce=['writePauseMs','control.temporaryPriorityMarket','parseConfigImport','ensureTrafficDay','control.sortNow','command','lastVersionCheck','SHOP','getForeignObjectAsync','Timeout','Alexa-Listen\x20konnten\x20für\x20','Wurst/Salate/Teigwaren','Für\x20den\x20Kompatibilitätstest\x20wird\x20mindestens\x20ein\x20aktiver\x20Listeneintrag\x20benötigt.','createSortPlan','__none__','control.resetStatistics','checkNpmVersion','readFileSync','Marktprofil\x20„','H-Milch/Nudeln','runtimeReviews','alias','scheduleSort','runLiveCompatibilityTest','30qlnlym','learningMode','/Minute\x20erreicht,\x20Pause\x20','status','ShoppingRoute','info.lastError','Kompatibilitätstest:\x20','runtimeRoutes','unknown','automaticLearned','info.statistics','info.plannedChangesToday','\x20–\x20BETA-Sicherheitsblock:\x20keine\x20Alexa-Schreibzugriffe','routes','utf8','string','Alexa-Schreibzugriffe\x20blockiert:\x20Schreibkompatibilität\x20noch\x20nicht\x20bestätigt;\x20control.compatibilityTest\x20ausführen.','info.updateAvailable','info.versionInstalled','abortedRuns','next','canWriteAlexa','version','info.lastPlan','writeCapability','info.activeItemsByList','onReady','info.preview','callback','info.previewText','trim','markets','error','Keine\x20aktive\x20Alexa-Liste\x20konfiguriert.','\x20Änderung(en),\x20','\x20Änderung(en)','Produktgruppen\x20konnten\x20nicht\x20initialisiert\x20werden:\x20','shoppingrouteBackup','defineProperty','control.importConfigJson','get','27918935SnxYWJ','ensureMarketRoutes','info.marketProfiles','info','add','\x20–\x20','Alexa-Schreibzugriffe\x20blockiert:\x20bekannte\x20fehlerhafte\x20alexa-remote2\x20version-Query\x20erkannt.','wait','armSortTimer','live-failed','detail','ShoppingRoute-Konfiguration\x20importiert;\x20Instanz\x20wird\x20durch\x20ioBroker\x20neu\x20gestartet.','\x20in\x20','changed','@iobroker/adapter-core','\x20–\x20npm-Abfrage\x20fehlgeschlagen:\x20','isEnabled','reviewsDirty','alexa2Version','setForeignStateAsync','Ungültige\x20JSON-Antwort','min','fallbackMarket','sortList','dirname','\x20aktive\x20Artikel,\x20','endsWith','alexa-remote2','review','Alexa-Wertedatenpunkt\x20fehlt:\x20','max','base','value','fromEntries','now','info.localChecksToday','traffic','control.enabled','system.adapter.','info.feedbackReport','findPackageVersion','https://registry.npmjs.org/iobroker.shoppingroute','configurable','create','shoppingroute','map','onStateChange','sortingListName','productText','subscribeStates','maxWriteRetries','.items.','findProduct','info.connection','.json','collectUnknownItems','stringify','inspectAlexaRemoteSource','info.unknownItems','clearInterval','prototype','recordAddedItem','alexaRemote2Version','onUnload','36aaviaL','namespace','products','getStateAsync','state','\x20Dry-Run:\x20','keys','Fleisch/Fisch','getOwnPropertyNames','alexaInstance','info.configExport','getMarkets','exportConfig','info.versionBeta','buildMarketProfiles','parseItem','1827810hxclBc','ensureProductGroupsConfig','updateActiveItemCount','sendTo','./lib/parser','Nonfood','TK-Produkte','lastUpdated','.Lists.','updateConfig','control.marketProfileImport','label','statusCode','find','plannedChanges','debounceMs','temporaryPriorityMarket','priorityMarketForList','\x20Änderung(en)\x20geplant','sort','alexa-remote2\x20konnte\x20nicht\x20automatisch\x20geprüft\x20werden:\x20','setEncoding','persistTrafficMetrics','knownActiveIds','processPendingSorts','dist-tags','normalizeTrafficMetrics','enabled','runtimeProducts','noch\x20nicht','\x20Schreibzugriffen\x20(','waitForWriteBudget','getMarketsOptional','beta','apiSafeMode','__esModule','httpJson','Noch\x20nicht\x20ausgeführt.','listConfigs','“\x20importiert.','Sonstiges','Instanzobjekt\x20nicht\x20gefunden:\x20','updateCompatibilityDiagnostics','default','latestBetaVersion','compatibilityDetail','ready','activeIdSignature','3984883vYlaaw',':\x20Liste\x20wurde\x20während\x20der\x20Sortierung\x20ergänzt\x20oder\x20abgehakt.\x20Neue\x20Berechnung\x20folgt.','\x20aktiv','val','resume','remainingReviews','ack','Brot/Gebäck','Der\x20Testeintrag\x20enthält\x20keinen\x20sichtbaren\x20value-Text.','21399GjGYNs','emptyTrafficMetrics','from','12mjFLmz','productsDirty','log','localeCompare','isArray','delete','Alexa-value-Schreibzugriff\x20fehlgeschlagen;\x20Retry\x20','values','info.lastSort','596881uMZQyj','compatibilityWrites','maxWritesPerMinute','length','retryBaseMs','node:fs','Zählt\x20Operationen,\x20keine\x20Netzwerk-Bytes.','writable','mergeReviewQueue','unbekannt','set','1309864lTTUnV','native','Adapter','.value','unload','control.resetTrafficStats','updateFeedbackReport','setError','./adapter/shoppingroute/backup-transfer.html?instance=','Neue\x20Artikel\x20automatisch\x20gelernt:\x20','getLists','\x20–\x20npm\x20beta:\x20','listChangedDuringSort','join','has','reduce','4ylxQOl','accepted','API-Schonmodus:\x20Batch-Pause\x20nach\x20','lastAlexaWrite',':\x20Alexa\x20hat\x20','includes','clearTimeout','getActiveMarkets',':\x20Eintrag\x20wurde\x20während\x20der\x20Sortierung\x20verändert.\x20Neue\x20Berechnung\x20folgt.','lastSortRun','push','Älteste\x20bis\x20neueste\x20/\x20Oldest\x20to\x20newest','Live-Test\x20konnte\x20nicht\x20abgeschlossen\x20werden:\x20','cfg','control.compatibilityTest','info.compatibility','scheduleAll',':\x20bereits\x20sortiert\x20(','readList','info.abortedRunsToday','setTimeout','name','localChecks','off','.\x20Lernmodus:\x20','getForeignStateAsync','data','bind','lists','statistics','ensureRoutesForMarketsAndGroups','196615QIbJik','__setModuleDefault','latest','parse','discoverAlexaLists','recordNewItems','Alexa-Liste\x20nicht\x20gefunden:\x20','live-ok','refreshExports','routesDirty','persistStatistics','\x20–\x20FEHLER:\x20','unshift','info.sortRunsToday','productGroups','info.reviewQueue','2jhTDCo','Haushalt/Hygiene','activeItems','stateChange','added','emptyUsageStatistics','getOwnPropertyDescriptor','date','setForeignObjectAsync','warn','reviewAccepted','control.refreshFeedbackReport','info.aliasSuggestions','info.traffic','alexaWrites','batchPauseMs','slice','pendingLists','onMessage','\x20aktiv)','lastCompatibilityTest','getAlexaLists','—\x20Kein\x20Markt\x20—','info.versionCheck','learned','makePreviewText','alexa2.0','compatibilityTesting','toLocaleLowerCase','toISOString','getForeignObjectsAsync','end','batchSize','node:https','package.json','automatic','updateTemporaryMarketStateOptions','WICHTIG:\x20Die\x20Alexa-App\x20muss\x20für\x20jede\x20verwaltete\x20Liste\x20auf\x20„Älteste\x20bis\x20neueste“\x20gestellt\x20sein.','setStateAsync','persistRuntimeConfig','dryRun','hasOwnProperty','./lib/statistics','listStateId','Kosmetikartikel','reviewItems','sortTimer','activeCountByList','getProductGroups','Listen:\x20','size','message','Produktnamen,\x20Einkaufslistentexte,\x20Aliase\x20und\x20komplette\x20Konfiguration\x20sind\x20absichtlich\x20nicht\x20enthalten.','suggestAliases','mergeUnknownProducts','sortSlotsOldestFirst','Getränke','API-Schonmodus:\x20Schreiblimit\x20','control.clearTemporaryPriorityMarket','info.activeItems','filter','Tee/Kaffee','priorityMarket','setState','sortRuns','getBackupUiUrl','writeTimestamps','versionTimer','__createBinding'];_0x4cb1=function(){return _0x23b7ce;};return _0x4cb1();}function _0x44ef(_0x47bf67,_0x306062){_0x47bf67=_0x47bf67-0xbf;const _0x4cb192=_0x4cb1();let _0x44ef1d=_0x4cb192[_0x47bf67];return _0x44ef1d;}const utils=__importStar(require(_0xf7bcd5(0x1fe))),fs=__importStar(require(_0xf7bcd5(0x125))),path=__importStar(require('node:path')),https=__importStar(require(_0xf7bcd5(0x18b))),compatibility_1=require('./lib/compatibility'),metrics_1=require('./lib/metrics'),sorter_1=require('./lib/sorter'),parser_1=require(_0xf7bcd5(0xdf)),config_tools_1=require('./lib/config-tools'),statistics_1=require(_0xf7bcd5(0x194)),VERSION='0.2.0',DEFAULT_CATEGORIES=['Obst/Gemüse',_0xf7bcd5(0x1a7),_0xf7bcd5(0x112),'Schokolade/Naschen',_0xf7bcd5(0xd2),_0xf7bcd5(0x1ba),'Milchprodukte',_0xf7bcd5(0x16b),_0xf7bcd5(0xe0),'Konserven',_0xf7bcd5(0x1c2),_0xf7bcd5(0x196),_0xf7bcd5(0x1a2),_0xf7bcd5(0xe1),_0xf7bcd5(0x103)];class ShoppingRoute extends utils[_0xf7bcd5(0x12d)]{[_0xf7bcd5(0x198)]=null;[_0xf7bcd5(0x1ad)]=null;[_0xf7bcd5(0x17b)]=new Set();['sortingListName']='';[_0xf7bcd5(0x137)]=![];[_0xf7bcd5(0xf7)]=[];[_0xf7bcd5(0x1c3)]=[];['productsDirty']=![];[_0xf7bcd5(0x201)]=![];[_0xf7bcd5(0x163)]=![];['runtimeRoutes']=[];['compatibilityTesting']=![];[_0xf7bcd5(0x1df)]=_0xf7bcd5(0x1cf);[_0xf7bcd5(0x108)]='Noch\x20nicht\x20geprüft.';['alexa2Version']='unbekannt';[_0xf7bcd5(0xc9)]='unbekannt';[_0xf7bcd5(0x17e)]=_0xf7bcd5(0x100);['traffic']=(0x0,metrics_1[_0xf7bcd5(0x115)])();['statistics']=(0x0,statistics_1[_0xf7bcd5(0x16f)])();['knownActiveIds']=new Map();[_0xf7bcd5(0x199)]=new Map();[_0xf7bcd5(0x1ac)]=[];['temporaryPriorityMarket']='';[_0xf7bcd5(0x107)]='';['lastVersionCheck']='';constructor(_0x1ec6a2={}){const _0x18e4ac=_0xf7bcd5;super({..._0x1ec6a2,'name':_0x18e4ac(0x21c)}),this['on'](_0x18e4ac(0x109),this[_0x18e4ac(0x1e1)]['bind'](this)),this['on'](_0x18e4ac(0x16d),this[_0x18e4ac(0x21e)][_0x18e4ac(0x156)](this)),this['on'](_0x18e4ac(0x19d),this[_0x18e4ac(0x17c)]['bind'](this)),this['on'](_0x18e4ac(0x12f),this[_0x18e4ac(0xca)][_0x18e4ac(0x156)](this));}get[_0xf7bcd5(0x148)](){return this['config'];}get['alexaInstance'](){const _0x48f121=_0xf7bcd5;return String(this['cfg'][_0x48f121(0xd4)]||_0x48f121(0x184))[_0x48f121(0x1e5)]()||_0x48f121(0x184);}get[_0xf7bcd5(0x101)](){const _0x1adb18=_0xf7bcd5,_0x113252=Array['isArray'](this[_0x1adb18(0x148)][_0x1adb18(0x157)])?this[_0x1adb18(0x148)][_0x1adb18(0x157)][_0x1adb18(0x1a6)](_0x2b0182=>_0x2b0182&&_0x2b0182['name']&&_0x2b0182['enabled']!==![]):[];if(_0x113252[_0x1adb18(0x123)]>0x0)return _0x113252;return[{'name':String(this['cfg']['listName']||_0x1adb18(0x1b6))[_0x1adb18(0x1e5)]()||_0x1adb18(0x1b6),'enabled':!![],'priorityMarket':''}];}['listStateId'](_0x190314){const _0x303a40=_0xf7bcd5;return this[_0x303a40(0xd4)]+'.Lists.'+_0x190314+_0x303a40(0xc1);}get['markets'](){const _0x2c0f01=_0xf7bcd5,_0x684094=Array[_0x2c0f01(0x11b)](this[_0x2c0f01(0x148)][_0x2c0f01(0x1e6)])?this['cfg'][_0x2c0f01(0x1e6)]:[];return _0x684094[_0x2c0f01(0x1a6)](_0x177db4=>_0x177db4&&_0x177db4['name']&&_0x177db4[_0x2c0f01(0xf6)]!==![]);}get['routes'](){const _0x40b30b=_0xf7bcd5;return this[_0x40b30b(0x1ce)][_0x40b30b(0x123)]?this[_0x40b30b(0x1ce)]:Array[_0x40b30b(0x11b)](this[_0x40b30b(0x148)][_0x40b30b(0x1d4)])?this['cfg'][_0x40b30b(0x1d4)][_0x40b30b(0x1a6)](Boolean):[];}get['productGroups'](){const _0x271f66=_0xf7bcd5,_0x12c229=Array['isArray'](this[_0x271f66(0x148)][_0x271f66(0x168)])?this['cfg'][_0x271f66(0x168)]:[],_0x98832a=_0x12c229['length']>0x0?_0x12c229:DEFAULT_CATEGORIES[_0x271f66(0x21d)](_0x51f086=>({'name':_0x51f086})),_0x89d280=new Set(),_0x448314=[];for(const _0x552cfc of _0x98832a){const _0x2d5a77=String(_0x552cfc?.[_0x271f66(0x150)]||'')['trim'](),_0x14d9a9=_0x2d5a77['toLocaleLowerCase']('de');if(!_0x2d5a77||_0x89d280['has'](_0x14d9a9))continue;_0x89d280[_0x271f66(0x1f4)](_0x14d9a9),_0x448314[_0x271f66(0x145)]({'name':_0x2d5a77});}return _0x448314[_0x271f66(0xee)]((_0x46985a,_0x28348d)=>_0x46985a['name'][_0x271f66(0x11a)](_0x28348d[_0x271f66(0x150)],'de',{'sensitivity':_0x271f66(0x20f)}));}get[_0xf7bcd5(0xcd)](){const _0x1e6b9c=_0xf7bcd5;return this['runtimeProducts'][_0x1e6b9c(0x1a6)](_0x7483e1=>_0x7483e1&&_0x7483e1[_0x1e6b9c(0x150)]);}get[_0xf7bcd5(0x206)](){const _0x1cec17=_0xf7bcd5;return String(this['cfg'][_0x1cec17(0x206)]||'Ohne\x20Markt')[_0x1cec17(0x1e5)]()||'Ohne\x20Markt';}get[_0xf7bcd5(0x1a8)](){const _0x272e2a=_0xf7bcd5;return String(this[_0x272e2a(0x148)]['priorityMarket']||'')[_0x272e2a(0x1e5)]();}[_0xf7bcd5(0xec)](_0x4160f5){const _0x4ad051=_0xf7bcd5;if(this[_0x4ad051(0xeb)])return this[_0x4ad051(0xeb)];const _0x43b435=this['listConfigs'][_0x4ad051(0xe8)](_0x4c49ac=>_0x4c49ac[_0x4ad051(0x150)]===_0x4160f5);return String(_0x43b435?.[_0x4ad051(0x1a8)]||this['priorityMarket']||'')[_0x4ad051(0x1e5)]();}get[_0xf7bcd5(0x1c8)](){const _0x4d26ef=_0xf7bcd5,_0x523876=String(this[_0x4d26ef(0x148)][_0x4d26ef(0x1c8)]||'')[_0x4d26ef(0x1e5)]();if(_0x523876===_0x4d26ef(0x18d)||_0x523876===_0x4d26ef(0x20c)||_0x523876===_0x4d26ef(0x152))return _0x523876;return this['cfg']['autoLearnProducts']===![]?'off':'automatic';}get['debounceMs'](){const _0x4ebbd3=_0xf7bcd5;return Math[_0x4ebbd3(0x20e)](0xfa,Number(this[_0x4ebbd3(0x148)][_0x4ebbd3(0xea)])||0x1388);}get[_0xf7bcd5(0x1af)](){const _0x2626f8=_0xf7bcd5;return Math[_0x2626f8(0x20e)](0xfa,Number(this['cfg'][_0x2626f8(0x1af)])||0x3e8);}get[_0xf7bcd5(0x192)](){const _0x957640=_0xf7bcd5;return this['cfg'][_0x957640(0x192)]!==![];}get[_0xf7bcd5(0xfd)](){const _0x4f70cb=_0xf7bcd5;return this[_0x4f70cb(0x148)]['apiSafeMode']!==![];}get['maxWritesPerMinute'](){const _0x393856=_0xf7bcd5;return Math[_0x393856(0x20e)](0x1,Number(this[_0x393856(0x148)][_0x393856(0x122)])||0x14);}get['batchSize'](){const _0x34d2c0=_0xf7bcd5;return Math[_0x34d2c0(0x20e)](0x1,Number(this[_0x34d2c0(0x148)][_0x34d2c0(0x18a)])||0xa);}get[_0xf7bcd5(0x179)](){const _0x627f33=_0xf7bcd5;return Math[_0x627f33(0x20e)](0x0,Number(this['cfg']['batchPauseMs'])||0x1388);}get[_0xf7bcd5(0x222)](){const _0x4b0dce=_0xf7bcd5;return Math['max'](0x0,Math[_0x4b0dce(0x205)](0x5,Number(this[_0x4b0dce(0x148)]['maxWriteRetries'])||0x2));}get['retryBaseMs'](){const _0x11b9fb=_0xf7bcd5;return Math[_0x11b9fb(0x20e)](0xfa,Number(this[_0x11b9fb(0x148)]['retryBaseMs'])||0x5dc);}async[_0xf7bcd5(0x1e1)](){const _0x31f61d=_0xf7bcd5;this[_0x31f61d(0xf7)]=(Array[_0x31f61d(0x11b)](this['cfg']['products'])?this[_0x31f61d(0x148)][_0x31f61d(0xcd)]:[])[_0x31f61d(0x1a6)](_0x499ef0=>_0x499ef0&&_0x499ef0[_0x31f61d(0x150)])[_0x31f61d(0x21d)](_0x6f2723=>({..._0x6f2723}))['sort']((_0xac41eb,_0x411488)=>_0xac41eb['name']['localeCompare'](_0x411488['name'],'de',{'sensitivity':_0x31f61d(0x20f)})),this['runtimeReviews']=(Array['isArray'](this['cfg'][_0x31f61d(0x197)])?this['cfg'][_0x31f61d(0x197)]:[])[_0x31f61d(0x21d)](_0x43b2bf=>({..._0x43b2bf})),this['runtimeRoutes']=(0x0,config_tools_1['normalizeRoutesForAdmin'])(Array['isArray'](this['cfg'][_0x31f61d(0x1d4)])?this[_0x31f61d(0x148)][_0x31f61d(0x1d4)][_0x31f61d(0x1a6)](Boolean):[]),this[_0x31f61d(0x163)]=JSON[_0x31f61d(0xc3)](this[_0x31f61d(0x1ce)])!==JSON[_0x31f61d(0xc3)](Array['isArray'](this[_0x31f61d(0x148)][_0x31f61d(0x1d4)])?this['cfg'][_0x31f61d(0x1d4)]:[]),await this['loadTrafficMetrics'](),await this['loadStatistics']();const _0x487645=(0x0,sorter_1['applyReviewActions'])(this['runtimeProducts'],this[_0x31f61d(0x1c3)]);_0x487645[_0x31f61d(0x13c)]['length']&&(this['runtimeProducts']=_0x487645[_0x31f61d(0xcd)],this['runtimeReviews']=_0x487645[_0x31f61d(0x110)],this[_0x31f61d(0x118)]=!![],this[_0x31f61d(0x201)]=!![],this[_0x31f61d(0x158)][_0x31f61d(0x174)]+=_0x487645['accepted']['length'],await this[_0x31f61d(0x164)](),this[_0x31f61d(0x119)][_0x31f61d(0x1f3)]('Aus\x20der\x20Prüfliste\x20übernommen:\x20'+_0x487645[_0x31f61d(0x13c)]['map'](_0x3fe47e=>'„'+_0x3fe47e[_0x31f61d(0x150)]+'“')[_0x31f61d(0x138)](',\x20')+'.'));await this[_0x31f61d(0xdc)](),this[_0x31f61d(0x159)](),await this[_0x31f61d(0x18e)](),await this[_0x31f61d(0x191)](),await this['setStateAsync'](_0x31f61d(0xc0),![],!![]),await this[_0x31f61d(0x190)]('info.lastError','',!![]),await this[_0x31f61d(0x190)](_0x31f61d(0x1d9),VERSION,!![]),await this[_0x31f61d(0x190)](_0x31f61d(0x1b3),![],!![]),await this[_0x31f61d(0x190)](_0x31f61d(0x149),![],!![]),await this['setStateAsync'](_0x31f61d(0x130),![],!![]),await this[_0x31f61d(0x190)](_0x31f61d(0x1be),![],!![]),await this[_0x31f61d(0x190)]('control.exportConfig',![],!![]),await this[_0x31f61d(0x190)]('control.refreshFeedbackReport',![],!![]),await this['setStateAsync'](_0x31f61d(0x1a4),![],!![]);const _0x316a9f=await this[_0x31f61d(0xce)]('control.enabled');if(!_0x316a9f)await this[_0x31f61d(0x190)](_0x31f61d(0x215),!![],!![]);const _0x1c8d0d=await this[_0x31f61d(0xce)](_0x31f61d(0x1b0)),_0x1fbf11=String(_0x1c8d0d?.['val']??this[_0x31f61d(0x148)][_0x31f61d(0xeb)]??'')[_0x31f61d(0x1e5)]();this[_0x31f61d(0xeb)]=_0x1fbf11==='__none__'?'':_0x1fbf11,await this[_0x31f61d(0x190)](_0x31f61d(0x1b0),this[_0x31f61d(0xeb)]||'__none__',!![]),this[_0x31f61d(0x221)]('control.*');for(const _0x37370b of this[_0x31f61d(0x101)])this['subscribeForeignStates'](this['listStateId'](_0x37370b[_0x31f61d(0x150)]));let _0x1f6ec8=![];for(const _0x166f54 of this['listConfigs']){const _0x152389=await this[_0x31f61d(0x154)](this['listStateId'](_0x166f54['name']));if(!_0x152389||typeof _0x152389[_0x31f61d(0x10e)]!=='string'){this[_0x31f61d(0x119)][_0x31f61d(0x173)](_0x31f61d(0x160)+this[_0x31f61d(0x195)](_0x166f54[_0x31f61d(0x150)]));continue;}_0x1f6ec8=!![];try{const _0x50ec6c=JSON[_0x31f61d(0x15d)](_0x152389[_0x31f61d(0x10e)]),_0x4b160b=(0x0,sorter_1['activeItems'])(Array[_0x31f61d(0x11b)](_0x50ec6c)?_0x50ec6c:[]);this[_0x31f61d(0xf2)][_0x31f61d(0x12a)](_0x166f54['name'],new Set(_0x4b160b[_0x31f61d(0x21d)](_0x549392=>String(_0x549392['id'])))),this[_0x31f61d(0x199)][_0x31f61d(0x12a)](_0x166f54[_0x31f61d(0x150)],_0x4b160b[_0x31f61d(0x123)]);}catch{this['knownActiveIds'][_0x31f61d(0x12a)](_0x166f54[_0x31f61d(0x150)],new Set());}}await this['setStateAsync'](_0x31f61d(0xc0),_0x1f6ec8,!![]),await this['updateActiveItemCount']();if(!_0x1f6ec8){await this['setError']('Keine\x20der\x20konfigurierten\x20Alexa-Listen\x20ist\x20lesbar:\x20'+this[_0x31f61d(0x101)]['map'](_0x11cd1b=>_0x11cd1b[_0x31f61d(0x150)])[_0x31f61d(0x138)](',\x20'));return;}await this['runStartupCompatibilityCheck'](),await this['refreshExports'](),await this[_0x31f61d(0x1bf)](),await this['updateFeedbackReport'](),this[_0x31f61d(0x1ad)]=this['setInterval'](()=>void this[_0x31f61d(0x1bf)](),0x6*0x3c*0x3c*0x3e8),this['log'][_0x31f61d(0x173)]('ShoppingRoute\x20'+VERSION+'\x20BETA:\x20Dry-Run\x20ist\x20für\x20Ersttests\x20ausdrücklich\x20empfohlen.'),this[_0x31f61d(0x119)][_0x31f61d(0x1f3)](_0x31f61d(0x19b)+this[_0x31f61d(0x101)][_0x31f61d(0x21d)](_0x4be4b7=>_0x4be4b7[_0x31f61d(0x150)])[_0x31f61d(0x138)](',\x20')+_0x31f61d(0x153)+this['learningMode']+'.'),this[_0x31f61d(0x119)]['info'](_0x31f61d(0x18f)),this[_0x31f61d(0x14b)](0x2bc);}async[_0xf7bcd5(0x15e)](_0x571532=this['alexaInstance']){const _0x32abd4=_0xf7bcd5,_0x1d0ddb=String(_0x571532||this[_0x32abd4(0xd4)])[_0x32abd4(0x1e5)]()||this[_0x32abd4(0xd4)],_0x54bb78=_0x1d0ddb+_0x32abd4(0xe3),_0x5af22a=_0x32abd4(0xc1),_0x3d2a56=new Set();try{const _0x21be47=await this[_0x32abd4(0x188)](_0x1d0ddb+'.Lists.*.json',_0x32abd4(0xcf));for(const _0x2ba55a of Object[_0x32abd4(0xd1)](_0x21be47||{})){if(!_0x2ba55a['startsWith'](_0x54bb78)||!_0x2ba55a[_0x32abd4(0x20a)](_0x5af22a))continue;const _0x5947ee=_0x2ba55a[_0x32abd4(0x17a)](_0x54bb78[_0x32abd4(0x123)],-_0x5af22a[_0x32abd4(0x123)])['trim']();if(_0x5947ee&&!_0x5947ee[_0x32abd4(0x140)]('.'))_0x3d2a56['add'](_0x5947ee);}}catch(_0x35060a){this[_0x32abd4(0x119)]['debug'](_0x32abd4(0x1b9)+_0x1d0ddb+'\x20nicht\x20automatisch\x20gelesen\x20werden:\x20'+String(_0x35060a));}for(const _0xa2a0fc of this[_0x32abd4(0x101)])if(_0xa2a0fc['name'])_0x3d2a56[_0x32abd4(0x1f4)](String(_0xa2a0fc[_0x32abd4(0x150)])[_0x32abd4(0x1e5)]());return[..._0x3d2a56][_0x32abd4(0x1a6)](Boolean)[_0x32abd4(0xee)]((_0x247f9d,_0x40c836)=>_0x247f9d['localeCompare'](_0x40c836,'de',{'sensitivity':_0x32abd4(0x20f)}));}async['onMessage'](_0x226e7d){const _0xedb4d8=_0xf7bcd5;if(!_0x226e7d||!_0x226e7d[_0xedb4d8(0x1e3)])return;if(_0x226e7d[_0xedb4d8(0x1b4)]===_0xedb4d8(0x1ab)){this[_0xedb4d8(0xde)](_0x226e7d[_0xedb4d8(0x116)],_0x226e7d[_0xedb4d8(0x1b4)],{'openUrl':_0xedb4d8(0x133)+encodeURIComponent(this[_0xedb4d8(0xcc)]),'window':_0xedb4d8(0x1ec)},_0x226e7d[_0xedb4d8(0x1e3)]);return;}if(_0x226e7d[_0xedb4d8(0x1b4)]===_0xedb4d8(0x19a)){const _0xb5cfd=this['productGroups'][_0xedb4d8(0x21d)](_0x1b4d19=>({'value':_0x1b4d19[_0xedb4d8(0x150)],'label':_0x1b4d19['name']}))['sort']((_0x121841,_0x5a0016)=>_0x121841['label'][_0xedb4d8(0x11a)](_0x5a0016[_0xedb4d8(0xe6)],'de',{'sensitivity':'base'}));this['sendTo'](_0x226e7d[_0xedb4d8(0x116)],_0x226e7d[_0xedb4d8(0x1b4)],_0xb5cfd,_0x226e7d[_0xedb4d8(0x1e3)]);return;}if(_0x226e7d['command']===_0xedb4d8(0xd6)||_0x226e7d[_0xedb4d8(0x1b4)]==='getMarketsOptional'||_0x226e7d[_0xedb4d8(0x1b4)]===_0xedb4d8(0x142)){const _0x3721e1=_0x226e7d[_0xedb4d8(0x1b4)]===_0xedb4d8(0x142)?this[_0xedb4d8(0x1e6)]['filter'](_0x36b088=>_0x36b088['enabled']!==![]):this[_0xedb4d8(0x1e6)],_0x49f49c=_0x3721e1[_0xedb4d8(0x21d)](_0x123d17=>({'value':_0x123d17[_0xedb4d8(0x150)],'label':_0x123d17[_0xedb4d8(0x150)]}))[_0xedb4d8(0xee)]((_0x13c5fe,_0x483672)=>_0x13c5fe[_0xedb4d8(0xe6)][_0xedb4d8(0x11a)](_0x483672['label'],'de',{'sensitivity':_0xedb4d8(0x20f)}));if(_0x226e7d[_0xedb4d8(0x1b4)]===_0xedb4d8(0xfb))_0x49f49c[_0xedb4d8(0x166)]({'value':'','label':'—'});this['sendTo'](_0x226e7d[_0xedb4d8(0x116)],_0x226e7d[_0xedb4d8(0x1b4)],_0x49f49c,_0x226e7d['callback']);return;}if(_0x226e7d['command']===_0xedb4d8(0x17f)||_0x226e7d['command']===_0xedb4d8(0x135)){const _0x3e6ff0=String(_0x226e7d['message']?.['alexaInstance']||this[_0xedb4d8(0xd4)])[_0xedb4d8(0x1e5)]()||this['alexaInstance'],_0x33faf9=await this['discoverAlexaLists'](_0x3e6ff0),_0x71b070=_0x33faf9[_0xedb4d8(0x21d)](_0x5d0faa=>({'value':_0x5d0faa,'label':_0x5d0faa}));this['sendTo'](_0x226e7d['from'],_0x226e7d[_0xedb4d8(0x1b4)],_0x71b070,_0x226e7d['callback']);}}async[_0xf7bcd5(0x21e)](_0x52039a,_0x1c0190){const _0x2d5e72=_0xf7bcd5;if(!_0x1c0190)return;const _0xda2e3b=this['namespace']+'.';if(_0x52039a===_0xda2e3b+_0x2d5e72(0x1b3)&&!_0x1c0190[_0x2d5e72(0x111)]&&_0x1c0190[_0x2d5e72(0x10e)]===!![]){await this[_0x2d5e72(0x190)](_0x2d5e72(0x1b3),![],!![]),this['scheduleAll'](0x64);return;}if(_0x52039a===_0xda2e3b+_0x2d5e72(0x149)&&!_0x1c0190[_0x2d5e72(0x111)]&&_0x1c0190[_0x2d5e72(0x10e)]===!![]){await this[_0x2d5e72(0x190)](_0x2d5e72(0x149),![],!![]),await this[_0x2d5e72(0x1c6)]();return;}if(_0x52039a===_0xda2e3b+_0x2d5e72(0x130)&&!_0x1c0190[_0x2d5e72(0x111)]&&_0x1c0190['val']===!![]){await this[_0x2d5e72(0x190)](_0x2d5e72(0x130),![],!![]),this[_0x2d5e72(0x214)]=(0x0,metrics_1[_0x2d5e72(0x115)])(),await this[_0x2d5e72(0xf1)]();return;}if(_0x52039a===_0xda2e3b+_0x2d5e72(0x1be)&&!_0x1c0190[_0x2d5e72(0x111)]&&_0x1c0190[_0x2d5e72(0x10e)]===!![]){await this['setStateAsync'](_0x2d5e72(0x1be),![],!![]),this[_0x2d5e72(0x158)]=(0x0,statistics_1[_0x2d5e72(0x16f)])(),await this['persistStatistics']();return;}if(_0x52039a===_0xda2e3b+'control.exportConfig'&&!_0x1c0190[_0x2d5e72(0x111)]&&_0x1c0190['val']===!![]){await this[_0x2d5e72(0x190)]('control.exportConfig',![],!![]),await this[_0x2d5e72(0x162)]();return;}if(_0x52039a===_0xda2e3b+_0x2d5e72(0x175)&&!_0x1c0190['ack']&&_0x1c0190['val']===!![]){await this[_0x2d5e72(0x190)](_0x2d5e72(0x175),![],!![]),await this[_0x2d5e72(0x131)]();return;}if(_0x52039a===_0xda2e3b+'control.clearTemporaryPriorityMarket'&&!_0x1c0190[_0x2d5e72(0x111)]&&_0x1c0190['val']===!![]){await this[_0x2d5e72(0x190)](_0x2d5e72(0x1a4),![],!![]),this['temporaryPriorityMarket']='',await this[_0x2d5e72(0x190)]('control.temporaryPriorityMarket','__none__',!![]),this[_0x2d5e72(0x14b)](0x64);return;}if(_0x52039a===_0xda2e3b+_0x2d5e72(0x1b0)&&!_0x1c0190[_0x2d5e72(0x111)]){const _0x44298e=typeof _0x1c0190['val']==='string'?_0x1c0190['val'][_0x2d5e72(0x1e5)]():'';this[_0x2d5e72(0xeb)]=_0x44298e==='__none__'?'':_0x44298e,await this[_0x2d5e72(0x190)]('control.temporaryPriorityMarket',this[_0x2d5e72(0xeb)]||_0x2d5e72(0x1bd),!![]),this[_0x2d5e72(0x14b)](0x64);return;}if(_0x52039a===_0xda2e3b+_0x2d5e72(0x1ee)&&!_0x1c0190['ack']&&typeof _0x1c0190['val']===_0x2d5e72(0x1d6)&&_0x1c0190[_0x2d5e72(0x10e)]['trim']()){try{const _0x5af4e5=(0x0,config_tools_1[_0x2d5e72(0x1b1)])(_0x1c0190[_0x2d5e72(0x10e)]);await this[_0x2d5e72(0x190)]('control.importConfigJson','',!![]),await this['updateConfig'](_0x5af4e5),this[_0x2d5e72(0x119)][_0x2d5e72(0x1f3)](_0x2d5e72(0x1fb));}catch(_0x4cb829){await this[_0x2d5e72(0x190)](_0x2d5e72(0x1ee),'',!![]),await this[_0x2d5e72(0x132)]('Konfigurationsimport\x20fehlgeschlagen:\x20'+(_0x4cb829 instanceof Error?_0x4cb829[_0x2d5e72(0x19d)]:String(_0x4cb829)));}return;}if(_0x52039a===_0xda2e3b+'control.marketProfileImport'&&!_0x1c0190['ack']&&typeof _0x1c0190[_0x2d5e72(0x10e)]===_0x2d5e72(0x1d6)&&_0x1c0190[_0x2d5e72(0x10e)][_0x2d5e72(0x1e5)]()){try{const _0x25e75f=(0x0,config_tools_1['importMarketProfile'])(_0x1c0190[_0x2d5e72(0x10e)],this[_0x2d5e72(0x1e6)],this['routes']);await this['setStateAsync'](_0x2d5e72(0xe5),'',!![]),await this[_0x2d5e72(0xe4)]({'markets':_0x25e75f['markets'],'routes':_0x25e75f['routes']}),this[_0x2d5e72(0x119)][_0x2d5e72(0x1f3)](_0x2d5e72(0x1c1)+_0x25e75f['market']+_0x2d5e72(0x102));}catch(_0x262681){await this['setStateAsync'](_0x2d5e72(0xe5),'',!![]),await this[_0x2d5e72(0x132)]('Marktprofil-Import\x20fehlgeschlagen:\x20'+(_0x262681 instanceof Error?_0x262681[_0x2d5e72(0x19d)]:String(_0x262681)));}return;}if(_0x52039a===_0xda2e3b+_0x2d5e72(0x215)&&!_0x1c0190[_0x2d5e72(0x111)]){await this['setStateAsync'](_0x2d5e72(0x215),Boolean(_0x1c0190[_0x2d5e72(0x10e)]),!![]);if(_0x1c0190[_0x2d5e72(0x10e)]===!![])this[_0x2d5e72(0x14b)](0xfa);return;}const _0x3c0231=this[_0x2d5e72(0x101)][_0x2d5e72(0xe8)](_0xd584ae=>_0x52039a===this['listStateId'](_0xd584ae[_0x2d5e72(0x150)]));if(_0x3c0231){await this['setStateAsync'](_0x2d5e72(0xc0),!![],!![]);if(this[_0x2d5e72(0x185)])return;if(this[_0x2d5e72(0x21f)]===_0x3c0231[_0x2d5e72(0x150)])this[_0x2d5e72(0x137)]=!![];this[_0x2d5e72(0x1c5)](_0x3c0231[_0x2d5e72(0x150)],this[_0x2d5e72(0xea)]);}}['onUnload'](_0xed296a){const _0x5db966=_0xf7bcd5;if(this['sortTimer'])this[_0x5db966(0x141)](this[_0x5db966(0x198)]);if(this['versionTimer'])this[_0x5db966(0xc6)](this['versionTimer']);void this[_0x5db966(0x1a9)](_0x5db966(0xc0),![],!![]),_0xed296a();}[_0xf7bcd5(0x14b)](_0x257b57){const _0x31d18d=_0xf7bcd5;for(const _0x4e0c42 of this['listConfigs'])this['pendingLists'][_0x31d18d(0x1f4)](_0x4e0c42[_0x31d18d(0x150)]);this[_0x31d18d(0x1f8)](_0x257b57);}['scheduleSort'](_0x4b695b,_0x5a7b7d){const _0xfcc66b=_0xf7bcd5;this[_0xfcc66b(0x17b)]['add'](_0x4b695b),this[_0xfcc66b(0x1f8)](_0x5a7b7d);}[_0xf7bcd5(0x1f8)](_0x499e73){const _0x155127=_0xf7bcd5;if(this[_0x155127(0x198)])this[_0x155127(0x141)](this['sortTimer']);this[_0x155127(0x198)]=this[_0x155127(0x14f)](()=>{const _0x1479bb=_0x155127;this[_0x1479bb(0x198)]=null,void this['processPendingSorts']();},_0x499e73);}async[_0xf7bcd5(0xf3)](){const _0x3b47c3=_0xf7bcd5;if(this[_0x3b47c3(0x21f)])return;while(this[_0x3b47c3(0x17b)][_0x3b47c3(0x19c)]>0x0){const _0xbda64f=this[_0x3b47c3(0x17b)]['values']()[_0x3b47c3(0x1db)]()['value'];if(!_0xbda64f)break;this['pendingLists'][_0x3b47c3(0x11c)](_0xbda64f),await this[_0x3b47c3(0x207)](_0xbda64f);}}async[_0xf7bcd5(0x200)](){const _0x28f9b7=_0xf7bcd5,_0xd9ddc9=await this['getStateAsync'](_0x28f9b7(0x215));return!_0xd9ddc9||_0xd9ddc9['val']!==![];}async['readList'](_0x4ce1d2){const _0x11c164=_0xf7bcd5,_0x5e0604=this[_0x11c164(0x195)](_0x4ce1d2),_0x2bd1ad=await this['getForeignStateAsync'](_0x5e0604);if(!_0x2bd1ad||typeof _0x2bd1ad[_0x11c164(0x10e)]!==_0x11c164(0x1d6)||!_0x2bd1ad[_0x11c164(0x10e)][_0x11c164(0x1e5)]())throw new Error('Datenpunkt\x20'+_0x5e0604+'\x20enthält\x20keine\x20lesbare\x20Liste.');const _0x1dad85=JSON[_0x11c164(0x15d)](_0x2bd1ad['val']);if(!Array[_0x11c164(0x11b)](_0x1dad85))throw new Error(_0x5e0604+'\x20enthält\x20kein\x20JSON-Array.');return _0x1dad85;}async[_0xf7bcd5(0x207)](_0x228c77){const _0x2e381d=_0xf7bcd5;if(this['sortingListName']){this[_0x2e381d(0x17b)]['add'](_0x228c77);return;}if(!await this['isEnabled']())return;this[_0x2e381d(0x21f)]=_0x228c77,this[_0x2e381d(0x137)]=![],await this[_0x2e381d(0x1b2)](),this['traffic']['localChecks']+=0x1,await this[_0x2e381d(0xf1)]();try{const _0x4063f5=await this['readList'](_0x228c77),_0x126501=(0x0,sorter_1['activeItems'])(_0x4063f5);this['activeCountByList'][_0x2e381d(0x12a)](_0x228c77,_0x126501['length']),await this[_0x2e381d(0xdd)](),await this[_0x2e381d(0x15f)](_0x228c77,_0x4063f5);const _0x402029=this[_0x2e381d(0xec)](_0x228c77);let _0x10c0d0=(0x0,sorter_1[_0x2e381d(0xc2)])(_0x4063f5,this[_0x2e381d(0x1e6)],this['products'],this['fallbackMarket'],_0x402029);if(this['learningMode']==='automatic'){const _0xd0f703=(0x0,sorter_1[_0x2e381d(0x1a0)])(_0x4063f5,this['markets'],this['products'],this[_0x2e381d(0x206)],_0x402029);_0xd0f703['learned'][_0x2e381d(0x123)]>0x0&&(this[_0x2e381d(0xf7)]=_0xd0f703['products'],this['productsDirty']=!![],this[_0x2e381d(0x158)][_0x2e381d(0x1d0)]+=_0xd0f703[_0x2e381d(0x182)][_0x2e381d(0x123)],await this['persistStatistics'](),await this[_0x2e381d(0x190)]('info.lastLearnedItems',JSON[_0x2e381d(0xc3)](_0xd0f703[_0x2e381d(0x182)],null,0x2),!![]),this['log'][_0x2e381d(0x1f3)](_0x2e381d(0x134)+_0xd0f703['learned']['map'](_0xdeec79=>'„'+_0xdeec79[_0x2e381d(0x150)]+'“')[_0x2e381d(0x138)](',\x20')+'.'),_0x10c0d0=(0x0,sorter_1['collectUnknownItems'])(_0x4063f5,this[_0x2e381d(0x1e6)],this[_0x2e381d(0xcd)],this['fallbackMarket'],_0x402029));}else{if(this['learningMode']===_0x2e381d(0x20c)){const _0x1b9541=JSON['stringify'](this[_0x2e381d(0x1c3)]);this['runtimeReviews']=(0x0,sorter_1[_0x2e381d(0x128)])(this[_0x2e381d(0x1c3)],_0x10c0d0);if(JSON[_0x2e381d(0xc3)](this[_0x2e381d(0x1c3)])!==_0x1b9541)this['reviewsDirty']=!![];}}await this['setStateAsync'](_0x2e381d(0xc5),JSON[_0x2e381d(0xc3)]({'listName':_0x228c77,'items':_0x10c0d0},null,0x2),!![]),await this['setStateAsync'](_0x2e381d(0x169),JSON[_0x2e381d(0xc3)](this[_0x2e381d(0x1c3)],null,0x2),!![]),await this['updateAliasSuggestions'](_0x4063f5);const _0xb20dd0=(0x0,sorter_1[_0x2e381d(0x1bc)])(_0x4063f5,this[_0x2e381d(0x1e6)],this[_0x2e381d(0x1d4)],this[_0x2e381d(0xcd)],this['fallbackMarket'],_0x402029);await this['setStateAsync'](_0x2e381d(0x1de),JSON[_0x2e381d(0xc3)]({'listName':_0x228c77,'plan':_0xb20dd0},null,0x2),!![]),await this['setStateAsync'](_0x2e381d(0x1e2),JSON[_0x2e381d(0xc3)]({'listName':_0x228c77,'changes':_0xb20dd0[_0x2e381d(0x1a6)](_0x6c6880=>_0x6c6880[_0x2e381d(0x1fd)]),'plan':_0xb20dd0},null,0x2),!![]),await this['setStateAsync'](_0x2e381d(0x1e4),(0x0,sorter_1[_0x2e381d(0x183)])(_0x228c77,_0xb20dd0),!![]);const _0x2d7a61=_0xb20dd0['filter'](_0x19a340=>_0x19a340[_0x2e381d(0x1fd)]),_0x3e3b1b=new Date()[_0x2e381d(0x187)]();_0x2d7a61[_0x2e381d(0x123)]>0x0&&(this['traffic'][_0x2e381d(0xe9)]+=_0x2d7a61[_0x2e381d(0x123)],await this['persistTrafficMetrics']());if(_0x2d7a61[_0x2e381d(0x123)]===0x0){await this['setStateAsync']('info.lastSort',_0x3e3b1b+'\x20–\x20'+_0x228c77+_0x2e381d(0x14c)+_0x126501[_0x2e381d(0x123)]+_0x2e381d(0x17d),!![]),await this[_0x2e381d(0x190)](_0x2e381d(0x1cc),'',!![]);return;}this[_0x2e381d(0x119)][_0x2e381d(0x1f3)](_0x228c77+':\x20'+_0x126501[_0x2e381d(0x123)]+_0x2e381d(0x209)+_0x2d7a61[_0x2e381d(0x123)]+_0x2e381d(0x1ea)+(this[_0x2e381d(0x192)]?'\x20[DRY-RUN]':'')+'.');if(this[_0x2e381d(0x192)]){await this[_0x2e381d(0x190)](_0x2e381d(0x11f),_0x3e3b1b+_0x2e381d(0x1f5)+_0x228c77+_0x2e381d(0xd0)+_0x2d7a61['length']+_0x2e381d(0xed),!![]),await this[_0x2e381d(0x190)](_0x2e381d(0x1cc),'',!![]);return;}if(!(0x0,compatibility_1[_0x2e381d(0x1dc)])(this[_0x2e381d(0x1df)])){const _0x2e4a32=this[_0x2e381d(0x1df)]==='known-bug'?_0x2e381d(0x1f6):this[_0x2e381d(0x1df)]===_0x2e381d(0x1f9)?'Alexa-Schreibzugriffe\x20blockiert:\x20Kompatibilitätstest\x20fehlgeschlagen.':_0x2e381d(0x1d7);await this[_0x2e381d(0x190)]('info.lastSort',_0x3e3b1b+_0x2e381d(0x1d3),!![]),await this[_0x2e381d(0x190)](_0x2e381d(0x1cc),_0x2e4a32,!![]),this[_0x2e381d(0x119)]['error'](_0x2e4a32);return;}this['traffic']['sortRuns']+=0x1,this[_0x2e381d(0x214)][_0x2e381d(0x144)]=new Date()[_0x2e381d(0x187)](),await this[_0x2e381d(0xf1)]();const _0x97393b=(0x0,sorter_1[_0x2e381d(0x10a)])(_0x4063f5);let _0x3c70d9=0x0;for(const _0x3cc736 of _0x2d7a61){const _0x1fa8bb=await this[_0x2e381d(0x14d)](_0x228c77);if((0x0,sorter_1[_0x2e381d(0x10a)])(_0x1fa8bb)!==_0x97393b){this['traffic'][_0x2e381d(0x1da)]+=0x1,await this['persistTrafficMetrics'](),this['pendingLists']['add'](_0x228c77),this[_0x2e381d(0x119)]['warn'](_0x228c77+_0x2e381d(0x10c));return;}const _0x5bd645=(0x0,sorter_1[_0x2e381d(0x16c)])(_0x1fa8bb)['find'](_0x24c1ea=>String(_0x24c1ea['id'])===_0x3cc736['id']);if(!_0x5bd645||String(_0x5bd645[_0x2e381d(0x210)])[_0x2e381d(0x1e5)]()!==_0x3cc736[_0x2e381d(0x116)]){this[_0x2e381d(0x214)][_0x2e381d(0x1da)]+=0x1,await this[_0x2e381d(0xf1)](),this[_0x2e381d(0x17b)][_0x2e381d(0x1f4)](_0x228c77),this['log'][_0x2e381d(0x173)](_0x228c77+_0x2e381d(0x143));return;}const _0x58c44b=this['alexaInstance']+'.Lists.'+_0x228c77+_0x2e381d(0x223)+_0x3cc736['id']+'.value',_0x10287c=await this[_0x2e381d(0x1b7)](_0x58c44b);if(!_0x10287c)throw new Error(_0x2e381d(0x20d)+_0x58c44b);await this['writeAlexaValue'](_0x58c44b,_0x3cc736['to']),_0x3c70d9+=0x1,this[_0x2e381d(0xfd)]&&_0x3c70d9%this[_0x2e381d(0x18a)]===0x0&&_0x3c70d9<_0x2d7a61[_0x2e381d(0x123)]&&this[_0x2e381d(0x179)]>0x0?(this['log']['info'](_0x2e381d(0x13d)+_0x3c70d9+_0x2e381d(0xf9)+this[_0x2e381d(0x179)]+'\x20ms).'),await this[_0x2e381d(0x1f7)](this['batchPauseMs'])):await this['wait'](this['writePauseMs']);}await this['wait'](Math['max'](0x3e8,this['writePauseMs']));const _0x15599e=await this[_0x2e381d(0x14d)](_0x228c77);if((0x0,sorter_1[_0x2e381d(0x10a)])(_0x15599e)!==_0x97393b){this[_0x2e381d(0x214)][_0x2e381d(0x1da)]+=0x1,await this[_0x2e381d(0xf1)](),this[_0x2e381d(0x17b)]['add'](_0x228c77);return;}const _0x436d8e=(0x0,sorter_1[_0x2e381d(0x1bc)])(_0x15599e,this[_0x2e381d(0x1e6)],this['routes'],this[_0x2e381d(0xcd)],this[_0x2e381d(0x206)],_0x402029),_0xd0960b=_0x436d8e['filter'](_0x2f99e3=>_0x2f99e3[_0x2e381d(0x1fd)]);if(_0xd0960b['length']>0x0){const _0x21833b=_0x228c77+_0x2e381d(0x13f)+_0xd0960b[_0x2e381d(0x123)]+'\x20geplante\x20Textänderung(en)\x20nicht\x20bestätigt;\x20kein\x20automatischer\x20Endlos-Retry.';await this['setError'](_0x21833b);return;}await this['setStateAsync'](_0x2e381d(0x11f),new Date()['toISOString']()+_0x2e381d(0x1f5)+_0x228c77+':\x20'+_0x2d7a61['length']+_0x2e381d(0x1e9)+_0x126501[_0x2e381d(0x123)]+_0x2e381d(0x10d),!![]),await this[_0x2e381d(0x190)]('info.lastError','',!![]);}catch(_0x2db719){const _0x20248b=_0x2db719 instanceof Error?_0x2db719['message']:String(_0x2db719);await this['setError'](_0x20248b),this[_0x2e381d(0x119)][_0x2e381d(0x1e7)](_0x20248b);}finally{this['sortingListName']='',await this[_0x2e381d(0x191)](),await this[_0x2e381d(0x162)](),await this[_0x2e381d(0x131)]();if(this[_0x2e381d(0x137)])this['pendingLists']['add'](_0x228c77);if(this['pendingLists'][_0x2e381d(0x19c)]>0x0)this[_0x2e381d(0x1f8)](this[_0x2e381d(0xea)]);}}async['writeAlexaValue'](_0x29835c,_0x143c52){const _0x382053=_0xf7bcd5;let _0x54684f;for(let _0x5efc42=0x0;_0x5efc42<=this[_0x382053(0x222)];_0x5efc42++){try{if(this[_0x382053(0xfd)])await this[_0x382053(0xfa)]();await this[_0x382053(0x203)](_0x29835c,{'val':_0x143c52,'ack':![]}),this['writeTimestamps'][_0x382053(0x145)](Date[_0x382053(0x212)]()),this['traffic'][_0x382053(0x178)]+=0x1,this[_0x382053(0x214)][_0x382053(0x13e)]=new Date()['toISOString'](),await this[_0x382053(0xf1)]();return;}catch(_0xeebbfb){_0x54684f=_0xeebbfb;if(_0x5efc42>=this[_0x382053(0x222)])break;const _0x1ae1af=this[_0x382053(0x124)]*Math['pow'](0x2,_0x5efc42);this[_0x382053(0x119)]['warn'](_0x382053(0x11d)+(_0x5efc42+0x1)+'/'+this[_0x382053(0x222)]+_0x382053(0x1fc)+_0x1ae1af+'\x20ms.'),await this[_0x382053(0x1f7)](_0x1ae1af);}}throw _0x54684f instanceof Error?_0x54684f:new Error(String(_0x54684f));}async[_0xf7bcd5(0xfa)](){const _0x1d9085=_0xf7bcd5;while(!![]){const _0x315bf6=Date[_0x1d9085(0x212)]();this[_0x1d9085(0x1ac)]=this['writeTimestamps']['filter'](_0x31b43b=>_0x315bf6-_0x31b43b<0xea60);if(this['writeTimestamps'][_0x1d9085(0x123)]<this[_0x1d9085(0x122)])return;const _0xc8efd2=Math[_0x1d9085(0x20e)](0x1f4,0xea60-(_0x315bf6-this[_0x1d9085(0x1ac)][0x0])+0x64);this[_0x1d9085(0x119)][_0x1d9085(0x1f3)](_0x1d9085(0x1a3)+this['maxWritesPerMinute']+_0x1d9085(0x1c9)+_0xc8efd2+'\x20ms.'),await this[_0x1d9085(0x1f7)](_0xc8efd2);}}async['updateAliasSuggestions'](_0x35e3cc){const _0x3e9fe9=_0xf7bcd5;if(this['cfg']['autoAliasSuggestions']===![]){await this['setStateAsync'](_0x3e9fe9(0x176),'[]',!![]);return;}const _0x2be788=[];for(const _0x39479c of(0x0,sorter_1['activeItems'])(_0x35e3cc)){const _0x24cae9=(0x0,parser_1[_0x3e9fe9(0xda)])(String(_0x39479c[_0x3e9fe9(0x210)]),this[_0x3e9fe9(0x1e6)],this['products'],this[_0x3e9fe9(0x206)],this[_0x3e9fe9(0x1a8)]),_0x305b91=(0x0,parser_1[_0x3e9fe9(0xbf)])(_0x24cae9[_0x3e9fe9(0x220)],this[_0x3e9fe9(0xcd)]);if(!_0x305b91)continue;for(const _0x142751 of(0x0,parser_1[_0x3e9fe9(0x19f)])(_0x24cae9[_0x3e9fe9(0x220)],_0x305b91))_0x2be788[_0x3e9fe9(0x145)]({'product':_0x305b91[_0x3e9fe9(0x150)],'alias':_0x142751});}const _0x376d46=[...new Map(_0x2be788['map'](_0x1078e7=>[(_0x1078e7['product']+'|'+_0x1078e7[_0x3e9fe9(0x1c4)])[_0x3e9fe9(0x186)]('de'),_0x1078e7]))[_0x3e9fe9(0x11e)]()];await this['setStateAsync']('info.aliasSuggestions',JSON['stringify'](_0x376d46,null,0x2),!![]);}async[_0xf7bcd5(0x15f)](_0x5d7f56,_0x110e17){const _0x2fc3f4=_0xf7bcd5,_0x3fd4b9=(0x0,sorter_1[_0x2fc3f4(0x16c)])(_0x110e17),_0x114dac=this[_0x2fc3f4(0xf2)]['get'](_0x5d7f56),_0x11acd4=new Set(_0x3fd4b9['map'](_0x2d5f78=>String(_0x2d5f78['id'])));if(!_0x114dac){this[_0x2fc3f4(0xf2)][_0x2fc3f4(0x12a)](_0x5d7f56,_0x11acd4);return;}for(const _0x834533 of _0x3fd4b9){if(_0x114dac[_0x2fc3f4(0x139)](String(_0x834533['id'])))continue;const _0x13b3cb=(0x0,parser_1['parseItem'])(String(_0x834533[_0x2fc3f4(0x210)]),this[_0x2fc3f4(0x1e6)],this[_0x2fc3f4(0xcd)],this[_0x2fc3f4(0x206)],this['priorityMarketForList'](_0x5d7f56));this[_0x2fc3f4(0x158)]=(0x0,statistics_1[_0x2fc3f4(0xc8)])(this[_0x2fc3f4(0x158)],_0x5d7f56,_0x13b3cb);}this[_0x2fc3f4(0xf2)]['set'](_0x5d7f56,_0x11acd4),await this[_0x2fc3f4(0x164)]();}async[_0xf7bcd5(0xdd)](){const _0x941c84=_0xf7bcd5,_0x534c69=[...this[_0x941c84(0x199)][_0x941c84(0x11e)]()][_0x941c84(0x13a)]((_0x290d31,_0x51c87e)=>_0x290d31+_0x51c87e,0x0);await this[_0x941c84(0x190)](_0x941c84(0x1a5),_0x534c69,!![]),await this[_0x941c84(0x190)](_0x941c84(0x1e0),JSON[_0x941c84(0xc3)](Object[_0x941c84(0x211)](this['activeCountByList']),null,0x2),!![]);}async['runStartupCompatibilityCheck'](){const _0x167be0=_0xf7bcd5;try{const _0xbcc6d4=await this['getForeignObjectAsync'](_0x167be0(0x216)+this[_0x167be0(0xd4)]),_0x7d7348=_0xbcc6d4?.['common']?.[_0x167be0(0x1dd)];this['alexa2Version']=typeof _0x7d7348===_0x167be0(0x1d6)?_0x7d7348:_0x167be0(0x129);}catch{this['alexa2Version']='unbekannt';}try{const _0x4673d8=require['resolve'](_0x167be0(0x20b)),_0x3bac2d=fs['readFileSync'](_0x4673d8,_0x167be0(0x1d5)),_0x21a62c=(0x0,compatibility_1[_0x167be0(0xc4)])(_0x3bac2d);this[_0x167be0(0x1df)]=_0x21a62c[_0x167be0(0x1ca)],this[_0x167be0(0x108)]=_0x21a62c[_0x167be0(0x1fa)],this[_0x167be0(0xc9)]=this['findPackageVersion'](_0x4673d8,_0x167be0(0x20b));}catch(_0x5849f0){this[_0x167be0(0x1df)]='unknown',this[_0x167be0(0x108)]=_0x167be0(0xef)+(_0x5849f0 instanceof Error?_0x5849f0[_0x167be0(0x19d)]:String(_0x5849f0)),this[_0x167be0(0xc9)]=_0x167be0(0x129);}await this[_0x167be0(0x105)]();}[_0xf7bcd5(0x218)](_0x553da1,_0x6eadaa){const _0x36ed92=_0xf7bcd5;let _0xfb94d7=path[_0x36ed92(0x208)](_0x553da1);for(let _0x3c9872=0x0;_0x3c9872<0x6;_0x3c9872++){const _0xdad194=path['join'](_0xfb94d7,_0x36ed92(0x18c));try{const _0x4708fa=JSON[_0x36ed92(0x15d)](fs[_0x36ed92(0x1c0)](_0xdad194,_0x36ed92(0x1d5)));if(_0x4708fa[_0x36ed92(0x150)]===_0x6eadaa&&_0x4708fa['version'])return _0x4708fa[_0x36ed92(0x1dd)];}catch{}const _0x296a8d=path[_0x36ed92(0x208)](_0xfb94d7);if(_0x296a8d===_0xfb94d7)break;_0xfb94d7=_0x296a8d;}return _0x36ed92(0x129);}async[_0xf7bcd5(0x1c6)](){const _0x4c0cdb=_0xf7bcd5;if(this['compatibilityTesting']||this['sortingListName'])return;this[_0x4c0cdb(0x185)]=!![];try{const _0x243385=this['listConfigs'][0x0]?.[_0x4c0cdb(0x150)];if(!_0x243385)throw new Error(_0x4c0cdb(0x1e8));const _0x7ce6da=await this['readList'](_0x243385),_0x2c10b1=(0x0,sorter_1[_0x4c0cdb(0x1a1)])((0x0,sorter_1['activeItems'])(_0x7ce6da))[0x0];if(!_0x2c10b1)throw new Error(_0x4c0cdb(0x1bb));const _0x568d76=this['alexaInstance']+'.Lists.'+_0x243385+_0x4c0cdb(0x223)+_0x2c10b1['id']+_0x4c0cdb(0x12e),_0x96c21a=await this[_0x4c0cdb(0x154)](_0x568d76),_0xf0b079=String(_0x96c21a?.[_0x4c0cdb(0x10e)]??_0x2c10b1[_0x4c0cdb(0x210)])['trim']();if(!_0xf0b079)throw new Error(_0x4c0cdb(0x113));const _0x46946e=Number(_0x96c21a?.['ts']||0x0);await this['setForeignStateAsync'](_0x568d76,{'val':_0xf0b079,'ack':![]}),this[_0x4c0cdb(0x214)]['alexaWrites']+=0x1,this[_0x4c0cdb(0x214)]['compatibilityWrites']+=0x1,this[_0x4c0cdb(0x214)][_0x4c0cdb(0x13e)]=new Date()[_0x4c0cdb(0x187)](),await this['persistTrafficMetrics']();const _0x2a35e2=Date[_0x4c0cdb(0x212)]()+0x2710;let _0x2b1e75=![];while(Date['now']()<_0x2a35e2){await this[_0x4c0cdb(0x1f7)](0xfa);const _0xe95db0=await this[_0x4c0cdb(0x154)](_0x568d76);if(_0xe95db0&&_0xe95db0['ack']===!![]&&String(_0xe95db0[_0x4c0cdb(0x10e)]??'')[_0x4c0cdb(0x1e5)]()===_0xf0b079&&Number(_0xe95db0['ts']||0x0)>_0x46946e){_0x2b1e75=!![];break;}}_0x2b1e75?(this[_0x4c0cdb(0x1df)]=_0x4c0cdb(0x161),this[_0x4c0cdb(0x108)]='Live-Test\x20erfolgreich:\x20Alexa2\x20hat\x20einen\x20unveränderten\x20value-Schreibzugriff\x20bestätigt.',this[_0x4c0cdb(0x17e)]=new Date()['toISOString']()+'\x20–\x20ERFOLG\x20mit\x20„'+_0xf0b079+'“',await this[_0x4c0cdb(0x190)](_0x4c0cdb(0x1cc),'',!![])):(this['writeCapability']='live-failed',this[_0x4c0cdb(0x108)]='Live-Test\x20fehlgeschlagen:\x20Alexa2\x20hat\x20den\x20value-Schreibzugriff\x20nicht\x20innerhalb\x20von\x2010\x20Sekunden\x20bestätigt.',this[_0x4c0cdb(0x17e)]=new Date()['toISOString']()+'\x20–\x20FEHLGESCHLAGEN\x20mit\x20„'+_0xf0b079+'“',await this[_0x4c0cdb(0x190)](_0x4c0cdb(0x1cc),'Alexa-Schreibkompatibilitätstest\x20fehlgeschlagen;\x20Sortierschreibzugriffe\x20bleiben\x20blockiert.',!![])),await this[_0x4c0cdb(0x105)]();}catch(_0x3eec98){const _0x5a5f4d=_0x3eec98 instanceof Error?_0x3eec98['message']:String(_0x3eec98);this[_0x4c0cdb(0x1df)]='live-failed',this[_0x4c0cdb(0x108)]=_0x4c0cdb(0x147)+_0x5a5f4d,this[_0x4c0cdb(0x17e)]=new Date()[_0x4c0cdb(0x187)]()+_0x4c0cdb(0x165)+_0x5a5f4d,await this[_0x4c0cdb(0x190)](_0x4c0cdb(0x1cc),_0x4c0cdb(0x1cd)+_0x5a5f4d,!![]),await this[_0x4c0cdb(0x105)]();}finally{this['compatibilityTesting']=![];}}async[_0xf7bcd5(0x105)](){const _0x57e23e=_0xf7bcd5;await this['setStateAsync']('info.writeCapability',this[_0x57e23e(0x1df)],!![]),await this['setStateAsync']('info.lastCompatibilityTest',this[_0x57e23e(0x17e)],!![]),await this['setStateAsync'](_0x57e23e(0x14a),JSON['stringify']({'shoppingrouteVersion':VERSION,'beta':!![],'alexaInstance':this[_0x57e23e(0xd4)],'alexa2Version':this[_0x57e23e(0x202)],'alexaRemote2Version':this[_0x57e23e(0xc9)],'lists':this['listConfigs']['map'](_0x2e26dc=>_0x2e26dc['name']),'dryRun':this['dryRun'],'writeCapability':this['writeCapability'],'detail':this[_0x57e23e(0x108)],'lastCompatibilityTest':this[_0x57e23e(0x17e)],'requiredAlexaAppSorting':_0x57e23e(0x146),'checkedAt':new Date()[_0x57e23e(0x187)]()},null,0x2),!![]);}async['updateTemporaryMarketStateOptions'](){const _0x42e7ae=_0xf7bcd5;try{const _0x4b583f={'__none__':_0x42e7ae(0x180)};for(const _0x4f9d2a of[...this[_0x42e7ae(0x1e6)]][_0x42e7ae(0xee)]((_0x48aeea,_0x1616b9)=>_0x48aeea[_0x42e7ae(0x150)]['localeCompare'](_0x1616b9[_0x42e7ae(0x150)],'de',{'sensitivity':_0x42e7ae(0x20f)}))){_0x4b583f[_0x4f9d2a['name']]=_0x4f9d2a[_0x42e7ae(0x150)];}await this['extendObjectAsync'](_0x42e7ae(0x1b0),{'common':{'states':_0x4b583f}});}catch(_0x1bb6ab){this[_0x42e7ae(0x119)]['warn']('Temporäre\x20Markt-Auswahlliste\x20konnte\x20nicht\x20aktualisiert\x20werden:\x20'+(_0x1bb6ab instanceof Error?_0x1bb6ab[_0x42e7ae(0x19d)]:String(_0x1bb6ab)));}}[_0xf7bcd5(0x159)](){const _0x455408=_0xf7bcd5,_0x205b9e=(0x0,config_tools_1[_0x455408(0x1f1)])(this['markets'],this[_0x455408(0x168)],this[_0x455408(0x1ce)]);if(_0x205b9e['added']<=0x0)return;this[_0x455408(0x1ce)]=_0x205b9e[_0x455408(0x1d4)],this[_0x455408(0x163)]=!![],this['log']['info'](_0x205b9e[_0x455408(0x16e)]+'\x20fehlende\x20Laufweg-Zuordnung(en)\x20für\x20neue\x20Märkte/Produktgruppen\x20automatisch\x20ergänzt.');}async['ensureProductGroupsConfig'](){const _0x26f05e=_0xf7bcd5;if(Array[_0x26f05e(0x11b)](this[_0x26f05e(0x148)]['productGroups'])&&this[_0x26f05e(0x148)][_0x26f05e(0x168)]['length']>0x0)return;try{await this['updateConfig']({'productGroups':DEFAULT_CATEGORIES['map'](_0x4f793a=>({'name':_0x4f793a}))});}catch(_0x17a906){this[_0x26f05e(0x119)][_0x26f05e(0x173)](_0x26f05e(0x1eb)+(_0x17a906 instanceof Error?_0x17a906[_0x26f05e(0x19d)]:String(_0x17a906)));}}async[_0xf7bcd5(0x191)](){const _0x3ae1b3=_0xf7bcd5;if(!this[_0x3ae1b3(0x118)]&&!this[_0x3ae1b3(0x201)]&&!this[_0x3ae1b3(0x163)])return;try{const _0x52bb0c=_0x3ae1b3(0x216)+this[_0x3ae1b3(0xcc)],_0xcd9380=await this[_0x3ae1b3(0x1b7)](_0x52bb0c);if(!_0xcd9380)throw new Error(_0x3ae1b3(0x104)+_0x52bb0c);const _0x5ea82d=_0xcd9380['native']||{};_0xcd9380[_0x3ae1b3(0x12c)]={..._0x5ea82d,...this['productsDirty']?{'products':this[_0x3ae1b3(0xf7)][_0x3ae1b3(0x21d)](_0x1fc277=>({..._0x1fc277}))}:{},...this[_0x3ae1b3(0x201)]?{'reviewItems':this['runtimeReviews'][_0x3ae1b3(0x21d)](_0x4812a0=>({..._0x4812a0}))}:{},...this[_0x3ae1b3(0x163)]?{'routes':this[_0x3ae1b3(0x1ce)]['map'](_0x5ef55f=>({..._0x5ef55f}))}:{}},await this[_0x3ae1b3(0x172)](_0x52bb0c,_0xcd9380),this['productsDirty']=![],this['reviewsDirty']=![],this['routesDirty']=![];}catch(_0x28a55d){await this['setStateAsync'](_0x3ae1b3(0x1cc),'Lern-/Konfigurationsdaten\x20konnten\x20nicht\x20gespeichert\x20werden:\x20'+(_0x28a55d instanceof Error?_0x28a55d[_0x3ae1b3(0x19d)]:String(_0x28a55d)),!![]);}}async['refreshExports'](){const _0x17f496=_0xf7bcd5,_0x392ba7={...this['cfg'],'products':this['runtimeProducts'],'routes':this['routes'],'reviewItems':this['runtimeReviews']};await this[_0x17f496(0x190)](_0x17f496(0xd5),JSON[_0x17f496(0xc3)]((0x0,config_tools_1[_0x17f496(0xd7)])(_0x392ba7,VERSION),null,0x2),!![]),await this['setStateAsync'](_0x17f496(0x1f2),JSON[_0x17f496(0xc3)]((0x0,config_tools_1[_0x17f496(0xd9)])(this[_0x17f496(0x1e6)],this['routes']),null,0x2),!![]);}async['loadTrafficMetrics'](){const _0x265253=_0xf7bcd5;try{const _0x494e00=await this[_0x265253(0xce)](_0x265253(0x177));this['traffic']=(0x0,metrics_1[_0x265253(0xf5)])(_0x494e00&&typeof _0x494e00['val']===_0x265253(0x1d6)&&_0x494e00[_0x265253(0x10e)]['trim']()?JSON[_0x265253(0x15d)](_0x494e00[_0x265253(0x10e)]):null);}catch{this[_0x265253(0x214)]=(0x0,metrics_1['emptyTrafficMetrics'])();}await this[_0x265253(0xf1)]();}async[_0xf7bcd5(0x1b2)](){const _0x452ec2=_0xf7bcd5,_0x284632=(0x0,metrics_1[_0x452ec2(0xf5)])(this[_0x452ec2(0x214)]);_0x284632[_0x452ec2(0x171)]!==this[_0x452ec2(0x214)][_0x452ec2(0x171)]&&(this[_0x452ec2(0x214)]=_0x284632,await this[_0x452ec2(0xf1)]());}async['persistTrafficMetrics'](){const _0x5a7df5=_0xf7bcd5;this[_0x5a7df5(0x214)]=(0x0,metrics_1[_0x5a7df5(0xf5)])(this[_0x5a7df5(0x214)]),await this[_0x5a7df5(0x190)](_0x5a7df5(0x213),this['traffic'][_0x5a7df5(0x151)],!![]),await this[_0x5a7df5(0x190)](_0x5a7df5(0x1d2),this[_0x5a7df5(0x214)][_0x5a7df5(0xe9)],!![]),await this[_0x5a7df5(0x190)](_0x5a7df5(0x167),this[_0x5a7df5(0x214)][_0x5a7df5(0x1aa)],!![]),await this[_0x5a7df5(0x190)]('info.alexaWritesToday',this[_0x5a7df5(0x214)]['alexaWrites'],!![]),await this[_0x5a7df5(0x190)]('info.compatibilityWritesToday',this[_0x5a7df5(0x214)][_0x5a7df5(0x121)],!![]),await this[_0x5a7df5(0x190)](_0x5a7df5(0x14e),this['traffic'][_0x5a7df5(0x1da)],!![]),await this[_0x5a7df5(0x190)](_0x5a7df5(0x177),JSON['stringify']({...this['traffic'],'note':_0x5a7df5(0x126)},null,0x2),!![]);}async['loadStatistics'](){const _0x3a4771=_0xf7bcd5;try{const _0x2c0a4b=await this['getStateAsync'](_0x3a4771(0x1d1));this['statistics']=(0x0,statistics_1['normalizeUsageStatistics'])(_0x2c0a4b&&typeof _0x2c0a4b[_0x3a4771(0x10e)]==='string'&&_0x2c0a4b[_0x3a4771(0x10e)][_0x3a4771(0x1e5)]()?JSON['parse'](_0x2c0a4b['val']):null);}catch{this[_0x3a4771(0x158)]=(0x0,statistics_1[_0x3a4771(0x16f)])();}await this[_0x3a4771(0x164)]();}async['persistStatistics'](){const _0x15d254=_0xf7bcd5;this[_0x15d254(0x158)][_0x15d254(0xe2)]=new Date()[_0x15d254(0x187)](),await this[_0x15d254(0x190)](_0x15d254(0x1d1),JSON['stringify'](this[_0x15d254(0x158)],null,0x2),!![]);}async[_0xf7bcd5(0x1bf)](){const _0x510fa2=_0xf7bcd5;try{const _0x115db7=await this[_0x510fa2(0xff)](_0x510fa2(0x219)),_0x4bf6aa=_0x115db7[_0x510fa2(0xf4)]||{},_0x5e42a9=typeof _0x4bf6aa[_0x510fa2(0xfc)]===_0x510fa2(0x1d6)?_0x4bf6aa[_0x510fa2(0xfc)]:'',_0x5225aa=typeof _0x4bf6aa[_0x510fa2(0x15c)]===_0x510fa2(0x1d6)?_0x4bf6aa['latest']:'';this[_0x510fa2(0x107)]=_0x5e42a9||_0x5225aa,this['lastVersionCheck']=new Date()['toISOString'](),await this['setStateAsync'](_0x510fa2(0xd8),this['latestBetaVersion']||'unbekannt',!![]),await this[_0x510fa2(0x190)](_0x510fa2(0x1d8),Boolean(this['latestBetaVersion']&&this[_0x510fa2(0x107)]!==VERSION),!![]),await this['setStateAsync']('info.versionCheck',this[_0x510fa2(0x1b5)]+_0x510fa2(0x136)+(this[_0x510fa2(0x107)]||_0x510fa2(0x129)),!![]);}catch(_0x181f07){this[_0x510fa2(0x1b5)]=new Date()['toISOString'](),await this[_0x510fa2(0x190)](_0x510fa2(0x181),this['lastVersionCheck']+_0x510fa2(0x1ff)+(_0x181f07 instanceof Error?_0x181f07[_0x510fa2(0x19d)]:String(_0x181f07)),!![]);}await this[_0x510fa2(0x131)]();}[_0xf7bcd5(0xff)](_0x2f1402){return new Promise((_0x548bfb,_0x3b8903)=>{const _0x273361=_0x44ef,_0x764c53=https['get'](_0x2f1402,{'headers':{'User-Agent':'ioBroker.shoppingroute/'+VERSION}},_0x1f33eb=>{const _0x53868b=_0x44ef;if((_0x1f33eb['statusCode']||0x1f4)>=0x190){_0x1f33eb[_0x53868b(0x10f)](),_0x3b8903(new Error('HTTP\x20'+_0x1f33eb[_0x53868b(0xe7)]));return;}let _0x33aabb='';_0x1f33eb[_0x53868b(0xf0)](_0x53868b(0x1d5)),_0x1f33eb['on'](_0x53868b(0x155),_0x43f78d=>{_0x33aabb+=_0x43f78d;}),_0x1f33eb['on'](_0x53868b(0x189),()=>{const _0x21d5e2=_0x53868b;try{_0x548bfb(JSON[_0x21d5e2(0x15d)](_0x33aabb));}catch(_0x50e17e){_0x3b8903(_0x50e17e instanceof Error?_0x50e17e:new Error(_0x21d5e2(0x204)));}});});_0x764c53[_0x273361(0x14f)](0x1f40,()=>_0x764c53['destroy'](new Error(_0x273361(0x1b8)))),_0x764c53['on']('error',_0x3b8903);});}async[_0xf7bcd5(0x131)](){const _0x577f53=_0xf7bcd5,_0x147503={'generatedAt':new Date()[_0x577f53(0x187)](),'shoppingrouteVersion':VERSION,'node':process['version'],'alexaInstance':this[_0x577f53(0xd4)],'alexa2Version':this['alexa2Version'],'alexaRemote2Version':this['alexaRemote2Version'],'lists':this[_0x577f53(0x101)]['map'](_0x45b3d8=>({'name':_0x45b3d8[_0x577f53(0x150)],'activeItems':this[_0x577f53(0x199)][_0x577f53(0x1ef)](_0x45b3d8[_0x577f53(0x150)])||0x0})),'dryRun':this[_0x577f53(0x192)],'learningMode':this['learningMode'],'apiSafeMode':this[_0x577f53(0xfd)],'writeCapability':this[_0x577f53(0x1df)],'lastCompatibilityTest':this['lastCompatibilityTest'],'lastError':String((await this[_0x577f53(0xce)](_0x577f53(0x1cc)))?.[_0x577f53(0x10e)]||''),'traffic':this[_0x577f53(0x214)],'update':{'installed':VERSION,'npmBeta':this[_0x577f53(0x107)]||_0x577f53(0x129),'checkedAt':this[_0x577f53(0x1b5)]||_0x577f53(0xf8)},'privacy':_0x577f53(0x19e)};await this[_0x577f53(0x190)](_0x577f53(0x217),JSON[_0x577f53(0xc3)](_0x147503,null,0x2),!![]);}async[_0xf7bcd5(0x132)](_0x3af944){const _0x1a7f21=_0xf7bcd5;await this[_0x1a7f21(0x190)](_0x1a7f21(0x1cc),_0x3af944,!![]);}[_0xf7bcd5(0x1f7)](_0x3a3b55){const _0x521021=_0xf7bcd5;return new Promise(_0x2be61f=>this[_0x521021(0x14f)](_0x2be61f,_0x3a3b55));}static['getDefaultCategories'](){return[...DEFAULT_CATEGORIES];}}exports[_0xf7bcd5(0x1cb)]=ShoppingRoute;if(require['main']!==module)module['exports']=_0xfad040=>new ShoppingRoute(_0xfad040);else((()=>new ShoppingRoute())());
1
+ 'use strict';const _0x13ea5f=_0x5852;(function(_0x311e1d,_0x206244){const _0x242bd8=_0x5852,_0x3e4c8f=_0x311e1d();while(!![]){try{const _0x2cd206=parseInt(_0x242bd8(0x1f2))/0x1*(parseInt(_0x242bd8(0x159))/0x2)+parseInt(_0x242bd8(0x1e1))/0x3+parseInt(_0x242bd8(0x1a8))/0x4+parseInt(_0x242bd8(0x177))/0x5*(parseInt(_0x242bd8(0x1aa))/0x6)+parseInt(_0x242bd8(0x251))/0x7*(-parseInt(_0x242bd8(0x215))/0x8)+-parseInt(_0x242bd8(0x1dd))/0x9+-parseInt(_0x242bd8(0x1f8))/0xa*(parseInt(_0x242bd8(0x139))/0xb);if(_0x2cd206===_0x206244)break;else _0x3e4c8f['push'](_0x3e4c8f['shift']());}catch(_0x3ea993){_0x3e4c8f['push'](_0x3e4c8f['shift']());}}}(_0x584c,0xc7caa));var __createBinding=this&&this[_0x13ea5f(0x14d)]||(Object['create']?function(_0x40d1bb,_0xb788c5,_0x2d47af,_0x9fd7ee){const _0x22140f=_0x13ea5f;if(_0x9fd7ee===undefined)_0x9fd7ee=_0x2d47af;var _0x1c37bf=Object[_0x22140f(0x1d7)](_0xb788c5,_0x2d47af);(!_0x1c37bf||('get'in _0x1c37bf?!_0xb788c5['__esModule']:_0x1c37bf[_0x22140f(0x100)]||_0x1c37bf[_0x22140f(0x162)]))&&(_0x1c37bf={'enumerable':!![],'get':function(){return _0xb788c5[_0x2d47af];}}),Object[_0x22140f(0x250)](_0x40d1bb,_0x9fd7ee,_0x1c37bf);}:function(_0x4db635,_0x17143b,_0x49d3ee,_0x3af148){if(_0x3af148===undefined)_0x3af148=_0x49d3ee;_0x4db635[_0x3af148]=_0x17143b[_0x49d3ee];}),__setModuleDefault=this&&this[_0x13ea5f(0x15c)]||(Object[_0x13ea5f(0x135)]?function(_0xf054f4,_0x49717f){const _0x5206d1=_0x13ea5f;Object[_0x5206d1(0x250)](_0xf054f4,_0x5206d1(0x141),{'enumerable':!![],'value':_0x49717f});}:function(_0x2ae3d7,_0xe32f1b){_0x2ae3d7['default']=_0xe32f1b;}),__importStar=this&&this[_0x13ea5f(0x1cc)]||(function(){var _0x172f47=function(_0x496014){const _0x105579=_0x5852;return _0x172f47=Object[_0x105579(0xf4)]||function(_0x30aa0d){const _0x3ca022=_0x105579;var _0x21c2b8=[];for(var _0x2fe8e9 in _0x30aa0d)if(Object['prototype'][_0x3ca022(0x1cb)][_0x3ca022(0x225)](_0x30aa0d,_0x2fe8e9))_0x21c2b8[_0x21c2b8['length']]=_0x2fe8e9;return _0x21c2b8;},_0x172f47(_0x496014);};return function(_0x5bfefd){const _0x2018d6=_0x5852;if(_0x5bfefd&&_0x5bfefd[_0x2018d6(0x1c1)])return _0x5bfefd;var _0x5f519c={};if(_0x5bfefd!=null){for(var _0x39fd8e=_0x172f47(_0x5bfefd),_0x384fdf=0x0;_0x384fdf<_0x39fd8e['length'];_0x384fdf++)if(_0x39fd8e[_0x384fdf]!==_0x2018d6(0x141))__createBinding(_0x5f519c,_0x5bfefd,_0x39fd8e[_0x384fdf]);}return __setModuleDefault(_0x5f519c,_0x5bfefd),_0x5f519c;};}());Object['defineProperty'](exports,_0x13ea5f(0x1c1),{'value':!![]}),exports[_0x13ea5f(0x1a1)]=void 0x0;const utils=__importStar(require(_0x13ea5f(0x130))),fs=__importStar(require(_0x13ea5f(0x1ac))),path=__importStar(require(_0x13ea5f(0x191))),https=__importStar(require(_0x13ea5f(0x1bd))),compatibility_1=require(_0x13ea5f(0x161)),metrics_1=require(_0x13ea5f(0x148)),sorter_1=require(_0x13ea5f(0x224)),parser_1=require(_0x13ea5f(0x14f)),market_plan_1=require('./lib/market-plan'),config_tools_1=require(_0x13ea5f(0x150)),statistics_1=require('./lib/statistics'),VERSION=_0x13ea5f(0x163),DEFAULT_CATEGORIES=[_0x13ea5f(0x11b),'Tee/Kaffee',_0x13ea5f(0x1f1),_0x13ea5f(0xfc),'Fleisch/Fisch',_0x13ea5f(0x101),_0x13ea5f(0xec),_0x13ea5f(0x202),_0x13ea5f(0x1f7),_0x13ea5f(0x24d),_0x13ea5f(0x20f),_0x13ea5f(0x145),'Getränke',_0x13ea5f(0x15e),'Sonstiges'];class ShoppingRoute extends utils[_0x13ea5f(0x178)]{[_0x13ea5f(0x1ec)]=null;['versionTimer']=null;[_0x13ea5f(0x21d)]=new Set();[_0x13ea5f(0x24b)]='';['listChangedDuringSort']=![];[_0x13ea5f(0xf3)]=[];[_0x13ea5f(0xee)]=[];[_0x13ea5f(0x1db)]=![];[_0x13ea5f(0x1d4)]=![];['routesDirty']=![];[_0x13ea5f(0x172)]=[];[_0x13ea5f(0x1a3)]=![];['writeCapability']=_0x13ea5f(0x1c6);['compatibilityDetail']=_0x13ea5f(0x23d);['alexa2Version']=_0x13ea5f(0x206);[_0x13ea5f(0x1ff)]=_0x13ea5f(0x206);['lastCompatibilityTest']=_0x13ea5f(0x192);[_0x13ea5f(0x105)]=(0x0,metrics_1['emptyTrafficMetrics'])();['statistics']=(0x0,statistics_1['emptyUsageStatistics'])();[_0x13ea5f(0x22f)]=new Map();['activeCountByList']=new Map();[_0x13ea5f(0x228)]=[];[_0x13ea5f(0x198)]='';[_0x13ea5f(0x1d6)]='';[_0x13ea5f(0x168)]='';constructor(_0x12e34b={}){const _0x461329=_0x13ea5f;super({..._0x12e34b,'name':'shoppingroute'}),this['on'](_0x461329(0x111),this[_0x461329(0xfe)]['bind'](this)),this['on'](_0x461329(0x1ea),this['onStateChange'][_0x461329(0x11c)](this)),this['on'](_0x461329(0x12e),this[_0x461329(0x1b8)][_0x461329(0x11c)](this)),this['on'](_0x461329(0x193),this['onUnload']['bind'](this));}get[_0x13ea5f(0x1e0)](){const _0x1607be=_0x13ea5f;return this[_0x1607be(0x16e)];}get[_0x13ea5f(0x1c3)](){const _0x5435a3=_0x13ea5f;return String(this[_0x5435a3(0x1e0)]['alexaInstance']||'alexa2.0')[_0x5435a3(0x214)]()||'alexa2.0';}get[_0x13ea5f(0x248)](){const _0x91cc0e=_0x13ea5f,_0x315f6e=Array[_0x91cc0e(0x220)](this['cfg'][_0x91cc0e(0x1bf)])?this[_0x91cc0e(0x1e0)]['lists']['filter'](_0x385d63=>_0x385d63&&_0x385d63['name']&&_0x385d63[_0x91cc0e(0x155)]!==![]):[];if(_0x315f6e[_0x91cc0e(0x1ca)]>0x0)return _0x315f6e;return[{'name':String(this[_0x91cc0e(0x1e0)]['listName']||'SHOP')[_0x91cc0e(0x214)]()||'SHOP','enabled':!![],'priorityMarket':''}];}[_0x13ea5f(0x190)](_0x5901c8){const _0x41ba07=_0x13ea5f;return this['alexaInstance']+_0x41ba07(0x1ed)+_0x5901c8+_0x41ba07(0x238);}get[_0x13ea5f(0x1e5)](){const _0x2d0bf4=_0x13ea5f,_0x4538c7=Array['isArray'](this['cfg'][_0x2d0bf4(0x1e5)])?this['cfg'][_0x2d0bf4(0x1e5)]:[];return _0x4538c7['filter'](_0x559da9=>_0x559da9&&_0x559da9[_0x2d0bf4(0x208)]&&_0x559da9[_0x2d0bf4(0x155)]!==![]);}get[_0x13ea5f(0x176)](){const _0x5caebc=_0x13ea5f;return this[_0x5caebc(0x172)][_0x5caebc(0x1ca)]?this[_0x5caebc(0x172)]:Array[_0x5caebc(0x220)](this[_0x5caebc(0x1e0)]['routes'])?this[_0x5caebc(0x1e0)]['routes'][_0x5caebc(0x24e)](Boolean):[];}get[_0x13ea5f(0x152)](){const _0x4a0531=_0x13ea5f,_0xf88a9b=Array[_0x4a0531(0x220)](this[_0x4a0531(0x1e0)]['productGroups'])?this[_0x4a0531(0x1e0)][_0x4a0531(0x152)]:[],_0x2c95fb=_0xf88a9b['length']>0x0?_0xf88a9b:DEFAULT_CATEGORIES[_0x4a0531(0x256)](_0x4adbd1=>({'name':_0x4adbd1})),_0x3bf26d=new Set(),_0x233af9=[];for(const _0x4031e4 of _0x2c95fb){const _0x1c9cc3=String(_0x4031e4?.['name']||'')[_0x4a0531(0x214)](),_0x59e7bc=_0x1c9cc3[_0x4a0531(0x222)]('de');if(!_0x1c9cc3||_0x3bf26d['has'](_0x59e7bc))continue;_0x3bf26d[_0x4a0531(0x1c5)](_0x59e7bc),_0x233af9[_0x4a0531(0x1d2)]({'name':_0x1c9cc3});}return _0x233af9['sort']((_0x3dedd5,_0x582517)=>_0x3dedd5[_0x4a0531(0x208)][_0x4a0531(0x10b)](_0x582517['name'],'de',{'sensitivity':_0x4a0531(0x21e)}));}get[_0x13ea5f(0x23f)](){return this['runtimeProducts']['filter'](_0x148734=>_0x148734&&_0x148734['name']);}get['fallbackMarket'](){const _0x347703=_0x13ea5f;return String(this[_0x347703(0x1e0)][_0x347703(0x1f4)]||_0x347703(0x11a))[_0x347703(0x214)]()||'Ohne\x20Markt';}get[_0x13ea5f(0x131)](){const _0x2d3bbe=_0x13ea5f;return String(this['cfg'][_0x2d3bbe(0x131)]||'')[_0x2d3bbe(0x214)]();}[_0x13ea5f(0xeb)](_0x492653){const _0x3a4824=_0x13ea5f;if(this[_0x3a4824(0x198)])return this[_0x3a4824(0x198)];const _0x513574=this['listConfigs'][_0x3a4824(0x20e)](_0x2ef726=>_0x2ef726[_0x3a4824(0x208)]===_0x492653);return String(_0x513574?.[_0x3a4824(0x131)]||this[_0x3a4824(0x131)]||'')[_0x3a4824(0x214)]();}get[_0x13ea5f(0x195)](){const _0x2c63d4=_0x13ea5f,_0x3730a4=String(this[_0x2c63d4(0x1e0)]['learningMode']||'')[_0x2c63d4(0x214)]();if(_0x3730a4===_0x2c63d4(0x1df)||_0x3730a4===_0x2c63d4(0x170)||_0x3730a4===_0x2c63d4(0x153))return _0x3730a4;return this[_0x2c63d4(0x1e0)][_0x2c63d4(0x249)]===![]?_0x2c63d4(0x153):_0x2c63d4(0x1df);}get[_0x13ea5f(0x10e)](){const _0x395dba=_0x13ea5f;return Math[_0x395dba(0x1ab)](0xfa,Number(this[_0x395dba(0x1e0)][_0x395dba(0x10e)])||0x1388);}get[_0x13ea5f(0x22a)](){const _0x399bdd=_0x13ea5f;return Math[_0x399bdd(0x1ab)](0xfa,Number(this[_0x399bdd(0x1e0)][_0x399bdd(0x22a)])||0x3e8);}get[_0x13ea5f(0x1d9)](){return this['cfg']['dryRun']!==![];}get[_0x13ea5f(0x258)](){const _0x152276=_0x13ea5f;return this[_0x152276(0x1e0)]['apiSafeMode']!==![];}get['maxWritesPerMinute'](){const _0x5b3624=_0x13ea5f;return Math['max'](0x1,Number(this[_0x5b3624(0x1e0)][_0x5b3624(0x19f)])||0x14);}get['batchSize'](){const _0x28abc3=_0x13ea5f;return Math['max'](0x1,Number(this[_0x28abc3(0x1e0)][_0x28abc3(0x23a)])||0xa);}get[_0x13ea5f(0x120)](){const _0x48152f=_0x13ea5f;return Math[_0x48152f(0x1ab)](0x0,Number(this[_0x48152f(0x1e0)]['batchPauseMs'])||0x1388);}get[_0x13ea5f(0x144)](){const _0x5418f9=_0x13ea5f;return Math[_0x5418f9(0x1ab)](0x0,Math[_0x5418f9(0x13c)](0x5,Number(this[_0x5418f9(0x1e0)][_0x5418f9(0x144)])||0x2));}get[_0x13ea5f(0x1a6)](){const _0x9a5f47=_0x13ea5f;return Math[_0x9a5f47(0x1ab)](0xfa,Number(this['cfg'][_0x9a5f47(0x1a6)])||0x5dc);}get[_0x13ea5f(0x188)](){const _0x5ab88f=_0x13ea5f;return this[_0x5ab88f(0x1e0)][_0x5ab88f(0x13b)]===!![];}get[_0x13ea5f(0xf7)](){const _0x1fa175=_0x13ea5f;return Math[_0x1fa175(0x1ab)](0x1,Math[_0x1fa175(0x21b)](Number(this['cfg']['minItemsPerMarket'])||0x1));}async[_0x13ea5f(0xfe)](){const _0x12a4ef=_0x13ea5f;this['runtimeProducts']=(Array[_0x12a4ef(0x220)](this[_0x12a4ef(0x1e0)]['products'])?this[_0x12a4ef(0x1e0)]['products']:[])['filter'](_0x43ad24=>_0x43ad24&&_0x43ad24[_0x12a4ef(0x208)])[_0x12a4ef(0x256)](_0x406727=>({..._0x406727}))['sort']((_0x4bc777,_0x501f39)=>_0x4bc777['name'][_0x12a4ef(0x10b)](_0x501f39[_0x12a4ef(0x208)],'de',{'sensitivity':_0x12a4ef(0x21e)})),this['runtimeReviews']=(Array[_0x12a4ef(0x220)](this[_0x12a4ef(0x1e0)][_0x12a4ef(0x1e6)])?this['cfg']['reviewItems']:[])[_0x12a4ef(0x256)](_0x3fae05=>({..._0x3fae05})),this['runtimeRoutes']=(0x0,config_tools_1[_0x12a4ef(0x133)])(Array[_0x12a4ef(0x220)](this['cfg']['routes'])?this[_0x12a4ef(0x1e0)][_0x12a4ef(0x176)][_0x12a4ef(0x24e)](Boolean):[]),this['routesDirty']=JSON[_0x12a4ef(0x11e)](this[_0x12a4ef(0x172)])!==JSON[_0x12a4ef(0x11e)](Array[_0x12a4ef(0x220)](this['cfg']['routes'])?this['cfg']['routes']:[]),await this['loadTrafficMetrics'](),await this[_0x12a4ef(0x180)]();const _0x2abecc=(0x0,sorter_1[_0x12a4ef(0x12c)])(this[_0x12a4ef(0xf3)],this[_0x12a4ef(0xee)]);_0x2abecc[_0x12a4ef(0x1b0)]['length']&&(this[_0x12a4ef(0xf3)]=_0x2abecc[_0x12a4ef(0x23f)],this['runtimeReviews']=_0x2abecc['remainingReviews'],this[_0x12a4ef(0x1db)]=!![],this[_0x12a4ef(0x1d4)]=!![],this['statistics'][_0x12a4ef(0x19c)]+=_0x2abecc[_0x12a4ef(0x1b0)][_0x12a4ef(0x1ca)],await this['persistStatistics'](),this[_0x12a4ef(0x1fb)][_0x12a4ef(0x257)]('Aus\x20der\x20Prüfliste\x20übernommen:\x20'+_0x2abecc[_0x12a4ef(0x1b0)][_0x12a4ef(0x256)](_0x1ab9c4=>'„'+_0x1ab9c4[_0x12a4ef(0x208)]+'“')[_0x12a4ef(0xe9)](',\x20')+'.'));await this['ensureProductGroupsConfig'](),this['ensureRoutesForMarketsAndGroups'](),await this[_0x12a4ef(0x125)](),await this[_0x12a4ef(0x15d)](),await this['setStateAsync'](_0x12a4ef(0x107),![],!![]),await this['setStateAsync'](_0x12a4ef(0x115),'',!![]),await this['setStateAsync'](_0x12a4ef(0x22c),VERSION,!![]),await this[_0x12a4ef(0x1be)](_0x12a4ef(0xed),![],!![]),await this[_0x12a4ef(0x1be)]('control.compatibilityTest',![],!![]),await this[_0x12a4ef(0x1be)]('control.resetTrafficStats',![],!![]),await this['setStateAsync'](_0x12a4ef(0x1f9),![],!![]),await this['setStateAsync'](_0x12a4ef(0x151),![],!![]),await this[_0x12a4ef(0x1be)]('control.refreshFeedbackReport',![],!![]),await this[_0x12a4ef(0x1be)]('control.clearTemporaryPriorityMarket',![],!![]);const _0x30159d=await this[_0x12a4ef(0x13a)](_0x12a4ef(0xf1));if(!_0x30159d)await this[_0x12a4ef(0x1be)]('control.enabled',!![],!![]);const _0x162924=await this[_0x12a4ef(0x13a)](_0x12a4ef(0x1dc)),_0x243340=String(_0x162924?.[_0x12a4ef(0x1ad)]??this[_0x12a4ef(0x1e0)]['temporaryPriorityMarket']??'')[_0x12a4ef(0x214)]();this['temporaryPriorityMarket']=_0x243340===_0x12a4ef(0x174)?'':_0x243340,await this[_0x12a4ef(0x1be)]('control.temporaryPriorityMarket',this['temporaryPriorityMarket']||'__none__',!![]),this[_0x12a4ef(0x18c)]('control.*');for(const _0xd0a651 of this['listConfigs'])this[_0x12a4ef(0x157)](this[_0x12a4ef(0x190)](_0xd0a651['name']));let _0x277932=![];for(const _0x576c65 of this['listConfigs']){const _0x36f357=await this[_0x12a4ef(0x14b)](this[_0x12a4ef(0x190)](_0x576c65[_0x12a4ef(0x208)]));if(!_0x36f357||typeof _0x36f357[_0x12a4ef(0x1ad)]!=='string'){this[_0x12a4ef(0x1fb)]['warn'](_0x12a4ef(0x11f)+this[_0x12a4ef(0x190)](_0x576c65[_0x12a4ef(0x208)]));continue;}_0x277932=!![];try{const _0x2d9cc8=JSON['parse'](_0x36f357['val']),_0x2ce4cf=Array[_0x12a4ef(0x220)](_0x2d9cc8)?_0x2d9cc8:[],_0x18d716=(0x0,sorter_1[_0x12a4ef(0x108)])(_0x2ce4cf),_0x554c54=(0x0,market_plan_1['realActiveItems'])(_0x2ce4cf,this[_0x12a4ef(0x1e5)]);this[_0x12a4ef(0x22f)][_0x12a4ef(0x142)](_0x576c65[_0x12a4ef(0x208)],new Set(_0x18d716[_0x12a4ef(0x256)](_0x35cd95=>String(_0x35cd95['id'])))),this['activeCountByList']['set'](_0x576c65[_0x12a4ef(0x208)],_0x554c54[_0x12a4ef(0x1ca)]);}catch{this['knownActiveIds'][_0x12a4ef(0x142)](_0x576c65['name'],new Set());}}await this[_0x12a4ef(0x1be)](_0x12a4ef(0x107),_0x277932,!![]),await this[_0x12a4ef(0x167)]();if(!_0x277932){await this[_0x12a4ef(0x232)](_0x12a4ef(0x116)+this[_0x12a4ef(0x248)][_0x12a4ef(0x256)](_0x3a6366=>_0x3a6366[_0x12a4ef(0x208)])['join'](',\x20'));return;}await this[_0x12a4ef(0x20b)](),await this['refreshExports'](),await this['checkNpmVersion'](),await this[_0x12a4ef(0x110)](),this[_0x12a4ef(0x183)]=this[_0x12a4ef(0x211)](()=>void this[_0x12a4ef(0x12b)](),0x6*0x3c*0x3c*0x3e8),this[_0x12a4ef(0x1fb)]['warn'](_0x12a4ef(0x1b1)+VERSION+'\x20BETA:\x20Dry-Run\x20ist\x20für\x20Ersttests\x20ausdrücklich\x20empfohlen.'),this[_0x12a4ef(0x1fb)][_0x12a4ef(0x257)](_0x12a4ef(0x254)+this['listConfigs'][_0x12a4ef(0x256)](_0x3b1491=>_0x3b1491[_0x12a4ef(0x208)])['join'](',\x20')+'.\x20Lernmodus:\x20'+this[_0x12a4ef(0x195)]+'.'),this[_0x12a4ef(0x1fb)][_0x12a4ef(0x257)]('WICHTIG:\x20Die\x20Alexa-App\x20muss\x20für\x20jede\x20verwaltete\x20Liste\x20auf\x20„Älteste\x20bis\x20neueste“\x20gestellt\x20sein.'),this[_0x12a4ef(0x1a4)](0x2bc);}async[_0x13ea5f(0x18f)](_0xbcc013=this[_0x13ea5f(0x1c3)]){const _0x5c3a95=_0x13ea5f,_0x2f828d=String(_0xbcc013||this[_0x5c3a95(0x1c3)])[_0x5c3a95(0x214)]()||this['alexaInstance'],_0x5dd0a4=_0x2f828d+_0x5c3a95(0x1ed),_0x2b23e6=_0x5c3a95(0x238),_0x4c78a7=new Set();try{const _0xbc540b=await this[_0x5c3a95(0x1cf)](_0x2f828d+_0x5c3a95(0x1f3),'state');for(const _0xe69850 of Object[_0x5c3a95(0x13f)](_0xbc540b||{})){if(!_0xe69850[_0x5c3a95(0x1e3)](_0x5dd0a4)||!_0xe69850[_0x5c3a95(0x179)](_0x2b23e6))continue;const _0x73cd0f=_0xe69850[_0x5c3a95(0x1a7)](_0x5dd0a4['length'],-_0x2b23e6['length'])['trim']();if(_0x73cd0f&&!_0x73cd0f[_0x5c3a95(0x223)]('.'))_0x4c78a7[_0x5c3a95(0x1c5)](_0x73cd0f);}}catch(_0x146319){this[_0x5c3a95(0x1fb)]['debug'](_0x5c3a95(0xfb)+_0x2f828d+_0x5c3a95(0x119)+String(_0x146319));}for(const _0x116031 of this['listConfigs'])if(_0x116031[_0x5c3a95(0x208)])_0x4c78a7[_0x5c3a95(0x1c5)](String(_0x116031['name'])[_0x5c3a95(0x214)]());return[..._0x4c78a7]['filter'](Boolean)['sort']((_0xd108d4,_0x21d8b0)=>_0xd108d4['localeCompare'](_0x21d8b0,'de',{'sensitivity':_0x5c3a95(0x21e)}));}async[_0x13ea5f(0x1b8)](_0x44a229){const _0x48a31f=_0x13ea5f;if(!_0x44a229||!_0x44a229['callback'])return;if(_0x44a229[_0x48a31f(0x210)]==='getBackupUiUrl'){this[_0x48a31f(0x1ee)](_0x44a229[_0x48a31f(0x203)],_0x44a229[_0x48a31f(0x210)],{'openUrl':_0x48a31f(0x212)+encodeURIComponent(this[_0x48a31f(0x19e)]),'window':'shoppingrouteBackup'},_0x44a229[_0x48a31f(0x22e)]);return;}if(_0x44a229['command']===_0x48a31f(0x13d)){const _0x224619=this[_0x48a31f(0x152)][_0x48a31f(0x256)](_0x39e028=>({'value':_0x39e028[_0x48a31f(0x208)],'label':_0x39e028['name']}))[_0x48a31f(0x10d)]((_0x2cab5c,_0x2bd80a)=>_0x2cab5c['label']['localeCompare'](_0x2bd80a[_0x48a31f(0x1ce)],'de',{'sensitivity':'base'}));this[_0x48a31f(0x1ee)](_0x44a229[_0x48a31f(0x203)],_0x44a229[_0x48a31f(0x210)],_0x224619,_0x44a229['callback']);return;}if(_0x44a229['command']===_0x48a31f(0x252)||_0x44a229[_0x48a31f(0x210)]===_0x48a31f(0x17e)||_0x44a229['command']===_0x48a31f(0x112)){const _0xe9026=_0x44a229[_0x48a31f(0x210)]===_0x48a31f(0x112)?this['markets'][_0x48a31f(0x24e)](_0x2ab833=>_0x2ab833['enabled']!==![]):this['markets'],_0x3a4111=_0xe9026['map'](_0x30addc=>({'value':_0x30addc['name'],'label':_0x30addc[_0x48a31f(0x208)]}))['sort']((_0x566618,_0x29128a)=>_0x566618[_0x48a31f(0x1ce)][_0x48a31f(0x10b)](_0x29128a['label'],'de',{'sensitivity':'base'}));if(_0x44a229['command']==='getMarketsOptional')_0x3a4111[_0x48a31f(0x21a)]({'value':'','label':'—'});this['sendTo'](_0x44a229['from'],_0x44a229['command'],_0x3a4111,_0x44a229['callback']);return;}if(_0x44a229['command']==='getAlexaLists'||_0x44a229[_0x48a31f(0x210)]===_0x48a31f(0x103)){const _0x35840a=String(_0x44a229['message']?.[_0x48a31f(0x1c3)]||this[_0x48a31f(0x1c3)])[_0x48a31f(0x214)]()||this[_0x48a31f(0x1c3)],_0x17a430=await this['discoverAlexaLists'](_0x35840a),_0x160a4d=_0x17a430['map'](_0xf22bb0=>({'value':_0xf22bb0,'label':_0xf22bb0}));this['sendTo'](_0x44a229['from'],_0x44a229[_0x48a31f(0x210)],_0x160a4d,_0x44a229[_0x48a31f(0x22e)]);}}async[_0x13ea5f(0x1a5)](_0x31c526,_0x14d51b){const _0x20347c=_0x13ea5f;if(!_0x14d51b)return;const _0x220a21=this['namespace']+'.';if(_0x31c526===_0x220a21+_0x20347c(0xed)&&!_0x14d51b['ack']&&_0x14d51b[_0x20347c(0x1ad)]===!![]){await this[_0x20347c(0x1be)](_0x20347c(0xed),![],!![]),this[_0x20347c(0x1a4)](0x64);return;}if(_0x31c526===_0x220a21+_0x20347c(0x1d3)&&!_0x14d51b['ack']&&_0x14d51b['val']===!![]){await this['setStateAsync']('control.compatibilityTest',![],!![]),await this[_0x20347c(0x184)]();return;}if(_0x31c526===_0x220a21+'control.resetTrafficStats'&&!_0x14d51b[_0x20347c(0x209)]&&_0x14d51b['val']===!![]){await this[_0x20347c(0x1be)](_0x20347c(0xea),![],!![]),this[_0x20347c(0x105)]=(0x0,metrics_1[_0x20347c(0x1fc)])(),await this[_0x20347c(0x102)]();return;}if(_0x31c526===_0x220a21+_0x20347c(0x1f9)&&!_0x14d51b[_0x20347c(0x209)]&&_0x14d51b[_0x20347c(0x1ad)]===!![]){await this[_0x20347c(0x1be)](_0x20347c(0x1f9),![],!![]),this[_0x20347c(0x217)]=(0x0,statistics_1[_0x20347c(0x21f)])(),await this[_0x20347c(0x1bc)]();return;}if(_0x31c526===_0x220a21+_0x20347c(0x151)&&!_0x14d51b['ack']&&_0x14d51b[_0x20347c(0x1ad)]===!![]){await this['setStateAsync'](_0x20347c(0x151),![],!![]),await this['refreshExports']();return;}if(_0x31c526===_0x220a21+_0x20347c(0x146)&&!_0x14d51b[_0x20347c(0x209)]&&_0x14d51b[_0x20347c(0x1ad)]===!![]){await this['setStateAsync']('control.refreshFeedbackReport',![],!![]),await this[_0x20347c(0x110)]();return;}if(_0x31c526===_0x220a21+_0x20347c(0x109)&&!_0x14d51b[_0x20347c(0x209)]&&_0x14d51b['val']===!![]){await this[_0x20347c(0x1be)]('control.clearTemporaryPriorityMarket',![],!![]),this['temporaryPriorityMarket']='',await this['setStateAsync']('control.temporaryPriorityMarket','__none__',!![]),this[_0x20347c(0x1a4)](0x64);return;}if(_0x31c526===_0x220a21+_0x20347c(0x1dc)&&!_0x14d51b['ack']){const _0x128386=typeof _0x14d51b[_0x20347c(0x1ad)]===_0x20347c(0x1ef)?_0x14d51b[_0x20347c(0x1ad)]['trim']():'';this[_0x20347c(0x198)]=_0x128386===_0x20347c(0x174)?'':_0x128386,await this[_0x20347c(0x1be)](_0x20347c(0x1dc),this['temporaryPriorityMarket']||_0x20347c(0x174),!![]),this[_0x20347c(0x1a4)](0x64);return;}if(_0x31c526===_0x220a21+_0x20347c(0x1ba)&&!_0x14d51b['ack']&&typeof _0x14d51b[_0x20347c(0x1ad)]===_0x20347c(0x1ef)&&_0x14d51b[_0x20347c(0x1ad)][_0x20347c(0x214)]()){try{const _0x30b980=(0x0,config_tools_1['parseConfigImport'])(_0x14d51b[_0x20347c(0x1ad)]);await this[_0x20347c(0x1be)](_0x20347c(0x1ba),'',!![]),await this[_0x20347c(0xef)](_0x30b980),this['log'][_0x20347c(0x257)](_0x20347c(0x236));}catch(_0x41e459){await this[_0x20347c(0x1be)](_0x20347c(0x1ba),'',!![]),await this[_0x20347c(0x232)](_0x20347c(0x1c9)+(_0x41e459 instanceof Error?_0x41e459['message']:String(_0x41e459)));}return;}if(_0x31c526===_0x220a21+'control.marketProfileImport'&&!_0x14d51b['ack']&&typeof _0x14d51b[_0x20347c(0x1ad)]===_0x20347c(0x1ef)&&_0x14d51b['val']['trim']()){try{const _0x504fad=(0x0,config_tools_1[_0x20347c(0x1c7)])(_0x14d51b[_0x20347c(0x1ad)],this[_0x20347c(0x1e5)],this[_0x20347c(0x176)]);await this[_0x20347c(0x1be)](_0x20347c(0x16d),'',!![]),await this[_0x20347c(0xef)]({'markets':_0x504fad[_0x20347c(0x1e5)],'routes':_0x504fad[_0x20347c(0x176)]}),this['log'][_0x20347c(0x257)](_0x20347c(0x245)+_0x504fad[_0x20347c(0x1d8)]+'“\x20importiert.');}catch(_0x4c045a){await this['setStateAsync']('control.marketProfileImport','',!![]),await this['setError']('Marktprofil-Import\x20fehlgeschlagen:\x20'+(_0x4c045a instanceof Error?_0x4c045a['message']:String(_0x4c045a)));}return;}if(_0x31c526===_0x220a21+_0x20347c(0xf1)&&!_0x14d51b[_0x20347c(0x209)]){await this[_0x20347c(0x1be)]('control.enabled',Boolean(_0x14d51b[_0x20347c(0x1ad)]),!![]);if(_0x14d51b[_0x20347c(0x1ad)]===!![])this[_0x20347c(0x1a4)](0xfa);return;}const _0x8574d7=this[_0x20347c(0x248)][_0x20347c(0x20e)](_0x1dc384=>_0x31c526===this[_0x20347c(0x190)](_0x1dc384[_0x20347c(0x208)]));if(_0x8574d7){await this['setStateAsync']('info.connection',!![],!![]);if(this['compatibilityTesting'])return;if(this[_0x20347c(0x24b)]===_0x8574d7[_0x20347c(0x208)])this[_0x20347c(0x246)]=!![];this[_0x20347c(0x1c8)](_0x8574d7['name'],this['debounceMs']);}}['onUnload'](_0x1eb82f){const _0x1f5b1=_0x13ea5f;if(this[_0x1f5b1(0x1ec)])this[_0x1f5b1(0x140)](this[_0x1f5b1(0x1ec)]);if(this[_0x1f5b1(0x183)])this[_0x1f5b1(0x19a)](this[_0x1f5b1(0x183)]);void this['setState']('info.connection',![],!![]),_0x1eb82f();}[_0x13ea5f(0x1a4)](_0xf75eb0){const _0x5e9c90=_0x13ea5f;for(const _0x3797cb of this[_0x5e9c90(0x248)])this['pendingLists']['add'](_0x3797cb['name']);this['armSortTimer'](_0xf75eb0);}[_0x13ea5f(0x1c8)](_0x3c77ad,_0x5ab10f){const _0x3f524c=_0x13ea5f;this['pendingLists'][_0x3f524c(0x1c5)](_0x3c77ad),this[_0x3f524c(0x197)](_0x5ab10f);}['armSortTimer'](_0x5e5ee4){const _0x3c9771=_0x13ea5f;if(this[_0x3c9771(0x1ec)])this['clearTimeout'](this[_0x3c9771(0x1ec)]);this[_0x3c9771(0x1ec)]=this[_0x3c9771(0x247)](()=>{const _0x2793a2=_0x3c9771;this['sortTimer']=null,void this[_0x2793a2(0x233)]();},_0x5e5ee4);}async[_0x13ea5f(0x233)](){const _0x354a65=_0x13ea5f;if(this[_0x354a65(0x24b)])return;while(this[_0x354a65(0x21d)]['size']>0x0){const _0x3effe7=this['pendingLists'][_0x354a65(0x15b)]()[_0x354a65(0x24f)]()[_0x354a65(0xf5)];if(!_0x3effe7)break;this[_0x354a65(0x21d)]['delete'](_0x3effe7),await this[_0x354a65(0x204)](_0x3effe7);}}async[_0x13ea5f(0xf8)](){const _0x2947c4=_0x13ea5f,_0x4206f8=await this[_0x2947c4(0x13a)](_0x2947c4(0xf1));return!_0x4206f8||_0x4206f8[_0x2947c4(0x1ad)]!==![];}async[_0x13ea5f(0x17d)](_0x89a6e9){const _0x59b151=_0x13ea5f,_0x477c61=this[_0x59b151(0x190)](_0x89a6e9),_0x300150=await this['getForeignStateAsync'](_0x477c61);if(!_0x300150||typeof _0x300150[_0x59b151(0x1ad)]!==_0x59b151(0x1ef)||!_0x300150['val'][_0x59b151(0x214)]())throw new Error(_0x59b151(0x207)+_0x477c61+_0x59b151(0x196));const _0x15d0fb=JSON['parse'](_0x300150['val']);if(!Array[_0x59b151(0x220)](_0x15d0fb))throw new Error(_0x477c61+'\x20enthält\x20kein\x20JSON-Array.');return _0x15d0fb;}async[_0x13ea5f(0x204)](_0x22c69e){const _0x1da2c7=_0x13ea5f;if(this[_0x1da2c7(0x24b)]){this['pendingLists'][_0x1da2c7(0x1c5)](_0x22c69e);return;}if(!await this[_0x1da2c7(0xf8)]())return;this['sortingListName']=_0x22c69e,this[_0x1da2c7(0x246)]=![],await this[_0x1da2c7(0x14c)](),this[_0x1da2c7(0x105)][_0x1da2c7(0x18d)]+=0x1,await this['persistTrafficMetrics']();try{const _0x585c07=await this[_0x1da2c7(0x17d)](_0x22c69e),_0x9499f0=(0x0,sorter_1['activeItems'])(_0x585c07),_0x17dd72=(0x0,market_plan_1[_0x1da2c7(0x237)])(_0x585c07,this[_0x1da2c7(0x1e5)]);this[_0x1da2c7(0x186)][_0x1da2c7(0x142)](_0x22c69e,_0x17dd72[_0x1da2c7(0x1ca)]),await this['updateActiveItemCount'](),await this['recordNewItems'](_0x22c69e,_0x585c07);const _0x4b721c=this[_0x1da2c7(0xeb)](_0x22c69e);let _0x175aa6=(0x0,sorter_1['collectUnknownItems'])(_0x585c07,this[_0x1da2c7(0x1e5)],this['products'],this[_0x1da2c7(0x1f4)],_0x4b721c);if(this[_0x1da2c7(0x195)]===_0x1da2c7(0x1df)){const _0x1cb6ed=(0x0,sorter_1['mergeUnknownProducts'])(_0x585c07,this[_0x1da2c7(0x1e5)],this[_0x1da2c7(0x23f)],this[_0x1da2c7(0x1f4)],_0x4b721c);_0x1cb6ed['learned'][_0x1da2c7(0x1ca)]>0x0&&(this[_0x1da2c7(0xf3)]=_0x1cb6ed['products'],this[_0x1da2c7(0x1db)]=!![],this['statistics']['automaticLearned']+=_0x1cb6ed['learned']['length'],await this[_0x1da2c7(0x1bc)](),await this[_0x1da2c7(0x1be)]('info.lastLearnedItems',JSON[_0x1da2c7(0x11e)](_0x1cb6ed[_0x1da2c7(0x242)],null,0x2),!![]),this['log']['info']('Neue\x20Artikel\x20automatisch\x20gelernt:\x20'+_0x1cb6ed[_0x1da2c7(0x242)]['map'](_0x4e2754=>'„'+_0x4e2754[_0x1da2c7(0x208)]+'“')['join'](',\x20')+'.'),_0x175aa6=(0x0,sorter_1['collectUnknownItems'])(_0x585c07,this['markets'],this['products'],this['fallbackMarket'],_0x4b721c));}else{if(this[_0x1da2c7(0x195)]==='review'){const _0x4b7043=JSON['stringify'](this['runtimeReviews']);this['runtimeReviews']=(0x0,sorter_1['mergeReviewQueue'])(this['runtimeReviews'],_0x175aa6);if(JSON['stringify'](this['runtimeReviews'])!==_0x4b7043)this[_0x1da2c7(0x1d4)]=!![];}}await this[_0x1da2c7(0x1be)]('info.unknownItems',JSON['stringify']({'listName':_0x22c69e,'items':_0x175aa6},null,0x2),!![]),await this[_0x1da2c7(0x1be)](_0x1da2c7(0x181),JSON[_0x1da2c7(0x11e)](this['runtimeReviews'],null,0x2),!![]),await this[_0x1da2c7(0x230)](_0x585c07);const _0x278312=(0x0,market_plan_1['requiredMarkets'])(_0x17dd72,this['markets'],this[_0x1da2c7(0x23f)],this[_0x1da2c7(0x1f4)],_0x4b721c,this[_0x1da2c7(0xf7)]),_0x257e4c=(0x0,market_plan_1[_0x1da2c7(0x1fe)])(_0x585c07,_0x278312,this[_0x1da2c7(0x1e5)],this[_0x1da2c7(0x1f4)],this[_0x1da2c7(0x188)]);if(_0x257e4c){await this['setStateAsync']('info.lastPlan',JSON['stringify']({'listName':_0x22c69e,'requiredMarkets':_0x278312,'headerAction':_0x257e4c},null,0x2),!![]);if(this['dryRun']){await this[_0x1da2c7(0x1be)](_0x1da2c7(0x132),new Date()[_0x1da2c7(0x1b2)]()+_0x1da2c7(0x227)+_0x22c69e+'\x20Dry-Run:\x20Marktüberschrift-Aktion\x20'+_0x257e4c[_0x1da2c7(0x156)]+'\x20für\x20'+_0x257e4c['market']+'\x20geplant',!![]),await this[_0x1da2c7(0x1be)]('info.lastError','',!![]);return;}if(!(0x0,compatibility_1[_0x1da2c7(0x16f)])(this[_0x1da2c7(0x18b)])){const _0x44d0bf=this[_0x1da2c7(0x18b)]===_0x1da2c7(0x221)?_0x1da2c7(0x23c):this['writeCapability']===_0x1da2c7(0x21c)?_0x1da2c7(0x189):_0x1da2c7(0x16c);await this[_0x1da2c7(0x1be)](_0x1da2c7(0x115),_0x44d0bf,!![]),this[_0x1da2c7(0x1fb)]['error'](_0x44d0bf);return;}await this[_0x1da2c7(0x205)](_0x22c69e,_0x257e4c),await this[_0x1da2c7(0x1be)](_0x1da2c7(0x132),new Date()['toISOString']()+_0x1da2c7(0x227)+_0x22c69e+':\x20Marktüberschrift\x20'+_0x257e4c['market']+_0x1da2c7(0x171),!![]),await this[_0x1da2c7(0x1be)](_0x1da2c7(0x115),'',!![]);return;}const _0x1f75f9=(0x0,sorter_1['createSortPlan'])(_0x585c07,this['markets'],this[_0x1da2c7(0x176)],this[_0x1da2c7(0x23f)],this[_0x1da2c7(0x1f4)],_0x4b721c,this[_0x1da2c7(0xf7)],this['marketHeadersEnabled']);await this[_0x1da2c7(0x1be)]('info.lastPlan',JSON[_0x1da2c7(0x11e)]({'listName':_0x22c69e,'plan':_0x1f75f9},null,0x2),!![]),await this[_0x1da2c7(0x1be)]('info.preview',JSON['stringify']({'listName':_0x22c69e,'changes':_0x1f75f9[_0x1da2c7(0x24e)](_0x1a8d00=>_0x1a8d00[_0x1da2c7(0x137)]),'plan':_0x1f75f9},null,0x2),!![]),await this[_0x1da2c7(0x1be)](_0x1da2c7(0x243),(0x0,sorter_1[_0x1da2c7(0x175)])(_0x22c69e,_0x1f75f9),!![]);const _0x20d054=_0x1f75f9[_0x1da2c7(0x24e)](_0x3e0f89=>_0x3e0f89[_0x1da2c7(0x137)]),_0x38f84f=new Date()[_0x1da2c7(0x1b2)]();_0x20d054[_0x1da2c7(0x1ca)]>0x0&&(this[_0x1da2c7(0x105)]['plannedChanges']+=_0x20d054[_0x1da2c7(0x1ca)],await this[_0x1da2c7(0x102)]());if(_0x20d054['length']===0x0){await this[_0x1da2c7(0x1be)](_0x1da2c7(0x132),_0x38f84f+'\x20–\x20'+_0x22c69e+_0x1da2c7(0xf2)+_0x9499f0[_0x1da2c7(0x1ca)]+_0x1da2c7(0x1eb),!![]),await this[_0x1da2c7(0x1be)](_0x1da2c7(0x115),'',!![]);return;}this[_0x1da2c7(0x1fb)][_0x1da2c7(0x257)](_0x22c69e+':\x20'+_0x9499f0['length']+_0x1da2c7(0x123)+_0x20d054['length']+_0x1da2c7(0x1a0)+(this[_0x1da2c7(0x1d9)]?_0x1da2c7(0x169):'')+'.');if(this[_0x1da2c7(0x1d9)]){await this['setStateAsync'](_0x1da2c7(0x132),_0x38f84f+_0x1da2c7(0x227)+_0x22c69e+'\x20Dry-Run:\x20'+_0x20d054[_0x1da2c7(0x1ca)]+'\x20Änderung(en)\x20geplant',!![]),await this[_0x1da2c7(0x1be)](_0x1da2c7(0x115),'',!![]);return;}if(!(0x0,compatibility_1[_0x1da2c7(0x16f)])(this[_0x1da2c7(0x18b)])){const _0x2bf87c=this['writeCapability']===_0x1da2c7(0x221)?_0x1da2c7(0x23c):this['writeCapability']===_0x1da2c7(0x21c)?_0x1da2c7(0x189):'Alexa-Schreibzugriffe\x20blockiert:\x20Schreibkompatibilität\x20noch\x20nicht\x20bestätigt;\x20control.compatibilityTest\x20ausführen.';await this[_0x1da2c7(0x1be)](_0x1da2c7(0x132),_0x38f84f+'\x20–\x20BETA-Sicherheitsblock:\x20keine\x20Alexa-Schreibzugriffe',!![]),await this[_0x1da2c7(0x1be)](_0x1da2c7(0x115),_0x2bf87c,!![]),this[_0x1da2c7(0x1fb)]['error'](_0x2bf87c);return;}this[_0x1da2c7(0x105)]['sortRuns']+=0x1,this['traffic'][_0x1da2c7(0x16b)]=new Date()[_0x1da2c7(0x1b2)](),await this[_0x1da2c7(0x102)]();const _0xddf4e6=(0x0,sorter_1['activeIdSignature'])(_0x585c07);let _0x27225f=0x0;for(const _0x37cb63 of _0x20d054){const _0x31e6fd=await this['readList'](_0x22c69e);if((0x0,sorter_1['activeIdSignature'])(_0x31e6fd)!==_0xddf4e6){this[_0x1da2c7(0x105)][_0x1da2c7(0x218)]+=0x1,await this[_0x1da2c7(0x102)](),this[_0x1da2c7(0x21d)]['add'](_0x22c69e),this[_0x1da2c7(0x1fb)]['warn'](_0x22c69e+':\x20Liste\x20wurde\x20während\x20der\x20Sortierung\x20ergänzt\x20oder\x20abgehakt.\x20Neue\x20Berechnung\x20folgt.');return;}const _0x7f50fe=(0x0,sorter_1['activeItems'])(_0x31e6fd)[_0x1da2c7(0x20e)](_0xf05549=>String(_0xf05549['id'])===_0x37cb63['id']);if(!_0x7f50fe||String(_0x7f50fe[_0x1da2c7(0xf5)])[_0x1da2c7(0x214)]()!==_0x37cb63['from']){this[_0x1da2c7(0x105)]['abortedRuns']+=0x1,await this['persistTrafficMetrics'](),this[_0x1da2c7(0x21d)]['add'](_0x22c69e),this['log'][_0x1da2c7(0x213)](_0x22c69e+_0x1da2c7(0x160));return;}const _0x205b39=this[_0x1da2c7(0x1c3)]+_0x1da2c7(0x1ed)+_0x22c69e+'.items.'+_0x37cb63['id']+_0x1da2c7(0x18e),_0x3ee36a=await this[_0x1da2c7(0x1b3)](_0x205b39);if(!_0x3ee36a)throw new Error(_0x1da2c7(0x12f)+_0x205b39);await this[_0x1da2c7(0x1b7)](_0x205b39,_0x37cb63['to']),_0x27225f+=0x1,this['apiSafeMode']&&_0x27225f%this[_0x1da2c7(0x23a)]===0x0&&_0x27225f<_0x20d054[_0x1da2c7(0x1ca)]&&this[_0x1da2c7(0x120)]>0x0?(this[_0x1da2c7(0x1fb)]['info'](_0x1da2c7(0x122)+_0x27225f+_0x1da2c7(0x117)+this[_0x1da2c7(0x120)]+_0x1da2c7(0x106)),await this['wait'](this[_0x1da2c7(0x120)])):await this[_0x1da2c7(0x1b6)](this['writePauseMs']);}await this['wait'](Math[_0x1da2c7(0x1ab)](0x3e8,this['writePauseMs']));const _0x347081=await this['readList'](_0x22c69e);if((0x0,sorter_1[_0x1da2c7(0x1f0)])(_0x347081)!==_0xddf4e6){this['traffic']['abortedRuns']+=0x1,await this[_0x1da2c7(0x102)](),this[_0x1da2c7(0x21d)][_0x1da2c7(0x1c5)](_0x22c69e);return;}const _0x503d1b=(0x0,sorter_1[_0x1da2c7(0x1ae)])(_0x347081,this[_0x1da2c7(0x1e5)],this[_0x1da2c7(0x176)],this[_0x1da2c7(0x23f)],this[_0x1da2c7(0x1f4)],_0x4b721c,this[_0x1da2c7(0xf7)],this[_0x1da2c7(0x188)]),_0x87d6e2=_0x503d1b[_0x1da2c7(0x24e)](_0x372267=>_0x372267['changed']);if(_0x87d6e2[_0x1da2c7(0x1ca)]>0x0){const _0xe99b24=_0x22c69e+_0x1da2c7(0x259)+_0x87d6e2[_0x1da2c7(0x1ca)]+_0x1da2c7(0x22b);await this[_0x1da2c7(0x232)](_0xe99b24);return;}await this[_0x1da2c7(0x1be)](_0x1da2c7(0x132),new Date()[_0x1da2c7(0x1b2)]()+'\x20–\x20'+_0x22c69e+':\x20'+_0x20d054[_0x1da2c7(0x1ca)]+_0x1da2c7(0x114)+_0x9499f0['length']+_0x1da2c7(0x253),!![]),await this[_0x1da2c7(0x1be)]('info.lastError','',!![]);}catch(_0x33b2fa){const _0x10e722=_0x33b2fa instanceof Error?_0x33b2fa['message']:String(_0x33b2fa);await this[_0x1da2c7(0x232)](_0x10e722),this[_0x1da2c7(0x1fb)]['error'](_0x10e722);}finally{this['sortingListName']='',await this[_0x1da2c7(0x15d)](),await this[_0x1da2c7(0x1b5)](),await this['updateFeedbackReport']();if(this[_0x1da2c7(0x246)])this['pendingLists'][_0x1da2c7(0x1c5)](_0x22c69e);if(this[_0x1da2c7(0x21d)]['size']>0x0)this[_0x1da2c7(0x197)](this[_0x1da2c7(0x10e)]);}}async[_0x13ea5f(0x205)](_0x558320,_0x3179bd){const _0x3ce6c7=_0x13ea5f,_0x218fba=_0x3179bd[_0x3ce6c7(0x156)]==='create'?this['alexaInstance']+'.Lists.'+_0x558320+_0x3ce6c7(0x17a):this[_0x3ce6c7(0x1c3)]+_0x3ce6c7(0x1ed)+_0x558320+'.items.'+_0x3179bd['id']+'.#delete',_0x3c45da=_0x3179bd[_0x3ce6c7(0x156)]==='create'?_0x3179bd['value']:!![],_0x38378a=await this[_0x3ce6c7(0x1b3)](_0x218fba);if(!_0x38378a)throw new Error(_0x3ce6c7(0x229)+_0x218fba);await this['writeAlexaState'](_0x218fba,_0x3c45da),this[_0x3ce6c7(0x1fb)]['info'](_0x558320+_0x3ce6c7(0x23e)+_0x3179bd['market']+_0x3ce6c7(0x227)+_0x3179bd['type']+'.');}async['writeAlexaState'](_0x250cf6,_0x3658de){const _0xada37b=_0x13ea5f;let _0x51e3b5;for(let _0x44eaa6=0x0;_0x44eaa6<=this[_0xada37b(0x144)];_0x44eaa6++){try{if(this[_0xada37b(0x258)])await this[_0xada37b(0x10c)]();await this[_0xada37b(0x20a)](_0x250cf6,{'val':_0x3658de,'ack':![]}),this['writeTimestamps'][_0xada37b(0x1d2)](Date[_0xada37b(0x185)]()),this['traffic'][_0xada37b(0x187)]+=0x1,this[_0xada37b(0x105)][_0xada37b(0x226)]=new Date()['toISOString'](),await this['persistTrafficMetrics']();return;}catch(_0x3b9700){_0x51e3b5=_0x3b9700;if(_0x44eaa6>=this[_0xada37b(0x144)])break;const _0x101102=this[_0xada37b(0x1a6)]*Math[_0xada37b(0x13e)](0x2,_0x44eaa6);this[_0xada37b(0x1fb)][_0xada37b(0x213)]('Alexa-Schreibzugriff\x20fehlgeschlagen;\x20Retry\x20'+(_0x44eaa6+0x1)+'/'+this['maxWriteRetries']+'\x20in\x20'+_0x101102+_0xada37b(0x182)),await this[_0xada37b(0x1b6)](_0x101102);}}throw _0x51e3b5 instanceof Error?_0x51e3b5:new Error(String(_0x51e3b5));}async['waitForWriteBudget'](){const _0x42e4da=_0x13ea5f;while(!![]){const _0x5928b4=Date[_0x42e4da(0x185)]();this[_0x42e4da(0x228)]=this[_0x42e4da(0x228)]['filter'](_0x5d8fa5=>_0x5928b4-_0x5d8fa5<0xea60);if(this[_0x42e4da(0x228)][_0x42e4da(0x1ca)]<this[_0x42e4da(0x19f)])return;const _0x43b0e3=Math[_0x42e4da(0x1ab)](0x1f4,0xea60-(_0x5928b4-this['writeTimestamps'][0x0])+0x64);this['log']['info'](_0x42e4da(0x1f5)+this[_0x42e4da(0x19f)]+_0x42e4da(0x19d)+_0x43b0e3+'\x20ms.'),await this[_0x42e4da(0x1b6)](_0x43b0e3);}}async[_0x13ea5f(0x230)](_0x4d3454){const _0x3f0a03=_0x13ea5f;if(this['cfg']['autoAliasSuggestions']===![]){await this[_0x3f0a03(0x1be)]('info.aliasSuggestions','[]',!![]);return;}const _0x26a573=[];for(const _0x393ea6 of(0x0,sorter_1[_0x3f0a03(0x108)])(_0x4d3454)){if((0x0,market_plan_1[_0x3f0a03(0x1a9)])(String(_0x393ea6[_0x3f0a03(0xf5)]),this[_0x3f0a03(0x1e5)]))continue;const _0x5fa34a=(0x0,parser_1[_0x3f0a03(0x219)])(String(_0x393ea6[_0x3f0a03(0xf5)]),this[_0x3f0a03(0x1e5)],this['products'],this['fallbackMarket'],this['priorityMarket']),_0x25a77c=(0x0,parser_1[_0x3f0a03(0xff)])(_0x5fa34a[_0x3f0a03(0x1e4)],this['products']);if(!_0x25a77c)continue;for(const _0x454cde of(0x0,parser_1[_0x3f0a03(0x14a)])(_0x5fa34a[_0x3f0a03(0x1e4)],_0x25a77c))_0x26a573['push']({'product':_0x25a77c[_0x3f0a03(0x208)],'alias':_0x454cde});}const _0x4c8f5c=[...new Map(_0x26a573[_0x3f0a03(0x256)](_0x29b0b1=>[(_0x29b0b1[_0x3f0a03(0x149)]+'|'+_0x29b0b1[_0x3f0a03(0x12a)])[_0x3f0a03(0x222)]('de'),_0x29b0b1]))[_0x3f0a03(0x15b)]()];await this[_0x3f0a03(0x1be)](_0x3f0a03(0x24c),JSON[_0x3f0a03(0x11e)](_0x4c8f5c,null,0x2),!![]);}async[_0x13ea5f(0x200)](_0x44b286,_0x465843){const _0x12f59a=_0x13ea5f,_0x55d01c=(0x0,sorter_1[_0x12f59a(0x108)])(_0x465843),_0x3d0569=this[_0x12f59a(0x22f)][_0x12f59a(0x147)](_0x44b286),_0x2fa049=new Set(_0x55d01c['map'](_0xb4e892=>String(_0xb4e892['id'])));if(!_0x3d0569){this[_0x12f59a(0x22f)][_0x12f59a(0x142)](_0x44b286,_0x2fa049);return;}for(const _0x39ab40 of _0x55d01c){if(_0x3d0569[_0x12f59a(0x1b4)](String(_0x39ab40['id'])))continue;if((0x0,market_plan_1[_0x12f59a(0x1a9)])(String(_0x39ab40[_0x12f59a(0xf5)]),this[_0x12f59a(0x1e5)]))continue;const _0x1fc23c=(0x0,parser_1[_0x12f59a(0x219)])(String(_0x39ab40['value']),this[_0x12f59a(0x1e5)],this[_0x12f59a(0x23f)],this['fallbackMarket'],this['priorityMarketForList'](_0x44b286));this['statistics']=(0x0,statistics_1[_0x12f59a(0x15f)])(this[_0x12f59a(0x217)],_0x44b286,_0x1fc23c);}this[_0x12f59a(0x22f)][_0x12f59a(0x142)](_0x44b286,_0x2fa049),await this[_0x12f59a(0x1bc)]();}async[_0x13ea5f(0x167)](){const _0x52d80c=_0x13ea5f,_0x8a330a=[...this[_0x52d80c(0x186)][_0x52d80c(0x15b)]()]['reduce']((_0xdf416b,_0x11c915)=>_0xdf416b+_0x11c915,0x0);await this[_0x52d80c(0x1be)](_0x52d80c(0xfd),_0x8a330a,!![]),await this[_0x52d80c(0x1be)]('info.activeItemsByList',JSON[_0x52d80c(0x11e)](Object[_0x52d80c(0x1da)](this['activeCountByList']),null,0x2),!![]);}async['runStartupCompatibilityCheck'](){const _0x531bc0=_0x13ea5f;try{const _0x5c764e=await this[_0x531bc0(0x1b3)]('system.adapter.'+this[_0x531bc0(0x1c3)]),_0x58a108=_0x5c764e?.[_0x531bc0(0x113)]?.[_0x531bc0(0x194)];this[_0x531bc0(0x239)]=typeof _0x58a108===_0x531bc0(0x1ef)?_0x58a108:_0x531bc0(0x206);}catch{this[_0x531bc0(0x239)]=_0x531bc0(0x206);}try{const _0x5a3a19=require['resolve'](_0x531bc0(0x11d)),_0xb8ad89=fs['readFileSync'](_0x5a3a19,'utf8'),_0x1d7b56=(0x0,compatibility_1['inspectAlexaRemoteSource'])(_0xb8ad89);this[_0x531bc0(0x18b)]=_0x1d7b56[_0x531bc0(0x1e8)],this['compatibilityDetail']=_0x1d7b56[_0x531bc0(0x17b)],this[_0x531bc0(0x1ff)]=this['findPackageVersion'](_0x5a3a19,'alexa-remote2');}catch(_0x106f8c){this['writeCapability']='unknown',this[_0x531bc0(0xfa)]=_0x531bc0(0x129)+(_0x106f8c instanceof Error?_0x106f8c[_0x531bc0(0x12e)]:String(_0x106f8c)),this[_0x531bc0(0x1ff)]='unbekannt';}await this['updateCompatibilityDiagnostics']();}['findPackageVersion'](_0x3903e7,_0x2ae764){const _0x46bb42=_0x13ea5f;let _0xd10fd1=path[_0x46bb42(0x126)](_0x3903e7);for(let _0x371125=0x0;_0x371125<0x6;_0x371125++){const _0x4d42ac=path[_0x46bb42(0xe9)](_0xd10fd1,_0x46bb42(0x10a));try{const _0x48b3bc=JSON[_0x46bb42(0x136)](fs[_0x46bb42(0x138)](_0x4d42ac,_0x46bb42(0x20c)));if(_0x48b3bc[_0x46bb42(0x208)]===_0x2ae764&&_0x48b3bc[_0x46bb42(0x194)])return _0x48b3bc[_0x46bb42(0x194)];}catch{}const _0x46c6d8=path[_0x46bb42(0x126)](_0xd10fd1);if(_0x46c6d8===_0xd10fd1)break;_0xd10fd1=_0x46c6d8;}return _0x46bb42(0x206);}async[_0x13ea5f(0x184)](){const _0x39129f=_0x13ea5f;if(this['compatibilityTesting']||this['sortingListName'])return;this['compatibilityTesting']=!![];try{const _0x54f64a=this[_0x39129f(0x248)][0x0]?.['name'];if(!_0x54f64a)throw new Error('Keine\x20aktive\x20Alexa-Liste\x20konfiguriert.');const _0x59e77a=await this['readList'](_0x54f64a),_0x3dddc2=(0x0,sorter_1[_0x39129f(0x1bb)])((0x0,sorter_1[_0x39129f(0x108)])(_0x59e77a))[0x0];if(!_0x3dddc2)throw new Error(_0x39129f(0x15a));const _0x306e0c=this['alexaInstance']+_0x39129f(0x1ed)+_0x54f64a+_0x39129f(0x154)+_0x3dddc2['id']+'.value',_0x5f3c6d=await this[_0x39129f(0x14b)](_0x306e0c),_0x585024=String(_0x5f3c6d?.[_0x39129f(0x1ad)]??_0x3dddc2[_0x39129f(0xf5)])[_0x39129f(0x214)]();if(!_0x585024)throw new Error('Der\x20Testeintrag\x20enthält\x20keinen\x20sichtbaren\x20value-Text.');const _0x3cbf37=Number(_0x5f3c6d?.['ts']||0x0);await this['setForeignStateAsync'](_0x306e0c,{'val':_0x585024,'ack':![]}),this[_0x39129f(0x105)]['alexaWrites']+=0x1,this[_0x39129f(0x105)]['compatibilityWrites']+=0x1,this[_0x39129f(0x105)][_0x39129f(0x226)]=new Date()[_0x39129f(0x1b2)](),await this[_0x39129f(0x102)]();const _0x1c4ced=Date[_0x39129f(0x185)]()+0x2710;let _0x2cb568=![];while(Date[_0x39129f(0x185)]()<_0x1c4ced){await this['wait'](0xfa);const _0x50f58f=await this[_0x39129f(0x14b)](_0x306e0c);if(_0x50f58f&&_0x50f58f[_0x39129f(0x209)]===!![]&&String(_0x50f58f[_0x39129f(0x1ad)]??'')[_0x39129f(0x214)]()===_0x585024&&Number(_0x50f58f['ts']||0x0)>_0x3cbf37){_0x2cb568=!![];break;}}_0x2cb568?(this[_0x39129f(0x18b)]='live-ok',this[_0x39129f(0xfa)]=_0x39129f(0x121),this['lastCompatibilityTest']=new Date()[_0x39129f(0x1b2)]()+_0x39129f(0x1a2)+_0x585024+'“',await this[_0x39129f(0x1be)](_0x39129f(0x115),'',!![])):(this['writeCapability']=_0x39129f(0x21c),this[_0x39129f(0xfa)]='Live-Test\x20fehlgeschlagen:\x20Alexa2\x20hat\x20den\x20value-Schreibzugriff\x20nicht\x20innerhalb\x20von\x2010\x20Sekunden\x20bestätigt.',this['lastCompatibilityTest']=new Date()['toISOString']()+_0x39129f(0x1de)+_0x585024+'“',await this[_0x39129f(0x1be)](_0x39129f(0x115),'Alexa-Schreibkompatibilitätstest\x20fehlgeschlagen;\x20Sortierschreibzugriffe\x20bleiben\x20blockiert.',!![])),await this[_0x39129f(0x1e2)]();}catch(_0x39ab89){const _0x5d1f8a=_0x39ab89 instanceof Error?_0x39ab89['message']:String(_0x39ab89);this[_0x39129f(0x18b)]='live-failed',this['compatibilityDetail']=_0x39129f(0x166)+_0x5d1f8a,this['lastCompatibilityTest']=new Date()['toISOString']()+_0x39129f(0x20d)+_0x5d1f8a,await this[_0x39129f(0x1be)](_0x39129f(0x115),_0x39129f(0x24a)+_0x5d1f8a,!![]),await this[_0x39129f(0x1e2)]();}finally{this['compatibilityTesting']=![];}}async[_0x13ea5f(0x1e2)](){const _0x317394=_0x13ea5f;await this[_0x317394(0x1be)](_0x317394(0x10f),this[_0x317394(0x18b)],!![]),await this[_0x317394(0x1be)](_0x317394(0x1e7),this[_0x317394(0x1c2)],!![]),await this[_0x317394(0x1be)](_0x317394(0x164),JSON[_0x317394(0x11e)]({'shoppingrouteVersion':VERSION,'beta':!![],'alexaInstance':this['alexaInstance'],'alexa2Version':this[_0x317394(0x239)],'alexaRemote2Version':this[_0x317394(0x1ff)],'lists':this[_0x317394(0x248)]['map'](_0x6943ee=>_0x6943ee[_0x317394(0x208)]),'dryRun':this[_0x317394(0x1d9)],'writeCapability':this[_0x317394(0x18b)],'detail':this[_0x317394(0xfa)],'lastCompatibilityTest':this['lastCompatibilityTest'],'requiredAlexaAppSorting':'Älteste\x20bis\x20neueste\x20/\x20Oldest\x20to\x20newest','checkedAt':new Date()[_0x317394(0x1b2)]()},null,0x2),!![]);}async[_0x13ea5f(0x125)](){const _0xe48680=_0x13ea5f;try{const _0x43e720={'__none__':_0xe48680(0x22d)};for(const _0x18624d of[...this[_0xe48680(0x1e5)]][_0xe48680(0x10d)]((_0x44dc69,_0x26ae7f)=>_0x44dc69['name'][_0xe48680(0x10b)](_0x26ae7f['name'],'de',{'sensitivity':'base'}))){_0x43e720[_0x18624d[_0xe48680(0x208)]]=_0x18624d[_0xe48680(0x208)];}await this[_0xe48680(0x231)](_0xe48680(0x1dc),{'common':{'states':_0x43e720}});}catch(_0x2a6a2e){this['log'][_0xe48680(0x213)](_0xe48680(0x134)+(_0x2a6a2e instanceof Error?_0x2a6a2e['message']:String(_0x2a6a2e)));}}['ensureRoutesForMarketsAndGroups'](){const _0xd695d=_0x13ea5f,_0x12d8a2=(0x0,config_tools_1['ensureMarketRoutes'])(this[_0xd695d(0x1e5)],this['productGroups'],this[_0xd695d(0x172)]);if(_0x12d8a2[_0xd695d(0x201)]<=0x0)return;this['runtimeRoutes']=_0x12d8a2['routes'],this['routesDirty']=!![],this['log'][_0xd695d(0x257)](_0x12d8a2[_0xd695d(0x201)]+_0xd695d(0x124));}async['ensureProductGroupsConfig'](){const _0x363a40=_0x13ea5f;if(Array[_0x363a40(0x220)](this[_0x363a40(0x1e0)]['productGroups'])&&this[_0x363a40(0x1e0)][_0x363a40(0x152)]['length']>0x0)return;try{await this['updateConfig']({'productGroups':DEFAULT_CATEGORIES[_0x363a40(0x256)](_0x1fa78a=>({'name':_0x1fa78a}))});}catch(_0x5cdc7e){this['log']['warn']('Produktgruppen\x20konnten\x20nicht\x20initialisiert\x20werden:\x20'+(_0x5cdc7e instanceof Error?_0x5cdc7e['message']:String(_0x5cdc7e)));}}async[_0x13ea5f(0x15d)](){const _0x4bb0bd=_0x13ea5f;if(!this['productsDirty']&&!this['reviewsDirty']&&!this[_0x4bb0bd(0x16a)])return;try{const _0x1a9e78=_0x4bb0bd(0x1f6)+this['namespace'],_0x549b79=await this[_0x4bb0bd(0x1b3)](_0x1a9e78);if(!_0x549b79)throw new Error('Instanzobjekt\x20nicht\x20gefunden:\x20'+_0x1a9e78);const _0x5b4ed4=_0x549b79['native']||{};_0x549b79['native']={..._0x5b4ed4,...this['productsDirty']?{'products':this[_0x4bb0bd(0xf3)][_0x4bb0bd(0x256)](_0x5ec448=>({..._0x5ec448}))}:{},...this[_0x4bb0bd(0x1d4)]?{'reviewItems':this[_0x4bb0bd(0xee)][_0x4bb0bd(0x256)](_0xc634a5=>({..._0xc634a5}))}:{},...this[_0x4bb0bd(0x16a)]?{'routes':this[_0x4bb0bd(0x172)][_0x4bb0bd(0x256)](_0x150045=>({..._0x150045}))}:{}},await this[_0x4bb0bd(0x1af)](_0x1a9e78,_0x549b79),this[_0x4bb0bd(0x1db)]=![],this[_0x4bb0bd(0x1d4)]=![],this[_0x4bb0bd(0x16a)]=![];}catch(_0x569a1f){await this['setStateAsync'](_0x4bb0bd(0x115),'Lern-/Konfigurationsdaten\x20konnten\x20nicht\x20gespeichert\x20werden:\x20'+(_0x569a1f instanceof Error?_0x569a1f['message']:String(_0x569a1f)),!![]);}}async[_0x13ea5f(0x1b5)](){const _0x2eda7f=_0x13ea5f,_0x38ff61={...this[_0x2eda7f(0x1e0)],'products':this[_0x2eda7f(0xf3)],'routes':this[_0x2eda7f(0x176)],'reviewItems':this[_0x2eda7f(0xee)]};await this['setStateAsync'](_0x2eda7f(0x173),JSON[_0x2eda7f(0x11e)]((0x0,config_tools_1[_0x2eda7f(0x240)])(_0x38ff61,VERSION),null,0x2),!![]),await this[_0x2eda7f(0x1be)](_0x2eda7f(0x17c),JSON[_0x2eda7f(0x11e)]((0x0,config_tools_1[_0x2eda7f(0x1b9)])(this[_0x2eda7f(0x1e5)],this[_0x2eda7f(0x176)]),null,0x2),!![]);}async[_0x13ea5f(0x23b)](){const _0x4578b5=_0x13ea5f;try{const _0x5584bd=await this[_0x4578b5(0x13a)]('info.traffic');this[_0x4578b5(0x105)]=(0x0,metrics_1[_0x4578b5(0x1c4)])(_0x5584bd&&typeof _0x5584bd[_0x4578b5(0x1ad)]===_0x4578b5(0x1ef)&&_0x5584bd[_0x4578b5(0x1ad)][_0x4578b5(0x214)]()?JSON[_0x4578b5(0x136)](_0x5584bd[_0x4578b5(0x1ad)]):null);}catch{this['traffic']=(0x0,metrics_1['emptyTrafficMetrics'])();}await this['persistTrafficMetrics']();}async['ensureTrafficDay'](){const _0x41b186=_0x13ea5f,_0x2627c5=(0x0,metrics_1['normalizeTrafficMetrics'])(this[_0x41b186(0x105)]);_0x2627c5['date']!==this[_0x41b186(0x105)][_0x41b186(0x255)]&&(this['traffic']=_0x2627c5,await this[_0x41b186(0x102)]());}async[_0x13ea5f(0x102)](){const _0x23b3c7=_0x13ea5f;this[_0x23b3c7(0x105)]=(0x0,metrics_1[_0x23b3c7(0x1c4)])(this['traffic']),await this['setStateAsync']('info.localChecksToday',this[_0x23b3c7(0x105)][_0x23b3c7(0x18d)],!![]),await this['setStateAsync']('info.plannedChangesToday',this[_0x23b3c7(0x105)][_0x23b3c7(0x128)],!![]),await this[_0x23b3c7(0x1be)](_0x23b3c7(0x19b),this['traffic'][_0x23b3c7(0x244)],!![]),await this[_0x23b3c7(0x1be)](_0x23b3c7(0xf0),this[_0x23b3c7(0x105)][_0x23b3c7(0x187)],!![]),await this[_0x23b3c7(0x1be)]('info.compatibilityWritesToday',this['traffic'][_0x23b3c7(0x14e)],!![]),await this['setStateAsync']('info.abortedRunsToday',this[_0x23b3c7(0x105)][_0x23b3c7(0x218)],!![]),await this['setStateAsync'](_0x23b3c7(0x12d),JSON[_0x23b3c7(0x11e)]({...this[_0x23b3c7(0x105)],'note':_0x23b3c7(0x1d5)},null,0x2),!![]);}async[_0x13ea5f(0x180)](){const _0x3256bb=_0x13ea5f;try{const _0x36cfae=await this[_0x3256bb(0x13a)](_0x3256bb(0x158));this[_0x3256bb(0x217)]=(0x0,statistics_1[_0x3256bb(0x18a)])(_0x36cfae&&typeof _0x36cfae['val']===_0x3256bb(0x1ef)&&_0x36cfae[_0x3256bb(0x1ad)][_0x3256bb(0x214)]()?JSON[_0x3256bb(0x136)](_0x36cfae[_0x3256bb(0x1ad)]):null);}catch{this[_0x3256bb(0x217)]=(0x0,statistics_1['emptyUsageStatistics'])();}await this[_0x3256bb(0x1bc)]();}async[_0x13ea5f(0x1bc)](){const _0x10e6c3=_0x13ea5f;this['statistics'][_0x10e6c3(0x1cd)]=new Date()[_0x10e6c3(0x1b2)](),await this[_0x10e6c3(0x1be)](_0x10e6c3(0x158),JSON[_0x10e6c3(0x11e)](this['statistics'],null,0x2),!![]);}async[_0x13ea5f(0x12b)](){const _0x3bb772=_0x13ea5f;try{const _0x2eb078=await this[_0x3bb772(0x1d0)](_0x3bb772(0x216)),_0xc0319b=_0x2eb078['dist-tags']||{},_0x1c0e75=typeof _0xc0319b[_0x3bb772(0x1fa)]===_0x3bb772(0x1ef)?_0xc0319b[_0x3bb772(0x1fa)]:'',_0x108795=typeof _0xc0319b['latest']===_0x3bb772(0x1ef)?_0xc0319b[_0x3bb772(0x143)]:'';this['latestBetaVersion']=_0x1c0e75||_0x108795,this[_0x3bb772(0x168)]=new Date()[_0x3bb772(0x1b2)](),await this[_0x3bb772(0x1be)](_0x3bb772(0x17f),this[_0x3bb772(0x1d6)]||_0x3bb772(0x206),!![]),await this[_0x3bb772(0x1be)](_0x3bb772(0x104),Boolean(this[_0x3bb772(0x1d6)]&&this['latestBetaVersion']!==VERSION),!![]),await this['setStateAsync'](_0x3bb772(0xf6),this[_0x3bb772(0x168)]+_0x3bb772(0x241)+(this[_0x3bb772(0x1d6)]||'unbekannt'),!![]);}catch(_0x493b6f){this[_0x3bb772(0x168)]=new Date()['toISOString'](),await this[_0x3bb772(0x1be)](_0x3bb772(0xf6),this[_0x3bb772(0x168)]+'\x20–\x20npm-Abfrage\x20fehlgeschlagen:\x20'+(_0x493b6f instanceof Error?_0x493b6f[_0x3bb772(0x12e)]:String(_0x493b6f)),!![]);}await this['updateFeedbackReport']();}[_0x13ea5f(0x1d0)](_0x1faa36){return new Promise((_0x44fb71,_0x34af0d)=>{const _0x29f573=_0x5852,_0x586bb5=https[_0x29f573(0x147)](_0x1faa36,{'headers':{'User-Agent':_0x29f573(0x1e9)+VERSION}},_0xc2fd56=>{const _0x45522e=_0x29f573;if((_0xc2fd56['statusCode']||0x1f4)>=0x190){_0xc2fd56[_0x45522e(0x165)](),_0x34af0d(new Error(_0x45522e(0x235)+_0xc2fd56['statusCode']));return;}let _0xfa20b2='';_0xc2fd56['setEncoding'](_0x45522e(0x20c)),_0xc2fd56['on'](_0x45522e(0x234),_0x191c1d=>{_0xfa20b2+=_0x191c1d;}),_0xc2fd56['on'](_0x45522e(0x118),()=>{const _0x292d54=_0x45522e;try{_0x44fb71(JSON[_0x292d54(0x136)](_0xfa20b2));}catch(_0x3d6708){_0x34af0d(_0x3d6708 instanceof Error?_0x3d6708:new Error(_0x292d54(0x127)));}});});_0x586bb5[_0x29f573(0x247)](0x1f40,()=>_0x586bb5[_0x29f573(0x1d1)](new Error('Timeout'))),_0x586bb5['on']('error',_0x34af0d);});}async[_0x13ea5f(0x110)](){const _0x3e919f=_0x13ea5f,_0x471add={'generatedAt':new Date()[_0x3e919f(0x1b2)](),'shoppingrouteVersion':VERSION,'node':process[_0x3e919f(0x194)],'alexaInstance':this[_0x3e919f(0x1c3)],'alexa2Version':this[_0x3e919f(0x239)],'alexaRemote2Version':this[_0x3e919f(0x1ff)],'lists':this['listConfigs'][_0x3e919f(0x256)](_0x39f729=>({'name':_0x39f729[_0x3e919f(0x208)],'activeItems':this['activeCountByList'][_0x3e919f(0x147)](_0x39f729[_0x3e919f(0x208)])||0x0})),'dryRun':this['dryRun'],'learningMode':this[_0x3e919f(0x195)],'apiSafeMode':this[_0x3e919f(0x258)],'writeCapability':this['writeCapability'],'lastCompatibilityTest':this[_0x3e919f(0x1c2)],'lastError':String((await this['getStateAsync'](_0x3e919f(0x115)))?.['val']||''),'traffic':this[_0x3e919f(0x105)],'update':{'installed':VERSION,'npmBeta':this[_0x3e919f(0x1d6)]||_0x3e919f(0x206),'checkedAt':this[_0x3e919f(0x168)]||_0x3e919f(0x1c0)},'privacy':_0x3e919f(0xf9)};await this['setStateAsync']('info.feedbackReport',JSON[_0x3e919f(0x11e)](_0x471add,null,0x2),!![]);}async[_0x13ea5f(0x232)](_0x3e773e){const _0x342b6f=_0x13ea5f;await this['setStateAsync'](_0x342b6f(0x115),_0x3e773e,!![]);}['wait'](_0x15c99a){const _0x3e1fc9=_0x13ea5f;return new Promise(_0x1546f1=>this[_0x3e1fc9(0x247)](_0x1546f1,_0x15c99a));}static[_0x13ea5f(0x1fd)](){return[...DEFAULT_CATEGORIES];}}function _0x5852(_0x3ffc33,_0x599095){_0x3ffc33=_0x3ffc33-0xe9;const _0x584c47=_0x584c();let _0x5852c6=_0x584c47[_0x3ffc33];return _0x5852c6;}exports[_0x13ea5f(0x1a1)]=ShoppingRoute;if(require[_0x13ea5f(0x25a)]!==module)module[_0x13ea5f(0x199)]=_0x31913b=>new ShoppingRoute(_0x31913b);else((()=>new ShoppingRoute())());function _0x584c(){const _0x425d5e=['stateChange','\x20aktiv)','sortTimer','.Lists.','sendTo','string','activeIdSignature','Brot/Gebäck','12799tFMkUR','.Lists.*.json','fallbackMarket','API-Schonmodus:\x20Schreiblimit\x20','system.adapter.','Nonfood','90idTFuo','control.resetStatistics','beta','log','emptyTrafficMetrics','getDefaultCategories','planMarketHeaderAction','alexaRemote2Version','recordNewItems','added','Haushalt/Hygiene','from','sortList','applyMarketHeaderAction','unbekannt','Datenpunkt\x20','name','ack','setForeignStateAsync','runStartupCompatibilityCheck','utf8','\x20–\x20FEHLER:\x20','find','H-Milch/Nudeln','command','setInterval','./adapter/shoppingroute/backup-transfer.html?instance=','warn','trim','104aBXsuz','https://registry.npmjs.org/iobroker.shoppingroute','statistics','abortedRuns','parseItem','unshift','floor','live-failed','pendingLists','base','emptyUsageStatistics','isArray','known-bug','toLocaleLowerCase','includes','./lib/sorter','call','lastAlexaWrite','\x20–\x20','writeTimestamps','Alexa-Datenpunkt\x20für\x20Marktüberschrift\x20fehlt:\x20','writePauseMs','\x20geplante\x20Textänderung(en)\x20nicht\x20bestätigt;\x20kein\x20automatischer\x20Endlos-Retry.','info.versionInstalled','—\x20Kein\x20Markt\x20—','callback','knownActiveIds','updateAliasSuggestions','extendObjectAsync','setError','processPendingSorts','data','HTTP\x20','ShoppingRoute-Konfiguration\x20importiert;\x20Instanz\x20wird\x20durch\x20ioBroker\x20neu\x20gestartet.','realActiveItems','.json','alexa2Version','batchSize','loadTrafficMetrics','Alexa-Schreibzugriffe\x20blockiert:\x20bekannte\x20fehlerhafte\x20alexa-remote2\x20version-Query\x20erkannt.','Noch\x20nicht\x20geprüft.',':\x20Marktüberschrift\x20','products','exportConfig','\x20–\x20npm\x20beta:\x20','learned','info.previewText','sortRuns','Marktprofil\x20„','listChangedDuringSort','setTimeout','listConfigs','autoLearnProducts','Kompatibilitätstest:\x20','sortingListName','info.aliasSuggestions','Konserven','filter','next','defineProperty','642593qnvhuQ','getMarkets','\x20aktiv','Listen:\x20','date','map','info','apiSafeMode',':\x20Alexa\x20hat\x20','main','join','control.resetTrafficStats','priorityMarketForList','Milchprodukte','control.sortNow','runtimeReviews','updateConfig','info.alexaWritesToday','control.enabled',':\x20bereits\x20sortiert\x20(','runtimeProducts','getOwnPropertyNames','value','info.versionCheck','minimumItemsPerMarket','isEnabled','Produktnamen,\x20Einkaufslistentexte,\x20Aliase\x20und\x20komplette\x20Konfiguration\x20sind\x20absichtlich\x20nicht\x20enthalten.','compatibilityDetail','Alexa-Listen\x20konnten\x20für\x20','Schokolade/Naschen','info.activeItems','onReady','findProduct','writable','Wurst/Salate/Teigwaren','persistTrafficMetrics','getLists','info.updateAvailable','traffic','\x20ms).','info.connection','activeItems','control.clearTemporaryPriorityMarket','package.json','localeCompare','waitForWriteBudget','sort','debounceMs','info.writeCapability','updateFeedbackReport','ready','getActiveMarkets','common','\x20Änderung(en),\x20','info.lastError','Keine\x20der\x20konfigurierten\x20Alexa-Listen\x20ist\x20lesbar:\x20','\x20Schreibzugriffen\x20(','end','\x20nicht\x20automatisch\x20gelesen\x20werden:\x20','Ohne\x20Markt','Obst/Gemüse','bind','alexa-remote2','stringify','Alexa-Liste\x20nicht\x20gefunden:\x20','batchPauseMs','Live-Test\x20erfolgreich:\x20Alexa2\x20hat\x20einen\x20unveränderten\x20value-Schreibzugriff\x20bestätigt.','API-Schonmodus:\x20Batch-Pause\x20nach\x20','\x20aktive\x20Artikel,\x20','\x20fehlende\x20Laufweg-Zuordnung(en)\x20für\x20neue\x20Märkte/Produktgruppen\x20automatisch\x20ergänzt.','updateTemporaryMarketStateOptions','dirname','Ungültige\x20JSON-Antwort','plannedChanges','alexa-remote2\x20konnte\x20nicht\x20automatisch\x20geprüft\x20werden:\x20','alias','checkNpmVersion','applyReviewActions','info.traffic','message','Alexa-Wertedatenpunkt\x20fehlt:\x20','@iobroker/adapter-core','priorityMarket','info.lastSort','normalizeRoutesForAdmin','Temporäre\x20Markt-Auswahlliste\x20konnte\x20nicht\x20aktualisiert\x20werden:\x20','create','parse','changed','readFileSync','348018eriPIM','getStateAsync','marketHeaders','min','getProductGroups','pow','keys','clearTimeout','default','set','latest','maxWriteRetries','Kosmetikartikel','control.refreshFeedbackReport','get','./lib/metrics','product','suggestAliases','getForeignStateAsync','ensureTrafficDay','__createBinding','compatibilityWrites','./lib/parser','./lib/config-tools','control.exportConfig','productGroups','off','.items.','enabled','type','subscribeForeignStates','info.statistics','148EjrzVd','Für\x20den\x20Kompatibilitätstest\x20wird\x20mindestens\x20ein\x20aktiver\x20Listeneintrag\x20benötigt.','values','__setModuleDefault','persistRuntimeConfig','TK-Produkte','recordAddedItem',':\x20Eintrag\x20wurde\x20während\x20der\x20Sortierung\x20verändert.\x20Neue\x20Berechnung\x20folgt.','./lib/compatibility','configurable','0.3.1','info.compatibility','resume','Live-Test\x20konnte\x20nicht\x20abgeschlossen\x20werden:\x20','updateActiveItemCount','lastVersionCheck','\x20[DRY-RUN]','routesDirty','lastSortRun','Alexa-Schreibzugriffe\x20blockiert:\x20Schreibkompatibilität\x20noch\x20nicht\x20bestätigt;\x20control.compatibilityTest\x20ausführen.','control.marketProfileImport','config','canWriteAlexa','review','\x20aktualisiert','runtimeRoutes','info.configExport','__none__','makePreviewText','routes','65cpHbra','Adapter','endsWith','.#New','detail','info.marketProfiles','readList','getMarketsOptional','info.versionBeta','loadStatistics','info.reviewQueue','\x20ms.','versionTimer','runLiveCompatibilityTest','now','activeCountByList','alexaWrites','marketHeadersEnabled','Alexa-Schreibzugriffe\x20blockiert:\x20Kompatibilitätstest\x20fehlgeschlagen.','normalizeUsageStatistics','writeCapability','subscribeStates','localChecks','.value','discoverAlexaLists','listStateId','node:path','Noch\x20nicht\x20ausgeführt.','unload','version','learningMode','\x20enthält\x20keine\x20lesbare\x20Liste.','armSortTimer','temporaryPriorityMarket','exports','clearInterval','info.sortRunsToday','reviewAccepted','/Minute\x20erreicht,\x20Pause\x20','namespace','maxWritesPerMinute','\x20Änderung(en)','ShoppingRoute','\x20–\x20ERFOLG\x20mit\x20„','compatibilityTesting','scheduleAll','onStateChange','retryBaseMs','slice','3296856jQOylo','isMarketHeader','278004EwKPWy','max','node:fs','val','createSortPlan','setForeignObjectAsync','accepted','ShoppingRoute\x20','toISOString','getForeignObjectAsync','has','refreshExports','wait','writeAlexaState','onMessage','buildMarketProfiles','control.importConfigJson','sortSlotsOldestFirst','persistStatistics','node:https','setStateAsync','lists','noch\x20nicht','__esModule','lastCompatibilityTest','alexaInstance','normalizeTrafficMetrics','add','unknown','importMarketProfile','scheduleSort','Konfigurationsimport\x20fehlgeschlagen:\x20','length','hasOwnProperty','__importStar','lastUpdated','label','getForeignObjectsAsync','httpJson','destroy','push','control.compatibilityTest','reviewsDirty','Zählt\x20Operationen,\x20keine\x20Netzwerk-Bytes.','latestBetaVersion','getOwnPropertyDescriptor','market','dryRun','fromEntries','productsDirty','control.temporaryPriorityMarket','4417029VCyWyW','\x20–\x20FEHLGESCHLAGEN\x20mit\x20„','automatic','cfg','1240722nKQYQS','updateCompatibilityDiagnostics','startsWith','productText','markets','reviewItems','info.lastCompatibilityTest','status','ioBroker.shoppingroute/'];_0x584c=function(){return _0x425d5e;};return _0x584c();}
package/io-package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "shoppingroute",
4
- "version": "0.2.0",
4
+ "version": "0.3.1",
5
5
  "titleLang": {
6
6
  "en": "ShoppingRoute",
7
7
  "de": "ShoppingRoute",
@@ -60,6 +60,19 @@
60
60
  "icon": "shoppingroute.png",
61
61
  "tier": 3,
62
62
  "news": {
63
+ "0.3.0": {
64
+ "en": "Development preview for automatic market headings and minimum-items-per-market route consolidation. Explicit market requests always remain unchanged.",
65
+ "de": "Entwicklungsvorschau mit automatischen Marktüberschriften und marktübergreifender Zusammenlegung anhand einer Mindestartikelzahl. Explizite Marktangaben bleiben immer unverändert.",
66
+ "ru": "Предварительная версия с автоматическими заголовками магазинов и объединением маршрута по минимальному количеству товаров. Явно указанные магазины никогда не изменяются.",
67
+ "pt": "Prévia com cabeçalhos automáticos de mercados e consolidação de rota por quantidade mínima de itens. Mercados indicados explicitamente nunca são alterados.",
68
+ "nl": "Ontwikkelversie met automatische winkelkoppen en routeconsolidatie op basis van een minimumaantal artikelen. Expliciet opgegeven winkels blijven altijd ongewijzigd.",
69
+ "fr": "Aperçu de développement avec en-têtes automatiques de magasins et consolidation selon un nombre minimum d’articles. Les magasins explicitement indiqués ne sont jamais modifiés.",
70
+ "it": "Anteprima di sviluppo con intestazioni automatiche dei negozi e consolidamento in base a un numero minimo di articoli. I negozi indicati esplicitamente non vengono mai modificati.",
71
+ "es": "Vista previa con encabezados automáticos de tiendas y consolidación según un número mínimo de artículos. Las tiendas indicadas explícitamente nunca se modifican.",
72
+ "pl": "Wersja rozwojowa z automatycznymi nagłówkami sklepów i konsolidacją na podstawie minimalnej liczby artykułów. Jawnie wskazane sklepy nigdy nie są zmieniane.",
73
+ "uk": "Попередня версія з автоматичними заголовками магазинів і об’єднанням маршруту за мінімальною кількістю товарів. Явно вказані магазини ніколи не змінюються.",
74
+ "zh-cn": "开发预览版:自动商店标题,并按每个商店的最少商品数量合并路线。明确指定的商店永远不会被更改。"
75
+ },
63
76
  "0.2.0": {
64
77
  "en": "First stable release of ShoppingRoute with complete Admin translations, improved walking-route help, protected npm publishing and verified Alexa2/alexa-remote2 compatibility.",
65
78
  "de": "Erste stabile Veröffentlichung von ShoppingRoute mit vollständigen Admin-Übersetzungen, korrigiertem Laufwege-Hilfetext, geschützter npm-Veröffentlichung und geprüfter Alexa2/alexa-remote2-Kompatibilität.",
@@ -85,6 +98,19 @@
85
98
  "pl": "Pierwszy publiczny pakiet beta npm z bezpiecznym sortowaniem listy Alexa wyłącznie przez wartości i stałe identyfikatory pozycji.",
86
99
  "uk": "Перший загальнодоступний бета-пакет npm із безпечним сортуванням списку Alexa лише через значення та фіксовані ID позицій.",
87
100
  "zh-cn": "首个公开测试版 npm 包,仅通过 value 文本安全排序 Alexa 列表,并使用固定位置 ID。"
101
+ },
102
+ "0.3.1": {
103
+ "en": "Fixed a restart loop in review learning mode.",
104
+ "de": "Neustartschleife im Lernmodus Prüfliste behoben.",
105
+ "ru": "Исправлен цикл перезапуска в режиме проверки обучения.",
106
+ "pt": "Corrigido um ciclo de reinicialização no modo de revisão.",
107
+ "nl": "Herstartlus in de controle-leermodus opgelost.",
108
+ "fr": "Correction d'une boucle de redémarrage en mode de vérification.",
109
+ "it": "Risolto un ciclo di riavvio nella modalità di revisione.",
110
+ "es": "Corregido un bucle de reinicio en el modo de revisión.",
111
+ "pl": "Naprawiono pętlę restartów w trybie weryfikacji.",
112
+ "uk": "Виправлено цикл перезапуску в режимі перевірки.",
113
+ "zh-cn": "修复审核学习模式中的重启循环。"
88
114
  }
89
115
  },
90
116
  "extIcon": "https://raw.githubusercontent.com/RaviniZib/ioBroker.shoppingroute/main/admin/shoppingroute.png",
@@ -574,7 +600,9 @@
574
600
  "maxWriteRetries": 2,
575
601
  "retryBaseMs": 1500,
576
602
  "temporaryPriorityMarket": "",
577
- "reviewItems": []
603
+ "reviewItems": [],
604
+ "marketHeaders": false,
605
+ "minItemsPerMarket": 1
578
606
  },
579
607
  "objects": [],
580
608
  "instanceObjects": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.shoppingroute",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "description": "Smart Alexa shopping-list routing by market, product group and individual store walking route with learning, multi-list support and API protection.",
5
5
  "author": "RaviniZib",
6
6
  "license": "MIT",