From 7879564ad8847f153a51344c6a9ed8b3789fba81 Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Sat, 16 Mar 2024 14:11:54 +0000
Subject: [PATCH 01/20] code fixes
---
Install/Application/Backend/js/global/ActionEvents.js | 2 ++
User-Guide | 2 +-
jsOMS | 2 +-
phpOMS | 2 +-
4 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/Install/Application/Backend/js/global/ActionEvents.js b/Install/Application/Backend/js/global/ActionEvents.js
index 59c0985f..534197b8 100755
--- a/Install/Application/Backend/js/global/ActionEvents.js
+++ b/Install/Application/Backend/js/global/ActionEvents.js
@@ -5,6 +5,7 @@ import { preventEvent } from '../../../../../jsOMS/Model/Action/Event/Prevent.js
import { domClickAction } from '../../../../../jsOMS/Model/Action/Dom/Click.js';
import { domGetValue } from '../../../../../jsOMS/Model/Action/Dom/GetValue.js';
import { domSetValue } from '../../../../../jsOMS/Model/Action/Dom/SetValue.js';
+import { domChangeAttribute } from '../../../../../jsOMS/Model/Action/Dom/ChangeAttribute.js';
import { formSubmitAction } from '../../../../../jsOMS/Model/Action/Dom/FormSubmit.js';
export const ACTION_EVENTS = {
@@ -16,4 +17,5 @@ export const ACTION_EVENTS = {
'event.prevent': preventEvent, /** global: preventEvent */
'dom.get': domGetValue, /** global: domGetValue */
'dom.set': domSetValue, /** global: domSetValue */
+ 'dom.attr.change': domChangeAttribute, /** global: domChangeAttribute */
};
diff --git a/User-Guide b/User-Guide
index ea6ebd73..26effce9 160000
--- a/User-Guide
+++ b/User-Guide
@@ -1 +1 @@
-Subproject commit ea6ebd737dcad790072e898548af291245cf107c
+Subproject commit 26effce983d9997a0af1c7b0b11adb7f6a9676f3
diff --git a/jsOMS b/jsOMS
index e9e235e7..ffd34641 160000
--- a/jsOMS
+++ b/jsOMS
@@ -1 +1 @@
-Subproject commit e9e235e7c6b09a61322c1666086b78a513aa881c
+Subproject commit ffd346417eaf24ced04cb3e842ce7a49936826e6
diff --git a/phpOMS b/phpOMS
index 48c5164e..7b76d797 160000
--- a/phpOMS
+++ b/phpOMS
@@ -1 +1 @@
-Subproject commit 48c5164e12561f15bed7a60e93b110801e605d8a
+Subproject commit 7b76d797b86c691f39070fc9a51da08bf645e36b
From 007b388d60e27a7c7e578cabfab2369a24626cc9 Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Sun, 17 Mar 2024 03:57:51 +0000
Subject: [PATCH 02/20] test fixes
---
Cli/Hooks.php | 3 ++
Cli/Routes.php | 28 +++++++-------
.../Themes/Default/css/backend-dark.css | 0
.../Themes/Default/css/backend-dark.css.map | 0
.../Themes/Default/css/backend-small.css.map | 0
.../Themes/Default/css/logout-small.css.map | 0
Install/Application/Backend/img/404.svg | 0
Install/Application/Backend/img/favicon.ico | Bin
.../Application/Backend/img/icon-16x16.png | Bin
.../Application/Backend/img/icon-32x32.png | Bin
.../Backend/img/protected_content.svg | 0
.../Backend/img/screenshot-320x640.png | Bin
.../Backend/img/screenshot-640x320.png | Bin
Install/Application/Backend/js/backend.min.js | 0
Install/Application/Backend/js/sw.min.js | 0
Install/Application/Backend/offline.htm | 0
Install/Application/E500/img/server_error.svg | 0
Install/favicon.ico | Bin
Modules/Accounting | 2 +-
Modules/Admin | 2 +-
Modules/Attribute | 2 +-
Modules/Auditor | 2 +-
Modules/Billing | 2 +-
Modules/BusinessExpenses | 2 +-
Modules/Calendar | 2 +-
Modules/CashManagement | 2 +-
Modules/Checklist | 2 +-
Modules/ClientManagement | 2 +-
Modules/Comments | 2 +-
Modules/ContractManagement | 2 +-
Modules/DatabaseEditor | 2 +-
Modules/Draw | 2 +-
Modules/Editor | 2 +-
Modules/EquipmentManagement | 2 +-
Modules/EventManagement | 2 +-
Modules/Exchange | 2 +-
Modules/FleetManagement | 2 +-
Modules/HumanResourceManagement | 2 +-
Modules/HumanResourceTimeRecording | 2 +-
Modules/ItemManagement | 2 +-
Modules/Kanban | 2 +-
Modules/Knowledgebase | 2 +-
Modules/LoanManagement | 2 +-
Modules/Media | 2 +-
Modules/Monitoring | 2 +-
Modules/News | 2 +-
Modules/Notification | 2 +-
Modules/OnlineResourceWatcher | 2 +-
Modules/Payment | 2 +-
Modules/Profile | 2 +-
Modules/Purchase | 2 +-
Modules/QA | 2 +-
Modules/SupplierManagement | 2 +-
Modules/Support | 2 +-
Modules/Surveys | 2 +-
Modules/Tasks | 2 +-
Resources | 2 +-
Socket/Hooks.php | 35 ++++++++++++++++++
Socket/Routes.php | 14 +------
Socket/Socketserver/Application.php | 4 +-
favicon.ico | Bin
phpOMS | 2 +-
tests/Modules/ModuleTestTrait.php | 23 +++++++-----
63 files changed, 108 insertions(+), 79 deletions(-)
mode change 100644 => 100755 Install/Application/Backend/Themes/Default/css/backend-dark.css
mode change 100644 => 100755 Install/Application/Backend/Themes/Default/css/backend-dark.css.map
mode change 100644 => 100755 Install/Application/Backend/Themes/Default/css/backend-small.css.map
mode change 100644 => 100755 Install/Application/Backend/Themes/Default/css/logout-small.css.map
mode change 100644 => 100755 Install/Application/Backend/img/404.svg
mode change 100644 => 100755 Install/Application/Backend/img/favicon.ico
mode change 100644 => 100755 Install/Application/Backend/img/icon-16x16.png
mode change 100644 => 100755 Install/Application/Backend/img/icon-32x32.png
mode change 100644 => 100755 Install/Application/Backend/img/protected_content.svg
mode change 100644 => 100755 Install/Application/Backend/img/screenshot-320x640.png
mode change 100644 => 100755 Install/Application/Backend/img/screenshot-640x320.png
mode change 100644 => 100755 Install/Application/Backend/js/backend.min.js
mode change 100644 => 100755 Install/Application/Backend/js/sw.min.js
mode change 100644 => 100755 Install/Application/Backend/offline.htm
mode change 100644 => 100755 Install/Application/E500/img/server_error.svg
mode change 100644 => 100755 Install/favicon.ico
mode change 100644 => 100755 favicon.ico
diff --git a/Cli/Hooks.php b/Cli/Hooks.php
index d04f36fd..fa01554b 100755
--- a/Cli/Hooks.php
+++ b/Cli/Hooks.php
@@ -3,6 +3,9 @@
'callback' => [
0 => '\Modules\Admin\Controller\CliController:runEncryptionChangeFromHook',
1 => '\Modules\Media\Controller\CliController:runEncryptionChangeFromHook',
+ 2 => '\Modules\Admin\Controller\CliController:runEncryptionChangeFromHook',
+ 3 => '\Modules\Media\Controller\CliController:runEncryptionChangeFromHook',
+ 4 => '\Modules\Media\Controller\CliController:runEncryptionChangeFromHook',
],
],
'/.*/' => [
diff --git a/Cli/Routes.php b/Cli/Routes.php
index c8139cc2..e66673d2 100755
--- a/Cli/Routes.php
+++ b/Cli/Routes.php
@@ -23,27 +23,15 @@
'verb' => 16,
],
],
- '^.*/admin/monitoring/log( .*$|$)' => [
- 0 => [
- 'dest' => '\Modules\Monitoring\Controller\CliController:cliLogReport',
- 'verb' => 16,
- ],
- ],
- '^.*/workflow/instance( .*$|$)' => [
- 0 => [
- 'dest' => '\Modules\Workflow\Controller\CliController:cliWorkflowInstanceCreate',
- 'verb' => 16,
- ],
- ],
'^/billing/bill/purchase/parse( .*$|$)' => [
0 => [
'dest' => '\Modules\Billing\Controller\CliController:cliParseSupplierBill',
'verb' => 16,
],
],
- '^/purchase/order/suggestion/create( .*$|$)' => [
+ '^.*/admin/monitoring/log( .*$|$)' => [
0 => [
- 'dest' => '\Modules\Purchase\Controller\CliController:cliGenerateOrderSuggestion',
+ 'dest' => '\Modules\Monitoring\Controller\CliController:cliLogReport',
'verb' => 16,
],
],
@@ -57,4 +45,16 @@
],
],
],
+ '^/purchase/order/suggestion/create( .*$|$)' => [
+ 0 => [
+ 'dest' => '\Modules\Purchase\Controller\CliController:cliGenerateOrderSuggestion',
+ 'verb' => 16,
+ ],
+ ],
+ '^.*/workflow/instance( .*$|$)' => [
+ 0 => [
+ 'dest' => '\Modules\Workflow\Controller\CliController:cliWorkflowInstanceCreate',
+ 'verb' => 16,
+ ],
+ ],
];
\ No newline at end of file
diff --git a/Install/Application/Backend/Themes/Default/css/backend-dark.css b/Install/Application/Backend/Themes/Default/css/backend-dark.css
old mode 100644
new mode 100755
diff --git a/Install/Application/Backend/Themes/Default/css/backend-dark.css.map b/Install/Application/Backend/Themes/Default/css/backend-dark.css.map
old mode 100644
new mode 100755
diff --git a/Install/Application/Backend/Themes/Default/css/backend-small.css.map b/Install/Application/Backend/Themes/Default/css/backend-small.css.map
old mode 100644
new mode 100755
diff --git a/Install/Application/Backend/Themes/Default/css/logout-small.css.map b/Install/Application/Backend/Themes/Default/css/logout-small.css.map
old mode 100644
new mode 100755
diff --git a/Install/Application/Backend/img/404.svg b/Install/Application/Backend/img/404.svg
old mode 100644
new mode 100755
diff --git a/Install/Application/Backend/img/favicon.ico b/Install/Application/Backend/img/favicon.ico
old mode 100644
new mode 100755
diff --git a/Install/Application/Backend/img/icon-16x16.png b/Install/Application/Backend/img/icon-16x16.png
old mode 100644
new mode 100755
diff --git a/Install/Application/Backend/img/icon-32x32.png b/Install/Application/Backend/img/icon-32x32.png
old mode 100644
new mode 100755
diff --git a/Install/Application/Backend/img/protected_content.svg b/Install/Application/Backend/img/protected_content.svg
old mode 100644
new mode 100755
diff --git a/Install/Application/Backend/img/screenshot-320x640.png b/Install/Application/Backend/img/screenshot-320x640.png
old mode 100644
new mode 100755
diff --git a/Install/Application/Backend/img/screenshot-640x320.png b/Install/Application/Backend/img/screenshot-640x320.png
old mode 100644
new mode 100755
diff --git a/Install/Application/Backend/js/backend.min.js b/Install/Application/Backend/js/backend.min.js
old mode 100644
new mode 100755
diff --git a/Install/Application/Backend/js/sw.min.js b/Install/Application/Backend/js/sw.min.js
old mode 100644
new mode 100755
diff --git a/Install/Application/Backend/offline.htm b/Install/Application/Backend/offline.htm
old mode 100644
new mode 100755
diff --git a/Install/Application/E500/img/server_error.svg b/Install/Application/E500/img/server_error.svg
old mode 100644
new mode 100755
diff --git a/Install/favicon.ico b/Install/favicon.ico
old mode 100644
new mode 100755
diff --git a/Modules/Accounting b/Modules/Accounting
index f71fcc80..44f700dc 160000
--- a/Modules/Accounting
+++ b/Modules/Accounting
@@ -1 +1 @@
-Subproject commit f71fcc8015170438fc9871408a445958c01966f6
+Subproject commit 44f700dc64e24aec1ba37b09dbcffdc629c42be1
diff --git a/Modules/Admin b/Modules/Admin
index bba6c927..6cb7ba98 160000
--- a/Modules/Admin
+++ b/Modules/Admin
@@ -1 +1 @@
-Subproject commit bba6c927915e4d28c7dbad7206a63cb1eb7e3268
+Subproject commit 6cb7ba9897c9c5ecbe95d98e54a6001c9ed83f05
diff --git a/Modules/Attribute b/Modules/Attribute
index 4667711f..67042190 160000
--- a/Modules/Attribute
+++ b/Modules/Attribute
@@ -1 +1 @@
-Subproject commit 4667711fcbfbf11df64fcb1c688d458b7218488c
+Subproject commit 67042190acfb3b7089a653a6818de77a7e223080
diff --git a/Modules/Auditor b/Modules/Auditor
index d525c63c..1555d48e 160000
--- a/Modules/Auditor
+++ b/Modules/Auditor
@@ -1 +1 @@
-Subproject commit d525c63cebf6f342aaf8e2070a7103d091a09bf6
+Subproject commit 1555d48e7ae1a700389cea147d85876dda1d14e1
diff --git a/Modules/Billing b/Modules/Billing
index 562cf451..fd720b0e 160000
--- a/Modules/Billing
+++ b/Modules/Billing
@@ -1 +1 @@
-Subproject commit 562cf45184abcff475dab9e2d88867e40fc007ab
+Subproject commit fd720b0e4dd385aebd8c458c93c14c5d435a3ef2
diff --git a/Modules/BusinessExpenses b/Modules/BusinessExpenses
index 97c99187..b0d1b5c3 160000
--- a/Modules/BusinessExpenses
+++ b/Modules/BusinessExpenses
@@ -1 +1 @@
-Subproject commit 97c99187cb0fb0425d159675579f43af804c1079
+Subproject commit b0d1b5c37605a6d1c9194d71dbb0eda14fa3c5d9
diff --git a/Modules/Calendar b/Modules/Calendar
index 38cb37f8..71424fd5 160000
--- a/Modules/Calendar
+++ b/Modules/Calendar
@@ -1 +1 @@
-Subproject commit 38cb37f8a99f95659b8742a144ca27e19a5f9945
+Subproject commit 71424fd5fae027dca4bda498b7a80260cc8cdf7e
diff --git a/Modules/CashManagement b/Modules/CashManagement
index 7c276ee1..e8059c6d 160000
--- a/Modules/CashManagement
+++ b/Modules/CashManagement
@@ -1 +1 @@
-Subproject commit 7c276ee1b15dedf8a2fe8a3e607b0d255f515f55
+Subproject commit e8059c6d85d8d0a132f8f21349aa117adbe2a54f
diff --git a/Modules/Checklist b/Modules/Checklist
index fe9ad5ab..c2ebc392 160000
--- a/Modules/Checklist
+++ b/Modules/Checklist
@@ -1 +1 @@
-Subproject commit fe9ad5ab641d41252bb5cd9d5a84d0edc278e9a6
+Subproject commit c2ebc3920d9c2391d6e57278e59b8469951ffbdb
diff --git a/Modules/ClientManagement b/Modules/ClientManagement
index 9f2db04a..e8daaa08 160000
--- a/Modules/ClientManagement
+++ b/Modules/ClientManagement
@@ -1 +1 @@
-Subproject commit 9f2db04a53a6b072475fe46f8b54a968ea899e4a
+Subproject commit e8daaa0888a0a3623be8ff7565b6528f23875b08
diff --git a/Modules/Comments b/Modules/Comments
index ade6ee89..609a8a30 160000
--- a/Modules/Comments
+++ b/Modules/Comments
@@ -1 +1 @@
-Subproject commit ade6ee892d0e49c2193862217c28a673b7ad7012
+Subproject commit 609a8a30f0b3f109516519935a91cf727118243c
diff --git a/Modules/ContractManagement b/Modules/ContractManagement
index 1483cab3..06b0168a 160000
--- a/Modules/ContractManagement
+++ b/Modules/ContractManagement
@@ -1 +1 @@
-Subproject commit 1483cab337f5b009a71aab3b67e808f71fe5d799
+Subproject commit 06b0168aa3c0da431067b79225574d411e04e859
diff --git a/Modules/DatabaseEditor b/Modules/DatabaseEditor
index 56e9db12..fbcb7f7b 160000
--- a/Modules/DatabaseEditor
+++ b/Modules/DatabaseEditor
@@ -1 +1 @@
-Subproject commit 56e9db127d0df45194b18b617212e6b1ee0229dc
+Subproject commit fbcb7f7b64993de37bb2e4d5b63c3d2dd9797bd6
diff --git a/Modules/Draw b/Modules/Draw
index 2e6c43e6..984f8462 160000
--- a/Modules/Draw
+++ b/Modules/Draw
@@ -1 +1 @@
-Subproject commit 2e6c43e605f3db5dcfd8559bd3787a282fb6f41f
+Subproject commit 984f846287a3f4c8f1cc1a790552f159c659de83
diff --git a/Modules/Editor b/Modules/Editor
index c1e968d5..0635773f 160000
--- a/Modules/Editor
+++ b/Modules/Editor
@@ -1 +1 @@
-Subproject commit c1e968d532aaa3f5bd4c64b6951caff75492e002
+Subproject commit 0635773f671790981bb998599f115cbf2e12d7f9
diff --git a/Modules/EquipmentManagement b/Modules/EquipmentManagement
index c8538adc..cec3cd78 160000
--- a/Modules/EquipmentManagement
+++ b/Modules/EquipmentManagement
@@ -1 +1 @@
-Subproject commit c8538adc4dddda827e269ace3ba720cc4317841e
+Subproject commit cec3cd78ba4ee5a894539203e6547e1275ab127f
diff --git a/Modules/EventManagement b/Modules/EventManagement
index 89036b13..36fda763 160000
--- a/Modules/EventManagement
+++ b/Modules/EventManagement
@@ -1 +1 @@
-Subproject commit 89036b136d09801b463a0be4569a64d5295a7579
+Subproject commit 36fda763b8968f84995194411bcc7fbcccb99985
diff --git a/Modules/Exchange b/Modules/Exchange
index 9bc766ff..a746dd33 160000
--- a/Modules/Exchange
+++ b/Modules/Exchange
@@ -1 +1 @@
-Subproject commit 9bc766ff1c248d5ccbd86f6675fb6d47964c96d7
+Subproject commit a746dd337056bb814f8d8494b832758d77240143
diff --git a/Modules/FleetManagement b/Modules/FleetManagement
index ba49e0d6..88130bdd 160000
--- a/Modules/FleetManagement
+++ b/Modules/FleetManagement
@@ -1 +1 @@
-Subproject commit ba49e0d6115b9614adbe5b722532f2a2038a84de
+Subproject commit 88130bddf3d76a25a247d2120f545539fe0017f6
diff --git a/Modules/HumanResourceManagement b/Modules/HumanResourceManagement
index fc608087..6a4f4092 160000
--- a/Modules/HumanResourceManagement
+++ b/Modules/HumanResourceManagement
@@ -1 +1 @@
-Subproject commit fc608087152414860a121e31f1617f0d663c9ba6
+Subproject commit 6a4f4092587d0152b4cfc2e4995ac5bdecc10a12
diff --git a/Modules/HumanResourceTimeRecording b/Modules/HumanResourceTimeRecording
index bd5e15ac..d6ec8a9c 160000
--- a/Modules/HumanResourceTimeRecording
+++ b/Modules/HumanResourceTimeRecording
@@ -1 +1 @@
-Subproject commit bd5e15ac6ee661f816c1744f394a337e304c7955
+Subproject commit d6ec8a9c7515093e8566ee0ab04401d9509093c4
diff --git a/Modules/ItemManagement b/Modules/ItemManagement
index 9cec9498..3610f056 160000
--- a/Modules/ItemManagement
+++ b/Modules/ItemManagement
@@ -1 +1 @@
-Subproject commit 9cec9498505dac94e6bd40c8ef1542b0c314e026
+Subproject commit 3610f05681a2dd88350aff2c86cf15f2d76b2709
diff --git a/Modules/Kanban b/Modules/Kanban
index a5714786..f71c28f4 160000
--- a/Modules/Kanban
+++ b/Modules/Kanban
@@ -1 +1 @@
-Subproject commit a57147863b43a7509995caf3e34b848139a22219
+Subproject commit f71c28f4997f94d9b081acbbb9f7a2e8359dd765
diff --git a/Modules/Knowledgebase b/Modules/Knowledgebase
index 8242e7d8..0a588687 160000
--- a/Modules/Knowledgebase
+++ b/Modules/Knowledgebase
@@ -1 +1 @@
-Subproject commit 8242e7d8d4eb46cb62bdc7310b11f03b4433eb99
+Subproject commit 0a588687bbb2c500044bfa1ee24b31c39b13c86b
diff --git a/Modules/LoanManagement b/Modules/LoanManagement
index 087c4298..70cfabd3 160000
--- a/Modules/LoanManagement
+++ b/Modules/LoanManagement
@@ -1 +1 @@
-Subproject commit 087c429801282647bbe6192def44c5770327ca3d
+Subproject commit 70cfabd3ca7576d5ebab3bc0fbdfbfe4e6f849b3
diff --git a/Modules/Media b/Modules/Media
index f532bac6..7492a719 160000
--- a/Modules/Media
+++ b/Modules/Media
@@ -1 +1 @@
-Subproject commit f532bac646681c3a535439db4b3ea70b3fe39cc9
+Subproject commit 7492a719f68ec667145a062e582ad355fb16a3ac
diff --git a/Modules/Monitoring b/Modules/Monitoring
index 5997f23e..904c6c1c 160000
--- a/Modules/Monitoring
+++ b/Modules/Monitoring
@@ -1 +1 @@
-Subproject commit 5997f23e48a85b889638049c6ba9e3d1e191fbbf
+Subproject commit 904c6c1cc101a046e90737118966da320de73197
diff --git a/Modules/News b/Modules/News
index d2baab36..64810977 160000
--- a/Modules/News
+++ b/Modules/News
@@ -1 +1 @@
-Subproject commit d2baab36ed3190917d993c421d5b712999ba544e
+Subproject commit 64810977723ee2542d0cc39beffd2caba74e474f
diff --git a/Modules/Notification b/Modules/Notification
index ecff2d8a..390a4cac 160000
--- a/Modules/Notification
+++ b/Modules/Notification
@@ -1 +1 @@
-Subproject commit ecff2d8aff7f1edd32676ecbf9a1e18f491c6469
+Subproject commit 390a4cac6d27735da06f33a5b8146457662059ec
diff --git a/Modules/OnlineResourceWatcher b/Modules/OnlineResourceWatcher
index a72fb935..ba4517d5 160000
--- a/Modules/OnlineResourceWatcher
+++ b/Modules/OnlineResourceWatcher
@@ -1 +1 @@
-Subproject commit a72fb9353349f0979afaba533cac84f695cdd3bc
+Subproject commit ba4517d5559b2d5985245a8f85360d31260859e4
diff --git a/Modules/Payment b/Modules/Payment
index a9fe7b1e..b86f1b87 160000
--- a/Modules/Payment
+++ b/Modules/Payment
@@ -1 +1 @@
-Subproject commit a9fe7b1eb2635cf7ed45126efe3031b69e41efc1
+Subproject commit b86f1b87c73e5ad47e33b51f3c070d5fa02b3ed9
diff --git a/Modules/Profile b/Modules/Profile
index f7c82b0b..8fe65095 160000
--- a/Modules/Profile
+++ b/Modules/Profile
@@ -1 +1 @@
-Subproject commit f7c82b0ba30f189664d4fc567c376aa20320499e
+Subproject commit 8fe650951edd07a87fc093fc5d36c63db6013ead
diff --git a/Modules/Purchase b/Modules/Purchase
index ac6c8967..59e53735 160000
--- a/Modules/Purchase
+++ b/Modules/Purchase
@@ -1 +1 @@
-Subproject commit ac6c89675843986d2d95faa9dfd7fc4e5d73428d
+Subproject commit 59e5373580fe16b69203d4243e72e2c8cd7f38cf
diff --git a/Modules/QA b/Modules/QA
index 10de97b0..73729510 160000
--- a/Modules/QA
+++ b/Modules/QA
@@ -1 +1 @@
-Subproject commit 10de97b0e4f6cc767cd2f92bebb4ced06e59f915
+Subproject commit 73729510ead435b6caf669f370e737e3e5affbd3
diff --git a/Modules/SupplierManagement b/Modules/SupplierManagement
index 0d452233..15fc8e1b 160000
--- a/Modules/SupplierManagement
+++ b/Modules/SupplierManagement
@@ -1 +1 @@
-Subproject commit 0d452233ecb8592505faad245c08f40161cd20a9
+Subproject commit 15fc8e1b9dc14ad85e9d739a760bde8987f5baf6
diff --git a/Modules/Support b/Modules/Support
index 4bd0f845..360b384b 160000
--- a/Modules/Support
+++ b/Modules/Support
@@ -1 +1 @@
-Subproject commit 4bd0f845f571d1972418d2bfe98ec8ae89f30286
+Subproject commit 360b384bdc7c9d1644fe9482673d375aed916210
diff --git a/Modules/Surveys b/Modules/Surveys
index c1b63b61..cf964c25 160000
--- a/Modules/Surveys
+++ b/Modules/Surveys
@@ -1 +1 @@
-Subproject commit c1b63b61a3b748d7613e431ab2ee0afd38df0648
+Subproject commit cf964c2546a68599bcac3d6367b379ec7a1e2dad
diff --git a/Modules/Tasks b/Modules/Tasks
index 6d603edb..bd9885e5 160000
--- a/Modules/Tasks
+++ b/Modules/Tasks
@@ -1 +1 @@
-Subproject commit 6d603edb378e9ec2bc8255d5c419287024740329
+Subproject commit bd9885e5f4fdf19f551ba92995e5052da54df14d
diff --git a/Resources b/Resources
index 42724218..d24bcd69 160000
--- a/Resources
+++ b/Resources
@@ -1 +1 @@
-Subproject commit 42724218df1a0f950f14757357d31adce6282d51
+Subproject commit d24bcd69e94fac6cf027f25a62ba9711cf89a132
diff --git a/Socket/Hooks.php b/Socket/Hooks.php
index 67a461f0..2d98ab1d 100755
--- a/Socket/Hooks.php
+++ b/Socket/Hooks.php
@@ -4223,6 +4223,41 @@
4220 => '\Modules\TestModule\Controller\Controller:testHook',
4221 => '\Modules\TestModule\Controller\Controller:testHook',
4222 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4223 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4224 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4225 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4226 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4227 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4228 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4229 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4230 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4231 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4232 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4233 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4234 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4235 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4236 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4237 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4238 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4239 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4240 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4241 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4242 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4243 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4244 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4245 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4246 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4247 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4248 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4249 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4250 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4251 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4252 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4253 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4254 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4255 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4256 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4257 => '\Modules\TestModule\Controller\Controller:testHook',
],
],
];
\ No newline at end of file
diff --git a/Socket/Routes.php b/Socket/Routes.php
index 27a2a1fd..be36d3ce 100755
--- a/Socket/Routes.php
+++ b/Socket/Routes.php
@@ -1,13 +1 @@
- [
- 1 => [
- 'dest' => '\Modules\TestModule\Controller\Controller:testEndpoint',
- 'verb' => 1,
- 'permission' => [
- 'module' => 'TestModule',
- 'type' => 1,
- 'state' => 2,
- ],
- ],
- ],
-];
\ No newline at end of file
+app->logger = FileLogger::getInstance($config['log']['file']['path'], true);
- $this->app->logger->info('Setting up TCP socket application...');
+ $this->app->logger?->info('Setting up TCP socket application...');
$this->app->dbPool = new DatabasePool();
$this->app->dbPool->create('core', $config['db']['core']['masters']['admin']);
@@ -111,7 +111,7 @@ public function __construct(SocketApplication $app, array $config)
$this->app->dispatcher = new Dispatcher($this->app);
$this->app->l11nManager = new L11nManager();
- $this->app->logger->info('Initializing active modules...');
+ $this->app->logger?->info('Initializing active modules...');
/*$modules = $this->moduleManager->getActiveModules();
foreach ($modules as $name => $module) {
$this->moduleManager->initModule($name);
diff --git a/favicon.ico b/favicon.ico
old mode 100644
new mode 100755
diff --git a/phpOMS b/phpOMS
index 7b76d797..384b7849 160000
--- a/phpOMS
+++ b/phpOMS
@@ -1 +1 @@
-Subproject commit 7b76d797b86c691f39070fc9a51da08bf645e36b
+Subproject commit 384b784995bf6732b20df99b34cb8806d7c5e69a
diff --git a/tests/Modules/ModuleTestTrait.php b/tests/Modules/ModuleTestTrait.php
index 70743eac..bd8aaef5 100755
--- a/tests/Modules/ModuleTestTrait.php
+++ b/tests/Modules/ModuleTestTrait.php
@@ -261,16 +261,16 @@ public function testValidDbSchema() : void
}
if (!\str_starts_with($column['type'] ?? '', 'TINYINT')
- || !\str_starts_with($column['type'] ?? '', 'SMALLINT')
- || !\str_starts_with($column['type'] ?? '', 'INT')
- || !\str_starts_with($column['type'] ?? '', 'BIGINT')
- || !\str_starts_with($column['type'] ?? '', 'VARCHAR')
- || !\str_starts_with($column['type'] ?? '', 'VARBINARY')
- || !\str_starts_with($column['type'] ?? '', 'TEXT')
- || !\str_starts_with($column['type'] ?? '', 'LONGTEXT')
- || !\str_starts_with($column['type'] ?? '', 'BLOB')
- || !\str_starts_with($column['type'] ?? '', 'DATETIME')
- || !\str_starts_with($column['type'] ?? '', 'DECIMAL')
+ && !\str_starts_with($column['type'] ?? '', 'SMALLINT')
+ && !\str_starts_with($column['type'] ?? '', 'INT')
+ && !\str_starts_with($column['type'] ?? '', 'BIGINT')
+ && !\str_starts_with($column['type'] ?? '', 'VARCHAR')
+ && !\str_starts_with($column['type'] ?? '', 'VARBINARY')
+ && !\str_starts_with($column['type'] ?? '', 'TEXT')
+ && !\str_starts_with($column['type'] ?? '', 'LONGTEXT')
+ && !\str_starts_with($column['type'] ?? '', 'BLOB')
+ && !\str_starts_with($column['type'] ?? '', 'DATETIME')
+ && !\str_starts_with($column['type'] ?? '', 'DECIMAL')
) {
self::assertTrue(false, 'Schema "' . $schemaPath . '" type "' . ($column['type'] ?? '') . '" is a missing/invalid type');
}
@@ -806,6 +806,9 @@ public function testLanguage() : void
/** @var array $keys */
$keys = \array_keys($langArray);
+ $diff1 = [];
+ $diff2 = [];
+
if (empty($langKeys[$type]['keys'])) {
$langKeys[$type]['keys'] = $keys;
} elseif (!empty($diff1 = \array_diff($langKeys[$type]['keys'], $keys))
From 3e328aaa201d68e2cd32700cc5ec6fc5cdffb5ec Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Sun, 17 Mar 2024 21:36:35 +0000
Subject: [PATCH 03/20] bump
---
Cli/Hooks.php | 4 ++-
Modules/Admin | 2 +-
Modules/AssetManagement | 2 +-
Modules/ClientManagement | 2 +-
Modules/EquipmentManagement | 2 +-
Modules/EventManagement | 2 +-
Modules/FleetManagement | 2 +-
Modules/Help | 2 +-
Modules/HumanResourceManagement | 2 +-
Modules/ItemManagement | 2 +-
Modules/Knowledgebase | 2 +-
Modules/Marketing | 2 +-
Modules/Monitoring | 2 +-
Modules/Production | 2 +-
Modules/ProjectManagement | 2 +-
Modules/Purchase | 2 +-
Modules/QualityAssurance | 2 +-
Modules/QualityControl | 2 +-
Modules/QualityManagement | 2 +-
Modules/ResearchDevelopment | 2 +-
Modules/RiskManagement | 2 +-
Modules/SalesAnalysis | 2 +-
Modules/Tasks | 2 +-
Modules/TestModule | 2 +-
Socket/Hooks.php | 43 +++++++++++++++++++++++++++++++
phpOMS | 2 +-
tests/Modules/ModuleTestTrait.php | 3 +--
27 files changed, 71 insertions(+), 27 deletions(-)
diff --git a/Cli/Hooks.php b/Cli/Hooks.php
index fa01554b..994a9249 100755
--- a/Cli/Hooks.php
+++ b/Cli/Hooks.php
@@ -5,7 +5,9 @@
1 => '\Modules\Media\Controller\CliController:runEncryptionChangeFromHook',
2 => '\Modules\Admin\Controller\CliController:runEncryptionChangeFromHook',
3 => '\Modules\Media\Controller\CliController:runEncryptionChangeFromHook',
- 4 => '\Modules\Media\Controller\CliController:runEncryptionChangeFromHook',
+ 4 => '\Modules\Admin\Controller\CliController:runEncryptionChangeFromHook',
+ 5 => '\Modules\Media\Controller\CliController:runEncryptionChangeFromHook',
+ 6 => '\Modules\Media\Controller\CliController:runEncryptionChangeFromHook',
],
],
'/.*/' => [
diff --git a/Modules/Admin b/Modules/Admin
index 6cb7ba98..41cf34c1 160000
--- a/Modules/Admin
+++ b/Modules/Admin
@@ -1 +1 @@
-Subproject commit 6cb7ba9897c9c5ecbe95d98e54a6001c9ed83f05
+Subproject commit 41cf34c164506a2fe2ba564d185d397b64ad35c4
diff --git a/Modules/AssetManagement b/Modules/AssetManagement
index bab5a938..33e65e61 160000
--- a/Modules/AssetManagement
+++ b/Modules/AssetManagement
@@ -1 +1 @@
-Subproject commit bab5a938556d9d543bee0112683fe72b834891a5
+Subproject commit 33e65e611f66cce8943b7e564989742815b1116c
diff --git a/Modules/ClientManagement b/Modules/ClientManagement
index e8daaa08..2e30a804 160000
--- a/Modules/ClientManagement
+++ b/Modules/ClientManagement
@@ -1 +1 @@
-Subproject commit e8daaa0888a0a3623be8ff7565b6528f23875b08
+Subproject commit 2e30a80417da681a6d480f8ccbdfc5b8054c1c6e
diff --git a/Modules/EquipmentManagement b/Modules/EquipmentManagement
index cec3cd78..7794da3a 160000
--- a/Modules/EquipmentManagement
+++ b/Modules/EquipmentManagement
@@ -1 +1 @@
-Subproject commit cec3cd78ba4ee5a894539203e6547e1275ab127f
+Subproject commit 7794da3af21825666c0fe125c8f384188d240ccf
diff --git a/Modules/EventManagement b/Modules/EventManagement
index 36fda763..585e27e3 160000
--- a/Modules/EventManagement
+++ b/Modules/EventManagement
@@ -1 +1 @@
-Subproject commit 36fda763b8968f84995194411bcc7fbcccb99985
+Subproject commit 585e27e38f87547fa6f6f2348d2f40dfe9af393c
diff --git a/Modules/FleetManagement b/Modules/FleetManagement
index 88130bdd..7f761fd4 160000
--- a/Modules/FleetManagement
+++ b/Modules/FleetManagement
@@ -1 +1 @@
-Subproject commit 88130bddf3d76a25a247d2120f545539fe0017f6
+Subproject commit 7f761fd41c386b09a8c08e85b8da9036356be2a3
diff --git a/Modules/Help b/Modules/Help
index acc06529..4792dfac 160000
--- a/Modules/Help
+++ b/Modules/Help
@@ -1 +1 @@
-Subproject commit acc0652986548a75977c29ff5f1cc09e14dd29d3
+Subproject commit 4792dfac121ba021b59e6b6196b1eca0fcee3d35
diff --git a/Modules/HumanResourceManagement b/Modules/HumanResourceManagement
index 6a4f4092..96dfc5a5 160000
--- a/Modules/HumanResourceManagement
+++ b/Modules/HumanResourceManagement
@@ -1 +1 @@
-Subproject commit 6a4f4092587d0152b4cfc2e4995ac5bdecc10a12
+Subproject commit 96dfc5a57969a4a42b6a8f04a9424a432f6b0eb3
diff --git a/Modules/ItemManagement b/Modules/ItemManagement
index 3610f056..caa220c0 160000
--- a/Modules/ItemManagement
+++ b/Modules/ItemManagement
@@ -1 +1 @@
-Subproject commit 3610f05681a2dd88350aff2c86cf15f2d76b2709
+Subproject commit caa220c07f04f99890632ba48b1763ce14d31424
diff --git a/Modules/Knowledgebase b/Modules/Knowledgebase
index 0a588687..09f576f3 160000
--- a/Modules/Knowledgebase
+++ b/Modules/Knowledgebase
@@ -1 +1 @@
-Subproject commit 0a588687bbb2c500044bfa1ee24b31c39b13c86b
+Subproject commit 09f576f351647ae98dfbe633c74a15459decc019
diff --git a/Modules/Marketing b/Modules/Marketing
index e0134eb9..e49b72bf 160000
--- a/Modules/Marketing
+++ b/Modules/Marketing
@@ -1 +1 @@
-Subproject commit e0134eb9f8065dbdbaeef77401eb01efbd313425
+Subproject commit e49b72bfcd37b133b35536abcf707b05d79b2fc6
diff --git a/Modules/Monitoring b/Modules/Monitoring
index 904c6c1c..d363a61d 160000
--- a/Modules/Monitoring
+++ b/Modules/Monitoring
@@ -1 +1 @@
-Subproject commit 904c6c1cc101a046e90737118966da320de73197
+Subproject commit d363a61d8848b92cce95b7b3be6d64443f35b4d0
diff --git a/Modules/Production b/Modules/Production
index 076f99cf..688a809e 160000
--- a/Modules/Production
+++ b/Modules/Production
@@ -1 +1 @@
-Subproject commit 076f99cf965db26984ec8ad96ff1fa39d653f259
+Subproject commit 688a809e4e58c216ec6455df4655c83e9d6c588f
diff --git a/Modules/ProjectManagement b/Modules/ProjectManagement
index 3d478325..d31e26bd 160000
--- a/Modules/ProjectManagement
+++ b/Modules/ProjectManagement
@@ -1 +1 @@
-Subproject commit 3d478325fd88f8e25a6a8ff4fcf83b228d4c7418
+Subproject commit d31e26bde84a95371cfa13a70e55b00ad162ec75
diff --git a/Modules/Purchase b/Modules/Purchase
index 59e53735..03090994 160000
--- a/Modules/Purchase
+++ b/Modules/Purchase
@@ -1 +1 @@
-Subproject commit 59e5373580fe16b69203d4243e72e2c8cd7f38cf
+Subproject commit 03090994fe1331ca37592e76033b9d71d44bb749
diff --git a/Modules/QualityAssurance b/Modules/QualityAssurance
index 9f752c8d..4aba0c4a 160000
--- a/Modules/QualityAssurance
+++ b/Modules/QualityAssurance
@@ -1 +1 @@
-Subproject commit 9f752c8de58e1f7ea9999d935ec75b307ed2b9f8
+Subproject commit 4aba0c4aa1a55751f53ca2d1abadc7fedc2cb137
diff --git a/Modules/QualityControl b/Modules/QualityControl
index 55c89dd4..94dab6b9 160000
--- a/Modules/QualityControl
+++ b/Modules/QualityControl
@@ -1 +1 @@
-Subproject commit 55c89dd4e24d2366d04e163ae8dc05f09fb4fc73
+Subproject commit 94dab6b98732fb27c87f6644ed8a30e09224b1c5
diff --git a/Modules/QualityManagement b/Modules/QualityManagement
index ed1cbcb2..fe1e292b 160000
--- a/Modules/QualityManagement
+++ b/Modules/QualityManagement
@@ -1 +1 @@
-Subproject commit ed1cbcb2eefba7160d45c9ad41d80673b762ec41
+Subproject commit fe1e292b2f607f2fc6c9d8cfc1fd093993cfe1a8
diff --git a/Modules/ResearchDevelopment b/Modules/ResearchDevelopment
index c65fad55..ebe71326 160000
--- a/Modules/ResearchDevelopment
+++ b/Modules/ResearchDevelopment
@@ -1 +1 @@
-Subproject commit c65fad55bc4bd96abb82ceaa45288d62c5a0d763
+Subproject commit ebe71326f8f84257844162473719bfd4adcddbd2
diff --git a/Modules/RiskManagement b/Modules/RiskManagement
index fb6e93b5..d4228b43 160000
--- a/Modules/RiskManagement
+++ b/Modules/RiskManagement
@@ -1 +1 @@
-Subproject commit fb6e93b57a112db8a3f5a4337697edb4ced357cf
+Subproject commit d4228b43c0a96e3589325a2ad2119749ab6281ea
diff --git a/Modules/SalesAnalysis b/Modules/SalesAnalysis
index 997ccfec..1e1718ad 160000
--- a/Modules/SalesAnalysis
+++ b/Modules/SalesAnalysis
@@ -1 +1 @@
-Subproject commit 997ccfec8583e04ec66b28c0d890f6185fd8ffab
+Subproject commit 1e1718ad04026c6f2b451bb499da86ed6a91785b
diff --git a/Modules/Tasks b/Modules/Tasks
index bd9885e5..d79e2d10 160000
--- a/Modules/Tasks
+++ b/Modules/Tasks
@@ -1 +1 @@
-Subproject commit bd9885e5f4fdf19f551ba92995e5052da54df14d
+Subproject commit d79e2d10c248ec00ba1ea327927f987596e2cb20
diff --git a/Modules/TestModule b/Modules/TestModule
index 8d10616d..775f9d9e 160000
--- a/Modules/TestModule
+++ b/Modules/TestModule
@@ -1 +1 @@
-Subproject commit 8d10616dfcded93a93902100b7c320ffaeec41c8
+Subproject commit 775f9d9e7ef49b9bfb2fc0299e5a8ab28ed1569c
diff --git a/Socket/Hooks.php b/Socket/Hooks.php
index 2d98ab1d..a8498004 100755
--- a/Socket/Hooks.php
+++ b/Socket/Hooks.php
@@ -4258,6 +4258,49 @@
4255 => '\Modules\TestModule\Controller\Controller:testHook',
4256 => '\Modules\TestModule\Controller\Controller:testHook',
4257 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4258 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4259 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4260 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4261 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4262 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4263 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4264 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4265 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4266 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4267 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4268 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4269 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4270 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4271 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4272 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4273 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4274 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4275 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4276 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4277 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4278 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4279 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4280 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4281 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4282 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4283 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4284 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4285 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4286 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4287 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4288 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4289 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4290 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4291 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4292 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4293 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4294 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4295 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4296 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4297 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4298 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4299 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4300 => '\Modules\TestModule\Controller\Controller:testHook',
],
],
];
\ No newline at end of file
diff --git a/phpOMS b/phpOMS
index 384b7849..8c2ea754 160000
--- a/phpOMS
+++ b/phpOMS
@@ -1 +1 @@
-Subproject commit 384b784995bf6732b20df99b34cb8806d7c5e69a
+Subproject commit 8c2ea75430a32d8465ac2e8bafa9ca58ef55fa38
diff --git a/tests/Modules/ModuleTestTrait.php b/tests/Modules/ModuleTestTrait.php
index bd8aaef5..e91c40c1 100755
--- a/tests/Modules/ModuleTestTrait.php
+++ b/tests/Modules/ModuleTestTrait.php
@@ -674,7 +674,7 @@ private function hooksTest(array $module, array $total) : int
* Test if the module info file has the correct types
*
* @param array $module Module info file
- * @param array $samle Sample info file (as basis for checking the data types)
+ * @param array $sample Sample info file (as basis for checking the data types)
*
* @return bool
*/
@@ -689,7 +689,6 @@ private function infoJsonTest(array $module, array $sample) : bool
&& \gettype($module['requirements']) === \gettype($sample['requirements'])
&& \gettype($module['creator']) === \gettype($sample['creator'])
&& \gettype($module['creator']['name']) === \gettype($sample['creator']['name'])
- && \gettype($module['description']) === \gettype($sample['description'])
&& \gettype($module['directory']) === \gettype($sample['directory'])
&& \gettype($module['dependencies']) === \gettype($sample['dependencies'])
&& \gettype($module['providing']) === \gettype($sample['providing'])
From 83ef0fe2132f1dbe35977053686832f4f420f435 Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Wed, 20 Mar 2024 03:00:43 +0000
Subject: [PATCH 04/20] fix tests
---
Build | 2 +-
Developer-Guide | 2 +-
Install/tests/InstallTest.php | 34 +-
Modules/Accounting | 2 +-
Modules/Admin | 2 +-
Modules/AssetManagement | 2 +-
Modules/Attribute | 2 +-
Modules/Auditor | 2 +-
Modules/Balance | 2 +-
Modules/BankAccounting | 2 +-
Modules/Billing | 2 +-
Modules/BudgetManagement | 2 +-
Modules/BusinessExpenses | 2 +-
Modules/CMS | 2 +-
Modules/Calendar | 2 +-
Modules/CashManagement | 2 +-
Modules/Checklist | 2 +-
Modules/ClientManagement | 2 +-
Modules/Comments | 2 +-
Modules/Contact | 2 +-
Modules/ContractManagement | 2 +-
Modules/Controlling | 2 +-
Modules/Dashboard | 2 +-
Modules/Database | 2 +-
Modules/DatabaseEditor | 2 +-
Modules/Draw | 2 +-
Modules/Editor | 2 +-
Modules/EquipmentManagement | 2 +-
Modules/EventManagement | 2 +-
Modules/Exchange | 2 +-
Modules/Finance | 2 +-
Modules/FleetManagement | 2 +-
Modules/Help | 2 +-
Modules/Helper | 2 +-
Modules/Home | 2 +-
Modules/HumanResourceManagement | 2 +-
Modules/HumanResourceTimeRecording | 2 +-
Modules/IncomeStatement | 2 +-
Modules/InvestmentManagement | 2 +-
Modules/ItemManagement | 2 +-
Modules/Kanban | 2 +-
Modules/Knowledgebase | 2 +-
Modules/Labeling | 2 +-
Modules/LoanManagement | 2 +-
Modules/Marketing | 2 +-
Modules/Media | 2 +-
Modules/Messages | 2 +-
Modules/Monitoring | 2 +-
Modules/MyPrivate | 2 +-
Modules/Navigation | 2 +-
Modules/News | 2 +-
Modules/Notification | 2 +-
Modules/OnlineResourceWatcher | 2 +-
Modules/Organization | 2 +-
Modules/Payment | 2 +-
Modules/Production | 2 +-
Modules/Profile | 2 +-
Modules/ProjectManagement | 2 +-
Modules/Purchase | 2 +-
Modules/QA | 2 +-
Modules/QualityAssurance | 2 +-
Modules/QualityControl | 2 +-
Modules/QualityManagement | 2 +-
Modules/ResearchDevelopment | 2 +-
Modules/RiskManagement | 2 +-
Modules/Sales | 2 +-
Modules/SalesAnalysis | 2 +-
Modules/Search | 2 +-
Modules/Shop | 2 +-
Modules/StockTaking | 2 +-
Modules/SupplierManagement | 2 +-
Modules/Support | 2 +-
Modules/Surveys | 2 +-
Modules/Tag | 2 +-
Modules/Tasks | 2 +-
Modules/TestModule | 2 +-
Modules/Tools | 2 +-
Modules/WarehouseManagement | 2 +-
Modules/Workflow | 2 +-
README.md | 4 +-
Socket/Hooks.php | 19 +
composer.json | 13 +-
composer.lock | 1352 ++++++++---------
jsOMS | 2 +-
phpOMS | 2 +-
tests/Exception/DatabaseExceptionTest.php | 2 +-
.../UnexpectedApplicationExceptionTest.php | 2 +-
tests/Model/CoreSettingsTest.php | 36 +-
tests/Model/NullSettingTest.php | 2 +-
tests/Model/SettingMapperTest.php | 2 +-
tests/Model/SettingTest.php | 4 +-
tests/Web/Backend/BackendViewTest.php | 4 +-
92 files changed, 750 insertions(+), 884 deletions(-)
diff --git a/Build b/Build
index bff698ca..b129d571 160000
--- a/Build
+++ b/Build
@@ -1 +1 @@
-Subproject commit bff698ca3fff8009fb414ae4431e22da080c9aeb
+Subproject commit b129d5718b915e276ff5d0c497d9104e196c644d
diff --git a/Developer-Guide b/Developer-Guide
index 913f7991..70b7025d 160000
--- a/Developer-Guide
+++ b/Developer-Guide
@@ -1 +1 @@
-Subproject commit 913f79913f345b3cd2919a58d8394582e38ae579
+Subproject commit 70b7025dc69e98ea571983ee249f81c4e5922eef
diff --git a/Install/tests/InstallTest.php b/Install/tests/InstallTest.php
index a4c834a1..17661250 100755
--- a/Install/tests/InstallTest.php
+++ b/Install/tests/InstallTest.php
@@ -35,7 +35,7 @@ public function testPermissions() : void
}
/**
- * @covers Install\WebApplication
+ * @covers \Install\WebApplication
* @group admin
*/
public function testInvalidInstallRequest() : void
@@ -49,7 +49,7 @@ public function testInvalidInstallRequest() : void
}
/**
- * @covers Install\WebApplication
+ * @covers \Install\WebApplication
* @group admin
*/
public function testInvalidDatabaseInstallRequest() : void
@@ -96,24 +96,24 @@ public function testInvalidDatabaseInstallRequest() : void
}
/**
- * @covers Install\WebApplication
+ * @covers \Install\WebApplication
*
- * @covers phpOMS\Application\ApplicationManager
- * @covers phpOMS\Module\ModuleManager
+ * @covers \phpOMS\Application\ApplicationManager
+ * @covers \phpOMS\Module\ModuleManager
*
- * @covers Modules\Admin\Controller\ApiController
- * @covers Modules\CMS\Controller\ApiController
+ * @covers \Modules\Admin\Controller\ApiController
+ * @covers \Modules\CMS\Controller\ApiController
*
- * @covers Modules\Admin\Admin\Installer
- * @covers Modules\Auditor\Admin\Installer
- * @covers Modules\Organization\Admin\Installer
- * @covers Modules\Help\Admin\Installer
- * @covers Modules\Profile\Admin\Installer
- * @covers Modules\Navigation\Admin\Installer
- * @covers Modules\Dashboard\Admin\Installer
- * @covers Modules\CMS\Admin\Installer
- * @covers Modules\Tag\Admin\Installer
- * @covers Modules\Media\Admin\Installer
+ * @covers \Modules\Admin\Admin\Installer
+ * @covers \Modules\Auditor\Admin\Installer
+ * @covers \Modules\Organization\Admin\Installer
+ * @covers \Modules\Help\Admin\Installer
+ * @covers \Modules\Profile\Admin\Installer
+ * @covers \Modules\Navigation\Admin\Installer
+ * @covers \Modules\Dashboard\Admin\Installer
+ * @covers \Modules\CMS\Admin\Installer
+ * @covers \Modules\Tag\Admin\Installer
+ * @covers \Modules\Media\Admin\Installer
*
* @group admin
*/
diff --git a/Modules/Accounting b/Modules/Accounting
index 44f700dc..eb9f251b 160000
--- a/Modules/Accounting
+++ b/Modules/Accounting
@@ -1 +1 @@
-Subproject commit 44f700dc64e24aec1ba37b09dbcffdc629c42be1
+Subproject commit eb9f251b2efd2afb29eb41da86b9bcd64822a3e8
diff --git a/Modules/Admin b/Modules/Admin
index 41cf34c1..cec710ca 160000
--- a/Modules/Admin
+++ b/Modules/Admin
@@ -1 +1 @@
-Subproject commit 41cf34c164506a2fe2ba564d185d397b64ad35c4
+Subproject commit cec710ca4225a48db7f00468d5e9d72618832b98
diff --git a/Modules/AssetManagement b/Modules/AssetManagement
index 33e65e61..a3df8233 160000
--- a/Modules/AssetManagement
+++ b/Modules/AssetManagement
@@ -1 +1 @@
-Subproject commit 33e65e611f66cce8943b7e564989742815b1116c
+Subproject commit a3df8233f12ac7d99c19434c0b5ee4c4993afca0
diff --git a/Modules/Attribute b/Modules/Attribute
index 67042190..e2d47cbe 160000
--- a/Modules/Attribute
+++ b/Modules/Attribute
@@ -1 +1 @@
-Subproject commit 67042190acfb3b7089a653a6818de77a7e223080
+Subproject commit e2d47cbe5877aaf7c1755faf1eea6b164ecb7ef5
diff --git a/Modules/Auditor b/Modules/Auditor
index 1555d48e..ce8c0004 160000
--- a/Modules/Auditor
+++ b/Modules/Auditor
@@ -1 +1 @@
-Subproject commit 1555d48e7ae1a700389cea147d85876dda1d14e1
+Subproject commit ce8c000421697ca55a4d17765bc0aae784f43241
diff --git a/Modules/Balance b/Modules/Balance
index 10dae530..19a1bf3c 160000
--- a/Modules/Balance
+++ b/Modules/Balance
@@ -1 +1 @@
-Subproject commit 10dae530ff682504f23d5e606b7754c38b2b1595
+Subproject commit 19a1bf3c6f333fd0af2175bce7b3af5db8ff8f1f
diff --git a/Modules/BankAccounting b/Modules/BankAccounting
index d85cc6f6..0f10f045 160000
--- a/Modules/BankAccounting
+++ b/Modules/BankAccounting
@@ -1 +1 @@
-Subproject commit d85cc6f6f998325b8f4361b956787fefd7d15dc2
+Subproject commit 0f10f045d0d59bd158e2e1e3a893b9a087091af9
diff --git a/Modules/Billing b/Modules/Billing
index fd720b0e..5917c262 160000
--- a/Modules/Billing
+++ b/Modules/Billing
@@ -1 +1 @@
-Subproject commit fd720b0e4dd385aebd8c458c93c14c5d435a3ef2
+Subproject commit 5917c262f04918e5408e0dae196aaa33a7702a8e
diff --git a/Modules/BudgetManagement b/Modules/BudgetManagement
index 71537ba7..d09735a2 160000
--- a/Modules/BudgetManagement
+++ b/Modules/BudgetManagement
@@ -1 +1 @@
-Subproject commit 71537ba78d0a0c57cb3a7f01b993751c1757ec5b
+Subproject commit d09735a2b7e41a4cbaaabe162ea65d45b753e449
diff --git a/Modules/BusinessExpenses b/Modules/BusinessExpenses
index b0d1b5c3..9a79563c 160000
--- a/Modules/BusinessExpenses
+++ b/Modules/BusinessExpenses
@@ -1 +1 @@
-Subproject commit b0d1b5c37605a6d1c9194d71dbb0eda14fa3c5d9
+Subproject commit 9a79563cc0bb2d4de041cc784afa16bed6e54462
diff --git a/Modules/CMS b/Modules/CMS
index fec43241..c712d76c 160000
--- a/Modules/CMS
+++ b/Modules/CMS
@@ -1 +1 @@
-Subproject commit fec432410c4055ddd0848a47b00db8b0d79fb40f
+Subproject commit c712d76c5a5525f1c52ba5d061c154bea4d862a4
diff --git a/Modules/Calendar b/Modules/Calendar
index 71424fd5..69b72017 160000
--- a/Modules/Calendar
+++ b/Modules/Calendar
@@ -1 +1 @@
-Subproject commit 71424fd5fae027dca4bda498b7a80260cc8cdf7e
+Subproject commit 69b72017029c34bed4023f0ecc4e76a12ebf2e5b
diff --git a/Modules/CashManagement b/Modules/CashManagement
index e8059c6d..2ba64eae 160000
--- a/Modules/CashManagement
+++ b/Modules/CashManagement
@@ -1 +1 @@
-Subproject commit e8059c6d85d8d0a132f8f21349aa117adbe2a54f
+Subproject commit 2ba64eae0c495ee4a06055205cf6b84190562d27
diff --git a/Modules/Checklist b/Modules/Checklist
index c2ebc392..164bcc54 160000
--- a/Modules/Checklist
+++ b/Modules/Checklist
@@ -1 +1 @@
-Subproject commit c2ebc3920d9c2391d6e57278e59b8469951ffbdb
+Subproject commit 164bcc54aa71d4d1cc7e9eed778eae0d184e5998
diff --git a/Modules/ClientManagement b/Modules/ClientManagement
index 2e30a804..161202e8 160000
--- a/Modules/ClientManagement
+++ b/Modules/ClientManagement
@@ -1 +1 @@
-Subproject commit 2e30a80417da681a6d480f8ccbdfc5b8054c1c6e
+Subproject commit 161202e809191628cfb81a417a7ed98aed0ce36f
diff --git a/Modules/Comments b/Modules/Comments
index 609a8a30..bf715bc3 160000
--- a/Modules/Comments
+++ b/Modules/Comments
@@ -1 +1 @@
-Subproject commit 609a8a30f0b3f109516519935a91cf727118243c
+Subproject commit bf715bc387faad63051a94ba4f811d4efd893824
diff --git a/Modules/Contact b/Modules/Contact
index 20a8a26c..6cf468a4 160000
--- a/Modules/Contact
+++ b/Modules/Contact
@@ -1 +1 @@
-Subproject commit 20a8a26cca1a0984104adfe9349768784b64eec6
+Subproject commit 6cf468a4c8d2ce7867ce6b89f933fcf3e923b9b0
diff --git a/Modules/ContractManagement b/Modules/ContractManagement
index 06b0168a..1db41f7a 160000
--- a/Modules/ContractManagement
+++ b/Modules/ContractManagement
@@ -1 +1 @@
-Subproject commit 06b0168aa3c0da431067b79225574d411e04e859
+Subproject commit 1db41f7a3c0b0236c28736a8339f856190a7fe3b
diff --git a/Modules/Controlling b/Modules/Controlling
index fe7dfb97..ebb78b05 160000
--- a/Modules/Controlling
+++ b/Modules/Controlling
@@ -1 +1 @@
-Subproject commit fe7dfb97258d5c94e3bdf38f1f54e34d9925f6e7
+Subproject commit ebb78b0528271af014a8abb01a3ca247c65530ed
diff --git a/Modules/Dashboard b/Modules/Dashboard
index bb3e0b1e..30c06140 160000
--- a/Modules/Dashboard
+++ b/Modules/Dashboard
@@ -1 +1 @@
-Subproject commit bb3e0b1e87cc313c124192be5c509b94e3bcb105
+Subproject commit 30c06140096196c54177d7153ba0be238c185294
diff --git a/Modules/Database b/Modules/Database
index 85c1ce32..16aaf164 160000
--- a/Modules/Database
+++ b/Modules/Database
@@ -1 +1 @@
-Subproject commit 85c1ce325c355f37175863d850bc0df461aba4fd
+Subproject commit 16aaf164748c5f7274888e90babcb7a0eeb12f7b
diff --git a/Modules/DatabaseEditor b/Modules/DatabaseEditor
index fbcb7f7b..3b48a674 160000
--- a/Modules/DatabaseEditor
+++ b/Modules/DatabaseEditor
@@ -1 +1 @@
-Subproject commit fbcb7f7b64993de37bb2e4d5b63c3d2dd9797bd6
+Subproject commit 3b48a6748d09f9f37dbd387ef47b7a867ad152fc
diff --git a/Modules/Draw b/Modules/Draw
index 984f8462..10c7768e 160000
--- a/Modules/Draw
+++ b/Modules/Draw
@@ -1 +1 @@
-Subproject commit 984f846287a3f4c8f1cc1a790552f159c659de83
+Subproject commit 10c7768e1bd1e4204530dcca5cc48908c357634c
diff --git a/Modules/Editor b/Modules/Editor
index 0635773f..47dde020 160000
--- a/Modules/Editor
+++ b/Modules/Editor
@@ -1 +1 @@
-Subproject commit 0635773f671790981bb998599f115cbf2e12d7f9
+Subproject commit 47dde020b155283d1f2ec634b730ca36ca70c065
diff --git a/Modules/EquipmentManagement b/Modules/EquipmentManagement
index 7794da3a..d51bf2ef 160000
--- a/Modules/EquipmentManagement
+++ b/Modules/EquipmentManagement
@@ -1 +1 @@
-Subproject commit 7794da3af21825666c0fe125c8f384188d240ccf
+Subproject commit d51bf2ef8faf0ab73dea17ea2267c8b6ed92b829
diff --git a/Modules/EventManagement b/Modules/EventManagement
index 585e27e3..62f54ecf 160000
--- a/Modules/EventManagement
+++ b/Modules/EventManagement
@@ -1 +1 @@
-Subproject commit 585e27e38f87547fa6f6f2348d2f40dfe9af393c
+Subproject commit 62f54ecf296742f8e173b7a275efad9c241723bf
diff --git a/Modules/Exchange b/Modules/Exchange
index a746dd33..44379b3b 160000
--- a/Modules/Exchange
+++ b/Modules/Exchange
@@ -1 +1 @@
-Subproject commit a746dd337056bb814f8d8494b832758d77240143
+Subproject commit 44379b3b22ef0de5b15b5d2add3e5dd906fd14b2
diff --git a/Modules/Finance b/Modules/Finance
index 95764b70..aa10a324 160000
--- a/Modules/Finance
+++ b/Modules/Finance
@@ -1 +1 @@
-Subproject commit 95764b70337867b1f8df1dda9e3ebed3240cd49d
+Subproject commit aa10a32443a078e12e486005fc929a85ea93d02f
diff --git a/Modules/FleetManagement b/Modules/FleetManagement
index 7f761fd4..37cbc61f 160000
--- a/Modules/FleetManagement
+++ b/Modules/FleetManagement
@@ -1 +1 @@
-Subproject commit 7f761fd41c386b09a8c08e85b8da9036356be2a3
+Subproject commit 37cbc61f1d1cff68f0df88c7bf48a355c5588eae
diff --git a/Modules/Help b/Modules/Help
index 4792dfac..7f252b3f 160000
--- a/Modules/Help
+++ b/Modules/Help
@@ -1 +1 @@
-Subproject commit 4792dfac121ba021b59e6b6196b1eca0fcee3d35
+Subproject commit 7f252b3fe2264f961d275cd7ccc7b4383dc9e34f
diff --git a/Modules/Helper b/Modules/Helper
index 10bbd17b..c7c2cba0 160000
--- a/Modules/Helper
+++ b/Modules/Helper
@@ -1 +1 @@
-Subproject commit 10bbd17b052d8467aed79160577120c00e39ca57
+Subproject commit c7c2cba0ff39e37ed59fe3e67df305dfad84d257
diff --git a/Modules/Home b/Modules/Home
index 344dfbf6..2c6d503a 160000
--- a/Modules/Home
+++ b/Modules/Home
@@ -1 +1 @@
-Subproject commit 344dfbf683948426476001c4b05ba791ca759ffa
+Subproject commit 2c6d503ab5f3233a59ee93196d9511591745d79a
diff --git a/Modules/HumanResourceManagement b/Modules/HumanResourceManagement
index 96dfc5a5..76683ff8 160000
--- a/Modules/HumanResourceManagement
+++ b/Modules/HumanResourceManagement
@@ -1 +1 @@
-Subproject commit 96dfc5a57969a4a42b6a8f04a9424a432f6b0eb3
+Subproject commit 76683ff8217d414ae4fbea69c02ef2405cd85d90
diff --git a/Modules/HumanResourceTimeRecording b/Modules/HumanResourceTimeRecording
index d6ec8a9c..dc14b72c 160000
--- a/Modules/HumanResourceTimeRecording
+++ b/Modules/HumanResourceTimeRecording
@@ -1 +1 @@
-Subproject commit d6ec8a9c7515093e8566ee0ab04401d9509093c4
+Subproject commit dc14b72cbbf18facc840aade292afae6c042cb2e
diff --git a/Modules/IncomeStatement b/Modules/IncomeStatement
index 4916423e..2fe807b6 160000
--- a/Modules/IncomeStatement
+++ b/Modules/IncomeStatement
@@ -1 +1 @@
-Subproject commit 4916423ec6a2c4d805d841fa653768036033d86b
+Subproject commit 2fe807b6660140fffc6e3f48025bb0dafe4f251b
diff --git a/Modules/InvestmentManagement b/Modules/InvestmentManagement
index 9135e30c..16436b08 160000
--- a/Modules/InvestmentManagement
+++ b/Modules/InvestmentManagement
@@ -1 +1 @@
-Subproject commit 9135e30c359071631010440520916af97eea1c28
+Subproject commit 16436b08f084ff1cb383d7129e1c45196ff64b36
diff --git a/Modules/ItemManagement b/Modules/ItemManagement
index caa220c0..19125312 160000
--- a/Modules/ItemManagement
+++ b/Modules/ItemManagement
@@ -1 +1 @@
-Subproject commit caa220c07f04f99890632ba48b1763ce14d31424
+Subproject commit 191253120f00fc9f9bd0b91a8ab20a0f072336d8
diff --git a/Modules/Kanban b/Modules/Kanban
index f71c28f4..8d7dc830 160000
--- a/Modules/Kanban
+++ b/Modules/Kanban
@@ -1 +1 @@
-Subproject commit f71c28f4997f94d9b081acbbb9f7a2e8359dd765
+Subproject commit 8d7dc830586761266222ee219b9c402cbf0c3f96
diff --git a/Modules/Knowledgebase b/Modules/Knowledgebase
index 09f576f3..97abb4dd 160000
--- a/Modules/Knowledgebase
+++ b/Modules/Knowledgebase
@@ -1 +1 @@
-Subproject commit 09f576f351647ae98dfbe633c74a15459decc019
+Subproject commit 97abb4dd35ea3a4dca06b5447a2f327849702d0e
diff --git a/Modules/Labeling b/Modules/Labeling
index 75364349..9852285c 160000
--- a/Modules/Labeling
+++ b/Modules/Labeling
@@ -1 +1 @@
-Subproject commit 7536434932d2f3fc577e113cc8569c4c56c2a513
+Subproject commit 9852285cb12538eb18639614989705f6604feedb
diff --git a/Modules/LoanManagement b/Modules/LoanManagement
index 70cfabd3..b8135bb1 160000
--- a/Modules/LoanManagement
+++ b/Modules/LoanManagement
@@ -1 +1 @@
-Subproject commit 70cfabd3ca7576d5ebab3bc0fbdfbfe4e6f849b3
+Subproject commit b8135bb1a8d0e726e577b12a2f3b1131240b404e
diff --git a/Modules/Marketing b/Modules/Marketing
index e49b72bf..fb8e5f82 160000
--- a/Modules/Marketing
+++ b/Modules/Marketing
@@ -1 +1 @@
-Subproject commit e49b72bfcd37b133b35536abcf707b05d79b2fc6
+Subproject commit fb8e5f82f0e7eec483c9420fbb6efef63f02cd39
diff --git a/Modules/Media b/Modules/Media
index 7492a719..c415c0fb 160000
--- a/Modules/Media
+++ b/Modules/Media
@@ -1 +1 @@
-Subproject commit 7492a719f68ec667145a062e582ad355fb16a3ac
+Subproject commit c415c0fbace93cc2f9f82c94af8c2ecd5a3ec02d
diff --git a/Modules/Messages b/Modules/Messages
index 5bd7469c..d40558aa 160000
--- a/Modules/Messages
+++ b/Modules/Messages
@@ -1 +1 @@
-Subproject commit 5bd7469c1e2810aebfcf91fdf0ce58c03a57640c
+Subproject commit d40558aa4492f6dcab71c35686daec60c9413490
diff --git a/Modules/Monitoring b/Modules/Monitoring
index d363a61d..0d6543da 160000
--- a/Modules/Monitoring
+++ b/Modules/Monitoring
@@ -1 +1 @@
-Subproject commit d363a61d8848b92cce95b7b3be6d64443f35b4d0
+Subproject commit 0d6543da783b14e83a868ffacc80ee77e2902dab
diff --git a/Modules/MyPrivate b/Modules/MyPrivate
index 34c0f164..27b7f71d 160000
--- a/Modules/MyPrivate
+++ b/Modules/MyPrivate
@@ -1 +1 @@
-Subproject commit 34c0f1644d65417f301b7b0c57b5e1cafac11c58
+Subproject commit 27b7f71dfd766e6060b205f06b66194da0d790de
diff --git a/Modules/Navigation b/Modules/Navigation
index ee8fff67..f2ddece6 160000
--- a/Modules/Navigation
+++ b/Modules/Navigation
@@ -1 +1 @@
-Subproject commit ee8fff67e17c1b20c8992095bdeeae68b46850c6
+Subproject commit f2ddece6ca72b4f8f2adf662cfb17331ca243de5
diff --git a/Modules/News b/Modules/News
index 64810977..68f0d5d8 160000
--- a/Modules/News
+++ b/Modules/News
@@ -1 +1 @@
-Subproject commit 64810977723ee2542d0cc39beffd2caba74e474f
+Subproject commit 68f0d5d81d876a51e0bb6c62a68836c8502a4e08
diff --git a/Modules/Notification b/Modules/Notification
index 390a4cac..53a236f7 160000
--- a/Modules/Notification
+++ b/Modules/Notification
@@ -1 +1 @@
-Subproject commit 390a4cac6d27735da06f33a5b8146457662059ec
+Subproject commit 53a236f7612b714326cfa9b3ecdafed6ecd27132
diff --git a/Modules/OnlineResourceWatcher b/Modules/OnlineResourceWatcher
index ba4517d5..cf648e17 160000
--- a/Modules/OnlineResourceWatcher
+++ b/Modules/OnlineResourceWatcher
@@ -1 +1 @@
-Subproject commit ba4517d5559b2d5985245a8f85360d31260859e4
+Subproject commit cf648e171ffe71df10e70b5c48fd3c7aced16c5d
diff --git a/Modules/Organization b/Modules/Organization
index 84316f43..90f52204 160000
--- a/Modules/Organization
+++ b/Modules/Organization
@@ -1 +1 @@
-Subproject commit 84316f43152f89e47d59d6bad0467c8e9dbbbf93
+Subproject commit 90f5220410171e4efcc42b8c3d4c2319fb4c5408
diff --git a/Modules/Payment b/Modules/Payment
index b86f1b87..b4aec23e 160000
--- a/Modules/Payment
+++ b/Modules/Payment
@@ -1 +1 @@
-Subproject commit b86f1b87c73e5ad47e33b51f3c070d5fa02b3ed9
+Subproject commit b4aec23ec88349275623ee2165f47b7c585f07d4
diff --git a/Modules/Production b/Modules/Production
index 688a809e..2f66c2ed 160000
--- a/Modules/Production
+++ b/Modules/Production
@@ -1 +1 @@
-Subproject commit 688a809e4e58c216ec6455df4655c83e9d6c588f
+Subproject commit 2f66c2ed04308f7182000c9cc7009f246a8990cd
diff --git a/Modules/Profile b/Modules/Profile
index 8fe65095..80176a5f 160000
--- a/Modules/Profile
+++ b/Modules/Profile
@@ -1 +1 @@
-Subproject commit 8fe650951edd07a87fc093fc5d36c63db6013ead
+Subproject commit 80176a5f3e5f0fa1bf3d6b1e4b1ce6b610222b0f
diff --git a/Modules/ProjectManagement b/Modules/ProjectManagement
index d31e26bd..4d1e8d20 160000
--- a/Modules/ProjectManagement
+++ b/Modules/ProjectManagement
@@ -1 +1 @@
-Subproject commit d31e26bde84a95371cfa13a70e55b00ad162ec75
+Subproject commit 4d1e8d202dd0a6e486bdc40d98f7f98d0cdf2849
diff --git a/Modules/Purchase b/Modules/Purchase
index 03090994..952d8eb4 160000
--- a/Modules/Purchase
+++ b/Modules/Purchase
@@ -1 +1 @@
-Subproject commit 03090994fe1331ca37592e76033b9d71d44bb749
+Subproject commit 952d8eb462fa8961ab1a480603f33a63b3058305
diff --git a/Modules/QA b/Modules/QA
index 73729510..073421c9 160000
--- a/Modules/QA
+++ b/Modules/QA
@@ -1 +1 @@
-Subproject commit 73729510ead435b6caf669f370e737e3e5affbd3
+Subproject commit 073421c91921b5fec954c73199adb5657bf8bb8d
diff --git a/Modules/QualityAssurance b/Modules/QualityAssurance
index 4aba0c4a..5d69a912 160000
--- a/Modules/QualityAssurance
+++ b/Modules/QualityAssurance
@@ -1 +1 @@
-Subproject commit 4aba0c4aa1a55751f53ca2d1abadc7fedc2cb137
+Subproject commit 5d69a912deadeab5cbe87d8eba255259f909a429
diff --git a/Modules/QualityControl b/Modules/QualityControl
index 94dab6b9..2b348308 160000
--- a/Modules/QualityControl
+++ b/Modules/QualityControl
@@ -1 +1 @@
-Subproject commit 94dab6b98732fb27c87f6644ed8a30e09224b1c5
+Subproject commit 2b348308c835a34576a2d28d609c9f73f18b9421
diff --git a/Modules/QualityManagement b/Modules/QualityManagement
index fe1e292b..1474bb51 160000
--- a/Modules/QualityManagement
+++ b/Modules/QualityManagement
@@ -1 +1 @@
-Subproject commit fe1e292b2f607f2fc6c9d8cfc1fd093993cfe1a8
+Subproject commit 1474bb51cecc27f319b767b100f8348906e5583e
diff --git a/Modules/ResearchDevelopment b/Modules/ResearchDevelopment
index ebe71326..3722fa18 160000
--- a/Modules/ResearchDevelopment
+++ b/Modules/ResearchDevelopment
@@ -1 +1 @@
-Subproject commit ebe71326f8f84257844162473719bfd4adcddbd2
+Subproject commit 3722fa1871230b62e9f762a666e030205ac25f39
diff --git a/Modules/RiskManagement b/Modules/RiskManagement
index d4228b43..89a0cc22 160000
--- a/Modules/RiskManagement
+++ b/Modules/RiskManagement
@@ -1 +1 @@
-Subproject commit d4228b43c0a96e3589325a2ad2119749ab6281ea
+Subproject commit 89a0cc22d433507cebc913214b2e5e16a9b4d1ed
diff --git a/Modules/Sales b/Modules/Sales
index 6f73483a..906e1a0d 160000
--- a/Modules/Sales
+++ b/Modules/Sales
@@ -1 +1 @@
-Subproject commit 6f73483ae133eb68d26e75dafa16a1f9def08596
+Subproject commit 906e1a0d4d8b1aee06f18fa6f59e38e4a26ec1e0
diff --git a/Modules/SalesAnalysis b/Modules/SalesAnalysis
index 1e1718ad..bfe8b462 160000
--- a/Modules/SalesAnalysis
+++ b/Modules/SalesAnalysis
@@ -1 +1 @@
-Subproject commit 1e1718ad04026c6f2b451bb499da86ed6a91785b
+Subproject commit bfe8b46208506dd91cc0308ef4ad410c9dbcf427
diff --git a/Modules/Search b/Modules/Search
index f744f9f9..5f9c74fd 160000
--- a/Modules/Search
+++ b/Modules/Search
@@ -1 +1 @@
-Subproject commit f744f9f9caa82f589506a9064d1333a3d94ab146
+Subproject commit 5f9c74fd654d2d4e0460164c28cdd5435c21fa96
diff --git a/Modules/Shop b/Modules/Shop
index 3d354093..2da5beb0 160000
--- a/Modules/Shop
+++ b/Modules/Shop
@@ -1 +1 @@
-Subproject commit 3d35409342300b8da58ad3037ec16fa412c4bb7b
+Subproject commit 2da5beb05b77c487ea16e9c2a383c6c0d989d60c
diff --git a/Modules/StockTaking b/Modules/StockTaking
index d8ac7402..07f1db4b 160000
--- a/Modules/StockTaking
+++ b/Modules/StockTaking
@@ -1 +1 @@
-Subproject commit d8ac74026954363a0b30bb55d1cc712ad5c3b1e3
+Subproject commit 07f1db4bb0befb01b915d26167a5c00453cf8ad3
diff --git a/Modules/SupplierManagement b/Modules/SupplierManagement
index 15fc8e1b..611b82e6 160000
--- a/Modules/SupplierManagement
+++ b/Modules/SupplierManagement
@@ -1 +1 @@
-Subproject commit 15fc8e1b9dc14ad85e9d739a760bde8987f5baf6
+Subproject commit 611b82e6f283c2e935dd8a6c35237af667c3bc16
diff --git a/Modules/Support b/Modules/Support
index 360b384b..65ee9655 160000
--- a/Modules/Support
+++ b/Modules/Support
@@ -1 +1 @@
-Subproject commit 360b384bdc7c9d1644fe9482673d375aed916210
+Subproject commit 65ee96550c244b0fb098a716ec8b3fa6b9cf856f
diff --git a/Modules/Surveys b/Modules/Surveys
index cf964c25..704888b7 160000
--- a/Modules/Surveys
+++ b/Modules/Surveys
@@ -1 +1 @@
-Subproject commit cf964c2546a68599bcac3d6367b379ec7a1e2dad
+Subproject commit 704888b7b8bad4125bad538ffdc7c260a3b78cd9
diff --git a/Modules/Tag b/Modules/Tag
index 1bdbfa06..363d0236 160000
--- a/Modules/Tag
+++ b/Modules/Tag
@@ -1 +1 @@
-Subproject commit 1bdbfa0632b8ac0ba931b42a9160b833921deb99
+Subproject commit 363d0236204763fd3c03be030df89104ab990a54
diff --git a/Modules/Tasks b/Modules/Tasks
index d79e2d10..b3455054 160000
--- a/Modules/Tasks
+++ b/Modules/Tasks
@@ -1 +1 @@
-Subproject commit d79e2d10c248ec00ba1ea327927f987596e2cb20
+Subproject commit b3455054fbb44142e27c42bec5db8a9a22906a9d
diff --git a/Modules/TestModule b/Modules/TestModule
index 775f9d9e..35a3a431 160000
--- a/Modules/TestModule
+++ b/Modules/TestModule
@@ -1 +1 @@
-Subproject commit 775f9d9e7ef49b9bfb2fc0299e5a8ab28ed1569c
+Subproject commit 35a3a431a4f57a41c19ca96093191c2c8ec7d4ac
diff --git a/Modules/Tools b/Modules/Tools
index 42cc002a..4652549a 160000
--- a/Modules/Tools
+++ b/Modules/Tools
@@ -1 +1 @@
-Subproject commit 42cc002a1bc9d33f17844cf0d380b6a51822eca5
+Subproject commit 4652549a24fa64b155d41ec7976c1a5713a68d6b
diff --git a/Modules/WarehouseManagement b/Modules/WarehouseManagement
index f86696ee..aa6af66b 160000
--- a/Modules/WarehouseManagement
+++ b/Modules/WarehouseManagement
@@ -1 +1 @@
-Subproject commit f86696ee0b149328b94668221771a1b11ffe0d60
+Subproject commit aa6af66b674bc28a4d6478be98d3584537ad8ad4
diff --git a/Modules/Workflow b/Modules/Workflow
index 29f0d210..7dbdbf5f 160000
--- a/Modules/Workflow
+++ b/Modules/Workflow
@@ -1 +1 @@
-Subproject commit 29f0d21090d1e8b70ce60be1663cf74e9449b3ed
+Subproject commit 7dbdbf5fc9a54ad4abf7f6d60ede1bf2ee82292d
diff --git a/README.md b/README.md
index 4cb40c29..51f9ea45 100755
--- a/README.md
+++ b/README.md
@@ -18,8 +18,8 @@ With Karaka you have one partner who can provide many tools and software solutio
## Requirements
-* PHP 8.1
-* PHP extension: php8.1-dev php8.1-cli php8.1-common php8.1-mysql php8.1-pgsql php8.1-xdebug php8.1-opcache php8.1-pdo php8.1-sqlite php8.1-mbstring php8.1-curl php8.1-imap php8.1-bcmath php8.1-zip php8.1-dom php8.1-xml php8.1-phar php8.1-gd php-pear
+* PHP 8.2
+* PHP extension: php8.2-dev php8.2-cli php8.2-common php8.2-intl php8.2-mysql php8.2-pgsql php8.2-xdebug php8.2-opcache php8.2-pdo php8.2-sqlite php8.2-mbstring php8.2-curl php8.2-imap php8.2-bcmath php8.2-zip php8.2-dom php8.2-xml php8.2-phar php8.2-gd php-pear
* apache2 (recommended) or nginx
* mysql-server (recommended) or postgresql postgresql-contrib
* Tools: tesseract-ocr, pdftotext, pdftoppm
diff --git a/Socket/Hooks.php b/Socket/Hooks.php
index a8498004..95d90fca 100755
--- a/Socket/Hooks.php
+++ b/Socket/Hooks.php
@@ -4301,6 +4301,25 @@
4298 => '\Modules\TestModule\Controller\Controller:testHook',
4299 => '\Modules\TestModule\Controller\Controller:testHook',
4300 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4301 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4302 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4303 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4304 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4305 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4306 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4307 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4308 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4309 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4310 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4311 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4312 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4313 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4314 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4315 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4316 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4317 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4318 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4319 => '\Modules\TestModule\Controller\Controller:testHook',
],
],
];
\ No newline at end of file
diff --git a/composer.json b/composer.json
index dde32ab7..eb313136 100755
--- a/composer.json
+++ b/composer.json
@@ -8,15 +8,14 @@
}
],
"require-dev": {
- "phpunit/phpunit": ">=9.4",
- "friendsofphp/php-cs-fixer": ">=3.8",
- "squizlabs/php_codesniffer": ">=3.6",
+ "phpunit/phpunit": ">=11.0",
+ "friendsofphp/php-cs-fixer": ">=3.51",
+ "squizlabs/php_codesniffer": ">=3.7",
"phpmd/phpmd": ">=2.9",
- "phpstan/phpstan": ">=1.8.6",
+ "phpstan/phpstan": ">=1.10.62",
"phan/phan": ">=3.2.6",
- "phploc/phploc": ">=7.0",
- "phpmetrics/phpmetrics": "^2.8",
- "rector/rector": ">=0.18.0"
+ "phpmetrics/phpmetrics": ">=3.0.0rc6",
+ "rector/rector": ">=1.0.3"
},
"minimum-stability": "dev",
"prefer-stable": true
diff --git a/composer.lock b/composer.lock
index 96921117..36789948 100755
--- a/composer.lock
+++ b/composer.lock
@@ -4,21 +4,21 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "e99ebea935612a71cd56b638588ccbb4",
+ "content-hash": "93ded1e5dc6fbb3248be26c980cda897",
"packages": [],
"packages-dev": [
{
"name": "composer/pcre",
- "version": "3.1.0",
+ "version": "3.1.2",
"source": {
"type": "git",
"url": "https://github.com/composer/pcre.git",
- "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2"
+ "reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2",
- "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/4775f35b2d70865807c89d32c8e7385b86eb0ace",
+ "reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace",
"shasum": ""
},
"require": {
@@ -60,7 +60,7 @@
],
"support": {
"issues": "https://github.com/composer/pcre/issues",
- "source": "https://github.com/composer/pcre/tree/3.1.0"
+ "source": "https://github.com/composer/pcre/tree/3.1.2"
},
"funding": [
{
@@ -76,7 +76,7 @@
"type": "tidelift"
}
],
- "time": "2022-11-17T09:50:14+00:00"
+ "time": "2024-03-07T15:38:35+00:00"
},
{
"name": "composer/semver",
@@ -227,16 +227,16 @@
},
{
"name": "doctrine/deprecations",
- "version": "1.1.2",
+ "version": "1.1.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
- "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931"
+ "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
- "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
+ "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
"shasum": ""
},
"require": {
@@ -268,79 +268,9 @@
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/1.1.2"
+ "source": "https://github.com/doctrine/deprecations/tree/1.1.3"
},
- "time": "2023-09-27T20:04:15+00:00"
- },
- {
- "name": "doctrine/instantiator",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
- "shasum": ""
- },
- "require": {
- "php": "^8.1"
- },
- "require-dev": {
- "doctrine/coding-standard": "^11",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpbench/phpbench": "^1.2",
- "phpstan/phpstan": "^1.9.4",
- "phpstan/phpstan-phpunit": "^1.3",
- "phpunit/phpunit": "^9.5.27",
- "vimeo/psalm": "^5.4"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "https://ocramius.github.io/"
- }
- ],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
- "keywords": [
- "constructor",
- "instantiate"
- ],
- "support": {
- "issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
- "type": "tidelift"
- }
- ],
- "time": "2022-12-30T00:23:10+00:00"
+ "time": "2024-01-30T19:34:25+00:00"
},
{
"name": "felixfbecker/advanced-json-rpc",
@@ -389,52 +319,49 @@
},
{
"name": "friendsofphp/php-cs-fixer",
- "version": "v3.30.0",
+ "version": "v3.51.0",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
- "reference": "95c64693b2f149966a2bc05a7a4981b0343ea52f"
+ "reference": "127fa74f010da99053e3f5b62672615b72dd6efd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/95c64693b2f149966a2bc05a7a4981b0343ea52f",
- "reference": "95c64693b2f149966a2bc05a7a4981b0343ea52f",
+ "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/127fa74f010da99053e3f5b62672615b72dd6efd",
+ "reference": "127fa74f010da99053e3f5b62672615b72dd6efd",
"shasum": ""
},
"require": {
- "composer/semver": "^3.3",
+ "composer/semver": "^3.4",
"composer/xdebug-handler": "^3.0.3",
+ "ext-filter": "*",
"ext-json": "*",
"ext-tokenizer": "*",
"php": "^7.4 || ^8.0",
- "sebastian/diff": "^4.0 || ^5.0",
- "symfony/console": "^5.4 || ^6.0",
- "symfony/event-dispatcher": "^5.4 || ^6.0",
- "symfony/filesystem": "^5.4 || ^6.0",
- "symfony/finder": "^5.4 || ^6.0",
- "symfony/options-resolver": "^5.4 || ^6.0",
- "symfony/polyfill-mbstring": "^1.27",
- "symfony/polyfill-php80": "^1.27",
- "symfony/polyfill-php81": "^1.27",
- "symfony/process": "^5.4 || ^6.0",
- "symfony/stopwatch": "^5.4 || ^6.0"
+ "sebastian/diff": "^4.0 || ^5.0 || ^6.0",
+ "symfony/console": "^5.4 || ^6.0 || ^7.0",
+ "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0",
+ "symfony/filesystem": "^5.4 || ^6.0 || ^7.0",
+ "symfony/finder": "^5.4 || ^6.0 || ^7.0",
+ "symfony/options-resolver": "^5.4 || ^6.0 || ^7.0",
+ "symfony/polyfill-mbstring": "^1.28",
+ "symfony/polyfill-php80": "^1.28",
+ "symfony/polyfill-php81": "^1.28",
+ "symfony/process": "^5.4 || ^6.0 || ^7.0",
+ "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0"
},
"require-dev": {
"facile-it/paraunit": "^1.3 || ^2.0",
"justinrainbow/json-schema": "^5.2",
- "keradus/cli-executor": "^2.0",
+ "keradus/cli-executor": "^2.1",
"mikey179/vfsstream": "^1.6.11",
- "php-coveralls/php-coveralls": "^2.5.3",
+ "php-coveralls/php-coveralls": "^2.7",
"php-cs-fixer/accessible-object": "^1.1",
- "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2",
- "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1",
- "phpspec/prophecy": "^1.16",
- "phpspec/prophecy-phpunit": "^2.0",
- "phpunit/phpunit": "^9.5",
- "phpunitgoodpractices/polyfill": "^1.6",
- "phpunitgoodpractices/traits": "^1.9.2",
- "symfony/phpunit-bridge": "^6.2.3",
- "symfony/yaml": "^5.4 || ^6.0"
+ "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.4",
+ "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.4",
+ "phpunit/phpunit": "^9.6 || ^10.5.5 || ^11.0.2",
+ "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0",
+ "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
},
"suggest": {
"ext-dom": "For handling output formats in XML",
@@ -472,7 +399,7 @@
],
"support": {
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
- "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.30.0"
+ "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.51.0"
},
"funding": [
{
@@ -480,7 +407,7 @@
"type": "github"
}
],
- "time": "2023-09-26T22:10:43+00:00"
+ "time": "2024-02-28T19:50:06+00:00"
},
{
"name": "microsoft/tolerant-php-parser",
@@ -588,16 +515,16 @@
},
{
"name": "netresearch/jsonmapper",
- "version": "v4.2.0",
+ "version": "v4.4.1",
"source": {
"type": "git",
"url": "https://github.com/cweiske/jsonmapper.git",
- "reference": "f60565f8c0566a31acf06884cdaa591867ecc956"
+ "reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956",
- "reference": "f60565f8c0566a31acf06884cdaa591867ecc956",
+ "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/132c75c7dd83e45353ebb9c6c9f591952995bbf0",
+ "reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0",
"shasum": ""
},
"require": {
@@ -608,7 +535,7 @@
"php": ">=7.1"
},
"require-dev": {
- "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0",
+ "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0 || ~10.0",
"squizlabs/php_codesniffer": "~3.5"
},
"type": "library",
@@ -633,31 +560,33 @@
"support": {
"email": "cweiske@cweiske.de",
"issues": "https://github.com/cweiske/jsonmapper/issues",
- "source": "https://github.com/cweiske/jsonmapper/tree/v4.2.0"
+ "source": "https://github.com/cweiske/jsonmapper/tree/v4.4.1"
},
- "time": "2023-04-09T17:37:40+00:00"
+ "time": "2024-01-31T06:18:54+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v4.17.1",
+ "version": "v5.0.2",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"
+ "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
- "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13",
+ "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13",
"shasum": ""
},
"require": {
+ "ext-ctype": "*",
+ "ext-json": "*",
"ext-tokenizer": "*",
- "php": ">=7.0"
+ "php": ">=7.4"
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
},
"bin": [
"bin/php-parse"
@@ -665,7 +594,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.9-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
@@ -689,34 +618,34 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2"
},
- "time": "2023-08-13T19:53:39+00:00"
+ "time": "2024-03-05T20:51:40+00:00"
},
{
"name": "pdepend/pdepend",
- "version": "2.15.1",
+ "version": "2.16.2",
"source": {
"type": "git",
"url": "https://github.com/pdepend/pdepend.git",
- "reference": "d12f25bcdfb7754bea458a4a5cb159d55e9950d0"
+ "reference": "f942b208dc2a0868454d01b29f0c75bbcfc6ed58"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pdepend/pdepend/zipball/d12f25bcdfb7754bea458a4a5cb159d55e9950d0",
- "reference": "d12f25bcdfb7754bea458a4a5cb159d55e9950d0",
+ "url": "https://api.github.com/repos/pdepend/pdepend/zipball/f942b208dc2a0868454d01b29f0c75bbcfc6ed58",
+ "reference": "f942b208dc2a0868454d01b29f0c75bbcfc6ed58",
"shasum": ""
},
"require": {
"php": ">=5.3.7",
- "symfony/config": "^2.3.0|^3|^4|^5|^6.0",
- "symfony/dependency-injection": "^2.3.0|^3|^4|^5|^6.0",
- "symfony/filesystem": "^2.3.0|^3|^4|^5|^6.0"
+ "symfony/config": "^2.3.0|^3|^4|^5|^6.0|^7.0",
+ "symfony/dependency-injection": "^2.3.0|^3|^4|^5|^6.0|^7.0",
+ "symfony/filesystem": "^2.3.0|^3|^4|^5|^6.0|^7.0",
+ "symfony/polyfill-mbstring": "^1.19"
},
"require-dev": {
"easy-doc/easy-doc": "0.0.0|^1.2.3",
"gregwar/rst": "^1.0",
- "phpunit/phpunit": "^4.8.36|^5.7.27",
"squizlabs/php_codesniffer": "^2.0.0"
},
"bin": [
@@ -746,7 +675,7 @@
],
"support": {
"issues": "https://github.com/pdepend/pdepend/issues",
- "source": "https://github.com/pdepend/pdepend/tree/2.15.1"
+ "source": "https://github.com/pdepend/pdepend/tree/2.16.2"
},
"funding": [
{
@@ -754,20 +683,20 @@
"type": "tidelift"
}
],
- "time": "2023-09-28T12:00:56+00:00"
+ "time": "2023-12-17T18:09:59+00:00"
},
{
"name": "phan/phan",
- "version": "5.4.2",
+ "version": "5.4.3",
"source": {
"type": "git",
"url": "https://github.com/phan/phan.git",
- "reference": "4f2870ed6fea320f62f3c3c63f3274d357a7980e"
+ "reference": "86a7acd99c1239b8867b49feca2398851212e7fe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phan/phan/zipball/4f2870ed6fea320f62f3c3c63f3274d357a7980e",
- "reference": "4f2870ed6fea320f62f3c3c63f3274d357a7980e",
+ "url": "https://api.github.com/repos/phan/phan/zipball/86a7acd99c1239b8867b49feca2398851212e7fe",
+ "reference": "86a7acd99c1239b8867b49feca2398851212e7fe",
"shasum": ""
},
"require": {
@@ -781,7 +710,7 @@
"netresearch/jsonmapper": "^1.6.0|^2.0|^3.0|^4.0",
"php": "^7.2.0|^8.0.0",
"sabre/event": "^5.1.3",
- "symfony/console": "^3.2|^4.0|^5.0|^6.0",
+ "symfony/console": "^3.2|^4.0|^5.0|^6.0|^7.0",
"symfony/polyfill-mbstring": "^1.11.0",
"symfony/polyfill-php80": "^1.20.0",
"tysonandre/var_representation_polyfill": "^0.0.2|^0.1.0"
@@ -827,30 +756,32 @@
"keywords": [
"analyzer",
"php",
- "static"
+ "static",
+ "static analysis"
],
"support": {
"issues": "https://github.com/phan/phan/issues",
- "source": "https://github.com/phan/phan/tree/5.4.2"
+ "source": "https://github.com/phan/phan/tree/5.4.3"
},
- "time": "2023-03-03T17:20:24+00:00"
+ "time": "2023-12-26T17:57:35+00:00"
},
{
"name": "phar-io/manifest",
- "version": "2.0.3",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
- "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
+ "reference": "54750ef60c58e43759730615a392c31c80e23176"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
- "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176",
+ "reference": "54750ef60c58e43759730615a392c31c80e23176",
"shasum": ""
},
"require": {
"ext-dom": "*",
+ "ext-libxml": "*",
"ext-phar": "*",
"ext-xmlwriter": "*",
"phar-io/version": "^3.0.1",
@@ -891,9 +822,15 @@
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
"support": {
"issues": "https://github.com/phar-io/manifest/issues",
- "source": "https://github.com/phar-io/manifest/tree/2.0.3"
+ "source": "https://github.com/phar-io/manifest/tree/2.0.4"
},
- "time": "2021-07-20T11:28:43+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-03T12:33:53+00:00"
},
{
"name": "phar-io/version",
@@ -1058,21 +995,21 @@
},
{
"name": "phpdocumentor/type-resolver",
- "version": "1.7.3",
+ "version": "1.8.2",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419"
+ "reference": "153ae662783729388a584b4361f2545e4d841e3c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419",
- "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c",
+ "reference": "153ae662783729388a584b4361f2545e4d841e3c",
"shasum": ""
},
"require": {
"doctrine/deprecations": "^1.0",
- "php": "^7.4 || ^8.0",
+ "php": "^7.3 || ^8.0",
"phpdocumentor/reflection-common": "^2.0",
"phpstan/phpdoc-parser": "^1.13"
},
@@ -1110,90 +1047,28 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3"
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2"
},
- "time": "2023-08-12T11:01:26+00:00"
- },
- {
- "name": "phploc/phploc",
- "version": "7.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phploc.git",
- "reference": "af0d5fc84f3f7725513ba59cdcbe670ac2a4532a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phploc/zipball/af0d5fc84f3f7725513ba59cdcbe670ac2a4532a",
- "reference": "af0d5fc84f3f7725513ba59cdcbe670ac2a4532a",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-json": "*",
- "php": ">=7.3",
- "phpunit/php-file-iterator": "^3.0",
- "sebastian/cli-parser": "^1.0",
- "sebastian/version": "^3.0"
- },
- "bin": [
- "phploc"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "7.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "A tool for quickly measuring the size of a PHP project.",
- "homepage": "https://github.com/sebastianbergmann/phploc",
- "support": {
- "issues": "https://github.com/sebastianbergmann/phploc/issues",
- "source": "https://github.com/sebastianbergmann/phploc/tree/7.0.2"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "abandoned": true,
- "time": "2020-12-07T05:51:20+00:00"
+ "time": "2024-02-23T11:10:43+00:00"
},
{
"name": "phpmd/phpmd",
- "version": "2.14.1",
+ "version": "2.15.0",
"source": {
"type": "git",
"url": "https://github.com/phpmd/phpmd.git",
- "reference": "442fc2c34edcd5198b442d8647c7f0aec3afabe8"
+ "reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpmd/phpmd/zipball/442fc2c34edcd5198b442d8647c7f0aec3afabe8",
- "reference": "442fc2c34edcd5198b442d8647c7f0aec3afabe8",
+ "url": "https://api.github.com/repos/phpmd/phpmd/zipball/74a1f56e33afad4128b886e334093e98e1b5e7c0",
+ "reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0",
"shasum": ""
},
"require": {
"composer/xdebug-handler": "^1.0 || ^2.0 || ^3.0",
"ext-xml": "*",
- "pdepend/pdepend": "^2.15.1",
+ "pdepend/pdepend": "^2.16.1",
"php": ">=5.3.9"
},
"require-dev": {
@@ -1202,7 +1077,6 @@
"ext-simplexml": "*",
"gregwar/rst": "^1.0",
"mikey179/vfsstream": "^1.6.8",
- "phpunit/phpunit": "^4.8.36 || ^5.7.27",
"squizlabs/php_codesniffer": "^2.9.2 || ^3.7.2"
},
"bin": [
@@ -1250,7 +1124,7 @@
"support": {
"irc": "irc://irc.freenode.org/phpmd",
"issues": "https://github.com/phpmd/phpmd/issues",
- "source": "https://github.com/phpmd/phpmd/tree/2.14.1"
+ "source": "https://github.com/phpmd/phpmd/tree/2.15.0"
},
"funding": [
{
@@ -1258,48 +1132,55 @@
"type": "tidelift"
}
],
- "time": "2023-09-28T13:07:44+00:00"
+ "time": "2023-12-11T08:22:20+00:00"
},
{
"name": "phpmetrics/phpmetrics",
- "version": "v2.8.2",
+ "version": "v3.0.0rc6",
"source": {
"type": "git",
"url": "https://github.com/phpmetrics/PhpMetrics.git",
- "reference": "4b77140a11452e63c7a9b98e0648320bf6710090"
+ "reference": "6c68b4b4f863d57139cd32eee00c9bf149bf12dd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpmetrics/PhpMetrics/zipball/4b77140a11452e63c7a9b98e0648320bf6710090",
- "reference": "4b77140a11452e63c7a9b98e0648320bf6710090",
+ "url": "https://api.github.com/repos/phpmetrics/PhpMetrics/zipball/6c68b4b4f863d57139cd32eee00c9bf149bf12dd",
+ "reference": "6c68b4b4f863d57139cd32eee00c9bf149bf12dd",
"shasum": ""
},
"require": {
- "ext-dom": "*",
"ext-tokenizer": "*",
- "nikic/php-parser": "^3|^4",
- "php": ">=5.5"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.1"
},
"replace": {
"halleck45/php-metrics": "*",
"halleck45/phpmetrics": "*"
},
"require-dev": {
- "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14",
- "sebastian/comparator": ">=1.2.3",
- "squizlabs/php_codesniffer": "^3.5",
- "symfony/dom-crawler": "^3.0 || ^4.0 || ^5.0"
+ "phake/phake": "^4.4.0",
+ "phpstan/extension-installer": "^1.3",
+ "phpstan/phpstan": "^1.10",
+ "phpstan/phpstan-deprecation-rules": "^1.1",
+ "phpstan/phpstan-phpunit": "^1.3",
+ "phpstan/phpstan-strict-rules": "^1.5",
+ "phpunit/phpunit": "^10.5",
+ "roave/security-advisories": "dev-latest",
+ "sebastian/comparator": ">=5.0.0",
+ "squizlabs/php_codesniffer": "^3.8",
+ "symfony/dom-crawler": "^6.4"
+ },
+ "suggest": {
+ "ext-dom": "To allow XML parsing and report results.",
+ "ext-yaml": "To allow yaml parsing of configuration files."
},
"bin": [
"bin/phpmetrics"
],
"type": "library",
"autoload": {
- "files": [
- "./src/functions.php"
- ],
- "psr-0": {
- "Hal\\": "./src/"
+ "psr-4": {
+ "Hal\\": "src/Hal"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1324,22 +1205,22 @@
],
"support": {
"issues": "https://github.com/PhpMetrics/PhpMetrics/issues",
- "source": "https://github.com/phpmetrics/PhpMetrics/tree/v2.8.2"
+ "source": "https://github.com/phpmetrics/PhpMetrics/tree/v3.0.0rc6"
},
- "time": "2023-03-08T15:03:36+00:00"
+ "time": "2024-02-08T11:24:59+00:00"
},
{
"name": "phpstan/phpdoc-parser",
- "version": "1.24.2",
+ "version": "1.26.0",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "bcad8d995980440892759db0c32acae7c8e79442"
+ "reference": "231e3186624c03d7e7c890ec662b81e6b0405227"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bcad8d995980440892759db0c32acae7c8e79442",
- "reference": "bcad8d995980440892759db0c32acae7c8e79442",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/231e3186624c03d7e7c890ec662b81e6b0405227",
+ "reference": "231e3186624c03d7e7c890ec662b81e6b0405227",
"shasum": ""
},
"require": {
@@ -1371,22 +1252,22 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.2"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/1.26.0"
},
- "time": "2023-09-26T12:28:12+00:00"
+ "time": "2024-02-23T16:05:55+00:00"
},
{
"name": "phpstan/phpstan",
- "version": "1.10.35",
+ "version": "1.10.62",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
- "reference": "e730e5facb75ffe09dfb229795e8c01a459f26c3"
+ "reference": "cd5c8a1660ed3540b211407c77abf4af193a6af9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e730e5facb75ffe09dfb229795e8c01a459f26c3",
- "reference": "e730e5facb75ffe09dfb229795e8c01a459f26c3",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/cd5c8a1660ed3540b211407c77abf4af193a6af9",
+ "reference": "cd5c8a1660ed3540b211407c77abf4af193a6af9",
"shasum": ""
},
"require": {
@@ -1435,39 +1316,39 @@
"type": "tidelift"
}
],
- "time": "2023-09-19T15:27:56+00:00"
+ "time": "2024-03-13T12:27:20+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.29",
+ "version": "11.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76"
+ "reference": "7e35a2cbcabac0e6865fd373742ea432a3c34f92"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76",
- "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e35a2cbcabac0e6865fd373742ea432a3c34f92",
+ "reference": "7e35a2cbcabac0e6865fd373742ea432a3c34f92",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.15",
- "php": ">=7.3",
- "phpunit/php-file-iterator": "^3.0.3",
- "phpunit/php-text-template": "^2.0.2",
- "sebastian/code-unit-reverse-lookup": "^2.0.2",
- "sebastian/complexity": "^2.0",
- "sebastian/environment": "^5.1.2",
- "sebastian/lines-of-code": "^1.0.3",
- "sebastian/version": "^3.0.1",
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.2",
+ "phpunit/php-file-iterator": "^5.0",
+ "phpunit/php-text-template": "^4.0",
+ "sebastian/code-unit-reverse-lookup": "^4.0",
+ "sebastian/complexity": "^4.0",
+ "sebastian/environment": "^7.0",
+ "sebastian/lines-of-code": "^3.0",
+ "sebastian/version": "^5.0",
"theseer/tokenizer": "^1.2.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -1476,7 +1357,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.2-dev"
+ "dev-main": "11.0-dev"
}
},
"autoload": {
@@ -1505,7 +1386,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.3"
},
"funding": [
{
@@ -1513,32 +1394,32 @@
"type": "github"
}
],
- "time": "2023-09-19T04:57:46+00:00"
+ "time": "2024-03-12T15:35:40+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "3.0.6",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+ "reference": "99e95c94ad9500daca992354fa09d7b99abe2210"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
- "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/99e95c94ad9500daca992354fa09d7b99abe2210",
+ "reference": "99e95c94ad9500daca992354fa09d7b99abe2210",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -1565,7 +1446,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
+ "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.0.0"
},
"funding": [
{
@@ -1573,28 +1455,28 @@
"type": "github"
}
],
- "time": "2021-12-02T12:48:52+00:00"
+ "time": "2024-02-02T06:05:04+00:00"
},
{
"name": "phpunit/php-invoker",
- "version": "3.1.1",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ "reference": "5d8d9355a16d8cc5a1305b0a85342cfa420612be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5d8d9355a16d8cc5a1305b0a85342cfa420612be",
+ "reference": "5d8d9355a16d8cc5a1305b0a85342cfa420612be",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
"ext-pcntl": "*",
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-pcntl": "*"
@@ -1602,7 +1484,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.1-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -1628,7 +1510,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ "security": "https://github.com/sebastianbergmann/php-invoker/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.0"
},
"funding": [
{
@@ -1636,32 +1519,32 @@
"type": "github"
}
],
- "time": "2020-09-28T05:58:55+00:00"
+ "time": "2024-02-02T06:05:50+00:00"
},
{
"name": "phpunit/php-text-template",
- "version": "2.0.4",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ "reference": "d38f6cbff1cdb6f40b03c9811421561668cc133e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/d38f6cbff1cdb6f40b03c9811421561668cc133e",
+ "reference": "d38f6cbff1cdb6f40b03c9811421561668cc133e",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -1687,7 +1570,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ "security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.0"
},
"funding": [
{
@@ -1695,32 +1579,32 @@
"type": "github"
}
],
- "time": "2020-10-26T05:33:50+00:00"
+ "time": "2024-02-02T06:06:56+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "5.0.3",
+ "version": "7.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ "reference": "8a59d9e25720482ee7fcdf296595e08795b84dc5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8a59d9e25720482ee7fcdf296595e08795b84dc5",
+ "reference": "8a59d9e25720482ee7fcdf296595e08795b84dc5",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -1746,7 +1630,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+ "security": "https://github.com/sebastianbergmann/php-timer/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.0"
},
"funding": [
{
@@ -1754,24 +1639,23 @@
"type": "github"
}
],
- "time": "2020-10-26T13:16:10+00:00"
+ "time": "2024-02-02T06:08:01+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "9.6.13",
+ "version": "11.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be"
+ "reference": "6af32d7938fc366f86e49a5f5ebb314018d1b1fb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be",
- "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/6af32d7938fc366f86e49a5f5ebb314018d1b1fb",
+ "reference": "6af32d7938fc366f86e49a5f5ebb314018d1b1fb",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.3.1 || ^2",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
@@ -1781,27 +1665,25 @@
"myclabs/deep-copy": "^1.10.1",
"phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2",
- "php": ">=7.3",
- "phpunit/php-code-coverage": "^9.2.28",
- "phpunit/php-file-iterator": "^3.0.5",
- "phpunit/php-invoker": "^3.1.1",
- "phpunit/php-text-template": "^2.0.3",
- "phpunit/php-timer": "^5.0.2",
- "sebastian/cli-parser": "^1.0.1",
- "sebastian/code-unit": "^1.0.6",
- "sebastian/comparator": "^4.0.8",
- "sebastian/diff": "^4.0.3",
- "sebastian/environment": "^5.1.3",
- "sebastian/exporter": "^4.0.5",
- "sebastian/global-state": "^5.0.1",
- "sebastian/object-enumerator": "^4.0.3",
- "sebastian/resource-operations": "^3.0.3",
- "sebastian/type": "^3.2",
- "sebastian/version": "^3.0.2"
+ "php": ">=8.2",
+ "phpunit/php-code-coverage": "^11.0",
+ "phpunit/php-file-iterator": "^5.0",
+ "phpunit/php-invoker": "^5.0",
+ "phpunit/php-text-template": "^4.0",
+ "phpunit/php-timer": "^7.0",
+ "sebastian/cli-parser": "^3.0",
+ "sebastian/code-unit": "^3.0",
+ "sebastian/comparator": "^6.0",
+ "sebastian/diff": "^6.0",
+ "sebastian/environment": "^7.0",
+ "sebastian/exporter": "^6.0",
+ "sebastian/global-state": "^7.0",
+ "sebastian/object-enumerator": "^6.0",
+ "sebastian/type": "^5.0",
+ "sebastian/version": "^5.0"
},
"suggest": {
- "ext-soap": "To be able to generate mocks based on WSDL files",
- "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
+ "ext-soap": "To be able to generate mocks based on WSDL files"
},
"bin": [
"phpunit"
@@ -1809,7 +1691,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.6-dev"
+ "dev-main": "11.0-dev"
}
},
"autoload": {
@@ -1841,7 +1723,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/11.0.6"
},
"funding": [
{
@@ -1857,7 +1739,7 @@
"type": "tidelift"
}
],
- "time": "2023-09-19T05:39:22+00:00"
+ "time": "2024-03-12T15:40:01+00:00"
},
{
"name": "psr/container",
@@ -2014,21 +1896,21 @@
},
{
"name": "rector/rector",
- "version": "0.18.4",
+ "version": "1.0.3",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
- "reference": "d99a91176b7eb7f2b6d509a6486b3661c6dfd370"
+ "reference": "c59507a9090b465d65e1aceed91e5b81986e375b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/rectorphp/rector/zipball/d99a91176b7eb7f2b6d509a6486b3661c6dfd370",
- "reference": "d99a91176b7eb7f2b6d509a6486b3661c6dfd370",
+ "url": "https://api.github.com/repos/rectorphp/rector/zipball/c59507a9090b465d65e1aceed91e5b81986e375b",
+ "reference": "c59507a9090b465d65e1aceed91e5b81986e375b",
"shasum": ""
},
"require": {
"php": "^7.2|^8.0",
- "phpstan/phpstan": "^1.10.31"
+ "phpstan/phpstan": "^1.10.57"
},
"conflict": {
"rector/rector-doctrine": "*",
@@ -2058,7 +1940,7 @@
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
- "source": "https://github.com/rectorphp/rector/tree/0.18.4"
+ "source": "https://github.com/rectorphp/rector/tree/1.0.3"
},
"funding": [
{
@@ -2066,7 +1948,7 @@
"type": "github"
}
],
- "time": "2023-09-25T17:07:54+00:00"
+ "time": "2024-03-14T15:04:18+00:00"
},
{
"name": "sabre/event",
@@ -2136,28 +2018,28 @@
},
{
"name": "sebastian/cli-parser",
- "version": "1.0.1",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ "reference": "00a74d5568694711f0222e54fb281e1d15fdf04a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/00a74d5568694711f0222e54fb281e1d15fdf04a",
+ "reference": "00a74d5568694711f0222e54fb281e1d15fdf04a",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -2180,7 +2062,8 @@
"homepage": "https://github.com/sebastianbergmann/cli-parser",
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+ "security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.1"
},
"funding": [
{
@@ -2188,32 +2071,32 @@
"type": "github"
}
],
- "time": "2020-09-28T06:08:49+00:00"
+ "time": "2024-03-02T07:26:58+00:00"
},
{
"name": "sebastian/code-unit",
- "version": "1.0.8",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ "reference": "6634549cb8d702282a04a774e36a7477d2bd9015"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/6634549cb8d702282a04a774e36a7477d2bd9015",
+ "reference": "6634549cb8d702282a04a774e36a7477d2bd9015",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -2236,7 +2119,8 @@
"homepage": "https://github.com/sebastianbergmann/code-unit",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit/issues",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+ "security": "https://github.com/sebastianbergmann/code-unit/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.0"
},
"funding": [
{
@@ -2244,32 +2128,32 @@
"type": "github"
}
],
- "time": "2020-10-26T13:08:54+00:00"
+ "time": "2024-02-02T05:50:41+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
- "version": "2.0.3",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ "reference": "df80c875d3e459b45c6039e4d9b71d4fbccae25d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/df80c875d3e459b45c6039e4d9b71d4fbccae25d",
+ "reference": "df80c875d3e459b45c6039e4d9b71d4fbccae25d",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -2291,7 +2175,8 @@
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
+ "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.0"
},
"funding": [
{
@@ -2299,34 +2184,36 @@
"type": "github"
}
],
- "time": "2020-09-28T05:30:19+00:00"
+ "time": "2024-02-02T05:52:17+00:00"
},
{
"name": "sebastian/comparator",
- "version": "4.0.8",
+ "version": "6.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
+ "reference": "bd0f2fa5b9257c69903537b266ccb80fcf940db8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
- "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/bd0f2fa5b9257c69903537b266ccb80fcf940db8",
+ "reference": "bd0f2fa5b9257c69903537b266ccb80fcf940db8",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/diff": "^4.0",
- "sebastian/exporter": "^4.0"
+ "ext-dom": "*",
+ "ext-mbstring": "*",
+ "php": ">=8.2",
+ "sebastian/diff": "^6.0",
+ "sebastian/exporter": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -2365,7 +2252,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
+ "security": "https://github.com/sebastianbergmann/comparator/security/policy",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/6.0.0"
},
"funding": [
{
@@ -2373,33 +2261,33 @@
"type": "github"
}
],
- "time": "2022-09-14T12:41:17+00:00"
+ "time": "2024-02-02T05:53:45+00:00"
},
{
"name": "sebastian/complexity",
- "version": "2.0.2",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
+ "reference": "88a434ad86150e11a606ac4866b09130712671f0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/88a434ad86150e11a606ac4866b09130712671f0",
+ "reference": "88a434ad86150e11a606ac4866b09130712671f0",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.7",
- "php": ">=7.3"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -2422,7 +2310,8 @@
"homepage": "https://github.com/sebastianbergmann/complexity",
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
- "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
+ "security": "https://github.com/sebastianbergmann/complexity/security/policy",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.0"
},
"funding": [
{
@@ -2430,33 +2319,33 @@
"type": "github"
}
],
- "time": "2020-10-26T15:52:27+00:00"
+ "time": "2024-02-02T05:55:19+00:00"
},
{
"name": "sebastian/diff",
- "version": "4.0.5",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
+ "reference": "ab83243ecc233de5655b76f577711de9f842e712"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
- "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ab83243ecc233de5655b76f577711de9f842e712",
+ "reference": "ab83243ecc233de5655b76f577711de9f842e712",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3",
+ "phpunit/phpunit": "^11.0",
"symfony/process": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -2488,7 +2377,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5"
+ "security": "https://github.com/sebastianbergmann/diff/security/policy",
+ "source": "https://github.com/sebastianbergmann/diff/tree/6.0.1"
},
"funding": [
{
@@ -2496,27 +2386,27 @@
"type": "github"
}
],
- "time": "2023-05-07T05:35:17+00:00"
+ "time": "2024-03-02T07:30:33+00:00"
},
{
"name": "sebastian/environment",
- "version": "5.1.5",
+ "version": "7.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
+ "reference": "100d8b855d7180f79f9a9a5c483f2d960581c3ea"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
- "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/100d8b855d7180f79f9a9a5c483f2d960581c3ea",
+ "reference": "100d8b855d7180f79f9a9a5c483f2d960581c3ea",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-posix": "*"
@@ -2524,7 +2414,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.1-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -2543,7 +2433,7 @@
}
],
"description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
+ "homepage": "https://github.com/sebastianbergmann/environment",
"keywords": [
"Xdebug",
"environment",
@@ -2551,7 +2441,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
+ "security": "https://github.com/sebastianbergmann/environment/security/policy",
+ "source": "https://github.com/sebastianbergmann/environment/tree/7.0.0"
},
"funding": [
{
@@ -2559,34 +2450,34 @@
"type": "github"
}
],
- "time": "2023-02-03T06:03:51+00:00"
+ "time": "2024-02-02T05:57:54+00:00"
},
{
"name": "sebastian/exporter",
- "version": "4.0.5",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
+ "reference": "f291e5a317c321c0381fa9ecc796fa2d21b186da"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
- "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/f291e5a317c321c0381fa9ecc796fa2d21b186da",
+ "reference": "f291e5a317c321c0381fa9ecc796fa2d21b186da",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/recursion-context": "^4.0"
+ "ext-mbstring": "*",
+ "php": ">=8.2",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -2628,7 +2519,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5"
+ "security": "https://github.com/sebastianbergmann/exporter/security/policy",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/6.0.1"
},
"funding": [
{
@@ -2636,38 +2528,35 @@
"type": "github"
}
],
- "time": "2022-09-14T06:03:37+00:00"
+ "time": "2024-03-02T07:28:20+00:00"
},
{
"name": "sebastian/global-state",
- "version": "5.0.6",
+ "version": "7.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "bde739e7565280bda77be70044ac1047bc007e34"
+ "reference": "c3a307e832f2e69c7ef869e31fc644fde0e7cb3e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34",
- "reference": "bde739e7565280bda77be70044ac1047bc007e34",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c3a307e832f2e69c7ef869e31fc644fde0e7cb3e",
+ "reference": "c3a307e832f2e69c7ef869e31fc644fde0e7cb3e",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
"ext-dom": "*",
- "phpunit/phpunit": "^9.3"
- },
- "suggest": {
- "ext-uopz": "*"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -2686,13 +2575,14 @@
}
],
"description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
+ "homepage": "https://www.github.com/sebastianbergmann/global-state",
"keywords": [
"global state"
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6"
+ "security": "https://github.com/sebastianbergmann/global-state/security/policy",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.1"
},
"funding": [
{
@@ -2700,33 +2590,33 @@
"type": "github"
}
],
- "time": "2023-08-02T09:26:13+00:00"
+ "time": "2024-03-02T07:32:10+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "1.0.3",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ "reference": "376c5b3f6b43c78fdc049740bca76a7c846706c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/376c5b3f6b43c78fdc049740bca76a7c846706c0",
+ "reference": "376c5b3f6b43c78fdc049740bca76a7c846706c0",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.6",
- "php": ">=7.3"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -2749,7 +2639,8 @@
"homepage": "https://github.com/sebastianbergmann/lines-of-code",
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
+ "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.0"
},
"funding": [
{
@@ -2757,34 +2648,34 @@
"type": "github"
}
],
- "time": "2020-11-28T06:42:11+00:00"
+ "time": "2024-02-02T06:00:36+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "4.0.4",
+ "version": "6.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ "reference": "f75f6c460da0bbd9668f43a3dde0ec0ba7faa678"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f75f6c460da0bbd9668f43a3dde0ec0ba7faa678",
+ "reference": "f75f6c460da0bbd9668f43a3dde0ec0ba7faa678",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -2806,7 +2697,8 @@
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
+ "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.0"
},
"funding": [
{
@@ -2814,32 +2706,32 @@
"type": "github"
}
],
- "time": "2020-10-26T13:12:34+00:00"
+ "time": "2024-02-02T06:01:29+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "2.0.4",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ "reference": "bb2a6255d30853425fd38f032eb64ced9f7f132d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/bb2a6255d30853425fd38f032eb64ced9f7f132d",
+ "reference": "bb2a6255d30853425fd38f032eb64ced9f7f132d",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -2861,7 +2753,8 @@
"homepage": "https://github.com/sebastianbergmann/object-reflector/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
+ "security": "https://github.com/sebastianbergmann/object-reflector/security/policy",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.0"
},
"funding": [
{
@@ -2869,32 +2762,32 @@
"type": "github"
}
],
- "time": "2020-10-26T13:14:26+00:00"
+ "time": "2024-02-02T06:02:18+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "4.0.5",
+ "version": "6.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
+ "reference": "b75224967b5a466925c6d54e68edd0edf8dd4ed4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
- "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b75224967b5a466925c6d54e68edd0edf8dd4ed4",
+ "reference": "b75224967b5a466925c6d54e68edd0edf8dd4ed4",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -2924,7 +2817,8 @@
"homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
+ "security": "https://github.com/sebastianbergmann/recursion-context/security/policy",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.0"
},
"funding": [
{
@@ -2932,87 +2826,32 @@
"type": "github"
}
],
- "time": "2023-02-03T06:07:39+00:00"
- },
- {
- "name": "sebastian/resource-operations",
- "version": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides a list of PHP built-in functions that operate on resources",
- "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "support": {
- "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
- "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-09-28T06:45:17+00:00"
+ "time": "2024-02-02T06:08:48+00:00"
},
{
"name": "sebastian/type",
- "version": "3.2.1",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
+ "reference": "b8502785eb3523ca0dd4afe9ca62235590020f3f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
- "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8502785eb3523ca0dd4afe9ca62235590020f3f",
+ "reference": "b8502785eb3523ca0dd4afe9ca62235590020f3f",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.5"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.2-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -3035,7 +2874,8 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
+ "security": "https://github.com/sebastianbergmann/type/security/policy",
+ "source": "https://github.com/sebastianbergmann/type/tree/5.0.0"
},
"funding": [
{
@@ -3043,29 +2883,29 @@
"type": "github"
}
],
- "time": "2023-02-03T06:13:03+00:00"
+ "time": "2024-02-02T06:09:34+00:00"
},
{
"name": "sebastian/version",
- "version": "3.0.2",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c6c1022351a901512170118436c764e473f6de8c"
+ "reference": "13999475d2cb1ab33cb73403ba356a814fdbb001"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
- "reference": "c6c1022351a901512170118436c764e473f6de8c",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/13999475d2cb1ab33cb73403ba356a814fdbb001",
+ "reference": "13999475d2cb1ab33cb73403ba356a814fdbb001",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -3088,7 +2928,8 @@
"homepage": "https://github.com/sebastianbergmann/version",
"support": {
"issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
+ "security": "https://github.com/sebastianbergmann/version/security/policy",
+ "source": "https://github.com/sebastianbergmann/version/tree/5.0.0"
},
"funding": [
{
@@ -3096,20 +2937,20 @@
"type": "github"
}
],
- "time": "2020-09-28T06:39:44+00:00"
+ "time": "2024-02-02T06:10:47+00:00"
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.7.2",
+ "version": "3.9.0",
"source": {
"type": "git",
- "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
- "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879"
+ "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
+ "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879",
- "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/d63cee4890a8afaf86a22e51ad4d97c91dd4579b",
+ "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b",
"shasum": ""
},
"require": {
@@ -3119,11 +2960,11 @@
"php": ">=5.4.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4"
},
"bin": [
- "bin/phpcs",
- "bin/phpcbf"
+ "bin/phpcbf",
+ "bin/phpcs"
],
"type": "library",
"extra": {
@@ -3138,53 +2979,76 @@
"authors": [
{
"name": "Greg Sherwood",
- "role": "lead"
+ "role": "Former lead"
+ },
+ {
+ "name": "Juliette Reinders Folmer",
+ "role": "Current lead"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors"
}
],
"description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
- "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
"keywords": [
"phpcs",
"standards",
"static analysis"
],
"support": {
- "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
- "source": "https://github.com/squizlabs/PHP_CodeSniffer",
- "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
+ "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues",
+ "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy",
+ "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
+ "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki"
},
- "time": "2023-02-22T23:07:41+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/PHPCSStandards",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/jrfnl",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/php_codesniffer",
+ "type": "open_collective"
+ }
+ ],
+ "time": "2024-02-16T15:06:51+00:00"
},
{
"name": "symfony/config",
- "version": "v6.3.2",
+ "version": "v7.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "b47ca238b03e7b0d7880ffd1cf06e8d637ca1467"
+ "reference": "44deeba7233f08f383185ffa37dace3b3bc87364"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/b47ca238b03e7b0d7880ffd1cf06e8d637ca1467",
- "reference": "b47ca238b03e7b0d7880ffd1cf06e8d637ca1467",
+ "url": "https://api.github.com/repos/symfony/config/zipball/44deeba7233f08f383185ffa37dace3b3bc87364",
+ "reference": "44deeba7233f08f383185ffa37dace3b3bc87364",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/filesystem": "^5.4|^6.0",
+ "symfony/filesystem": "^6.4|^7.0",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
- "symfony/finder": "<5.4",
+ "symfony/finder": "<6.4",
"symfony/service-contracts": "<2.5"
},
"require-dev": {
- "symfony/event-dispatcher": "^5.4|^6.0",
- "symfony/finder": "^5.4|^6.0",
- "symfony/messenger": "^5.4|^6.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/yaml": "^5.4|^6.0"
+ "symfony/yaml": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -3212,7 +3076,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v6.3.2"
+ "source": "https://github.com/symfony/config/tree/v7.0.4"
},
"funding": [
{
@@ -3228,47 +3092,50 @@
"type": "tidelift"
}
],
- "time": "2023-07-19T20:22:16+00:00"
+ "time": "2024-02-26T07:52:39+00:00"
},
{
"name": "symfony/console",
- "version": "v6.3.4",
+ "version": "v7.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6"
+ "reference": "6b099f3306f7c9c2d2786ed736d0026b2903205f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/eca495f2ee845130855ddf1cf18460c38966c8b6",
- "reference": "eca495f2ee845130855ddf1cf18460c38966c8b6",
+ "url": "https://api.github.com/repos/symfony/console/zipball/6b099f3306f7c9c2d2786ed736d0026b2903205f",
+ "reference": "6b099f3306f7c9c2d2786ed736d0026b2903205f",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
+ "php": ">=8.2",
"symfony/polyfill-mbstring": "~1.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/string": "^5.4|^6.0"
+ "symfony/string": "^6.4|^7.0"
},
"conflict": {
- "symfony/dependency-injection": "<5.4",
- "symfony/dotenv": "<5.4",
- "symfony/event-dispatcher": "<5.4",
- "symfony/lock": "<5.4",
- "symfony/process": "<5.4"
+ "symfony/dependency-injection": "<6.4",
+ "symfony/dotenv": "<6.4",
+ "symfony/event-dispatcher": "<6.4",
+ "symfony/lock": "<6.4",
+ "symfony/process": "<6.4"
},
"provide": {
"psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0",
- "symfony/dependency-injection": "^5.4|^6.0",
- "symfony/event-dispatcher": "^5.4|^6.0",
- "symfony/lock": "^5.4|^6.0",
- "symfony/process": "^5.4|^6.0",
- "symfony/var-dumper": "^5.4|^6.0"
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/lock": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0",
+ "symfony/stopwatch": "^6.4|^7.0",
+ "symfony/var-dumper": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -3302,7 +3169,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v6.3.4"
+ "source": "https://github.com/symfony/console/tree/v7.0.4"
},
"funding": [
{
@@ -3318,44 +3185,43 @@
"type": "tidelift"
}
],
- "time": "2023-08-16T10:10:12+00:00"
+ "time": "2024-02-22T20:27:20+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v6.3.4",
+ "version": "v7.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "68a5a9570806a087982f383f6109c5e925892a49"
+ "reference": "47f37af245df8457ea63409fc242b3cc825ce5eb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/68a5a9570806a087982f383f6109c5e925892a49",
- "reference": "68a5a9570806a087982f383f6109c5e925892a49",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/47f37af245df8457ea63409fc242b3cc825ce5eb",
+ "reference": "47f37af245df8457ea63409fc242b3cc825ce5eb",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"psr/container": "^1.1|^2.0",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/service-contracts": "^2.5|^3.0",
- "symfony/var-exporter": "^6.2.10"
+ "symfony/service-contracts": "^3.3",
+ "symfony/var-exporter": "^6.4|^7.0"
},
"conflict": {
"ext-psr": "<1.1|>=2",
- "symfony/config": "<6.1",
- "symfony/finder": "<5.4",
- "symfony/proxy-manager-bridge": "<6.3",
- "symfony/yaml": "<5.4"
+ "symfony/config": "<6.4",
+ "symfony/finder": "<6.4",
+ "symfony/yaml": "<6.4"
},
"provide": {
"psr/container-implementation": "1.1|2.0",
"symfony/service-implementation": "1.1|2.0|3.0"
},
"require-dev": {
- "symfony/config": "^6.1",
- "symfony/expression-language": "^5.4|^6.0",
- "symfony/yaml": "^5.4|^6.0"
+ "symfony/config": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/yaml": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -3383,7 +3249,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v6.3.4"
+ "source": "https://github.com/symfony/dependency-injection/tree/v7.0.4"
},
"funding": [
{
@@ -3399,11 +3265,11 @@
"type": "tidelift"
}
],
- "time": "2023-08-16T17:55:17+00:00"
+ "time": "2024-02-22T20:27:20+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v3.3.0",
+ "version": "v3.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
@@ -3450,7 +3316,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0"
},
"funding": [
{
@@ -3470,24 +3336,24 @@
},
{
"name": "symfony/event-dispatcher",
- "version": "v6.3.2",
+ "version": "v7.0.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e"
+ "reference": "834c28d533dd0636f910909d01b9ff45cc094b5e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/adb01fe097a4ee930db9258a3cc906b5beb5cf2e",
- "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/834c28d533dd0636f910909d01b9ff45cc094b5e",
+ "reference": "834c28d533dd0636f910909d01b9ff45cc094b5e",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/event-dispatcher-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/dependency-injection": "<5.4",
+ "symfony/dependency-injection": "<6.4",
"symfony/service-contracts": "<2.5"
},
"provide": {
@@ -3496,13 +3362,13 @@
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0",
- "symfony/dependency-injection": "^5.4|^6.0",
- "symfony/error-handler": "^5.4|^6.0",
- "symfony/expression-language": "^5.4|^6.0",
- "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/stopwatch": "^5.4|^6.0"
+ "symfony/stopwatch": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -3530,7 +3396,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.2"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.3"
},
"funding": [
{
@@ -3546,11 +3412,11 @@
"type": "tidelift"
}
],
- "time": "2023-07-06T06:56:43+00:00"
+ "time": "2024-01-23T15:02:46+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v3.3.0",
+ "version": "v3.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
@@ -3606,7 +3472,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.3.0"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0"
},
"funding": [
{
@@ -3626,20 +3492,20 @@
},
{
"name": "symfony/filesystem",
- "version": "v6.3.1",
+ "version": "v7.0.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae"
+ "reference": "2890e3a825bc0c0558526c04499c13f83e1b6b12"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/edd36776956f2a6fcf577edb5b05eb0e3bdc52ae",
- "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/2890e3a825bc0c0558526c04499c13f83e1b6b12",
+ "reference": "2890e3a825bc0c0558526c04499c13f83e1b6b12",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.8"
},
@@ -3669,7 +3535,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v6.3.1"
+ "source": "https://github.com/symfony/filesystem/tree/v7.0.3"
},
"funding": [
{
@@ -3685,27 +3551,27 @@
"type": "tidelift"
}
],
- "time": "2023-06-01T08:30:39+00:00"
+ "time": "2024-01-23T15:02:46+00:00"
},
{
"name": "symfony/finder",
- "version": "v6.3.3",
+ "version": "v7.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e"
+ "reference": "6e5688d69f7cfc4ed4a511e96007e06c2d34ce56"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/9915db259f67d21eefee768c1abcf1cc61b1fc9e",
- "reference": "9915db259f67d21eefee768c1abcf1cc61b1fc9e",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/6e5688d69f7cfc4ed4a511e96007e06c2d34ce56",
+ "reference": "6e5688d69f7cfc4ed4a511e96007e06c2d34ce56",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "symfony/filesystem": "^6.0"
+ "symfony/filesystem": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -3733,7 +3599,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v6.3.3"
+ "source": "https://github.com/symfony/finder/tree/v7.0.0"
},
"funding": [
{
@@ -3749,24 +3615,24 @@
"type": "tidelift"
}
],
- "time": "2023-07-31T08:31:44+00:00"
+ "time": "2023-10-31T17:59:56+00:00"
},
{
"name": "symfony/options-resolver",
- "version": "v6.3.0",
+ "version": "v7.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd"
+ "reference": "700ff4096e346f54cb628ea650767c8130f1001f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/a10f19f5198d589d5c33333cffe98dc9820332dd",
- "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/700ff4096e346f54cb628ea650767c8130f1001f",
+ "reference": "700ff4096e346f54cb628ea650767c8130f1001f",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3"
},
"type": "library",
@@ -3800,7 +3666,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v6.3.0"
+ "source": "https://github.com/symfony/options-resolver/tree/v7.0.0"
},
"funding": [
{
@@ -3816,20 +3682,20 @@
"type": "tidelift"
}
],
- "time": "2023-05-12T14:21:09+00:00"
+ "time": "2023-08-08T10:20:21+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.28.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
+ "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
- "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
+ "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
"shasum": ""
},
"require": {
@@ -3843,9 +3709,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -3882,7 +3745,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
},
"funding": [
{
@@ -3898,20 +3761,20 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.28.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "875e90aeea2777b6f135677f618529449334a612"
+ "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
- "reference": "875e90aeea2777b6f135677f618529449334a612",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f",
+ "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f",
"shasum": ""
},
"require": {
@@ -3922,9 +3785,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -3963,7 +3823,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0"
},
"funding": [
{
@@ -3979,20 +3839,20 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.28.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
+ "reference": "bc45c394692b948b4d383a08d7753968bed9a83d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
- "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d",
+ "reference": "bc45c394692b948b4d383a08d7753968bed9a83d",
"shasum": ""
},
"require": {
@@ -4003,9 +3863,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -4047,7 +3904,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0"
},
"funding": [
{
@@ -4063,20 +3920,20 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.28.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "42292d99c55abe617799667f454222c54c60e229"
+ "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
- "reference": "42292d99c55abe617799667f454222c54c60e229",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
+ "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
"shasum": ""
},
"require": {
@@ -4090,9 +3947,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -4130,7 +3984,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0"
},
"funding": [
{
@@ -4146,20 +4000,20 @@
"type": "tidelift"
}
],
- "time": "2023-07-28T09:04:16+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.28.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
+ "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
- "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
+ "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
"shasum": ""
},
"require": {
@@ -4167,9 +4021,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -4213,7 +4064,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0"
},
"funding": [
{
@@ -4229,20 +4080,20 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "symfony/polyfill-php81",
- "version": "v1.28.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
- "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b"
+ "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b",
- "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/c565ad1e63f30e7477fc40738343c62b40bc672d",
+ "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d",
"shasum": ""
},
"require": {
@@ -4250,9 +4101,6 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.28-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
@@ -4292,7 +4140,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0"
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.29.0"
},
"funding": [
{
@@ -4308,24 +4156,24 @@
"type": "tidelift"
}
],
- "time": "2023-01-26T09:26:14+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "symfony/process",
- "version": "v6.3.4",
+ "version": "v7.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54"
+ "reference": "0e7727191c3b71ebec6d529fa0e50a01ca5679e9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/0b5c29118f2e980d455d2e34a5659f4579847c54",
- "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54",
+ "url": "https://api.github.com/repos/symfony/process/zipball/0e7727191c3b71ebec6d529fa0e50a01ca5679e9",
+ "reference": "0e7727191c3b71ebec6d529fa0e50a01ca5679e9",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"type": "library",
"autoload": {
@@ -4353,7 +4201,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v6.3.4"
+ "source": "https://github.com/symfony/process/tree/v7.0.4"
},
"funding": [
{
@@ -4369,25 +4217,25 @@
"type": "tidelift"
}
],
- "time": "2023-08-07T10:39:22+00:00"
+ "time": "2024-02-22T20:27:20+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v3.3.0",
+ "version": "v3.4.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4"
+ "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/40da9cc13ec349d9e4966ce18b5fbcd724ab10a4",
- "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0",
+ "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0",
"shasum": ""
},
"require": {
"php": ">=8.1",
- "psr/container": "^2.0"
+ "psr/container": "^1.1|^2.0"
},
"conflict": {
"ext-psr": "<1.1|>=2"
@@ -4435,7 +4283,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.3.0"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.4.1"
},
"funding": [
{
@@ -4451,24 +4299,24 @@
"type": "tidelift"
}
],
- "time": "2023-05-23T14:45:45+00:00"
+ "time": "2023-12-26T14:02:43+00:00"
},
{
"name": "symfony/stopwatch",
- "version": "v6.3.0",
+ "version": "v7.0.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2"
+ "reference": "983900d6fddf2b0cbaacacbbad07610854bd8112"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2",
- "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/983900d6fddf2b0cbaacacbbad07610854bd8112",
+ "reference": "983900d6fddf2b0cbaacacbbad07610854bd8112",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/service-contracts": "^2.5|^3"
},
"type": "library",
@@ -4497,7 +4345,7 @@
"description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/stopwatch/tree/v6.3.0"
+ "source": "https://github.com/symfony/stopwatch/tree/v7.0.3"
},
"funding": [
{
@@ -4513,24 +4361,24 @@
"type": "tidelift"
}
],
- "time": "2023-02-16T10:14:28+00:00"
+ "time": "2024-01-23T15:02:46+00:00"
},
{
"name": "symfony/string",
- "version": "v6.3.2",
+ "version": "v7.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "53d1a83225002635bca3482fcbf963001313fb68"
+ "reference": "f5832521b998b0bec40bee688ad5de98d4cf111b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/53d1a83225002635bca3482fcbf963001313fb68",
- "reference": "53d1a83225002635bca3482fcbf963001313fb68",
+ "url": "https://api.github.com/repos/symfony/string/zipball/f5832521b998b0bec40bee688ad5de98d4cf111b",
+ "reference": "f5832521b998b0bec40bee688ad5de98d4cf111b",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0",
@@ -4540,11 +4388,11 @@
"symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "symfony/error-handler": "^5.4|^6.0",
- "symfony/http-client": "^5.4|^6.0",
- "symfony/intl": "^6.2",
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/intl": "^6.4|^7.0",
"symfony/translation-contracts": "^2.5|^3.0",
- "symfony/var-exporter": "^5.4|^6.0"
+ "symfony/var-exporter": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -4583,7 +4431,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v6.3.2"
+ "source": "https://github.com/symfony/string/tree/v7.0.4"
},
"funding": [
{
@@ -4599,27 +4447,27 @@
"type": "tidelift"
}
],
- "time": "2023-07-05T08:41:27+00:00"
+ "time": "2024-02-01T13:17:36+00:00"
},
{
"name": "symfony/var-exporter",
- "version": "v6.3.4",
+ "version": "v7.0.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "df1f8aac5751871b83d30bf3e2c355770f8f0691"
+ "reference": "dfb0acb6803eb714f05d97dd4c5abe6d5fa9fe41"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/df1f8aac5751871b83d30bf3e2c355770f8f0691",
- "reference": "df1f8aac5751871b83d30bf3e2c355770f8f0691",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/dfb0acb6803eb714f05d97dd4c5abe6d5fa9fe41",
+ "reference": "dfb0acb6803eb714f05d97dd4c5abe6d5fa9fe41",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "symfony/var-dumper": "^5.4|^6.0"
+ "symfony/var-dumper": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -4657,7 +4505,7 @@
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v6.3.4"
+ "source": "https://github.com/symfony/var-exporter/tree/v7.0.4"
},
"funding": [
{
@@ -4673,20 +4521,20 @@
"type": "tidelift"
}
],
- "time": "2023-08-16T18:14:47+00:00"
+ "time": "2024-02-26T10:35:24+00:00"
},
{
"name": "theseer/tokenizer",
- "version": "1.2.1",
+ "version": "1.2.3",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
+ "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
- "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
+ "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
"shasum": ""
},
"require": {
@@ -4715,7 +4563,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.3"
},
"funding": [
{
@@ -4723,7 +4571,7 @@
"type": "github"
}
],
- "time": "2021-07-28T10:34:58+00:00"
+ "time": "2024-03-03T12:36:25+00:00"
},
{
"name": "tysonandre/var_representation_polyfill",
diff --git a/jsOMS b/jsOMS
index ffd34641..14a92c0f 160000
--- a/jsOMS
+++ b/jsOMS
@@ -1 +1 @@
-Subproject commit ffd346417eaf24ced04cb3e842ce7a49936826e6
+Subproject commit 14a92c0f15da787da10f8153f77c86c2c0a94381
diff --git a/phpOMS b/phpOMS
index 8c2ea754..a1b591d1 160000
--- a/phpOMS
+++ b/phpOMS
@@ -1 +1 @@
-Subproject commit 8c2ea75430a32d8465ac2e8bafa9ca58ef55fa38
+Subproject commit a1b591d1416efd67974e544b0e85da2e91109af8
diff --git a/tests/Exception/DatabaseExceptionTest.php b/tests/Exception/DatabaseExceptionTest.php
index 33122487..ca105bb0 100755
--- a/tests/Exception/DatabaseExceptionTest.php
+++ b/tests/Exception/DatabaseExceptionTest.php
@@ -24,7 +24,7 @@
class DatabaseExceptionTest extends \PHPUnit\Framework\TestCase
{
/**
- * @covers Web\Exception\DatabaseException
+ * @covers \Web\Exception\DatabaseException
* @group framework
*/
public function testException() : void
diff --git a/tests/Exception/UnexpectedApplicationExceptionTest.php b/tests/Exception/UnexpectedApplicationExceptionTest.php
index 855d6b62..c1ea5650 100755
--- a/tests/Exception/UnexpectedApplicationExceptionTest.php
+++ b/tests/Exception/UnexpectedApplicationExceptionTest.php
@@ -24,7 +24,7 @@
class UnexpectedApplicationExceptionTest extends \PHPUnit\Framework\TestCase
{
/**
- * @covers Web\Exception\UnexpectedApplicationException
+ * @covers \Web\Exception\UnexpectedApplicationException
* @group framework
*/
public function testException() : void
diff --git a/tests/Model/CoreSettingsTest.php b/tests/Model/CoreSettingsTest.php
index a5bc1c1f..29406d75 100755
--- a/tests/Model/CoreSettingsTest.php
+++ b/tests/Model/CoreSettingsTest.php
@@ -32,9 +32,9 @@ protected function setUp() : void
}
/**
- * @covers Model\CoreSettings
- * @covers Model\Setting
- * @covers Model\SettingMapper
+ * @covers \Model\CoreSettings
+ * @covers \Model\Setting
+ * @covers \Model\SettingMapper
* @group framework
*/
public function testSettingsGet() : void
@@ -62,9 +62,9 @@ public function testSettingsGet() : void
}
/**
- * @covers Model\CoreSettings
- * @covers Model\Setting
- * @covers Model\SettingMapper
+ * @covers \Model\CoreSettings
+ * @covers \Model\Setting
+ * @covers \Model\SettingMapper
* @group framework
*/
public function testSettingsSet() : void
@@ -99,9 +99,9 @@ public function testSettingsSet() : void
}
/**
- * @covers Model\CoreSettings
- * @covers Model\Setting
- * @covers Model\SettingMapper
+ * @covers \Model\CoreSettings
+ * @covers \Model\Setting
+ * @covers \Model\SettingMapper
* @group framework
*/
public function testSettingsCreate() : void
@@ -121,9 +121,9 @@ public function testSettingsCreate() : void
}
/**
- * @covers Model\CoreSettings
- * @covers Model\Setting
- * @covers Model\SettingMapper
+ * @covers \Model\CoreSettings
+ * @covers \Model\Setting
+ * @covers \Model\SettingMapper
* @group framework
*/
public function testSettingsSetWithoutStore() : void
@@ -152,9 +152,9 @@ public function testSettingsSetWithoutStore() : void
}
/**
- * @covers Model\CoreSettings
- * @covers Model\Setting
- * @covers Model\SettingMapper
+ * @covers \Model\CoreSettings
+ * @covers \Model\Setting
+ * @covers \Model\SettingMapper
* @group framework
*/
public function testSettingsSave() : void
@@ -186,9 +186,9 @@ public function testSettingsSave() : void
}
/**
- * @covers Model\CoreSettings
- * @covers Model\Setting
- * @covers Model\SettingMapper
+ * @covers \Model\CoreSettings
+ * @covers \Model\Setting
+ * @covers \Model\SettingMapper
* @group framework
*/
public function testSetWithSave() : void
diff --git a/tests/Model/NullSettingTest.php b/tests/Model/NullSettingTest.php
index 7f0a4eee..93c79b47 100755
--- a/tests/Model/NullSettingTest.php
+++ b/tests/Model/NullSettingTest.php
@@ -22,7 +22,7 @@
class NullSettingTest extends \PHPUnit\Framework\TestCase
{
/**
- * @covers Model\NullSetting
+ * @covers \Model\NullSetting
* @group framework
*/
public function testDefault() : void
diff --git a/tests/Model/SettingMapperTest.php b/tests/Model/SettingMapperTest.php
index 1c721414..743974d1 100755
--- a/tests/Model/SettingMapperTest.php
+++ b/tests/Model/SettingMapperTest.php
@@ -23,7 +23,7 @@
class SettingMapperTest extends \PHPUnit\Framework\TestCase
{
/**
- * @covers Model\SettingMapper
+ * @covers \Model\SettingMapper
* @group framework
*/
public function testCR() : void
diff --git a/tests/Model/SettingTest.php b/tests/Model/SettingTest.php
index abdb56e6..ff489e70 100755
--- a/tests/Model/SettingTest.php
+++ b/tests/Model/SettingTest.php
@@ -29,7 +29,7 @@ protected function setUp() : void
}
/**
- * @covers Model\Setting
+ * @covers \Model\Setting
* @group framework
*/
public function testDefault() : void
@@ -38,7 +38,7 @@ public function testDefault() : void
}
/**
- * @covers Model\Setting
+ * @covers \Model\Setting
* @group framework
*/
public function testWithInitailization() : void
diff --git a/tests/Web/Backend/BackendViewTest.php b/tests/Web/Backend/BackendViewTest.php
index 5905c8cd..de9f2648 100755
--- a/tests/Web/Backend/BackendViewTest.php
+++ b/tests/Web/Backend/BackendViewTest.php
@@ -26,7 +26,7 @@
class BackendViewTest extends \PHPUnit\Framework\TestCase
{
/**
- * @covers Web\Backend\BackendView
+ * @covers \Web\Backend\BackendView
* @group framework
*/
public function testDefault() : void
@@ -37,7 +37,7 @@ public function testDefault() : void
}
/**
- * @covers Web\Backend\BackendView
+ * @covers \Web\Backend\BackendView
* @group framework
*/
public function testProfileImageUrl() : void
From 9e87a952bed65487bcc08bd939339f64214ac7c5 Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Wed, 20 Mar 2024 05:16:12 +0000
Subject: [PATCH 05/20] upgrade phpunit
---
Install/tests/InstallTest.php | 49 +++++------
Model/CoreSettings.php | 8 +-
Modules/Accounting | 2 +-
Modules/Admin | 2 +-
Modules/AssetManagement | 2 +-
Modules/Attribute | 2 +-
Modules/Auditor | 2 +-
Modules/Balance | 2 +-
Modules/BankAccounting | 2 +-
Modules/Billing | 2 +-
Modules/BudgetManagement | 2 +-
Modules/BusinessExpenses | 2 +-
Modules/CMS | 2 +-
Modules/Calendar | 2 +-
Modules/CashManagement | 2 +-
Modules/Checklist | 2 +-
Modules/ClientManagement | 2 +-
Modules/Comments | 2 +-
Modules/Contact | 2 +-
Modules/ContractManagement | 2 +-
Modules/Controlling | 2 +-
Modules/Dashboard | 2 +-
Modules/Database | 2 +-
Modules/DatabaseEditor | 2 +-
Modules/Draw | 2 +-
Modules/Editor | 2 +-
Modules/EquipmentManagement | 2 +-
Modules/EventManagement | 2 +-
Modules/Exchange | 2 +-
Modules/Finance | 2 +-
Modules/FleetManagement | 2 +-
Modules/Help | 2 +-
Modules/Helper | 2 +-
Modules/Home | 2 +-
Modules/HumanResourceManagement | 2 +-
Modules/HumanResourceTimeRecording | 2 +-
Modules/IncomeStatement | 2 +-
Modules/InvestmentManagement | 2 +-
Modules/ItemManagement | 2 +-
Modules/Kanban | 2 +-
Modules/Knowledgebase | 2 +-
Modules/Labeling | 2 +-
Modules/LoanManagement | 2 +-
Modules/Marketing | 2 +-
Modules/Media | 2 +-
Modules/Messages | 2 +-
Modules/Monitoring | 2 +-
Modules/MyPrivate | 2 +-
Modules/Navigation | 2 +-
Modules/News | 2 +-
Modules/OnlineResourceWatcher | 2 +-
Modules/Organization | 2 +-
Modules/Payment | 2 +-
Modules/Production | 2 +-
Modules/Profile | 2 +-
Modules/ProjectManagement | 2 +-
Modules/Purchase | 2 +-
Modules/QA | 2 +-
Modules/QualityAssurance | 2 +-
Modules/QualityControl | 2 +-
Modules/QualityManagement | 2 +-
Modules/ResearchDevelopment | 2 +-
Modules/RiskManagement | 2 +-
Modules/Sales | 2 +-
Modules/Search | 2 +-
Modules/Shop | 2 +-
Modules/StockTaking | 2 +-
Modules/SupplierManagement | 2 +-
Modules/Support | 2 +-
Modules/Surveys | 2 +-
Modules/Tag | 2 +-
Modules/Tasks | 2 +-
Modules/Tools | 2 +-
Modules/WarehouseManagement | 2 +-
Modules/Workflow | 2 +-
Socket/Hooks.php | 15 ++++
phpOMS | 2 +-
tests/Bootstrap.php | 2 +
tests/Cli/CliApplicationTest.php | 5 +-
tests/Exception/DatabaseExceptionTest.php | 6 +-
.../UnexpectedApplicationExceptionTest.php | 6 +-
tests/Model/CoreSettingsTest.php | 45 ++--------
tests/Model/NullSettingTest.php | 6 +-
tests/Model/SettingMapperTest.php | 6 +-
tests/Model/SettingTest.php | 11 +--
tests/Modules/ModuleTestTrait.php | 84 +++++++------------
tests/Web/Backend/BackendViewTest.php | 11 +--
tests/phpunit_default.xml | 72 ++++++++--------
tests/phpunit_no_coverage.xml | 63 +++++++-------
tests/phpunit_no_reset.xml | 46 +++++-----
90 files changed, 257 insertions(+), 326 deletions(-)
diff --git a/Install/tests/InstallTest.php b/Install/tests/InstallTest.php
index 17661250..e8358920 100755
--- a/Install/tests/InstallTest.php
+++ b/Install/tests/InstallTest.php
@@ -23,6 +23,21 @@
/**
* @internal
*/
+#[\PHPUnit\Framework\Attributes\CoversClass(\Install\WebApplication::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\phpOMS\Application\ApplicationManager::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\phpOMS\Module\ModuleManager::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\Modules\Admin\Controller\ApiController::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\Modules\CMS\Controller\ApiController::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\Modules\Admin\Admin\Installer::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\Modules\Auditor\Admin\Installer::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\Modules\Organization\Admin\Installer::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\Modules\Help\Admin\Installer::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\Modules\Profile\Admin\Installer::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\Modules\Navigation\Admin\Installer::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\Modules\Dashboard\Admin\Installer::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\Modules\CMS\Admin\Installer::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\Modules\Tag\Admin\Installer::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\Modules\Media\Admin\Installer::class)]
class InstallTest extends \PHPUnit\Framework\TestCase
{
public function testPermissions() : void
@@ -34,10 +49,7 @@ public function testPermissions() : void
self::assertTrue(\is_writable(__DIR__ . '/../../Web'));
}
- /**
- * @covers \Install\WebApplication
- * @group admin
- */
+ #[\PHPUnit\Framework\Attributes\Group('admin')]
public function testInvalidInstallRequest() : void
{
$response = new HttpResponse();
@@ -48,10 +60,7 @@ public function testInvalidInstallRequest() : void
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
- /**
- * @covers \Install\WebApplication
- * @group admin
- */
+ #[\PHPUnit\Framework\Attributes\Group('admin')]
public function testInvalidDatabaseInstallRequest() : void
{
$response = new HttpResponse();
@@ -95,28 +104,8 @@ public function testInvalidDatabaseInstallRequest() : void
self::assertEquals(RequestStatusCode::R_400, $response->header->status);
}
- /**
- * @covers \Install\WebApplication
- *
- * @covers \phpOMS\Application\ApplicationManager
- * @covers \phpOMS\Module\ModuleManager
- *
- * @covers \Modules\Admin\Controller\ApiController
- * @covers \Modules\CMS\Controller\ApiController
- *
- * @covers \Modules\Admin\Admin\Installer
- * @covers \Modules\Auditor\Admin\Installer
- * @covers \Modules\Organization\Admin\Installer
- * @covers \Modules\Help\Admin\Installer
- * @covers \Modules\Profile\Admin\Installer
- * @covers \Modules\Navigation\Admin\Installer
- * @covers \Modules\Dashboard\Admin\Installer
- * @covers \Modules\CMS\Admin\Installer
- * @covers \Modules\Tag\Admin\Installer
- * @covers \Modules\Media\Admin\Installer
- *
- * @group admin
- */
+
+ #[\PHPUnit\Framework\Attributes\Group('admin')]
public function testInstall() : void
{
$config = [
diff --git a/Model/CoreSettings.php b/Model/CoreSettings.php
index 53cc57f0..b1d5aaef 100755
--- a/Model/CoreSettings.php
+++ b/Model/CoreSettings.php
@@ -221,11 +221,11 @@ public function save(array $options = []) : void
$options = empty($options) ? $this->options : $options;
foreach ($options as $option) {
- if ($option['session'] ?? false) {
- continue;
- }
-
if (\is_array($option)) {
+ if ($option['session'] ?? false) {
+ continue;
+ }
+
$setting = new Setting();
$setting->with(
$option['id'] ?? 0,
diff --git a/Modules/Accounting b/Modules/Accounting
index eb9f251b..23b69493 160000
--- a/Modules/Accounting
+++ b/Modules/Accounting
@@ -1 +1 @@
-Subproject commit eb9f251b2efd2afb29eb41da86b9bcd64822a3e8
+Subproject commit 23b69493d79a8bb0723694dc7d56d250d8208d7c
diff --git a/Modules/Admin b/Modules/Admin
index cec710ca..69d85949 160000
--- a/Modules/Admin
+++ b/Modules/Admin
@@ -1 +1 @@
-Subproject commit cec710ca4225a48db7f00468d5e9d72618832b98
+Subproject commit 69d859494552257efbda64ca85d3fa1a253447e2
diff --git a/Modules/AssetManagement b/Modules/AssetManagement
index a3df8233..60b50d49 160000
--- a/Modules/AssetManagement
+++ b/Modules/AssetManagement
@@ -1 +1 @@
-Subproject commit a3df8233f12ac7d99c19434c0b5ee4c4993afca0
+Subproject commit 60b50d49496dfab2e9d00ed6c4bc168d13671964
diff --git a/Modules/Attribute b/Modules/Attribute
index e2d47cbe..48199ef7 160000
--- a/Modules/Attribute
+++ b/Modules/Attribute
@@ -1 +1 @@
-Subproject commit e2d47cbe5877aaf7c1755faf1eea6b164ecb7ef5
+Subproject commit 48199ef768f006b443c3d03b16ef660506807035
diff --git a/Modules/Auditor b/Modules/Auditor
index ce8c0004..118d4b2d 160000
--- a/Modules/Auditor
+++ b/Modules/Auditor
@@ -1 +1 @@
-Subproject commit ce8c000421697ca55a4d17765bc0aae784f43241
+Subproject commit 118d4b2db289cc8f765b0a3a18aca1472c04bf19
diff --git a/Modules/Balance b/Modules/Balance
index 19a1bf3c..802886b0 160000
--- a/Modules/Balance
+++ b/Modules/Balance
@@ -1 +1 @@
-Subproject commit 19a1bf3c6f333fd0af2175bce7b3af5db8ff8f1f
+Subproject commit 802886b0645331867653ca93a8b61ee00b8928ea
diff --git a/Modules/BankAccounting b/Modules/BankAccounting
index 0f10f045..916b94e8 160000
--- a/Modules/BankAccounting
+++ b/Modules/BankAccounting
@@ -1 +1 @@
-Subproject commit 0f10f045d0d59bd158e2e1e3a893b9a087091af9
+Subproject commit 916b94e88ccf0b6fa26eea8e12e941e62b010c98
diff --git a/Modules/Billing b/Modules/Billing
index 5917c262..7520fdfd 160000
--- a/Modules/Billing
+++ b/Modules/Billing
@@ -1 +1 @@
-Subproject commit 5917c262f04918e5408e0dae196aaa33a7702a8e
+Subproject commit 7520fdfde7849ce2c013e0320c9529f5d00dc53d
diff --git a/Modules/BudgetManagement b/Modules/BudgetManagement
index d09735a2..a63e1a86 160000
--- a/Modules/BudgetManagement
+++ b/Modules/BudgetManagement
@@ -1 +1 @@
-Subproject commit d09735a2b7e41a4cbaaabe162ea65d45b753e449
+Subproject commit a63e1a8604439bb7ed3f5be59eca79eb80f97b2f
diff --git a/Modules/BusinessExpenses b/Modules/BusinessExpenses
index 9a79563c..d3bddcc1 160000
--- a/Modules/BusinessExpenses
+++ b/Modules/BusinessExpenses
@@ -1 +1 @@
-Subproject commit 9a79563cc0bb2d4de041cc784afa16bed6e54462
+Subproject commit d3bddcc1e3970d640cf4b525cde272d6744b9eed
diff --git a/Modules/CMS b/Modules/CMS
index c712d76c..eb2dee4d 160000
--- a/Modules/CMS
+++ b/Modules/CMS
@@ -1 +1 @@
-Subproject commit c712d76c5a5525f1c52ba5d061c154bea4d862a4
+Subproject commit eb2dee4dc4b67743ebfe6f24c62958fddbf8024d
diff --git a/Modules/Calendar b/Modules/Calendar
index 69b72017..d934fe3b 160000
--- a/Modules/Calendar
+++ b/Modules/Calendar
@@ -1 +1 @@
-Subproject commit 69b72017029c34bed4023f0ecc4e76a12ebf2e5b
+Subproject commit d934fe3be0cb71097b405a7ce8346508df25f442
diff --git a/Modules/CashManagement b/Modules/CashManagement
index 2ba64eae..e3e4b523 160000
--- a/Modules/CashManagement
+++ b/Modules/CashManagement
@@ -1 +1 @@
-Subproject commit 2ba64eae0c495ee4a06055205cf6b84190562d27
+Subproject commit e3e4b523dda2c1db66abaaefed536fb5b1d618f1
diff --git a/Modules/Checklist b/Modules/Checklist
index 164bcc54..b59d337e 160000
--- a/Modules/Checklist
+++ b/Modules/Checklist
@@ -1 +1 @@
-Subproject commit 164bcc54aa71d4d1cc7e9eed778eae0d184e5998
+Subproject commit b59d337ec4cd013bd91aed7188568aa0b3239714
diff --git a/Modules/ClientManagement b/Modules/ClientManagement
index 161202e8..19d4fffe 160000
--- a/Modules/ClientManagement
+++ b/Modules/ClientManagement
@@ -1 +1 @@
-Subproject commit 161202e809191628cfb81a417a7ed98aed0ce36f
+Subproject commit 19d4fffe5fdc5b7ab86be5eb9fd38f9669d74b91
diff --git a/Modules/Comments b/Modules/Comments
index bf715bc3..2fb1a687 160000
--- a/Modules/Comments
+++ b/Modules/Comments
@@ -1 +1 @@
-Subproject commit bf715bc387faad63051a94ba4f811d4efd893824
+Subproject commit 2fb1a687ef412a16ee89c5164c8374829688af46
diff --git a/Modules/Contact b/Modules/Contact
index 6cf468a4..cd8ab530 160000
--- a/Modules/Contact
+++ b/Modules/Contact
@@ -1 +1 @@
-Subproject commit 6cf468a4c8d2ce7867ce6b89f933fcf3e923b9b0
+Subproject commit cd8ab5309436195050750a44f74cc81aa0774792
diff --git a/Modules/ContractManagement b/Modules/ContractManagement
index 1db41f7a..2d5cc77b 160000
--- a/Modules/ContractManagement
+++ b/Modules/ContractManagement
@@ -1 +1 @@
-Subproject commit 1db41f7a3c0b0236c28736a8339f856190a7fe3b
+Subproject commit 2d5cc77bc82de4c12ba696a310f7bea63ad6017e
diff --git a/Modules/Controlling b/Modules/Controlling
index ebb78b05..812eb389 160000
--- a/Modules/Controlling
+++ b/Modules/Controlling
@@ -1 +1 @@
-Subproject commit ebb78b0528271af014a8abb01a3ca247c65530ed
+Subproject commit 812eb389486968b8b039fe94fd1dda880764e644
diff --git a/Modules/Dashboard b/Modules/Dashboard
index 30c06140..775b9faf 160000
--- a/Modules/Dashboard
+++ b/Modules/Dashboard
@@ -1 +1 @@
-Subproject commit 30c06140096196c54177d7153ba0be238c185294
+Subproject commit 775b9faff43b6430bd2dbc1e05fa6839750422eb
diff --git a/Modules/Database b/Modules/Database
index 16aaf164..f3d8deb7 160000
--- a/Modules/Database
+++ b/Modules/Database
@@ -1 +1 @@
-Subproject commit 16aaf164748c5f7274888e90babcb7a0eeb12f7b
+Subproject commit f3d8deb79c8a9beb9fc2436f352b15f2e719f03f
diff --git a/Modules/DatabaseEditor b/Modules/DatabaseEditor
index 3b48a674..086fbf88 160000
--- a/Modules/DatabaseEditor
+++ b/Modules/DatabaseEditor
@@ -1 +1 @@
-Subproject commit 3b48a6748d09f9f37dbd387ef47b7a867ad152fc
+Subproject commit 086fbf88290c41c18bb383d1e38a2b5fc7f4b5d6
diff --git a/Modules/Draw b/Modules/Draw
index 10c7768e..1725c0fd 160000
--- a/Modules/Draw
+++ b/Modules/Draw
@@ -1 +1 @@
-Subproject commit 10c7768e1bd1e4204530dcca5cc48908c357634c
+Subproject commit 1725c0fd8b0c99c4cef81cf01660a424010cc248
diff --git a/Modules/Editor b/Modules/Editor
index 47dde020..99039457 160000
--- a/Modules/Editor
+++ b/Modules/Editor
@@ -1 +1 @@
-Subproject commit 47dde020b155283d1f2ec634b730ca36ca70c065
+Subproject commit 99039457e8a12abf0d6d542716cc31fe0c2b57ad
diff --git a/Modules/EquipmentManagement b/Modules/EquipmentManagement
index d51bf2ef..5c60daaa 160000
--- a/Modules/EquipmentManagement
+++ b/Modules/EquipmentManagement
@@ -1 +1 @@
-Subproject commit d51bf2ef8faf0ab73dea17ea2267c8b6ed92b829
+Subproject commit 5c60daaa25da18beed4ce903b9b9d56d72207d77
diff --git a/Modules/EventManagement b/Modules/EventManagement
index 62f54ecf..18bc3569 160000
--- a/Modules/EventManagement
+++ b/Modules/EventManagement
@@ -1 +1 @@
-Subproject commit 62f54ecf296742f8e173b7a275efad9c241723bf
+Subproject commit 18bc3569ce11b0de493ea60e878303b4f2793bef
diff --git a/Modules/Exchange b/Modules/Exchange
index 44379b3b..4364324a 160000
--- a/Modules/Exchange
+++ b/Modules/Exchange
@@ -1 +1 @@
-Subproject commit 44379b3b22ef0de5b15b5d2add3e5dd906fd14b2
+Subproject commit 4364324a73f428e92da15e7a8f081d3e6394098d
diff --git a/Modules/Finance b/Modules/Finance
index aa10a324..7503df43 160000
--- a/Modules/Finance
+++ b/Modules/Finance
@@ -1 +1 @@
-Subproject commit aa10a32443a078e12e486005fc929a85ea93d02f
+Subproject commit 7503df435e6d18c59a73d3db36f770d36fb0d4c6
diff --git a/Modules/FleetManagement b/Modules/FleetManagement
index 37cbc61f..de3cc110 160000
--- a/Modules/FleetManagement
+++ b/Modules/FleetManagement
@@ -1 +1 @@
-Subproject commit 37cbc61f1d1cff68f0df88c7bf48a355c5588eae
+Subproject commit de3cc110d165f20e10260c89e62717558c005b4f
diff --git a/Modules/Help b/Modules/Help
index 7f252b3f..3c3eac75 160000
--- a/Modules/Help
+++ b/Modules/Help
@@ -1 +1 @@
-Subproject commit 7f252b3fe2264f961d275cd7ccc7b4383dc9e34f
+Subproject commit 3c3eac75f2be79708000fad0f22d65a7b5aa6e67
diff --git a/Modules/Helper b/Modules/Helper
index c7c2cba0..f6043718 160000
--- a/Modules/Helper
+++ b/Modules/Helper
@@ -1 +1 @@
-Subproject commit c7c2cba0ff39e37ed59fe3e67df305dfad84d257
+Subproject commit f604371897587e3f1b3cb65f246a20cde369c178
diff --git a/Modules/Home b/Modules/Home
index 2c6d503a..23f48982 160000
--- a/Modules/Home
+++ b/Modules/Home
@@ -1 +1 @@
-Subproject commit 2c6d503ab5f3233a59ee93196d9511591745d79a
+Subproject commit 23f4898231a094219994b1aa398aa1fb191ded65
diff --git a/Modules/HumanResourceManagement b/Modules/HumanResourceManagement
index 76683ff8..41eeb54e 160000
--- a/Modules/HumanResourceManagement
+++ b/Modules/HumanResourceManagement
@@ -1 +1 @@
-Subproject commit 76683ff8217d414ae4fbea69c02ef2405cd85d90
+Subproject commit 41eeb54e2a370b839c1f958f6a12483d7fbff8a0
diff --git a/Modules/HumanResourceTimeRecording b/Modules/HumanResourceTimeRecording
index dc14b72c..580d82de 160000
--- a/Modules/HumanResourceTimeRecording
+++ b/Modules/HumanResourceTimeRecording
@@ -1 +1 @@
-Subproject commit dc14b72cbbf18facc840aade292afae6c042cb2e
+Subproject commit 580d82de1bb7e61b29873a4b9316984f9a92c47d
diff --git a/Modules/IncomeStatement b/Modules/IncomeStatement
index 2fe807b6..f276c882 160000
--- a/Modules/IncomeStatement
+++ b/Modules/IncomeStatement
@@ -1 +1 @@
-Subproject commit 2fe807b6660140fffc6e3f48025bb0dafe4f251b
+Subproject commit f276c8829bb4e4f0e0cd704b5cbeb41a7bb7bfad
diff --git a/Modules/InvestmentManagement b/Modules/InvestmentManagement
index 16436b08..990c12d6 160000
--- a/Modules/InvestmentManagement
+++ b/Modules/InvestmentManagement
@@ -1 +1 @@
-Subproject commit 16436b08f084ff1cb383d7129e1c45196ff64b36
+Subproject commit 990c12d6dff12b33f467024344f3688ccc1a3bb2
diff --git a/Modules/ItemManagement b/Modules/ItemManagement
index 19125312..a283d2be 160000
--- a/Modules/ItemManagement
+++ b/Modules/ItemManagement
@@ -1 +1 @@
-Subproject commit 191253120f00fc9f9bd0b91a8ab20a0f072336d8
+Subproject commit a283d2be17cd979b8c9051ec78b07fe3ebda3891
diff --git a/Modules/Kanban b/Modules/Kanban
index 8d7dc830..5c41e7a8 160000
--- a/Modules/Kanban
+++ b/Modules/Kanban
@@ -1 +1 @@
-Subproject commit 8d7dc830586761266222ee219b9c402cbf0c3f96
+Subproject commit 5c41e7a8433f95217e579c0959407ad2d8c0ca25
diff --git a/Modules/Knowledgebase b/Modules/Knowledgebase
index 97abb4dd..977acd88 160000
--- a/Modules/Knowledgebase
+++ b/Modules/Knowledgebase
@@ -1 +1 @@
-Subproject commit 97abb4dd35ea3a4dca06b5447a2f327849702d0e
+Subproject commit 977acd8831cdaa7409b6d81c09965f84ba47c4b2
diff --git a/Modules/Labeling b/Modules/Labeling
index 9852285c..28f50769 160000
--- a/Modules/Labeling
+++ b/Modules/Labeling
@@ -1 +1 @@
-Subproject commit 9852285cb12538eb18639614989705f6604feedb
+Subproject commit 28f50769774f014b9fa2ee28cf941f11a8f194c6
diff --git a/Modules/LoanManagement b/Modules/LoanManagement
index b8135bb1..09db7578 160000
--- a/Modules/LoanManagement
+++ b/Modules/LoanManagement
@@ -1 +1 @@
-Subproject commit b8135bb1a8d0e726e577b12a2f3b1131240b404e
+Subproject commit 09db75785d65008020b6ec2d88dc1318e66ccc0b
diff --git a/Modules/Marketing b/Modules/Marketing
index fb8e5f82..8786445b 160000
--- a/Modules/Marketing
+++ b/Modules/Marketing
@@ -1 +1 @@
-Subproject commit fb8e5f82f0e7eec483c9420fbb6efef63f02cd39
+Subproject commit 8786445b16e3fb2d347aa5679123e7cae66d5c78
diff --git a/Modules/Media b/Modules/Media
index c415c0fb..0d2d180e 160000
--- a/Modules/Media
+++ b/Modules/Media
@@ -1 +1 @@
-Subproject commit c415c0fbace93cc2f9f82c94af8c2ecd5a3ec02d
+Subproject commit 0d2d180e0e901e7530b2c07570538207bddc4e0a
diff --git a/Modules/Messages b/Modules/Messages
index d40558aa..4f834d94 160000
--- a/Modules/Messages
+++ b/Modules/Messages
@@ -1 +1 @@
-Subproject commit d40558aa4492f6dcab71c35686daec60c9413490
+Subproject commit 4f834d9408ae308a719257a8a980c1ce1e774921
diff --git a/Modules/Monitoring b/Modules/Monitoring
index 0d6543da..8a2eb2f7 160000
--- a/Modules/Monitoring
+++ b/Modules/Monitoring
@@ -1 +1 @@
-Subproject commit 0d6543da783b14e83a868ffacc80ee77e2902dab
+Subproject commit 8a2eb2f7436f81121f58a051098e5f407dd60a59
diff --git a/Modules/MyPrivate b/Modules/MyPrivate
index 27b7f71d..c51d81c5 160000
--- a/Modules/MyPrivate
+++ b/Modules/MyPrivate
@@ -1 +1 @@
-Subproject commit 27b7f71dfd766e6060b205f06b66194da0d790de
+Subproject commit c51d81c57b8d507c5c43d6f80430a902d6f475fa
diff --git a/Modules/Navigation b/Modules/Navigation
index f2ddece6..c77ba894 160000
--- a/Modules/Navigation
+++ b/Modules/Navigation
@@ -1 +1 @@
-Subproject commit f2ddece6ca72b4f8f2adf662cfb17331ca243de5
+Subproject commit c77ba894857dec2f755c6be85bd93a5c2670b095
diff --git a/Modules/News b/Modules/News
index 68f0d5d8..509337d2 160000
--- a/Modules/News
+++ b/Modules/News
@@ -1 +1 @@
-Subproject commit 68f0d5d81d876a51e0bb6c62a68836c8502a4e08
+Subproject commit 509337d2b6887a3b1c536f6e634e59ab3f35f27c
diff --git a/Modules/OnlineResourceWatcher b/Modules/OnlineResourceWatcher
index cf648e17..c64fb27d 160000
--- a/Modules/OnlineResourceWatcher
+++ b/Modules/OnlineResourceWatcher
@@ -1 +1 @@
-Subproject commit cf648e171ffe71df10e70b5c48fd3c7aced16c5d
+Subproject commit c64fb27d0b260009ce3d279654b7ed22b9bef154
diff --git a/Modules/Organization b/Modules/Organization
index 90f52204..d6f57d92 160000
--- a/Modules/Organization
+++ b/Modules/Organization
@@ -1 +1 @@
-Subproject commit 90f5220410171e4efcc42b8c3d4c2319fb4c5408
+Subproject commit d6f57d92c118c94a218811a787ab052b8ef61aef
diff --git a/Modules/Payment b/Modules/Payment
index b4aec23e..50702333 160000
--- a/Modules/Payment
+++ b/Modules/Payment
@@ -1 +1 @@
-Subproject commit b4aec23ec88349275623ee2165f47b7c585f07d4
+Subproject commit 50702333c75ce3ae7b02adf7d85c7bcc04f839b9
diff --git a/Modules/Production b/Modules/Production
index 2f66c2ed..3f531eff 160000
--- a/Modules/Production
+++ b/Modules/Production
@@ -1 +1 @@
-Subproject commit 2f66c2ed04308f7182000c9cc7009f246a8990cd
+Subproject commit 3f531eff22d6b376e331353c17229775f14fcbec
diff --git a/Modules/Profile b/Modules/Profile
index 80176a5f..3c557053 160000
--- a/Modules/Profile
+++ b/Modules/Profile
@@ -1 +1 @@
-Subproject commit 80176a5f3e5f0fa1bf3d6b1e4b1ce6b610222b0f
+Subproject commit 3c55705373ea41139801dc6a9a14dffe63b387a6
diff --git a/Modules/ProjectManagement b/Modules/ProjectManagement
index 4d1e8d20..acc6e725 160000
--- a/Modules/ProjectManagement
+++ b/Modules/ProjectManagement
@@ -1 +1 @@
-Subproject commit 4d1e8d202dd0a6e486bdc40d98f7f98d0cdf2849
+Subproject commit acc6e7254ae84100c02dab17d19259dbacc7b737
diff --git a/Modules/Purchase b/Modules/Purchase
index 952d8eb4..1ed1e67c 160000
--- a/Modules/Purchase
+++ b/Modules/Purchase
@@ -1 +1 @@
-Subproject commit 952d8eb462fa8961ab1a480603f33a63b3058305
+Subproject commit 1ed1e67ca99da8a5bcf865160c22e6e160867c18
diff --git a/Modules/QA b/Modules/QA
index 073421c9..52c5e464 160000
--- a/Modules/QA
+++ b/Modules/QA
@@ -1 +1 @@
-Subproject commit 073421c91921b5fec954c73199adb5657bf8bb8d
+Subproject commit 52c5e464f31ec6b5e1b0135139c9a3b6a78a7356
diff --git a/Modules/QualityAssurance b/Modules/QualityAssurance
index 5d69a912..52d8178c 160000
--- a/Modules/QualityAssurance
+++ b/Modules/QualityAssurance
@@ -1 +1 @@
-Subproject commit 5d69a912deadeab5cbe87d8eba255259f909a429
+Subproject commit 52d8178cdb3b5b874f0fb5efcc18facb7cab84d3
diff --git a/Modules/QualityControl b/Modules/QualityControl
index 2b348308..a5c25f4b 160000
--- a/Modules/QualityControl
+++ b/Modules/QualityControl
@@ -1 +1 @@
-Subproject commit 2b348308c835a34576a2d28d609c9f73f18b9421
+Subproject commit a5c25f4b38254b6a6caecbf36802a915d217d6b2
diff --git a/Modules/QualityManagement b/Modules/QualityManagement
index 1474bb51..f86f4d89 160000
--- a/Modules/QualityManagement
+++ b/Modules/QualityManagement
@@ -1 +1 @@
-Subproject commit 1474bb51cecc27f319b767b100f8348906e5583e
+Subproject commit f86f4d899ca5e341f8ee8c0ab169ea6da19e5999
diff --git a/Modules/ResearchDevelopment b/Modules/ResearchDevelopment
index 3722fa18..2a02694c 160000
--- a/Modules/ResearchDevelopment
+++ b/Modules/ResearchDevelopment
@@ -1 +1 @@
-Subproject commit 3722fa1871230b62e9f762a666e030205ac25f39
+Subproject commit 2a02694cb2e011ea71f3bbe2b10c7ffe7e9ebdca
diff --git a/Modules/RiskManagement b/Modules/RiskManagement
index 89a0cc22..17b02e0a 160000
--- a/Modules/RiskManagement
+++ b/Modules/RiskManagement
@@ -1 +1 @@
-Subproject commit 89a0cc22d433507cebc913214b2e5e16a9b4d1ed
+Subproject commit 17b02e0a4c55a99197d0fd5faeb835ff1fb6e723
diff --git a/Modules/Sales b/Modules/Sales
index 906e1a0d..93411ded 160000
--- a/Modules/Sales
+++ b/Modules/Sales
@@ -1 +1 @@
-Subproject commit 906e1a0d4d8b1aee06f18fa6f59e38e4a26ec1e0
+Subproject commit 93411ded077765026b05aa05fee2bab82d494172
diff --git a/Modules/Search b/Modules/Search
index 5f9c74fd..e0123224 160000
--- a/Modules/Search
+++ b/Modules/Search
@@ -1 +1 @@
-Subproject commit 5f9c74fd654d2d4e0460164c28cdd5435c21fa96
+Subproject commit e0123224e3b5f80540bd213d7738617d9017c6f0
diff --git a/Modules/Shop b/Modules/Shop
index 2da5beb0..17ed62d9 160000
--- a/Modules/Shop
+++ b/Modules/Shop
@@ -1 +1 @@
-Subproject commit 2da5beb05b77c487ea16e9c2a383c6c0d989d60c
+Subproject commit 17ed62d9d12d540366e3147473aea4f38f2d54a1
diff --git a/Modules/StockTaking b/Modules/StockTaking
index 07f1db4b..3154aa52 160000
--- a/Modules/StockTaking
+++ b/Modules/StockTaking
@@ -1 +1 @@
-Subproject commit 07f1db4bb0befb01b915d26167a5c00453cf8ad3
+Subproject commit 3154aa5247ab4411352444066dcc3609d912aae0
diff --git a/Modules/SupplierManagement b/Modules/SupplierManagement
index 611b82e6..226154b4 160000
--- a/Modules/SupplierManagement
+++ b/Modules/SupplierManagement
@@ -1 +1 @@
-Subproject commit 611b82e6f283c2e935dd8a6c35237af667c3bc16
+Subproject commit 226154b4b5a8d91210ed318ea8030c3a61907d37
diff --git a/Modules/Support b/Modules/Support
index 65ee9655..374d3490 160000
--- a/Modules/Support
+++ b/Modules/Support
@@ -1 +1 @@
-Subproject commit 65ee96550c244b0fb098a716ec8b3fa6b9cf856f
+Subproject commit 374d34901c08d94f80468756e3a5e4331ad4e316
diff --git a/Modules/Surveys b/Modules/Surveys
index 704888b7..03156c99 160000
--- a/Modules/Surveys
+++ b/Modules/Surveys
@@ -1 +1 @@
-Subproject commit 704888b7b8bad4125bad538ffdc7c260a3b78cd9
+Subproject commit 03156c99d5695cb045d8583ab68179aa93ee9d5a
diff --git a/Modules/Tag b/Modules/Tag
index 363d0236..1fefab55 160000
--- a/Modules/Tag
+++ b/Modules/Tag
@@ -1 +1 @@
-Subproject commit 363d0236204763fd3c03be030df89104ab990a54
+Subproject commit 1fefab557958e177a527fa1a542abfd24a196a24
diff --git a/Modules/Tasks b/Modules/Tasks
index b3455054..40a5ad12 160000
--- a/Modules/Tasks
+++ b/Modules/Tasks
@@ -1 +1 @@
-Subproject commit b3455054fbb44142e27c42bec5db8a9a22906a9d
+Subproject commit 40a5ad12f8fcc02d209a75dc698341fd00624cd2
diff --git a/Modules/Tools b/Modules/Tools
index 4652549a..a2d74abe 160000
--- a/Modules/Tools
+++ b/Modules/Tools
@@ -1 +1 @@
-Subproject commit 4652549a24fa64b155d41ec7976c1a5713a68d6b
+Subproject commit a2d74abe7f23bd9cd13061a604fe9a1c038ecd40
diff --git a/Modules/WarehouseManagement b/Modules/WarehouseManagement
index aa6af66b..f121ab92 160000
--- a/Modules/WarehouseManagement
+++ b/Modules/WarehouseManagement
@@ -1 +1 @@
-Subproject commit aa6af66b674bc28a4d6478be98d3584537ad8ad4
+Subproject commit f121ab920109630d7a3c1c0eda57adb5a15435f9
diff --git a/Modules/Workflow b/Modules/Workflow
index 7dbdbf5f..181c7299 160000
--- a/Modules/Workflow
+++ b/Modules/Workflow
@@ -1 +1 @@
-Subproject commit 7dbdbf5fc9a54ad4abf7f6d60ede1bf2ee82292d
+Subproject commit 181c7299ea36bcf5975a7200d206bced4e0db491
diff --git a/Socket/Hooks.php b/Socket/Hooks.php
index 95d90fca..bbe81435 100755
--- a/Socket/Hooks.php
+++ b/Socket/Hooks.php
@@ -4320,6 +4320,21 @@
4317 => '\Modules\TestModule\Controller\Controller:testHook',
4318 => '\Modules\TestModule\Controller\Controller:testHook',
4319 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4320 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4321 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4322 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4323 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4324 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4325 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4326 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4327 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4328 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4329 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4330 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4331 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4332 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4333 => '\Modules\TestModule\Controller\Controller:testHook',
+ 4334 => '\Modules\TestModule\Controller\Controller:testHook',
],
],
];
\ No newline at end of file
diff --git a/phpOMS b/phpOMS
index a1b591d1..d6ddf6cb 160000
--- a/phpOMS
+++ b/phpOMS
@@ -1 +1 @@
-Subproject commit a1b591d1416efd67974e544b0e85da2e91109af8
+Subproject commit d6ddf6cbe977c515d31339ea397170e4d54922aa
diff --git a/tests/Bootstrap.php b/tests/Bootstrap.php
index 0764bd40..a1943ead 100755
--- a/tests/Bootstrap.php
+++ b/tests/Bootstrap.php
@@ -416,6 +416,8 @@
}
}
+$GLOBALS['CONFIG'] = $CONFIG;
+
$httpSession = new HttpSession();
$GLOBALS['session'] = $httpSession;
diff --git a/tests/Cli/CliApplicationTest.php b/tests/Cli/CliApplicationTest.php
index 1a5e47a1..d76174a1 100755
--- a/tests/Cli/CliApplicationTest.php
+++ b/tests/Cli/CliApplicationTest.php
@@ -23,10 +23,7 @@
*/
class CliApplicationTest extends \PHPUnit\Framework\TestCase
{
- /**
- * @covers Cli\CliApplication
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testCliApplication() : void
{
$console = new CliApplication(
diff --git a/tests/Exception/DatabaseExceptionTest.php b/tests/Exception/DatabaseExceptionTest.php
index ca105bb0..2e51ae9f 100755
--- a/tests/Exception/DatabaseExceptionTest.php
+++ b/tests/Exception/DatabaseExceptionTest.php
@@ -21,12 +21,10 @@
/**
* @internal
*/
+#[\PHPUnit\Framework\Attributes\CoversClass(\Web\Exception\DatabaseException::class)]
class DatabaseExceptionTest extends \PHPUnit\Framework\TestCase
{
- /**
- * @covers \Web\Exception\DatabaseException
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testException() : void
{
self::assertInstanceOf(\RuntimeException::class, new DatabaseException(''));
diff --git a/tests/Exception/UnexpectedApplicationExceptionTest.php b/tests/Exception/UnexpectedApplicationExceptionTest.php
index c1ea5650..129e05c6 100755
--- a/tests/Exception/UnexpectedApplicationExceptionTest.php
+++ b/tests/Exception/UnexpectedApplicationExceptionTest.php
@@ -21,12 +21,10 @@
/**
* @internal
*/
+#[\PHPUnit\Framework\Attributes\CoversClass(\Web\Exception\UnexpectedApplicationException::class)]
class UnexpectedApplicationExceptionTest extends \PHPUnit\Framework\TestCase
{
- /**
- * @covers \Web\Exception\UnexpectedApplicationException
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testException() : void
{
self::assertInstanceOf(\RuntimeException::class, new UnexpectedApplicationException(''));
diff --git a/tests/Model/CoreSettingsTest.php b/tests/Model/CoreSettingsTest.php
index 29406d75..356949b8 100755
--- a/tests/Model/CoreSettingsTest.php
+++ b/tests/Model/CoreSettingsTest.php
@@ -22,6 +22,9 @@
/**
* @internal
*/
+#[\PHPUnit\Framework\Attributes\CoversClass(\Model\CoreSettings::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\Model\Setting::class)]
+#[\PHPUnit\Framework\Attributes\CoversClass(\Model\SettingMapper::class)]
class CoreSettingsTest extends \PHPUnit\Framework\TestCase
{
protected CoreSettings $settings;
@@ -31,12 +34,7 @@ protected function setUp() : void
$this->settings = new CoreSettings();
}
- /**
- * @covers \Model\CoreSettings
- * @covers \Model\Setting
- * @covers \Model\SettingMapper
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testSettingsGet() : void
{
$this->settings->set([
@@ -61,12 +59,7 @@ public function testSettingsGet() : void
);
}
- /**
- * @covers \Model\CoreSettings
- * @covers \Model\Setting
- * @covers \Model\SettingMapper
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testSettingsSet() : void
{
self::assertEmpty(
@@ -98,12 +91,7 @@ public function testSettingsSet() : void
);
}
- /**
- * @covers \Model\CoreSettings
- * @covers \Model\Setting
- * @covers \Model\SettingMapper
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testSettingsCreate() : void
{
self::assertEmpty(
@@ -120,12 +108,7 @@ public function testSettingsCreate() : void
);
}
- /**
- * @covers \Model\CoreSettings
- * @covers \Model\Setting
- * @covers \Model\SettingMapper
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testSettingsSetWithoutStore() : void
{
self::assertEmpty(
@@ -151,12 +134,7 @@ public function testSettingsSetWithoutStore() : void
);
}
- /**
- * @covers \Model\CoreSettings
- * @covers \Model\Setting
- * @covers \Model\SettingMapper
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testSettingsSave() : void
{
$this->settings->save([
@@ -185,12 +163,7 @@ public function testSettingsSave() : void
);
}
- /**
- * @covers \Model\CoreSettings
- * @covers \Model\Setting
- * @covers \Model\SettingMapper
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testSetWithSave() : void
{
$setting = new Setting();
diff --git a/tests/Model/NullSettingTest.php b/tests/Model/NullSettingTest.php
index 93c79b47..f1ec03e6 100755
--- a/tests/Model/NullSettingTest.php
+++ b/tests/Model/NullSettingTest.php
@@ -19,12 +19,10 @@
/**
* @internal
*/
+#[\PHPUnit\Framework\Attributes\CoversClass(\Model\NullSetting::class)]
class NullSettingTest extends \PHPUnit\Framework\TestCase
{
- /**
- * @covers \Model\NullSetting
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testDefault() : void
{
$null = new NullSetting(123);
diff --git a/tests/Model/SettingMapperTest.php b/tests/Model/SettingMapperTest.php
index 743974d1..131b4e8d 100755
--- a/tests/Model/SettingMapperTest.php
+++ b/tests/Model/SettingMapperTest.php
@@ -20,12 +20,10 @@
/**
* @internal
*/
+#[\PHPUnit\Framework\Attributes\CoversClass(\Model\SettingMapper::class)]
class SettingMapperTest extends \PHPUnit\Framework\TestCase
{
- /**
- * @covers \Model\SettingMapper
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testCR() : void
{
$setting = new Setting();
diff --git a/tests/Model/SettingTest.php b/tests/Model/SettingTest.php
index ff489e70..1224a5e4 100755
--- a/tests/Model/SettingTest.php
+++ b/tests/Model/SettingTest.php
@@ -19,6 +19,7 @@
/**
* @internal
*/
+#[\PHPUnit\Framework\Attributes\CoversClass(\Model\Setting::class)]
class SettingTest extends \PHPUnit\Framework\TestCase
{
private Setting $setting;
@@ -28,19 +29,13 @@ protected function setUp() : void
$this->setting = new Setting();
}
- /**
- * @covers \Model\Setting
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testDefault() : void
{
self::assertEquals(0, $this->setting->getId());
}
- /**
- * @covers \Model\Setting
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testWithInitailization() : void
{
$this->setting->with(1, 'name', 'content', 'pattern', 2, 3, 'module', 4, 5);
diff --git a/tests/Modules/ModuleTestTrait.php b/tests/Modules/ModuleTestTrait.php
index e91c40c1..c065dc78 100755
--- a/tests/Modules/ModuleTestTrait.php
+++ b/tests/Modules/ModuleTestTrait.php
@@ -66,10 +66,10 @@ protected function setUp() : void
}
/**
- * @group admin
* @slowThreshold 5000
- * @group module
*/
+ #[\PHPUnit\Framework\Attributes\Group('admin')]
+ #[\PHPUnit\Framework\Attributes\Group('module')]
public function testModuleIntegration() : void
{
$iResponse = new HttpResponse();
@@ -89,10 +89,8 @@ public function testModuleIntegration() : void
self::assertTrue($this->app->moduleManager->isActive(self::NAME), 'Module "' . self::NAME . '" is not active.');
}
- /**
- * @group module
- * @coversNothing
- */
+ #[\PHPUnit\Framework\Attributes\Group('module')]
+ #[\PHPUnit\Framework\Attributes\CoversNothing]
public function testMembers() : void
{
$module = $this->app->moduleManager->get(self::NAME);
@@ -105,10 +103,8 @@ public function testMembers() : void
self::assertGreaterThanOrEqual(0, Version::compare($module::VERSION, '1.0.0'));
}
- /**
- * @group module
- * @coversNothing
- */
+ #[\PHPUnit\Framework\Attributes\Group('module')]
+ #[\PHPUnit\Framework\Attributes\CoversNothing]
public function testValidMapper() : void
{
$mappers = \glob(__DIR__ . '/../../Modules/' . self::NAME . '/Models/*Mapper.php');
@@ -145,10 +141,8 @@ private function getMapperFromPath(string $mapper) : string
return '\\Modules\\' . self::NAME . '\\Models\\' . $name;
}
- /**
- * @group module
- * @coversNothing
- */
+ #[\PHPUnit\Framework\Attributes\Group('module')]
+ #[\PHPUnit\Framework\Attributes\CoversNothing]
public function testMapperAgainstModel() : void
{
$mappers = \glob(__DIR__ . '/../../Modules/' . self::NAME . '/Models/*Mapper.php');
@@ -234,10 +228,8 @@ public function testMapperAgainstModel() : void
self::assertTrue(true);
}
- /**
- * @group module
- * @coversNothing
- */
+ #[\PHPUnit\Framework\Attributes\Group('module')]
+ #[\PHPUnit\Framework\Attributes\CoversNothing]
public function testValidDbSchema() : void
{
$schemaPath = __DIR__ . '/../../Modules/' . self::NAME . '/Admin/Install/db.json';
@@ -281,10 +273,8 @@ public function testValidDbSchema() : void
self::assertTrue(Json::validateTemplate($dbTemplate, $db), 'Invalid db template for ' . self::NAME);
}
- /**
- * @group module
- * @coversNothing
- */
+ #[\PHPUnit\Framework\Attributes\Group('module')]
+ #[\PHPUnit\Framework\Attributes\CoversNothing]
public function testDbSchemaAgainstDb() : void
{
$builder = new SchemaBuilder($this->app->dbPool->get());
@@ -318,10 +308,8 @@ public function testDbSchemaAgainstDb() : void
self::assertTrue(true);
}
- /**
- * @group module
- * @coversNothing
- */
+ #[\PHPUnit\Framework\Attributes\Group('module')]
+ #[\PHPUnit\Framework\Attributes\CoversNothing]
public function testMapperAgainstDbSchema() : void
{
@@ -427,10 +415,8 @@ private function helperMapperAgainstDbSchema(string $class, string $table, array
return 0;
}
- /**
- * @group module
- * @coversNothing
- */
+ #[\PHPUnit\Framework\Attributes\Group('module')]
+ #[\PHPUnit\Framework\Attributes\CoversNothing]
public function testJson() : void
{
$sampleInfo = \json_decode(\file_get_contents(__DIR__ . '/../../Modules/TestModule/info.json'), true);
@@ -448,10 +434,8 @@ public function testJson() : void
self::assertTrue(Json::validateTemplate($infoTemplate, $info), 'Invalid info template for ' . self::NAME);
}
- /**
- * @group module
- * @coversNothing
- */
+ #[\PHPUnit\Framework\Attributes\Group('module')]
+ #[\PHPUnit\Framework\Attributes\CoversNothing]
public function testDependency() : void
{
$module = $this->app->moduleManager->get(self::NAME);
@@ -465,10 +449,8 @@ public function testDependency() : void
self::assertTrue($this->dependencyTest($info, $this->app->moduleManager->getInstalledModules(false)), 'Invalid dependency configuration in ' . self::NAME);
}
- /**
- * @group module
- * @coversNothing
- */
+ #[\PHPUnit\Framework\Attributes\Group('module')]
+ #[\PHPUnit\Framework\Attributes\CoversNothing]
public function testRoutes() : void
{
$this->app->moduleManager = new ModuleManager($this->app, __DIR__ . '/../../Modules/');
@@ -494,10 +476,8 @@ public function testRoutes() : void
}
}
- /**
- * @group module
- * @coversNothing
- */
+ #[\PHPUnit\Framework\Attributes\Group('module')]
+ #[\PHPUnit\Framework\Attributes\CoversNothing]
public function testHooks() : void
{
$this->app->moduleManager = new ModuleManager($this->app, __DIR__ . '/../../Modules/');
@@ -523,11 +503,9 @@ public function testHooks() : void
}
}
- /**
- * @group final
- * @group module
- * @coversNothing
- */
+ #[\PHPUnit\Framework\Attributes\Group('final')]
+ #[\PHPUnit\Framework\Attributes\Group('module')]
+ #[\PHPUnit\Framework\Attributes\CoversNothing]
public function testNavigation() : void
{
$module = $this->app->moduleManager->get(self::NAME);
@@ -703,10 +681,8 @@ private function infoJsonTest(array $module, array $sample) : bool
return false;
}
- /**
- * @group module
- * @coversNothing
- */
+ #[\PHPUnit\Framework\Attributes\Group('module')]
+ #[\PHPUnit\Framework\Attributes\CoversNothing]
public function testRequestLoads() : void
{
if (!\defined('self::URI_LOAD') || empty(self::URI_LOAD)) {
@@ -734,10 +710,8 @@ public function testRequestLoads() : void
self::assertTrue($this->app->moduleManager->isRunning(self::NAME));
}
- /**
- * @group module
- * @coversNothing
- */
+ #[\PHPUnit\Framework\Attributes\Group('module')]
+ #[\PHPUnit\Framework\Attributes\CoversNothing]
public function testLanguage() : void
{
$module = $this->app->moduleManager->get(self::NAME);
diff --git a/tests/Web/Backend/BackendViewTest.php b/tests/Web/Backend/BackendViewTest.php
index de9f2648..6d8474e3 100755
--- a/tests/Web/Backend/BackendViewTest.php
+++ b/tests/Web/Backend/BackendViewTest.php
@@ -23,12 +23,10 @@
/**
* @internal
*/
+#[\PHPUnit\Framework\Attributes\CoversClass(\Web\Backend\BackendView::class)]
class BackendViewTest extends \PHPUnit\Framework\TestCase
{
- /**
- * @covers \Web\Backend\BackendView
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testDefault() : void
{
$view = new BackendView();
@@ -36,10 +34,7 @@ public function testDefault() : void
self::assertStringContainsString('', $view->getProfileImage());
}
- /**
- * @covers \Web\Backend\BackendView
- * @group framework
- */
+ #[\PHPUnit\Framework\Attributes\Group('framework')]
public function testProfileImageUrl() : void
{
$view = new BackendView();
diff --git a/tests/phpunit_default.xml b/tests/phpunit_default.xml
index 86e5f7c8..17efe68b 100755
--- a/tests/phpunit_default.xml
+++ b/tests/phpunit_default.xml
@@ -1,39 +1,6 @@
-
-
-
- ../phpOMS
- ../Model
- ../Web/Exception
- ../Install
- ../Modules
- ../Socket
- ../Console
-
-
- *vendor*
- *MainRepository*
- vendor
- ../vendor
- ../Install/Application
- ../phpOMS/vendor
- ../phpOMS/Localization/LanguageDetection/resources
- *tests*
- */tests*
- ../*
- ../*
- ../*
- ../*
- ../*
- ../**/tests*
- ../Modules/tests*
- ../Modules/**/tests*
- ../Modules/**/Theme*
- ../Modules/**/Admin/Routes*
- ../Modules/**/Admin/Hooks*
- ../Modules/**/Admin/Install*
- ../Modules/Media/Files*
-
+
+
@@ -70,4 +37,39 @@
+
+
+ ../phpOMS
+ ../Model
+ ../Web/Exception
+ ../Install
+ ../Modules
+ ../Socket
+ ../Console
+
+
+ *vendor*
+ *MainRepository*
+ vendor
+ ../vendor
+ ../Install/Application
+ ../phpOMS/vendor
+ ../phpOMS/Localization/LanguageDetection/resources
+ *tests*
+ */tests*
+ ../*
+ ../*
+ ../*
+ ../*
+ ../*
+ ../**/tests*
+ ../Modules/tests*
+ ../Modules/**/tests*
+ ../Modules/**/Theme*
+ ../Modules/**/Admin/Routes*
+ ../Modules/**/Admin/Hooks*
+ ../Modules/**/Admin/Install*
+ ../Modules/Media/Files*
+
+
diff --git a/tests/phpunit_no_coverage.xml b/tests/phpunit_no_coverage.xml
index 83ae3453..a03b42e8 100755
--- a/tests/phpunit_no_coverage.xml
+++ b/tests/phpunit_no_coverage.xml
@@ -1,6 +1,33 @@
-
-
+
+
+
+ ../Install/tests*
+
+
+ ../phpOMS/tests*
+
+
+ ../Modules/**/tests*
+
+
+ ../tests*
+
+
+
+
+ slow
+ volume
+ maybe
+
+
+
+
+
+
+
+
+
../phpOMS
../Model
@@ -32,35 +59,5 @@
../Modules/**/Admin/Install*
../Modules/Media/Files*
-
-
-
- ../Install/tests*
-
-
- ../phpOMS/tests*
-
-
- ../Modules/**/tests*
-
-
- ../tests*
-
-
-
-
- slow
- volume
- maybe
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/tests/phpunit_no_reset.xml b/tests/phpunit_no_reset.xml
index 80025af5..15c33337 100755
--- a/tests/phpunit_no_reset.xml
+++ b/tests/phpunit_no_reset.xml
@@ -1,6 +1,26 @@
-
-
+
+
+
+ ../Install/tests*
+
+
+ ../phpOMS/tests*
+
+
+ ../Modules/**/tests*
+
+
+ ../tests*
+
+
+
+
+
+
+
+
+
../phpOMS
../Model
@@ -34,25 +54,5 @@
../Modules/**/Admin/Install*
../Modules/Media/Files*
-
-
-
- ../Install/tests*
-
-
- ../phpOMS/tests*
-
-
- ../Modules/**/tests*
-
-
- ../tests*
-
-
-
-
-
-
-
-
+
From 26803ffb2478dfb519142021763c51c17dac535c Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Wed, 20 Mar 2024 05:35:05 +0000
Subject: [PATCH 06/20] update package
---
jsOMS | 2 +-
package-lock.json | 6823 +++++++++++++--------------------------------
package.json | 6 +-
3 files changed, 1965 insertions(+), 4866 deletions(-)
diff --git a/jsOMS b/jsOMS
index 14a92c0f..6c47697f 160000
--- a/jsOMS
+++ b/jsOMS
@@ -1 +1 @@
-Subproject commit 14a92c0f15da787da10f8153f77c86c2c0a94381
+Subproject commit 6c47697f42942f92a621e39a3600389901149224
diff --git a/package-lock.json b/package-lock.json
index f2243b00..e2608504 100755
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,53 +1,65 @@
{
"name": "oms",
"version": "1.0.0",
- "lockfileVersion": 2,
+ "lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "oms",
"version": "1.0.0",
"license": "OMS",
- "dependencies": {
- "chromedriver": "^91.0.1",
+ "devDependencies": {
+ "chromedriver": "^122.0.6",
+ "esbuild": "0.19.5",
"eslint": "^8.12.0",
+ "eslint-plugin-import": "^2.27.5",
"geckodriver": "^3.0.2",
- "node-sass": "^7.0.0",
+ "node-sass": "^9.0.0",
"sass": "^1.57.1",
"selenium-webdriver": "^4.0.0-beta.4"
- },
- "devDependencies": {
- "esbuild": "0.19.5",
- "eslint-plugin-import": "^2.27.5"
+ }
+ },
+ "node_modules/@aashutoshrathi/word-wrap": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
+ "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
}
},
"node_modules/@babel/code-frame": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
- "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+ "version": "7.24.2",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
+ "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+ "dev": true,
"dependencies": {
- "@babel/highlight": "^7.18.6"
+ "@babel/highlight": "^7.24.2",
+ "picocolors": "^1.0.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
- "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+ "dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
- "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+ "version": "7.24.2",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
+ "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
+ "dev": true,
"dependencies": {
- "@babel/helper-validator-identifier": "^7.18.6",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
},
"engines": {
"node": ">=6.9.0"
@@ -57,6 +69,7 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
"dependencies": {
"color-convert": "^1.9.0"
},
@@ -68,6 +81,7 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -81,6 +95,7 @@
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
"dependencies": {
"color-name": "1.1.3"
}
@@ -88,12 +103,14 @@
"node_modules/@babel/highlight/node_modules/color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "dev": true
},
"node_modules/@babel/highlight/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
"engines": {
"node": ">=0.8.0"
}
@@ -102,6 +119,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true,
"engines": {
"node": ">=4"
}
@@ -110,6 +128,7 @@
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
"dependencies": {
"has-flag": "^3.0.0"
},
@@ -469,15 +488,40 @@
"node": ">=12"
}
},
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
+ "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
"node_modules/@eslint/eslintrc": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
- "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
+ "dev": true,
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.4.0",
- "globals": "^13.15.0",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.0",
@@ -491,19 +535,30 @@
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/@eslint/js": {
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
+ "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
"node_modules/@gar/promisify": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
- "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw=="
+ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
+ "dev": true
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.10.7",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz",
- "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==",
+ "version": "0.11.14",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+ "dev": true,
"dependencies": {
- "@humanwhocodes/object-schema": "^1.2.1",
- "debug": "^4.1.1",
- "minimatch": "^3.0.4"
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
},
"engines": {
"node": ">=10.10.0"
@@ -513,6 +568,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
"integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
"engines": {
"node": ">=12.22"
},
@@ -522,14 +578,16 @@
}
},
"node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz",
+ "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==",
+ "dev": true
},
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
@@ -542,6 +600,7 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
"engines": {
"node": ">= 8"
}
@@ -550,6 +609,7 @@
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
@@ -562,15 +622,33 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
"integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
+ "dev": true,
"dependencies": {
"@gar/promisify": "^1.0.1",
"semver": "^7.3.5"
}
},
+ "node_modules/@npmcli/fs/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@npmcli/move-file": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
"integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
+ "deprecated": "This functionality has been moved to @npmcli/fs",
+ "dev": true,
"dependencies": {
"mkdirp": "^1.0.4",
"rimraf": "^3.0.2"
@@ -583,6 +661,7 @@
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
"integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
+ "dev": true,
"engines": {
"node": ">=10"
},
@@ -594,6 +673,7 @@
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
"integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
+ "dev": true,
"dependencies": {
"defer-to-connect": "^2.0.0"
},
@@ -602,33 +682,43 @@
}
},
"node_modules/@testim/chrome-version": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.3.tgz",
- "integrity": "sha512-g697J3WxV/Zytemz8aTuKjTGYtta9+02kva3C1xc7KXB8GdbfE1akGJIsZLyY/FSh2QrnE+fiB7vmWU3XNcb6A=="
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.4.tgz",
+ "integrity": "sha512-kIhULpw9TrGYnHp/8VfdcneIcxKnLixmADtukQRtJUmsVlMg0niMkwV0xZmi8hqa57xqilIHjWFA0GKvEjVU5g==",
+ "dev": true
},
"node_modules/@tootallnate/once": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
"integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+ "dev": true,
"engines": {
"node": ">= 6"
}
},
+ "node_modules/@tootallnate/quickjs-emscripten": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
+ "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
+ "dev": true
+ },
"node_modules/@types/cacheable-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
- "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
+ "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==",
+ "dev": true,
"dependencies": {
"@types/http-cache-semantics": "*",
- "@types/keyv": "*",
+ "@types/keyv": "^3.1.4",
"@types/node": "*",
- "@types/responselike": "*"
+ "@types/responselike": "^1.0.0"
}
},
"node_modules/@types/http-cache-semantics": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
- "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ=="
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz",
+ "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==",
+ "dev": true
},
"node_modules/@types/json5": {
"version": "0.0.29",
@@ -640,51 +730,68 @@
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
"integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
+ "dev": true,
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/minimist": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
- "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ=="
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==",
+ "dev": true
},
"node_modules/@types/node": {
- "version": "18.8.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.3.tgz",
- "integrity": "sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w=="
+ "version": "20.11.30",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz",
+ "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
},
"node_modules/@types/normalize-package-data": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
- "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw=="
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
+ "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
+ "dev": true
},
"node_modules/@types/responselike": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
- "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz",
+ "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==",
+ "dev": true,
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
+ "version": "2.10.3",
+ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
+ "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
+ "dev": true,
"optional": true,
"dependencies": {
"@types/node": "*"
}
},
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+ "dev": true
+ },
"node_modules/abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true
},
"node_modules/acorn": {
- "version": "8.8.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
- "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+ "dev": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -696,6 +803,7 @@
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
@@ -704,6 +812,7 @@
"version": "0.5.9",
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz",
"integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg==",
+ "dev": true,
"engines": {
"node": ">=6.0"
}
@@ -712,6 +821,7 @@
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dev": true,
"dependencies": {
"debug": "4"
},
@@ -720,12 +830,11 @@
}
},
"node_modules/agentkeepalive": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
- "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
+ "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
+ "dev": true,
"dependencies": {
- "debug": "^4.1.0",
- "depd": "^1.1.2",
"humanize-ms": "^1.2.1"
},
"engines": {
@@ -736,6 +845,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
"integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+ "dev": true,
"dependencies": {
"clean-stack": "^2.0.0",
"indent-string": "^4.0.0"
@@ -748,6 +858,7 @@
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -763,6 +874,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -771,6 +883,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
"dependencies": {
"color-convert": "^2.0.1"
},
@@ -785,6 +898,7 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -796,48 +910,41 @@
"node_modules/aproba": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
- "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
- },
- "node_modules/are-we-there-yet": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
- "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": ">=10"
- }
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
+ "dev": true
},
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
},
"node_modules/array-buffer-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
- "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+ "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "is-array-buffer": "^3.0.1"
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/array-includes": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
- "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz",
+ "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "get-intrinsic": "^1.1.3",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
"is-string": "^1.0.7"
},
"engines": {
@@ -847,23 +954,35 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "node_modules/array.prototype.findlastindex": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz",
+ "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-shim-unscopables": "^1.0.2"
+ },
"engines": {
- "node": ">=8"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/array.prototype.flat": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
- "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
+ "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
"es-shim-unscopables": "^1.0.0"
},
"engines": {
@@ -874,14 +993,14 @@
}
},
"node_modules/array.prototype.flatmap": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
- "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
+ "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
"es-shim-unscopables": "^1.0.0"
},
"engines": {
@@ -891,34 +1010,54 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/arraybuffer.prototype.slice": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
+ "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
+ "dev": true,
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.2.1",
+ "get-intrinsic": "^1.2.3",
+ "is-array-buffer": "^3.0.4",
+ "is-shared-array-buffer": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/arrify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
"integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/asn1": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
- "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+ "node_modules/ast-types": {
+ "version": "0.13.4",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
+ "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
+ "dev": true,
"dependencies": {
- "safer-buffer": "~2.1.0"
- }
- },
- "node_modules/assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
+ "tslib": "^2.0.1"
+ },
"engines": {
- "node": ">=0.8"
+ "node": ">=4"
}
},
"node_modules/async-foreach": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
"integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==",
+ "dev": true,
"engines": {
"node": "*"
}
@@ -926,13 +1065,17 @@
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+ "dev": true
},
"node_modules/available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
"dev": true,
+ "dependencies": {
+ "possible-typed-array-names": "^1.0.0"
+ },
"engines": {
"node": ">= 0.4"
},
@@ -940,57 +1083,55 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/aws4": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
- },
"node_modules/axios": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
- "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
+ "version": "1.6.8",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
+ "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
+ "dev": true,
"dependencies": {
- "follow-redirects": "^1.14.0"
+ "follow-redirects": "^1.15.6",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
}
},
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
},
- "node_modules/bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
- "dependencies": {
- "tweetnacl": "^0.14.3"
+ "node_modules/basic-ftp": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz",
+ "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.0.0"
}
},
"node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "dev": true,
"engines": {
"node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/bluebird": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
+ "dev": true
},
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -1000,6 +1141,7 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
"dependencies": {
"fill-range": "^7.0.1"
},
@@ -1011,6 +1153,7 @@
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
+ "dev": true,
"engines": {
"node": "*"
}
@@ -1019,6 +1162,7 @@
"version": "15.3.0",
"resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
"integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
+ "dev": true,
"dependencies": {
"@npmcli/fs": "^1.0.0",
"@npmcli/move-file": "^1.0.1",
@@ -1047,14 +1191,16 @@
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
"integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==",
+ "dev": true,
"engines": {
"node": ">=10.6.0"
}
},
"node_modules/cacheable-request": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
- "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz",
+ "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==",
+ "dev": true,
"dependencies": {
"clone-response": "^1.0.2",
"get-stream": "^5.1.0",
@@ -1069,13 +1215,19 @@
}
},
"node_modules/call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"dev": true,
"dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -1085,6 +1237,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
"engines": {
"node": ">=6"
}
@@ -1093,6 +1246,7 @@
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true,
"engines": {
"node": ">=6"
}
@@ -1101,6 +1255,7 @@
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
"integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
+ "dev": true,
"dependencies": {
"camelcase": "^5.3.1",
"map-obj": "^4.0.0",
@@ -1117,19 +1272,16 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
"integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
+ "dev": true,
"engines": {
"node": ">=8"
}
},
- "node_modules/caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
- },
"node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -1142,15 +1294,10 @@
}
},
"node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dev": true,
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -1163,6 +1310,9 @@
"engines": {
"node": ">= 8.10.0"
},
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
"optionalDependencies": {
"fsevents": "~2.3.2"
}
@@ -1171,6 +1321,7 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -1182,35 +1333,38 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
"integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "dev": true,
"engines": {
"node": ">=10"
}
},
"node_modules/chromedriver": {
- "version": "91.0.1",
- "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-91.0.1.tgz",
- "integrity": "sha512-9LktpHiUxM4UWUsr+jI1K1YKx2GENt6BKKJ2mibPj1Wc6ODzX/3fFIlr8CZ4Ftuyga+dHTTbAyPWKwKvybEbKA==",
+ "version": "122.0.6",
+ "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-122.0.6.tgz",
+ "integrity": "sha512-Q0r+QlUtiJWMQ5HdYaFa0CtBmLFq3n5JWfmq9mOC00UMBvWxku09gUkvBt457QnYfTM/XHqY/HTFOxHvATnTmA==",
+ "dev": true,
"hasInstallScript": true,
"dependencies": {
- "@testim/chrome-version": "^1.0.7",
- "axios": "^0.21.1",
- "del": "^6.0.0",
+ "@testim/chrome-version": "^1.1.4",
+ "axios": "^1.6.7",
+ "compare-versions": "^6.1.0",
"extract-zip": "^2.0.1",
- "https-proxy-agent": "^5.0.0",
+ "proxy-agent": "^6.4.0",
"proxy-from-env": "^1.1.0",
- "tcp-port-used": "^1.0.1"
+ "tcp-port-used": "^1.0.2"
},
"bin": {
"chromedriver": "bin/chromedriver"
},
"engines": {
- "node": ">=10"
+ "node": ">=18"
}
},
"node_modules/clean-stack": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "dev": true,
"engines": {
"node": ">=6"
}
@@ -1219,6 +1373,7 @@
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dev": true,
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.1",
@@ -1232,6 +1387,7 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
"integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
+ "dev": true,
"dependencies": {
"mimic-response": "^1.0.0"
},
@@ -1243,6 +1399,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
"dependencies": {
"color-name": "~1.1.4"
},
@@ -1253,12 +1410,14 @@
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
},
"node_modules/color-support": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "dev": true,
"bin": {
"color-support": "bin.js"
}
@@ -1267,6 +1426,7 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dev": true,
"dependencies": {
"delayed-stream": "~1.0.0"
},
@@ -1274,25 +1434,35 @@
"node": ">= 0.8"
}
},
+ "node_modules/compare-versions": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.0.tgz",
+ "integrity": "sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==",
+ "dev": true
+ },
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true
},
"node_modules/console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
+ "dev": true
},
"node_modules/core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
+ "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
+ "dev": true
},
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -1302,57 +1472,113 @@
"node": ">= 8"
}
},
- "node_modules/dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
+ "node_modules/data-uri-to-buffer": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz",
+ "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/data-view-buffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
+ "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==",
+ "dev": true,
"dependencies": {
- "assert-plus": "^1.0.0"
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
},
"engines": {
- "node": ">=0.10"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "node_modules/data-view-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz",
+ "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==",
+ "dev": true,
"dependencies": {
- "ms": "2.1.2"
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
},
"engines": {
- "node": ">=6.0"
+ "node": ">= 0.4"
},
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/decamelize": {
- "version": "1.2.0",
+ "node_modules/data-view-byte-offset": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz",
+ "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decamelize": {
+ "version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/decamelize-keys": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
- "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz",
+ "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==",
+ "dev": true,
"dependencies": {
"decamelize": "^1.1.0",
"map-obj": "^1.0.0"
},
"engines": {
"node": ">=0.10.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/decamelize-keys/node_modules/map-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
"integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -1361,6 +1587,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
"integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
+ "dev": true,
"dependencies": {
"mimic-response": "^3.1.0"
},
@@ -1375,6 +1602,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
"integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
+ "dev": true,
"engines": {
"node": ">=10"
},
@@ -1385,22 +1613,42 @@
"node_modules/deep-is": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true
},
"node_modules/defer-to-connect": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
"integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
+ "dev": true,
"engines": {
"node": ">=10"
}
},
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "dev": true,
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/define-properties": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
- "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
"dev": true,
"dependencies": {
+ "define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
"object-keys": "^1.1.1"
},
@@ -1411,31 +1659,25 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/del": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz",
- "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==",
+ "node_modules/degenerator": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
+ "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",
+ "dev": true,
"dependencies": {
- "globby": "^11.0.1",
- "graceful-fs": "^4.2.4",
- "is-glob": "^4.0.1",
- "is-path-cwd": "^2.2.0",
- "is-path-inside": "^3.0.2",
- "p-map": "^4.0.0",
- "rimraf": "^3.0.2",
- "slash": "^3.0.0"
+ "ast-types": "^0.13.4",
+ "escodegen": "^2.1.0",
+ "esprima": "^4.0.1"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">= 14"
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "dev": true,
"engines": {
"node": ">=0.4.0"
}
@@ -1443,31 +1685,14 @@
"node_modules/delegates": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
- },
- "node_modules/depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
+ "dev": true
},
"node_modules/doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
"dependencies": {
"esutils": "^2.0.2"
},
@@ -1475,24 +1700,17 @@
"node": ">=6.0.0"
}
},
- "node_modules/ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
- "dependencies": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
},
"node_modules/encoding": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
"integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+ "dev": true,
"optional": true,
"dependencies": {
"iconv-lite": "^0.6.2"
@@ -1502,6 +1720,7 @@
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
"dependencies": {
"once": "^1.4.0"
}
@@ -1510,6 +1729,7 @@
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
"integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+ "dev": true,
"engines": {
"node": ">=6"
}
@@ -1517,56 +1737,70 @@
"node_modules/err-code": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
- "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA=="
+ "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
+ "dev": true
},
"node_modules/error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
"dependencies": {
"is-arrayish": "^0.2.1"
}
},
"node_modules/es-abstract": {
- "version": "1.21.2",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz",
- "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==",
- "dev": true,
- "dependencies": {
- "array-buffer-byte-length": "^1.0.0",
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "es-set-tostringtag": "^2.0.1",
+ "version": "1.23.2",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.2.tgz",
+ "integrity": "sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==",
+ "dev": true,
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.1",
+ "arraybuffer.prototype.slice": "^1.0.3",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
+ "data-view-buffer": "^1.0.1",
+ "data-view-byte-length": "^1.0.1",
+ "data-view-byte-offset": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-set-tostringtag": "^2.0.3",
"es-to-primitive": "^1.2.1",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.2.0",
- "get-symbol-description": "^1.0.0",
+ "function.prototype.name": "^1.1.6",
+ "get-intrinsic": "^1.2.4",
+ "get-symbol-description": "^1.0.2",
"globalthis": "^1.0.3",
"gopd": "^1.0.1",
- "has": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-proto": "^1.0.1",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.0.3",
"has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
- "is-array-buffer": "^3.0.2",
+ "hasown": "^2.0.2",
+ "internal-slot": "^1.0.7",
+ "is-array-buffer": "^3.0.4",
"is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
+ "is-data-view": "^1.0.1",
+ "is-negative-zero": "^2.0.3",
"is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
+ "is-shared-array-buffer": "^1.0.3",
"is-string": "^1.0.7",
- "is-typed-array": "^1.1.10",
+ "is-typed-array": "^1.1.13",
"is-weakref": "^1.0.2",
- "object-inspect": "^1.12.3",
+ "object-inspect": "^1.13.1",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
- "safe-regex-test": "^1.0.0",
- "string.prototype.trim": "^1.2.7",
- "string.prototype.trimend": "^1.0.6",
- "string.prototype.trimstart": "^1.0.6",
- "typed-array-length": "^1.0.4",
+ "object.assign": "^4.1.5",
+ "regexp.prototype.flags": "^1.5.2",
+ "safe-array-concat": "^1.1.2",
+ "safe-regex-test": "^1.0.3",
+ "string.prototype.trim": "^1.2.9",
+ "string.prototype.trimend": "^1.0.8",
+ "string.prototype.trimstart": "^1.0.7",
+ "typed-array-buffer": "^1.0.2",
+ "typed-array-byte-length": "^1.0.1",
+ "typed-array-byte-offset": "^1.0.2",
+ "typed-array-length": "^1.0.5",
"unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.9"
+ "which-typed-array": "^1.1.15"
},
"engines": {
"node": ">= 0.4"
@@ -1575,27 +1809,60 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
+ "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
+ "dev": true,
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/es-set-tostringtag": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
- "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
+ "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
"dev": true,
"dependencies": {
- "get-intrinsic": "^1.1.3",
- "has": "^1.0.3",
- "has-tostringtag": "^1.0.0"
+ "get-intrinsic": "^1.2.4",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.1"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-shim-unscopables": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
- "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz",
+ "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==",
"dev": true,
"dependencies": {
- "has": "^1.0.3"
+ "hasown": "^2.0.0"
}
},
"node_modules/es-to-primitive": {
@@ -1653,9 +1920,10 @@
}
},
"node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
+ "dev": true,
"engines": {
"node": ">=6"
}
@@ -1664,6 +1932,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
"engines": {
"node": ">=10"
},
@@ -1671,48 +1940,80 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/escodegen": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
+ "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
+ "dev": true,
+ "dependencies": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2"
+ },
+ "bin": {
+ "escodegen": "bin/escodegen.js",
+ "esgenerate": "bin/esgenerate.js"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "optionalDependencies": {
+ "source-map": "~0.6.1"
+ }
+ },
+ "node_modules/escodegen/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/eslint": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.25.0.tgz",
- "integrity": "sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
+ "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
+ "dev": true,
"dependencies": {
- "@eslint/eslintrc": "^1.3.3",
- "@humanwhocodes/config-array": "^0.10.5",
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.57.0",
+ "@humanwhocodes/config-array": "^0.11.14",
"@humanwhocodes/module-importer": "^1.0.1",
- "ajv": "^6.10.0",
+ "@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
+ "ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
"debug": "^4.3.2",
"doctrine": "^3.0.0",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.1.1",
- "eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.3.0",
- "espree": "^9.4.0",
- "esquery": "^1.4.0",
+ "eslint-scope": "^7.2.2",
+ "eslint-visitor-keys": "^3.4.3",
+ "espree": "^9.6.1",
+ "esquery": "^1.4.2",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
"file-entry-cache": "^6.0.1",
"find-up": "^5.0.0",
- "glob-parent": "^6.0.1",
- "globals": "^13.15.0",
- "globby": "^11.1.0",
- "grapheme-splitter": "^1.0.4",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "graphemer": "^1.4.0",
"ignore": "^5.2.0",
- "import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
- "js-sdsl": "^4.1.4",
+ "is-path-inside": "^3.0.3",
"js-yaml": "^4.1.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
"lodash.merge": "^4.6.2",
"minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "regexpp": "^3.2.0",
+ "optionator": "^0.9.3",
"strip-ansi": "^6.0.1",
- "strip-json-comments": "^3.1.0",
"text-table": "^0.2.0"
},
"bin": {
@@ -1726,14 +2027,14 @@
}
},
"node_modules/eslint-import-resolver-node": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz",
- "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==",
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
+ "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
"dev": true,
"dependencies": {
"debug": "^3.2.7",
- "is-core-module": "^2.11.0",
- "resolve": "^1.22.1"
+ "is-core-module": "^2.13.0",
+ "resolve": "^1.22.4"
}
},
"node_modules/eslint-import-resolver-node/node_modules/debug": {
@@ -1746,9 +2047,9 @@
}
},
"node_modules/eslint-module-utils": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
- "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==",
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz",
+ "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==",
"dev": true,
"dependencies": {
"debug": "^3.2.7"
@@ -1772,26 +2073,28 @@
}
},
"node_modules/eslint-plugin-import": {
- "version": "2.27.5",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz",
- "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==",
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz",
+ "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==",
"dev": true,
"dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.flat": "^1.3.1",
- "array.prototype.flatmap": "^1.3.1",
+ "array-includes": "^3.1.7",
+ "array.prototype.findlastindex": "^1.2.3",
+ "array.prototype.flat": "^1.3.2",
+ "array.prototype.flatmap": "^1.3.2",
"debug": "^3.2.7",
"doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.7",
- "eslint-module-utils": "^2.7.4",
- "has": "^1.0.3",
- "is-core-module": "^2.11.0",
+ "eslint-import-resolver-node": "^0.3.9",
+ "eslint-module-utils": "^2.8.0",
+ "hasown": "^2.0.0",
+ "is-core-module": "^2.13.1",
"is-glob": "^4.0.3",
"minimatch": "^3.1.2",
- "object.values": "^1.1.6",
- "resolve": "^1.22.1",
- "semver": "^6.3.0",
- "tsconfig-paths": "^3.14.1"
+ "object.fromentries": "^2.0.7",
+ "object.groupby": "^1.0.1",
+ "object.values": "^1.1.7",
+ "semver": "^6.3.1",
+ "tsconfig-paths": "^3.15.0"
},
"engines": {
"node": ">=4"
@@ -1821,68 +2124,43 @@
"node": ">=0.10.0"
}
},
- "node_modules/eslint-plugin-import/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/eslint-scope": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
- "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "dev": true,
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/eslint-utils": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
- "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
- "dependencies": {
- "eslint-visitor-keys": "^2.0.0"
- },
- "engines": {
- "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/mysticatea"
- },
- "peerDependencies": {
- "eslint": ">=5"
- }
- },
- "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "engines": {
- "node": ">=10"
+ "url": "https://opencollective.com/eslint"
}
},
"node_modules/eslint-visitor-keys": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
- "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
"node_modules/espree": {
- "version": "9.4.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
- "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
+ "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
+ "dev": true,
"dependencies": {
- "acorn": "^8.8.0",
+ "acorn": "^8.9.0",
"acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.3.0"
+ "eslint-visitor-keys": "^3.4.1"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -1891,10 +2169,24 @@
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true,
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/esquery": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
- "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+ "dev": true,
"dependencies": {
"estraverse": "^5.1.0"
},
@@ -1906,6 +2198,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
"dependencies": {
"estraverse": "^5.2.0"
},
@@ -1917,6 +2210,7 @@
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
"engines": {
"node": ">=4.0"
}
@@ -1925,19 +2219,16 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
- },
"node_modules/extract-zip": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
"integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
+ "dev": true,
"dependencies": {
"debug": "^4.1.1",
"get-stream": "^5.1.0",
@@ -1953,59 +2244,29 @@
"@types/yauzl": "^2.9.1"
}
},
- "node_modules/extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
- "engines": [
- "node >=0.6.0"
- ]
- },
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
- },
- "node_modules/fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
},
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
},
"node_modules/fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true
},
"node_modules/fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "dev": true,
"dependencies": {
"reusify": "^1.0.4"
}
@@ -2014,6 +2275,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
"integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
+ "dev": true,
"dependencies": {
"pend": "~1.2.0"
}
@@ -2022,6 +2284,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
"integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
"dependencies": {
"flat-cache": "^3.0.4"
},
@@ -2033,6 +2296,7 @@
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -2044,6 +2308,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
"dependencies": {
"locate-path": "^6.0.0",
"path-exists": "^4.0.0"
@@ -2056,11 +2321,13 @@
}
},
"node_modules/flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
+ "dev": true,
"dependencies": {
- "flatted": "^3.1.0",
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
"rimraf": "^3.0.2"
},
"engines": {
@@ -2068,14 +2335,16 @@
}
},
"node_modules/flatted": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
+ "dev": true
},
"node_modules/follow-redirects": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
- "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
+ "version": "1.15.6",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
+ "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
+ "dev": true,
"funding": [
{
"type": "individual",
@@ -2100,31 +2369,39 @@
"is-callable": "^1.1.3"
}
},
- "node_modules/forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
- "engines": {
- "node": "*"
- }
- },
"node_modules/form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dev": true,
"dependencies": {
"asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
+ "combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
},
"engines": {
- "node": ">= 0.12"
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fs-extra": {
+ "version": "11.2.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz",
+ "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
}
},
"node_modules/fs-minipass": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
"integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "dev": true,
"dependencies": {
"minipass": "^3.0.0"
},
@@ -2135,12 +2412,14 @@
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true
},
"node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
"hasInstallScript": true,
"optional": true,
"os": [
@@ -2151,20 +2430,24 @@
}
},
"node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/function.prototype.name": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
- "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
+ "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.0",
- "functions-have-names": "^1.2.2"
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "functions-have-names": "^1.2.3"
},
"engines": {
"node": ">= 0.4"
@@ -2182,29 +2465,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/gauge": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
- "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
- "dependencies": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.2",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.1",
- "object-assign": "^4.1.1",
- "signal-exit": "^3.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/gaze": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
- "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
+ "node_modules/gaze": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
+ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
+ "dev": true,
"dependencies": {
"globule": "^1.0.0"
},
@@ -2213,15 +2478,16 @@
}
},
"node_modules/geckodriver": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/geckodriver/-/geckodriver-3.0.2.tgz",
- "integrity": "sha512-GHOQzQnTeZOJdcdEXLuzmcRwkbHuei1VivXkn2BLyleKiT6lTvl0T7vm+d0wvr/EZC7jr0m1u1pBHSfqtuFuNQ==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/geckodriver/-/geckodriver-3.2.0.tgz",
+ "integrity": "sha512-p+qR2RKlI/TQoCEYrSuTaYCLqsJNni96WmEukTyXmOmLn+3FLdgPAEwMZ0sG2Cwi9hozUzGAWyT6zLuhF6cpiQ==",
+ "dev": true,
"hasInstallScript": true,
"dependencies": {
"adm-zip": "0.5.9",
"bluebird": "3.7.2",
"got": "11.8.5",
- "https-proxy-agent": "5.0.0",
+ "https-proxy-agent": "5.0.1",
"tar": "6.1.11"
},
"bin": {
@@ -2231,35 +2497,29 @@
"node": ">=12.0.0"
}
},
- "node_modules/geckodriver/node_modules/https-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/get-caller-file": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true,
"engines": {
"node": "6.* || 8.* || >= 10.*"
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
- "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"dev": true,
"dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.3"
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -2269,6 +2529,7 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
"integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -2277,6 +2538,7 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
"dependencies": {
"pump": "^3.0.0"
},
@@ -2288,13 +2550,14 @@
}
},
"node_modules/get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
+ "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
+ "call-bind": "^1.0.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4"
},
"engines": {
"node": ">= 0.4"
@@ -2303,18 +2566,26 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
+ "node_modules/get-uri": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz",
+ "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==",
+ "dev": true,
"dependencies": {
- "assert-plus": "^1.0.0"
+ "basic-ftp": "^5.0.2",
+ "data-uri-to-buffer": "^6.0.2",
+ "debug": "^4.3.4",
+ "fs-extra": "^11.2.0"
+ },
+ "engines": {
+ "node": ">= 14"
}
},
"node_modules/glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -2334,6 +2605,7 @@
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
"dependencies": {
"is-glob": "^4.0.3"
},
@@ -2342,9 +2614,10 @@
}
},
"node_modules/globals": {
- "version": "13.17.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
- "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
"dependencies": {
"type-fest": "^0.20.2"
},
@@ -2370,29 +2643,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/globule": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz",
"integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==",
+ "dev": true,
"dependencies": {
"glob": "~7.1.1",
"lodash": "^4.17.21",
@@ -2406,6 +2661,7 @@
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+ "dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -2425,6 +2681,7 @@
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
"integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
+ "dev": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -2448,6 +2705,7 @@
"version": "11.8.5",
"resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz",
"integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==",
+ "dev": true,
"dependencies": {
"@sindresorhus/is": "^4.0.0",
"@szmarczak/http-timer": "^4.0.5",
@@ -2469,55 +2727,26 @@
}
},
"node_modules/graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
- },
- "node_modules/grapheme-splitter": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
- "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
- },
- "node_modules/har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
- "engines": {
- "node": ">=4"
- }
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true
},
- "node_modules/har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "deprecated": "this library is no longer supported",
- "dependencies": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- }
+ "node_modules/graphemer": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
+ "dev": true
},
"node_modules/hard-rejection": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
"integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
+ "dev": true,
"engines": {
"node": ">=6"
}
},
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
"node_modules/has-bigints": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
@@ -2531,26 +2760,27 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/has-property-descriptors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
- "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"dev": true,
"dependencies": {
- "get-intrinsic": "^1.1.1"
+ "es-define-property": "^1.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
"dev": true,
"engines": {
"node": ">= 0.4"
@@ -2572,12 +2802,12 @@
}
},
"node_modules/has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"dev": true,
"dependencies": {
- "has-symbols": "^1.0.2"
+ "has-symbols": "^1.0.3"
},
"engines": {
"node": ">= 0.4"
@@ -2589,12 +2819,26 @@
"node_modules/has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
+ "dev": true
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
},
"node_modules/hosted-git-info": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
"integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -2603,14 +2847,16 @@
}
},
"node_modules/http-cache-semantics": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+ "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
+ "dev": true
},
"node_modules/http-proxy-agent": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
"integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "dev": true,
"dependencies": {
"@tootallnate/once": "1",
"agent-base": "6",
@@ -2620,24 +2866,11 @@
"node": ">= 6"
}
},
- "node_modules/http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
- "dependencies": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- },
- "engines": {
- "node": ">=0.8",
- "npm": ">=1.3.7"
- }
- },
"node_modules/http2-wrapper": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
"integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
+ "dev": true,
"dependencies": {
"quick-lru": "^5.1.1",
"resolve-alpn": "^1.0.0"
@@ -2650,6 +2883,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dev": true,
"dependencies": {
"agent-base": "6",
"debug": "4"
@@ -2662,6 +2896,7 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
"integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
+ "dev": true,
"dependencies": {
"ms": "^2.0.0"
}
@@ -2670,6 +2905,7 @@
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dev": true,
"optional": true,
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
@@ -2679,9 +2915,10 @@
}
},
"node_modules/ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+ "dev": true,
"engines": {
"node": ">= 4"
}
@@ -2689,17 +2926,20 @@
"node_modules/immediate": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
- "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
+ "dev": true
},
"node_modules/immutable": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz",
- "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og=="
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz",
+ "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==",
+ "dev": true
},
"node_modules/import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
"dependencies": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@@ -2715,6 +2955,7 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
"engines": {
"node": ">=0.8.19"
}
@@ -2723,6 +2964,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -2730,12 +2972,14 @@
"node_modules/infer-owner": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
- "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A=="
+ "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
+ "dev": true
},
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dev": true,
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -2744,44 +2988,56 @@
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
},
"node_modules/internal-slot": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
- "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
+ "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
"dev": true,
"dependencies": {
- "get-intrinsic": "^1.2.0",
- "has": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.0",
"side-channel": "^1.0.4"
},
"engines": {
"node": ">= 0.4"
}
},
- "node_modules/ip": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
- "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ "node_modules/ip-address": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz",
+ "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==",
+ "dev": true,
+ "dependencies": {
+ "jsbn": "1.1.0",
+ "sprintf-js": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 12"
+ }
},
"node_modules/ip-regex": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz",
"integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==",
+ "dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/is-array-buffer": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
- "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+ "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.0",
- "is-typed-array": "^1.1.10"
+ "get-intrinsic": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -2790,7 +3046,8 @@
"node_modules/is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+ "dev": true
},
"node_modules/is-bigint": {
"version": "1.0.4",
@@ -2808,6 +3065,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
"dependencies": {
"binary-extensions": "^2.0.0"
},
@@ -2844,11 +3102,27 @@
}
},
"node_modules/is-core-module": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz",
- "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==",
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+ "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
+ "dev": true,
+ "dependencies": {
+ "hasown": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-data-view": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz",
+ "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==",
+ "dev": true,
"dependencies": {
- "has": "^1.0.3"
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -2873,6 +3147,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -2881,6 +3156,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -2889,6 +3165,7 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -2899,12 +3176,13 @@
"node_modules/is-lambda": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
- "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ=="
+ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
+ "dev": true
},
"node_modules/is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
+ "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
"dev": true,
"engines": {
"node": ">= 0.4"
@@ -2917,6 +3195,7 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
"engines": {
"node": ">=0.12.0"
}
@@ -2936,18 +3215,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-path-cwd": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
- "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/is-path-inside": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
"integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -2956,6 +3228,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
"integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -2977,12 +3250,15 @@
}
},
"node_modules/is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2"
+ "call-bind": "^1.0.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -3019,16 +3295,12 @@
}
},
"node_modules/is-typed-array": {
- "version": "1.1.10",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
- "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
+ "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
"dev": true,
"dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
+ "which-typed-array": "^1.1.14"
},
"engines": {
"node": ">= 0.4"
@@ -3037,15 +3309,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
- },
"node_modules/is-url": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
- "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww=="
+ "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==",
+ "dev": true
},
"node_modules/is-weakref": {
"version": "1.0.2",
@@ -3063,6 +3331,7 @@
"version": "2.0.9",
"resolved": "https://registry.npmjs.org/is2/-/is2-2.0.9.tgz",
"integrity": "sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==",
+ "dev": true,
"dependencies": {
"deep-is": "^0.1.3",
"ip-regex": "^4.1.0",
@@ -3073,39 +3342,34 @@
}
},
"node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "dev": true
},
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
- },
- "node_modules/isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
},
"node_modules/js-base64": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
- "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
- },
- "node_modules/js-sdsl": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz",
- "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q=="
+ "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
+ "dev": true
},
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
},
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
"dependencies": {
"argparse": "^2.0.1"
},
@@ -3114,39 +3378,34 @@
}
},
"node_modules/jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
+ "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==",
+ "dev": true
},
"node_modules/json-buffer": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true
},
"node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
- },
- "node_modules/json-schema": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
},
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
- },
- "node_modules/json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true
},
"node_modules/json5": {
"version": "1.0.2",
@@ -3160,24 +3419,23 @@
"json5": "lib/cli.js"
}
},
- "node_modules/jsprim": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
- "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
+ "node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
"dependencies": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.4.0",
- "verror": "1.10.0"
+ "universalify": "^2.0.0"
},
- "engines": {
- "node": ">=0.6.0"
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
}
},
"node_modules/jszip": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
"integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
+ "dev": true,
"dependencies": {
"lie": "~3.3.0",
"pako": "~1.0.2",
@@ -3185,10 +3443,17 @@
"setimmediate": "^1.0.5"
}
},
+ "node_modules/jszip/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true
+ },
"node_modules/jszip/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dev": true,
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -3202,20 +3467,23 @@
"node_modules/jszip/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
},
"node_modules/jszip/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/keyv": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.0.tgz",
- "integrity": "sha512-2YvuMsA+jnFGtBareKqgANOEKe1mk3HKiXu2fRmAfyxG0MJAywNhi5ttWA3PMjl4NmpyjZNbFifR2vNjW1znfA==",
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
"dependencies": {
"json-buffer": "3.0.1"
}
@@ -3224,6 +3492,7 @@
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -3232,6 +3501,7 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
"dependencies": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
@@ -3244,6 +3514,7 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
"integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+ "dev": true,
"dependencies": {
"immediate": "~3.0.5"
}
@@ -3251,12 +3522,14 @@
"node_modules/lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "dev": true
},
"node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
"dependencies": {
"p-locate": "^5.0.0"
},
@@ -3270,17 +3543,20 @@
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
},
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true
},
"node_modules/lowercase-keys": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
"integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -3289,6 +3565,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
@@ -3300,6 +3577,7 @@
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
"integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
+ "dev": true,
"dependencies": {
"agentkeepalive": "^4.1.3",
"cacache": "^15.2.0",
@@ -3326,6 +3604,7 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
"integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
+ "dev": true,
"engines": {
"node": ">=8"
},
@@ -3337,6 +3616,7 @@
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
"integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
+ "dev": true,
"dependencies": {
"@types/minimist": "^1.2.0",
"camelcase-keys": "^6.2.2",
@@ -3362,6 +3642,7 @@
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
"integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
+ "dev": true,
"engines": {
"node": ">=10"
},
@@ -3369,30 +3650,11 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "dev": true,
"engines": {
"node": ">= 0.6"
}
@@ -3401,6 +3663,7 @@
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dev": true,
"dependencies": {
"mime-db": "1.52.0"
},
@@ -3412,6 +3675,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
"integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "dev": true,
"engines": {
"node": ">=4"
}
@@ -3420,6 +3684,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
"integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
+ "dev": true,
"engines": {
"node": ">=4"
}
@@ -3428,6 +3693,7 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -3436,15 +3702,19 @@
}
},
"node_modules/minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
- "dev": true
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/minimist-options": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
"integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
+ "dev": true,
"dependencies": {
"arrify": "^1.0.1",
"is-plain-obj": "^1.1.0",
@@ -3455,9 +3725,10 @@
}
},
"node_modules/minipass": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
- "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
@@ -3469,6 +3740,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
"integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+ "dev": true,
"dependencies": {
"minipass": "^3.0.0"
},
@@ -3480,6 +3752,7 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
"integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
+ "dev": true,
"dependencies": {
"minipass": "^3.1.0",
"minipass-sized": "^1.0.3",
@@ -3496,6 +3769,7 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
"integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
+ "dev": true,
"dependencies": {
"minipass": "^3.0.0"
},
@@ -3507,6 +3781,7 @@
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
"integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
+ "dev": true,
"dependencies": {
"minipass": "^3.0.0"
},
@@ -3518,6 +3793,7 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
"integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
+ "dev": true,
"dependencies": {
"minipass": "^3.0.0"
},
@@ -3529,6 +3805,7 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
"integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "dev": true,
"dependencies": {
"minipass": "^3.0.0",
"yallist": "^4.0.0"
@@ -3541,6 +3818,7 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "dev": true,
"bin": {
"mkdirp": "bin/cmd.js"
},
@@ -3551,30 +3829,44 @@
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
},
"node_modules/nan": {
- "version": "2.16.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz",
- "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA=="
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz",
+ "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==",
+ "dev": true
},
"node_modules/natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true
},
"node_modules/negotiator": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "dev": true,
"engines": {
"node": ">= 0.6"
}
},
+ "node_modules/netmask": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
+ "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
"node_modules/node-gyp": {
"version": "8.4.1",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
"integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
+ "dev": true,
"dependencies": {
"env-paths": "^2.2.0",
"glob": "^7.1.4",
@@ -3598,6 +3890,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
"integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
+ "dev": true,
"dependencies": {
"delegates": "^1.0.0",
"readable-stream": "^3.6.0"
@@ -3610,6 +3903,7 @@
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
"integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
+ "dev": true,
"dependencies": {
"aproba": "^1.0.3 || ^2.0.0",
"color-support": "^1.1.3",
@@ -3628,6 +3922,7 @@
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
"integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
+ "dev": true,
"dependencies": {
"are-we-there-yet": "^3.0.0",
"console-control-strings": "^1.1.0",
@@ -3638,10 +3933,26 @@
"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
+ "node_modules/node-gyp/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/node-sass": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.3.tgz",
- "integrity": "sha512-8MIlsY/4dXUkJDYht9pIWBhMil3uHmE8b/AdJPjmFn1nBx9X9BASzfzmsCy0uCCb8eqI3SYYzVPDswWqSx7gjw==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-9.0.0.tgz",
+ "integrity": "sha512-yltEuuLrfH6M7Pq2gAj5B6Zm7m+gdZoG66wTqG6mIZV/zijq3M2OO2HswtT6oBspPyFhHDcaxWpsBm0fRNDHPg==",
+ "dev": true,
"hasInstallScript": true,
"dependencies": {
"async-foreach": "^0.1.3",
@@ -3651,26 +3962,275 @@
"get-stdin": "^4.0.1",
"glob": "^7.0.3",
"lodash": "^4.17.15",
+ "make-fetch-happen": "^10.0.4",
"meow": "^9.0.0",
- "nan": "^2.13.2",
+ "nan": "^2.17.0",
"node-gyp": "^8.4.1",
- "npmlog": "^5.0.0",
- "request": "^2.88.0",
"sass-graph": "^4.0.1",
"stdout-stream": "^1.4.0",
- "true-case-path": "^1.0.2"
+ "true-case-path": "^2.2.1"
},
"bin": {
"node-sass": "bin/node-sass"
},
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/node-sass/node_modules/@npmcli/fs": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz",
+ "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==",
+ "dev": true,
+ "dependencies": {
+ "@gar/promisify": "^1.1.3",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/node-sass/node_modules/@npmcli/move-file": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz",
+ "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==",
+ "deprecated": "This functionality has been moved to @npmcli/fs",
+ "dev": true,
+ "dependencies": {
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/node-sass/node_modules/@tootallnate/once": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+ "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/node-sass/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/node-sass/node_modules/cacache": {
+ "version": "16.1.3",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz",
+ "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==",
+ "dev": true,
+ "dependencies": {
+ "@npmcli/fs": "^2.1.0",
+ "@npmcli/move-file": "^2.0.0",
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.1.0",
+ "glob": "^8.0.1",
+ "infer-owner": "^1.0.4",
+ "lru-cache": "^7.7.1",
+ "minipass": "^3.1.6",
+ "minipass-collect": "^1.0.2",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "mkdirp": "^1.0.4",
+ "p-map": "^4.0.0",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^3.0.2",
+ "ssri": "^9.0.0",
+ "tar": "^6.1.11",
+ "unique-filename": "^2.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/node-sass/node_modules/cacache/node_modules/glob": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/node-sass/node_modules/http-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ "dev": true,
+ "dependencies": {
+ "@tootallnate/once": "2",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/node-sass/node_modules/lru-cache": {
+ "version": "7.18.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+ "dev": true,
"engines": {
"node": ">=12"
}
},
+ "node_modules/node-sass/node_modules/make-fetch-happen": {
+ "version": "10.2.1",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz",
+ "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==",
+ "dev": true,
+ "dependencies": {
+ "agentkeepalive": "^4.2.1",
+ "cacache": "^16.1.0",
+ "http-cache-semantics": "^4.1.0",
+ "http-proxy-agent": "^5.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "is-lambda": "^1.0.1",
+ "lru-cache": "^7.7.1",
+ "minipass": "^3.1.6",
+ "minipass-collect": "^1.0.2",
+ "minipass-fetch": "^2.0.3",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "negotiator": "^0.6.3",
+ "promise-retry": "^2.0.1",
+ "socks-proxy-agent": "^7.0.0",
+ "ssri": "^9.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/node-sass/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/node-sass/node_modules/minipass-fetch": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz",
+ "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.1.6",
+ "minipass-sized": "^1.0.3",
+ "minizlib": "^2.1.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ },
+ "optionalDependencies": {
+ "encoding": "^0.1.13"
+ }
+ },
+ "node_modules/node-sass/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/node-sass/node_modules/semver/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/node-sass/node_modules/socks-proxy-agent": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
+ "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "^6.0.2",
+ "debug": "^4.3.3",
+ "socks": "^2.6.2"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/node-sass/node_modules/ssri": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
+ "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/node-sass/node_modules/unique-filename": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz",
+ "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==",
+ "dev": true,
+ "dependencies": {
+ "unique-slug": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/node-sass/node_modules/unique-slug": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz",
+ "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==",
+ "dev": true,
+ "dependencies": {
+ "imurmurhash": "^0.1.4"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
"node_modules/nopt": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
"integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "dev": true,
"dependencies": {
"abbrev": "1"
},
@@ -3685,6 +4245,7 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
"integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+ "dev": true,
"dependencies": {
"hosted-git-info": "^4.0.1",
"is-core-module": "^2.5.0",
@@ -3695,10 +4256,26 @@
"node": ">=10"
}
},
+ "node_modules/normalize-package-data/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -3707,6 +4284,7 @@
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
"integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
+ "dev": true,
"engines": {
"node": ">=10"
},
@@ -3714,37 +4292,10 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/npmlog": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
- "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
- "dependencies": {
- "are-we-there-yet": "^2.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^3.0.0",
- "set-blocking": "^2.0.0"
- }
- },
- "node_modules/oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/object-inspect": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
- "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+ "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -3760,13 +4311,13 @@
}
},
"node_modules/object.assign": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
- "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
+ "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
"has-symbols": "^1.0.3",
"object-keys": "^1.1.1"
},
@@ -3777,15 +4328,47 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/object.fromentries": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
+ "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.groupby": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz",
+ "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/object.values": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz",
- "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz",
+ "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
@@ -3798,21 +4381,23 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
"dependencies": {
"wrappy": "1"
}
},
"node_modules/optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
+ "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
+ "dev": true,
"dependencies": {
+ "@aashutoshrathi/word-wrap": "^1.2.3",
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
"levn": "^0.4.1",
"prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
+ "type-check": "^0.4.0"
},
"engines": {
"node": ">= 0.8.0"
@@ -3822,6 +4407,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
"integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -3830,6 +4416,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -3844,6 +4431,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
"dependencies": {
"p-limit": "^3.0.2"
},
@@ -3858,6 +4446,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
"integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "dev": true,
"dependencies": {
"aggregate-error": "^3.0.0"
},
@@ -3872,19 +4461,106 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true,
"engines": {
"node": ">=6"
}
},
+ "node_modules/pac-proxy-agent": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz",
+ "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==",
+ "dev": true,
+ "dependencies": {
+ "@tootallnate/quickjs-emscripten": "^0.23.0",
+ "agent-base": "^7.0.2",
+ "debug": "^4.3.4",
+ "get-uri": "^6.0.1",
+ "http-proxy-agent": "^7.0.0",
+ "https-proxy-agent": "^7.0.2",
+ "pac-resolver": "^7.0.0",
+ "socks-proxy-agent": "^8.0.2"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/pac-proxy-agent/node_modules/agent-base": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
+ "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/pac-proxy-agent/node_modules/http-proxy-agent": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/pac-proxy-agent/node_modules/socks-proxy-agent": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz",
+ "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "^4.3.4",
+ "socks": "^2.7.1"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/pac-resolver": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz",
+ "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==",
+ "dev": true,
+ "dependencies": {
+ "degenerator": "^5.0.0",
+ "netmask": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
"node_modules/pako": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+ "dev": true
},
"node_modules/parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
"dependencies": {
"callsites": "^3.0.0"
},
@@ -3896,6 +4572,7 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
"dependencies": {
"@babel/code-frame": "^7.0.0",
"error-ex": "^1.3.1",
@@ -3913,6 +4590,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -3921,6 +4599,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -3929,6 +4608,7 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -3936,30 +4616,26 @@
"node_modules/path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "engines": {
- "node": ">=8"
- }
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
},
"node_modules/pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
+ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
+ "dev": true
},
- "node_modules/performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+ "dev": true
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
"engines": {
"node": ">=8.6"
},
@@ -3967,10 +4643,20 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/possible-typed-array-names": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
"engines": {
"node": ">= 0.8.0"
}
@@ -3978,17 +4664,20 @@
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true
},
"node_modules/promise-inflight": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
- "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g=="
+ "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
+ "dev": true
},
"node_modules/promise-retry": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
"integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
+ "dev": true,
"dependencies": {
"err-code": "^2.0.2",
"retry": "^0.12.0"
@@ -3997,45 +4686,116 @@
"node": ">=10"
}
},
+ "node_modules/proxy-agent": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz",
+ "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "^4.3.4",
+ "http-proxy-agent": "^7.0.1",
+ "https-proxy-agent": "^7.0.3",
+ "lru-cache": "^7.14.1",
+ "pac-proxy-agent": "^7.0.1",
+ "proxy-from-env": "^1.1.0",
+ "socks-proxy-agent": "^8.0.2"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/proxy-agent/node_modules/agent-base": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
+ "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/proxy-agent/node_modules/http-proxy-agent": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/proxy-agent/node_modules/https-proxy-agent": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/proxy-agent/node_modules/lru-cache": {
+ "version": "7.18.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/proxy-agent/node_modules/socks-proxy-agent": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz",
+ "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "^4.3.4",
+ "socks": "^2.7.1"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
- },
- "node_modules/psl": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
+ "dev": true
},
"node_modules/pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
},
"node_modules/punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true,
"engines": {
"node": ">=6"
}
},
- "node_modules/qs": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
- "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
- "engines": {
- "node": ">=0.6"
- }
- },
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -4055,6 +4815,7 @@
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
"integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
+ "dev": true,
"engines": {
"node": ">=10"
},
@@ -4066,6 +4827,7 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
"integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
"dependencies": {
"@types/normalize-package-data": "^2.4.0",
"normalize-package-data": "^2.5.0",
@@ -4080,6 +4842,7 @@
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
"integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
"dependencies": {
"find-up": "^4.1.0",
"read-pkg": "^5.2.0",
@@ -4096,6 +4859,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@@ -4108,6 +4872,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
"dependencies": {
"p-locate": "^4.1.0"
},
@@ -4119,6 +4884,7 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
"dependencies": {
"p-try": "^2.0.0"
},
@@ -4133,6 +4899,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
"dependencies": {
"p-limit": "^2.2.0"
},
@@ -4144,6 +4911,7 @@
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
"integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true,
"engines": {
"node": ">=8"
}
@@ -4151,12 +4919,14 @@
"node_modules/read-pkg/node_modules/hosted-git-info": {
"version": "2.8.9",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw=="
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+ "dev": true
},
"node_modules/read-pkg/node_modules/normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
"dependencies": {
"hosted-git-info": "^2.1.4",
"resolve": "^1.10.0",
@@ -4165,9 +4935,10 @@
}
},
"node_modules/read-pkg/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
"bin": {
"semver": "bin/semver"
}
@@ -4176,14 +4947,16 @@
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
"integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -4197,6 +4970,7 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
"dependencies": {
"picomatch": "^2.2.1"
},
@@ -4208,6 +4982,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
"integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+ "dev": true,
"dependencies": {
"indent-string": "^4.0.0",
"strip-indent": "^3.0.0"
@@ -4217,14 +4992,15 @@
}
},
"node_modules/regexp.prototype.flags": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz",
- "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==",
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
+ "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "functions-have-names": "^1.2.3"
+ "call-bind": "^1.0.6",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "set-function-name": "^2.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -4233,62 +5009,22 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/regexpp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- }
- },
- "node_modules/request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
- "dependencies": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/resolve": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
- "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "dev": true,
"dependencies": {
- "is-core-module": "^2.9.0",
+ "is-core-module": "^2.13.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@@ -4302,12 +5038,14 @@
"node_modules/resolve-alpn": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
- "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="
+ "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==",
+ "dev": true
},
"node_modules/resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
"engines": {
"node": ">=4"
}
@@ -4316,6 +5054,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
"integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
+ "dev": true,
"dependencies": {
"lowercase-keys": "^2.0.0"
},
@@ -4327,6 +5066,7 @@
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
"integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
+ "dev": true,
"engines": {
"node": ">= 4"
}
@@ -4335,6 +5075,7 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
"engines": {
"iojs": ">=1.0.0",
"node": ">=0.10.0"
@@ -4344,6 +5085,7 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
"dependencies": {
"glob": "^7.1.3"
},
@@ -4358,6 +5100,7 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -4376,10 +5119,29 @@
"queue-microtask": "^1.2.2"
}
},
+ "node_modules/safe-array-concat": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
+ "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4",
+ "has-symbols": "^1.0.3",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -4396,15 +5158,18 @@
]
},
"node_modules/safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
+ "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
"is-regex": "^1.1.4"
},
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -4412,12 +5177,15 @@
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true,
+ "optional": true
},
"node_modules/sass": {
- "version": "1.57.1",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz",
- "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==",
+ "version": "1.72.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.72.0.tgz",
+ "integrity": "sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==",
+ "dev": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
@@ -4427,13 +5195,14 @@
"sass": "sass.js"
},
"engines": {
- "node": ">=12.0.0"
+ "node": ">=14.0.0"
}
},
"node_modules/sass-graph": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.1.tgz",
"integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==",
+ "dev": true,
"dependencies": {
"glob": "^7.0.0",
"lodash": "^4.17.11",
@@ -4451,52 +5220,84 @@
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz",
"integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==",
+ "dev": true,
"dependencies": {
"js-base64": "^2.4.9",
"source-map": "^0.7.3"
}
},
"node_modules/selenium-webdriver": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.5.0.tgz",
- "integrity": "sha512-9mSFii+lRwcnT2KUAB1kqvx6+mMiiQHH60Y0VUtr3kxxi3oZ3CV3B8e2nuJ7T4SPb+Q6VA0swswe7rYpez07Bg==",
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.18.1.tgz",
+ "integrity": "sha512-uP4OJ5wR4+VjdTi5oi/k8oieV2fIhVdVuaOPrklKghgS59w7Zz3nGa5gcG73VcU9EBRv5IZEBRhPr7qFJAj5mQ==",
+ "dev": true,
"dependencies": {
- "jszip": "^3.10.0",
+ "jszip": "^3.10.1",
"tmp": "^0.2.1",
- "ws": ">=8.7.0"
+ "ws": ">=8.14.2"
},
"engines": {
"node": ">= 14.20.0"
}
},
"node_modules/semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
"bin": {
"semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
}
},
"node_modules/set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
+ "dev": true
+ },
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
},
"node_modules/setimmediate": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
+ "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
+ "dev": true
},
"node_modules/shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -4508,19 +5309,24 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
+ "object-inspect": "^1.13.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -4529,35 +5335,30 @@
"node_modules/signal-exit": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "engines": {
- "node": ">=8"
- }
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true
},
"node_modules/smart-buffer": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
"integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ "dev": true,
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
}
},
"node_modules/socks": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
- "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz",
+ "integrity": "sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==",
+ "dev": true,
"dependencies": {
- "ip": "^2.0.0",
+ "ip-address": "^9.0.5",
"smart-buffer": "^4.2.0"
},
"engines": {
- "node": ">= 10.13.0",
+ "node": ">= 10.0.0",
"npm": ">= 3.0.0"
}
},
@@ -4565,6 +5366,7 @@
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
"integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
+ "dev": true,
"dependencies": {
"agent-base": "^6.0.2",
"debug": "^4.3.3",
@@ -4578,74 +5380,63 @@
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
"integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+ "dev": true,
"engines": {
"node": ">= 8"
}
},
"node_modules/source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/spdx-correct": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
- "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+ "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
+ "dev": true,
"dependencies": {
"spdx-expression-parse": "^3.0.0",
"spdx-license-ids": "^3.0.0"
}
},
"node_modules/spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+ "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
+ "dev": true
},
"node_modules/spdx-expression-parse": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
"integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "dev": true,
"dependencies": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
}
},
"node_modules/spdx-license-ids": {
- "version": "3.0.12",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
- "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA=="
- },
- "node_modules/sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
- "dependencies": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- },
- "bin": {
- "sshpk-conv": "bin/sshpk-conv",
- "sshpk-sign": "bin/sshpk-sign",
- "sshpk-verify": "bin/sshpk-verify"
- },
- "engines": {
- "node": ">=0.10.0"
- }
+ "version": "3.0.17",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
+ "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
+ "dev": true
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
+ "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
+ "dev": true
},
"node_modules/ssri": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
"integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
+ "dev": true,
"dependencies": {
"minipass": "^3.1.1"
},
@@ -4657,14 +5448,22 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
"integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
+ "dev": true,
"dependencies": {
"readable-stream": "^2.0.1"
}
},
+ "node_modules/stdout-stream/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true
+ },
"node_modules/stdout-stream/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dev": true,
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -4678,12 +5477,14 @@
"node_modules/stdout-stream/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
},
"node_modules/stdout-stream/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
"dependencies": {
"safe-buffer": "~5.1.0"
}
@@ -4692,6 +5493,7 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dev": true,
"dependencies": {
"safe-buffer": "~5.2.0"
}
@@ -4700,6 +5502,7 @@
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -4710,14 +5513,15 @@
}
},
"node_modules/string.prototype.trim": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",
- "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==",
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
+ "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.0",
+ "es-object-atoms": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
@@ -4727,28 +5531,28 @@
}
},
"node_modules/string.prototype.trimend": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
- "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
+ "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/string.prototype.trimstart": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz",
- "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz",
+ "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -4758,6 +5562,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -4778,6 +5583,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
"integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+ "dev": true,
"dependencies": {
"min-indent": "^1.0.0"
},
@@ -4789,6 +5595,7 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
"engines": {
"node": ">=8"
},
@@ -4800,6 +5607,7 @@
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -4811,6 +5619,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -4822,6 +5631,7 @@
"version": "6.1.11",
"resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
"integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
+ "dev": true,
"dependencies": {
"chownr": "^2.0.0",
"fs-minipass": "^2.0.0",
@@ -4838,6 +5648,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz",
"integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==",
+ "dev": true,
"dependencies": {
"debug": "4.3.1",
"is2": "^2.0.6"
@@ -4847,6 +5658,7 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
"dependencies": {
"ms": "2.1.2"
},
@@ -4862,23 +5674,23 @@
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true
},
"node_modules/tmp": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
- "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
- "dependencies": {
- "rimraf": "^3.0.0"
- },
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
+ "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==",
+ "dev": true,
"engines": {
- "node": ">=8.17.0"
+ "node": ">=14.14"
}
},
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
"dependencies": {
"is-number": "^7.0.0"
},
@@ -4886,66 +5698,44 @@
"node": ">=8.0"
}
},
- "node_modules/tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "dependencies": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
"node_modules/trim-newlines": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
"integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
+ "dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/true-case-path": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
- "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
- "dependencies": {
- "glob": "^7.1.2"
- }
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz",
+ "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==",
+ "dev": true
},
"node_modules/tsconfig-paths": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
- "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
+ "version": "3.15.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
+ "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==",
"dev": true,
"dependencies": {
"@types/json5": "^0.0.29",
- "json5": "^1.0.1",
+ "json5": "^1.0.2",
"minimist": "^1.2.6",
"strip-bom": "^3.0.0"
}
},
- "node_modules/tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "dependencies": {
- "safe-buffer": "^5.0.1"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
+ "node_modules/tslib": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
+ "dev": true
},
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
"dependencies": {
"prelude-ls": "^1.2.1"
},
@@ -4957,6 +5747,7 @@
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
"engines": {
"node": ">=10"
},
@@ -4964,15 +5755,74 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/typed-array-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
+ "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/typed-array-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
+ "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-byte-offset": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
+ "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
+ "dev": true,
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/typed-array-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
- "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz",
+ "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "is-typed-array": "^1.1.9"
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13",
+ "possible-typed-array-names": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -4993,10 +5843,17 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/undici-types": {
+ "version": "5.26.5",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+ "dev": true
+ },
"node_modules/unique-filename": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
"integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+ "dev": true,
"dependencies": {
"unique-slug": "^2.0.0"
}
@@ -5005,14 +5862,25 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
"integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+ "dev": true,
"dependencies": {
"imurmurhash": "^0.1.4"
}
},
+ "node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
"dependencies": {
"punycode": "^2.1.0"
}
@@ -5020,43 +5888,24 @@
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "node_modules/uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
- "bin": {
- "uuid": "bin/uuid"
- }
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true
},
"node_modules/validate-npm-package-license": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
"integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
"dependencies": {
"spdx-correct": "^3.0.0",
"spdx-expression-parse": "^3.0.0"
}
},
- "node_modules/verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
- "engines": [
- "node >=0.6.0"
- ],
- "dependencies": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
"dependencies": {
"isexe": "^2.0.0"
},
@@ -5084,17 +5933,16 @@
}
},
"node_modules/which-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
- "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
+ "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
"dev": true,
"dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
"gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.10"
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -5107,22 +5955,16 @@
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
"integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "dev": true,
"dependencies": {
"string-width": "^1.0.2 || 2 || 3 || 4"
}
},
- "node_modules/word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -5138,18 +5980,20 @@
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true
},
"node_modules/ws": {
- "version": "8.9.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz",
- "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==",
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
+ "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
+ "dev": true,
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
+ "utf-8-validate": ">=5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
@@ -5164,6 +6008,7 @@
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "dev": true,
"engines": {
"node": ">=10"
}
@@ -5171,12 +6016,14 @@
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
},
"node_modules/yargs": {
- "version": "17.6.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz",
- "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==",
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "dev": true,
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -5184,7 +6031,7 @@
"require-directory": "^2.1.1",
"string-width": "^4.2.3",
"y18n": "^5.0.5",
- "yargs-parser": "^21.0.0"
+ "yargs-parser": "^21.1.1"
},
"engines": {
"node": ">=12"
@@ -5194,6 +6041,7 @@
"version": "20.2.9",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
"integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "dev": true,
"engines": {
"node": ">=10"
}
@@ -5202,6 +6050,7 @@
"version": "21.1.1",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "dev": true,
"engines": {
"node": ">=12"
}
@@ -5210,6 +6059,7 @@
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+ "dev": true,
"dependencies": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
@@ -5219,6 +6069,7 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
"engines": {
"node": ">=10"
},
@@ -5226,3757 +6077,5 @@
"url": "https://github.com/sponsors/sindresorhus"
}
}
- },
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
- "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
- "requires": {
- "@babel/highlight": "^7.18.6"
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
- "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w=="
- },
- "@babel/highlight": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
- "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
- "requires": {
- "@babel/helper-validator-identifier": "^7.18.6",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@esbuild/android-arm": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.5.tgz",
- "integrity": "sha512-bhvbzWFF3CwMs5tbjf3ObfGqbl/17ict2/uwOSfr3wmxDE6VdS2GqY/FuzIPe0q0bdhj65zQsvqfArI9MY6+AA==",
- "dev": true,
- "optional": true
- },
- "@esbuild/android-arm64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.5.tgz",
- "integrity": "sha512-5d1OkoJxnYQfmC+Zd8NBFjkhyCNYwM4n9ODrycTFY6Jk1IGiZ+tjVJDDSwDt77nK+tfpGP4T50iMtVi4dEGzhQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/android-x64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.5.tgz",
- "integrity": "sha512-9t+28jHGL7uBdkBjL90QFxe7DVA+KGqWlHCF8ChTKyaKO//VLuoBricQCgwhOjA1/qOczsw843Fy4cbs4H3DVA==",
- "dev": true,
- "optional": true
- },
- "@esbuild/darwin-arm64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.5.tgz",
- "integrity": "sha512-mvXGcKqqIqyKoxq26qEDPHJuBYUA5KizJncKOAf9eJQez+L9O+KfvNFu6nl7SCZ/gFb2QPaRqqmG0doSWlgkqw==",
- "dev": true,
- "optional": true
- },
- "@esbuild/darwin-x64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.5.tgz",
- "integrity": "sha512-Ly8cn6fGLNet19s0X4unjcniX24I0RqjPv+kurpXabZYSXGM4Pwpmf85WHJN3lAgB8GSth7s5A0r856S+4DyiA==",
- "dev": true,
- "optional": true
- },
- "@esbuild/freebsd-arm64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.5.tgz",
- "integrity": "sha512-GGDNnPWTmWE+DMchq1W8Sd0mUkL+APvJg3b11klSGUDvRXh70JqLAO56tubmq1s2cgpVCSKYywEiKBfju8JztQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/freebsd-x64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.5.tgz",
- "integrity": "sha512-1CCwDHnSSoA0HNwdfoNY0jLfJpd7ygaLAp5EHFos3VWJCRX9DMwWODf96s9TSse39Br7oOTLryRVmBoFwXbuuQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-arm": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.5.tgz",
- "integrity": "sha512-lrWXLY/vJBzCPC51QN0HM71uWgIEpGSjSZZADQhq7DKhPcI6NH1IdzjfHkDQws2oNpJKpR13kv7/pFHBbDQDwQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-arm64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.5.tgz",
- "integrity": "sha512-o3vYippBmSrjjQUCEEiTZ2l+4yC0pVJD/Dl57WfPwwlvFkrxoSO7rmBZFii6kQB3Wrn/6GwJUPLU5t52eq2meA==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-ia32": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.5.tgz",
- "integrity": "sha512-MkjHXS03AXAkNp1KKkhSKPOCYztRtK+KXDNkBa6P78F8Bw0ynknCSClO/ztGszILZtyO/lVKpa7MolbBZ6oJtQ==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-loong64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.5.tgz",
- "integrity": "sha512-42GwZMm5oYOD/JHqHska3Jg0r+XFb/fdZRX+WjADm3nLWLcIsN27YKtqxzQmGNJgu0AyXg4HtcSK9HuOk3v1Dw==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-mips64el": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.5.tgz",
- "integrity": "sha512-kcjndCSMitUuPJobWCnwQ9lLjiLZUR3QLQmlgaBfMX23UEa7ZOrtufnRds+6WZtIS9HdTXqND4yH8NLoVVIkcg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-ppc64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.5.tgz",
- "integrity": "sha512-yJAxJfHVm0ZbsiljbtFFP1BQKLc8kUF6+17tjQ78QjqjAQDnhULWiTA6u0FCDmYT1oOKS9PzZ2z0aBI+Mcyj7Q==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-riscv64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.5.tgz",
- "integrity": "sha512-5u8cIR/t3gaD6ad3wNt1MNRstAZO+aNyBxu2We8X31bA8XUNyamTVQwLDA1SLoPCUehNCymhBhK3Qim1433Zag==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-s390x": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.5.tgz",
- "integrity": "sha512-Z6JrMyEw/EmZBD/OFEFpb+gao9xJ59ATsoTNlj39jVBbXqoZm4Xntu6wVmGPB/OATi1uk/DB+yeDPv2E8PqZGw==",
- "dev": true,
- "optional": true
- },
- "@esbuild/linux-x64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.5.tgz",
- "integrity": "sha512-psagl+2RlK1z8zWZOmVdImisMtrUxvwereIdyJTmtmHahJTKb64pAcqoPlx6CewPdvGvUKe2Jw+0Z/0qhSbG1A==",
- "dev": true,
- "optional": true
- },
- "@esbuild/netbsd-x64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.5.tgz",
- "integrity": "sha512-kL2l+xScnAy/E/3119OggX8SrWyBEcqAh8aOY1gr4gPvw76la2GlD4Ymf832UCVbmuWeTf2adkZDK+h0Z/fB4g==",
- "dev": true,
- "optional": true
- },
- "@esbuild/openbsd-x64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.5.tgz",
- "integrity": "sha512-sPOfhtzFufQfTBgRnE1DIJjzsXukKSvZxloZbkJDG383q0awVAq600pc1nfqBcl0ice/WN9p4qLc39WhBShRTA==",
- "dev": true,
- "optional": true
- },
- "@esbuild/sunos-x64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.5.tgz",
- "integrity": "sha512-dGZkBXaafuKLpDSjKcB0ax0FL36YXCvJNnztjKV+6CO82tTYVDSH2lifitJ29jxRMoUhgkg9a+VA/B03WK5lcg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/win32-arm64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.5.tgz",
- "integrity": "sha512-dWVjD9y03ilhdRQ6Xig1NWNgfLtf2o/STKTS+eZuF90fI2BhbwD6WlaiCGKptlqXlURVB5AUOxUj09LuwKGDTg==",
- "dev": true,
- "optional": true
- },
- "@esbuild/win32-ia32": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.5.tgz",
- "integrity": "sha512-4liggWIA4oDgUxqpZwrDhmEfAH4d0iljanDOK7AnVU89T6CzHon/ony8C5LeOdfgx60x5cnQJFZwEydVlYx4iw==",
- "dev": true,
- "optional": true
- },
- "@esbuild/win32-x64": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.5.tgz",
- "integrity": "sha512-czTrygUsB/jlM8qEW5MD8bgYU2Xg14lo6kBDXW6HdxKjh8M5PzETGiSHaz9MtbXBYDloHNUAUW2tMiKW4KM9Mw==",
- "dev": true,
- "optional": true
- },
- "@eslint/eslintrc": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
- "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
- "requires": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.4.0",
- "globals": "^13.15.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- }
- },
- "@gar/promisify": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
- "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw=="
- },
- "@humanwhocodes/config-array": {
- "version": "0.10.7",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz",
- "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==",
- "requires": {
- "@humanwhocodes/object-schema": "^1.2.1",
- "debug": "^4.1.1",
- "minimatch": "^3.0.4"
- }
- },
- "@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="
- },
- "@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA=="
- },
- "@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
- },
- "@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "@npmcli/fs": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
- "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
- "requires": {
- "@gar/promisify": "^1.0.1",
- "semver": "^7.3.5"
- }
- },
- "@npmcli/move-file": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
- "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
- "requires": {
- "mkdirp": "^1.0.4",
- "rimraf": "^3.0.2"
- }
- },
- "@sindresorhus/is": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
- "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw=="
- },
- "@szmarczak/http-timer": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
- "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
- "requires": {
- "defer-to-connect": "^2.0.0"
- }
- },
- "@testim/chrome-version": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.3.tgz",
- "integrity": "sha512-g697J3WxV/Zytemz8aTuKjTGYtta9+02kva3C1xc7KXB8GdbfE1akGJIsZLyY/FSh2QrnE+fiB7vmWU3XNcb6A=="
- },
- "@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw=="
- },
- "@types/cacheable-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
- "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
- "requires": {
- "@types/http-cache-semantics": "*",
- "@types/keyv": "*",
- "@types/node": "*",
- "@types/responselike": "*"
- }
- },
- "@types/http-cache-semantics": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
- "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ=="
- },
- "@types/json5": {
- "version": "0.0.29",
- "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
- "dev": true
- },
- "@types/keyv": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
- "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/minimist": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
- "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ=="
- },
- "@types/node": {
- "version": "18.8.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.3.tgz",
- "integrity": "sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w=="
- },
- "@types/normalize-package-data": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
- "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw=="
- },
- "@types/responselike": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
- "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
- "optional": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
- },
- "acorn": {
- "version": "8.8.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
- "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w=="
- },
- "acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "requires": {}
- },
- "adm-zip": {
- "version": "0.5.9",
- "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz",
- "integrity": "sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg=="
- },
- "agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "requires": {
- "debug": "4"
- }
- },
- "agentkeepalive": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
- "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
- "requires": {
- "debug": "^4.1.0",
- "depd": "^1.1.2",
- "humanize-ms": "^1.2.1"
- }
- },
- "aggregate-error": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
- "requires": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- }
- },
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "aproba": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
- "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
- },
- "are-we-there-yet": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
- "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- }
- },
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
- },
- "array-buffer-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
- "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "is-array-buffer": "^3.0.1"
- }
- },
- "array-includes": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
- "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "get-intrinsic": "^1.1.3",
- "is-string": "^1.0.7"
- }
- },
- "array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
- },
- "array.prototype.flat": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
- "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0"
- }
- },
- "array.prototype.flatmap": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
- "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4",
- "es-shim-unscopables": "^1.0.0"
- }
- },
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA=="
- },
- "asn1": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
- "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw=="
- },
- "async-foreach": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
- "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA=="
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
- },
- "available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
- "dev": true
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA=="
- },
- "aws4": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
- },
- "axios": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
- "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
- "requires": {
- "follow-redirects": "^1.14.0"
- }
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
- "requires": {
- "tweetnacl": "^0.14.3"
- }
- },
- "binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
- },
- "bluebird": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="
- },
- "cacache": {
- "version": "15.3.0",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
- "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
- "requires": {
- "@npmcli/fs": "^1.0.0",
- "@npmcli/move-file": "^1.0.1",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "glob": "^7.1.4",
- "infer-owner": "^1.0.4",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.1",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.2",
- "mkdirp": "^1.0.3",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^8.0.1",
- "tar": "^6.0.2",
- "unique-filename": "^1.1.1"
- }
- },
- "cacheable-lookup": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
- "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA=="
- },
- "cacheable-request": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
- "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
- "requires": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^4.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^6.0.1",
- "responselike": "^2.0.0"
- }
- },
- "call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- }
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
- },
- "camelcase-keys": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
- "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
- "requires": {
- "camelcase": "^5.3.1",
- "map-obj": "^4.0.0",
- "quick-lru": "^4.0.1"
- },
- "dependencies": {
- "quick-lru": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
- "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g=="
- }
- }
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "requires": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "fsevents": "~2.3.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
- }
- },
- "chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
- },
- "chromedriver": {
- "version": "91.0.1",
- "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-91.0.1.tgz",
- "integrity": "sha512-9LktpHiUxM4UWUsr+jI1K1YKx2GENt6BKKJ2mibPj1Wc6ODzX/3fFIlr8CZ4Ftuyga+dHTTbAyPWKwKvybEbKA==",
- "requires": {
- "@testim/chrome-version": "^1.0.7",
- "axios": "^0.21.1",
- "del": "^6.0.0",
- "extract-zip": "^2.0.1",
- "https-proxy-agent": "^5.0.0",
- "proxy-from-env": "^1.1.0",
- "tcp-port-used": "^1.0.1"
- }
- },
- "clean-stack": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A=="
- },
- "cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- }
- },
- "clone-response": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
- "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==",
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
- "color-support": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
- "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
- },
- "combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
- },
- "console-control-strings": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ=="
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="
- },
- "decamelize-keys": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
- "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==",
- "requires": {
- "decamelize": "^1.1.0",
- "map-obj": "^1.0.0"
- },
- "dependencies": {
- "map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg=="
- }
- }
- },
- "decompress-response": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
- "requires": {
- "mimic-response": "^3.1.0"
- },
- "dependencies": {
- "mimic-response": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="
- }
- }
- },
- "deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
- },
- "defer-to-connect": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
- "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg=="
- },
- "define-properties": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
- "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
- "dev": true,
- "requires": {
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- }
- },
- "del": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz",
- "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==",
- "requires": {
- "globby": "^11.0.1",
- "graceful-fs": "^4.2.4",
- "is-glob": "^4.0.1",
- "is-path-cwd": "^2.2.0",
- "is-path-inside": "^3.0.2",
- "p-map": "^4.0.0",
- "rimraf": "^3.0.2",
- "slash": "^3.0.0"
- }
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
- },
- "delegates": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
- },
- "depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ=="
- },
- "dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "requires": {
- "path-type": "^4.0.0"
- }
- },
- "doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
- },
- "encoding": {
- "version": "0.1.13",
- "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
- "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
- "optional": true,
- "requires": {
- "iconv-lite": "^0.6.2"
- }
- },
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "requires": {
- "once": "^1.4.0"
- }
- },
- "env-paths": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
- "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="
- },
- "err-code": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
- "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA=="
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "es-abstract": {
- "version": "1.21.2",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz",
- "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==",
- "dev": true,
- "requires": {
- "array-buffer-byte-length": "^1.0.0",
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "es-set-tostringtag": "^2.0.1",
- "es-to-primitive": "^1.2.1",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.2.0",
- "get-symbol-description": "^1.0.0",
- "globalthis": "^1.0.3",
- "gopd": "^1.0.1",
- "has": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
- "is-array-buffer": "^3.0.2",
- "is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
- "is-string": "^1.0.7",
- "is-typed-array": "^1.1.10",
- "is-weakref": "^1.0.2",
- "object-inspect": "^1.12.3",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
- "safe-regex-test": "^1.0.0",
- "string.prototype.trim": "^1.2.7",
- "string.prototype.trimend": "^1.0.6",
- "string.prototype.trimstart": "^1.0.6",
- "typed-array-length": "^1.0.4",
- "unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.9"
- }
- },
- "es-set-tostringtag": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
- "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
- "dev": true,
- "requires": {
- "get-intrinsic": "^1.1.3",
- "has": "^1.0.3",
- "has-tostringtag": "^1.0.0"
- }
- },
- "es-shim-unscopables": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
- "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dev": true,
- "requires": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- }
- },
- "esbuild": {
- "version": "0.19.5",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.5.tgz",
- "integrity": "sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==",
- "dev": true,
- "requires": {
- "@esbuild/android-arm": "0.19.5",
- "@esbuild/android-arm64": "0.19.5",
- "@esbuild/android-x64": "0.19.5",
- "@esbuild/darwin-arm64": "0.19.5",
- "@esbuild/darwin-x64": "0.19.5",
- "@esbuild/freebsd-arm64": "0.19.5",
- "@esbuild/freebsd-x64": "0.19.5",
- "@esbuild/linux-arm": "0.19.5",
- "@esbuild/linux-arm64": "0.19.5",
- "@esbuild/linux-ia32": "0.19.5",
- "@esbuild/linux-loong64": "0.19.5",
- "@esbuild/linux-mips64el": "0.19.5",
- "@esbuild/linux-ppc64": "0.19.5",
- "@esbuild/linux-riscv64": "0.19.5",
- "@esbuild/linux-s390x": "0.19.5",
- "@esbuild/linux-x64": "0.19.5",
- "@esbuild/netbsd-x64": "0.19.5",
- "@esbuild/openbsd-x64": "0.19.5",
- "@esbuild/sunos-x64": "0.19.5",
- "@esbuild/win32-arm64": "0.19.5",
- "@esbuild/win32-ia32": "0.19.5",
- "@esbuild/win32-x64": "0.19.5"
- }
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
- },
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
- },
- "eslint": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.25.0.tgz",
- "integrity": "sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==",
- "requires": {
- "@eslint/eslintrc": "^1.3.3",
- "@humanwhocodes/config-array": "^0.10.5",
- "@humanwhocodes/module-importer": "^1.0.1",
- "ajv": "^6.10.0",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "doctrine": "^3.0.0",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.1.1",
- "eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.3.0",
- "espree": "^9.4.0",
- "esquery": "^1.4.0",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.1",
- "globals": "^13.15.0",
- "globby": "^11.1.0",
- "grapheme-splitter": "^1.0.4",
- "ignore": "^5.2.0",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "js-sdsl": "^4.1.4",
- "js-yaml": "^4.1.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "regexpp": "^3.2.0",
- "strip-ansi": "^6.0.1",
- "strip-json-comments": "^3.1.0",
- "text-table": "^0.2.0"
- }
- },
- "eslint-import-resolver-node": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz",
- "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==",
- "dev": true,
- "requires": {
- "debug": "^3.2.7",
- "is-core-module": "^2.11.0",
- "resolve": "^1.22.1"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "eslint-module-utils": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
- "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==",
- "dev": true,
- "requires": {
- "debug": "^3.2.7"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "eslint-plugin-import": {
- "version": "2.27.5",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz",
- "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==",
- "dev": true,
- "requires": {
- "array-includes": "^3.1.6",
- "array.prototype.flat": "^1.3.1",
- "array.prototype.flatmap": "^1.3.1",
- "debug": "^3.2.7",
- "doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.7",
- "eslint-module-utils": "^2.7.4",
- "has": "^1.0.3",
- "is-core-module": "^2.11.0",
- "is-glob": "^4.0.3",
- "minimatch": "^3.1.2",
- "object.values": "^1.1.6",
- "resolve": "^1.22.1",
- "semver": "^6.3.0",
- "tsconfig-paths": "^3.14.1"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "eslint-scope": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
- "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- }
- },
- "eslint-utils": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
- "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
- "requires": {
- "eslint-visitor-keys": "^2.0.0"
- },
- "dependencies": {
- "eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw=="
- }
- }
- },
- "eslint-visitor-keys": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
- "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA=="
- },
- "espree": {
- "version": "9.4.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
- "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
- "requires": {
- "acorn": "^8.8.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.3.0"
- }
- },
- "esquery": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
- "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
- "requires": {
- "estraverse": "^5.1.0"
- }
- },
- "esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "requires": {
- "estraverse": "^5.2.0"
- }
- },
- "estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
- },
- "extract-zip": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "requires": {
- "@types/yauzl": "^2.9.1",
- "debug": "^4.1.1",
- "get-stream": "^5.1.0",
- "yauzl": "^2.10.0"
- }
- },
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g=="
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
- },
- "fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
- }
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
- },
- "fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
- "requires": {
- "pend": "~1.2.0"
- }
- },
- "file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "requires": {
- "flat-cache": "^3.0.4"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "requires": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "requires": {
- "flatted": "^3.1.0",
- "rimraf": "^3.0.2"
- }
- },
- "flatted": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
- "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
- },
- "follow-redirects": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
- "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
- },
- "for-each": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
- "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
- "dev": true,
- "requires": {
- "is-callable": "^1.1.3"
- }
- },
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw=="
- },
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
- },
- "fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "optional": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- },
- "function.prototype.name": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
- "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.0",
- "functions-have-names": "^1.2.2"
- }
- },
- "functions-have-names": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "dev": true
- },
- "gauge": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
- "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
- "requires": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.2",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.1",
- "object-assign": "^4.1.1",
- "signal-exit": "^3.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.2"
- }
- },
- "gaze": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
- "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
- "requires": {
- "globule": "^1.0.0"
- }
- },
- "geckodriver": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/geckodriver/-/geckodriver-3.0.2.tgz",
- "integrity": "sha512-GHOQzQnTeZOJdcdEXLuzmcRwkbHuei1VivXkn2BLyleKiT6lTvl0T7vm+d0wvr/EZC7jr0m1u1pBHSfqtuFuNQ==",
- "requires": {
- "adm-zip": "0.5.9",
- "bluebird": "3.7.2",
- "got": "11.8.5",
- "https-proxy-agent": "5.0.0",
- "tar": "6.1.11"
- },
- "dependencies": {
- "https-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
- "requires": {
- "agent-base": "6",
- "debug": "4"
- }
- }
- }
- },
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
- },
- "get-intrinsic": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
- "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.3"
- }
- },
- "get-stdin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw=="
- },
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
- }
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "requires": {
- "is-glob": "^4.0.3"
- }
- },
- "globals": {
- "version": "13.17.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
- "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
- "requires": {
- "type-fest": "^0.20.2"
- }
- },
- "globalthis": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
- "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3"
- }
- },
- "globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- }
- },
- "globule": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz",
- "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==",
- "requires": {
- "glob": "~7.1.1",
- "lodash": "^4.17.21",
- "minimatch": "~3.0.2"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "minimatch": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
- "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
- }
- },
- "gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dev": true,
- "requires": {
- "get-intrinsic": "^1.1.3"
- }
- },
- "got": {
- "version": "11.8.5",
- "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz",
- "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==",
- "requires": {
- "@sindresorhus/is": "^4.0.0",
- "@szmarczak/http-timer": "^4.0.5",
- "@types/cacheable-request": "^6.0.1",
- "@types/responselike": "^1.0.0",
- "cacheable-lookup": "^5.0.3",
- "cacheable-request": "^7.0.2",
- "decompress-response": "^6.0.0",
- "http2-wrapper": "^1.0.0-beta.5.2",
- "lowercase-keys": "^2.0.0",
- "p-cancelable": "^2.0.0",
- "responselike": "^2.0.0"
- }
- },
- "graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
- },
- "grapheme-splitter": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
- "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
- },
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q=="
- },
- "har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "requires": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- }
- },
- "hard-rejection": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
- "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA=="
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-bigints": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
- "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
- },
- "has-property-descriptors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
- "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
- "dev": true,
- "requires": {
- "get-intrinsic": "^1.1.1"
- }
- },
- "has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
- "dev": true
- },
- "has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "dev": true
- },
- "has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.2"
- }
- },
- "has-unicode": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ=="
- },
- "hosted-git-info": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
- "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "http-cache-semantics": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
- },
- "http-proxy-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
- "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
- "requires": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "http2-wrapper": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
- "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
- "requires": {
- "quick-lru": "^5.1.1",
- "resolve-alpn": "^1.0.0"
- }
- },
- "https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
- "requires": {
- "agent-base": "6",
- "debug": "4"
- }
- },
- "humanize-ms": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
- "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
- "requires": {
- "ms": "^2.0.0"
- }
- },
- "iconv-lite": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "optional": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- }
- },
- "ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ=="
- },
- "immediate": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
- "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="
- },
- "immutable": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz",
- "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og=="
- },
- "import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="
- },
- "indent-string": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg=="
- },
- "infer-owner": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
- "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A=="
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "internal-slot": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
- "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==",
- "dev": true,
- "requires": {
- "get-intrinsic": "^1.2.0",
- "has": "^1.0.3",
- "side-channel": "^1.0.4"
- }
- },
- "ip": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
- "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
- },
- "ip-regex": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz",
- "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q=="
- },
- "is-array-buffer": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
- "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.0",
- "is-typed-array": "^1.1.10"
- }
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
- },
- "is-bigint": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
- "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "dev": true,
- "requires": {
- "has-bigints": "^1.0.1"
- }
- },
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-boolean-object": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
- "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-callable": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "dev": true
- },
- "is-core-module": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz",
- "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==",
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "dev": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-lambda": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
- "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ=="
- },
- "is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
- "dev": true
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
- },
- "is-number-object": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
- "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
- "dev": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-path-cwd": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
- "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ=="
- },
- "is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ=="
- },
- "is-plain-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
- "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg=="
- },
- "is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2"
- }
- },
- "is-string": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
- "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "dev": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-symbol": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
- "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "dev": true,
- "requires": {
- "has-symbols": "^1.0.2"
- }
- },
- "is-typed-array": {
- "version": "1.1.10",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
- "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
- "dev": true,
- "requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
- }
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
- },
- "is-url": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
- "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww=="
- },
- "is-weakref": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
- "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2"
- }
- },
- "is2": {
- "version": "2.0.9",
- "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.9.tgz",
- "integrity": "sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==",
- "requires": {
- "deep-is": "^0.1.3",
- "ip-regex": "^4.1.0",
- "is-url": "^1.2.4"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
- },
- "js-base64": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
- "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
- },
- "js-sdsl": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz",
- "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q=="
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
- },
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
- },
- "json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
- },
- "json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
- },
- "json-schema": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- },
- "json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
- },
- "json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "jsprim": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
- "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.4.0",
- "verror": "1.10.0"
- }
- },
- "jszip": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
- "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
- "requires": {
- "lie": "~3.3.0",
- "pako": "~1.0.2",
- "readable-stream": "~2.3.6",
- "setimmediate": "^1.0.5"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "keyv": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.0.tgz",
- "integrity": "sha512-2YvuMsA+jnFGtBareKqgANOEKe1mk3HKiXu2fRmAfyxG0MJAywNhi5ttWA3PMjl4NmpyjZNbFifR2vNjW1znfA==",
- "requires": {
- "json-buffer": "3.0.1"
- }
- },
- "kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
- },
- "levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "requires": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- }
- },
- "lie": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
- "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
- "requires": {
- "immediate": "~3.0.5"
- }
- },
- "lines-and-columns": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
- },
- "locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "requires": {
- "p-locate": "^5.0.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- },
- "lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
- },
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "make-fetch-happen": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
- "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
- "requires": {
- "agentkeepalive": "^4.1.3",
- "cacache": "^15.2.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.3",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^1.3.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.2",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^6.0.0",
- "ssri": "^8.0.0"
- }
- },
- "map-obj": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
- "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ=="
- },
- "meow": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
- "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
- "requires": {
- "@types/minimist": "^1.2.0",
- "camelcase-keys": "^6.2.2",
- "decamelize": "^1.2.0",
- "decamelize-keys": "^1.1.0",
- "hard-rejection": "^2.1.0",
- "minimist-options": "4.1.0",
- "normalize-package-data": "^3.0.0",
- "read-pkg-up": "^7.0.1",
- "redent": "^3.0.0",
- "trim-newlines": "^3.0.0",
- "type-fest": "^0.18.0",
- "yargs-parser": "^20.2.3"
- },
- "dependencies": {
- "type-fest": {
- "version": "0.18.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
- "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw=="
- }
- }
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
- },
- "micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "requires": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- }
- },
- "mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
- },
- "mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "requires": {
- "mime-db": "1.52.0"
- }
- },
- "mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
- },
- "min-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
- "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg=="
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
- "dev": true
- },
- "minimist-options": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
- "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
- "requires": {
- "arrify": "^1.0.1",
- "is-plain-obj": "^1.1.0",
- "kind-of": "^6.0.3"
- }
- },
- "minipass": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz",
- "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==",
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "minipass-collect": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
- "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minipass-fetch": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
- "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
- "requires": {
- "encoding": "^0.1.12",
- "minipass": "^3.1.0",
- "minipass-sized": "^1.0.3",
- "minizlib": "^2.0.0"
- }
- },
- "minipass-flush": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
- "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minipass-pipeline": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
- "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minipass-sized": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
- "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minizlib": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
- "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
- "requires": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- }
- },
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "nan": {
- "version": "2.16.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz",
- "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA=="
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
- },
- "negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
- },
- "node-gyp": {
- "version": "8.4.1",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
- "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
- "requires": {
- "env-paths": "^2.2.0",
- "glob": "^7.1.4",
- "graceful-fs": "^4.2.6",
- "make-fetch-happen": "^9.1.0",
- "nopt": "^5.0.0",
- "npmlog": "^6.0.0",
- "rimraf": "^3.0.2",
- "semver": "^7.3.5",
- "tar": "^6.1.2",
- "which": "^2.0.2"
- },
- "dependencies": {
- "are-we-there-yet": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
- "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- }
- },
- "gauge": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
- "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
- "requires": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.3",
- "console-control-strings": "^1.1.0",
- "has-unicode": "^2.0.1",
- "signal-exit": "^3.0.7",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.5"
- }
- },
- "npmlog": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
- "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
- "requires": {
- "are-we-there-yet": "^3.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^4.0.3",
- "set-blocking": "^2.0.0"
- }
- }
- }
- },
- "node-sass": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.3.tgz",
- "integrity": "sha512-8MIlsY/4dXUkJDYht9pIWBhMil3uHmE8b/AdJPjmFn1nBx9X9BASzfzmsCy0uCCb8eqI3SYYzVPDswWqSx7gjw==",
- "requires": {
- "async-foreach": "^0.1.3",
- "chalk": "^4.1.2",
- "cross-spawn": "^7.0.3",
- "gaze": "^1.0.0",
- "get-stdin": "^4.0.1",
- "glob": "^7.0.3",
- "lodash": "^4.17.15",
- "meow": "^9.0.0",
- "nan": "^2.13.2",
- "node-gyp": "^8.4.1",
- "npmlog": "^5.0.0",
- "request": "^2.88.0",
- "sass-graph": "^4.0.1",
- "stdout-stream": "^1.4.0",
- "true-case-path": "^1.0.2"
- }
- },
- "nopt": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
- "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
- "requires": {
- "abbrev": "1"
- }
- },
- "normalize-package-data": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
- "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
- "requires": {
- "hosted-git-info": "^4.0.1",
- "is-core-module": "^2.5.0",
- "semver": "^7.3.4",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
- },
- "normalize-url": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="
- },
- "npmlog": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
- "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
- "requires": {
- "are-we-there-yet": "^2.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^3.0.0",
- "set-blocking": "^2.0.0"
- }
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
- },
- "object-inspect": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
- "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
- "dev": true
- },
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true
- },
- "object.assign": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
- "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "has-symbols": "^1.0.3",
- "object-keys": "^1.1.1"
- }
- },
- "object.values": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz",
- "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- }
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "requires": {
- "wrappy": "1"
- }
- },
- "optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
- "requires": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
- }
- },
- "p-cancelable": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
- "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg=="
- },
- "p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "requires": {
- "yocto-queue": "^0.1.0"
- }
- },
- "p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "requires": {
- "p-limit": "^3.0.2"
- }
- },
- "p-map": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
- "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
- "requires": {
- "aggregate-error": "^3.0.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
- },
- "pako": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
- },
- "parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "parse-json": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
- },
- "path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
- },
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
- },
- "pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
- },
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
- },
- "picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
- },
- "prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
- },
- "process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
- },
- "promise-inflight": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
- "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g=="
- },
- "promise-retry": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
- "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
- "requires": {
- "err-code": "^2.0.2",
- "retry": "^0.12.0"
- }
- },
- "proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
- },
- "psl": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
- },
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
- },
- "qs": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
- "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA=="
- },
- "queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
- },
- "quick-lru": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="
- },
- "read-pkg": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
- "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
- "requires": {
- "@types/normalize-package-data": "^2.4.0",
- "normalize-package-data": "^2.5.0",
- "parse-json": "^5.0.0",
- "type-fest": "^0.6.0"
- },
- "dependencies": {
- "hosted-git-info": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw=="
- },
- "normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
- "requires": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- },
- "type-fest": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg=="
- }
- }
- },
- "read-pkg-up": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
- "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
- "requires": {
- "find-up": "^4.1.0",
- "read-pkg": "^5.2.0",
- "type-fest": "^0.8.1"
- },
- "dependencies": {
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "type-fest": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA=="
- }
- }
- },
- "readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- },
- "readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "redent": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
- "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
- "requires": {
- "indent-string": "^4.0.0",
- "strip-indent": "^3.0.0"
- }
- },
- "regexp.prototype.flags": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz",
- "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "functions-have-names": "^1.2.3"
- }
- },
- "regexpp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg=="
- },
- "request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- }
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
- },
- "resolve": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
- "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
- "requires": {
- "is-core-module": "^2.9.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- }
- },
- "resolve-alpn": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
- "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="
- },
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
- },
- "responselike": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
- "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==",
- "requires": {
- "lowercase-keys": "^2.0.0"
- }
- },
- "retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
- "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow=="
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
- },
- "safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
- "is-regex": "^1.1.4"
- }
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "sass": {
- "version": "1.57.1",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz",
- "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==",
- "requires": {
- "chokidar": ">=3.0.0 <4.0.0",
- "immutable": "^4.0.0",
- "source-map-js": ">=0.6.2 <2.0.0"
- }
- },
- "sass-graph": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.1.tgz",
- "integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==",
- "requires": {
- "glob": "^7.0.0",
- "lodash": "^4.17.11",
- "scss-tokenizer": "^0.4.3",
- "yargs": "^17.2.1"
- }
- },
- "scss-tokenizer": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz",
- "integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==",
- "requires": {
- "js-base64": "^2.4.9",
- "source-map": "^0.7.3"
- }
- },
- "selenium-webdriver": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.5.0.tgz",
- "integrity": "sha512-9mSFii+lRwcnT2KUAB1kqvx6+mMiiQHH60Y0VUtr3kxxi3oZ3CV3B8e2nuJ7T4SPb+Q6VA0swswe7rYpez07Bg==",
- "requires": {
- "jszip": "^3.10.0",
- "tmp": "^0.2.1",
- "ws": ">=8.7.0"
- }
- },
- "semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
- },
- "setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
- },
- "side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- }
- },
- "signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
- },
- "smart-buffer": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
- "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
- },
- "socks": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
- "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
- "requires": {
- "ip": "^2.0.0",
- "smart-buffer": "^4.2.0"
- }
- },
- "socks-proxy-agent": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
- "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
- "requires": {
- "agent-base": "^6.0.2",
- "debug": "^4.3.3",
- "socks": "^2.6.2"
- }
- },
- "source-map": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
- "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA=="
- },
- "source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
- },
- "spdx-correct": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
- "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="
- },
- "spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.12",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz",
- "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA=="
- },
- "sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
- "ssri": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
- "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
- "requires": {
- "minipass": "^3.1.1"
- }
- },
- "stdout-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
- "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
- "requires": {
- "readable-stream": "^2.0.1"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "string.prototype.trim": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",
- "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- }
- },
- "string.prototype.trimend": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
- "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- }
- },
- "string.prototype.trimstart": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz",
- "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "dev": true
- },
- "strip-indent": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
- "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
- "requires": {
- "min-indent": "^1.0.0"
- }
- },
- "strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
- },
- "tar": {
- "version": "6.1.11",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
- "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
- "requires": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^3.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- }
- },
- "tcp-port-used": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz",
- "integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==",
- "requires": {
- "debug": "4.3.1",
- "is2": "^2.0.6"
- },
- "dependencies": {
- "debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "requires": {
- "ms": "2.1.2"
- }
- }
- }
- },
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw=="
- },
- "tmp": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
- "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
- "requires": {
- "rimraf": "^3.0.0"
- }
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "requires": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- }
- },
- "trim-newlines": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
- "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw=="
- },
- "true-case-path": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
- "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
- "requires": {
- "glob": "^7.1.2"
- }
- },
- "tsconfig-paths": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
- "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==",
- "dev": true,
- "requires": {
- "@types/json5": "^0.0.29",
- "json5": "^1.0.1",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
- },
- "type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "requires": {
- "prelude-ls": "^1.2.1"
- }
- },
- "type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="
- },
- "typed-array-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
- "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "is-typed-array": "^1.1.9"
- }
- },
- "unbox-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
- "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
- "dev": true,
- "requires": {
- "call-bind": "^1.0.2",
- "has-bigints": "^1.0.2",
- "has-symbols": "^1.0.3",
- "which-boxed-primitive": "^1.0.2"
- }
- },
- "unique-filename": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
- "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
- "requires": {
- "unique-slug": "^2.0.0"
- }
- },
- "unique-slug": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
- "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
- "requires": {
- "imurmurhash": "^0.1.4"
- }
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
- },
- "validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "which-boxed-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
- "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "dev": true,
- "requires": {
- "is-bigint": "^1.0.1",
- "is-boolean-object": "^1.1.0",
- "is-number-object": "^1.0.4",
- "is-string": "^1.0.5",
- "is-symbol": "^1.0.3"
- }
- },
- "which-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
- "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
- "dev": true,
- "requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.10"
- }
- },
- "wide-align": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
- "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
- "requires": {
- "string-width": "^1.0.2 || 2 || 3 || 4"
- }
- },
- "word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
- },
- "ws": {
- "version": "8.9.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz",
- "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==",
- "requires": {}
- },
- "y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- },
- "yargs": {
- "version": "17.6.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz",
- "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==",
- "requires": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.0.0"
- },
- "dependencies": {
- "yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="
- }
- }
- },
- "yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w=="
- },
- "yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
- "requires": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
- }
- },
- "yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
- }
}
}
diff --git a/package.json b/package.json
index 409cccc9..9e89c8b8 100755
--- a/package.json
+++ b/package.json
@@ -23,12 +23,12 @@
},
"homepage": "https://github.com/Karaka-Management/Karaka#readme",
"devDependencies": {
+ "chromedriver": "^122.0.6",
"esbuild": "0.19.5",
- "eslint-plugin-import": "^2.27.5",
- "chromedriver": "^91.0.1",
"eslint": "^8.12.0",
+ "eslint-plugin-import": "^2.27.5",
"geckodriver": "^3.0.2",
- "node-sass": "^7.0.0",
+ "node-sass": "^9.0.0",
"sass": "^1.57.1",
"selenium-webdriver": "^4.0.0-beta.4"
}
From 58f42236969770b7cbf4d7f58fcd2c1673597861 Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Wed, 20 Mar 2024 06:08:07 +0000
Subject: [PATCH 07/20] bump
---
Build | 2 +-
Install/Application/Backend/js/backend.min.js | 6 +++---
Install/Application/Backend/js/sw.min.js | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Build b/Build
index b129d571..88a29cc6 160000
--- a/Build
+++ b/Build
@@ -1 +1 @@
-Subproject commit b129d5718b915e276ff5d0c497d9104e196c644d
+Subproject commit 88a29cc69d2118581af13068043a32fe5a1ffcf5
diff --git a/Install/Application/Backend/js/backend.min.js b/Install/Application/Backend/js/backend.min.js
index 8f3d36a5..2390ac9c 100755
--- a/Install/Application/Backend/js/backend.min.js
+++ b/Install/Application/Backend/js/backend.min.js
@@ -1,8 +1,8 @@
-(()=>{var d=class l{static triggerEvent=function(t,e){if(document.createEvent){let n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),n.eventName=e,t.dispatchEvent(n)}else{let n=document.createEventObject();n.eventName=e,n.eventType=e,t.fireEvent(n.eventType,n)}};static getArray=function(t,e,n="/"){let r=l.ltrim(t,n).split(n),i=e;for(let s in r)if(Object.prototype.hasOwnProperty.call(r,s)){if(typeof i>"u"||!Object.prototype.hasOwnProperty.call(i,r[s]))return null;i=i[r[s]]}return i};static trim=function(t,e=" "){return l.ltrim(l.rtrim(t,e),e)};static rtrim=function(t,e=" "){return t.replace(new RegExp("["+e+"]*$"),"")};static ltrim=function(t,e=" "){return t.replace(new RegExp("^["+e+"]*"),"")};static htmlspecialchars=[["&","&"],["<","<"],[">",">"],['"',"""]];static htmlspecialchars_encode=function(t){let e=t,n=htmlspecialchars.length;for(let r=0;r=0;)++n,r+=i;return n};static hasClass=function(t,e){return typeof t<"u"&&t!==null&&(typeof t.className=="string"&&t.className.match(new RegExp("(\\s|^)"+e+"(\\s|$)"))!==null||typeof t.className.baseVal=="string"&&t.className.baseVal.match(new RegExp("(\\s|^)"+e+"(\\s|$)"))!==null)};static addClass=function(t,e){l.hasClass(t,e)||(typeof t.className=="string"?t.className+=t.className!==""?" "+e:e:typeof t.className.baseVal=="string"&&(t.className.baseVal+=t.className.baseVal!==""?" "+e:e))};static removeClass=function(t,e){if(l.hasClass(t,e)){let n=new RegExp("(\\s|^)"+e);typeof t.className=="string"?t.className=t.className.replace(n,"").trim():typeof t.className.baseVal=="string"&&(t.className.baseVal=t.className.baseVal.replace(n,"").trim())}};static watcher=function(){let t=0;return function(e,n){clearTimeout(t),t=setTimeout(e,n)}}();static preventAll=function(t){return t.preventDefault(),t.stopImmediatePropagation(),t.stopPropagation(),t.cancelBubble=!0,!1};static ready=function(t){document.readyState==="complete"||document.readyState==="loaded"||document.readyState==="interactive"?t():document.addEventListener("DOMContentLoaded",function(e){t()})};static getValue=function(t){switch(t.tagName.toLowerCase()){case"div":case"pre":case"article":case"section":return t.innerHTML;default:return t.value}};static empty=function(t){for(;t.firstChild;)t.removeChild(t.firstChild)};static hash=function(t){let e=0,n=t.length;for(let r=0;r=0&&i>r&&(i=r);return t.slice(i)}};var J=class{constructor(){this.assets={},this.registerLoadedAssets()}registerLoadedAssets(){let t=document.getElementsByTagName("script"),e=t?t.length:0;this.assets={};for(let n=0;n"u"&&(e[i]=[]),e[i].push(n[r].split("=")[1]))}}return e}set(t){this.uri=t;let e=l.parseUrl(this.uri,"php");this.scheme=e.scheme,this.host=e.host,this.port=e.port,this.user=e.user,this.pass=e.pass,this.path=e.path,this.path.endsWith(".php")&&(this.path=this.path.substr(0,-4)),this.queryString=typeof e.query<"u"?e.query:[],this.queryString!==null&&(this.query=l.getAllUriQueryParameters(this.queryString)),this.fragment=typeof e.fragment<"u"?e.fragment:"",this.base=this.scheme+"://"+this.host+this.root}setRootPath(t){this.root=t,this.set(this.uri)}getRootPath(){return this.root}getBase(){return this.base}getScheme(){return this.scheme}getHost(){return this.host}getPort(){return this.port}getUser(){return this.user}getPass(){return this.pass}getQuery(){return this.queryString}getUri(){return this.uri}getFragment(){return this.fragment}getPath(){return this.path}getPathOffset(){return d.substr_count(this.root,"/")-1}};var B=class{constructor(t){this.responses=t}get(t=null){return t===null?this.responses:typeof this.responses[t]>"u"?null:this.responses[t]}count(){return this.responses.length}};var q=Object.freeze({POST:"POST",GET:"GET",PUT:"PUT",DELETE:"DELETE",HEAD:"HEAD"});var z=Object.freeze({TEXT:"text",JSON:"json",DOCUMENT:"document",BLOB:"blob",ARRAYBUFFER:"arraybuffer",DEFAULT:""});var K=class{constructor(){this.visObs=null}static unbind(t){this.app.inputManager.getKeyboardManager().unbind(t)}static bindElement(t=null){if(t===null)throw new Error("Input element required");let e=t.type,n=t.parentNode.querySelector(".close");n!==null&&e!=="submit"&&e!=="button"&&n.addEventListener("click",function(){t.value="",t.focus()})}static addRemoteDatalistOptions(t,e){this.clearDatalistOptions(e);let n=new O;n.setData(t.value),n.setType(z.JSON),n.setUri(e.getAttribute("data-list-src")),n.setMethod(q.POST),n.setRequestHeader("Content-Type","application/json"),n.setSuccess(function(r){try{let i=JSON.parse(r.response),s=new B(i),o=s.count(),a=null;for(let c=0;ce[r].maxlength||typeof e[r].minlength<"u"&&e[r].minlength!==""&&e[r].value.lengthe[r].max||typeof e[r].min<"u"&&e[r].min!==""&&e[r].valuee[i].maxlength||typeof e[i].minlength<"u"&&e[i].minlength!==""&&e[i].value.lengthe[i].max||typeof e[i].min<"u"&&e[i].min!==""&&e[i].value"u"?[]:e.query.replace(/\?/g,"&").split("&"),s={},o=i.length,a=null;if((typeof e.fragment>"u"||e.fragment===null)&&i[o-1].includes("#")){let c=i[o-1].split("#")[1];e.fragment=c[1],i[o-1]=c[0]}for(let c=0;c"u"?{}:n.query);for(let s in r)Object.prototype.hasOwnProperty.call(r,s)&&l.setQuery("?"+s,r[s]);let i=t.replace(new RegExp("{[/#?%@.$!].*?}","g"),function(s){if(s=s.substring(1,s.length-1),e!==null&&Object.prototype.hasOwnProperty.call(e,s))return e[s];if(typeof l.uri[s]<"u")return l.uri[s];if(s.indexOf("!")===0){let o=document.querySelector(s.substring(1));if(!o)return"";if(o.tagName.toLowerCase()!=="form")return o.value;let a="",c=new D(o.id).getData();for(let u of c.entries())a+="&"+u[0]+"="+u[1];return a}else{if(s.indexOf("?")===0)return k.getUriQueryParameter(n.query,s.substring(1));if(s==="#")return n.fragment;if(s.indexOf("#")===0){let o=document.getElementById(s.substring(1));if(o){if(o.tagName.toLowerCase()!=="form")return o.value;let a="",c=new D(o.id).getData();for(let u of c.entries())a+="&"+u[0]+"="+u[1];return a}return""}else return s.indexOf("?")===0?n.query():s.indexOf("/")===0?n.path:s.indexOf(":user")===0?n.user:s.indexOf(":pass")===0?n.pass:s.indexOf("/")===0?"ERROR PATH":s==="%"?window.location.href:s}});return i.indexOf("?")===-1&&(i=i.replace("&","?")),l.unique(i)}static setupUriBuilder(t){l.setQuery("/scheme",t.getScheme()),l.setQuery("/host",t.getHost()),l.setQuery("/base",d.rtrim(t.getBase(),"/"))}};w.uri={};var C=Object.freeze({JSON:"json",RAW:"raw",FILE:"file",URL_ENCODE:"url",FORM_DATA:"formdata"});var O=class{constructor(t=null,e=null,n=null){this.uri=t,this.method=e!==null?e:q.GET,this.requestHeader={},this.result={},this.type=n!==null?n:C.JSON,this.data={},this.requestHeader["Content-Type"]=this.setContentTypeBasedOnType(this.type),this.type===C.FORM_DATA&&delete this.requestHeader["Content-Type"],this.result[0]=function(r){S.getInstance().info('Unhandled response from "'+r.responseURL+'" with response data "'+r.response+'"')},this.xhr=new XMLHttpRequest}setContentTypeBasedOnType(t){switch(t){case C.JSON:return"application/json";case C.URL_ENCODE:return"application/x-www-form-urlencoded";case C.FILE:return"";case C.FORM_DATA:return"multipart/form-data";default:return"*/*"}}setMethod(t){this.method=t}getMethod(){return this.method}setResponseType(t){this.xhr.responseType=t}getResponseType(){return this.responseType}setRequestHeader(t,e){this.requestHeader[t]=e,e==="multipart/form-data"&&delete this.requestHeader[t]}getRequestHeader(){return this.requestHeader}setUri(t){this.uri=t}getUri(){return this.uri}setSuccess(t){this.result[200]=t}setResultCallback(t,e){this.result[t]=e}setData(t){this.data=t}getData(){return this.data}setType(t){this.type=t,this.requestHeader["Content-Type"]=this.setContentTypeBasedOnType(this.type)}getType(){return this.type}queryfy(t){let e=[];for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e.join("&")}send(){if(this.uri==="")return;let t=this;if(this.xhr.readyState!==1){if(this.type===C.FORM_DATA)if(this.method===q.GET){let e=this.uri;for(let n of this.data.entries())e+="&"+n[0]+"="+n[1];this.xhr.open(this.method,w.build(e))}else this.xhr.open(this.method,w.build(this.uri));else console.log(w.build(this.uri)),this.xhr.open(this.method,w.build(this.uri));for(let e in this.requestHeader)Object.prototype.hasOwnProperty.call(this.requestHeader,e)&&this.requestHeader[e]!==""&&this.requestHeader[e]!=="multipart/form-data"&&this.xhr.setRequestHeader(e,this.requestHeader[e])}window.omsApp.logger.log(w.build(this.uri)),window.omsApp.logger.log(this.xhr),this.xhr.onreadystatechange=function(){switch(t.xhr.readyState){case 4:typeof t.result[t.xhr.status]>"u"?t.result[0](t.xhr):t.result[t.xhr.status](t.xhr);break;default:}},this.type===C.JSON?this.xhr.send(JSON.stringify(this.data)):this.type===C.RAW||this.type===C.FILE?this.xhr.send(this.data):this.type===C.URL_ENCODE?this.xhr.send(this.queryfy(this.data)):this.type===C.FORM_DATA&&this.xhr.send(this.data)}};var M=Object.freeze({OPERA:"opera",FIREFOX:"firefox",SAFARI:"safari",IE:"msie",EDGE:"edge",CHROME:"chrome",BLINK:"blink",UNKNOWN:"unknown"});var U=Object.freeze({WINDOWS_10:"windows nt 10.0",WINDOWS_81:"windows nt 6.3",WINDOWS_8:"windows nt 6.2",WINDOWS_7:"windows nt 6.1",WINDOWS_VISTA:"windows nt 6.0",WINDOWS_SERVER:"windows nt 5.2",WINDOWS_XP:"windows nt 5.1",WINDOWS_XP_2:"windows xp",WINDOWS_2000:"windows nt 5.0",WINDOWS_ME:"windows me",WINDOWS_98:"win98",WINDOWS_95:"win95",WINDOWS_311:"win16",MAC_OS_X:"macintosh",MAC_OS_X_2:"mac os x",MAC_OS_9:"mac_powerpc",LINUX:"linux",UBUNTU:"ubuntu",IPHONE:"iphone",IPOD:"ipod",IPAD:"ipad",ANDROID:"android",BLACKBERRY:"blackberry",MOBILE:"webos",UNKNOWN:"UNKNOWN"});var V=class{static getBrowser(){return window.opr&&opr.addons||window.opera||navigator.userAgent.indexOf(" OPR/")>=0?M.OPERA:typeof InstallTrigger<"u"?M.FIREFOX:Object.toString.call(window.HTMLElement).indexOf("Constructor")>0?M.SAFARI:document.documentMode?M.IE:window.StyleMedia?M.EDGE:window.chrome&&window.chrome.webstore?M.CHROME:(typeof isChrome<"u"&&isChrome||typeof isOpera<"u"&&isOpera)&&window.CSS?M.BLINK:M.UNKNOWN}static getOS(){for(let t in U)if(Object.prototype.hasOwnProperty.call(U,t)&&navigator.appVersion.toLowerCase().indexOf(U[t])!==-1)return U[t];return U.UNKNOWN}};var S=class l{constructor(t=!0,e=!0,n=!1){this.verbose=t,this.ui=e,this.remote=n}static getInstance(t=!0,e=!0,n=!1){return l.instance||(l.instance=new l(t,e,n)),l.instance}interpolate(t,e){t=typeof t>"u"?l.MSG_FULL:t;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&typeof t=="string"&&(t=t.replace("{"+n+"}",e[n]));return typeof t!="string"?JSON.stringify(t):t}createContext(t,e,n){return e.backtrace=console.trace(),e.datetime=new Date().toISOString(),e.version="1.0.0",e.os=V.getOS(),e.browser=V.getBrowser(),e.path=window.location.href,e.datetime=new Date().toString(),e.level=n,e.message=t,e}write(t,e,n){e=this.createContext(t,e,n),this.verbose&&this.writeVerbose(t,e,n),this.ui&&this.writeUi(t,e),this.remote&&this.writeRemote(e)}writeUi(t,e){Notification.permission!=="granted"&&Notification.permission!=="denied"&&Notification.requestPermission().then(function(r){});let n=new Notification("Logger",{body:this.interpolate(t,e)});setTimeout(n.close.bind(n),4e3)}writeVerbose(t,e,n){let r="000";switch(n){case"info":case"notice":case"log":r="000";break;case"debug":r="289E39";break;case"warning":case"alert":r="FFA600";break;case"error":case"critical":case"emergency":r="CF304A";break;default:}console.log("%c"+this.interpolate(t,e,n),"color: #"+r)}writeRemote(t){let e=new O;e.setData(t),e.setType(jsOMS.Message.Response.Response.ResponseType.JSON),e.setUri("/{/lang}/api/log"),e.setMethod(O.RequestMethod.POST),e.setRequestHeader("Content-Type","application/json"),e.setSuccess(function(n){}),e.send()}emergency(t,e={}){this.write(t,e,R.EMERGENCY)}alert(t,e={}){this.write(t,e,R.ALERT)}critical(t,e={}){this.write(t,e,R.CRITICAL)}error(t,e={}){this.write(t,e,R.ERROR)}warning(t,e={}){this.write(t,e,R.WARNING)}notice(t,e={}){this.write(t,e,R.NOTICE)}info(t,e={}){this.write(t,e,R.INFO)}debug(t,e={}){this.write(t,e,R.DEBUG)}log(t,e,n={}){this.write(e,n,t)}console(t,e={}){this.writeVerbose(t,e,R.INFO)}};S.instance=null;S.MSG_FULL="{datetime}; {level}; {version}; {os}; {browser}; {path}; {message}";var Q=class{};var X=class{};var $=class{constructor(){this.logger=S.getInstance(),this.groups={},this.callbacks={}}addGroup(t,e){typeof this.groups[t]>"u"&&(this.groups[t]={}),this.groups[t][e]=!1}reset(t){for(let e in this.groups[t])Object.prototype.hasOwnProperty.call(this.groups[t],e)&&(this.groups[t][e]=!1)}hasOutstanding(t){if(typeof this.groups[t]>"u")return!1;for(let e in this.groups[t])if(!Object.prototype.hasOwnProperty.call(this.groups[t],e)||!this.groups[t][e])return!0;return!1}triggerSimilar(t,e="",n=null){let r=t.startsWith("/"),i=e.startsWith("/"),s={};for(let a in this.groups){let c=a.startsWith("/");r?a.match(t)&&(s[a]=[]):c&&t.match(a)?s[a]=[]:a===t&&(s[a]=[])}for(let a in s){for(let c in this.groups[a]){let u=c.startsWith("/");i?c.match(e)&&s[a].push(c):u&&e.match(c)?s[a].push(e):c===e&&s[a].push([])}s[a].length===0&&s[a].push(e)}let o=!1;for(let a in s)for(let c in s[a])o=this.trigger(a,c,n)||o;return o}trigger(t,e="",n=null){if(typeof this.callbacks[t]>"u"||Math.abs(Date.now()-this.callbacks[t].lastRun)<300||(typeof this.groups[t]<"u"&&(this.groups[t][e]=!0),this.hasOutstanding(t)))return!1;let r=this.callbacks[t].callbacks.length;this.callbacks[t].lastRun=Date.now();for(let i=0;i"u"&&(this.messages[t]=[]),this.messages[t][n]=e}run(t,e,n=null){n!==null&&typeof this.messages[t]<"u"&&typeof this.messages[t][n]<"u"?this.messages[t][n](e):typeof this.messages[t]<"u"?this.messages[t].null(e):d.Log.Logger.instance.warning("Undefined type: "+t)}};var Z=class{constructor(){this.accounts=[]}add(t){this.accounts[t.getId()]=t}remove(t){return typeof this.accounts[t]<"u"?(delete this.accounts[t],!0):!1}get(t){return this.accounts[t]?this.accounts[t]:null}};var L=Object.freeze({OK:"ok",INFO:"info",WARNING:"warning",ERROR:"error",HIDDEN:"hidden"});var T=class{constructor(t,e,n,r=!1,i=!1){this.status=t,this.title=e,this.message=n,this.vibrate=r,this.isSticky=i,this.primaryButton=null,this.secondaryButton=null,this.duration=3e3}};var I=Object.freeze({APP_NOTIFICATION:1,BROWSER_NOTIFICATION:2});var W=class l{constructor(t,e,n){this.id=t.id,this.inputComponent=t,this.inputField=this.inputComponent.getElementsByClassName("input")[0],this.dropdownElement=document.getElementById(this.id+"-popup"),this.tagElement=document.getElementById(this.id+"-tags"),this.dataList=this.dropdownElement.getElementsByTagName("table")[0],this.dataListBody=this.dataList.getElementsByTagName("tbody")[0],this.dataTpl=document.getElementById(this.id+"-rowElement"),this.tagTpl=this.tagElement!==null?this.tagElement.getElementsByTagName("template")[0]:null,this.src=this.inputField.getAttribute("data-src");let r=this;this.inputField.addEventListener("focusout",function(i){(i.relatedTarget===null||i.relatedTarget.parentElement===null||i.relatedTarget.parentElement.parentElement===null||!d.hasClass(i.relatedTarget.parentElement.parentElement.parentElement,"popup"))&&d.removeClass(r.dropdownElement,"active")}),this.inputField.addEventListener("keydown",function(i){(i.keyCode===13||i.keyCode===40)&&d.preventAll(i),i.keyCode===40?(r.selectOption(r.dataListBody.firstElementChild),d.preventAll(i)):r.inputTimeDelay({id:r.id,delay:300},r.changeCallback,r,i)}),this.inputField.addEventListener("focusin",function(i){d.addClass(r.dropdownElement,"active")}),this.dropdownElement.addEventListener("keydown",function(i){d.preventAll(i),i.code==="Escape"||i.code==="Delete"||i.code==="Backspace"?(r.inputField.focus(),r.clearDataListSelection(r)):i.code==="ArrowUp"?document.activeElement.previousElementSibling!==null&&(r.clearDataListSelection(r),r.selectOption(document.activeElement.previousElementSibling)):i.code==="ArrowDown"?document.activeElement.nextElementSibling!==null&&(r.clearDataListSelection(r),r.selectOption(document.activeElement.nextElementSibling)):(i.code==="Enter"||i.code==="Tab")&&(r.clearDataListSelection(r),r.addToResultList(r,document.activeElement))}),this.dropdownElement.addEventListener("focusout",function(i){r.clearDataListSelection(r),d.removeClass(r.dropdownElement,"active")}),this.dropdownElement.addEventListener("click",function(i){document.activeElement.tagName.toLowerCase()==="tr"&&(r.clearDataListSelection(r),r.addToResultList(r,document.activeElement),d.removeClass(r.dropdownElement,"active"))}),n.observe(this.tagElement,{childList:!0,attributes:!1,subtree:!1}),e.attach(this.id+"-tags-childList",function(i){let s=i.target.querySelectorAll(".close"),o=s===null?0:s.length;o<1||s[o-1].addEventListener("click",function(a){a.target.parentNode.parentNode!==null&&a.target.parentNode.parentNode.removeChild(a.target.parentNode)})})}remoteCallback(t,e){window.omsApp.logger.log(e),e=JSON.parse(e.response)[0];let n=e.length;if(t.dropdownElement.getAttribute("data-active")==="true"){for(;t.dataListBody.firstChild;)t.dataListBody.removeChild(t.dataListBody.firstChild);for(let r=0;r=t.tagElement.getAttribute("data-limit")&&t.tagElement.getAttribute("data-limit")!=="0"&&t.tagElement.removeChild(t.tagElement.firstElementChild),t.tagElement.appendChild(r)}t.inputField.getAttribute("data-emptyAfter")==="true"&&(t.inputField.value=""),t.inputField.focus()}inputTimeDelay(t,e,n,r){l.timerDelay[t.id]&&(clearTimeout(l.timerDelay[t.id]),delete l.timerDelay[t.id]),l.timerDelay[t.id]=setTimeout(function(){delete l.timerDelay[t.id],e(n,r)},t.delay)}};W.timerDelay={};var x=class{constructor(t){this.visObs=null,this.app=t}bind(t=null){let e=null;t!==null&&(e=document.getElementById(t)),this.bindHref(e),this.bindIframe(e),this.bindLazyLoad(e),this.bindInput(e)}bindHref(t=null){t=t!==null?t.querySelectorAll("[data-href], [href]"):document.querySelectorAll("[data-href], [href]");let e=t.length;for(let n=0;n0||r.target.getElementsByTagName("input").length>0){let s=r.target.querySelector("input");if(s!==null){s.click();return}}d.preventAll(r);let i=this.getAttribute("data-href");i=i===null?this.getAttribute("href"):i,this.getAttribute("target")==="_blank"||this.getAttribute("data-target")==="_blank"||r.button===1?window.open(w.build(i),"_blank"):this.getAttribute("data-redirect")!==null?window.location.href=w.build(i):i!==null&&(window.location=w.build(i))})}bindIframe(t=null){t=t!==null?t:document.getElementsByTagName("iframe");let e=t.length;for(let n=0;n0&&(r[0].style.display="none")})}bindLazyLoad(t=null){t=t!==null?t.querySelectorAll("[data-lazyload]"):document.querySelectorAll("[data-lazyload]");let e=t.length;!this.visObs&&window.IntersectionObserver&&(this.visObs=new IntersectionObserver(function(n,r){n.forEach(i=>{i.intersectionRatio>0&&(r.unobserve(i.target),i.target.src=i.target.dataset.lazyload,delete i.target.dataset.lazyload)})}));for(let n=0;n"u"){this.bindForm(t);return}let e=document.querySelectorAll("form, [data-tag=form]"),n=e?e.length:0;for(let r=0;r"u"?this.bindForm(i):S.instance.info("A form doesn't have an ID.")}}bindForm(t=null){if(t===null){S.instance.info("A form doesn't have an ID.");return}this.forms[t]=new D(t);let e=this,n=0,r=this.forms[t].getElementsToBind(),i=r.length;for(let o=0;o{requestAnimationFrame(N=>{d.addClass(f[b],"animated"),d.addClass(f[b],"medium-duration"),d.addClass(f[b],"greenCircleFade")})});t.forms[s].setSuccess(function(b,v){if(v.status!==200){t.forms[s].resetValues();return}l.setDataInElement("value",f,h,m),l.setDataInElement("text",f,g,m),l.setDataFromRemoteUrls(m);for(let N=0;N{requestAnimationFrame(Dt=>{d.addClass(f[N],"animated medium-duration greenCircleFade")})});t.forms[s].resetValues()}),a.setAttribute("data-id",""),t.submit(t.forms[s],t.forms[s].getSave()[r]);let E=t.forms[s].getAdd(),p=E.length;for(let b=0;b {var d=class a{static triggerEvent=function(t,e){if(document.createEvent){let n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),n.eventName=e,t.dispatchEvent(n)}else{let n=document.createEventObject();n.eventName=e,n.eventType=e,t.fireEvent(n.eventType,n)}};static getArray=function(t,e,n="/"){let r=a.ltrim(t,n).split(n),i=e;for(let s in r)if(Object.prototype.hasOwnProperty.call(r,s)){if(typeof i>"u"||!Object.prototype.hasOwnProperty.call(i,r[s]))return null;i=i[r[s]]}return i};static trim=function(t,e=" "){return a.ltrim(a.rtrim(t,e),e)};static rtrim=function(t,e=" "){return t.replace(new RegExp("["+e+"]*$"),"")};static ltrim=function(t,e=" "){return t.replace(new RegExp("^["+e+"]*"),"")};static htmlspecialchars=[["&","&"],["<","<"],[">",">"],['"',"""]];static htmlspecialchars_encode=function(t){let e=t,n=a.htmlspecialchars.length;for(let r=0;r=0;)++n,r+=i;return n};static hasClass=function(t,e){return typeof t<"u"&&t!==null&&(typeof t.className=="string"&&t.className.match(new RegExp("(\\s|^)"+e+"(\\s|$)"))!==null||typeof t.className.baseVal=="string"&&t.className.baseVal.match(new RegExp("(\\s|^)"+e+"(\\s|$)"))!==null)};static addClass=function(t,e){a.hasClass(t,e)||(typeof t.className=="string"?t.className+=t.className!==""?" "+e:e:typeof t.className.baseVal=="string"&&(t.className.baseVal+=t.className.baseVal!==""?" "+e:e))};static removeClass=function(t,e){if(a.hasClass(t,e)){let n=new RegExp("(\\s|^)"+e);typeof t.className=="string"?t.className=t.className.replace(n,"").trim():typeof t.className.baseVal=="string"&&(t.className.baseVal=t.className.baseVal.replace(n,"").trim())}};static watcher=function(){let t=0;return function(e,n){clearTimeout(t),t=setTimeout(e,n)}}();static preventAll=function(t){return t.preventDefault(),t.stopImmediatePropagation(),t.stopPropagation(),t.cancelBubble=!0,!1};static ready=function(t){document.readyState==="complete"||document.readyState==="loaded"||document.readyState==="interactive"?t():document.addEventListener("DOMContentLoaded",function(e){t()})};static getValue=function(t){switch(t.tagName.toLowerCase()){case"div":case"pre":case"article":case"section":return t.innerHTML;default:return t.value}};static empty=function(t){for(;t.firstChild;)t.removeChild(t.firstChild)};static hash=function(t){let e=0,n=t.length;for(let r=0;r=0&&i>r&&(i=r);return t.slice(i)}};var J=class{constructor(){this.assets={},this.registerLoadedAssets()}registerLoadedAssets(){let t=document.getElementsByTagName("script"),e=t?t.length:0;this.assets={};for(let n=0;n"u"&&(e[i]=[]),e[i].push(n[r].split("=")[1]))}}return e}set(t){this.uri=t;let e=a.parseUrl(this.uri,"php");this.scheme=e.scheme,this.host=e.host,this.port=e.port,this.user=e.user,this.pass=e.pass,this.path=e.path,this.path.endsWith(".php")&&(this.path=this.path.substr(0,-4)),this.queryString=typeof e.query<"u"?e.query:[],this.queryString!==null&&(this.query=a.getAllUriQueryParameters(this.queryString)),this.fragment=typeof e.fragment<"u"?e.fragment:"",this.base=this.scheme+"://"+this.host+this.root}setRootPath(t){this.root=t,this.set(this.uri)}getRootPath(){return this.root}getBase(){return this.base}getScheme(){return this.scheme}getHost(){return this.host}getPort(){return this.port}getUser(){return this.user}getPass(){return this.pass}getQuery(){return this.queryString}getUri(){return this.uri}getFragment(){return this.fragment}getPath(){return this.path}getPathOffset(){return d.substr_count(this.root,"/")-1}};var B=class{constructor(t){this.responses=t}get(t=null){return t===null?this.responses:typeof this.responses[t]>"u"?null:this.responses[t]}count(){return this.responses.length}};var q=Object.freeze({POST:"POST",GET:"GET",PUT:"PUT",DELETE:"DELETE",HEAD:"HEAD"});var z=Object.freeze({TEXT:"text",JSON:"json",DOCUMENT:"document",BLOB:"blob",ARRAYBUFFER:"arraybuffer",DEFAULT:""});var K=class{constructor(){this.visObs=null}static unbind(t){this.app.inputManager.getKeyboardManager().unbind(t)}static bindElement(t=null){if(t===null)throw new Error("Input element required");let e=t.type,n=t.parentNode.querySelector(".close");n!==null&&e!=="submit"&&e!=="button"&&n.addEventListener("click",function(){t.value="",t.focus()})}static addRemoteDatalistOptions(t,e){this.clearDatalistOptions(e);let n=new O;n.setData(t.value),n.setType(z.JSON),n.setUri(e.getAttribute("data-list-src")),n.setMethod(q.POST),n.setRequestHeader("Content-Type","application/json"),n.setSuccess(function(r){try{let i=JSON.parse(r.response),s=new B(i),o=s.count(),l=null;for(let c=0;ce[r].maxlength||typeof e[r].minlength<"u"&&e[r].minlength!==""&&e[r].value.lengthe[r].max||typeof e[r].min<"u"&&e[r].min!==""&&e[r].valuee[i].maxlength||typeof e[i].minlength<"u"&&e[i].minlength!==""&&e[i].value.lengthe[i].max||typeof e[i].min<"u"&&e[i].min!==""&&e[i].value"u"?[]:e.query.replace(/\?/g,"&").split("&"),s={},o=i.length,l=null;if((typeof e.fragment>"u"||e.fragment===null)&&i[o-1].includes("#")){let c=i[o-1].split("#")[1];e.fragment=c[1],i[o-1]=c[0]}for(let c=0;c"u"?{}:n.query);for(let s in r)Object.prototype.hasOwnProperty.call(r,s)&&a.setQuery("?"+s,r[s]);let i=t.replace(new RegExp("{[/#?%@.$!].*?}","g"),function(s){if(s=s.substring(1,s.length-1),e!==null&&Object.prototype.hasOwnProperty.call(e,s))return e[s];if(typeof a.uri[s]<"u")return a.uri[s];if(s.indexOf("!")===0){let o=document.querySelector(s.substring(1));if(!o)return"";if(o.tagName.toLowerCase()!=="form")return o.value;let l="",c=new D(o.id).getData();for(let u of c.entries())l+="&"+u[0]+"="+u[1];return l}else{if(s.indexOf("?")===0)return k.getUriQueryParameter(n.query,s.substring(1));if(s==="#")return n.fragment;if(s.indexOf("#")===0){let o=document.getElementById(s.substring(1));if(o){if(o.tagName.toLowerCase()!=="form")return o.value;let l="",c=new D(o.id).getData();for(let u of c.entries())l+="&"+u[0]+"="+u[1];return l}return""}else return s.indexOf("?")===0?n.query():s.indexOf("/")===0?n.path:s.indexOf(":user")===0?n.user:s.indexOf(":pass")===0?n.pass:s.indexOf("/")===0?"ERROR PATH":s==="%"?window.location.href:s}});return i.indexOf("?")===-1&&(i=i.replace("&","?")),a.unique(i)}static setupUriBuilder(t){a.setQuery("/scheme",t.getScheme()),a.setQuery("/host",t.getHost()),a.setQuery("/base",d.rtrim(t.getBase(),"/"))}};w.uri={};var C=Object.freeze({JSON:"json",RAW:"raw",FILE:"file",URL_ENCODE:"url",FORM_DATA:"formdata"});var O=class{constructor(t=null,e=null,n=null){this.uri=t,this.method=e!==null?e:q.GET,this.requestHeader={},this.result={},this.type=n!==null?n:C.JSON,this.data={},this.requestHeader["Content-Type"]=this.setContentTypeBasedOnType(this.type),this.type===C.FORM_DATA&&delete this.requestHeader["Content-Type"],this.result[0]=function(r){S.getInstance().info('Unhandled response from "'+r.responseURL+'" with response data "'+r.response+'"')},this.xhr=new XMLHttpRequest}setContentTypeBasedOnType(t){switch(t){case C.JSON:return"application/json";case C.URL_ENCODE:return"application/x-www-form-urlencoded";case C.FILE:return"";case C.FORM_DATA:return"multipart/form-data";default:return"*/*"}}setMethod(t){this.method=t}getMethod(){return this.method}setResponseType(t){this.xhr.responseType=t}getResponseType(){return this.responseType}setRequestHeader(t,e){this.requestHeader[t]=e,e==="multipart/form-data"&&delete this.requestHeader[t]}getRequestHeader(){return this.requestHeader}setUri(t){this.uri=t}getUri(){return this.uri}setSuccess(t){this.result[200]=t}setResultCallback(t,e){this.result[t]=e}setData(t){this.data=t}getData(){return this.data}setType(t){this.type=t,this.requestHeader["Content-Type"]=this.setContentTypeBasedOnType(this.type)}getType(){return this.type}queryfy(t){let e=[];for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e.join("&")}send(){if(this.uri==="")return;let t=this;if(this.xhr.readyState!==1){if(this.type===C.FORM_DATA)if(this.method===q.GET){let e=this.uri;for(let n of this.data.entries())e+="&"+n[0]+"="+n[1];this.xhr.open(this.method,w.build(e))}else this.xhr.open(this.method,w.build(this.uri));else console.log(w.build(this.uri)),this.xhr.open(this.method,w.build(this.uri));for(let e in this.requestHeader)Object.prototype.hasOwnProperty.call(this.requestHeader,e)&&this.requestHeader[e]!==""&&this.requestHeader[e]!=="multipart/form-data"&&this.xhr.setRequestHeader(e,this.requestHeader[e])}window.omsApp.logger.log(w.build(this.uri)),window.omsApp.logger.log(this.xhr),this.xhr.onreadystatechange=function(){switch(t.xhr.readyState){case 4:typeof t.result[t.xhr.status]>"u"?t.result[0](t.xhr):t.result[t.xhr.status](t.xhr);break;default:}},this.type===C.JSON?this.xhr.send(JSON.stringify(this.data)):this.type===C.RAW||this.type===C.FILE?this.xhr.send(this.data):this.type===C.URL_ENCODE?this.xhr.send(this.queryfy(this.data)):this.type===C.FORM_DATA&&this.xhr.send(this.data)}};var M=Object.freeze({OPERA:"opera",FIREFOX:"firefox",SAFARI:"safari",IE:"msie",EDGE:"edge",CHROME:"chrome",BLINK:"blink",UNKNOWN:"unknown"});var U=Object.freeze({WINDOWS_10:"windows nt 10.0",WINDOWS_81:"windows nt 6.3",WINDOWS_8:"windows nt 6.2",WINDOWS_7:"windows nt 6.1",WINDOWS_VISTA:"windows nt 6.0",WINDOWS_SERVER:"windows nt 5.2",WINDOWS_XP:"windows nt 5.1",WINDOWS_XP_2:"windows xp",WINDOWS_2000:"windows nt 5.0",WINDOWS_ME:"windows me",WINDOWS_98:"win98",WINDOWS_95:"win95",WINDOWS_311:"win16",MAC_OS_X:"macintosh",MAC_OS_X_2:"mac os x",MAC_OS_9:"mac_powerpc",LINUX:"linux",UBUNTU:"ubuntu",IPHONE:"iphone",IPOD:"ipod",IPAD:"ipad",ANDROID:"android",BLACKBERRY:"blackberry",MOBILE:"webos",UNKNOWN:"UNKNOWN"});var V=class{static getBrowser(){return window.opr&&opr.addons||window.opera||navigator.userAgent.indexOf(" OPR/")>=0?M.OPERA:typeof InstallTrigger<"u"?M.FIREFOX:Object.toString.call(window.HTMLElement).indexOf("Constructor")>0?M.SAFARI:document.documentMode?M.IE:window.StyleMedia?M.EDGE:window.chrome&&window.chrome.webstore?M.CHROME:(typeof isChrome<"u"&&isChrome||typeof isOpera<"u"&&isOpera)&&window.CSS?M.BLINK:M.UNKNOWN}static getOS(){for(let t in U)if(Object.prototype.hasOwnProperty.call(U,t)&&navigator.appVersion.toLowerCase().indexOf(U[t])!==-1)return U[t];return U.UNKNOWN}};var S=class a{constructor(t=!0,e=!0,n=!1){this.verbose=t,this.ui=e,this.remote=n}static getInstance(t=!0,e=!0,n=!1){return a.instance||(a.instance=new a(t,e,n)),a.instance}interpolate(t,e){t=typeof t>"u"?a.MSG_FULL:t;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&typeof t=="string"&&(t=t.replace("{"+n+"}",e[n]));return typeof t!="string"?JSON.stringify(t):t}createContext(t,e,n){return e.backtrace=console.trace(),e.datetime=new Date().toISOString(),e.version="1.0.0",e.os=V.getOS(),e.browser=V.getBrowser(),e.path=window.location.href,e.datetime=new Date().toString(),e.level=n,e.message=t,e}write(t,e,n){e=this.createContext(t,e,n),this.verbose&&this.writeVerbose(t,e,n),this.ui&&this.writeUi(t,e),this.remote&&this.writeRemote(e)}writeUi(t,e){Notification.permission!=="granted"&&Notification.permission!=="denied"&&Notification.requestPermission().then(function(r){});let n=new Notification("Logger",{body:this.interpolate(t,e)});setTimeout(n.close.bind(n),4e3)}writeVerbose(t,e,n){let r="000";switch(n){case"info":case"notice":case"log":r="000";break;case"debug":r="289E39";break;case"warning":case"alert":r="FFA600";break;case"error":case"critical":case"emergency":r="CF304A";break;default:}console.log("%c"+this.interpolate(t,e,n),"color: #"+r)}writeRemote(t){let e=new O;e.setData(t),e.setType(jsOMS.Message.Response.Response.ResponseType.JSON),e.setUri("/{/lang}/api/log"),e.setMethod(O.RequestMethod.POST),e.setRequestHeader("Content-Type","application/json"),e.setSuccess(function(n){}),e.send()}emergency(t,e={}){this.write(t,e,R.EMERGENCY)}alert(t,e={}){this.write(t,e,R.ALERT)}critical(t,e={}){this.write(t,e,R.CRITICAL)}error(t,e={}){this.write(t,e,R.ERROR)}warning(t,e={}){this.write(t,e,R.WARNING)}notice(t,e={}){this.write(t,e,R.NOTICE)}info(t,e={}){this.write(t,e,R.INFO)}debug(t,e={}){this.write(t,e,R.DEBUG)}log(t,e,n={}){this.write(e,n,t)}console(t,e={}){this.writeVerbose(t,e,R.INFO)}};S.instance=null;S.MSG_FULL="{datetime}; {level}; {version}; {os}; {browser}; {path}; {message}";var Q=class{};var X=class{};var $=class{constructor(){this.logger=S.getInstance(),this.groups={},this.callbacks={}}addGroup(t,e){typeof this.groups[t]>"u"&&(this.groups[t]={}),this.groups[t][e]=!1}reset(t){for(let e in this.groups[t])Object.prototype.hasOwnProperty.call(this.groups[t],e)&&(this.groups[t][e]=!1)}hasOutstanding(t){if(typeof this.groups[t]>"u")return!1;for(let e in this.groups[t])if(!Object.prototype.hasOwnProperty.call(this.groups[t],e)||!this.groups[t][e])return!0;return!1}triggerSimilar(t,e="",n=null){let r=t.startsWith("/"),i=e.startsWith("/"),s={};for(let l in this.groups){let c=l.startsWith("/");r?l.match(t)&&(s[l]=[]):c&&t.match(l)?s[l]=[]:l===t&&(s[l]=[])}for(let l in s){for(let c in this.groups[l]){let u=c.startsWith("/");i?c.match(e)&&s[l].push(c):u&&e.match(c)?s[l].push(e):c===e&&s[l].push([])}s[l].length===0&&s[l].push(e)}let o=!1;for(let l in s)for(let c in s[l])o=this.trigger(l,c,n)||o;return o}trigger(t,e="",n=null){if(typeof this.callbacks[t]>"u"||Math.abs(Date.now()-this.callbacks[t].lastRun)<300||(typeof this.groups[t]<"u"&&(this.groups[t][e]=!0),this.hasOutstanding(t)))return!1;let r=this.callbacks[t].callbacks.length;this.callbacks[t].lastRun=Date.now();for(let i=0;i"u"&&(this.messages[t]=[]),this.messages[t][n]=e}run(t,e,n=null){n!==null&&typeof this.messages[t]<"u"&&typeof this.messages[t][n]<"u"?this.messages[t][n](e):typeof this.messages[t]<"u"?this.messages[t].null(e):d.Log.Logger.instance.warning("Undefined type: "+t)}};var Z=class{constructor(){this.accounts=[]}add(t){this.accounts[t.getId()]=t}remove(t){return typeof this.accounts[t]<"u"?(delete this.accounts[t],!0):!1}get(t){return this.accounts[t]?this.accounts[t]:null}};var L=Object.freeze({OK:"ok",INFO:"info",WARNING:"warning",ERROR:"error",HIDDEN:"hidden"});var T=class{constructor(t,e,n,r=!1,i=!1){this.status=t,this.title=e,this.message=n,this.vibrate=r,this.isSticky=i,this.primaryButton=null,this.secondaryButton=null,this.duration=3e3}};var I=Object.freeze({APP_NOTIFICATION:1,BROWSER_NOTIFICATION:2});var W=class a{constructor(t,e,n){this.id=t.id,this.inputComponent=t,this.inputField=this.inputComponent.getElementsByClassName("input")[0],this.dropdownElement=document.getElementById(this.id+"-popup"),this.tagElement=document.getElementById(this.id+"-tags"),this.dataList=this.dropdownElement.getElementsByTagName("table")[0],this.dataListBody=this.dataList.getElementsByTagName("tbody")[0],this.dataTpl=document.getElementById(this.id+"-rowElement"),this.tagTpl=this.tagElement!==null?this.tagElement.getElementsByTagName("template")[0]:null,this.src=this.inputField.getAttribute("data-src");let r=this;this.inputField.addEventListener("focusout",function(i){(i.relatedTarget===null||i.relatedTarget.parentElement===null||i.relatedTarget.parentElement.parentElement===null||!d.hasClass(i.relatedTarget.parentElement.parentElement.parentElement,"popup"))&&d.removeClass(r.dropdownElement,"active")}),this.inputField.addEventListener("keydown",function(i){(i.keyCode===13||i.keyCode===40)&&d.preventAll(i),i.keyCode===40?(r.selectOption(r.dataListBody.firstElementChild),d.preventAll(i)):r.inputTimeDelay({id:r.id,delay:300},r.changeCallback,r,i)}),this.inputField.addEventListener("focusin",function(i){d.addClass(r.dropdownElement,"active")}),this.dropdownElement.addEventListener("keydown",function(i){d.preventAll(i),i.code==="Escape"||i.code==="Delete"||i.code==="Backspace"?(r.inputField.focus(),r.clearDataListSelection(r)):i.code==="ArrowUp"?document.activeElement.previousElementSibling!==null&&(r.clearDataListSelection(r),r.selectOption(document.activeElement.previousElementSibling)):i.code==="ArrowDown"?document.activeElement.nextElementSibling!==null&&(r.clearDataListSelection(r),r.selectOption(document.activeElement.nextElementSibling)):(i.code==="Enter"||i.code==="Tab")&&(r.clearDataListSelection(r),r.addToResultList(r,document.activeElement))}),this.dropdownElement.addEventListener("focusout",function(i){r.clearDataListSelection(r),d.removeClass(r.dropdownElement,"active")}),this.dropdownElement.addEventListener("click",function(i){document.activeElement.tagName.toLowerCase()==="tr"&&(r.clearDataListSelection(r),r.addToResultList(r,document.activeElement),d.removeClass(r.dropdownElement,"active"))}),n.observe(this.tagElement,{childList:!0,attributes:!1,subtree:!1}),e.attach(this.id+"-tags-childList",function(i){let s=i.target.querySelectorAll(".close"),o=s===null?0:s.length;o<1||s[o-1].addEventListener("click",function(l){l.target.parentNode.parentNode!==null&&l.target.parentNode.parentNode.removeChild(l.target.parentNode)})})}remoteCallback(t,e){window.omsApp.logger.log(e),e=JSON.parse(e.response)[0];let n=e.length;if(t.dropdownElement.getAttribute("data-active")==="true"){for(;t.dataListBody.firstChild;)t.dataListBody.removeChild(t.dataListBody.firstChild);for(let r=0;r=t.tagElement.getAttribute("data-limit")&&t.tagElement.getAttribute("data-limit")!=="0"&&t.tagElement.removeChild(t.tagElement.firstElementChild),t.tagElement.appendChild(r)}t.inputField.getAttribute("data-emptyAfter")==="true"&&(t.inputField.value=""),t.inputField.focus()}inputTimeDelay(t,e,n,r){a.timerDelay[t.id]&&(clearTimeout(a.timerDelay[t.id]),delete a.timerDelay[t.id]),a.timerDelay[t.id]=setTimeout(function(){delete a.timerDelay[t.id],e(n,r)},t.delay)}};W.timerDelay={};var x=class{constructor(t){this.visObs=null,this.app=t}bind(t=null){let e=null;t!==null&&(e=document.getElementById(t)),this.bindHref(e),this.bindIframe(e),this.bindLazyLoad(e),this.bindInput(e)}bindHref(t=null){t=t!==null?t.querySelectorAll("[data-href], [href]"):document.querySelectorAll("[data-href], [href]");let e=t.length;for(let n=0;n0||r.target.getElementsByTagName("input").length>0){let s=r.target.querySelector("input");if(s!==null){s.click();return}}d.preventAll(r);let i=this.getAttribute("data-href");i=i===null?this.getAttribute("href"):i,this.getAttribute("target")==="_blank"||this.getAttribute("data-target")==="_blank"||r.button===1?window.open(w.build(i),"_blank"):this.getAttribute("data-redirect")!==null?window.location.href=w.build(i):i!==null&&(window.location=w.build(i))})}bindIframe(t=null){t=t!==null?t:document.getElementsByTagName("iframe");let e=t.length;for(let n=0;n0&&(r[0].style.display="none")})}bindLazyLoad(t=null){t=t!==null?t.querySelectorAll("[data-lazyload]"):document.querySelectorAll("[data-lazyload]");let e=t.length;!this.visObs&&window.IntersectionObserver&&(this.visObs=new IntersectionObserver(function(n,r){n.forEach(i=>{i.intersectionRatio>0&&(r.unobserve(i.target),i.target.src=i.target.dataset.lazyload,delete i.target.dataset.lazyload)})}));for(let n=0;n"u"){this.bindForm(t);return}let e=document.querySelectorAll("form, [data-tag=form]"),n=e?e.length:0;for(let r=0;r"u"?this.bindForm(i):S.instance.info("A form doesn't have an ID.")}}bindForm(t=null){if(t===null){S.instance.info("A form doesn't have an ID.");return}this.forms[t]=new D(t);let e=this,n=0,r=this.forms[t].getElementsToBind(),i=r.length;for(let o=0;o{window.requestAnimationFrame(N=>{d.addClass(h[b],"animated"),d.addClass(h[b],"medium-duration"),d.addClass(h[b],"greenCircleFade")})});t.forms[s].setSuccess(function(b,v){if(v.status!==200){t.forms[s].resetValues();return}a.setDataInElement("value",h,f,m),a.setDataInElement("text",h,p,m),a.setDataFromRemoteUrls(m);for(let N=0;N{window.requestAnimationFrame(Ft=>{d.addClass(h[N],"animated medium-duration greenCircleFade")})});t.forms[s].resetValues()}),l.setAttribute("data-id",""),t.submit(t.forms[s],t.forms[s].getSave()[r]);let A=t.forms[s].getAdd(),g=A.length;for(let b=0;bf.text()).then(f=>{document.documentElement.innerHTML=f,window.omsApp.state&&(window.omsApp.state.hasChanges=!1),history.pushState({},null,w.build(a)),window.omsApp.reInit()}).catch(f=>{console.warn(f)})}),window.omsApp.state&&(window.omsApp.state.hasChanges=!1),s.send(),t.getFinally()!==null&&t.getFinally()()}count(){return this.forms.length}static setDataFromRemoteUrls(t){for(let e in t){let n=new O(e);n.setResultCallback(200,function(r){let i=t[e].length;for(let s=0;s0){let c=s.split("&"),u=c.indexOf(o[0].getElementsByTagName("label")[0].getAttribute("for"));u>-1&&c.splice(u,1),s=c.join("&"),d.removeClass(o[0],"active")}s=s.split("&").join("&"),d.addClass(this,"active"),d.hasClass(this.closest(".tabview"),"url-rewrite")&&window.history.replaceState(null,"",w.build("{%}#"+(s===""?"":s)))});this.activateTabUri(t)}activateTabUri(t){let e=window.location.href.includes("#")?k.parseUrl(window.location.href).fragment:"";if(e===null||typeof e>"u")return;let n=e.split("&"),r=n.length;if(r>0&&e!=="")for(let i=0;i"u"){this.bindTable(t);return}let e=document.getElementsByTagName("table"),n=e?e.length:0;for(let r=0;r"u"&&this.bindTable(i)}}bindTable(t=null){if(t===null){d.Log.Logger.instance.info("A table doesn't have an ID.");return}this.tables[t]=new et(t),this.bindExport(this.tables[t]);let e=this.tables[t].getSorting(),n=e.length;for(let o=0;o"u"||e===null||e.addEventListener("click",function(n){window.omsApp.logger.log(t.serialize())})}bindColumnVisibility(t){let e=this,n=t.querySelectorAll("td"),r=n.length;for(let i=0;i0?"+":"-")+(A!==null?A:o)),r.getAttribute("data-src")!==null){l.getRemoteData(r);return}do{for(E=!1,c=0;cm){p=!0;break}else if(a===-1&&g"u");++a){let c=i[a].cells[r].querySelector("input[type=checkbox]");c!==null&&(c.checked=o)}})}static getRemoteData(t){let e={limit:t.getAttribute("data-limit"),offset:t.getAttribute("data-offset"),sorting:t.getAttribute("data-sorting"),filter:t.getAttribute("data-filter")},n=new O;n.setData(e),n.setType(z.JSON),n.setUri(t.getAttribute("data-src")),n.setMethod("GET"),n.setRequestHeader("Content-Type","application/json"),n.setSuccess(function(r){l.emptyTable(t.getElementsByTagName("tbody")[0]),l.addToTable(t.getElementsByTagName("tbody")[0],JSON.parse(r.response)[0])}),n.send()}static emptyTable(t){let e=t.getElementsByTagName("tr"),n=e.length;for(let r=0;r"u"||typeof e.key>"u"){this.logger.error("Invalid element id/key: "+t+"/"+e.key);return}if(this.app.eventManager.isAttached(t+"-"+e.key+"-"+e.action[s-1].key))return;this.app.eventManager.attach(t+"-"+e.key+"-"+e.action[s-1].key,function(o){r.runAction(t,e,e.action[s],o)},n,!0)}document.getElementById(t).addEventListener(e.listener,function(s){e.preventDefault&&d.preventAll(s),r.runAction(this.id,e,e.action[0],s)},!1)}runAction(t,e,n,r){let i=this;if(!Object.prototype.hasOwnProperty.call(this.actions,n.type)){this.logger.warning("Undefined action "+n.type);return}n.data=r,this.actions[n.type](n,function(s){i.app.eventManager.trigger(t+"-"+e.key+"-"+n.key,t,s)},t)}add(t,e){this.actions[t]=e}};var it=class{constructor(t){this.app=t,this.draggable={},this.dragging=null}bind(t=null){if(t!==null)this.bindElement(t);else{let e=document.querySelectorAll(".oms-dragcontainer"),n=e?e.length:0;for(let r=0;r0?t.insertBefore(t.children[i],t.children[i-1]):s===-1&&i"u"&&(this.elements[t]=[],this.bind(t)),this.elements[t].push({keys:e,callback:n})}bind(t){let e=this,n=t===""?[document]:document.querySelectorAll(t),r=n.length;for(let i=0;i-1;)e.down.splice(o,1),o=e.down.indexOf(s.keyCode)})}run(t,e){if(typeof this.elements[t]>"u")throw new Error("Unexpected elmenet!");let n=this.elements[t].concat(this.elements[""]),r=n.length,i=this.down.length;for(let s=0;s"u"&&(this.elements[t]=[]),this.bind(t,e),this.elements[t].push({callback:r,type:e,button:n,exact:i})}bind(t,e){let n=this,r=document.getElementById(t);r&&(e===F.CONTEXT?r.addEventListener("contextmenu",function(i){n.run(t,i)},!1):e===F.LONGPRESS?(r.addEventListener("mousedown",function(i){n.click.time=new Date().getTime()},!1),r.addEventListener("mouseup",function(i){new Date().getTime()-n.click.time>650&&n.run(t,i),n.click.time=0},!1)):e===F.CLICK&&r.addEventListener("click",function(i){n.run(t,i)},!1))}run(t,e){if(typeof this.elements[t]>"u")throw new Error("Unexpected element!");let n=this.elements[t],r=n.length;for(let i=0;i = "+Object.keys(this.commands).join(" | ")+" ;"}setLanguage(t){this.recognition.lang=t}add(t,e){this.commands[t]=e}start(){j!==null&&this.recognition.start()}stop(){j!==null&&this.recognition.stop()}},j=typeof j<"u"?j:typeof webkitSpeechRecognition<"u"?webkitSpeechRecognition:null,St=typeof St<"u"?St:typeof webkitSpeechGrammarList<"u"?webkitSpeechGrammarList:null;var dt=class{constructor(t){this.keyboardManager=new ct,this.mouseManager=new ut,this.voiceManager=new H(t)}getKeyboardManager(){return this.keyboardManager}getMouseManager(){return this.mouseManager}getVoiceManager(){return this.voiceManager}};var mt=class{static getInstance(t,e){return new omsApp.Modules[t](e)}};var ft=class{constructor(t){this.modules={},this.app=t}get(t){return typeof this.modules[t]>"u"&&(this.modules[t]=mt.getInstance(t,this.app)),this.modules[t]}};var ht=class{constructor(t="en-US"){this.pitch=1,this.rate=1,this.lang=t,this.voices=[],this.voice=null,Nt!==null&&(this.voices=window.speechSynthesis.getVoices(),this.voice=this.voices[0])}read(t){let e=new SpeechSynthesisUtterance(t);e.lang=this.lang,e.voice=this.voice,e.pitch=this.pitch,e.rate=this.rate,window.speechSynthesis.speak(e)}setLanguage(t){this.lang=t}setPitch(t){this.pitch=t}setRate(t){this.rate=t}getVoices(){return this.voices}},Nt=typeof Nt<"u"?Nt:typeof webkitSpeechRecognition<"u"?webkitSpeechRecognition:null;var pt=class{constructor(){this.status=0}setStatus(t){this.status=t}send(t){let e=document.getElementById("app-message-tpl");if(e===null)return;switch(t.status){case 0:t.status=L.OK;break}let n=document.importNode(e.content,!0);if(n.querySelector(".log-msg").classList.add("log-lvl-"+t.status),n.querySelector(".log-msg-content").innerHTML=t.message,n.querySelector(".close").addEventListener("click",function(){this.parentNode.remove()}),t.title&&t.title!==""?n.querySelector(".log-msg-title").innerHTML=t.title:n.querySelector(".log-msg-title").remove(),t.primaryButton){let s=n.querySelector(".primary-button");s&&(s.innerHTML=t.primaryButton.text,s.addEventListener("click",t.primaryButton.callback))}else{let s=n.querySelector(".primary-button");s&&s.remove()}if(t.secondaryButton){let s=n.querySelector(".secondary-button");s&&(s.innerHTML=t.secondaryButton.text,s.addEventListener("click",t.secondaryButton.callback))}else{let s=n.querySelector(".secondary-button");s&&s.remove()}e.parentNode.appendChild(n);let r=document.getElementsByClassName("log-msg"),i=r[r.length-1];window.navigator.vibrate(t.vibrate?200:0),!t.isSticky&&setTimeout(function(){i!==null&&i.parentNode!==null&&i.parentNode.removeChild(i)},t.duration)}};var gt=class{constructor(){this.status=0}setStatus(t){this.status=t}requestPermission(){Notification.permission!=="granted"&&Notification.permission!=="denied"&&Notification.requestPermission()}send(t){Notification.permission==="granted"&®istration.showNotification(t.title,{body:t.message,icon:"../images/touch/chrome-touch-icon-192x192.png",vibrate:[t.vibrate?200:0],tag:"notification"})}};var yt=class{constructor(){this.appNotifier=new pt,this.browserNotifier=new gt}send(t,e){I.APP_NOTIFICATION===e?this.appNotifier.send(t):this.browserNotifier.send(t)}getAppNotifier(){return this.appNotifier}getBrowserNotifier(){return this.browserNotifier}};function bt(l,t,e){setTimeout(function(){l.src?document.getElementById(l.src).src=w.build(l.uri):window.location=w.build(l.uri)},parseInt(l.delay))}function xt(l,t){"use strict";let e=new O(l.uri,l.method,l.request_type);e.setSuccess(function(n){window.omsApp.logger.log(n.responseText),t(JSON.parse(n.responseText))}),typeof l.data<"u"&&l.data!==null&&e.setData(l.data),e.send()}function At(l,t,e){"use strict";setTimeout(function(){l.src?(console.log(document.getElementById(l.src).hasAttribute("data-src")),console.log(w.build(document.getElementById(l.src).getAttribute("data-src"))),document.getElementById(l.src).src=document.getElementById(l.src).hasAttribute("data-src")?w.build(document.getElementById(l.src).getAttribute("data-src")):document.getElementById(l.src).src):document.location.reload()},parseInt(l.delay)),t()}function Tt(l,t,e){"use strict";window.omsApp.logger.log("prevented"),d.preventAll(l.data),t()}function It(l,t,e){"use strict";let n=l.base==="self"?l.selector===""?[document.getElementById(e)]:document.getElementById(e).querySelectorAll(l.selector):document.querySelectorAll(l.selector);if(n){for(let r of n)r.click();t()}}function Lt(l,t,e){"use strict";let n=l.base==="self"?l.selector===""||typeof l.selector>"u"?[document.getElementById(e)]:document.getElementById(e).querySelectorAll(l.selector):document.querySelectorAll(l.selector),r={};for(let i in n){if(!Object.prototype.hasOwnProperty.call(n,i)||!(n[i]instanceof HTMLElement))continue;let s=typeof n[i].getAttribute("name")<"u"&&n[i].getAttribute("name")!==""&&n[i].getAttribute("name")!==null?n[i].getAttribute("name"):n[i].getAttribute("id");if(n[i].tagName.toLowerCase()==="input"||n[i].tagName.toLowerCase()==="selects"||n[i].tagName.toLowerCase()==="button")r[s]=n[i].getAttribute("value");else if(n[i].tagName.toLowerCase()==="form"){r=window.omsApp.uiManager.getFormManager().get(s).getData();break}else r[s]=n[i].getAttribute("data-id")}t(r)}function kt(l,t,e){"use strict";let n=l.value,r="",i="",s="",o=0,a=0;for(;n.indexOf("http")!==0&&(o=n.indexOf("{",o))!==-1;)a=n.indexOf("}",o),o++,r=n.substring(o,a),i=d.getArray(r,l.data,"/"),s="{"+r+"}",n=n.replace(new RegExp(s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),i);let c=l.base==="self"?l.selector===""?[document.getElementById(e)]:document.getElementById(e).querySelectorAll(l.selector):document.querySelectorAll(l.selector);for(let u in c)!Object.prototype.hasOwnProperty.call(c,u)||!(c[u]instanceof HTMLElement)||(c[u].tagName.toLowerCase()==="div"||c[u].tagName.toLowerCase()==="span"?c[u].innerHTML.includes(n)||(l.overwrite?c[u].innerHTML=n:l.overwrite||(c[u].innerHTML+=n)):c[u].tagName.toLowerCase()==="iframe"?c[u].src=w.build(n):c[u].value!==n&&!c[u].value.includes(", "+n+",")&&!c[u].value.endsWith(", "+n)&&!c[u].value.startsWith(n+",")&&(l.overwrite?c[u].value=n:c[u].value+=(c[u].value!==""?", ":"")+n));t(l.data)}function qt(l,t,e){"use strict";let n=l.base==="self"?l.selector===""?[document.getElementById(e)]:document.getElementById(e).querySelectorAll(l.selector):document.querySelectorAll(l.selector);if(!n)return;let r=window.omsApp.uiManager.getFormManager();for(let i of n)r.submit(r.get(i.id));t()}var Et={redirect:bt,"message.request":xt,"dom.reload":At,"dom.click":It,"form.submit":qt,"event.prevent":Tt,"dom.get":Lt,"dom.set":kt};var G=[{element:"",keys:[17,80],callback:function(l){document.getElementById("iSearchBox").focus()}},{element:"form, input, textarea, select",keys:[17,13],callback:function(l){let t=document.activeElement,e=t.closest("form");if(e!==null&&(e=e.id),e===null&&(e=t.getAttribute("form")),e===null&&(e=t.getAttribute("data-form")),e===null)return;let r=window.omsApp.uiManager.getFormManager().get(e).getSubmit(),i=r.length,s=-1;for(let o=0;o0?t[n-r].focus():t[e-r].focus(),++r;while(r0;)e[0].parentNode.removeChild(e[0]);l.errors.forEach(function(n){let r=document.getElementById(n.id);if(!r)return;let i=document.createElement("i"),s=document.createTextNode(n.msg);i.id="i-"+n.id,i.class="i-"+l.form,i.appendChild(s),r.parentNode.insertBefore(i,r.nextSibling)})}var wt={notify:Rt,validation:Mt,redirect:bt,reload:At};var vt={read:"read_text",help:function(){S.instance.debug("There is no help for you.")},"go to":function(l){let t=new O;t.setData({}),t.setType(C.FORM_DATA),t.setUri("api/navigation/goto?app=Backend&search="+l),t.setMethod(q.GET),t.setSuccess(function(e){window.omsApp.logger.log(e.response);try{let n=JSON.parse(e.response)[0],r=new B(n);typeof r.get("type")<"u"?window.omsApp.responseManager.run(r.get("type"),r.get(),t):typeof n.status<"u"&&n.status!==L.HIDDEN&&window.omsApp.notifyManager.send(new T(n.status,n.title,n.message),I.APP_NOTIFICATION)}catch(n){window.omsApp.logger.log(n),S.instance.error(`Invalid form response.
-Request: `+JSON.stringify(l)+`
+Response: `+c.response),o.app.notifyManager.send(new T(L.ERROR,"Failure","Some failure happened"),I.APP_NOTIFICATION)}l!==null&&(h===200||h===null)&&fetch(w.build(l)).then(f=>f.text()).then(f=>{document.documentElement.innerHTML=f,window.omsApp.state&&(window.omsApp.state.hasChanges=!1),history.pushState({},null,w.build(l)),window.omsApp.reInit()}).catch(f=>{console.warn(f)})}),window.omsApp.state&&(window.omsApp.state.hasChanges=!1),s.send(),t.getFinally()!==null&&t.getFinally()()}count(){return this.forms.length}static setDataFromRemoteUrls(t){for(let e in t){let n=new O(e);n.setResultCallback(200,function(r){let i=t[e].length;for(let s=0;s0){let c=s.split("&"),u=c.indexOf(o[0].getElementsByTagName("label")[0].getAttribute("for"));u>-1&&c.splice(u,1),s=c.join("&"),d.removeClass(o[0],"active")}s=s.split("&").join("&"),d.addClass(this,"active"),d.hasClass(this.closest(".tabview"),"url-rewrite")&&window.history.replaceState(null,"",w.build("{%}#"+(s===""?"":s)))});this.activateTabUri(t)}activateTabUri(t){let e=window.location.href.includes("#")?k.parseUrl(window.location.href).fragment:"";if(e===null||typeof e>"u")return;let n=e.split("&"),r=n.length;if(r>0&&e!=="")for(let i=0;i"u"){this.bindTable(t);return}let e=document.getElementsByTagName("table"),n=e?e.length:0;for(let r=0;r"u"&&this.bindTable(i)}}bindTable(t=null){if(t===null){d.Log.Logger.instance.info("A table doesn't have an ID.");return}this.tables[t]=new et(t),this.bindExport(this.tables[t]);let e=this.tables[t].getSorting(),n=e.length;for(let o=0;o"u"||e===null||e.addEventListener("click",function(n){window.omsApp.logger.log(t.serialize())})}bindColumnVisibility(t){let e=this,n=t.querySelectorAll("td"),r=n.length;for(let i=0;i0?"+":"-")+(E!==null?E:o)),r.getAttribute("data-src")!==null){a.getRemoteData(r);return}do{for(A=!1,c=0;cm){g=!0;break}else if(l===-1&&p"u");++l){let c=i[l].cells[r].querySelector("input[type=checkbox]");c!==null&&(c.checked=o)}})}static getRemoteData(t){let e={limit:t.getAttribute("data-limit"),offset:t.getAttribute("data-offset"),sorting:t.getAttribute("data-sorting"),filter:t.getAttribute("data-filter")},n=new O;n.setData(e),n.setType(z.JSON),n.setUri(t.getAttribute("data-src")),n.setMethod("GET"),n.setRequestHeader("Content-Type","application/json"),n.setSuccess(function(r){a.emptyTable(t.getElementsByTagName("tbody")[0]),a.addToTable(t.getElementsByTagName("tbody")[0],JSON.parse(r.response)[0])}),n.send()}static emptyTable(t){let e=t.getElementsByTagName("tr"),n=e.length;for(let r=0;r"u"||typeof e.key>"u"){this.logger.error("Invalid element id/key: "+t+"/"+e.key);return}if(this.app.eventManager.isAttached(t+"-"+e.key+"-"+e.action[s-1].key))return;this.app.eventManager.attach(t+"-"+e.key+"-"+e.action[s-1].key,function(o){r.runAction(t,e,e.action[s],o)},n,!0)}document.getElementById(t).addEventListener(e.listener,function(s){e.preventDefault&&d.preventAll(s),r.runAction(this.id,e,e.action[0],s)},!1)}runAction(t,e,n,r){let i=this;if(!Object.prototype.hasOwnProperty.call(this.actions,n.type)){this.logger.warning("Undefined action "+n.type);return}n.data=r,this.actions[n.type](n,function(s){i.app.eventManager.trigger(t+"-"+e.key+"-"+n.key,t,s)},t)}add(t,e){this.actions[t]=e}};var it=class{constructor(t){this.app=t,this.draggable={},this.dragging=null}bind(t=null){if(t!==null)this.bindElement(t);else{let e=document.querySelectorAll(".oms-dragcontainer"),n=e?e.length:0;for(let r=0;r0?t.insertBefore(t.children[i],t.children[i-1]):s===-1&&i"u"&&(this.elements[t]=[],this.bind(t)),this.elements[t].push({keys:e,callback:n})}bind(t){let e=this,n=t===""?[document]:document.querySelectorAll(t),r=n.length;for(let i=0;i-1;)e.down.splice(o,1),o=e.down.indexOf(s.keyCode)})}run(t,e){if(typeof this.elements[t]>"u")throw new Error("Unexpected elmenet!");let n=this.elements[t].concat(this.elements[""]),r=n.length,i=this.down.length;for(let s=0;s"u"&&(this.elements[t]=[]),this.bind(t,e),this.elements[t].push({callback:r,type:e,button:n,exact:i})}bind(t,e){let n=this,r=document.getElementById(t);r&&(e===F.CONTEXT?r.addEventListener("contextmenu",function(i){n.run(t,i)},!1):e===F.LONGPRESS?(r.addEventListener("mousedown",function(i){n.click.time=new Date().getTime()},!1),r.addEventListener("mouseup",function(i){new Date().getTime()-n.click.time>650&&n.run(t,i),n.click.time=0},!1)):e===F.CLICK&&r.addEventListener("click",function(i){n.run(t,i)},!1))}run(t,e){if(typeof this.elements[t]>"u")throw new Error("Unexpected element!");let n=this.elements[t],r=n.length;for(let i=0;i = "+Object.keys(this.commands).join(" | ")+" ;"}setLanguage(t){this.recognition.lang=t}add(t,e){this.commands[t]=e}start(){j!==null&&this.recognition.start()}stop(){j!==null&&this.recognition.stop()}},j=typeof j<"u"?j:typeof webkitSpeechRecognition<"u"?webkitSpeechRecognition:null,St=typeof St<"u"?St:typeof webkitSpeechGrammarList<"u"?webkitSpeechGrammarList:null;var dt=class{constructor(t){this.keyboardManager=new ct,this.mouseManager=new ut,this.voiceManager=new H(t)}getKeyboardManager(){return this.keyboardManager}getMouseManager(){return this.mouseManager}getVoiceManager(){return this.voiceManager}};var mt=class{static getInstance(t,e){return new window.omsApp.Modules[t](e)}};var ft=class{constructor(t){this.modules={},this.app=t}get(t){return typeof this.modules[t]>"u"&&(this.modules[t]=mt.getInstance(t,this.app)),this.modules[t]}};var ht=class{constructor(t="en-US"){this.pitch=1,this.rate=1,this.lang=t,this.voices=[],this.voice=null,Nt!==null&&(this.voices=window.speechSynthesis.getVoices(),this.voice=this.voices[0])}read(t){let e=new SpeechSynthesisUtterance(t);e.lang=this.lang,e.voice=this.voice,e.pitch=this.pitch,e.rate=this.rate,window.speechSynthesis.speak(e)}setLanguage(t){this.lang=t}setPitch(t){this.pitch=t}setRate(t){this.rate=t}getVoices(){return this.voices}},Nt=typeof Nt<"u"?Nt:typeof webkitSpeechRecognition<"u"?webkitSpeechRecognition:null;var pt=class{constructor(){this.status=0}setStatus(t){this.status=t}send(t){let e=document.getElementById("app-message-tpl");if(e===null)return;switch(t.status){case 0:t.status=L.OK;break}let n=document.importNode(e.content,!0);if(n.querySelector(".log-msg").classList.add("log-lvl-"+t.status),n.querySelector(".log-msg-content").innerHTML=t.message,n.querySelector(".close").addEventListener("click",function(){this.parentNode.remove()}),t.title&&t.title!==""?n.querySelector(".log-msg-title").innerHTML=t.title:n.querySelector(".log-msg-title").remove(),t.primaryButton){let s=n.querySelector(".primary-button");s&&(s.innerHTML=t.primaryButton.text,s.addEventListener("click",t.primaryButton.callback))}else{let s=n.querySelector(".primary-button");s&&s.remove()}if(t.secondaryButton){let s=n.querySelector(".secondary-button");s&&(s.innerHTML=t.secondaryButton.text,s.addEventListener("click",t.secondaryButton.callback))}else{let s=n.querySelector(".secondary-button");s&&s.remove()}e.parentNode.appendChild(n);let r=document.getElementsByClassName("log-msg"),i=r[r.length-1];window.navigator.vibrate(t.vibrate?200:0),!t.isSticky&&setTimeout(function(){i!==null&&i.parentNode!==null&&i.parentNode.removeChild(i)},t.duration)}};var gt=class{constructor(){this.status=0}setStatus(t){this.status=t}requestPermission(){Notification.permission!=="granted"&&Notification.permission!=="denied"&&Notification.requestPermission()}send(t){Notification.permission==="granted"&&navigator.serviceWorker.ready.then(e=>{e.showNotification(t.title,{body:t.message,icon:"../images/touch/chrome-touch-icon-192x192.png",vibrate:[t.vibrate?200:0],tag:"notification"})})}};var yt=class{constructor(){this.appNotifier=new pt,this.browserNotifier=new gt}send(t,e){I.APP_NOTIFICATION===e?this.appNotifier.send(t):this.browserNotifier.send(t)}getAppNotifier(){return this.appNotifier}getBrowserNotifier(){return this.browserNotifier}};function bt(a,t,e){setTimeout(function(){a.src?document.getElementById(a.src).src=w.build(a.uri):window.location=w.build(a.uri)},parseInt(a.delay))}function xt(a,t){"use strict";let e=new O(a.uri,a.method,a.request_type);e.setSuccess(function(n){window.omsApp.logger.log(n.responseText),t(JSON.parse(n.responseText))}),typeof a.data<"u"&&a.data!==null&&e.setData(a.data),e.send()}function At(a,t,e){"use strict";setTimeout(function(){a.src?(console.log(document.getElementById(a.src).hasAttribute("data-src")),console.log(w.build(document.getElementById(a.src).getAttribute("data-src"))),document.getElementById(a.src).src=document.getElementById(a.src).hasAttribute("data-src")?w.build(document.getElementById(a.src).getAttribute("data-src")):document.getElementById(a.src).src):document.location.reload()},parseInt(a.delay)),t()}function Tt(a,t,e){"use strict";window.omsApp.logger.log("prevented"),d.preventAll(a.data),t()}function It(a,t,e){"use strict";let n=a.base==="self"?a.selector===""?[document.getElementById(e)]:document.getElementById(e).querySelectorAll(a.selector):document.querySelectorAll(a.selector);if(n){for(let r of n)r.click();t()}}function Lt(a,t,e){"use strict";let n=a.base==="self"?a.selector===""||typeof a.selector>"u"?[document.getElementById(e)]:document.getElementById(e).querySelectorAll(a.selector):document.querySelectorAll(a.selector),r={};for(let i in n){if(!Object.prototype.hasOwnProperty.call(n,i)||!(n[i]instanceof HTMLElement))continue;let s=typeof n[i].getAttribute("name")<"u"&&n[i].getAttribute("name")!==""&&n[i].getAttribute("name")!==null?n[i].getAttribute("name"):n[i].getAttribute("id");if(n[i].tagName.toLowerCase()==="input"||n[i].tagName.toLowerCase()==="selects"||n[i].tagName.toLowerCase()==="button")r[s]=n[i].getAttribute("value");else if(n[i].tagName.toLowerCase()==="form"){r=window.omsApp.uiManager.getFormManager().get(s).getData();break}else r[s]=n[i].getAttribute("data-id")}t(r)}function kt(a,t,e){"use strict";let n=a.value,r="",i="",s="",o=0,l=0;for(;n.indexOf("http")!==0&&(o=n.indexOf("{",o))!==-1;)l=n.indexOf("}",o),o++,r=n.substring(o,l),i=d.getArray(r,a.data,"/"),s="{"+r+"}",n=n.replace(new RegExp(s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),i);let c=a.base==="self"?a.selector===""?[document.getElementById(e)]:document.getElementById(e).querySelectorAll(a.selector):document.querySelectorAll(a.selector);for(let u in c)!Object.prototype.hasOwnProperty.call(c,u)||!(c[u]instanceof HTMLElement)||(c[u].tagName.toLowerCase()==="div"||c[u].tagName.toLowerCase()==="span"?c[u].innerHTML.includes(n)||(a.overwrite?c[u].innerHTML=n:a.overwrite||(c[u].innerHTML+=n)):c[u].tagName.toLowerCase()==="iframe"?c[u].src=w.build(n):c[u].value!==n&&!c[u].value.includes(", "+n+",")&&!c[u].value.endsWith(", "+n)&&!c[u].value.startsWith(n+",")&&(a.overwrite?c[u].value=n:c[u].value+=(c[u].value!==""?", ":"")+n));t(a.data)}function qt(a,t,e){"use strict";let n=a.base==="self"?a.selector===""?[document.getElementById(e)]:document.getElementById(e).querySelectorAll(a.selector):document.querySelectorAll(a.selector);for(let r in n)if(!(!Object.prototype.hasOwnProperty.call(n,r)||!(n[r]instanceof HTMLElement)))switch(a.type){case"remove":let i=n[r].getAttribute(a.attr);if(i.match(new RegExp("(\\s|^)"+a.value+"(\\s|$)"))!==null){let s=new RegExp("(\\s|^)"+cls);n[r].setAttribute(a.attr,i.replace(s,"").trim())}break;case"add":n[r].setAttribute(a.attr,d.trim(n[r].getAttribute(a.attr)+" "+a.value));break;case"set":n[r].setAttribute(a.attr,a.value);break;default:}t(a.data)}function Rt(a,t,e){"use strict";let n=a.base==="self"?a.selector===""?[document.getElementById(e)]:document.getElementById(e).querySelectorAll(a.selector):document.querySelectorAll(a.selector);if(!n)return;let r=window.omsApp.uiManager.getFormManager();for(let i of n)r.submit(r.get(i.id));t()}var Et={redirect:bt,"message.request":xt,"dom.reload":At,"dom.click":It,"form.submit":Rt,"event.prevent":Tt,"dom.get":Lt,"dom.set":kt,"dom.attr.change":qt};var G=[{element:"",keys:[17,80],callback:function(a){document.getElementById("iSearchBox").focus()}},{element:"form, input, textarea, select",keys:[17,13],callback:function(a){let t=document.activeElement,e=t.closest("form");if(e!==null&&(e=e.id),e===null&&(e=t.getAttribute("form")),e===null&&(e=t.getAttribute("data-form")),e===null)return;let r=window.omsApp.uiManager.getFormManager().get(e).getSubmit(),i=r.length,s=-1;for(let o=0;o0?t[n-r].focus():t[e-r].focus(),++r;while(r0;)e[0].parentNode.removeChild(e[0]);a.errors.forEach(function(n){let r=document.getElementById(n.id);if(!r)return;let i=document.createElement("i"),s=document.createTextNode(n.msg);i.id="i-"+n.id,i.class="i-"+a.form,i.appendChild(s),r.parentNode.insertBefore(i,r.nextSibling)})}var wt={notify:Mt,validation:Bt,redirect:bt,reload:At};var vt={read:"read_text",help:function(){S.instance.debug("There is no help for you.")},"go to":function(a){let t=new O;t.setData({}),t.setType(C.FORM_DATA),t.setUri("api/navigation/goto?app=Backend&search="+a),t.setMethod(q.GET),t.setSuccess(function(e){window.omsApp.logger.log(e.response);try{let n=JSON.parse(e.response)[0],r=new B(n);typeof r.get("type")<"u"?window.omsApp.responseManager.run(r.get("type"),r.get(),t):typeof n.status<"u"&&n.status!==L.HIDDEN&&window.omsApp.notifyManager.send(new T(n.status,n.title,n.message),I.APP_NOTIFICATION)}catch(n){window.omsApp.logger.log(n),S.instance.error(`Invalid form response.
+Request: `+JSON.stringify(a)+`
Response: `+e.response)}}),t.setResultCallback(0,function(e){window.omsApp.notifyManager.send(new T(L.ERROR,"Failure","Some failure happened"),I.APP_NOTIFICATION)}),t.send()}};var Ct=class{constructor(){this.logger=S.getInstance(!0,!1,!1),window.logger=this.logger,this.cacheManager=new Q,this.storageManager=new X,this.eventManager=new $,this.responseManager=new Y,this.assetManager=new J,this.accountManager=new Z,this.uiManager=new lt(this),this.inputManager=new dt(this),this.moduleManager=new ft(this),this.readManager=new ht,this.voiceManager=new H(this),this.notifyManager=new yt,this.request=null,this.state={hasChanges:!1},this.reInit(),this.setupGeolocation(),this.setupNotificationManager(),this.setupServiceWorker(),this.setResponseMessages(),this.setVoiceActions(),this.setActions(),this.setKeyboardActions(),this.setMouseActions(),this.setPopstate()}reInit(){this.request=new k(window.location.href),this.request.setRootPath(k.parseUrl(typeof document.getElementsByTagName("base")[0]<"u"?document.getElementsByTagName("base")[0].href:"").path),w.setupUriBuilder(this.request),w.setQuery("/lang",window.location.href.substr(this.request.getBase().length).split("/")[0]),this.uiManager.bind()}setPopstate(){window.addEventListener("popstate",function(t,e){window.location.href=window.location.href})}setupGeolocation(){"geolocation"in navigator&&navigator.geolocation.getCurrentPosition(t=>{})}setupNotificationManager(){this.notifyManager.browserNotifier.requestPermission()}setupServiceWorker(){"serviceWorker"in navigator&&navigator.serviceWorker.register("sw.min.js").then(function(t){self.periodicSync.register("get-latest-notification",{minInterval:60*1}).then(()=>{S.instance.warning("PeriodicSync registration worked.")}).catch(function(e){S.instance.warning("PeriodicSync registration failed.")})}).catch(function(t){S.instance.warning("ServiceWorker registration failed.")})}setResponseMessages(){for(let t in wt)wt.hasOwnProperty(t)&&this.responseManager.add(t,wt[t])}setActions(){for(let t in Et)Et.hasOwnProperty(t)&&this.uiManager.getActionManager().add(t,Et[t])}setKeyboardActions(){let t=G.length;for(let e=0;e{var o="static-v1.0.0",s="runtime-v1.0.0",a=["cssOMS/styles.css","Web/Backend/js/backend.min.js","Web/Backend/img/404.svg","Web/Backend/img/default-user.jpg","Web/Backend/img/favicon.ico","Web/Backend/img/maskable_icon.png","Web/Backend/img/logo.png","Web/Backend/img/logo.webp","Web/Backend/img/protected_content.svg","Web/Backend/offline.htm","/"];self.addEventListener("install",t=>{t.waitUntil(caches.open(o).then(e=>e.addAll(a)).then(self.skipWaiting())),setInterval(l,5*60*1e3)});var c='Offline Mode
';self.addEventListener("fetch",t=>{t.request.url.startsWith(self.location.origin)&&t.respondWith(fetch(t.request).then(()=>caches.open(s).then(e=>fetch(t.request).then(n=>e.put(t.request,n.clone()).then(()=>n)))).catch(()=>caches.match(t.request).then(e=>e?e.clone().text().then(function(i){if(!i.includes(""))return e;let r=i.replace("",""+c);return new Response(r,{headers:e.headers,status:e.status,statusText:e.statusText})}):caches.match("Web/Backend/offline.htm"))))});self.addEventListener("activate",t=>{let e=[o,s];t.waitUntil(caches.keys().then(n=>n.filter(i=>!e.includes(i))).then(n=>Promise.all(n.map(i=>caches.delete(i)))).then(()=>self.clients.claim()))});self.addEventListener("periodicsync",t=>{t.tag});function l(){if(Notification.permission!=="granted")return;let t=new Date(Date.now()-60*5);fetch("/api/notification?start="+encodeURIComponent(t.getFullYear()+"-"+(t.getMonth()+1)+"-"+t.getDate()+" "+t.getHours()+":"+t.getMinutes()+":"+t.getSeconds())).then(e=>{if(!e.ok)throw new Error;return e.json()}).then(e=>{typeof e[0]<"u"&&e[0].response.length>0&®istration.showNotification(e[0].title,{body:e[0].message,vibrate:[200,100],tag:"notification"})})}})();
+(()=>{var o="static-v1.0.0",s="runtime-v1.0.0",a=["cssOMS/styles.css","Web/Backend/js/backend.min.js","Web/Backend/img/404.svg","Web/Backend/img/default-user.jpg","Web/Backend/img/favicon.ico","Web/Backend/img/maskable_icon.png","Web/Backend/img/logo.png","Web/Backend/img/logo.webp","Web/Backend/img/protected_content.svg","Web/Backend/offline.htm"];self.addEventListener("install",e=>{e.waitUntil(caches.open(o).then(t=>t.addAll(a)).then(self.skipWaiting())),setInterval(l,5*60*1e3)});var c='Offline Mode
';self.addEventListener("fetch",e=>{!e.request.url.startsWith(self.location.origin)||e.request.method!=="GET"||e.respondWith(fetch(e.request).then(()=>caches.open(s).then(t=>fetch(e.request).then(n=>t.put(e.request,n.clone()).then(()=>n)))).catch(()=>caches.match(e.request).then(t=>t?t.clone().text().then(function(i){if(!i.includes(""))return t;let r=i.replace("",""+c);return new Response(r,{headers:t.headers,status:t.status,statusText:t.statusText})}):caches.match("Web/Backend/offline.htm"))))});self.addEventListener("activate",e=>{let t=[o,s];e.waitUntil(caches.keys().then(n=>n.filter(i=>!t.includes(i))).then(n=>Promise.all(n.map(i=>caches.delete(i)))).then(()=>self.clients.claim()))});self.addEventListener("periodicsync",e=>{e.tag});function l(){if(Notification.permission!=="granted")return;let e=new Date(Date.now()-60*5);fetch("/api/notification?start="+encodeURIComponent(e.getFullYear()+"-"+(e.getMonth()+1)+"-"+e.getDate()+" "+e.getHours()+":"+e.getMinutes()+":"+e.getSeconds())).then(t=>{if(!t.ok)throw new Error;return t.json()}).then(t=>{typeof t[0]<"u"&&t[0].response.length>0&®istration.showNotification(t[0].title,{body:t[0].message,vibrate:[200,100],tag:"notification"})})}})();
/**
* Service worker.
*
From 95902d8366bb03136f3879131a22a07e392abc66 Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Wed, 20 Mar 2024 06:26:18 +0000
Subject: [PATCH 08/20] fix package
---
Build | 2 +-
jsOMS | 2 +-
package-lock.json | 2 +-
package.json | 18 +++++++++++++-----
4 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/Build b/Build
index 88a29cc6..0f6d5e8d 160000
--- a/Build
+++ b/Build
@@ -1 +1 @@
-Subproject commit 88a29cc69d2118581af13068043a32fe5a1ffcf5
+Subproject commit 0f6d5e8ddff9e5a12127e883e45446880f8781be
diff --git a/jsOMS b/jsOMS
index 6c47697f..652d1733 160000
--- a/jsOMS
+++ b/jsOMS
@@ -1 +1 @@
-Subproject commit 6c47697f42942f92a621e39a3600389901149224
+Subproject commit 652d1733e1ca74092bcee1d2fde31579429c013c
diff --git a/package-lock.json b/package-lock.json
index e2608504..7d1a38b5 100755
--- a/package-lock.json
+++ b/package-lock.json
@@ -15,7 +15,7 @@
"eslint-plugin-import": "^2.27.5",
"geckodriver": "^3.0.2",
"node-sass": "^9.0.0",
- "sass": "^1.57.1",
+ "sass": "^1.72.0",
"selenium-webdriver": "^4.0.0-beta.4"
}
},
diff --git a/package.json b/package.json
index 9e89c8b8..ea167413 100755
--- a/package.json
+++ b/package.json
@@ -6,6 +6,14 @@
"directories": {
"test": "tests"
},
+ "dependencies": {
+ "chromedriver": "^122.0.6",
+ "eslint": "^8.12.0",
+ "geckodriver": "^4.3.3",
+ "node-sass": "^9.0.0",
+ "sass": "^1.72.0",
+ "selenium-webdriver": "^4.18.1"
+ },
"scripts": {
"release": "npx esbuild Install/Application/Backend/js/backend.js --bundle --outfile=Install/Application/Backend/js/backend.min.js --minify && cp Install/Application/Backend/js/backend.min.js Web/Backend/js/backend.min.js && esbuild Install/Application/Backend/js/sw.js --bundle --outfile=Install/Application/Backend/js/sw.min.js --minify && cp Install/Application/Backend/js/sw.min.js Web/Backend/js/sw.min.js",
"test": "npx esbuild Install/Application/Backend/js/backend.js --bundle --outfile=Install/Application/Backend/js/backend.min.js && cp Install/Application/Backend/js/backend.min.js Web/Backend/js/backend.min.js && esbuild Install/Application/Backend/js/sw.js --bundle --outfile=Install/Application/Backend/js/sw.min.js && cp Install/Application/Backend/js/sw.min.js Web/Backend/js/sw.min.js",
@@ -23,13 +31,13 @@
},
"homepage": "https://github.com/Karaka-Management/Karaka#readme",
"devDependencies": {
- "chromedriver": "^122.0.6",
"esbuild": "0.19.5",
+ "eslint-plugin-import": "^2.29.1",
+ "chromedriver": "^122.0.6",
"eslint": "^8.12.0",
- "eslint-plugin-import": "^2.27.5",
- "geckodriver": "^3.0.2",
+ "geckodriver": "^4.3.3",
"node-sass": "^9.0.0",
- "sass": "^1.57.1",
- "selenium-webdriver": "^4.0.0-beta.4"
+ "sass": "^1.72.0",
+ "selenium-webdriver": "^4.18.1"
}
}
From 95db4050fc1b4302fc6f74650b79991f4a334073 Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Wed, 20 Mar 2024 07:21:49 +0000
Subject: [PATCH 09/20] update version requirement
---
Build | 2 +-
Cli/CliApplication.php | 2 +-
Cli/CliView.php | 2 +-
Cli/Error/lang/de.lang.php | 2 +-
Cli/Error/lang/en.lang.php | 2 +-
Cli/index.tpl.php | 2 +-
Cli/lang/en.lang.php | 2 +-
Developer-Guide | 2 +-
Install/Application/Api/Admin/Installer.php | 2 +-
Install/Application/Api/Admin/Status.php | 2 +-
Install/Application/Api/Application.php | 2 +-
Install/Application/Api/index.tpl.php | 2 +-
Install/Application/Api/lang/de.lang.php | 2 +-
Install/Application/Api/lang/en.lang.php | 2 +-
.../Backend/Admin/Install/Application/Navigation.php | 2 +-
.../Application/Backend/Admin/Install/Application/Routes.php | 2 +-
Install/Application/Backend/Admin/Install/CMS.php | 2 +-
Install/Application/Backend/Admin/Installer.php | 2 +-
Install/Application/Backend/Admin/Status.php | 2 +-
Install/Application/Backend/Application.php | 2 +-
Install/Application/Backend/BackendView.php | 2 +-
Install/Application/Backend/Controller/PageController.php | 2 +-
Install/Application/Backend/Error/403_inline.tpl.php | 2 +-
Install/Application/Backend/Error/404.tpl.php | 2 +-
Install/Application/Backend/Error/lang/de.lang.php | 2 +-
Install/Application/Backend/Error/lang/en.lang.php | 2 +-
Install/Application/Backend/Themes/l11n-list.tpl.php | 2 +-
Install/Application/Backend/Themes/legal.tpl.php | 2 +-
Install/Application/Backend/Themes/login/foot.tpl.php | 2 +-
Install/Application/Backend/Themes/login/forgot.tpl.php | 2 +-
Install/Application/Backend/Themes/login/head.tpl.php | 2 +-
Install/Application/Backend/Themes/login/imprint.tpl.php | 2 +-
Install/Application/Backend/Themes/login/privacy.tpl.php | 2 +-
Install/Application/Backend/Themes/login/reset.tpl.php | 2 +-
Install/Application/Backend/Themes/login/terms.tpl.php | 2 +-
Install/Application/Backend/Views/L11nView.php | 2 +-
Install/Application/Backend/Views/TableExportView.php | 2 +-
Install/Application/Backend/Views/TableView.php | 2 +-
Install/Application/Backend/index.tpl.php | 2 +-
Install/Application/Backend/lang/Navigation.en.lang.php | 2 +-
Install/Application/Backend/lang/de.lang.php | 2 +-
Install/Application/Backend/lang/en.lang.php | 2 +-
Install/Application/Backend/lang/it.lang.php | 2 +-
Install/Application/Backend/login.tpl.php | 2 +-
Install/Application/E404/Admin/Installer.php | 2 +-
Install/Application/E404/Admin/Status.php | 2 +-
Install/Application/E404/Application.php | 2 +-
Install/Application/E404/ErrorView.php | 2 +-
Install/Application/E404/index.tpl.php | 2 +-
Install/Application/E404/lang/en.lang.php | 2 +-
Install/Application/E500/Admin/Installer.php | 2 +-
Install/Application/E500/Admin/Status.php | 2 +-
Install/Application/E500/Application.php | 2 +-
Install/Application/E500/ErrorView.php | 2 +-
Install/Application/E500/index.tpl.php | 2 +-
Install/Application/E500/lang/en.lang.php | 2 +-
Install/Application/E503/Admin/Installer.php | 2 +-
Install/Application/E503/Admin/Status.php | 2 +-
Install/Application/E503/Application.php | 2 +-
Install/Application/E503/ErrorView.php | 2 +-
Install/Application/E503/lang/de.lang.php | 2 +-
Install/Application/E503/lang/en.lang.php | 2 +-
Install/CliApplication.php | 2 +-
Install/InstallAbstract.php | 2 +-
Install/Templates/config.tpl.php | 4 ++--
Install/Templates/htaccess.tpl.php | 2 +-
Install/Templates/secrets.tpl.php | 2 +-
Install/WebApplication.php | 2 +-
Install/cli.php | 2 +-
Install/index.php | 2 +-
Install/index.tpl.php | 2 +-
Install/tests/InstallTest.php | 2 +-
Model/CoreSettings.php | 2 +-
Model/NullSetting.php | 2 +-
Model/Setting.php | 2 +-
Model/SettingMapper.php | 2 +-
Modules/Accounting | 2 +-
Modules/Admin | 2 +-
Modules/AssetManagement | 2 +-
Modules/Attribute | 2 +-
Modules/Auditor | 2 +-
Modules/Balance | 2 +-
Modules/BankAccounting | 2 +-
Modules/Billing | 2 +-
Modules/BudgetManagement | 2 +-
Modules/BusinessExpenses | 2 +-
Modules/CMS | 2 +-
Modules/Calendar | 2 +-
Modules/CashManagement | 2 +-
Modules/Checklist | 2 +-
Modules/ClientManagement | 2 +-
Modules/Comments | 2 +-
Modules/Contact | 2 +-
Modules/ContractManagement | 2 +-
Modules/Controlling | 2 +-
Modules/Dashboard | 2 +-
Modules/Database | 2 +-
Modules/DatabaseEditor | 2 +-
Modules/Draw | 2 +-
Modules/Editor | 2 +-
Modules/EquipmentManagement | 2 +-
Modules/EventManagement | 2 +-
Modules/Exchange | 2 +-
Modules/Finance | 2 +-
Modules/FleetManagement | 2 +-
Modules/Help | 2 +-
Modules/Helper | 2 +-
Modules/Home | 2 +-
Modules/HumanResourceManagement | 2 +-
Modules/HumanResourceTimeRecording | 2 +-
Modules/IncomeStatement | 2 +-
Modules/InvestmentManagement | 2 +-
Modules/ItemManagement | 2 +-
Modules/Kanban | 2 +-
Modules/Knowledgebase | 2 +-
Modules/Labeling | 2 +-
Modules/LoanManagement | 2 +-
Modules/Marketing | 2 +-
Modules/Media | 2 +-
Modules/Messages | 2 +-
Modules/Monitoring | 2 +-
Modules/MyPrivate | 2 +-
Modules/Navigation | 2 +-
Modules/News | 2 +-
Modules/Notification | 2 +-
Modules/OnlineResourceWatcher | 2 +-
Modules/Organization | 2 +-
Modules/Payment | 2 +-
Modules/Production | 2 +-
Modules/Profile | 2 +-
Modules/ProjectManagement | 2 +-
Modules/Purchase | 2 +-
Modules/QA | 2 +-
Modules/QualityAssurance | 2 +-
Modules/QualityControl | 2 +-
Modules/QualityManagement | 2 +-
Modules/ResearchDevelopment | 2 +-
Modules/RiskManagement | 2 +-
Modules/Sales | 2 +-
Modules/SalesAnalysis | 2 +-
Modules/Search | 2 +-
Modules/Shop | 2 +-
Modules/StockTaking | 2 +-
Modules/SupplierManagement | 2 +-
Modules/Support | 2 +-
Modules/Surveys | 2 +-
Modules/Tag | 2 +-
Modules/Tasks | 2 +-
Modules/TestModule | 2 +-
Modules/Tools | 2 +-
Modules/WarehouseManagement | 2 +-
Modules/Workflow | 2 +-
Socket/SocketApplication.php | 2 +-
Socket/Socketclient/Application.php | 2 +-
Socket/Socketserver/Application.php | 2 +-
Web/Exception/DatabaseException.php | 2 +-
Web/Exception/UnexpectedApplicationException.php | 2 +-
Web/WebApplication.php | 2 +-
cli.php | 2 +-
index.php | 2 +-
phpOMS | 2 +-
socket.php | 2 +-
tests/Autoloader.php | 2 +-
tests/Cli/CliApplicationTest.php | 2 +-
tests/Exception/DatabaseExceptionTest.php | 2 +-
tests/Exception/UnexpectedApplicationExceptionTest.php | 2 +-
tests/Model/CoreSettingsTest.php | 2 +-
tests/Model/NullSettingTest.php | 2 +-
tests/Model/SettingMapperTest.php | 2 +-
tests/Model/SettingTest.php | 2 +-
tests/Modules/ModuleTestTrait.php | 2 +-
tests/Web/Backend/BackendViewTest.php | 2 +-
tests/testing.php | 2 +-
173 files changed, 174 insertions(+), 174 deletions(-)
diff --git a/Build b/Build
index 0f6d5e8d..74bae0e8 160000
--- a/Build
+++ b/Build
@@ -1 +1 @@
-Subproject commit 0f6d5e8ddff9e5a12127e883e45446880f8781be
+Subproject commit 74bae0e8813143f1b0adfcd17e97cb9712519836
diff --git a/Cli/CliApplication.php b/Cli/CliApplication.php
index 57997c6c..3f5bc38e 100755
--- a/Cli/CliApplication.php
+++ b/Cli/CliApplication.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Cli
* @copyright Dennis Eichhorn
diff --git a/Cli/CliView.php b/Cli/CliView.php
index 0776604e..f7cfabdf 100755
--- a/Cli/CliView.php
+++ b/Cli/CliView.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Cli
* @copyright Dennis Eichhorn
diff --git a/Cli/Error/lang/de.lang.php b/Cli/Error/lang/de.lang.php
index 8fc8c25e..6db68a17 100755
--- a/Cli/Error/lang/de.lang.php
+++ b/Cli/Error/lang/de.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Cli
* @copyright Dennis Eichhorn
diff --git a/Cli/Error/lang/en.lang.php b/Cli/Error/lang/en.lang.php
index e665c79a..c5f0b23b 100755
--- a/Cli/Error/lang/en.lang.php
+++ b/Cli/Error/lang/en.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Cli
* @copyright Dennis Eichhorn
diff --git a/Cli/index.tpl.php b/Cli/index.tpl.php
index 9db6b088..e1a7422d 100755
--- a/Cli/index.tpl.php
+++ b/Cli/index.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Template
* @copyright Dennis Eichhorn
diff --git a/Cli/lang/en.lang.php b/Cli/lang/en.lang.php
index bfcd2504..def238b0 100755
--- a/Cli/lang/en.lang.php
+++ b/Cli/lang/en.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Cli
* @copyright Dennis Eichhorn
diff --git a/Developer-Guide b/Developer-Guide
index 70b7025d..75c6ac14 160000
--- a/Developer-Guide
+++ b/Developer-Guide
@@ -1 +1 @@
-Subproject commit 70b7025dc69e98ea571983ee249f81c4e5922eef
+Subproject commit 75c6ac14a4ce80bad4b8361a51831e42fc87577f
diff --git a/Install/Application/Api/Admin/Installer.php b/Install/Application/Api/Admin/Installer.php
index d8aa9e22..bb739539 100755
--- a/Install/Application/Api/Admin/Installer.php
+++ b/Install/Application/Api/Admin/Installer.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Api\Admin
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Api/Admin/Status.php b/Install/Application/Api/Admin/Status.php
index 4182137a..918b738a 100755
--- a/Install/Application/Api/Admin/Status.php
+++ b/Install/Application/Api/Admin/Status.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Api\Admin
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Api/Application.php b/Install/Application/Api/Application.php
index d8a85fe2..1d58fe6c 100755
--- a/Install/Application/Api/Application.php
+++ b/Install/Application/Api/Application.php
@@ -3,7 +3,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Api
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Api/index.tpl.php b/Install/Application/Api/index.tpl.php
index 96317612..70c26872 100755
--- a/Install/Application/Api/index.tpl.php
+++ b/Install/Application/Api/index.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Template
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Api/lang/de.lang.php b/Install/Application/Api/lang/de.lang.php
index 1ab18e55..04c2a410 100755
--- a/Install/Application/Api/lang/de.lang.php
+++ b/Install/Application/Api/lang/de.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Api/lang/en.lang.php b/Install/Application/Api/lang/en.lang.php
index c61bdbe0..926d50c6 100755
--- a/Install/Application/Api/lang/en.lang.php
+++ b/Install/Application/Api/lang/en.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Admin/Install/Application/Navigation.php b/Install/Application/Backend/Admin/Install/Application/Navigation.php
index e12f0ee9..0cc2da47 100755
--- a/Install/Application/Backend/Admin/Install/Application/Navigation.php
+++ b/Install/Application/Backend/Admin/Install/Application/Navigation.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend\Admin\Install
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Admin/Install/Application/Routes.php b/Install/Application/Backend/Admin/Install/Application/Routes.php
index 4bb8e1db..daa4b9c4 100755
--- a/Install/Application/Backend/Admin/Install/Application/Routes.php
+++ b/Install/Application/Backend/Admin/Install/Application/Routes.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Modules
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Admin/Install/CMS.php b/Install/Application/Backend/Admin/Install/CMS.php
index 362316e7..6004d86d 100755
--- a/Install/Application/Backend/Admin/Install/CMS.php
+++ b/Install/Application/Backend/Admin/Install/CMS.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend\Admin\Install
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Admin/Installer.php b/Install/Application/Backend/Admin/Installer.php
index 1f6ae80f..c22cb759 100755
--- a/Install/Application/Backend/Admin/Installer.php
+++ b/Install/Application/Backend/Admin/Installer.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend\Admin
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Admin/Status.php b/Install/Application/Backend/Admin/Status.php
index 6082317c..5d707fa9 100755
--- a/Install/Application/Backend/Admin/Status.php
+++ b/Install/Application/Backend/Admin/Status.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend\Admin
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Application.php b/Install/Application/Backend/Application.php
index 161f5243..99bacd5a 100755
--- a/Install/Application/Backend/Application.php
+++ b/Install/Application/Backend/Application.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/BackendView.php b/Install/Application/Backend/BackendView.php
index ee495497..03270cb3 100755
--- a/Install/Application/Backend/BackendView.php
+++ b/Install/Application/Backend/BackendView.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Controller/PageController.php b/Install/Application/Backend/Controller/PageController.php
index d1175673..f922f220 100755
--- a/Install/Application/Backend/Controller/PageController.php
+++ b/Install/Application/Backend/Controller/PageController.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Error/403_inline.tpl.php b/Install/Application/Backend/Error/403_inline.tpl.php
index fbda496f..2e8599cb 100755
--- a/Install/Application/Backend/Error/403_inline.tpl.php
+++ b/Install/Application/Backend/Error/403_inline.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Template
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Error/404.tpl.php b/Install/Application/Backend/Error/404.tpl.php
index 824de95f..5d30559f 100755
--- a/Install/Application/Backend/Error/404.tpl.php
+++ b/Install/Application/Backend/Error/404.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Template
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Error/lang/de.lang.php b/Install/Application/Backend/Error/lang/de.lang.php
index ed3ede1e..f4195d10 100755
--- a/Install/Application/Backend/Error/lang/de.lang.php
+++ b/Install/Application/Backend/Error/lang/de.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Error/lang/en.lang.php b/Install/Application/Backend/Error/lang/en.lang.php
index 2c5a29d1..c14ead74 100755
--- a/Install/Application/Backend/Error/lang/en.lang.php
+++ b/Install/Application/Backend/Error/lang/en.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Themes/l11n-list.tpl.php b/Install/Application/Backend/Themes/l11n-list.tpl.php
index 0d3d1301..b7c420c6 100755
--- a/Install/Application/Backend/Themes/l11n-list.tpl.php
+++ b/Install/Application/Backend/Themes/l11n-list.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Modules\Localization
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Themes/legal.tpl.php b/Install/Application/Backend/Themes/legal.tpl.php
index 17e86957..f07d6eff 100755
--- a/Install/Application/Backend/Themes/legal.tpl.php
+++ b/Install/Application/Backend/Themes/legal.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Template
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Themes/login/foot.tpl.php b/Install/Application/Backend/Themes/login/foot.tpl.php
index d3ed0c60..c9d77d75 100755
--- a/Install/Application/Backend/Themes/login/foot.tpl.php
+++ b/Install/Application/Backend/Themes/login/foot.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Themes/login/forgot.tpl.php b/Install/Application/Backend/Themes/login/forgot.tpl.php
index 61f3f39c..d73429c8 100755
--- a/Install/Application/Backend/Themes/login/forgot.tpl.php
+++ b/Install/Application/Backend/Themes/login/forgot.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Themes/login/head.tpl.php b/Install/Application/Backend/Themes/login/head.tpl.php
index 9bfd28e3..dbd69e7a 100755
--- a/Install/Application/Backend/Themes/login/head.tpl.php
+++ b/Install/Application/Backend/Themes/login/head.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Themes/login/imprint.tpl.php b/Install/Application/Backend/Themes/login/imprint.tpl.php
index da4f69ff..cfdf615a 100755
--- a/Install/Application/Backend/Themes/login/imprint.tpl.php
+++ b/Install/Application/Backend/Themes/login/imprint.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Themes/login/privacy.tpl.php b/Install/Application/Backend/Themes/login/privacy.tpl.php
index 8898790c..37127be3 100755
--- a/Install/Application/Backend/Themes/login/privacy.tpl.php
+++ b/Install/Application/Backend/Themes/login/privacy.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Themes/login/reset.tpl.php b/Install/Application/Backend/Themes/login/reset.tpl.php
index 1bc0d1e5..e2aad6d2 100755
--- a/Install/Application/Backend/Themes/login/reset.tpl.php
+++ b/Install/Application/Backend/Themes/login/reset.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Themes/login/terms.tpl.php b/Install/Application/Backend/Themes/login/terms.tpl.php
index 891867d4..6856d9c9 100755
--- a/Install/Application/Backend/Themes/login/terms.tpl.php
+++ b/Install/Application/Backend/Themes/login/terms.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Views/L11nView.php b/Install/Application/Backend/Views/L11nView.php
index a722770e..3167eb2c 100755
--- a/Install/Application/Backend/Views/L11nView.php
+++ b/Install/Application/Backend/Views/L11nView.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend\Views
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Views/TableExportView.php b/Install/Application/Backend/Views/TableExportView.php
index 9b226098..bf698fc2 100755
--- a/Install/Application/Backend/Views/TableExportView.php
+++ b/Install/Application/Backend/Views/TableExportView.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Modules\Media
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/Views/TableView.php b/Install/Application/Backend/Views/TableView.php
index 3aacb31f..0fda8b11 100755
--- a/Install/Application/Backend/Views/TableView.php
+++ b/Install/Application/Backend/Views/TableView.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package View
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/index.tpl.php b/Install/Application/Backend/index.tpl.php
index 36633930..d230710f 100755
--- a/Install/Application/Backend/index.tpl.php
+++ b/Install/Application/Backend/index.tpl.php
@@ -3,7 +3,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/lang/Navigation.en.lang.php b/Install/Application/Backend/lang/Navigation.en.lang.php
index 666dec91..fc3bcb7b 100755
--- a/Install/Application/Backend/lang/Navigation.en.lang.php
+++ b/Install/Application/Backend/lang/Navigation.en.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Modules\Localization
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/lang/de.lang.php b/Install/Application/Backend/lang/de.lang.php
index f0370060..366c40aa 100755
--- a/Install/Application/Backend/lang/de.lang.php
+++ b/Install/Application/Backend/lang/de.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/lang/en.lang.php b/Install/Application/Backend/lang/en.lang.php
index d76d0983..1db13e2a 100755
--- a/Install/Application/Backend/lang/en.lang.php
+++ b/Install/Application/Backend/lang/en.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/lang/it.lang.php b/Install/Application/Backend/lang/it.lang.php
index fedde262..7dbe8101 100755
--- a/Install/Application/Backend/lang/it.lang.php
+++ b/Install/Application/Backend/lang/it.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/Backend/login.tpl.php b/Install/Application/Backend/login.tpl.php
index aa558933..f7492ad4 100755
--- a/Install/Application/Backend/login.tpl.php
+++ b/Install/Application/Backend/login.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E404/Admin/Installer.php b/Install/Application/E404/Admin/Installer.php
index e360a5a3..e1b75722 100755
--- a/Install/Application/E404/Admin/Installer.php
+++ b/Install/Application/E404/Admin/Installer.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\E404\Admin
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E404/Admin/Status.php b/Install/Application/E404/Admin/Status.php
index b5e0694b..be5ff64e 100755
--- a/Install/Application/E404/Admin/Status.php
+++ b/Install/Application/E404/Admin/Status.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\E404\Admin
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E404/Application.php b/Install/Application/E404/Application.php
index 00caa3a2..86a0c1b1 100755
--- a/Install/Application/E404/Application.php
+++ b/Install/Application/E404/Application.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Error
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E404/ErrorView.php b/Install/Application/E404/ErrorView.php
index 1d50611b..b4316e40 100755
--- a/Install/Application/E404/ErrorView.php
+++ b/Install/Application/E404/ErrorView.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\E404
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E404/index.tpl.php b/Install/Application/E404/index.tpl.php
index 398f5252..0a5a0ef2 100755
--- a/Install/Application/E404/index.tpl.php
+++ b/Install/Application/E404/index.tpl.php
@@ -3,7 +3,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E404/lang/en.lang.php b/Install/Application/E404/lang/en.lang.php
index 0310ddad..db7bb3c9 100755
--- a/Install/Application/E404/lang/en.lang.php
+++ b/Install/Application/E404/lang/en.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\E404
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E500/Admin/Installer.php b/Install/Application/E500/Admin/Installer.php
index 50fdc905..911cdd5f 100755
--- a/Install/Application/E500/Admin/Installer.php
+++ b/Install/Application/E500/Admin/Installer.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\E500\Admin
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E500/Admin/Status.php b/Install/Application/E500/Admin/Status.php
index 0c00650b..5f25ddc1 100755
--- a/Install/Application/E500/Admin/Status.php
+++ b/Install/Application/E500/Admin/Status.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\E500\Admin
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E500/Application.php b/Install/Application/E500/Application.php
index 75ca21de..8d6470d5 100755
--- a/Install/Application/E500/Application.php
+++ b/Install/Application/E500/Application.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Error
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E500/ErrorView.php b/Install/Application/E500/ErrorView.php
index 3aae46e0..4f4d2ae5 100755
--- a/Install/Application/E500/ErrorView.php
+++ b/Install/Application/E500/ErrorView.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\E500
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E500/index.tpl.php b/Install/Application/E500/index.tpl.php
index 68f04443..c7a27828 100755
--- a/Install/Application/E500/index.tpl.php
+++ b/Install/Application/E500/index.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Backend
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E500/lang/en.lang.php b/Install/Application/E500/lang/en.lang.php
index 090fad7b..193d99b3 100755
--- a/Install/Application/E500/lang/en.lang.php
+++ b/Install/Application/E500/lang/en.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\E500
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E503/Admin/Installer.php b/Install/Application/E503/Admin/Installer.php
index 40f928bf..d976667d 100755
--- a/Install/Application/E503/Admin/Installer.php
+++ b/Install/Application/E503/Admin/Installer.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\E503\Admin
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E503/Admin/Status.php b/Install/Application/E503/Admin/Status.php
index 7dafe5b2..3202ad61 100755
--- a/Install/Application/E503/Admin/Status.php
+++ b/Install/Application/E503/Admin/Status.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\E503\Admin
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E503/Application.php b/Install/Application/E503/Application.php
index 583be6b0..f8ac59d0 100755
--- a/Install/Application/E503/Application.php
+++ b/Install/Application/E503/Application.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Error
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E503/ErrorView.php b/Install/Application/E503/ErrorView.php
index a80f672b..12f1e4ac 100755
--- a/Install/Application/E503/ErrorView.php
+++ b/Install/Application/E503/ErrorView.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\E503
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E503/lang/de.lang.php b/Install/Application/E503/lang/de.lang.php
index 177f6251..755378fb 100755
--- a/Install/Application/E503/lang/de.lang.php
+++ b/Install/Application/E503/lang/de.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\E503
* @copyright Dennis Eichhorn
diff --git a/Install/Application/E503/lang/en.lang.php b/Install/Application/E503/lang/en.lang.php
index 331237ea..f91886b5 100755
--- a/Install/Application/E503/lang/en.lang.php
+++ b/Install/Application/E503/lang/en.lang.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\E503
* @copyright Dennis Eichhorn
diff --git a/Install/CliApplication.php b/Install/CliApplication.php
index 8105f24f..7d3fde4f 100755
--- a/Install/CliApplication.php
+++ b/Install/CliApplication.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Install
* @copyright Dennis Eichhorn
diff --git a/Install/InstallAbstract.php b/Install/InstallAbstract.php
index cdedd5f8..7f401c76 100755
--- a/Install/InstallAbstract.php
+++ b/Install/InstallAbstract.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Install
* @copyright Dennis Eichhorn
diff --git a/Install/Templates/config.tpl.php b/Install/Templates/config.tpl.php
index a8e3a0af..43f65b79 100755
--- a/Install/Templates/config.tpl.php
+++ b/Install/Templates/config.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Template
* @copyright Dennis Eichhorn
@@ -31,7 +31,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Install
* @copyright Dennis Eichhorn
diff --git a/Install/Templates/htaccess.tpl.php b/Install/Templates/htaccess.tpl.php
index 8a2e35d3..8439cfb0 100755
--- a/Install/Templates/htaccess.tpl.php
+++ b/Install/Templates/htaccess.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Template
* @copyright Dennis Eichhorn
diff --git a/Install/Templates/secrets.tpl.php b/Install/Templates/secrets.tpl.php
index d4faeda7..e047e79f 100755
--- a/Install/Templates/secrets.tpl.php
+++ b/Install/Templates/secrets.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Template
* @copyright Dennis Eichhorn
diff --git a/Install/WebApplication.php b/Install/WebApplication.php
index f0cccffc..365df46b 100755
--- a/Install/WebApplication.php
+++ b/Install/WebApplication.php
@@ -3,7 +3,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Install
* @copyright Dennis Eichhorn
diff --git a/Install/cli.php b/Install/cli.php
index b6d45f4b..5f5ce55a 100755
--- a/Install/cli.php
+++ b/Install/cli.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Install
* @copyright Dennis Eichhorn
diff --git a/Install/index.php b/Install/index.php
index d7bb7f80..570beddf 100755
--- a/Install/index.php
+++ b/Install/index.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Install
* @copyright Dennis Eichhorn
diff --git a/Install/index.tpl.php b/Install/index.tpl.php
index c27001a0..09279dd9 100755
--- a/Install/index.tpl.php
+++ b/Install/index.tpl.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Template
* @copyright Dennis Eichhorn
diff --git a/Install/tests/InstallTest.php b/Install/tests/InstallTest.php
index e8358920..f04051e9 100755
--- a/Install/tests/InstallTest.php
+++ b/Install/tests/InstallTest.php
@@ -3,7 +3,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package tests
* @copyright Dennis Eichhorn
diff --git a/Model/CoreSettings.php b/Model/CoreSettings.php
index b1d5aaef..38fcc671 100755
--- a/Model/CoreSettings.php
+++ b/Model/CoreSettings.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Model
* @copyright Dennis Eichhorn
diff --git a/Model/NullSetting.php b/Model/NullSetting.php
index 015ad2cd..b21e8226 100755
--- a/Model/NullSetting.php
+++ b/Model/NullSetting.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Model
* @copyright Dennis Eichhorn
diff --git a/Model/Setting.php b/Model/Setting.php
index 7fe51d1b..aff480fc 100755
--- a/Model/Setting.php
+++ b/Model/Setting.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Model
* @copyright Dennis Eichhorn
diff --git a/Model/SettingMapper.php b/Model/SettingMapper.php
index d4f7b3a4..c5a96a53 100755
--- a/Model/SettingMapper.php
+++ b/Model/SettingMapper.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Model
* @copyright Dennis Eichhorn
diff --git a/Modules/Accounting b/Modules/Accounting
index 23b69493..f36f2074 160000
--- a/Modules/Accounting
+++ b/Modules/Accounting
@@ -1 +1 @@
-Subproject commit 23b69493d79a8bb0723694dc7d56d250d8208d7c
+Subproject commit f36f2074c9386ca86c19fd2b50fbf0f0e45494f0
diff --git a/Modules/Admin b/Modules/Admin
index 69d85949..c0ef8bd1 160000
--- a/Modules/Admin
+++ b/Modules/Admin
@@ -1 +1 @@
-Subproject commit 69d859494552257efbda64ca85d3fa1a253447e2
+Subproject commit c0ef8bd1d27b1977f820e431ca5d213c3afbcbcb
diff --git a/Modules/AssetManagement b/Modules/AssetManagement
index 60b50d49..99e33a41 160000
--- a/Modules/AssetManagement
+++ b/Modules/AssetManagement
@@ -1 +1 @@
-Subproject commit 60b50d49496dfab2e9d00ed6c4bc168d13671964
+Subproject commit 99e33a413e2f0c4ef5406b9befff01cb9e00921c
diff --git a/Modules/Attribute b/Modules/Attribute
index 48199ef7..4619ddd7 160000
--- a/Modules/Attribute
+++ b/Modules/Attribute
@@ -1 +1 @@
-Subproject commit 48199ef768f006b443c3d03b16ef660506807035
+Subproject commit 4619ddd7310b323b9ef6d5f30fe94deab9b46c53
diff --git a/Modules/Auditor b/Modules/Auditor
index 118d4b2d..97d531bb 160000
--- a/Modules/Auditor
+++ b/Modules/Auditor
@@ -1 +1 @@
-Subproject commit 118d4b2db289cc8f765b0a3a18aca1472c04bf19
+Subproject commit 97d531bbb811d75af16262a8ecd6c6848008b4f2
diff --git a/Modules/Balance b/Modules/Balance
index 802886b0..51ad6ea4 160000
--- a/Modules/Balance
+++ b/Modules/Balance
@@ -1 +1 @@
-Subproject commit 802886b0645331867653ca93a8b61ee00b8928ea
+Subproject commit 51ad6ea44466c4861c97a89d311110bcb4f125ce
diff --git a/Modules/BankAccounting b/Modules/BankAccounting
index 916b94e8..a94d75a3 160000
--- a/Modules/BankAccounting
+++ b/Modules/BankAccounting
@@ -1 +1 @@
-Subproject commit 916b94e88ccf0b6fa26eea8e12e941e62b010c98
+Subproject commit a94d75a355b05cc2bccd6016afa7630aea8cf866
diff --git a/Modules/Billing b/Modules/Billing
index 7520fdfd..c5086f8d 160000
--- a/Modules/Billing
+++ b/Modules/Billing
@@ -1 +1 @@
-Subproject commit 7520fdfde7849ce2c013e0320c9529f5d00dc53d
+Subproject commit c5086f8d8fc6bca017dc9c49fcdba14d28678a3c
diff --git a/Modules/BudgetManagement b/Modules/BudgetManagement
index a63e1a86..a5689403 160000
--- a/Modules/BudgetManagement
+++ b/Modules/BudgetManagement
@@ -1 +1 @@
-Subproject commit a63e1a8604439bb7ed3f5be59eca79eb80f97b2f
+Subproject commit a5689403cab3843349111aed1c5402d648bb9806
diff --git a/Modules/BusinessExpenses b/Modules/BusinessExpenses
index d3bddcc1..92eef1a8 160000
--- a/Modules/BusinessExpenses
+++ b/Modules/BusinessExpenses
@@ -1 +1 @@
-Subproject commit d3bddcc1e3970d640cf4b525cde272d6744b9eed
+Subproject commit 92eef1a8fc2bd4d25f54d8a04989f7df939d7f2d
diff --git a/Modules/CMS b/Modules/CMS
index eb2dee4d..11854ca4 160000
--- a/Modules/CMS
+++ b/Modules/CMS
@@ -1 +1 @@
-Subproject commit eb2dee4dc4b67743ebfe6f24c62958fddbf8024d
+Subproject commit 11854ca46b601bbbc71073bdf170c80f5d515370
diff --git a/Modules/Calendar b/Modules/Calendar
index d934fe3b..6d6f31f4 160000
--- a/Modules/Calendar
+++ b/Modules/Calendar
@@ -1 +1 @@
-Subproject commit d934fe3be0cb71097b405a7ce8346508df25f442
+Subproject commit 6d6f31f4ab5e6df89bbe4b68159f169bb53c973b
diff --git a/Modules/CashManagement b/Modules/CashManagement
index e3e4b523..5679a2d5 160000
--- a/Modules/CashManagement
+++ b/Modules/CashManagement
@@ -1 +1 @@
-Subproject commit e3e4b523dda2c1db66abaaefed536fb5b1d618f1
+Subproject commit 5679a2d5c3353a3d447874cf2c92c943bde55a8b
diff --git a/Modules/Checklist b/Modules/Checklist
index b59d337e..44f203ec 160000
--- a/Modules/Checklist
+++ b/Modules/Checklist
@@ -1 +1 @@
-Subproject commit b59d337ec4cd013bd91aed7188568aa0b3239714
+Subproject commit 44f203ec47d5fa51fb8620e971981e280d4932fe
diff --git a/Modules/ClientManagement b/Modules/ClientManagement
index 19d4fffe..9bce65c4 160000
--- a/Modules/ClientManagement
+++ b/Modules/ClientManagement
@@ -1 +1 @@
-Subproject commit 19d4fffe5fdc5b7ab86be5eb9fd38f9669d74b91
+Subproject commit 9bce65c4c7d5fc42b9b9730ed3025782e26ba1c5
diff --git a/Modules/Comments b/Modules/Comments
index 2fb1a687..a1cb7726 160000
--- a/Modules/Comments
+++ b/Modules/Comments
@@ -1 +1 @@
-Subproject commit 2fb1a687ef412a16ee89c5164c8374829688af46
+Subproject commit a1cb772615dd6807cc97e7f4fd11fa768c402828
diff --git a/Modules/Contact b/Modules/Contact
index cd8ab530..18d0c0a4 160000
--- a/Modules/Contact
+++ b/Modules/Contact
@@ -1 +1 @@
-Subproject commit cd8ab5309436195050750a44f74cc81aa0774792
+Subproject commit 18d0c0a43026833b20cbafdb16e51e7b4b33bd6f
diff --git a/Modules/ContractManagement b/Modules/ContractManagement
index 2d5cc77b..f076eab9 160000
--- a/Modules/ContractManagement
+++ b/Modules/ContractManagement
@@ -1 +1 @@
-Subproject commit 2d5cc77bc82de4c12ba696a310f7bea63ad6017e
+Subproject commit f076eab97fc2b11ea67df8b9b958665946206738
diff --git a/Modules/Controlling b/Modules/Controlling
index 812eb389..5d36d90c 160000
--- a/Modules/Controlling
+++ b/Modules/Controlling
@@ -1 +1 @@
-Subproject commit 812eb389486968b8b039fe94fd1dda880764e644
+Subproject commit 5d36d90c081589aba440973e2012be7d67b7d320
diff --git a/Modules/Dashboard b/Modules/Dashboard
index 775b9faf..40c74ab1 160000
--- a/Modules/Dashboard
+++ b/Modules/Dashboard
@@ -1 +1 @@
-Subproject commit 775b9faff43b6430bd2dbc1e05fa6839750422eb
+Subproject commit 40c74ab1e2e24a4ef3f0ebb2d6f2a5e795261f62
diff --git a/Modules/Database b/Modules/Database
index f3d8deb7..2477f77d 160000
--- a/Modules/Database
+++ b/Modules/Database
@@ -1 +1 @@
-Subproject commit f3d8deb79c8a9beb9fc2436f352b15f2e719f03f
+Subproject commit 2477f77d7aee2d014f72326ac254d45674b32be3
diff --git a/Modules/DatabaseEditor b/Modules/DatabaseEditor
index 086fbf88..13e839e7 160000
--- a/Modules/DatabaseEditor
+++ b/Modules/DatabaseEditor
@@ -1 +1 @@
-Subproject commit 086fbf88290c41c18bb383d1e38a2b5fc7f4b5d6
+Subproject commit 13e839e7ca2b54c139206adc5bd96dfd5cabb459
diff --git a/Modules/Draw b/Modules/Draw
index 1725c0fd..ff2a89c7 160000
--- a/Modules/Draw
+++ b/Modules/Draw
@@ -1 +1 @@
-Subproject commit 1725c0fd8b0c99c4cef81cf01660a424010cc248
+Subproject commit ff2a89c7c6d5e60948c17899239d15e3c82e266e
diff --git a/Modules/Editor b/Modules/Editor
index 99039457..7efeea2e 160000
--- a/Modules/Editor
+++ b/Modules/Editor
@@ -1 +1 @@
-Subproject commit 99039457e8a12abf0d6d542716cc31fe0c2b57ad
+Subproject commit 7efeea2efac90bf57c99a187a22992da4e474d1e
diff --git a/Modules/EquipmentManagement b/Modules/EquipmentManagement
index 5c60daaa..f4681f1b 160000
--- a/Modules/EquipmentManagement
+++ b/Modules/EquipmentManagement
@@ -1 +1 @@
-Subproject commit 5c60daaa25da18beed4ce903b9b9d56d72207d77
+Subproject commit f4681f1b7fbfd93c4fd45ca67d2761ff3e144a45
diff --git a/Modules/EventManagement b/Modules/EventManagement
index 18bc3569..21831b80 160000
--- a/Modules/EventManagement
+++ b/Modules/EventManagement
@@ -1 +1 @@
-Subproject commit 18bc3569ce11b0de493ea60e878303b4f2793bef
+Subproject commit 21831b802719f1e5e7181de1cbc50d30d7672505
diff --git a/Modules/Exchange b/Modules/Exchange
index 4364324a..e37709dc 160000
--- a/Modules/Exchange
+++ b/Modules/Exchange
@@ -1 +1 @@
-Subproject commit 4364324a73f428e92da15e7a8f081d3e6394098d
+Subproject commit e37709dc12362e7d828f5cdaa7b0459811a3b78e
diff --git a/Modules/Finance b/Modules/Finance
index 7503df43..b016c5bc 160000
--- a/Modules/Finance
+++ b/Modules/Finance
@@ -1 +1 @@
-Subproject commit 7503df435e6d18c59a73d3db36f770d36fb0d4c6
+Subproject commit b016c5bc35f7dee21df163d9b8d7e136b1338447
diff --git a/Modules/FleetManagement b/Modules/FleetManagement
index de3cc110..9d927545 160000
--- a/Modules/FleetManagement
+++ b/Modules/FleetManagement
@@ -1 +1 @@
-Subproject commit de3cc110d165f20e10260c89e62717558c005b4f
+Subproject commit 9d927545015813ec6741b1ae402b2dbfaeec1cfa
diff --git a/Modules/Help b/Modules/Help
index 3c3eac75..fba92f44 160000
--- a/Modules/Help
+++ b/Modules/Help
@@ -1 +1 @@
-Subproject commit 3c3eac75f2be79708000fad0f22d65a7b5aa6e67
+Subproject commit fba92f440faa51a52b9e8a2859345e3b34608e24
diff --git a/Modules/Helper b/Modules/Helper
index f6043718..4a6ffe4c 160000
--- a/Modules/Helper
+++ b/Modules/Helper
@@ -1 +1 @@
-Subproject commit f604371897587e3f1b3cb65f246a20cde369c178
+Subproject commit 4a6ffe4c877465b435998ee802ed47f09aff36a3
diff --git a/Modules/Home b/Modules/Home
index 23f48982..fc8ec3cf 160000
--- a/Modules/Home
+++ b/Modules/Home
@@ -1 +1 @@
-Subproject commit 23f4898231a094219994b1aa398aa1fb191ded65
+Subproject commit fc8ec3cfb480a6c4d3ddaa8f63518ba7ab063d16
diff --git a/Modules/HumanResourceManagement b/Modules/HumanResourceManagement
index 41eeb54e..7947b8a4 160000
--- a/Modules/HumanResourceManagement
+++ b/Modules/HumanResourceManagement
@@ -1 +1 @@
-Subproject commit 41eeb54e2a370b839c1f958f6a12483d7fbff8a0
+Subproject commit 7947b8a4d637b1968f13153241bdf058aec13e1e
diff --git a/Modules/HumanResourceTimeRecording b/Modules/HumanResourceTimeRecording
index 580d82de..64ddc30a 160000
--- a/Modules/HumanResourceTimeRecording
+++ b/Modules/HumanResourceTimeRecording
@@ -1 +1 @@
-Subproject commit 580d82de1bb7e61b29873a4b9316984f9a92c47d
+Subproject commit 64ddc30a5fae476695a48fc345479c0990269d15
diff --git a/Modules/IncomeStatement b/Modules/IncomeStatement
index f276c882..d6b53998 160000
--- a/Modules/IncomeStatement
+++ b/Modules/IncomeStatement
@@ -1 +1 @@
-Subproject commit f276c8829bb4e4f0e0cd704b5cbeb41a7bb7bfad
+Subproject commit d6b539983190d96f00bd13e1df9028639a24f792
diff --git a/Modules/InvestmentManagement b/Modules/InvestmentManagement
index 990c12d6..15feee3c 160000
--- a/Modules/InvestmentManagement
+++ b/Modules/InvestmentManagement
@@ -1 +1 @@
-Subproject commit 990c12d6dff12b33f467024344f3688ccc1a3bb2
+Subproject commit 15feee3c0113a656fc0a3041d6540e32dcfa0f86
diff --git a/Modules/ItemManagement b/Modules/ItemManagement
index a283d2be..35184d14 160000
--- a/Modules/ItemManagement
+++ b/Modules/ItemManagement
@@ -1 +1 @@
-Subproject commit a283d2be17cd979b8c9051ec78b07fe3ebda3891
+Subproject commit 35184d143dac940471921ac6dd18793ff08834ac
diff --git a/Modules/Kanban b/Modules/Kanban
index 5c41e7a8..06a3482a 160000
--- a/Modules/Kanban
+++ b/Modules/Kanban
@@ -1 +1 @@
-Subproject commit 5c41e7a8433f95217e579c0959407ad2d8c0ca25
+Subproject commit 06a3482a9ec71d7bba8de6e4ac4d0c5728a078d9
diff --git a/Modules/Knowledgebase b/Modules/Knowledgebase
index 977acd88..4736fd71 160000
--- a/Modules/Knowledgebase
+++ b/Modules/Knowledgebase
@@ -1 +1 @@
-Subproject commit 977acd8831cdaa7409b6d81c09965f84ba47c4b2
+Subproject commit 4736fd71ab6c4e8eab5fdc0ef41b14027035842f
diff --git a/Modules/Labeling b/Modules/Labeling
index 28f50769..e4541c47 160000
--- a/Modules/Labeling
+++ b/Modules/Labeling
@@ -1 +1 @@
-Subproject commit 28f50769774f014b9fa2ee28cf941f11a8f194c6
+Subproject commit e4541c47563f8c3e7c8b3c928229d2289c8892a6
diff --git a/Modules/LoanManagement b/Modules/LoanManagement
index 09db7578..8746c26b 160000
--- a/Modules/LoanManagement
+++ b/Modules/LoanManagement
@@ -1 +1 @@
-Subproject commit 09db75785d65008020b6ec2d88dc1318e66ccc0b
+Subproject commit 8746c26bcb46936225b185048b5a188366bfde2b
diff --git a/Modules/Marketing b/Modules/Marketing
index 8786445b..055e7ebb 160000
--- a/Modules/Marketing
+++ b/Modules/Marketing
@@ -1 +1 @@
-Subproject commit 8786445b16e3fb2d347aa5679123e7cae66d5c78
+Subproject commit 055e7ebb13ce050c4c641703162c1131270da765
diff --git a/Modules/Media b/Modules/Media
index 0d2d180e..893d51c7 160000
--- a/Modules/Media
+++ b/Modules/Media
@@ -1 +1 @@
-Subproject commit 0d2d180e0e901e7530b2c07570538207bddc4e0a
+Subproject commit 893d51c788c5a020185f89691bede2107a6f77b8
diff --git a/Modules/Messages b/Modules/Messages
index 4f834d94..8ef3f841 160000
--- a/Modules/Messages
+++ b/Modules/Messages
@@ -1 +1 @@
-Subproject commit 4f834d9408ae308a719257a8a980c1ce1e774921
+Subproject commit 8ef3f841ab0e56bbbd505667af7c6782bbcac8ba
diff --git a/Modules/Monitoring b/Modules/Monitoring
index 8a2eb2f7..0485303a 160000
--- a/Modules/Monitoring
+++ b/Modules/Monitoring
@@ -1 +1 @@
-Subproject commit 8a2eb2f7436f81121f58a051098e5f407dd60a59
+Subproject commit 0485303a348daa19e30beff8b35cd75a42db2cc5
diff --git a/Modules/MyPrivate b/Modules/MyPrivate
index c51d81c5..dc7866a4 160000
--- a/Modules/MyPrivate
+++ b/Modules/MyPrivate
@@ -1 +1 @@
-Subproject commit c51d81c57b8d507c5c43d6f80430a902d6f475fa
+Subproject commit dc7866a492a988cfb7f0a8041a1c647932c60e59
diff --git a/Modules/Navigation b/Modules/Navigation
index c77ba894..698e3a65 160000
--- a/Modules/Navigation
+++ b/Modules/Navigation
@@ -1 +1 @@
-Subproject commit c77ba894857dec2f755c6be85bd93a5c2670b095
+Subproject commit 698e3a65c1c2cae08448a34ac5d26835306dbfcc
diff --git a/Modules/News b/Modules/News
index 509337d2..f4fbebb3 160000
--- a/Modules/News
+++ b/Modules/News
@@ -1 +1 @@
-Subproject commit 509337d2b6887a3b1c536f6e634e59ab3f35f27c
+Subproject commit f4fbebb3565c88007510a3b0c4d280050b6db463
diff --git a/Modules/Notification b/Modules/Notification
index 53a236f7..b70634ce 160000
--- a/Modules/Notification
+++ b/Modules/Notification
@@ -1 +1 @@
-Subproject commit 53a236f7612b714326cfa9b3ecdafed6ecd27132
+Subproject commit b70634ce74dbe72f4d5f9dbaff5cf26efdf9c5db
diff --git a/Modules/OnlineResourceWatcher b/Modules/OnlineResourceWatcher
index c64fb27d..f5f6125f 160000
--- a/Modules/OnlineResourceWatcher
+++ b/Modules/OnlineResourceWatcher
@@ -1 +1 @@
-Subproject commit c64fb27d0b260009ce3d279654b7ed22b9bef154
+Subproject commit f5f6125f6952c1be9c4e7a62fbda4aa3ed6f3941
diff --git a/Modules/Organization b/Modules/Organization
index d6f57d92..d934794e 160000
--- a/Modules/Organization
+++ b/Modules/Organization
@@ -1 +1 @@
-Subproject commit d6f57d92c118c94a218811a787ab052b8ef61aef
+Subproject commit d934794e8a9b7d03f28716a14ccbe5425534f077
diff --git a/Modules/Payment b/Modules/Payment
index 50702333..10041fed 160000
--- a/Modules/Payment
+++ b/Modules/Payment
@@ -1 +1 @@
-Subproject commit 50702333c75ce3ae7b02adf7d85c7bcc04f839b9
+Subproject commit 10041fed0944049703b39f9b3ed7350559a7bf90
diff --git a/Modules/Production b/Modules/Production
index 3f531eff..f864f4b4 160000
--- a/Modules/Production
+++ b/Modules/Production
@@ -1 +1 @@
-Subproject commit 3f531eff22d6b376e331353c17229775f14fcbec
+Subproject commit f864f4b41f871dd88a15bbc4e0d43570fab54c9a
diff --git a/Modules/Profile b/Modules/Profile
index 3c557053..73ccb1b8 160000
--- a/Modules/Profile
+++ b/Modules/Profile
@@ -1 +1 @@
-Subproject commit 3c55705373ea41139801dc6a9a14dffe63b387a6
+Subproject commit 73ccb1b813316534e52c50bc14cf3b0ba3614b82
diff --git a/Modules/ProjectManagement b/Modules/ProjectManagement
index acc6e725..4b6c97b2 160000
--- a/Modules/ProjectManagement
+++ b/Modules/ProjectManagement
@@ -1 +1 @@
-Subproject commit acc6e7254ae84100c02dab17d19259dbacc7b737
+Subproject commit 4b6c97b2f7c092bbb721aa1de80e04194a2353d8
diff --git a/Modules/Purchase b/Modules/Purchase
index 1ed1e67c..54a4fb5c 160000
--- a/Modules/Purchase
+++ b/Modules/Purchase
@@ -1 +1 @@
-Subproject commit 1ed1e67ca99da8a5bcf865160c22e6e160867c18
+Subproject commit 54a4fb5c07c878e0f8c8f92d1b91b342787a1e91
diff --git a/Modules/QA b/Modules/QA
index 52c5e464..b56f00bd 160000
--- a/Modules/QA
+++ b/Modules/QA
@@ -1 +1 @@
-Subproject commit 52c5e464f31ec6b5e1b0135139c9a3b6a78a7356
+Subproject commit b56f00bd593a5a2c09fa76324823e742b9ffd24a
diff --git a/Modules/QualityAssurance b/Modules/QualityAssurance
index 52d8178c..80cb42bb 160000
--- a/Modules/QualityAssurance
+++ b/Modules/QualityAssurance
@@ -1 +1 @@
-Subproject commit 52d8178cdb3b5b874f0fb5efcc18facb7cab84d3
+Subproject commit 80cb42bb6268890580064880a748b136851b9492
diff --git a/Modules/QualityControl b/Modules/QualityControl
index a5c25f4b..b7f8e2c8 160000
--- a/Modules/QualityControl
+++ b/Modules/QualityControl
@@ -1 +1 @@
-Subproject commit a5c25f4b38254b6a6caecbf36802a915d217d6b2
+Subproject commit b7f8e2c8d33d6066572c1cf614d17db51c2e4e68
diff --git a/Modules/QualityManagement b/Modules/QualityManagement
index f86f4d89..8326b08a 160000
--- a/Modules/QualityManagement
+++ b/Modules/QualityManagement
@@ -1 +1 @@
-Subproject commit f86f4d899ca5e341f8ee8c0ab169ea6da19e5999
+Subproject commit 8326b08a9b8f47dc0ccd20dcc387b43e978107a2
diff --git a/Modules/ResearchDevelopment b/Modules/ResearchDevelopment
index 2a02694c..a9c025a9 160000
--- a/Modules/ResearchDevelopment
+++ b/Modules/ResearchDevelopment
@@ -1 +1 @@
-Subproject commit 2a02694cb2e011ea71f3bbe2b10c7ffe7e9ebdca
+Subproject commit a9c025a9184817d4c0c3717a11ea583dd8982722
diff --git a/Modules/RiskManagement b/Modules/RiskManagement
index 17b02e0a..1d6c8463 160000
--- a/Modules/RiskManagement
+++ b/Modules/RiskManagement
@@ -1 +1 @@
-Subproject commit 17b02e0a4c55a99197d0fd5faeb835ff1fb6e723
+Subproject commit 1d6c8463ead32271e691e81fb5c89b8fb9f2372d
diff --git a/Modules/Sales b/Modules/Sales
index 93411ded..409b824f 160000
--- a/Modules/Sales
+++ b/Modules/Sales
@@ -1 +1 @@
-Subproject commit 93411ded077765026b05aa05fee2bab82d494172
+Subproject commit 409b824f8910d0ffa21329b7e7e010ea18a51653
diff --git a/Modules/SalesAnalysis b/Modules/SalesAnalysis
index bfe8b462..d144dcc4 160000
--- a/Modules/SalesAnalysis
+++ b/Modules/SalesAnalysis
@@ -1 +1 @@
-Subproject commit bfe8b46208506dd91cc0308ef4ad410c9dbcf427
+Subproject commit d144dcc40064c88a1db74297bdcde7805844d89e
diff --git a/Modules/Search b/Modules/Search
index e0123224..35896eb7 160000
--- a/Modules/Search
+++ b/Modules/Search
@@ -1 +1 @@
-Subproject commit e0123224e3b5f80540bd213d7738617d9017c6f0
+Subproject commit 35896eb72f0431409028e1d9e0a8c30c829c554f
diff --git a/Modules/Shop b/Modules/Shop
index 17ed62d9..8e51be12 160000
--- a/Modules/Shop
+++ b/Modules/Shop
@@ -1 +1 @@
-Subproject commit 17ed62d9d12d540366e3147473aea4f38f2d54a1
+Subproject commit 8e51be12522e06e37dfce5e034e300aeaeac99de
diff --git a/Modules/StockTaking b/Modules/StockTaking
index 3154aa52..b60b0b2f 160000
--- a/Modules/StockTaking
+++ b/Modules/StockTaking
@@ -1 +1 @@
-Subproject commit 3154aa5247ab4411352444066dcc3609d912aae0
+Subproject commit b60b0b2f0c63b5740e832f1386963d117bc56876
diff --git a/Modules/SupplierManagement b/Modules/SupplierManagement
index 226154b4..d88eddc7 160000
--- a/Modules/SupplierManagement
+++ b/Modules/SupplierManagement
@@ -1 +1 @@
-Subproject commit 226154b4b5a8d91210ed318ea8030c3a61907d37
+Subproject commit d88eddc70112823506a2895dbcb1a1aaeb1a7348
diff --git a/Modules/Support b/Modules/Support
index 374d3490..2284d409 160000
--- a/Modules/Support
+++ b/Modules/Support
@@ -1 +1 @@
-Subproject commit 374d34901c08d94f80468756e3a5e4331ad4e316
+Subproject commit 2284d4095d8d9fc981ab0567bf57a1f999e7f165
diff --git a/Modules/Surveys b/Modules/Surveys
index 03156c99..023eab90 160000
--- a/Modules/Surveys
+++ b/Modules/Surveys
@@ -1 +1 @@
-Subproject commit 03156c99d5695cb045d8583ab68179aa93ee9d5a
+Subproject commit 023eab903728456e908a8faa9b51e763bd0b45a3
diff --git a/Modules/Tag b/Modules/Tag
index 1fefab55..83191893 160000
--- a/Modules/Tag
+++ b/Modules/Tag
@@ -1 +1 @@
-Subproject commit 1fefab557958e177a527fa1a542abfd24a196a24
+Subproject commit 831918933071f4f69f7116252a11b257ed892742
diff --git a/Modules/Tasks b/Modules/Tasks
index 40a5ad12..bb0d7832 160000
--- a/Modules/Tasks
+++ b/Modules/Tasks
@@ -1 +1 @@
-Subproject commit 40a5ad12f8fcc02d209a75dc698341fd00624cd2
+Subproject commit bb0d783295413d037d985715c7330ba4c5b8fc04
diff --git a/Modules/TestModule b/Modules/TestModule
index 35a3a431..08aa9429 160000
--- a/Modules/TestModule
+++ b/Modules/TestModule
@@ -1 +1 @@
-Subproject commit 35a3a431a4f57a41c19ca96093191c2c8ec7d4ac
+Subproject commit 08aa9429113cbb5d500512c7aef33add392b34dd
diff --git a/Modules/Tools b/Modules/Tools
index a2d74abe..bdbcc72a 160000
--- a/Modules/Tools
+++ b/Modules/Tools
@@ -1 +1 @@
-Subproject commit a2d74abe7f23bd9cd13061a604fe9a1c038ecd40
+Subproject commit bdbcc72a6a9a8898ae2161c8bc8f311dc4e5ff97
diff --git a/Modules/WarehouseManagement b/Modules/WarehouseManagement
index f121ab92..3c8ab3d9 160000
--- a/Modules/WarehouseManagement
+++ b/Modules/WarehouseManagement
@@ -1 +1 @@
-Subproject commit f121ab920109630d7a3c1c0eda57adb5a15435f9
+Subproject commit 3c8ab3d96c3eb0e89bf92abb14cb6ac916d0eb8b
diff --git a/Modules/Workflow b/Modules/Workflow
index 181c7299..c06a7628 160000
--- a/Modules/Workflow
+++ b/Modules/Workflow
@@ -1 +1 @@
-Subproject commit 181c7299ea36bcf5975a7200d206bced4e0db491
+Subproject commit c06a7628326ac25ee31cffae4d49afb4e1c7e1e8
diff --git a/Socket/SocketApplication.php b/Socket/SocketApplication.php
index 192e4112..51f97523 100755
--- a/Socket/SocketApplication.php
+++ b/Socket/SocketApplication.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Socket
* @copyright Dennis Eichhorn
diff --git a/Socket/Socketclient/Application.php b/Socket/Socketclient/Application.php
index eb17f463..49deff53 100755
--- a/Socket/Socketclient/Application.php
+++ b/Socket/Socketclient/Application.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Socket
* @copyright Dennis Eichhorn
diff --git a/Socket/Socketserver/Application.php b/Socket/Socketserver/Application.php
index 35b36319..697b8673 100755
--- a/Socket/Socketserver/Application.php
+++ b/Socket/Socketserver/Application.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Socket
* @copyright Dennis Eichhorn
diff --git a/Web/Exception/DatabaseException.php b/Web/Exception/DatabaseException.php
index 0d923bb8..efb27314 100755
--- a/Web/Exception/DatabaseException.php
+++ b/Web/Exception/DatabaseException.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Exception
* @copyright Dennis Eichhorn
diff --git a/Web/Exception/UnexpectedApplicationException.php b/Web/Exception/UnexpectedApplicationException.php
index dc84da2d..be2c015e 100755
--- a/Web/Exception/UnexpectedApplicationException.php
+++ b/Web/Exception/UnexpectedApplicationException.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web\Exception
* @copyright Dennis Eichhorn
diff --git a/Web/WebApplication.php b/Web/WebApplication.php
index 4878ca02..ee7cf6de 100755
--- a/Web/WebApplication.php
+++ b/Web/WebApplication.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Web
* @copyright Dennis Eichhorn
diff --git a/cli.php b/cli.php
index 24266fb8..af59da39 100755
--- a/cli.php
+++ b/cli.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Jingga
* @copyright Dennis Eichhorn
diff --git a/index.php b/index.php
index a04181a1..75a93701 100755
--- a/index.php
+++ b/index.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Jingga
* @copyright Dennis Eichhorn
diff --git a/phpOMS b/phpOMS
index d6ddf6cb..9ca0be28 160000
--- a/phpOMS
+++ b/phpOMS
@@ -1 +1 @@
-Subproject commit d6ddf6cbe977c515d31339ea397170e4d54922aa
+Subproject commit 9ca0be2825d72ad74389bae07e718d1bcbfbdf31
diff --git a/socket.php b/socket.php
index 9a4a861f..7184a294 100755
--- a/socket.php
+++ b/socket.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Jingga
* @copyright Dennis Eichhorn
diff --git a/tests/Autoloader.php b/tests/Autoloader.php
index 639b58c4..4290b8ea 100755
--- a/tests/Autoloader.php
+++ b/tests/Autoloader.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package tests
* @copyright Dennis Eichhorn
diff --git a/tests/Cli/CliApplicationTest.php b/tests/Cli/CliApplicationTest.php
index d76174a1..6ff56511 100755
--- a/tests/Cli/CliApplicationTest.php
+++ b/tests/Cli/CliApplicationTest.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package tests
* @copyright Dennis Eichhorn
diff --git a/tests/Exception/DatabaseExceptionTest.php b/tests/Exception/DatabaseExceptionTest.php
index 2e51ae9f..9547d273 100755
--- a/tests/Exception/DatabaseExceptionTest.php
+++ b/tests/Exception/DatabaseExceptionTest.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package tests
* @copyright Dennis Eichhorn
diff --git a/tests/Exception/UnexpectedApplicationExceptionTest.php b/tests/Exception/UnexpectedApplicationExceptionTest.php
index 129e05c6..be77434d 100755
--- a/tests/Exception/UnexpectedApplicationExceptionTest.php
+++ b/tests/Exception/UnexpectedApplicationExceptionTest.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package tests
* @copyright Dennis Eichhorn
diff --git a/tests/Model/CoreSettingsTest.php b/tests/Model/CoreSettingsTest.php
index 356949b8..d21e93af 100755
--- a/tests/Model/CoreSettingsTest.php
+++ b/tests/Model/CoreSettingsTest.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package tests
* @copyright Dennis Eichhorn
diff --git a/tests/Model/NullSettingTest.php b/tests/Model/NullSettingTest.php
index f1ec03e6..ea77f0d1 100755
--- a/tests/Model/NullSettingTest.php
+++ b/tests/Model/NullSettingTest.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package tests
* @copyright Dennis Eichhorn
diff --git a/tests/Model/SettingMapperTest.php b/tests/Model/SettingMapperTest.php
index 131b4e8d..176986c8 100755
--- a/tests/Model/SettingMapperTest.php
+++ b/tests/Model/SettingMapperTest.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package tests
* @copyright Dennis Eichhorn
diff --git a/tests/Model/SettingTest.php b/tests/Model/SettingTest.php
index 1224a5e4..be1ff548 100755
--- a/tests/Model/SettingTest.php
+++ b/tests/Model/SettingTest.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package tests
* @copyright Dennis Eichhorn
diff --git a/tests/Modules/ModuleTestTrait.php b/tests/Modules/ModuleTestTrait.php
index c065dc78..ca8dbacd 100755
--- a/tests/Modules/ModuleTestTrait.php
+++ b/tests/Modules/ModuleTestTrait.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package tests
* @copyright Dennis Eichhorn
diff --git a/tests/Web/Backend/BackendViewTest.php b/tests/Web/Backend/BackendViewTest.php
index 6d8474e3..02d21d27 100755
--- a/tests/Web/Backend/BackendViewTest.php
+++ b/tests/Web/Backend/BackendViewTest.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package tests
* @copyright Dennis Eichhorn
diff --git a/tests/testing.php b/tests/testing.php
index 2786c4fe..1b69e2ab 100755
--- a/tests/testing.php
+++ b/tests/testing.php
@@ -2,7 +2,7 @@
/**
* Jingga
*
- * PHP Version 8.1
+ * PHP Version 8.2
*
* @package Jingga
* @copyright Dennis Eichhorn
From 89c15994031045b1490f4394ce6f424ad99cbbd9 Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Wed, 20 Mar 2024 07:24:28 +0000
Subject: [PATCH 10/20] update php version
---
Build | 2 +-
Developer-Guide | 2 +-
User-Guide | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Build b/Build
index 74bae0e8..0f34cfbd 160000
--- a/Build
+++ b/Build
@@ -1 +1 @@
-Subproject commit 74bae0e8813143f1b0adfcd17e97cb9712519836
+Subproject commit 0f34cfbdba2c675939563257d7bbae3d5dc7b4a1
diff --git a/Developer-Guide b/Developer-Guide
index 75c6ac14..279621df 160000
--- a/Developer-Guide
+++ b/Developer-Guide
@@ -1 +1 @@
-Subproject commit 75c6ac14a4ce80bad4b8361a51831e42fc87577f
+Subproject commit 279621df52203b19da5448ad4899bea513840377
diff --git a/User-Guide b/User-Guide
index 26effce9..a9eff5d1 160000
--- a/User-Guide
+++ b/User-Guide
@@ -1 +1 @@
-Subproject commit 26effce983d9997a0af1c7b0b11adb7f6a9676f3
+Subproject commit a9eff5d1add0b6e76d472fe62410b8b81b7fa119
From 890fea6a3f3f4536f28485f6567e127be83c28b6 Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Fri, 22 Mar 2024 22:34:05 +0000
Subject: [PATCH 11/20] bump
---
Build | 2 +-
Developer-Guide | 2 +-
ICAL.txt => ICLA.txt | 0
Modules/Accounting | 2 +-
Modules/Admin | 2 +-
Modules/Attribute | 2 +-
Modules/Auditor | 2 +-
Modules/Billing | 2 +-
Modules/CMS | 2 +-
Modules/Calendar | 2 +-
Modules/Checklist | 2 +-
Modules/ClientManagement | 2 +-
Modules/Comments | 2 +-
Modules/Contact | 2 +-
Modules/ContractManagement | 2 +-
Modules/Dashboard | 2 +-
Modules/Database | 2 +-
Modules/DatabaseEditor | 2 +-
Modules/Draw | 2 +-
Modules/Editor | 2 +-
Modules/EquipmentManagement | 2 +-
Modules/EventManagement | 2 +-
Modules/Exchange | 2 +-
Modules/Finance | 2 +-
Modules/FleetManagement | 2 +-
Modules/Help | 2 +-
Modules/Helper | 2 +-
Modules/Home | 2 +-
Modules/HumanResourceManagement | 2 +-
Modules/HumanResourceTimeRecording | 2 +-
Modules/ItemManagement | 2 +-
Modules/Kanban | 2 +-
Modules/Knowledgebase | 2 +-
Modules/Marketing | 2 +-
Modules/Media | 2 +-
Modules/Messages | 2 +-
Modules/Monitoring | 2 +-
Modules/MyPrivate | 2 +-
Modules/Navigation | 2 +-
Modules/News | 2 +-
Modules/Notification | 2 +-
Modules/OnlineResourceWatcher | 2 +-
Modules/Organization | 2 +-
Modules/Payment | 2 +-
Modules/Profile | 2 +-
Modules/ProjectManagement | 2 +-
Modules/Purchase | 2 +-
Modules/QA | 2 +-
Modules/QualityAssurance | 2 +-
Modules/QualityControl | 2 +-
Modules/QualityManagement | 2 +-
Modules/RiskManagement | 2 +-
Modules/Sales | 2 +-
Modules/Search | 2 +-
Modules/Shop | 2 +-
Modules/SupplierManagement | 2 +-
Modules/Support | 2 +-
Modules/Surveys | 2 +-
Modules/Tag | 2 +-
Modules/Tasks | 2 +-
Modules/TestModule | 2 +-
Modules/Tools | 2 +-
Modules/WarehouseManagement | 2 +-
Modules/Workflow | 2 +-
Tools/OCRImageOptimizerApp | 2 +-
Tools/TestReportGenerator | 2 +-
User-Guide | 2 +-
cOMS | 2 +-
cssOMS | 2 +-
jsOMS | 2 +-
phpOMS | 2 +-
71 files changed, 70 insertions(+), 70 deletions(-)
rename ICAL.txt => ICLA.txt (100%)
diff --git a/Build b/Build
index 0f34cfbd..c2c5f5b6 160000
--- a/Build
+++ b/Build
@@ -1 +1 @@
-Subproject commit 0f34cfbdba2c675939563257d7bbae3d5dc7b4a1
+Subproject commit c2c5f5b6102e7d11fbdf632d3ed8a61ad80ed21d
diff --git a/Developer-Guide b/Developer-Guide
index 279621df..ec4ab73d 160000
--- a/Developer-Guide
+++ b/Developer-Guide
@@ -1 +1 @@
-Subproject commit 279621df52203b19da5448ad4899bea513840377
+Subproject commit ec4ab73db4009c8038fc2b9d498e455fdf4224fd
diff --git a/ICAL.txt b/ICLA.txt
similarity index 100%
rename from ICAL.txt
rename to ICLA.txt
diff --git a/Modules/Accounting b/Modules/Accounting
index f36f2074..81c5fdbb 160000
--- a/Modules/Accounting
+++ b/Modules/Accounting
@@ -1 +1 @@
-Subproject commit f36f2074c9386ca86c19fd2b50fbf0f0e45494f0
+Subproject commit 81c5fdbb1e94e6cd78e25631c29ce396cd22513f
diff --git a/Modules/Admin b/Modules/Admin
index c0ef8bd1..5a566089 160000
--- a/Modules/Admin
+++ b/Modules/Admin
@@ -1 +1 @@
-Subproject commit c0ef8bd1d27b1977f820e431ca5d213c3afbcbcb
+Subproject commit 5a5660895a796717f2a289b24bbcefb40d821797
diff --git a/Modules/Attribute b/Modules/Attribute
index 4619ddd7..9722d6ad 160000
--- a/Modules/Attribute
+++ b/Modules/Attribute
@@ -1 +1 @@
-Subproject commit 4619ddd7310b323b9ef6d5f30fe94deab9b46c53
+Subproject commit 9722d6ad0d45d68d28a29d3d9609f73eb3720415
diff --git a/Modules/Auditor b/Modules/Auditor
index 97d531bb..b619364b 160000
--- a/Modules/Auditor
+++ b/Modules/Auditor
@@ -1 +1 @@
-Subproject commit 97d531bbb811d75af16262a8ecd6c6848008b4f2
+Subproject commit b619364be8519612fac88460d0f5bb2ac9ef5dab
diff --git a/Modules/Billing b/Modules/Billing
index c5086f8d..e75a9fb9 160000
--- a/Modules/Billing
+++ b/Modules/Billing
@@ -1 +1 @@
-Subproject commit c5086f8d8fc6bca017dc9c49fcdba14d28678a3c
+Subproject commit e75a9fb9dcae2ae4626d6ad0af667384940d95fe
diff --git a/Modules/CMS b/Modules/CMS
index 11854ca4..09010c62 160000
--- a/Modules/CMS
+++ b/Modules/CMS
@@ -1 +1 @@
-Subproject commit 11854ca46b601bbbc71073bdf170c80f5d515370
+Subproject commit 09010c625ceb05a8922cc5091ed681ce6c57a517
diff --git a/Modules/Calendar b/Modules/Calendar
index 6d6f31f4..fc5a877f 160000
--- a/Modules/Calendar
+++ b/Modules/Calendar
@@ -1 +1 @@
-Subproject commit 6d6f31f4ab5e6df89bbe4b68159f169bb53c973b
+Subproject commit fc5a877fd1527d1ea6d9921e3734f747aec80ed5
diff --git a/Modules/Checklist b/Modules/Checklist
index 44f203ec..be05b3cf 160000
--- a/Modules/Checklist
+++ b/Modules/Checklist
@@ -1 +1 @@
-Subproject commit 44f203ec47d5fa51fb8620e971981e280d4932fe
+Subproject commit be05b3cf520d5ee42efcbc10e62e33a45a725969
diff --git a/Modules/ClientManagement b/Modules/ClientManagement
index 9bce65c4..da15426b 160000
--- a/Modules/ClientManagement
+++ b/Modules/ClientManagement
@@ -1 +1 @@
-Subproject commit 9bce65c4c7d5fc42b9b9730ed3025782e26ba1c5
+Subproject commit da15426b3895523ab55a5c1adbd8e9c7287a156d
diff --git a/Modules/Comments b/Modules/Comments
index a1cb7726..3e654325 160000
--- a/Modules/Comments
+++ b/Modules/Comments
@@ -1 +1 @@
-Subproject commit a1cb772615dd6807cc97e7f4fd11fa768c402828
+Subproject commit 3e654325d59f23aae1715b525f63cefd58262701
diff --git a/Modules/Contact b/Modules/Contact
index 18d0c0a4..9093907b 160000
--- a/Modules/Contact
+++ b/Modules/Contact
@@ -1 +1 @@
-Subproject commit 18d0c0a43026833b20cbafdb16e51e7b4b33bd6f
+Subproject commit 9093907bca81990136d983e5343d4c72aa3c4e2d
diff --git a/Modules/ContractManagement b/Modules/ContractManagement
index f076eab9..9d3a5fd8 160000
--- a/Modules/ContractManagement
+++ b/Modules/ContractManagement
@@ -1 +1 @@
-Subproject commit f076eab97fc2b11ea67df8b9b958665946206738
+Subproject commit 9d3a5fd8c07b2dbdf0091cad66c12ca71ec76f25
diff --git a/Modules/Dashboard b/Modules/Dashboard
index 40c74ab1..b815b6c7 160000
--- a/Modules/Dashboard
+++ b/Modules/Dashboard
@@ -1 +1 @@
-Subproject commit 40c74ab1e2e24a4ef3f0ebb2d6f2a5e795261f62
+Subproject commit b815b6c7897ef2506b6f03e400d4d8100b5d25b4
diff --git a/Modules/Database b/Modules/Database
index 2477f77d..456fa8ee 160000
--- a/Modules/Database
+++ b/Modules/Database
@@ -1 +1 @@
-Subproject commit 2477f77d7aee2d014f72326ac254d45674b32be3
+Subproject commit 456fa8ee67f109854bdc44fdb5bb0e8d29251ab1
diff --git a/Modules/DatabaseEditor b/Modules/DatabaseEditor
index 13e839e7..456e7067 160000
--- a/Modules/DatabaseEditor
+++ b/Modules/DatabaseEditor
@@ -1 +1 @@
-Subproject commit 13e839e7ca2b54c139206adc5bd96dfd5cabb459
+Subproject commit 456e70677083f867b04443db749998ebcae03767
diff --git a/Modules/Draw b/Modules/Draw
index ff2a89c7..f41aa39a 160000
--- a/Modules/Draw
+++ b/Modules/Draw
@@ -1 +1 @@
-Subproject commit ff2a89c7c6d5e60948c17899239d15e3c82e266e
+Subproject commit f41aa39aed6b03e50fc9d8df58b1bc50ce960ae1
diff --git a/Modules/Editor b/Modules/Editor
index 7efeea2e..e1ec5dbd 160000
--- a/Modules/Editor
+++ b/Modules/Editor
@@ -1 +1 @@
-Subproject commit 7efeea2efac90bf57c99a187a22992da4e474d1e
+Subproject commit e1ec5dbdf9724707ebc5b9b02d9cd390af521cb3
diff --git a/Modules/EquipmentManagement b/Modules/EquipmentManagement
index f4681f1b..6d8e4ee4 160000
--- a/Modules/EquipmentManagement
+++ b/Modules/EquipmentManagement
@@ -1 +1 @@
-Subproject commit f4681f1b7fbfd93c4fd45ca67d2761ff3e144a45
+Subproject commit 6d8e4ee44d89294ee2f0e0dd898778a82318237f
diff --git a/Modules/EventManagement b/Modules/EventManagement
index 21831b80..ad661fc0 160000
--- a/Modules/EventManagement
+++ b/Modules/EventManagement
@@ -1 +1 @@
-Subproject commit 21831b802719f1e5e7181de1cbc50d30d7672505
+Subproject commit ad661fc091b1b48b175649790a783d0bde6c677c
diff --git a/Modules/Exchange b/Modules/Exchange
index e37709dc..b6d94bb2 160000
--- a/Modules/Exchange
+++ b/Modules/Exchange
@@ -1 +1 @@
-Subproject commit e37709dc12362e7d828f5cdaa7b0459811a3b78e
+Subproject commit b6d94bb2ee84cd0c6fa1a01518622d8cea5b8d39
diff --git a/Modules/Finance b/Modules/Finance
index b016c5bc..37faaf62 160000
--- a/Modules/Finance
+++ b/Modules/Finance
@@ -1 +1 @@
-Subproject commit b016c5bc35f7dee21df163d9b8d7e136b1338447
+Subproject commit 37faaf62b67f65b5b2cb78a160545cc57ad4974c
diff --git a/Modules/FleetManagement b/Modules/FleetManagement
index 9d927545..42852998 160000
--- a/Modules/FleetManagement
+++ b/Modules/FleetManagement
@@ -1 +1 @@
-Subproject commit 9d927545015813ec6741b1ae402b2dbfaeec1cfa
+Subproject commit 428529983a051cb714bdccb57e7f35d04cdd12e8
diff --git a/Modules/Help b/Modules/Help
index fba92f44..f156278d 160000
--- a/Modules/Help
+++ b/Modules/Help
@@ -1 +1 @@
-Subproject commit fba92f440faa51a52b9e8a2859345e3b34608e24
+Subproject commit f156278d56f9824e5b4352ea64cb92d5e7b15754
diff --git a/Modules/Helper b/Modules/Helper
index 4a6ffe4c..15f19751 160000
--- a/Modules/Helper
+++ b/Modules/Helper
@@ -1 +1 @@
-Subproject commit 4a6ffe4c877465b435998ee802ed47f09aff36a3
+Subproject commit 15f19751392d14e702cb95346a3846820efe6c40
diff --git a/Modules/Home b/Modules/Home
index fc8ec3cf..ebea18ea 160000
--- a/Modules/Home
+++ b/Modules/Home
@@ -1 +1 @@
-Subproject commit fc8ec3cfb480a6c4d3ddaa8f63518ba7ab063d16
+Subproject commit ebea18eaafc4a512e128efedf0b83b337e4c86d6
diff --git a/Modules/HumanResourceManagement b/Modules/HumanResourceManagement
index 7947b8a4..97e3b97d 160000
--- a/Modules/HumanResourceManagement
+++ b/Modules/HumanResourceManagement
@@ -1 +1 @@
-Subproject commit 7947b8a4d637b1968f13153241bdf058aec13e1e
+Subproject commit 97e3b97d365617b073fc8d0eb044c59e0c16e95a
diff --git a/Modules/HumanResourceTimeRecording b/Modules/HumanResourceTimeRecording
index 64ddc30a..13eb3855 160000
--- a/Modules/HumanResourceTimeRecording
+++ b/Modules/HumanResourceTimeRecording
@@ -1 +1 @@
-Subproject commit 64ddc30a5fae476695a48fc345479c0990269d15
+Subproject commit 13eb385593039121c3e107fccc6788c16f0fb97f
diff --git a/Modules/ItemManagement b/Modules/ItemManagement
index 35184d14..debfa19f 160000
--- a/Modules/ItemManagement
+++ b/Modules/ItemManagement
@@ -1 +1 @@
-Subproject commit 35184d143dac940471921ac6dd18793ff08834ac
+Subproject commit debfa19fb5ab77068d5636b8bd79030af50d3c3f
diff --git a/Modules/Kanban b/Modules/Kanban
index 06a3482a..e48deb1e 160000
--- a/Modules/Kanban
+++ b/Modules/Kanban
@@ -1 +1 @@
-Subproject commit 06a3482a9ec71d7bba8de6e4ac4d0c5728a078d9
+Subproject commit e48deb1e93e3441b9caf474365bdb37190dc8e3d
diff --git a/Modules/Knowledgebase b/Modules/Knowledgebase
index 4736fd71..1024e700 160000
--- a/Modules/Knowledgebase
+++ b/Modules/Knowledgebase
@@ -1 +1 @@
-Subproject commit 4736fd71ab6c4e8eab5fdc0ef41b14027035842f
+Subproject commit 1024e70062e8aa7ab27ce51c5e38c2843adf5d0d
diff --git a/Modules/Marketing b/Modules/Marketing
index 055e7ebb..ab0950ce 160000
--- a/Modules/Marketing
+++ b/Modules/Marketing
@@ -1 +1 @@
-Subproject commit 055e7ebb13ce050c4c641703162c1131270da765
+Subproject commit ab0950ce727c9ecfd890cc36cb937c044b54aca2
diff --git a/Modules/Media b/Modules/Media
index 893d51c7..0d19a866 160000
--- a/Modules/Media
+++ b/Modules/Media
@@ -1 +1 @@
-Subproject commit 893d51c788c5a020185f89691bede2107a6f77b8
+Subproject commit 0d19a866650e1352ddd2fe88a63ce9862c783ed7
diff --git a/Modules/Messages b/Modules/Messages
index 8ef3f841..f3f3af78 160000
--- a/Modules/Messages
+++ b/Modules/Messages
@@ -1 +1 @@
-Subproject commit 8ef3f841ab0e56bbbd505667af7c6782bbcac8ba
+Subproject commit f3f3af788c1040b64dc663d1c196c0cfeb97e228
diff --git a/Modules/Monitoring b/Modules/Monitoring
index 0485303a..c769f4d9 160000
--- a/Modules/Monitoring
+++ b/Modules/Monitoring
@@ -1 +1 @@
-Subproject commit 0485303a348daa19e30beff8b35cd75a42db2cc5
+Subproject commit c769f4d91f02e6f3bbc3b4cd527d04adb0c11adc
diff --git a/Modules/MyPrivate b/Modules/MyPrivate
index dc7866a4..1473f6b6 160000
--- a/Modules/MyPrivate
+++ b/Modules/MyPrivate
@@ -1 +1 @@
-Subproject commit dc7866a492a988cfb7f0a8041a1c647932c60e59
+Subproject commit 1473f6b67d078af731865e79fd32c2ae53224186
diff --git a/Modules/Navigation b/Modules/Navigation
index 698e3a65..ca750b7e 160000
--- a/Modules/Navigation
+++ b/Modules/Navigation
@@ -1 +1 @@
-Subproject commit 698e3a65c1c2cae08448a34ac5d26835306dbfcc
+Subproject commit ca750b7e45624228979ac316ae8aba1ab0dc1b16
diff --git a/Modules/News b/Modules/News
index f4fbebb3..530f321f 160000
--- a/Modules/News
+++ b/Modules/News
@@ -1 +1 @@
-Subproject commit f4fbebb3565c88007510a3b0c4d280050b6db463
+Subproject commit 530f321fc6d1ae61cd1fc56310d22945ce86250f
diff --git a/Modules/Notification b/Modules/Notification
index b70634ce..24f788c9 160000
--- a/Modules/Notification
+++ b/Modules/Notification
@@ -1 +1 @@
-Subproject commit b70634ce74dbe72f4d5f9dbaff5cf26efdf9c5db
+Subproject commit 24f788c947a8da35c69b95a1d4dad36b9c0fff08
diff --git a/Modules/OnlineResourceWatcher b/Modules/OnlineResourceWatcher
index f5f6125f..7fce97bb 160000
--- a/Modules/OnlineResourceWatcher
+++ b/Modules/OnlineResourceWatcher
@@ -1 +1 @@
-Subproject commit f5f6125f6952c1be9c4e7a62fbda4aa3ed6f3941
+Subproject commit 7fce97bb19fa9585b4dad9d9fb339c48bf4d0f6c
diff --git a/Modules/Organization b/Modules/Organization
index d934794e..e9dd30bb 160000
--- a/Modules/Organization
+++ b/Modules/Organization
@@ -1 +1 @@
-Subproject commit d934794e8a9b7d03f28716a14ccbe5425534f077
+Subproject commit e9dd30bb7d3259b31ce3047b0c8f4a6fe5cf6cfd
diff --git a/Modules/Payment b/Modules/Payment
index 10041fed..598a8532 160000
--- a/Modules/Payment
+++ b/Modules/Payment
@@ -1 +1 @@
-Subproject commit 10041fed0944049703b39f9b3ed7350559a7bf90
+Subproject commit 598a85329b005634e78d16adddc37b02b5537bca
diff --git a/Modules/Profile b/Modules/Profile
index 73ccb1b8..b801adb5 160000
--- a/Modules/Profile
+++ b/Modules/Profile
@@ -1 +1 @@
-Subproject commit 73ccb1b813316534e52c50bc14cf3b0ba3614b82
+Subproject commit b801adb5127efd4ad67c13b366648d1781598d25
diff --git a/Modules/ProjectManagement b/Modules/ProjectManagement
index 4b6c97b2..1364ac76 160000
--- a/Modules/ProjectManagement
+++ b/Modules/ProjectManagement
@@ -1 +1 @@
-Subproject commit 4b6c97b2f7c092bbb721aa1de80e04194a2353d8
+Subproject commit 1364ac768fc077aeba3eac215740a8b71c57fde0
diff --git a/Modules/Purchase b/Modules/Purchase
index 54a4fb5c..e599c369 160000
--- a/Modules/Purchase
+++ b/Modules/Purchase
@@ -1 +1 @@
-Subproject commit 54a4fb5c07c878e0f8c8f92d1b91b342787a1e91
+Subproject commit e599c3694c6731713d8d193dd47a4f8bbcc56346
diff --git a/Modules/QA b/Modules/QA
index b56f00bd..05b97135 160000
--- a/Modules/QA
+++ b/Modules/QA
@@ -1 +1 @@
-Subproject commit b56f00bd593a5a2c09fa76324823e742b9ffd24a
+Subproject commit 05b97135f3b6cb3dec0e6e87e8546b60828bc1bd
diff --git a/Modules/QualityAssurance b/Modules/QualityAssurance
index 80cb42bb..e0885abc 160000
--- a/Modules/QualityAssurance
+++ b/Modules/QualityAssurance
@@ -1 +1 @@
-Subproject commit 80cb42bb6268890580064880a748b136851b9492
+Subproject commit e0885abcf818b12cd1f749ae853d983d8c36cdfb
diff --git a/Modules/QualityControl b/Modules/QualityControl
index b7f8e2c8..586841fd 160000
--- a/Modules/QualityControl
+++ b/Modules/QualityControl
@@ -1 +1 @@
-Subproject commit b7f8e2c8d33d6066572c1cf614d17db51c2e4e68
+Subproject commit 586841fda2e5280fbd957851016015061a324f70
diff --git a/Modules/QualityManagement b/Modules/QualityManagement
index 8326b08a..a22422ea 160000
--- a/Modules/QualityManagement
+++ b/Modules/QualityManagement
@@ -1 +1 @@
-Subproject commit 8326b08a9b8f47dc0ccd20dcc387b43e978107a2
+Subproject commit a22422eab9d77e7e42e195fdc889dcd59a008990
diff --git a/Modules/RiskManagement b/Modules/RiskManagement
index 1d6c8463..9ec77652 160000
--- a/Modules/RiskManagement
+++ b/Modules/RiskManagement
@@ -1 +1 @@
-Subproject commit 1d6c8463ead32271e691e81fb5c89b8fb9f2372d
+Subproject commit 9ec776524a075d9e9034f194115f299d2a509bfa
diff --git a/Modules/Sales b/Modules/Sales
index 409b824f..308454fc 160000
--- a/Modules/Sales
+++ b/Modules/Sales
@@ -1 +1 @@
-Subproject commit 409b824f8910d0ffa21329b7e7e010ea18a51653
+Subproject commit 308454fcbd7101e223783ba7fcaf2041e99f2869
diff --git a/Modules/Search b/Modules/Search
index 35896eb7..f3a7f59a 160000
--- a/Modules/Search
+++ b/Modules/Search
@@ -1 +1 @@
-Subproject commit 35896eb72f0431409028e1d9e0a8c30c829c554f
+Subproject commit f3a7f59ac3300a1561ea087d184a766d0e59fa1e
diff --git a/Modules/Shop b/Modules/Shop
index 8e51be12..5ffbee0f 160000
--- a/Modules/Shop
+++ b/Modules/Shop
@@ -1 +1 @@
-Subproject commit 8e51be12522e06e37dfce5e034e300aeaeac99de
+Subproject commit 5ffbee0f49da07aff0933f899f49732dbe32f7dc
diff --git a/Modules/SupplierManagement b/Modules/SupplierManagement
index d88eddc7..2d9111fe 160000
--- a/Modules/SupplierManagement
+++ b/Modules/SupplierManagement
@@ -1 +1 @@
-Subproject commit d88eddc70112823506a2895dbcb1a1aaeb1a7348
+Subproject commit 2d9111fed3153c9f3af9e9678ec257051f81afc9
diff --git a/Modules/Support b/Modules/Support
index 2284d409..7034dba2 160000
--- a/Modules/Support
+++ b/Modules/Support
@@ -1 +1 @@
-Subproject commit 2284d4095d8d9fc981ab0567bf57a1f999e7f165
+Subproject commit 7034dba22a48c8b246a2c8821cfa8c248dfad9e3
diff --git a/Modules/Surveys b/Modules/Surveys
index 023eab90..bcd6b7f5 160000
--- a/Modules/Surveys
+++ b/Modules/Surveys
@@ -1 +1 @@
-Subproject commit 023eab903728456e908a8faa9b51e763bd0b45a3
+Subproject commit bcd6b7f5e5db6e7176000bbbdbaabf06bdbbc357
diff --git a/Modules/Tag b/Modules/Tag
index 83191893..d44af5c6 160000
--- a/Modules/Tag
+++ b/Modules/Tag
@@ -1 +1 @@
-Subproject commit 831918933071f4f69f7116252a11b257ed892742
+Subproject commit d44af5c62027bda4ac98943df88effc569c0a389
diff --git a/Modules/Tasks b/Modules/Tasks
index bb0d7832..22aa38dd 160000
--- a/Modules/Tasks
+++ b/Modules/Tasks
@@ -1 +1 @@
-Subproject commit bb0d783295413d037d985715c7330ba4c5b8fc04
+Subproject commit 22aa38dd1dd82f50f10ce088caac5fee4d70487b
diff --git a/Modules/TestModule b/Modules/TestModule
index 08aa9429..c4b3dec1 160000
--- a/Modules/TestModule
+++ b/Modules/TestModule
@@ -1 +1 @@
-Subproject commit 08aa9429113cbb5d500512c7aef33add392b34dd
+Subproject commit c4b3dec1565704624d0ea5b030db4cf449ab21f2
diff --git a/Modules/Tools b/Modules/Tools
index bdbcc72a..62c7d870 160000
--- a/Modules/Tools
+++ b/Modules/Tools
@@ -1 +1 @@
-Subproject commit bdbcc72a6a9a8898ae2161c8bc8f311dc4e5ff97
+Subproject commit 62c7d870711b6dc0831d232b3275f4f7a42554a7
diff --git a/Modules/WarehouseManagement b/Modules/WarehouseManagement
index 3c8ab3d9..70c72e6c 160000
--- a/Modules/WarehouseManagement
+++ b/Modules/WarehouseManagement
@@ -1 +1 @@
-Subproject commit 3c8ab3d96c3eb0e89bf92abb14cb6ac916d0eb8b
+Subproject commit 70c72e6c75f793d40a9a85888f7979b3dbb75d0a
diff --git a/Modules/Workflow b/Modules/Workflow
index c06a7628..f7775337 160000
--- a/Modules/Workflow
+++ b/Modules/Workflow
@@ -1 +1 @@
-Subproject commit c06a7628326ac25ee31cffae4d49afb4e1c7e1e8
+Subproject commit f7775337f84c6eee4d44ef9313c3938191ee8acc
diff --git a/Tools/OCRImageOptimizerApp b/Tools/OCRImageOptimizerApp
index f72a4d32..4eb2d6bb 160000
--- a/Tools/OCRImageOptimizerApp
+++ b/Tools/OCRImageOptimizerApp
@@ -1 +1 @@
-Subproject commit f72a4d3263922018fac69696984a66c42f30fe54
+Subproject commit 4eb2d6bb52668e26b1a52dbcd5abf972721ddebf
diff --git a/Tools/TestReportGenerator b/Tools/TestReportGenerator
index 47a21322..48cfbdfc 160000
--- a/Tools/TestReportGenerator
+++ b/Tools/TestReportGenerator
@@ -1 +1 @@
-Subproject commit 47a2132246998f19ae60e0f412a1823c488ef5c8
+Subproject commit 48cfbdfcea787ca306bfe7f916d5cb96c74f190d
diff --git a/User-Guide b/User-Guide
index a9eff5d1..9bbaf2ea 160000
--- a/User-Guide
+++ b/User-Guide
@@ -1 +1 @@
-Subproject commit a9eff5d1add0b6e76d472fe62410b8b81b7fa119
+Subproject commit 9bbaf2ea94a1a49f1408233b2373d600f111e5c8
diff --git a/cOMS b/cOMS
index cd7d7387..26f67ed2 160000
--- a/cOMS
+++ b/cOMS
@@ -1 +1 @@
-Subproject commit cd7d738737a48eae260611e0045d89394d364bc7
+Subproject commit 26f67ed267ebe38751526877302b40c2f5a72998
diff --git a/cssOMS b/cssOMS
index 610e5dc1..9dd5f3dd 160000
--- a/cssOMS
+++ b/cssOMS
@@ -1 +1 @@
-Subproject commit 610e5dc1d11b07d595f92a587c7d4acb16bd120d
+Subproject commit 9dd5f3dd2f97ec64f491ecb056797caa13d6b657
diff --git a/jsOMS b/jsOMS
index 652d1733..415532ef 160000
--- a/jsOMS
+++ b/jsOMS
@@ -1 +1 @@
-Subproject commit 652d1733e1ca74092bcee1d2fde31579429c013c
+Subproject commit 415532ef90fedaf291c3b1594fc55bc2d910d25e
diff --git a/phpOMS b/phpOMS
index 9ca0be28..b2cd9288 160000
--- a/phpOMS
+++ b/phpOMS
@@ -1 +1 @@
-Subproject commit 9ca0be2825d72ad74389bae07e718d1bcbfbdf31
+Subproject commit b2cd928809fdd548acf41132dffa30ee7c12ee15
From 35f6f36f129d1a96a9b050a8b3b24a9bca984a51 Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Fri, 22 Mar 2024 22:35:59 +0000
Subject: [PATCH 12/20] bump
---
Developer-Guide | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Developer-Guide b/Developer-Guide
index ec4ab73d..a9fafe5b 160000
--- a/Developer-Guide
+++ b/Developer-Guide
@@ -1 +1 @@
-Subproject commit ec4ab73db4009c8038fc2b9d498e455fdf4224fd
+Subproject commit a9fafe5b5ee4935c95cfd649e6a6ce10d2f9e45c
From 3b837d6756fb7188a557e86f79df1eb5ddbedddb Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Tue, 2 Apr 2024 21:51:51 +0000
Subject: [PATCH 13/20] bump
---
Build | 2 +-
Cli/CliApplication.php | 8 +-
Cli/CliView.php | 17 +-
Cli/Hooks.php | 5 -
Cli/Routes.php | 28 +--
Install/Application/Backend/Application.php | 17 +-
.../Themes/Default/css/backend-dark.css | 2 +-
.../Themes/Default/css/backend-dark.css.map | 2 +-
.../Themes/Default/css/backend-dark.scss | 164 +++++++++---------
.../Themes/Default/css/backend-small.css | 2 +-
.../Themes/Default/css/backend-small.css.map | 2 +-
.../Themes/Default/css/backend-small.scss | 2 +-
.../Backend/Themes/table-title.tpl.php | 2 +-
.../Application/Backend/Views/L11nView.php | 2 +-
.../Backend/Views/TableExportView.php | 2 +-
Install/Application/Backend/index.tpl.php | 2 +-
Install/Application/Backend/js/backend.js | 4 +-
Install/Application/Backend/js/backend.min.js | 4 +-
Modules/Accounting | 2 +-
Modules/Admin | 2 +-
Modules/AssetManagement | 2 +-
Modules/Attribute | 2 +-
Modules/Auditor | 2 +-
Modules/Balance | 2 +-
Modules/Billing | 2 +-
Modules/BudgetManagement | 2 +-
Modules/BusinessExpenses | 2 +-
Modules/CMS | 2 +-
Modules/Calendar | 2 +-
Modules/CashManagement | 2 +-
Modules/Checklist | 2 +-
Modules/ClientManagement | 2 +-
Modules/Comments | 2 +-
Modules/ContractManagement | 2 +-
Modules/Dashboard | 2 +-
Modules/Database | 2 +-
Modules/DatabaseEditor | 2 +-
Modules/Draw | 2 +-
Modules/Editor | 2 +-
Modules/EquipmentManagement | 2 +-
Modules/EventManagement | 2 +-
Modules/Exchange | 2 +-
Modules/Finance | 2 +-
Modules/FleetManagement | 2 +-
Modules/Help | 2 +-
Modules/Helper | 2 +-
Modules/Home | 2 +-
Modules/HumanResourceManagement | 2 +-
Modules/HumanResourceTimeRecording | 2 +-
Modules/IncomeStatement | 2 +-
Modules/InvestmentManagement | 2 +-
Modules/ItemManagement | 2 +-
Modules/Kanban | 2 +-
Modules/Knowledgebase | 2 +-
Modules/Labeling | 2 +-
Modules/LoanManagement | 2 +-
Modules/Marketing | 2 +-
Modules/Media | 2 +-
Modules/Messages | 2 +-
Modules/Monitoring | 2 +-
Modules/Navigation | 2 +-
Modules/News | 2 +-
Modules/Notification | 2 +-
Modules/OnlineResourceWatcher | 2 +-
Modules/Organization | 2 +-
Modules/Payment | 2 +-
Modules/Production | 2 +-
Modules/Profile | 2 +-
Modules/ProjectManagement | 2 +-
Modules/Purchase | 2 +-
Modules/QA | 2 +-
Modules/QualityAssurance | 2 +-
Modules/QualityControl | 2 +-
Modules/QualityManagement | 2 +-
Modules/ResearchDevelopment | 2 +-
Modules/RiskManagement | 2 +-
Modules/SalesAnalysis | 2 +-
Modules/Search | 2 +-
Modules/Shop | 2 +-
Modules/StockTaking | 2 +-
Modules/SupplierManagement | 2 +-
Modules/Support | 2 +-
Modules/Surveys | 2 +-
Modules/Tag | 2 +-
Modules/Tasks | 2 +-
Modules/TestModule | 2 +-
Modules/WarehouseManagement | 2 +-
Modules/Workflow | 2 +-
Socket/Hooks.php | 18 ++
Tools/TestReportGenerator | 2 +-
User-Guide | 2 +-
cssOMS | 2 +-
jsOMS | 2 +-
phpOMS | 2 +-
94 files changed, 218 insertions(+), 217 deletions(-)
diff --git a/Build b/Build
index c2c5f5b6..46b6a681 160000
--- a/Build
+++ b/Build
@@ -1 +1 @@
-Subproject commit c2c5f5b6102e7d11fbdf632d3ed8a61ad80ed21d
+Subproject commit 46b6a68177739d6e1391e41e764c42d3f36164ac
diff --git a/Cli/CliApplication.php b/Cli/CliApplication.php
index 3f5bc38e..17a654ff 100755
--- a/Cli/CliApplication.php
+++ b/Cli/CliApplication.php
@@ -395,15 +395,11 @@ private function create403Response(CliResponse $response, View $pageView) : void
*/
private function createDefaultPageView(CliRequest $request, CliResponse $response, CliView $pageView) : void
{
- /** @var \Modules\Organization\Models\Unit[] $unit */
- $unit = UnitMapper::getAll()->execute();
- $pageView->setOrganizations($unit);
+ $pageView->organizations = UnitMapper::getAll()->executeGetArray();
- /** @var \Modules\Profile\Models\Profile $profile */
- $profile = ProfileMapper::get()
+ $pageView->profile = ProfileMapper::get()
->where('account', $request->header->account)
->execute();
- $pageView->profile = $profile;
$pageView->setTemplate('/Cli/index');
}
diff --git a/Cli/CliView.php b/Cli/CliView.php
index f7cfabdf..66a4dff2 100755
--- a/Cli/CliView.php
+++ b/Cli/CliView.php
@@ -54,7 +54,7 @@ class CliView extends View
* @var Unit[]
* @since 1.0.0
*/
- protected array $organizations = [];
+ public array $organizations = [];
/**
* Constructor
@@ -71,19 +71,4 @@ public function __construct(L11nManager $l11n = null, RequestAbstract $request =
$this->profile = new NullProfile();
}
-
- /**
- * Set organizations
- *
- * @param Unit[] $organizations Organizations
- *
- * @return void
- *
- * @since 1.0.0
- * @codeCoverageIgnore
- */
- public function setOrganizations(array $organizations) : void
- {
- $this->organizations = $organizations;
- }
}
diff --git a/Cli/Hooks.php b/Cli/Hooks.php
index 994a9249..d04f36fd 100755
--- a/Cli/Hooks.php
+++ b/Cli/Hooks.php
@@ -3,11 +3,6 @@
'callback' => [
0 => '\Modules\Admin\Controller\CliController:runEncryptionChangeFromHook',
1 => '\Modules\Media\Controller\CliController:runEncryptionChangeFromHook',
- 2 => '\Modules\Admin\Controller\CliController:runEncryptionChangeFromHook',
- 3 => '\Modules\Media\Controller\CliController:runEncryptionChangeFromHook',
- 4 => '\Modules\Admin\Controller\CliController:runEncryptionChangeFromHook',
- 5 => '\Modules\Media\Controller\CliController:runEncryptionChangeFromHook',
- 6 => '\Modules\Media\Controller\CliController:runEncryptionChangeFromHook',
],
],
'/.*/' => [
diff --git a/Cli/Routes.php b/Cli/Routes.php
index e66673d2..c8139cc2 100755
--- a/Cli/Routes.php
+++ b/Cli/Routes.php
@@ -23,26 +23,22 @@
'verb' => 16,
],
],
- '^/billing/bill/purchase/parse( .*$|$)' => [
+ '^.*/admin/monitoring/log( .*$|$)' => [
0 => [
- 'dest' => '\Modules\Billing\Controller\CliController:cliParseSupplierBill',
+ 'dest' => '\Modules\Monitoring\Controller\CliController:cliLogReport',
'verb' => 16,
],
],
- '^.*/admin/monitoring/log( .*$|$)' => [
+ '^.*/workflow/instance( .*$|$)' => [
0 => [
- 'dest' => '\Modules\Monitoring\Controller\CliController:cliLogReport',
+ 'dest' => '\Modules\Workflow\Controller\CliController:cliWorkflowInstanceCreate',
'verb' => 16,
],
],
- '^.*/orw/check -i all*$' => [
+ '^/billing/bill/purchase/parse( .*$|$)' => [
0 => [
- 'dest' => '\Modules\OnlineResourceWatcher\Controller\ApiController:apiCheckResources',
- 'permission' => [
- 'module' => 'OnlineResourceWatcher',
- 'type' => 4,
- 'state' => 1,
- ],
+ 'dest' => '\Modules\Billing\Controller\CliController:cliParseSupplierBill',
+ 'verb' => 16,
],
],
'^/purchase/order/suggestion/create( .*$|$)' => [
@@ -51,10 +47,14 @@
'verb' => 16,
],
],
- '^.*/workflow/instance( .*$|$)' => [
+ '^.*/orw/check -i all*$' => [
0 => [
- 'dest' => '\Modules\Workflow\Controller\CliController:cliWorkflowInstanceCreate',
- 'verb' => 16,
+ 'dest' => '\Modules\OnlineResourceWatcher\Controller\ApiController:apiCheckResources',
+ 'permission' => [
+ 'module' => 'OnlineResourceWatcher',
+ 'type' => 4,
+ 'state' => 1,
+ ],
],
],
];
\ No newline at end of file
diff --git a/Install/Application/Backend/Application.php b/Install/Application/Backend/Application.php
index 99bacd5a..dba30de6 100755
--- a/Install/Application/Backend/Application.php
+++ b/Install/Application/Backend/Application.php
@@ -431,15 +431,22 @@ private function initResponseHead(Head $head, HttpRequest $request, HttpResponse
/* Load assets */
$head->addAsset(AssetType::CSS, 'cssOMS/styles.css?v=' . self::VERSION, ['defer']);
- //$head->addAsset(AssetType::CSS, 'Web/Backend/css/backend-dark.css?v=1.0.0', ['media' => '(prefers-color-scheme: dark)', 'defer']);
$head->addAsset(AssetType::CSS, 'cssOMS/print.css?v=' . self::VERSION, ['media' => 'print', 'defer']);
// Framework
$head->addAsset(AssetType::JS, 'Web/Backend/js/backend.min.js?v=' . self::VERSION, ['nonce' => $scriptSrc, 'type' => 'module', 'defer']);
- if ($request->hasData('debug')) {
- $head->addAsset(AssetType::CSS, 'cssOMS/debug.css?v=' . self::VERSION);
- \phpOMS\DataStorage\Database\Query\Builder::$log = true;
+ // @feature Make user setting by storing it in the localstorage of the user
+ if ($request->hasKey('darkmode')) {
+ $head->addAsset(AssetType::CSS, 'Web/Backend/css/backend-dark.css?v=1.0.0', ['defer']);
+ }
+
+ if ($request->hasKey('debug')) {
+ $account = $this->app->accountManager->get($request->header->account);
+ if ($account->hasPermission(PermissionType::CREATE, $this->app->unitId, $this->app->appId)) {
+ $head->addAsset(AssetType::CSS, 'cssOMS/debug.css?v=' . self::VERSION);
+ \phpOMS\DataStorage\Database\Query\Builder::$log = true;
+ }
}
$css = \file_get_contents(__DIR__ . '/css/backend-small.css');
@@ -496,7 +503,7 @@ private function createBaseLoggedOutResponse(HttpRequest $request, HttpResponse
private function createDefaultPageView(HttpRequest $request, HttpResponse $response, BackendView $pageView) : void
{
/** @var \Modules\Organization\Models\Unit[] $units */
- $units = UnitMapper::getAll()->execute();
+ $units = UnitMapper::getAll()->executeGetArray();
$pageView->setOrganizations($units);
/** @var \Modules\Profile\Models\Profile $profile */
diff --git a/Install/Application/Backend/Themes/Default/css/backend-dark.css b/Install/Application/Backend/Themes/Default/css/backend-dark.css
index 723d5b34..5094330d 100755
--- a/Install/Application/Backend/Themes/Default/css/backend-dark.css
+++ b/Install/Application/Backend/Themes/Default/css/backend-dark.css
@@ -1,2 +1,2 @@
-:root{--ff: 'Arial', Helvetica, sans-serif;--default-c: #fff;--main-bg: #474e55;--main-bg-hl: #3697db;--article-bg: #343a40;--article-c: #000;--iborder: rgba(140, 140, 140, 0.4);--iborder-active: rgba(54, 150, 219, 0.7);--ipt-c: #fff;--ipt-c-active: #fff;--ipt-bg: #474e55;--ipt-bg-active: #fff;--ipt-ico-c: rgba(54, 150, 219, .6);--ipt-ico-c-active: #3697db;--txt-on-bg-c: rgba(255, 255, 255, 0.7);--txt-on-bg-c-2: rgba(255, 255, 255, 0.85);--nav-cat-bg: #343a40;--nav-cat-bg-hl: #3697db;--nav-cat-bg-hover: #434a51;--nav-sub-bg: #343A40;--nav-sub-bg-hl: #3697db;--nav-sub-bg-hover: #2a2b30;--nav-content-hover: #3697db;--btn-bg: #3697db;--btn-bg-hover: #4aabf0;--btn-main-bg: #3697db;--btn-main-bg-active: #4aabf0;--btn-main-c: rgba(255, 255, 255, .9);--tcaption-bg: #fff;--thead-bg: #3697db;--thead-c: #fff;--trow-bg: #586068;--trow-bg-alt: #474e55;--trow-bg-hover: #353a40;--badge-size: .55rem;--badge-c: #fff;--badge-bg: #e74c3c;--bborder: rgba(0, 0, 0, 0.3);--bborder2: #474e55;--link-c: #3697db;--lhover: #3697db;--box-bg: #343a40;--box-hl: #3697db;--header-bg: #343a40;--blue-c: #3697db;--red-c: #e74c3c;--green-c: #2ecc71;--yellow-c: #ffde5b;--purple-c: #7f5bff;--pink-c: #ff5bef;--orange-c: #ffa82e;--green1-c: #aaffad;--green2-c: #81e27d;--green3-c: #459442;--yellow1-c: #f8ffa8;--yellow2-c: #d6d949;--yellow3-c: #94972f;--red1-c: #ff7d79;--red2-c: #ee5649;--red3-c: #a5302a;--blue1-c: #b6d2ff;--blue2-c: #85b0ee;--blue3-c: #4865a5;--save-c: rgba(0, 0, 0, 0.75);--save-bg: #8fff79;--save-bg-hover: #a1ffa1;--cancel-c: #fff;--cancel-bg: #ee5649;--cancel-bg-hover: #ff7d79;--close-c: rgba(0, 0, 0, 0.75);--close-bg: #ffde5b;--close-bg-hover: #ffe682;--disabled-c: rgba(0, 0, 0, 0.5);--disabled-bg: #e1e1e1;--disabled-bg-hover: #e1e1e1;--fav-c: #ffde5b;--text-shadow: #000;--bq-c: #fff;--bq-bg: #25acff;--bg-border: rgba(0, 0, 0, 0.4);--code-c: #fff;--code-bg: #474e55}
+:root{--ff: 'Arial', Helvetica, sans-serif !important;--default-c: #fff !important;--main-bg: #474e55 !important;--main-bg-hl: #3697db !important;--article-bg: #343a40 !important;--article-c: #fff !important;--iborder: rgba(140, 140, 140, 0.4) !important;--iborder-active: rgba(54, 150, 219, 0.7) !important;--ipt-c: #fff !important;--ipt-c-active: #fff !important;--ipt-bg: #474e55 !important;--ipt-bg-active: #fff !important;--ipt-ico-c: rgba(54, 150, 219, .6) !important;--ipt-ico-c-active: #3697db !important;--txt-on-bg-c: rgba(255, 255, 255, 0.7) !important;--txt-on-bg-c-2: rgba(255, 255, 255, 0.85) !important;--nav-cat-bg: #343a40 !important;--nav-cat-bg-hl: #3697db !important;--nav-cat-bg-hover: #434a51 !important;--nav-sub-bg: #343A40 !important;--nav-sub-bg-hl: #3697db !important;--nav-sub-bg-hover: #2a2b30 !important;--nav-content-hover: #3697db !important;--btn-bg: #3697db !important;--btn-bg-hover: #4aabf0 !important;--btn-main-bg: #3697db !important;--btn-main-bg-active: #4aabf0 !important;--btn-main-c: rgba(255, 255, 255, .9) !important;--tcaption-bg: #fff !important;--thead-bg: #3697db !important;--thead-c: #fff !important;--trow-bg: #586068 !important;--trow-bg-alt: #474e55 !important;--trow-bg-hover: #353a40 !important;--badge-size: .55rem !important;--badge-c: #fff !important;--badge-bg: #e74c3c !important;--bborder: rgba(0, 0, 0, 0.3) !important;--bborder2: #474e55 !important;--link-c: #3697db !important;--lhover: #3697db !important;--box-bg: #343a40 !important;--box-hl: #3697db !important;--header-bg: #343a40 !important;--blue-c: #3697db !important;--red-c: #e74c3c !important;--green-c: #2ecc71 !important;--yellow-c: #ffde5b !important;--purple-c: #7f5bff !important;--pink-c: #ff5bef !important;--orange-c: #ffa82e !important;--green1-c: #aaffad !important;--green2-c: #81e27d !important;--green3-c: #459442 !important;--yellow1-c: #f8ffa8 !important;--yellow2-c: #d6d949 !important;--yellow3-c: #94972f !important;--red1-c: #ff7d79 !important;--red2-c: #ee5649 !important;--red3-c: #a5302a !important;--blue1-c: #b6d2ff !important;--blue2-c: #85b0ee !important;--blue3-c: #4865a5 !important;--save-c: rgba(0, 0, 0, 0.75) !important;--save-bg: #8fff79 !important;--save-bg-hover: #a1ffa1 !important;--cancel-c: #fff !important;--cancel-bg: #ee5649 !important;--cancel-bg-hover: #ff7d79 !important;--close-c: rgba(0, 0, 0, 0.75) !important;--close-bg: #ffde5b !important;--close-bg-hover: #ffe682 !important;--disabled-c: rgba(0, 0, 0, 0.5) !important;--disabled-bg: #3c4146 !important;--disabled-bg-hover: #3c4146 !important;--fav-c: #ffde5b !important;--text-shadow: #000 !important;--bq-c: #fff !important;--bq-bg: #25acff !important;--bg-border: rgba(0, 0, 0, 0.4) !important;--code-c: #fff !important;--code-bg: #474e55 !important}
/*# sourceMappingURL=backend-dark.css.map */
diff --git a/Install/Application/Backend/Themes/Default/css/backend-dark.css.map b/Install/Application/Backend/Themes/Default/css/backend-dark.css.map
index b451e1e7..ccbd658d 100755
--- a/Install/Application/Backend/Themes/Default/css/backend-dark.css.map
+++ b/Install/Application/Backend/Themes/Default/css/backend-dark.css.map
@@ -1,6 +1,6 @@
{
"version": 3,
-"mappings": "AAAA,KAAM,CACF,IAAI,CAAC,+BAA+B,CACpC,WAAW,CAAC,KAAK,CACjB,SAAS,CAAC,QAAQ,CAClB,YAAY,CAAC,QAAQ,CACrB,YAAY,CAAC,QAAQ,CACrB,WAAW,CAAC,KAAK,CACjB,SAAS,CAAC,yBAAyB,CACnC,gBAAgB,CAAC,wBAAwB,CACzC,OAAO,CAAC,KAAK,CACb,cAAc,CAAC,KAAK,CACpB,QAAQ,CAAC,QAAQ,CACjB,eAAe,CAAC,KAAK,CACrB,WAAW,CAAC,uBAAuB,CACnC,kBAAkB,CAAC,QAAQ,CAC3B,aAAa,CAAC,yBAAyB,CACvC,eAAe,CAAC,0BAA0B,CAC1C,YAAY,CAAC,QAAQ,CACrB,eAAe,CAAC,QAAQ,CACxB,kBAAkB,CAAC,QAAQ,CAC3B,YAAY,CAAC,QAAQ,CACrB,eAAe,CAAC,QAAQ,CACxB,kBAAkB,CAAC,QAAQ,CAC3B,mBAAmB,CAAC,QAAQ,CAC5B,QAAQ,CAAC,QAAQ,CACjB,cAAc,CAAC,QAAQ,CACvB,aAAa,CAAC,QAAQ,CACtB,oBAAoB,CAAC,QAAQ,CAC7B,YAAY,CAAC,wBAAwB,CACrC,aAAa,CAAC,KAAK,CACnB,UAAU,CAAC,QAAQ,CACnB,SAAS,CAAC,KAAK,CACf,SAAS,CAAC,QAAQ,CAClB,aAAa,CAAC,QAAQ,CACtB,eAAe,CAAC,QAAQ,CACxB,YAAY,CAAC,OAAO,CACpB,SAAS,CAAC,KAAK,CACf,UAAU,CAAC,QAAQ,CACnB,SAAS,CAAC,mBAAmB,CAC7B,UAAU,CAAC,QAAQ,CACnB,QAAQ,CAAC,QAAQ,CACjB,QAAQ,CAAC,QAAQ,CACjB,QAAQ,CAAC,QAAQ,CACjB,QAAQ,CAAC,QAAQ,CACjB,WAAW,CAAC,QAAQ,CACpB,QAAQ,CAAC,QAAQ,CACjB,OAAO,CAAC,QAAQ,CAChB,SAAS,CAAC,QAAQ,CAClB,UAAU,CAAC,QAAQ,CACnB,UAAU,CAAC,QAAQ,CACnB,QAAQ,CAAC,QAAQ,CACjB,UAAU,CAAC,QAAQ,CACnB,UAAU,CAAC,QAAQ,CACnB,UAAU,CAAC,QAAQ,CACnB,UAAU,CAAC,QAAQ,CACnB,WAAW,CAAC,QAAQ,CACpB,WAAW,CAAC,QAAQ,CACpB,WAAW,CAAC,QAAQ,CACpB,QAAQ,CAAC,QAAQ,CACjB,QAAQ,CAAC,QAAQ,CACjB,QAAQ,CAAC,QAAQ,CACjB,SAAS,CAAC,QAAQ,CAClB,SAAS,CAAC,QAAQ,CAClB,SAAS,CAAC,QAAQ,CAClB,QAAQ,CAAC,oBAAoB,CAC7B,SAAS,CAAC,QAAQ,CAClB,eAAe,CAAC,QAAQ,CACxB,UAAU,CAAC,KAAK,CAChB,WAAW,CAAC,QAAQ,CACpB,iBAAiB,CAAC,QAAQ,CAC1B,SAAS,CAAC,oBAAoB,CAC9B,UAAU,CAAC,QAAQ,CACnB,gBAAgB,CAAC,QAAQ,CACzB,YAAY,CAAC,mBAAmB,CAChC,aAAa,CAAC,QAAQ,CACtB,mBAAmB,CAAC,QAAQ,CAC5B,OAAO,CAAC,QAAQ,CAChB,aAAa,CAAC,KAAK,CACnB,MAAM,CAAC,KAAK,CACZ,OAAO,CAAC,QAAQ,CAChB,WAAW,CAAC,mBAAmB,CAC/B,QAAQ,CAAC,KAAK,CACd,SAAS,CAAC,QAAQ",
+"mappings": "AAAA,KAAM,CACF,IAAI,CAAC,0CAA0C,CAC/C,WAAW,CAAC,gBAAgB,CAC5B,SAAS,CAAC,mBAAmB,CAC7B,YAAY,CAAC,mBAAmB,CAChC,YAAY,CAAC,mBAAmB,CAChC,WAAW,CAAC,gBAAgB,CAC5B,SAAS,CAAC,oCAAoC,CAC9C,gBAAgB,CAAC,mCAAmC,CACpD,OAAO,CAAC,gBAAgB,CACxB,cAAc,CAAC,gBAAgB,CAC/B,QAAQ,CAAC,mBAAmB,CAC5B,eAAe,CAAC,gBAAgB,CAChC,WAAW,CAAC,kCAAkC,CAC9C,kBAAkB,CAAC,mBAAmB,CACtC,aAAa,CAAC,oCAAoC,CAClD,eAAe,CAAC,qCAAqC,CACrD,YAAY,CAAC,mBAAmB,CAChC,eAAe,CAAC,mBAAmB,CACnC,kBAAkB,CAAC,mBAAmB,CACtC,YAAY,CAAC,mBAAmB,CAChC,eAAe,CAAC,mBAAmB,CACnC,kBAAkB,CAAC,mBAAmB,CACtC,mBAAmB,CAAC,mBAAmB,CACvC,QAAQ,CAAC,mBAAmB,CAC5B,cAAc,CAAC,mBAAmB,CAClC,aAAa,CAAC,mBAAmB,CACjC,oBAAoB,CAAC,mBAAmB,CACxC,YAAY,CAAC,mCAAmC,CAChD,aAAa,CAAC,gBAAgB,CAC9B,UAAU,CAAC,mBAAmB,CAC9B,SAAS,CAAC,gBAAgB,CAC1B,SAAS,CAAC,mBAAmB,CAC7B,aAAa,CAAC,mBAAmB,CACjC,eAAe,CAAC,mBAAmB,CACnC,YAAY,CAAC,kBAAkB,CAC/B,SAAS,CAAC,gBAAgB,CAC1B,UAAU,CAAC,mBAAmB,CAC9B,SAAS,CAAC,8BAA8B,CACxC,UAAU,CAAC,mBAAmB,CAC9B,QAAQ,CAAC,mBAAmB,CAC5B,QAAQ,CAAC,mBAAmB,CAC5B,QAAQ,CAAC,mBAAmB,CAC5B,QAAQ,CAAC,mBAAmB,CAC5B,WAAW,CAAC,mBAAmB,CAC/B,QAAQ,CAAC,mBAAmB,CAC5B,OAAO,CAAC,mBAAmB,CAC3B,SAAS,CAAC,mBAAmB,CAC7B,UAAU,CAAC,mBAAmB,CAC9B,UAAU,CAAC,mBAAmB,CAC9B,QAAQ,CAAC,mBAAmB,CAC5B,UAAU,CAAC,mBAAmB,CAC9B,UAAU,CAAC,mBAAmB,CAC9B,UAAU,CAAC,mBAAmB,CAC9B,UAAU,CAAC,mBAAmB,CAC9B,WAAW,CAAC,mBAAmB,CAC/B,WAAW,CAAC,mBAAmB,CAC/B,WAAW,CAAC,mBAAmB,CAC/B,QAAQ,CAAC,mBAAmB,CAC5B,QAAQ,CAAC,mBAAmB,CAC5B,QAAQ,CAAC,mBAAmB,CAC5B,SAAS,CAAC,mBAAmB,CAC7B,SAAS,CAAC,mBAAmB,CAC7B,SAAS,CAAC,mBAAmB,CAC7B,QAAQ,CAAC,+BAA+B,CACxC,SAAS,CAAC,mBAAmB,CAC7B,eAAe,CAAC,mBAAmB,CACnC,UAAU,CAAC,gBAAgB,CAC3B,WAAW,CAAC,mBAAmB,CAC/B,iBAAiB,CAAC,mBAAmB,CACrC,SAAS,CAAC,+BAA+B,CACzC,UAAU,CAAC,mBAAmB,CAC9B,gBAAgB,CAAC,mBAAmB,CACpC,YAAY,CAAC,8BAA8B,CAC3C,aAAa,CAAC,mBAAmB,CACjC,mBAAmB,CAAC,mBAAmB,CACvC,OAAO,CAAC,mBAAmB,CAC3B,aAAa,CAAC,gBAAgB,CAC9B,MAAM,CAAC,gBAAgB,CACvB,OAAO,CAAC,mBAAmB,CAC3B,WAAW,CAAC,8BAA8B,CAC1C,QAAQ,CAAC,gBAAgB,CACzB,SAAS,CAAC,mBAAmB",
"sources": ["backend-dark.scss"],
"names": [],
"file": "backend-dark.css"
diff --git a/Install/Application/Backend/Themes/Default/css/backend-dark.scss b/Install/Application/Backend/Themes/Default/css/backend-dark.scss
index ef6ae495..05373929 100755
--- a/Install/Application/Backend/Themes/Default/css/backend-dark.scss
+++ b/Install/Application/Backend/Themes/Default/css/backend-dark.scss
@@ -1,84 +1,84 @@
:root {
- --ff: 'Arial', Helvetica, sans-serif;
- --default-c: #fff;
- --main-bg: #474e55;
- --main-bg-hl: #3697db;
- --article-bg: #343a40;
- --article-c: #000;
- --iborder: rgba(140, 140, 140, 0.4);
- --iborder-active: rgba(54, 150, 219, 0.7);
- --ipt-c: #fff;
- --ipt-c-active: #fff;
- --ipt-bg: #474e55;
- --ipt-bg-active: #fff;
- --ipt-ico-c: rgba(54, 150, 219, .6);
- --ipt-ico-c-active: #3697db;
- --txt-on-bg-c: rgba(255, 255, 255, 0.7);
- --txt-on-bg-c-2: rgba(255, 255, 255, 0.85);
- --nav-cat-bg: #343a40;
- --nav-cat-bg-hl: #3697db;
- --nav-cat-bg-hover: #434a51;
- --nav-sub-bg: #343A40;
- --nav-sub-bg-hl: #3697db;
- --nav-sub-bg-hover: #2a2b30;
- --nav-content-hover: #3697db;
- --btn-bg: #3697db;
- --btn-bg-hover: #4aabf0;
- --btn-main-bg: #3697db;
- --btn-main-bg-active: #4aabf0;
- --btn-main-c: rgba(255, 255, 255, .9);
- --tcaption-bg: #fff;
- --thead-bg: #3697db;
- --thead-c: #fff;
- --trow-bg: #586068;
- --trow-bg-alt: #474e55;
- --trow-bg-hover: #353a40;
- --badge-size: .55rem;
- --badge-c: #fff;
- --badge-bg: #e74c3c;
- --bborder: rgba(0, 0, 0, 0.3);
- --bborder2: #474e55;
- --link-c: #3697db;
- --lhover: #3697db;
- --box-bg: #343a40;
- --box-hl: #3697db;
- --header-bg: #343a40;
- --blue-c: #3697db;
- --red-c: #e74c3c;
- --green-c: #2ecc71;
- --yellow-c: #ffde5b;
- --purple-c: #7f5bff;
- --pink-c: #ff5bef;
- --orange-c: #ffa82e;
- --green1-c: #aaffad;
- --green2-c: #81e27d;
- --green3-c: #459442;
- --yellow1-c: #f8ffa8;
- --yellow2-c: #d6d949;
- --yellow3-c: #94972f;
- --red1-c: #ff7d79;
- --red2-c: #ee5649;
- --red3-c: #a5302a;
- --blue1-c: #b6d2ff;
- --blue2-c: #85b0ee;
- --blue3-c: #4865a5;
- --save-c: rgba(0, 0, 0, 0.75);
- --save-bg: #8fff79;
- --save-bg-hover: #a1ffa1;
- --cancel-c: #fff;
- --cancel-bg: #ee5649;
- --cancel-bg-hover: #ff7d79;
- --close-c: rgba(0, 0, 0, 0.75);
- --close-bg: #ffde5b;
- --close-bg-hover: #ffe682;
- --disabled-c: rgba(0, 0, 0, 0.5);
- --disabled-bg: #e1e1e1;
- --disabled-bg-hover: #e1e1e1;
- --fav-c: #ffde5b;
- --text-shadow: #000;
- --bq-c: #fff;
- --bq-bg: #25acff;
- --bg-border: rgba(0, 0, 0, 0.4);
- --code-c: #fff;
- --code-bg: #474e55;
+ --ff: 'Arial', Helvetica, sans-serif !important;
+ --default-c: #fff !important;
+ --main-bg: #474e55 !important;
+ --main-bg-hl: #3697db !important;
+ --article-bg: #343a40 !important;
+ --article-c: #fff !important;
+ --iborder: rgba(140, 140, 140, 0.4) !important;
+ --iborder-active: rgba(54, 150, 219, 0.7) !important;
+ --ipt-c: #fff !important;
+ --ipt-c-active: #fff !important;
+ --ipt-bg: #474e55 !important;
+ --ipt-bg-active: #fff !important;
+ --ipt-ico-c: rgba(54, 150, 219, .6) !important;
+ --ipt-ico-c-active: #3697db !important;
+ --txt-on-bg-c: rgba(255, 255, 255, 0.7) !important;
+ --txt-on-bg-c-2: rgba(255, 255, 255, 0.85) !important;
+ --nav-cat-bg: #343a40 !important;
+ --nav-cat-bg-hl: #3697db !important;
+ --nav-cat-bg-hover: #434a51 !important;
+ --nav-sub-bg: #343A40 !important;
+ --nav-sub-bg-hl: #3697db !important;
+ --nav-sub-bg-hover: #2a2b30 !important;
+ --nav-content-hover: #3697db !important;
+ --btn-bg: #3697db !important;
+ --btn-bg-hover: #4aabf0 !important;
+ --btn-main-bg: #3697db !important;
+ --btn-main-bg-active: #4aabf0 !important;
+ --btn-main-c: rgba(255, 255, 255, .9) !important;
+ --tcaption-bg: #fff !important;
+ --thead-bg: #3697db !important;
+ --thead-c: #fff !important;
+ --trow-bg: #586068 !important;
+ --trow-bg-alt: #474e55 !important;
+ --trow-bg-hover: #353a40 !important;
+ --badge-size: .55rem !important;
+ --badge-c: #fff !important;
+ --badge-bg: #e74c3c !important;
+ --bborder: rgba(0, 0, 0, 0.3) !important;
+ --bborder2: #474e55 !important;
+ --link-c: #3697db !important;
+ --lhover: #3697db !important;
+ --box-bg: #343a40 !important;
+ --box-hl: #3697db !important;
+ --header-bg: #343a40 !important;
+ --blue-c: #3697db !important;
+ --red-c: #e74c3c !important;
+ --green-c: #2ecc71 !important;
+ --yellow-c: #ffde5b !important;
+ --purple-c: #7f5bff !important;
+ --pink-c: #ff5bef !important;
+ --orange-c: #ffa82e !important;
+ --green1-c: #aaffad !important;
+ --green2-c: #81e27d !important;
+ --green3-c: #459442 !important;
+ --yellow1-c: #f8ffa8 !important;
+ --yellow2-c: #d6d949 !important;
+ --yellow3-c: #94972f !important;
+ --red1-c: #ff7d79 !important;
+ --red2-c: #ee5649 !important;
+ --red3-c: #a5302a !important;
+ --blue1-c: #b6d2ff !important;
+ --blue2-c: #85b0ee !important;
+ --blue3-c: #4865a5 !important;
+ --save-c: rgba(0, 0, 0, 0.75) !important;
+ --save-bg: #8fff79 !important;
+ --save-bg-hover: #a1ffa1 !important;
+ --cancel-c: #fff !important;
+ --cancel-bg: #ee5649 !important;
+ --cancel-bg-hover: #ff7d79 !important;
+ --close-c: rgba(0, 0, 0, 0.75) !important;
+ --close-bg: #ffde5b !important;
+ --close-bg-hover: #ffe682 !important;
+ --disabled-c: rgba(0, 0, 0, 0.5) !important;
+ --disabled-bg: #3c4146 !important;
+ --disabled-bg-hover: #3c4146 !important;
+ --fav-c: #ffde5b !important;
+ --text-shadow: #000 !important;
+ --bq-c: #fff !important;
+ --bq-bg: #25acff !important;
+ --bg-border: rgba(0, 0, 0, 0.4) !important;
+ --code-c: #fff !important;
+ --code-bg: #474e55 !important;
}
\ No newline at end of file
diff --git a/Install/Application/Backend/Themes/Default/css/backend-small.css b/Install/Application/Backend/Themes/Default/css/backend-small.css
index de72b9a5..5f184602 100755
--- a/Install/Application/Backend/Themes/Default/css/backend-small.css
+++ b/Install/Application/Backend/Themes/Default/css/backend-small.css
@@ -1,2 +1,2 @@
-:root{--ff: 'Arial', Helvetica, sans-serif;--default-c: #000;--main-bg: #f6f6f6;--main-bg-hl: #3697db;--article-bg: #fff;--article-c: #000;--iborder: rgba(140, 140, 140, 0.4);--iborder-active: rgba(54, 150, 219, 0.7);--ipt-c: rgba(0, 0, 0, 0.8);--ipt-c-active: rgba(0, 0, 0, 0.8);--ipt-bg: #fff;--ipt-bg-active: #fff;--ipt-ico-c: rgba(54, 150, 219, .6);--ipt-ico-c-active: #3697db;--txt-on-bg-c: rgba(255, 255, 255, 0.7);--txt-on-bg-c-2: rgba(255, 255, 255, 0.85);--nav-cat-bg: #343a40;--nav-cat-bg-hl: #3697db;--nav-cat-bg-hover: #434a51;--nav-sub-bg: #343A40;--nav-sub-bg-hl: #3697db;--nav-sub-bg-hover: #2a2b30;--nav-content-hover: #3697db;--btn-bg: #3697db;--btn-bg-hover: #4aabf0;--btn-main-bg: #3697db;--btn-main-bg-active: #4aabf0;--btn-main-c: rgba(255, 255, 255, .9);--tcaption-bg: #fff;--thead-bg: #3697db;--thead-c: #fff;--trow-bg: #fff;--trow-bg-alt: #f7f7f7;--trow-bg-hover: #d4eeff;--badge-size: .55rem;--badge-c: #fff;--badge-bg: #e74c3c;--bborder: rgba(72, 71, 114, 0.3);--bborder2: #ebedf2;--link-c: #3697db;--lhover: #3697db;--box-bg: #fff;--box-hl: #3697db;--header-bg: #fff;--blue-c: #3697db;--red-c: #e74c3c;--green-c: #2ecc71;--yellow-c: #ffde5b;--purple-c: #7f5bff;--pink-c: #ff5bef;--orange-c: #ffa82e;--green1-c: #aaffad;--green2-c: #81e27d;--green3-c: #459442;--yellow1-c: #f8ffa8;--yellow2-c: #d6d949;--yellow3-c: #94972f;--red1-c: #ff7d79;--red2-c: #ee5649;--red3-c: #a5302a;--blue1-c: #b6d2ff;--blue2-c: #85b0ee;--blue3-c: #4865a5;--save-c: rgba(0, 0, 0, 0.75);--save-bg: #8fff79;--save-bg-hover: #a1ffa1;--cancel-c: #fff;--cancel-bg: #ee5649;--cancel-bg-hover: #ff7d79;--close-c: rgba(0, 0, 0, 0.75);--close-bg: #ffde5b;--close-bg-hover: #ffe682;--disabled-c: rgba(0, 0, 0, 0.5);--disabled-bg: #e1e1e1;--disabled-bg-hover: #e1e1e1;--fav-c: #ffde5b;--text-shadow: #000;--bq-c: #fff;--bq-bg: #25acff;--bg-border: rgba(0, 0, 0, 0.4);--code-c: #000;--code-bg: #f4f4f4}html,body{width:100%;height:100%;min-width:100%;max-width:100%;overflow:hidden;font-family:var(--ff);font-weight:100;color:var(--default-c)}body,body>nav,main,main>header,main>header>form,#logo,#content{display:flex}body>nav,main,#logo,#content{flex-direction:column}body>nav{width:250px;overflow-y:auto;font-size:0.8em;background:var(--nav-cat-bg);color:rgba(255,255,255,0.8);flex-shrink:0;user-select:none}main{max-width:100%;height:100%;background:var(--main-bg);overflow-x:auto;flex:1;box-sizing:border-box}main>header{background:var(--header-bg);border-bottom:1px solid var(--bborder);padding:0 1rem 0 1rem;box-sizing:border-box;align-items:center;flex-flow:row;flex-shrink:0;height:65px}main>header>form{flex:1;padding:0 5px 0 5px;max-width:800px}main>header .inputWrapper{flex:1}main>header input[type=text]{width:100%;background:#fff;border:1px solid var(--iborder);text-shadow:none;box-shadow:none;transition:border 500ms ease-out;outline:none;box-sizing:border-box;padding-left:2rem}#logo{height:100%;flex:1;text-align:right;justify-content:space-between;padding-left:1rem}#logo select{background:var(--nav-cat-bg);color:rgba(255,255,255,0.8);font-size:.8rem}#nav-side-settings{margin-bottom:.3rem}#nav-side-settings label{color:rgba(255,255,255,0.8);cursor:pointer}#nav-side-settings label .volume_up{display:none}#nav-side-settings label .volume_down{display:inherit}#nav-side-settings i{font-size:1rem;font-weight:200}#nav-side-settings label+input+label{margin-left:.3rem}#nav-side-settings input{display:none}#nav-side-settings input:checked+label{color:var(--nav-sub-bg-hl)}#nav-side-settings input:checked+label .volume_up{display:inherit}#nav-side-settings input:checked+label .volume_down{display:none}.ham-trigger{display:flex;color:var(--default-c);align-items:center;flex:0;margin-right:5px}.ham-trigger i{font-size:1.5rem}nav .ham-trigger{color:var(--txt-on-bg-c-2);margin:0 0 0 5px;display:none}.nav-trigger{position:absolute;display:none}.nav-trigger:checked+nav{width:0%}#t-nav-container{margin-left:auto}#nav-side-outer{overflow-y:auto;height:100%;user-select:none;scrollbar-color:var(--btn-bg) var(--nav-cat-bg);scrollbar-width:thin}#nav-side-outer::-webkit-scrollbar{width:7px}#nav-side-outer::-webkit-scrollbar-thumb{background:var(--btn-bg)}#nav-side-outer::-webkit-scrollbar-track{background:var(--nav-cat-bg)}#nav-side-inner{flex:0;display:flex;flex-flow:column;box-sizing:border-box;border-top:1px solid #4b5055}#nav-side-inner span{flex-grow:1}#nav-side-inner input{display:none}#nav-side-inner input:checked+ul .expand{transition:all .3s ease;transform:rotateZ(90deg)}#nav-side-inner input:checked+ul>li:nth-child(n+2),#nav-side-inner input:checked+ul .expand{display:inherit}#nav-side-inner input+ul .expand{transition:all .3s ease;transform:rotateZ(0deg)}#nav-side-inner input+ul>li:nth-child(n+2){display:none}#nav-side-inner label{display:flex;align-items:center;padding:.3rem .5rem .3rem .5rem;cursor:pointer}#nav-side-inner>li{display:block}#nav-side-inner>li a{display:block;padding:.5rem .75rem .5rem .75rem;border-left:3px solid transparent}#nav-side-inner>li a:hover,#nav-side-inner>li a:focus{background:var(--nav-sub-bg-hover);border-left:3px solid var(--nav-sub-bg-hl)}#nav-side-inner>li li:not(:first-child){background:var(--nav-sub-bg)}#nav-side-inner>li li a:hover,#nav-side-inner>li li a.active,#nav-side-inner>li li a:focus{background:var(--nav-cat-bg-hover)}#nav-side-inner>li li:first-child{border-bottom:1px solid #212628}#nav-side-inner>li li:first-child{border-top:1px solid #4b5055}#nav-side-inner>li:first-child li:first-child{border-top:none}#nav-side-inner i{flex-grow:0}#nav-side-inner i+span{margin-left:5px}#content{flex:1;padding:0 0 1rem 1rem;overflow-y:auto}#t-nav{font-size:.8rem;font-weight:300}#t-nav a{padding:0 5px 0 5px;line-height:25px}#t-nav a:hover,#t-nav a:focus{color:var(--lhover)}#t-nav i{margin-right:10px;font-size:1.2rem;font-weight:200}#t-nav li{display:inline}#u-box{display:flex;align-items:center;padding:0 1rem 0 1rem;height:65px;border-bottom:1px solid #212628;box-sizing:border-box;flex-shrink:0}#u-box img{width:40px;height:40px;border-radius:50%;border:2px solid #fff}#u-box a{display:inline-block}img.profile-image{width:40px;height:40px;border-radius:50%;border:2px solid #fff}#iSearchType{min-width:50px;background:var(--btn-bg);color:var(--txt-on-bg-c-2);width:auto;height:30px;border:none}#iSearchType::-moz-focus-inner{border:0}#iSearchType:hover,#iSearchType:focus{background:var(--btn-bg-hover)}#iSearchType label{color:var(--txt-on-bg-c-2)}#iSearchType .dropdown-closed{padding:0 1rem 0 1rem}#iSearchType .dropdown-container{background:var(--btn-bg);border:0;white-space:nowrap}#iSearchType .dropdown-container label:hover,#iSearchType .dropdown-container label:focus{background:var(--btn-bg-hover)}@media only screen and (max-width: 48em){nav .ham-trigger{display:flex}.nav-trigger:checked+nav{width:100% !important}.nav-trigger:checked ~ main{display:none !important}main>header{flex-flow:column;height:auto;padding:1rem}main>header form{width:100%}#t-nav-container{order:-1;margin-bottom:.5rem}}@media only screen and (max-width: 62em){#t-nav .link{display:none}.nav-trigger:not(:checked)+nav{width:0%}.nav-trigger:checked+nav{width:auto;min-width:250px}}@font-face{font-family:'Material Symbols Outlined';font-style:normal;font-weight:100;src:url("/Resources/fonts/googleicons/100.woff2") format("woff2")}@font-face{font-family:'Material Symbols Outlined';font-style:normal;font-weight:200;src:url("/Resources/fonts/googleicons/200.woff2") format("woff2")}.g-icon{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;font-size:1.5rem;font-weight:200}
+:root{--ff: 'Arial', Helvetica, sans-serif;--default-c: #000;--main-bg: #f6f6f6;--main-bg-hl: #3697db;--article-bg: #fff;--article-c: #000;--iborder: rgba(140, 140, 140, 0.4);--iborder-active: rgba(54, 150, 219, 0.7);--ipt-c: rgba(0, 0, 0, 0.8);--ipt-c-active: rgba(0, 0, 0, 0.8);--ipt-bg: #fff;--ipt-bg-active: #fff;--ipt-ico-c: rgba(54, 150, 219, .6);--ipt-ico-c-active: #3697db;--txt-on-bg-c: rgba(255, 255, 255, 0.7);--txt-on-bg-c-2: rgba(255, 255, 255, 0.85);--nav-cat-bg: #343a40;--nav-cat-bg-hl: #3697db;--nav-cat-bg-hover: #434a51;--nav-sub-bg: #343A40;--nav-sub-bg-hl: #3697db;--nav-sub-bg-hover: #2a2b30;--nav-content-hover: #3697db;--btn-bg: #3697db;--btn-bg-hover: #4aabf0;--btn-main-bg: #3697db;--btn-main-bg-active: #4aabf0;--btn-main-c: rgba(255, 255, 255, .9);--tcaption-bg: #fff;--thead-bg: #3697db;--thead-c: #fff;--trow-bg: #fff;--trow-bg-alt: #f7f7f7;--trow-bg-hover: #d4eeff;--badge-size: .55rem;--badge-c: #fff;--badge-bg: #e74c3c;--bborder: rgba(72, 71, 114, 0.3);--bborder2: #ebedf2;--link-c: #3697db;--lhover: #3697db;--box-bg: #fff;--box-hl: #3697db;--header-bg: #fff;--blue-c: #3697db;--red-c: #e74c3c;--green-c: #2ecc71;--yellow-c: #ffde5b;--purple-c: #7f5bff;--pink-c: #ff5bef;--orange-c: #ffa82e;--green1-c: #aaffad;--green2-c: #81e27d;--green3-c: #459442;--yellow1-c: #f8ffa8;--yellow2-c: #d6d949;--yellow3-c: #94972f;--red1-c: #ff7d79;--red2-c: #ee5649;--red3-c: #a5302a;--blue1-c: #b6d2ff;--blue2-c: #85b0ee;--blue3-c: #4865a5;--save-c: rgba(0, 0, 0, 0.75);--save-bg: #8fff79;--save-bg-hover: #a1ffa1;--cancel-c: #fff;--cancel-bg: #ee5649;--cancel-bg-hover: #ff7d79;--close-c: rgba(0, 0, 0, 0.75);--close-bg: #ffde5b;--close-bg-hover: #ffe682;--disabled-c: rgba(0, 0, 0, 0.5);--disabled-bg: #e1e1e1;--disabled-bg-hover: #e1e1e1;--fav-c: #ffde5b;--text-shadow: #000;--bq-c: #fff;--bq-bg: #25acff;--bg-border: rgba(0, 0, 0, 0.4);--code-c: #000;--code-bg: #f4f4f4}html,body{width:100%;height:100%;min-width:100%;max-width:100%;overflow:hidden;font-family:var(--ff);font-weight:100;color:var(--default-c)}body,body>nav,main,main>header,main>header>form,#logo,#content{display:flex}body>nav,main,#logo,#content{flex-direction:column}body>nav{width:250px;overflow-y:auto;font-size:0.8em;background:var(--nav-cat-bg);color:rgba(255,255,255,0.8);flex-shrink:0;user-select:none}main{max-width:100%;height:100%;background:var(--main-bg);overflow-x:auto;flex:1;box-sizing:border-box}main>header{background:var(--header-bg);border-bottom:1px solid var(--bborder);padding:0 1rem 0 1rem;box-sizing:border-box;align-items:center;flex-flow:row;flex-shrink:0;height:65px}main>header>form{flex:1;padding:0 5px 0 5px;max-width:800px}main>header .inputWrapper{flex:1}main>header input[type=text]{width:100%;background:var(--ipt-bg);border:1px solid var(--iborder);text-shadow:none;box-shadow:none;transition:border 500ms ease-out;outline:none;box-sizing:border-box;padding-left:2rem}#logo{height:100%;flex:1;text-align:right;justify-content:space-between;padding-left:1rem}#logo select{background:var(--nav-cat-bg);color:rgba(255,255,255,0.8);font-size:.8rem}#nav-side-settings{margin-bottom:.3rem}#nav-side-settings label{color:rgba(255,255,255,0.8);cursor:pointer}#nav-side-settings label .volume_up{display:none}#nav-side-settings label .volume_down{display:inherit}#nav-side-settings i{font-size:1rem;font-weight:200}#nav-side-settings label+input+label{margin-left:.3rem}#nav-side-settings input{display:none}#nav-side-settings input:checked+label{color:var(--nav-sub-bg-hl)}#nav-side-settings input:checked+label .volume_up{display:inherit}#nav-side-settings input:checked+label .volume_down{display:none}.ham-trigger{display:flex;color:var(--default-c);align-items:center;flex:0;margin-right:5px}.ham-trigger i{font-size:1.5rem}nav .ham-trigger{color:var(--txt-on-bg-c-2);margin:0 0 0 5px;display:none}.nav-trigger{position:absolute;display:none}.nav-trigger:checked+nav{width:0%}#t-nav-container{margin-left:auto}#nav-side-outer{overflow-y:auto;height:100%;user-select:none;scrollbar-color:var(--btn-bg) var(--nav-cat-bg);scrollbar-width:thin}#nav-side-outer::-webkit-scrollbar{width:7px}#nav-side-outer::-webkit-scrollbar-thumb{background:var(--btn-bg)}#nav-side-outer::-webkit-scrollbar-track{background:var(--nav-cat-bg)}#nav-side-inner{flex:0;display:flex;flex-flow:column;box-sizing:border-box;border-top:1px solid #4b5055}#nav-side-inner span{flex-grow:1}#nav-side-inner input{display:none}#nav-side-inner input:checked+ul .expand{transition:all .3s ease;transform:rotateZ(90deg)}#nav-side-inner input:checked+ul>li:nth-child(n+2),#nav-side-inner input:checked+ul .expand{display:inherit}#nav-side-inner input+ul .expand{transition:all .3s ease;transform:rotateZ(0deg)}#nav-side-inner input+ul>li:nth-child(n+2){display:none}#nav-side-inner label{display:flex;align-items:center;padding:.3rem .5rem .3rem .5rem;cursor:pointer}#nav-side-inner>li{display:block}#nav-side-inner>li a{display:block;padding:.5rem .75rem .5rem .75rem;border-left:3px solid transparent}#nav-side-inner>li a:hover,#nav-side-inner>li a:focus{background:var(--nav-sub-bg-hover);border-left:3px solid var(--nav-sub-bg-hl)}#nav-side-inner>li li:not(:first-child){background:var(--nav-sub-bg)}#nav-side-inner>li li a:hover,#nav-side-inner>li li a.active,#nav-side-inner>li li a:focus{background:var(--nav-cat-bg-hover)}#nav-side-inner>li li:first-child{border-bottom:1px solid #212628}#nav-side-inner>li li:first-child{border-top:1px solid #4b5055}#nav-side-inner>li:first-child li:first-child{border-top:none}#nav-side-inner i{flex-grow:0}#nav-side-inner i+span{margin-left:5px}#content{flex:1;padding:0 0 1rem 1rem;overflow-y:auto}#t-nav{font-size:.8rem;font-weight:300}#t-nav a{padding:0 5px 0 5px;line-height:25px}#t-nav a:hover,#t-nav a:focus{color:var(--lhover)}#t-nav i{margin-right:10px;font-size:1.2rem;font-weight:200}#t-nav li{display:inline}#u-box{display:flex;align-items:center;padding:0 1rem 0 1rem;height:65px;border-bottom:1px solid #212628;box-sizing:border-box;flex-shrink:0}#u-box img{width:40px;height:40px;border-radius:50%;border:2px solid #fff}#u-box a{display:inline-block}img.profile-image{width:40px;height:40px;border-radius:50%;border:2px solid #fff}#iSearchType{min-width:50px;background:var(--btn-bg);color:var(--txt-on-bg-c-2);width:auto;height:30px;border:none}#iSearchType::-moz-focus-inner{border:0}#iSearchType:hover,#iSearchType:focus{background:var(--btn-bg-hover)}#iSearchType label{color:var(--txt-on-bg-c-2)}#iSearchType .dropdown-closed{padding:0 1rem 0 1rem}#iSearchType .dropdown-container{background:var(--btn-bg);border:0;white-space:nowrap}#iSearchType .dropdown-container label:hover,#iSearchType .dropdown-container label:focus{background:var(--btn-bg-hover)}@media only screen and (max-width: 48em){nav .ham-trigger{display:flex}.nav-trigger:checked+nav{width:100% !important}.nav-trigger:checked ~ main{display:none !important}main>header{flex-flow:column;height:auto;padding:1rem}main>header form{width:100%}#t-nav-container{order:-1;margin-bottom:.5rem}}@media only screen and (max-width: 62em){#t-nav .link{display:none}.nav-trigger:not(:checked)+nav{width:0%}.nav-trigger:checked+nav{width:auto;min-width:250px}}@font-face{font-family:'Material Symbols Outlined';font-style:normal;font-weight:100;src:url("/Resources/fonts/googleicons/100.woff2") format("woff2")}@font-face{font-family:'Material Symbols Outlined';font-style:normal;font-weight:200;src:url("/Resources/fonts/googleicons/200.woff2") format("woff2")}.g-icon{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;font-size:1.5rem;font-weight:200}
/*# sourceMappingURL=backend-small.css.map */
diff --git a/Install/Application/Backend/Themes/Default/css/backend-small.css.map b/Install/Application/Backend/Themes/Default/css/backend-small.css.map
index 5af6ba76..616e8e2a 100755
--- a/Install/Application/Backend/Themes/Default/css/backend-small.css.map
+++ b/Install/Application/Backend/Themes/Default/css/backend-small.css.map
@@ -1,6 +1,6 @@
{
"version": 3,
-"mappings": "AAAA,KAAM,CACF,IAAI,CAAC,+BAA+B,CACpC,WAAW,CAAC,KAAK,CACjB,SAAS,CAAC,QAAQ,CAClB,YAAY,CAAC,QAAQ,CACrB,YAAY,CAAC,KAAK,CAClB,WAAW,CAAC,KAAK,CAEjB,SAAS,CAAC,yBAAyB,CACnC,gBAAgB,CAAC,wBAAwB,CAEzC,OAAO,CAAC,mBAAmB,CAC3B,cAAc,CAAC,mBAAmB,CAClC,QAAQ,CAAC,KAAK,CACd,eAAe,CAAC,KAAK,CACrB,WAAW,CAAC,uBAAuB,CACnC,kBAAkB,CAAC,QAAQ,CAE3B,aAAa,CAAC,yBAAyB,CACvC,eAAe,CAAC,0BAA0B,CAE1C,YAAY,CAAC,QAAQ,CACrB,eAAe,CAAC,QAAQ,CACxB,kBAAkB,CAAC,QAAQ,CAC3B,YAAY,CAAC,QAAQ,CACrB,eAAe,CAAC,QAAQ,CACxB,kBAAkB,CAAC,QAAQ,CAC3B,mBAAmB,CAAC,QAAQ,CAE5B,QAAQ,CAAC,QAAQ,CACjB,cAAc,CAAC,QAAQ,CACvB,aAAa,CAAC,QAAQ,CACtB,oBAAoB,CAAC,QAAQ,CAC7B,YAAY,CAAC,wBAAwB,CAErC,aAAa,CAAC,KAAK,CACnB,UAAU,CAAC,QAAQ,CACnB,SAAS,CAAC,KAAK,CACf,SAAS,CAAC,KAAK,CACf,aAAa,CAAC,QAAQ,CACtB,eAAe,CAAC,QAAQ,CAExB,YAAY,CAAC,OAAO,CACpB,SAAS,CAAC,KAAK,CACf,UAAU,CAAC,QAAQ,CAEnB,SAAS,CAAC,uBAAuB,CACjC,UAAU,CAAC,QAAQ,CAEnB,QAAQ,CAAC,QAAQ,CACjB,QAAQ,CAAC,QAAQ,CAEjB,QAAQ,CAAC,KAAK,CACd,QAAQ,CAAC,QAAQ,CAEjB,WAAW,CAAC,KAAK,CAEjB,QAAQ,CAAC,QAAQ,CACjB,OAAO,CAAC,QAAQ,CAChB,SAAS,CAAC,QAAQ,CAClB,UAAU,CAAC,QAAQ,CACnB,UAAU,CAAC,QAAQ,CACnB,QAAQ,CAAC,QAAQ,CACjB,UAAU,CAAC,QAAQ,CAEnB,UAAU,CAAC,QAAQ,CACnB,UAAU,CAAC,QAAQ,CACnB,UAAU,CAAC,QAAQ,CAEnB,WAAW,CAAC,QAAQ,CACpB,WAAW,CAAC,QAAQ,CACpB,WAAW,CAAC,QAAQ,CAEpB,QAAQ,CAAC,QAAQ,CACjB,QAAQ,CAAC,QAAQ,CACjB,QAAQ,CAAC,QAAQ,CAEjB,SAAS,CAAC,QAAQ,CAClB,SAAS,CAAC,QAAQ,CAClB,SAAS,CAAC,QAAQ,CAElB,QAAQ,CAAC,oBAAoB,CAC7B,SAAS,CAAC,QAAQ,CAClB,eAAe,CAAC,QAAQ,CAExB,UAAU,CAAC,KAAK,CAChB,WAAW,CAAC,QAAQ,CACpB,iBAAiB,CAAC,QAAQ,CAE1B,SAAS,CAAC,oBAAoB,CAC9B,UAAU,CAAC,QAAQ,CACnB,gBAAgB,CAAC,QAAQ,CAEzB,YAAY,CAAC,mBAAmB,CAChC,aAAa,CAAC,QAAQ,CACtB,mBAAmB,CAAC,QAAQ,CAE5B,OAAO,CAAC,QAAQ,CAChB,aAAa,CAAC,KAAK,CAEnB,MAAM,CAAC,KAAK,CACZ,OAAO,CAAC,QAAQ,CAChB,WAAW,CAAC,mBAAmB,CAE/B,QAAQ,CAAC,KAAK,CACd,SAAS,CAAC,QAAQ,CCvGtB,SAAW,CACP,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,SAAS,CAAE,IAAI,CACf,SAAS,CAAE,IAAI,CACf,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,SAAS,CACtB,WAAW,CAAE,GAAG,CAChB,KAAK,CAAE,gBAAgB,CAG3B,8DAA6E,CACzE,OAAO,CAAE,IAAI,CAGjB,4BAAkC,CAC9B,cAAc,CAAE,MAAM,CAG1B,QAAW,CACP,KAAK,CAAE,KAAK,CACZ,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,KAAK,CAChB,UAAU,CAAE,iBAAiB,CAC7B,KAAK,CAAE,qBAAwB,CAC/B,WAAW,CAAE,CAAC,CACd,WAAW,CAAE,IAAI,CAGrB,IAAK,CACD,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,cAAc,CAC1B,UAAU,CAAE,IAAI,CAChB,IAAI,CAAE,CAAC,CACP,UAAU,CAAE,UAAU,CAEtB,WAAS,CACL,UAAU,CAAE,gBAAgB,CAC5B,aAAa,CAAE,wBAAwB,CACvC,OAAO,CAAE,aAAa,CACtB,UAAU,CAAE,UAAU,CACtB,WAAW,CAAE,MAAM,CACnB,SAAS,CAAE,GAAG,CACd,WAAW,CAAE,CAAC,CACd,MAAM,CAAE,IAAI,CAEZ,gBAAO,CACH,IAAI,CAAE,CAAC,CACP,OAAO,CAAE,WAAW,CACpB,SAAS,CAAE,KAAK,CAGpB,yBAAc,CACV,IAAI,CAAE,CAAC,CAGX,4BAAiB,CACb,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,IAAsB,CAClC,MAAM,CAAE,wBAAwB,CAChC,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,IAAI,CAChB,UAAU,CAAG,qBAAqB,CAClC,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,UAAU,CACtB,YAAY,CAAE,IAAI,CAK9B,KAAM,CACF,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,CAAC,CACP,UAAU,CAAE,KAAK,CACjB,eAAe,CAAE,aAAa,CAC9B,YAAY,CAAE,IAAI,CAElB,YAAO,CACH,UAAU,CAAE,iBAAiB,CAC7B,KAAK,CAAE,qBAAwB,CAC/B,SAAS,CAAE,KAAK,CAIxB,kBAAmB,CACf,aAAa,CAAE,KAAK,CAEpB,wBAAM,CACF,KAAK,CAAE,qBAAwB,CAC/B,MAAM,CAAE,OAAO,CAEf,mCAAW,CACP,OAAO,CAAE,IAAI,CAGjB,qCAAa,CACT,OAAO,CAAE,OAAO,CAIxB,oBAAE,CACE,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAGpB,oCAAkB,CACd,WAAW,CAAE,KAAK,CAGtB,wBAAM,CACF,OAAO,CAAE,IAAI,CAGT,sCAAU,CACN,KAAK,CAAE,oBAAoB,CAE3B,iDAAW,CACP,OAAO,CAAE,OAAO,CAGpB,mDAAa,CACT,OAAO,CAAE,IAAI,CAOjC,YAAa,CACT,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,gBAAgB,CACvB,WAAW,CAAE,MAAM,CACnB,IAAI,CAAE,CAAC,CACP,YAAY,CAAE,GAAG,CAEjB,cAAE,CACE,SAAS,CAAE,MAAM,CAIzB,gBAAiB,CACb,KAAK,CAAE,oBAAoB,CAC3B,MAAM,CAAE,SAAS,CACjB,OAAO,CAAE,IAAI,CAGjB,YAAa,CACT,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,IAAI,CAEb,wBAAgB,CACZ,KAAK,CAAE,EAAE,CAIjB,gBAAiB,CACb,WAAW,CAAE,IAAI,CAGrB,eAAgB,CACZ,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,IAAI,CACZ,WAAW,CAAE,IAAI,CACjB,eAAe,CAAE,+BAA+B,CAChD,eAAe,CAAE,IAAI,CAErB,kCAAqB,CACjB,KAAK,CAAE,GAAG,CAGd,wCAA2B,CACvB,UAAU,CAAE,aAAa,CAG7B,wCAA2B,CACvB,UAAU,CAAE,iBAAiB,CAIrC,eAAgB,CACZ,IAAI,CAAE,CAAC,CACP,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,MAAM,CACjB,UAAU,CAAE,UAAU,CACtB,UAAU,CAAE,iBAAiB,CAE7B,oBAAK,CACD,SAAS,CAAE,CAAC,CAGhB,qBAAM,CACF,OAAO,CAAE,IAAI,CAGT,wCAAQ,CACJ,UAAU,CAAE,YAAY,CACxB,SAAS,CAAE,cAAc,CAG7B,2FAA6B,CACzB,OAAO,CAAE,OAAO,CAMxB,gCAAQ,CACJ,UAAU,CAAE,YAAY,CACxB,SAAS,CAAE,aAAa,CAG5B,0CAAoB,CAChB,OAAO,CAAE,IAAI,CAIrB,qBAAM,CACF,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,OAAO,CAAE,uBAAuB,CAChC,MAAM,CAAE,OAAO,CAGnB,kBAAK,CACD,OAAO,CAAE,KAAK,CAEd,oBAAE,CACE,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,yBAAyB,CAClC,WAAW,CAAE,qBAAqB,CAElC,qDAAiB,CACb,UAAU,CAAE,uBAAuB,CACnC,WAAW,CAAE,8BAA8B,CAK/C,uCAAoB,CAChB,UAAU,CAAE,iBAAiB,CAI7B,0FAA2B,CACvB,UAAU,CAAE,uBAAuB,CAM/C,iCAAe,CACX,aAAa,CAAE,iBAAiB,CAGpC,iCAAe,CACX,UAAU,CAAE,iBAAiB,CAKjC,6CAAe,CACX,UAAU,CAAE,IAAI,CAIxB,iBAAE,CACE,SAAS,CAAE,CAAC,CAEZ,sBAAO,CACH,WAAW,CAAE,GAAG,CAK5B,QAAS,CACL,IAAI,CAAE,CAAC,CACP,OAAO,CAAE,aAAa,CACtB,UAAU,CAAE,IAAI,CAGpB,MAAO,CACH,SAAS,CAAE,KAAK,CAChB,WAAW,CAAE,GAAG,CAEhB,QAAE,CACE,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,IAAI,CAEjB,6BAAiB,CACb,KAAK,CAAE,aAAa,CAI5B,QAAE,CACE,YAAY,CAAE,IAAI,CAClB,SAAS,CAAE,MAAM,CACjB,WAAW,CAAE,GAAG,CAGpB,SAAG,CACC,OAAO,CAAE,MAAM,CAIvB,MAAO,CACH,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,OAAO,CAAE,aAAa,CACtB,MAAM,CAAE,IAAI,CACZ,aAAa,CAAE,iBAAiB,CAChC,UAAU,CAAE,UAAU,CACtB,WAAW,CAAE,CAAC,CAEd,UAAI,CACA,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,cAAc,CAG1B,QAAE,CACE,OAAO,CAAE,YAAY,CAI7B,iBAAkB,CACd,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,cAAc,CAG1B,YAAa,CACT,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,aAAa,CACzB,KAAK,CAAE,oBAAoB,CAC3B,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,IAAI,CAEZ,8BAAoB,CAChB,MAAM,CAAE,CAAC,CAGb,qCAAiB,CACb,UAAU,CAAE,mBAAmB,CAGnC,kBAAM,CACF,KAAK,CAAE,oBAAoB,CAG/B,6BAAiB,CACb,OAAO,CAAE,aAAa,CAG1B,gCAAoB,CAChB,UAAU,CAAE,aAAa,CACzB,MAAM,CAAE,CAAC,CACT,WAAW,CAAE,MAAM,CAGf,yFAAiB,CACb,UAAU,CAAE,mBAAmB,CAM/C,wCAAyC,CACrC,gBAAiB,CACb,OAAO,CAAE,IAAI,CAGjB,wBAA2B,CACvB,KAAK,CAAE,eAAe,CAG1B,2BAA4B,CACxB,OAAO,CAAE,eAAe,CAG5B,WAAe,CACX,SAAS,CAAE,MAAM,CACjB,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,IAAI,CAEb,gBAAK,CACD,KAAK,CAAE,IAAI,CAInB,gBAAiB,CACb,KAAK,CAAE,EAAE,CACT,aAAa,CAAE,KAAK,EAI5B,wCAAyC,CACrC,YAAa,CACT,OAAO,CAAE,IAAI,CAGjB,8BAAiC,CAC7B,KAAK,CAAE,EAAE,CAGb,wBAA2B,CACvB,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,KAAK,EAIxB,UAKC,CAJG,WAAW,CAAE,2BAA2B,CACxC,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,GAAG,CAAE,6DAA6D,CAGtE,UAKC,CAJG,WAAW,CAAE,2BAA2B,CACxC,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,GAAG,CAAE,6DAA6D,CAGtE,OAAQ,CACJ,WAAW,CAAE,2BAA2B,CACxC,WAAW,CAAE,MAAM,CACnB,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,CAAC,CACd,cAAc,CAAE,MAAM,CACtB,cAAc,CAAE,IAAI,CACpB,OAAO,CAAE,YAAY,CACrB,WAAW,CAAE,MAAM,CACnB,SAAS,CAAE,MAAM,CACjB,SAAS,CAAE,MAAM,CACjB,WAAW,CAAE,GAAG",
+"mappings": "AAAA,KAAM,CACF,IAAI,CAAC,+BAA+B,CACpC,WAAW,CAAC,KAAK,CACjB,SAAS,CAAC,QAAQ,CAClB,YAAY,CAAC,QAAQ,CACrB,YAAY,CAAC,KAAK,CAClB,WAAW,CAAC,KAAK,CAEjB,SAAS,CAAC,yBAAyB,CACnC,gBAAgB,CAAC,wBAAwB,CAEzC,OAAO,CAAC,mBAAmB,CAC3B,cAAc,CAAC,mBAAmB,CAClC,QAAQ,CAAC,KAAK,CACd,eAAe,CAAC,KAAK,CACrB,WAAW,CAAC,uBAAuB,CACnC,kBAAkB,CAAC,QAAQ,CAE3B,aAAa,CAAC,yBAAyB,CACvC,eAAe,CAAC,0BAA0B,CAE1C,YAAY,CAAC,QAAQ,CACrB,eAAe,CAAC,QAAQ,CACxB,kBAAkB,CAAC,QAAQ,CAC3B,YAAY,CAAC,QAAQ,CACrB,eAAe,CAAC,QAAQ,CACxB,kBAAkB,CAAC,QAAQ,CAC3B,mBAAmB,CAAC,QAAQ,CAE5B,QAAQ,CAAC,QAAQ,CACjB,cAAc,CAAC,QAAQ,CACvB,aAAa,CAAC,QAAQ,CACtB,oBAAoB,CAAC,QAAQ,CAC7B,YAAY,CAAC,wBAAwB,CAErC,aAAa,CAAC,KAAK,CACnB,UAAU,CAAC,QAAQ,CACnB,SAAS,CAAC,KAAK,CACf,SAAS,CAAC,KAAK,CACf,aAAa,CAAC,QAAQ,CACtB,eAAe,CAAC,QAAQ,CAExB,YAAY,CAAC,OAAO,CACpB,SAAS,CAAC,KAAK,CACf,UAAU,CAAC,QAAQ,CAEnB,SAAS,CAAC,uBAAuB,CACjC,UAAU,CAAC,QAAQ,CAEnB,QAAQ,CAAC,QAAQ,CACjB,QAAQ,CAAC,QAAQ,CAEjB,QAAQ,CAAC,KAAK,CACd,QAAQ,CAAC,QAAQ,CAEjB,WAAW,CAAC,KAAK,CAEjB,QAAQ,CAAC,QAAQ,CACjB,OAAO,CAAC,QAAQ,CAChB,SAAS,CAAC,QAAQ,CAClB,UAAU,CAAC,QAAQ,CACnB,UAAU,CAAC,QAAQ,CACnB,QAAQ,CAAC,QAAQ,CACjB,UAAU,CAAC,QAAQ,CAEnB,UAAU,CAAC,QAAQ,CACnB,UAAU,CAAC,QAAQ,CACnB,UAAU,CAAC,QAAQ,CAEnB,WAAW,CAAC,QAAQ,CACpB,WAAW,CAAC,QAAQ,CACpB,WAAW,CAAC,QAAQ,CAEpB,QAAQ,CAAC,QAAQ,CACjB,QAAQ,CAAC,QAAQ,CACjB,QAAQ,CAAC,QAAQ,CAEjB,SAAS,CAAC,QAAQ,CAClB,SAAS,CAAC,QAAQ,CAClB,SAAS,CAAC,QAAQ,CAElB,QAAQ,CAAC,oBAAoB,CAC7B,SAAS,CAAC,QAAQ,CAClB,eAAe,CAAC,QAAQ,CAExB,UAAU,CAAC,KAAK,CAChB,WAAW,CAAC,QAAQ,CACpB,iBAAiB,CAAC,QAAQ,CAE1B,SAAS,CAAC,oBAAoB,CAC9B,UAAU,CAAC,QAAQ,CACnB,gBAAgB,CAAC,QAAQ,CAEzB,YAAY,CAAC,mBAAmB,CAChC,aAAa,CAAC,QAAQ,CACtB,mBAAmB,CAAC,QAAQ,CAE5B,OAAO,CAAC,QAAQ,CAChB,aAAa,CAAC,KAAK,CAEnB,MAAM,CAAC,KAAK,CACZ,OAAO,CAAC,QAAQ,CAChB,WAAW,CAAC,mBAAmB,CAE/B,QAAQ,CAAC,KAAK,CACd,SAAS,CAAC,QAAQ,CCvGtB,SAAW,CACP,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,SAAS,CAAE,IAAI,CACf,SAAS,CAAE,IAAI,CACf,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,SAAS,CACtB,WAAW,CAAE,GAAG,CAChB,KAAK,CAAE,gBAAgB,CAG3B,8DAA6E,CACzE,OAAO,CAAE,IAAI,CAGjB,4BAAkC,CAC9B,cAAc,CAAE,MAAM,CAG1B,QAAW,CACP,KAAK,CAAE,KAAK,CACZ,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,KAAK,CAChB,UAAU,CAAE,iBAAiB,CAC7B,KAAK,CAAE,qBAAwB,CAC/B,WAAW,CAAE,CAAC,CACd,WAAW,CAAE,IAAI,CAGrB,IAAK,CACD,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,cAAc,CAC1B,UAAU,CAAE,IAAI,CAChB,IAAI,CAAE,CAAC,CACP,UAAU,CAAE,UAAU,CAEtB,WAAS,CACL,UAAU,CAAE,gBAAgB,CAC5B,aAAa,CAAE,wBAAwB,CACvC,OAAO,CAAE,aAAa,CACtB,UAAU,CAAE,UAAU,CACtB,WAAW,CAAE,MAAM,CACnB,SAAS,CAAE,GAAG,CACd,WAAW,CAAE,CAAC,CACd,MAAM,CAAE,IAAI,CAEZ,gBAAO,CACH,IAAI,CAAE,CAAC,CACP,OAAO,CAAE,WAAW,CACpB,SAAS,CAAE,KAAK,CAGpB,yBAAc,CACV,IAAI,CAAE,CAAC,CAGX,4BAAiB,CACb,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,aAAa,CACzB,MAAM,CAAE,wBAAwB,CAChC,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,IAAI,CAChB,UAAU,CAAG,qBAAqB,CAClC,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,UAAU,CACtB,YAAY,CAAE,IAAI,CAK9B,KAAM,CACF,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,CAAC,CACP,UAAU,CAAE,KAAK,CACjB,eAAe,CAAE,aAAa,CAC9B,YAAY,CAAE,IAAI,CAElB,YAAO,CACH,UAAU,CAAE,iBAAiB,CAC7B,KAAK,CAAE,qBAAwB,CAC/B,SAAS,CAAE,KAAK,CAIxB,kBAAmB,CACf,aAAa,CAAE,KAAK,CAEpB,wBAAM,CACF,KAAK,CAAE,qBAAwB,CAC/B,MAAM,CAAE,OAAO,CAEf,mCAAW,CACP,OAAO,CAAE,IAAI,CAGjB,qCAAa,CACT,OAAO,CAAE,OAAO,CAIxB,oBAAE,CACE,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAGpB,oCAAkB,CACd,WAAW,CAAE,KAAK,CAGtB,wBAAM,CACF,OAAO,CAAE,IAAI,CAGT,sCAAU,CACN,KAAK,CAAE,oBAAoB,CAE3B,iDAAW,CACP,OAAO,CAAE,OAAO,CAGpB,mDAAa,CACT,OAAO,CAAE,IAAI,CAOjC,YAAa,CACT,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,gBAAgB,CACvB,WAAW,CAAE,MAAM,CACnB,IAAI,CAAE,CAAC,CACP,YAAY,CAAE,GAAG,CAEjB,cAAE,CACE,SAAS,CAAE,MAAM,CAIzB,gBAAiB,CACb,KAAK,CAAE,oBAAoB,CAC3B,MAAM,CAAE,SAAS,CACjB,OAAO,CAAE,IAAI,CAGjB,YAAa,CACT,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,IAAI,CAEb,wBAAgB,CACZ,KAAK,CAAE,EAAE,CAIjB,gBAAiB,CACb,WAAW,CAAE,IAAI,CAGrB,eAAgB,CACZ,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,IAAI,CACZ,WAAW,CAAE,IAAI,CACjB,eAAe,CAAE,+BAA+B,CAChD,eAAe,CAAE,IAAI,CAErB,kCAAqB,CACjB,KAAK,CAAE,GAAG,CAGd,wCAA2B,CACvB,UAAU,CAAE,aAAa,CAG7B,wCAA2B,CACvB,UAAU,CAAE,iBAAiB,CAIrC,eAAgB,CACZ,IAAI,CAAE,CAAC,CACP,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,MAAM,CACjB,UAAU,CAAE,UAAU,CACtB,UAAU,CAAE,iBAAiB,CAE7B,oBAAK,CACD,SAAS,CAAE,CAAC,CAGhB,qBAAM,CACF,OAAO,CAAE,IAAI,CAGT,wCAAQ,CACJ,UAAU,CAAE,YAAY,CACxB,SAAS,CAAE,cAAc,CAG7B,2FAA6B,CACzB,OAAO,CAAE,OAAO,CAMxB,gCAAQ,CACJ,UAAU,CAAE,YAAY,CACxB,SAAS,CAAE,aAAa,CAG5B,0CAAoB,CAChB,OAAO,CAAE,IAAI,CAIrB,qBAAM,CACF,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,OAAO,CAAE,uBAAuB,CAChC,MAAM,CAAE,OAAO,CAGnB,kBAAK,CACD,OAAO,CAAE,KAAK,CAEd,oBAAE,CACE,OAAO,CAAE,KAAK,CACd,OAAO,CAAE,yBAAyB,CAClC,WAAW,CAAE,qBAAqB,CAElC,qDAAiB,CACb,UAAU,CAAE,uBAAuB,CACnC,WAAW,CAAE,8BAA8B,CAK/C,uCAAoB,CAChB,UAAU,CAAE,iBAAiB,CAI7B,0FAA2B,CACvB,UAAU,CAAE,uBAAuB,CAM/C,iCAAe,CACX,aAAa,CAAE,iBAAiB,CAGpC,iCAAe,CACX,UAAU,CAAE,iBAAiB,CAKjC,6CAAe,CACX,UAAU,CAAE,IAAI,CAIxB,iBAAE,CACE,SAAS,CAAE,CAAC,CAEZ,sBAAO,CACH,WAAW,CAAE,GAAG,CAK5B,QAAS,CACL,IAAI,CAAE,CAAC,CACP,OAAO,CAAE,aAAa,CACtB,UAAU,CAAE,IAAI,CAGpB,MAAO,CACH,SAAS,CAAE,KAAK,CAChB,WAAW,CAAE,GAAG,CAEhB,QAAE,CACE,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,IAAI,CAEjB,6BAAiB,CACb,KAAK,CAAE,aAAa,CAI5B,QAAE,CACE,YAAY,CAAE,IAAI,CAClB,SAAS,CAAE,MAAM,CACjB,WAAW,CAAE,GAAG,CAGpB,SAAG,CACC,OAAO,CAAE,MAAM,CAIvB,MAAO,CACH,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,OAAO,CAAE,aAAa,CACtB,MAAM,CAAE,IAAI,CACZ,aAAa,CAAE,iBAAiB,CAChC,UAAU,CAAE,UAAU,CACtB,WAAW,CAAE,CAAC,CAEd,UAAI,CACA,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,cAAc,CAG1B,QAAE,CACE,OAAO,CAAE,YAAY,CAI7B,iBAAkB,CACd,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,cAAc,CAG1B,YAAa,CACT,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,aAAa,CACzB,KAAK,CAAE,oBAAoB,CAC3B,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,IAAI,CAEZ,8BAAoB,CAChB,MAAM,CAAE,CAAC,CAGb,qCAAiB,CACb,UAAU,CAAE,mBAAmB,CAGnC,kBAAM,CACF,KAAK,CAAE,oBAAoB,CAG/B,6BAAiB,CACb,OAAO,CAAE,aAAa,CAG1B,gCAAoB,CAChB,UAAU,CAAE,aAAa,CACzB,MAAM,CAAE,CAAC,CACT,WAAW,CAAE,MAAM,CAGf,yFAAiB,CACb,UAAU,CAAE,mBAAmB,CAM/C,wCAAyC,CACrC,gBAAiB,CACb,OAAO,CAAE,IAAI,CAGjB,wBAA2B,CACvB,KAAK,CAAE,eAAe,CAG1B,2BAA4B,CACxB,OAAO,CAAE,eAAe,CAG5B,WAAe,CACX,SAAS,CAAE,MAAM,CACjB,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,IAAI,CAEb,gBAAK,CACD,KAAK,CAAE,IAAI,CAInB,gBAAiB,CACb,KAAK,CAAE,EAAE,CACT,aAAa,CAAE,KAAK,EAI5B,wCAAyC,CACrC,YAAa,CACT,OAAO,CAAE,IAAI,CAGjB,8BAAiC,CAC7B,KAAK,CAAE,EAAE,CAGb,wBAA2B,CACvB,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,KAAK,EAIxB,UAKC,CAJG,WAAW,CAAE,2BAA2B,CACxC,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,GAAG,CAAE,6DAA6D,CAGtE,UAKC,CAJG,WAAW,CAAE,2BAA2B,CACxC,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,GAAG,CAAE,6DAA6D,CAGtE,OAAQ,CACJ,WAAW,CAAE,2BAA2B,CACxC,WAAW,CAAE,MAAM,CACnB,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,CAAC,CACd,cAAc,CAAE,MAAM,CACtB,cAAc,CAAE,IAAI,CACpB,OAAO,CAAE,YAAY,CACrB,WAAW,CAAE,MAAM,CACnB,SAAS,CAAE,MAAM,CACjB,SAAS,CAAE,MAAM,CACjB,WAAW,CAAE,GAAG",
"sources": ["../../../../../../cssOMS/vars.scss","backend-small.scss"],
"names": [],
"file": "backend-small.css"
diff --git a/Install/Application/Backend/Themes/Default/css/backend-small.scss b/Install/Application/Backend/Themes/Default/css/backend-small.scss
index 074e00f0..0f0d207e 100755
--- a/Install/Application/Backend/Themes/Default/css/backend-small.scss
+++ b/Install/Application/Backend/Themes/Default/css/backend-small.scss
@@ -59,7 +59,7 @@ main {
input[type=text] {
width: 100%;
- background: rgba(255, 255, 255, 1);
+ background: var(--ipt-bg);
border: 1px solid var(--iborder);
text-shadow: none;
box-shadow: none;
diff --git a/Install/Application/Backend/Themes/table-title.tpl.php b/Install/Application/Backend/Themes/table-title.tpl.php
index 2964ca70..6c33afcf 100755
--- a/Install/Application/Backend/Themes/table-title.tpl.php
+++ b/Install/Application/Backend/Themes/table-title.tpl.php
@@ -26,7 +26,7 @@
chevron_right
-
-
+
diff --git a/Install/Application/Backend/Themes/login/terms.tpl.php b/Install/Application/Backend/Themes/login/terms.tpl.php
deleted file mode 100755
index 6856d9c9..00000000
--- a/Install/Application/Backend/Themes/login/terms.tpl.php
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
-
-
- Terms of Service
-
- Definitions
- For the purposes of these TERMS:
-
-
- AFFILIATED means an entity that controls, is controlled by or is under common control with a party, where "control" means ownership of 50% or more of the shares, equity interest or other securities entitled to vote for election of directors or other managing authority.
- COUNTRY refers to Germany
- COMPANY (referred to as either "the Company", "We", "Us" or "Our" in this AGREEMENT) refers to Jingga, Kirchstr. 33, 61191 Rosbach.
- DEVICE means any device that can access the Service such as a computer, a cellphone or a digital tablet.
- SERVICE refers to the Website
- TERMS or AGREEMENT mean these terms that form the entire agreement between You and the COMPANY regarding the use of the SERVICE.
- Third-party Social Media Service means any services or content (including data, information, products or services) provided by a third-party that may be displayed, included or made available by the SERVICE.
- WEBSITE refers to karaka.app (.net, .app, .service, .support, .email, .de, .solutions)
- APPLICATION refers to all downloadable or installable content which can therfore be used on an a given DEVICE.
- You means the individual accessing or using the SERVICES, or the company, or other legal entity on behalf of which such individual is accessing or using the Service, as applicable.
-
-
- Acknowledgement
- These are the TERMS governing the use of this SERVICE and the agreement that operates between You and the COMPANY. These TERMS set out the rights and obligations of all users regarding the use of the SERVICE.
- Your access to and use of the SERVICE is conditioned on Your acceptance of and compliance with these TERMS. These TERMS apply to all visitors, users and others who access or use the SERVICE.
- By accessing or using the SERVICE You agree to be bound by these TERMS. If You disagree with any part of these TERMS then You may not access the SERVICE.
-
You represent that you are at least over the age of 18 and be over the Age of Majority. The COMPANY does not permit those under 18 or the Age of Majurity to use the SERVICE.
- Your access to and use of the SERVICE is also conditioned on Your acceptance of and compliance with the Privacy Policy of the COMPANY. Our Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your personal information when You use the Application or the WEBSITE and tells You about Your privacy rights and how the law protects You. Please read Our Privacy Policy carefully before using Our SERVICE.
-
- Copyright
- Unless otherwise noted, all materials including without limitation, logos, brand names, images, designs, photographs, videos, audio, source code and written and other materials that appear as part of our WEBSITE are copyrights, trademarks, service marks, trade dress and/or other intellectual property whether registered or unregistered ("Intellectual Property") owned, controlled or licensed by Jingga. Our WEBSITE as a whole is protected by copyright and trade dress. Nothing on our WEBSITE should be construed as granting, by implication, estoppel or otherwise, any license or right to use any Intellectual Property displayed or used on our WEBSITE, without the prior written permission of the Intellectual Property owner. Jingga aggressively enforces its intellectual property rights to the fullest extent of the law. The names and logos of Jingga, may not be used in any way, including in advertising or publicity pertaining to distribution of materials on our WEBSITE, without prior, written permission from Jingga. Jingga prohibits use of any logo of Jingga or any of its affiliates as part of a link to or from any WEBSITE unless Jingga approves such link in advance and in writing. Fair use of Jingga Intellectual Property requires proper acknowledgment. Other product and company names mentioned in our Website may be the Intellectual Property of their respective owners.
-
- Links
- Our SERVICE may contain links to third-party web sites or services that are not owned or controlled by the COMPANY.
- The COMPANY has no control over, and assumes no responsibility for, the contentthird-party web sites or services that You visit.
-
- Termination
- We may terminate or suspend Your access immediately, without prior notice or liability, for any reason whatsoever, including without limitation if You breach these TERMS.
- Upon termination, Your right to use the SERVICE will cease immediately.
-
- Limitation of Liability
- Notwithstanding any damages that You might incur, the entire liability of the COMPANY and any of its suppliers under any provision of this TERMS and Your exclusive remedy for all of the foregoing shall be limited to the amount actually paid by through the SERVICE.
- To the maximum extent permitted by applicable law, in no event shall the COMPANY or its suppliers be liable for any special, incidental, indirect, or consequential damages whatsoever (including, but not limited to, damages for loss of profits, loss of data or other information, for business interruption, for personal injury, loss of privacy arising out of or in any way related to the use of or inability to use the SERVICE, third-party software and/or third-party hardware used with the SERVICE, or otherwise in connection with any provision of this TERMS), even if the COMPANY or any supplier has been advised of the possibility of such damages and even if the remedy fails of its essential purpose.
- Some states or countries do not allow the exclusion of implied warranties or limitation of liability for incidental or consequential damages, which means that some of the above limitations may not apply. In these states or countries, each party's liability will be limited to the greatest extent permitted by law.
-
- Disclaimer
- The SERVICE is provided to You "AS IS" and "AS AVAILABLE" and with all faults and defects without warranty of any kind. To the maximum extent permitted under applicable law, the COMPANY, on its own behalf and on behalf of its AFFILIATES and its and their respective licensors and service providers, expressly disclaims all warranties, whether express, implied, statutory or otherwise, with respect to the SERVICE, including all implied warranties of merchantability, fitness for a particular purpose, title and non-infringement, and warranties that may arise out of course of dealing, course of performance, usage or trade practice. Without limitation to the foregoing, the COMPANY provides no warranty or undertaking, and makes no representation of any kind that the SERVICE will meet Your requirements, achieve any intended results, be compatible or work with any other software, applications, systems or services, operate without interruption, meet any performance or reliability standards or be error free or that any errors or defects can or will be corrected.
- Without limiting the foregoing, neither the COMPANY nor any of the company's provider makes any representation or warranty of any kind, express or implied: (i) as to the operation or availability of the SERVICE, or the information, content, and materials or products included thereon; (ii) that the SERVICE will be uninterrupted or error-free; (iii) as to the accuracy, reliability, or currency of any information or content provided through the SERVICE; or (iv) that the SERVICE, its servers, the content, or e-mails sent from or on behalf of the COMPANY are free of viruses, scripts, trojan horses, worms, malware, timebombs or other harmful components.
- Some jurisdictions do not allow the exclusion of certain types of warranties or limitations on applicable statutory rights of a consumer, so some or all of the above exclusions and limitations may not apply to You. But in such a case the exclusions and limitations set forth in this section shall be applied to the greatest extent enforceable under applicable law.
-
- Governing Law
- The laws of the COUNTRY, excluding its conflicts of law rules, shall govern these TERMS and Your use of the SERVICE. Your use of the APPLICATION may also be subject to other local, state, national, or international laws.
- The ineffectiveness of one or more provisions of this agreement does not affect the validity of the others. Each party to these TERMS can in this case demand that a new valid provision be agreed which best achieves the economic purpose of the ineffective provision.
-
- Dispute Resolution
- If You have any concern or dispute about the Service, You agree to first try to resolve the dispute informally by contacting the COMPANY.
-
- United States Legal Compliance
- You represent and warrant that (i) You are not located in a country that is subject to the United States government embargo, or that has been designated by the United States government as a "terrorist supporting" country, and (ii) You are not listed on any United States government list of prohibited or restricted parties.
-
- Changes to these Terms
- We reserve the right, at Our sole discretion, to modify or replace these TERMS at any time. If a revision is material We will make reasonable efforts to provide at least 30 days' notice prior to any new terms taking effect. What constitutes a material change will be determined at Our sole discretion.
- By continuing to access or use Our SERVICE after those revisions become effective, You agree to be bound by the revised terms. If You do not agree to the new terms, in whole or in part, please stop using the WEBSITE and the SERVICE.
-
- Contact
- For questions regarding these TERMS, privacy policies, or practices of any third party websites or services please feel free to contact us at info@jingga.app. You further acknowledge and agree that the COMPANY shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with the use of or reliance on any such content, goods or services available on or through any such websites or services.
- We strongly advise You to read the terms and conditions and privacy policies of any third-party web sites or services that You visit.
-
- Termination
- We may terminate or suspend Your access immediately, without prior notice or liability, for any reason whatsoever, including without limitation if You breach these TERMS.
- Upon termination, Your right to use the SERVICE will cease immediately.
-
- Limitation of Liability
- Notwithstanding any damages that You might incur, the entire liability of the COMPANY and any of its suppliers under any provision of this TERMS and Your exclusive remedy for all of the foregoing shall be limited to the amount actually paid by through the SERVICE.
- To the maximum extent permitted by applicable law, in no event shall the COMPANY or its suppliers be liable for any special, incidental, indirect, or consequential damages whatsoever (including, but not limited to, damages for loss of profits, loss of data or other information, for business interruption, for personal injury, loss of privacy arising out of or in any way related to the use of or inability to use the SERVICE, third-party software and/or third-party hardware used with the SERVICE, or otherwise in connection with any provision of this TERMS), even if the COMPANY or any supplier has been advised of the possibility of such damages and even if the remedy fails of its essential purpose.
- Some states or countries do not allow the exclusion of implied warranties or limitation of liability for incidental or consequential damages, which means that some of the above limitations may not apply. In these states or countries, each party's liability will be limited to the greatest extent permitted by law.
-
- Disclaimer
- The SERVICE is provided to You "AS IS" and "AS AVAILABLE" and with all faults and defects without warranty of any kind. To the maximum extent permitted under applicable law, the COMPANY, on its own behalf and on behalf of its AFFILIATES and its and their respective licensors and service providers, expressly disclaims all warranties, whether express, implied, statutory or otherwise, with respect to the SERVICE, including all implied warranties of merchantability, fitness for a particular purpose, title and non-infringement, and warranties that may arise out of course of dealing, course of performance, usage or trade practice. Without limitation to the foregoing, the COMPANY provides no warranty or undertaking, and makes no representation of any kind that the SERVICE will meet Your requirements, achieve any intended results, be compatible or work with any other software, applications, systems or services, operate without interruption, meet any performance or reliability standards or be error free or that any errors or defects can or will be corrected.
- Without limiting the foregoing, neither the COMPANY nor any of the company's provider makes any representation or warranty of any kind, express or implied: (i) as to the operation or availability of the SERVICE, or the information, content, and materials or products included thereon; (ii) that the SERVICE will be uninterrupted or error-free; (iii) as to the accuracy, reliability, or currency of any information or content provided through the SERVICE; or (iv) that the SERVICE, its servers, the content, or e-mails sent from or on behalf of the COMPANY are free of viruses, scripts, trojan horses, worms, malware, timebombs or other harmful components.
- Some jurisdictions do not allow the exclusion of certain types of warranties or limitations on applicable statutory rights of a consumer, so some or all of the above exclusions and limitations may not apply to You. But in such a case the exclusions and limitations set forth in this section shall be applied to the greatest extent enforceable under applicable law.
-
- Governing Law
- The laws of the COUNTRY, excluding its conflicts of law rules, shall govern these TERMS and Your use of the SERVICE. Your use of the APPLICATION may also be subject to other local, state, national, or international laws.
- The ineffectiveness of one or more provisions of this agreement does not affect the validity of the others. Each party to these TERMS can in this case demand that a new valid provision be agreed which best achieves the economic purpose of the ineffective provision.
-
- Dispute Resolution
- If You have any concern or dispute about the Service, You agree to first try to resolve the dispute informally by contacting the COMPANY.
-
- United States Legal Compliance
- You represent and warrant that (i) You are not located in a country that is subject to the United States government embargo, or that has been designated by the United States government as a "terrorist supporting" country, and (ii) You are not listed on any United States government list of prohibited or restricted parties.
-
- Changes to these Terms
- We reserve the right, at Our sole discretion, to modify or replace these TERMS at any time. If a revision is material We will make reasonable efforts to provide at least 30 days' notice prior to any new terms taking effect. What constitutes a material change will be determined at Our sole discretion.
- By continuing to access or use Our SERVICE after those revisions become effective, You agree to be bound by the revised terms. If You do not agree to the new terms, in whole or in part, please stop using the WEBSITE and the SERVICE.
-
- Contact
- For questions regarding these TERMS please feel free to contact us at info@jingga.app
-
-
-
diff --git a/Install/Application/Backend/lang/Navigation.en.lang.php b/Install/Application/Backend/lang/Navigation.en.lang.php
index fc3bcb7b..f769f195 100755
--- a/Install/Application/Backend/lang/Navigation.en.lang.php
+++ b/Install/Application/Backend/lang/Navigation.en.lang.php
@@ -15,6 +15,6 @@
return ['Navigation' => [
'Imprint' => 'Imprint',
'Legal' => 'Legal',
- 'PrivacyPolicy' => 'PrivacyPolicy',
+ 'PrivacyPolicy' => 'Privacy Policy',
'Terms' => 'Terms',
]];
diff --git a/Install/WebApplication.php b/Install/WebApplication.php
index 365df46b..ac5b9edc 100755
--- a/Install/WebApplication.php
+++ b/Install/WebApplication.php
@@ -197,6 +197,17 @@ public static function installView(HttpRequest $request, HttpResponse $response)
{
$view = new View(null, $request, $response);
$view->setTemplate('/Install/index');
+
+ $view->data['nonce'] = \bin2hex(\random_bytes(32));
+ $request->data['nonce'] = $view->data['nonce'];
+
+ $response->header->set('content-security-policy',
+ 'base-uri \'self\';'
+ . 'object-src \'none\';'
+ . 'script-src \'nonce-' . $request->getDataString('nonce') . '\' \'strict-dynamic\';'
+ . 'worker-src \'self\';'
+ );
+
$response->set('Content', $view);
}
@@ -215,6 +226,12 @@ public static function installView(HttpRequest $request, HttpResponse $response)
public static function installRequest(HttpRequest $request, HttpResponse $response) : void
{
$response->header->set('Content-Type', MimeType::M_JSON . '; charset=utf-8', true);
+ $response->header->set('content-security-policy',
+ 'base-uri \'self\';'
+ . 'object-src \'none\';'
+ . 'script-src \'nonce-' . $request->getDataString('nonce') . '\' \'strict-dynamic\';'
+ . 'worker-src \'self\';'
+ );
if (!empty(self::validateRequest($request))) {
$response->header->status = RequestStatusCode::R_400;
diff --git a/Install/img/favicon.ico b/Install/img/favicon.ico
new file mode 100755
index 0000000000000000000000000000000000000000..022cadc7a1fde0f77228eff9457d0e176c8e92dd
GIT binary patch
literal 1150
zcmaJ=YfMvT7=F)bL8?GIMySYyu22NiVQ@Ey*`}i4m@(|f;@qE+MKZ&FxB@!pHB!y^)X;FPIoK+Y?=68e3wb9Eur7PzCe
z_*^lkXYXhlXFu85G#PEQ`6;br=($wIFQC0HnLZkYF3%}dy?tTTo71y~&9)`PHU*%y
zJVvy64)NxhK>F#4vCKM8R#w9}8O(pLYn1&Aa^8dZ*>&{f+9jwv)}ZQIgQ9f>B16#_
zfLP;$qHGH4lha78oA@)sJpRrrH6HQ6FzCY((7|E6R_KQjXlo`PZK<8eeSef|UqfWxAbvDBn0JBE#jr9OS)-YK)Uk$%J=6yv)IWh(
zK8=@7{3|7#c+mQ)1C-)`%ILsP>CE5Y1fnhhs%}8AG1}NuGxuR;4-JbDEj(AuKq#NW
z#^VoeCEJ;A$D2GqdYSo&+=G$%>2}uY17gm~P&RS~^-sBnW$r%!s`7!#XCRi||0BI0
zw7nmOBp2=~m>&;{5VQ5osL6
z^~3=nlIzk%fc22i{DgMav~Z3mIfF32itAS_fR4{S6-y_M?HdCzB3NT+&j_Gr4PqZr
zoP(~Pxy%<@fao>}8~H4iXSjz-Ka>^ov&yfgvyc41=f@g_S8?dT80Oz#jfl(agZXjn
zA(p+UI7dwf5O0;BZC!@S^duN(^7Y16KUDAQ%2gH&+@>QpAQs=m{+w&@Y;!-Wtz!Nr
z&M>}9Mnsd0q)rLC_GN5sUbJj(n2XXjEKpHjVd+tK@xi*AChgE|65ks}$
-
-
+
+
@@ -31,9 +33,9 @@
and caching technologies. Many modules/extensions provide functionality for businesses,
education facilities, healthcare facilities and organizations in general.
-
In the following pages you'll be guided through the installation process for the WebApp.
+
On the following pages you'll be guided through the installation process for the WebApp.
Most of the customization can be done after installation such as configuring localization,
- installing additional modules, creating organization etc.
+ installing additional modules, creating organizations etc.
In case you don't want to use this web installation tool you can also use the console
installation tool. Just navigate in your shell to the install directory and then into
@@ -41,7 +43,7 @@
In case you encounter any problems during the installation process please feel free to
ask for help on our website or contact our support email at
- test.email@karaka.de
+ info@jingga.app
Next
@@ -54,18 +56,10 @@
Upon clicking Agree you agree with the following license agreement.
-
- The OMS License 2.0
-
- Copyright (c) All Rights Reserved
+ In addition, our terms (https://jingga.app/terms ) apply.
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
+
+ = Markdown::parse(\file_get_contents(__DIR__ . '/../LICENSE.txt')); ?>
Previous Agree
@@ -87,7 +81,7 @@
All non critical elements can be fixed after installation if you find yourself in need of one of the
features. All critical elements must be fixed before you can continue with the installation.
- For help please check our Installation Guide .
+ For help please check our Installation Guide .
Tip: Many PHP extension just need to be activated in your php.ini file located
- at = \php_ini_loaded_file(); ?>. Reload the installation in your browser after making any adjustments.
+ at = \php_ini_loaded_file(); ?>
or in the ini
files located in the conf.d
directory. Reload your webserver and then the installation in your browser after making any adjustments.
Previous >Next
@@ -320,6 +314,7 @@
Default Language
English
+ German
Previous Install
@@ -338,11 +333,12 @@
-
diff --git a/Modules/Accounting b/Modules/Accounting
index 55329810..4530d6eb 160000
--- a/Modules/Accounting
+++ b/Modules/Accounting
@@ -1 +1 @@
-Subproject commit 553298107194d0155cb9f3a4e5cc60f8ee5341a6
+Subproject commit 4530d6eb975df4a34b37900852f678e70115524b
diff --git a/Modules/Admin b/Modules/Admin
index 5475276b..d428a29d 160000
--- a/Modules/Admin
+++ b/Modules/Admin
@@ -1 +1 @@
-Subproject commit 5475276b6e7bcd613eca8dcdd08ed305e2828690
+Subproject commit d428a29d5354feebe602bd5c34b71e965caa3d63
diff --git a/Modules/AssetManagement b/Modules/AssetManagement
index 572819d2..22192701 160000
--- a/Modules/AssetManagement
+++ b/Modules/AssetManagement
@@ -1 +1 @@
-Subproject commit 572819d2f711d18bc9d871fdad409c0b284139be
+Subproject commit 2219270147c2efb9746c61a2c123cc03324a18f3
diff --git a/Modules/Attribute b/Modules/Attribute
index b4928202..6b9ec50d 160000
--- a/Modules/Attribute
+++ b/Modules/Attribute
@@ -1 +1 @@
-Subproject commit b4928202274ca3aaf0dfecb5a66b3e6acb3e5a5a
+Subproject commit 6b9ec50d0ff0fe875703bdc8511a6fac36f0ea52
diff --git a/Modules/Auditor b/Modules/Auditor
index 7dd87d83..44ac2d18 160000
--- a/Modules/Auditor
+++ b/Modules/Auditor
@@ -1 +1 @@
-Subproject commit 7dd87d837d90f084122f911c0debd470845a9c6e
+Subproject commit 44ac2d183a53e91d5ff439fe0d5d5b73d4e5811c
diff --git a/Modules/Balance b/Modules/Balance
index 5a34f729..8d75f7e2 160000
--- a/Modules/Balance
+++ b/Modules/Balance
@@ -1 +1 @@
-Subproject commit 5a34f72907f7360847773b226069c3461577182d
+Subproject commit 8d75f7e25c51aaf3c3dce8c3e059d0fde5ce6bc4
diff --git a/Modules/BankAccounting b/Modules/BankAccounting
index a94d75a3..16c53ffe 160000
--- a/Modules/BankAccounting
+++ b/Modules/BankAccounting
@@ -1 +1 @@
-Subproject commit a94d75a355b05cc2bccd6016afa7630aea8cf866
+Subproject commit 16c53ffe94237351b9bced3ace27b03672267f8f
diff --git a/Modules/Billing b/Modules/Billing
index feb477af..deff2a00 160000
--- a/Modules/Billing
+++ b/Modules/Billing
@@ -1 +1 @@
-Subproject commit feb477afe7885618eef14c7ea517388788ada95d
+Subproject commit deff2a005ac0dd977e64c3e0ea3b77d38ebb313a
diff --git a/Modules/BudgetManagement b/Modules/BudgetManagement
index 1a4cc66a..a6da349e 160000
--- a/Modules/BudgetManagement
+++ b/Modules/BudgetManagement
@@ -1 +1 @@
-Subproject commit 1a4cc66a9a985aac072219a8da70a1713b644469
+Subproject commit a6da349e296e9c440a55a85a43457aec46b1c213
diff --git a/Modules/BusinessExpenses b/Modules/BusinessExpenses
index 2b03f531..d206eeb0 160000
--- a/Modules/BusinessExpenses
+++ b/Modules/BusinessExpenses
@@ -1 +1 @@
-Subproject commit 2b03f531c36804e55a657f00c124fc7bf8b2e8d4
+Subproject commit d206eeb099d839a86be594ff6a19a62e2118fedc
diff --git a/Modules/CMS b/Modules/CMS
index a89d1d0e..5ef28f5e 160000
--- a/Modules/CMS
+++ b/Modules/CMS
@@ -1 +1 @@
-Subproject commit a89d1d0e5b59ad94a912b325a7e5176f689fa8fa
+Subproject commit 5ef28f5eced4a2e976efa31db4f63c33406c4164
diff --git a/Modules/Calendar b/Modules/Calendar
index c19de8c5..737eb45c 160000
--- a/Modules/Calendar
+++ b/Modules/Calendar
@@ -1 +1 @@
-Subproject commit c19de8c5a11376258fa1bc906bac4d48c19466ed
+Subproject commit 737eb45c9db0dd845ba3b9160f0e4fefafe2c7cc
diff --git a/Modules/CashManagement b/Modules/CashManagement
index 6e499ade..64121daf 160000
--- a/Modules/CashManagement
+++ b/Modules/CashManagement
@@ -1 +1 @@
-Subproject commit 6e499ade67d8e162f534f1e01edda51abcff177c
+Subproject commit 64121dafcc99565f9f6f007be9f17400a9cda1fc
diff --git a/Modules/Checklist b/Modules/Checklist
index a330b3e6..5c3e73b8 160000
--- a/Modules/Checklist
+++ b/Modules/Checklist
@@ -1 +1 @@
-Subproject commit a330b3e6d84093705c5433461fffae752e6f73b8
+Subproject commit 5c3e73b82509c961e9b1950a0c6afc0dd077c0af
diff --git a/Modules/ClientManagement b/Modules/ClientManagement
index f46cc09c..12cece6a 160000
--- a/Modules/ClientManagement
+++ b/Modules/ClientManagement
@@ -1 +1 @@
-Subproject commit f46cc09c06abbcd3c1ed11d92df91914d9607535
+Subproject commit 12cece6af54d0f294e13110478c7df9bf869907d
diff --git a/Modules/Comments b/Modules/Comments
index ed81432b..b6ee30b5 160000
--- a/Modules/Comments
+++ b/Modules/Comments
@@ -1 +1 @@
-Subproject commit ed81432be29e74e22303a32c41a135fb123bcf34
+Subproject commit b6ee30b50c0ceda7e70846136d03279cdde95499
diff --git a/Modules/Contact b/Modules/Contact
index 9093907b..7a76fc27 160000
--- a/Modules/Contact
+++ b/Modules/Contact
@@ -1 +1 @@
-Subproject commit 9093907bca81990136d983e5343d4c72aa3c4e2d
+Subproject commit 7a76fc2722a56ab812c3c54e948235d9eb35d185
diff --git a/Modules/ContractManagement b/Modules/ContractManagement
index c448b516..866204ff 160000
--- a/Modules/ContractManagement
+++ b/Modules/ContractManagement
@@ -1 +1 @@
-Subproject commit c448b5160a4f196b7640eb22ec64c3cf8027ded4
+Subproject commit 866204ffcae9deb3abb38b236f3b370428025279
diff --git a/Modules/Controlling b/Modules/Controlling
index 5d36d90c..a51dca14 160000
--- a/Modules/Controlling
+++ b/Modules/Controlling
@@ -1 +1 @@
-Subproject commit 5d36d90c081589aba440973e2012be7d67b7d320
+Subproject commit a51dca1432be0a1aba83b84afa767360c9087e9a
diff --git a/Modules/Dashboard b/Modules/Dashboard
index 8f168af4..a89e0378 160000
--- a/Modules/Dashboard
+++ b/Modules/Dashboard
@@ -1 +1 @@
-Subproject commit 8f168af48e209bbcfbd60cc2c427028bd71debe6
+Subproject commit a89e037832f28d2528565d4cf492ca5082d04067
diff --git a/Modules/Database b/Modules/Database
index f96bb1ce..03d694be 160000
--- a/Modules/Database
+++ b/Modules/Database
@@ -1 +1 @@
-Subproject commit f96bb1cec7fcfc683ea6c3926893bbfb2b23166c
+Subproject commit 03d694be1adbb53bc943a25504e639fdfd6667e4
diff --git a/Modules/DatabaseEditor b/Modules/DatabaseEditor
index 8df28d76..fbfc1e18 160000
--- a/Modules/DatabaseEditor
+++ b/Modules/DatabaseEditor
@@ -1 +1 @@
-Subproject commit 8df28d76a4752a89f93396a8a10df250b2bd8d85
+Subproject commit fbfc1e1816a24880bf9b69560c74b4e8e3278507
diff --git a/Modules/Draw b/Modules/Draw
index 5c8a89bb..1c864143 160000
--- a/Modules/Draw
+++ b/Modules/Draw
@@ -1 +1 @@
-Subproject commit 5c8a89bb1ceec12d9ea32c546e9ade7ac549e02c
+Subproject commit 1c8641439b35ba049b45af43150f2da858b8d4e4
diff --git a/Modules/Editor b/Modules/Editor
index b030d7fd..e5bf0b2f 160000
--- a/Modules/Editor
+++ b/Modules/Editor
@@ -1 +1 @@
-Subproject commit b030d7fd551de6ef3ca38c3dc665749c80e40fe3
+Subproject commit e5bf0b2f1ff36e300acacf3bb8ca2483ccae1584
diff --git a/Modules/EquipmentManagement b/Modules/EquipmentManagement
index 8462a703..318cbed5 160000
--- a/Modules/EquipmentManagement
+++ b/Modules/EquipmentManagement
@@ -1 +1 @@
-Subproject commit 8462a703d621ad713984cda542ae318ce9073b03
+Subproject commit 318cbed5aa70d2e2bf5a87fe794c9314142d7272
diff --git a/Modules/EventManagement b/Modules/EventManagement
index b5cdb73e..5bc482df 160000
--- a/Modules/EventManagement
+++ b/Modules/EventManagement
@@ -1 +1 @@
-Subproject commit b5cdb73eac5866e8af18435518d0a785666b0b5c
+Subproject commit 5bc482df49aa4db1dc4415a32ceeb203c344045b
diff --git a/Modules/Exchange b/Modules/Exchange
index da9101c7..0bf410aa 160000
--- a/Modules/Exchange
+++ b/Modules/Exchange
@@ -1 +1 @@
-Subproject commit da9101c76ccf079d8f82afae8ea5b2311022181f
+Subproject commit 0bf410aacd9be69ca753e10f04822b769e075e9c
diff --git a/Modules/Finance b/Modules/Finance
index 4cdf08dc..975af6f3 160000
--- a/Modules/Finance
+++ b/Modules/Finance
@@ -1 +1 @@
-Subproject commit 4cdf08dcb489bf10772e5629939fdf46654ab4e0
+Subproject commit 975af6f3bef29f644c911219f5c364bf7e438054
diff --git a/Modules/FleetManagement b/Modules/FleetManagement
index 694de69e..0e131f9f 160000
--- a/Modules/FleetManagement
+++ b/Modules/FleetManagement
@@ -1 +1 @@
-Subproject commit 694de69e52033431919c56cd47a49fe067d6bede
+Subproject commit 0e131f9f27866b930a14b1256f8f8ce63a1b0722
diff --git a/Modules/Help b/Modules/Help
index f820d006..59e7126b 160000
--- a/Modules/Help
+++ b/Modules/Help
@@ -1 +1 @@
-Subproject commit f820d00692270317065b4309b87c8dcc7747ca98
+Subproject commit 59e7126b8d6fa737c295f5770044bbe4a965affd
diff --git a/Modules/Helper b/Modules/Helper
index 49c59c49..2a5330ae 160000
--- a/Modules/Helper
+++ b/Modules/Helper
@@ -1 +1 @@
-Subproject commit 49c59c492ac1a387ab6dc9b3b75dd5f5c17bedfd
+Subproject commit 2a5330ae1b7fc7727e867febd68a762fd6f820f0
diff --git a/Modules/Home b/Modules/Home
index 47001112..e2c447b6 160000
--- a/Modules/Home
+++ b/Modules/Home
@@ -1 +1 @@
-Subproject commit 470011122273b6c43e4bfa9ac89aabe21e6434a2
+Subproject commit e2c447b6e1167f02061cfb778a65775a0fe02254
diff --git a/Modules/HumanResourceManagement b/Modules/HumanResourceManagement
index c6d80cf3..6199eb76 160000
--- a/Modules/HumanResourceManagement
+++ b/Modules/HumanResourceManagement
@@ -1 +1 @@
-Subproject commit c6d80cf3097983e5d6c973b06a485b0ca6742f4b
+Subproject commit 6199eb763500d1b908def94e2198a71be07cbd9b
diff --git a/Modules/HumanResourceTimeRecording b/Modules/HumanResourceTimeRecording
index e7698414..c04df74e 160000
--- a/Modules/HumanResourceTimeRecording
+++ b/Modules/HumanResourceTimeRecording
@@ -1 +1 @@
-Subproject commit e76984148bffd2262bafc6b4e24c7801db0ddec5
+Subproject commit c04df74e702055a86c53736c7123401c09cb4233
diff --git a/Modules/IncomeStatement b/Modules/IncomeStatement
index 9edd85fa..afcb1c59 160000
--- a/Modules/IncomeStatement
+++ b/Modules/IncomeStatement
@@ -1 +1 @@
-Subproject commit 9edd85fa745f37d0e7e91cefe2a95916140d3e0f
+Subproject commit afcb1c5945bed22ea9e5d103b0a88895f39b9deb
diff --git a/Modules/InvestmentManagement b/Modules/InvestmentManagement
index d32a04fe..4ff85fb2 160000
--- a/Modules/InvestmentManagement
+++ b/Modules/InvestmentManagement
@@ -1 +1 @@
-Subproject commit d32a04feadb0268dae80363c5b6338a930cb6179
+Subproject commit 4ff85fb2c4b42c67d12b06198d57f121e3c8a9f8
diff --git a/Modules/ItemManagement b/Modules/ItemManagement
index f29e93b3..d1dd0452 160000
--- a/Modules/ItemManagement
+++ b/Modules/ItemManagement
@@ -1 +1 @@
-Subproject commit f29e93b34952ba31de01c1cc347c46d69aac66a1
+Subproject commit d1dd04526c850a4462b0ab21f67c19d3124df7b3
diff --git a/Modules/Kanban b/Modules/Kanban
index 26117d41..4a63b02b 160000
--- a/Modules/Kanban
+++ b/Modules/Kanban
@@ -1 +1 @@
-Subproject commit 26117d41b9ad658a8795e5d9273e28d99631cf6e
+Subproject commit 4a63b02b5e5ae4fba29f24910ccf4b403f677926
diff --git a/Modules/Knowledgebase b/Modules/Knowledgebase
index 6e6142e2..4bdb2a16 160000
--- a/Modules/Knowledgebase
+++ b/Modules/Knowledgebase
@@ -1 +1 @@
-Subproject commit 6e6142e2573f5700e233609ad6edc17fc58df402
+Subproject commit 4bdb2a16d607bd0319b5cd740846ce2531d81116
diff --git a/Modules/Labeling b/Modules/Labeling
index 6705f4e1..6fcf8fde 160000
--- a/Modules/Labeling
+++ b/Modules/Labeling
@@ -1 +1 @@
-Subproject commit 6705f4e1898e9abdadd15b5f0499ae45fc427f20
+Subproject commit 6fcf8fdeb00ff5183bb2b1fec5dfd775a204efc0
diff --git a/Modules/LoanManagement b/Modules/LoanManagement
index 80ca580e..c0c46a72 160000
--- a/Modules/LoanManagement
+++ b/Modules/LoanManagement
@@ -1 +1 @@
-Subproject commit 80ca580e66218ae7357219004cf2eefb95c7890b
+Subproject commit c0c46a728e6fe704df5a7dfc56cd7b6bec0cf537
diff --git a/Modules/Marketing b/Modules/Marketing
index 2832432e..2a8ddf36 160000
--- a/Modules/Marketing
+++ b/Modules/Marketing
@@ -1 +1 @@
-Subproject commit 2832432e08cee607f25e41f866fb4c934c4fa952
+Subproject commit 2a8ddf36a97117460fa12baea1598ac035c3b249
diff --git a/Modules/Media b/Modules/Media
index ebe4b852..49269de2 160000
--- a/Modules/Media
+++ b/Modules/Media
@@ -1 +1 @@
-Subproject commit ebe4b8529979b363cc225f52d702ca346256076a
+Subproject commit 49269de22f893e6b24af006f69ec180e23744df1
diff --git a/Modules/Messages b/Modules/Messages
index 5eb8d6db..495d0fda 160000
--- a/Modules/Messages
+++ b/Modules/Messages
@@ -1 +1 @@
-Subproject commit 5eb8d6db19cd670c5fc7b2d922c6e02c8384042e
+Subproject commit 495d0fda0e9444d8c0fd8e0009afde79a9a14dc3
diff --git a/Modules/Monitoring b/Modules/Monitoring
index f04ea053..44292862 160000
--- a/Modules/Monitoring
+++ b/Modules/Monitoring
@@ -1 +1 @@
-Subproject commit f04ea053f3fb04a413f4101ea58259b256ab440d
+Subproject commit 44292862196126580a55d201ca385a7b75812d50
diff --git a/Modules/MyPrivate b/Modules/MyPrivate
index 1473f6b6..9279e3d9 160000
--- a/Modules/MyPrivate
+++ b/Modules/MyPrivate
@@ -1 +1 @@
-Subproject commit 1473f6b67d078af731865e79fd32c2ae53224186
+Subproject commit 9279e3d97da75ceb362727a71df59e6972c957a7
diff --git a/Modules/Navigation b/Modules/Navigation
index dfe08a68..5a552b7c 160000
--- a/Modules/Navigation
+++ b/Modules/Navigation
@@ -1 +1 @@
-Subproject commit dfe08a689b4c3992b7e4d4261838e20c36832a26
+Subproject commit 5a552b7c60f89a57e9aca5644b7b7c6cbdff78a7
diff --git a/Modules/News b/Modules/News
index 32b40128..ea1c1f21 160000
--- a/Modules/News
+++ b/Modules/News
@@ -1 +1 @@
-Subproject commit 32b4012862cfee3854f904dcda168779e3aa15a1
+Subproject commit ea1c1f21d1e0a5a25e25cc559cdd613b6c4b7313
diff --git a/Modules/Notification b/Modules/Notification
index 6a360524..b069e578 160000
--- a/Modules/Notification
+++ b/Modules/Notification
@@ -1 +1 @@
-Subproject commit 6a36052410bd283b05a711984b9680cd48f67238
+Subproject commit b069e5783d342defaa99fd120223e4b751192204
diff --git a/Modules/OnlineResourceWatcher b/Modules/OnlineResourceWatcher
index c088718b..b8335cc3 160000
--- a/Modules/OnlineResourceWatcher
+++ b/Modules/OnlineResourceWatcher
@@ -1 +1 @@
-Subproject commit c088718bda3ca2d6087afc66f946704086fe1c84
+Subproject commit b8335cc373a3c381c5641b3bc0c8fdc0191124a7
diff --git a/Modules/Organization b/Modules/Organization
index 92605748..fa426af5 160000
--- a/Modules/Organization
+++ b/Modules/Organization
@@ -1 +1 @@
-Subproject commit 926057486837540309fcc12b79f4385fc7c49d07
+Subproject commit fa426af578be97bd4adf374e8c42c0318a5408dd
diff --git a/Modules/Payment b/Modules/Payment
index 8dae4db1..9da7388e 160000
--- a/Modules/Payment
+++ b/Modules/Payment
@@ -1 +1 @@
-Subproject commit 8dae4db19da71a09c3d18ea65e96952dc2204715
+Subproject commit 9da7388e9b53d3f79500fb7769a1caf6a7012641
diff --git a/Modules/Production b/Modules/Production
index 4a3c3b5f..68aeaddd 160000
--- a/Modules/Production
+++ b/Modules/Production
@@ -1 +1 @@
-Subproject commit 4a3c3b5f954c5da5e5b499b9e19fdd3f936ce497
+Subproject commit 68aeaddd26e820da2789b185d8f0b5662c2b1236
diff --git a/Modules/Profile b/Modules/Profile
index c5e414cf..5bdc7d97 160000
--- a/Modules/Profile
+++ b/Modules/Profile
@@ -1 +1 @@
-Subproject commit c5e414cf0326b15c8cea9c5f32f81b142ec09b57
+Subproject commit 5bdc7d97a81c0600d9ee43f413e3093103a1e7e4
diff --git a/Modules/ProjectManagement b/Modules/ProjectManagement
index 5cacc028..7b60f6f4 160000
--- a/Modules/ProjectManagement
+++ b/Modules/ProjectManagement
@@ -1 +1 @@
-Subproject commit 5cacc0283a8a66aded508fcfa24f45d9b230475b
+Subproject commit 7b60f6f41f931e34ad001b48b8abf81e64d54434
diff --git a/Modules/Purchase b/Modules/Purchase
index 36ccc0dc..52fe2b88 160000
--- a/Modules/Purchase
+++ b/Modules/Purchase
@@ -1 +1 @@
-Subproject commit 36ccc0dc4f1912f4471bc45689b9ed28b2bc6dd2
+Subproject commit 52fe2b88b1e954d05aaf3e46e5d12a687b64588b
diff --git a/Modules/QA b/Modules/QA
index a37adf71..bc3fcf47 160000
--- a/Modules/QA
+++ b/Modules/QA
@@ -1 +1 @@
-Subproject commit a37adf7122e7acd15071ee32f58ee3867b60d936
+Subproject commit bc3fcf470830d518ad12323c2e431fd7aeaf3e61
diff --git a/Modules/QualityAssurance b/Modules/QualityAssurance
index 382a3ee2..e6d6a302 160000
--- a/Modules/QualityAssurance
+++ b/Modules/QualityAssurance
@@ -1 +1 @@
-Subproject commit 382a3ee2c6b5e29e2b518725e424f3553023692a
+Subproject commit e6d6a3022d4b9985bba7f313027e670991d721d0
diff --git a/Modules/QualityControl b/Modules/QualityControl
index 24559aa4..13b7b758 160000
--- a/Modules/QualityControl
+++ b/Modules/QualityControl
@@ -1 +1 @@
-Subproject commit 24559aa4ffe498ec5c4253095f20906008f13d10
+Subproject commit 13b7b75890d06e4ade70f0d6cccf4299c3f255c8
diff --git a/Modules/QualityManagement b/Modules/QualityManagement
index e65b0b9f..7cfe63e7 160000
--- a/Modules/QualityManagement
+++ b/Modules/QualityManagement
@@ -1 +1 @@
-Subproject commit e65b0b9f9deb00449f866950043689b06fca9585
+Subproject commit 7cfe63e7e6a2756fa94f9cd9cded13c37831810c
diff --git a/Modules/ResearchDevelopment b/Modules/ResearchDevelopment
index 95a72e53..0e21140b 160000
--- a/Modules/ResearchDevelopment
+++ b/Modules/ResearchDevelopment
@@ -1 +1 @@
-Subproject commit 95a72e5315dc78632c2bb444155bf1df98955dc8
+Subproject commit 0e21140b4a6f12938a945409287dc713e9f5965a
diff --git a/Modules/RiskManagement b/Modules/RiskManagement
index bd9e0801..76bb34a8 160000
--- a/Modules/RiskManagement
+++ b/Modules/RiskManagement
@@ -1 +1 @@
-Subproject commit bd9e08010c1172391fb2e00cee8696ccfcc8aee2
+Subproject commit 76bb34a843db14a810282ac9813e4bd43f53b3f7
diff --git a/Modules/Sales b/Modules/Sales
index d53722ff..5a6a9f4c 160000
--- a/Modules/Sales
+++ b/Modules/Sales
@@ -1 +1 @@
-Subproject commit d53722ff066c8743d028b22179e4b1c59e477fc2
+Subproject commit 5a6a9f4ccb6722b515bffef608b15008a2bbbf60
diff --git a/Modules/SalesAnalysis b/Modules/SalesAnalysis
index 5b0fff22..f8d933b3 160000
--- a/Modules/SalesAnalysis
+++ b/Modules/SalesAnalysis
@@ -1 +1 @@
-Subproject commit 5b0fff22aa4d705472c7ece735df4fc3041b7837
+Subproject commit f8d933b3f55fc262732ced7d3c71f5dc242ae9b9
diff --git a/Modules/Search b/Modules/Search
index 3ca35857..6099cb9e 160000
--- a/Modules/Search
+++ b/Modules/Search
@@ -1 +1 @@
-Subproject commit 3ca35857690f604d909186019a7d5e1c1481c0cb
+Subproject commit 6099cb9e4d98e7a15462c2b057a0c6c2792636e8
diff --git a/Modules/Shop b/Modules/Shop
index e013f3f4..16a47b0b 160000
--- a/Modules/Shop
+++ b/Modules/Shop
@@ -1 +1 @@
-Subproject commit e013f3f48b82a1ed01950a67823f23dae3acedc2
+Subproject commit 16a47b0bd316e5a83cd432a6a1e0031e04c25aca
diff --git a/Modules/StockTaking b/Modules/StockTaking
index 7929c235..e7c72178 160000
--- a/Modules/StockTaking
+++ b/Modules/StockTaking
@@ -1 +1 @@
-Subproject commit 7929c23523f1fd9d613b367bf2884512541f21d3
+Subproject commit e7c721786b2e3f6b2f6a5e70311d74c4f148a48a
diff --git a/Modules/SupplierManagement b/Modules/SupplierManagement
index 5846a9c3..afdb32e1 160000
--- a/Modules/SupplierManagement
+++ b/Modules/SupplierManagement
@@ -1 +1 @@
-Subproject commit 5846a9c3307e8b38044c631d2e13c7406c0c76aa
+Subproject commit afdb32e1c3cc955fe3fccd66c72ccf0e0d9c9984
diff --git a/Modules/Support b/Modules/Support
index d118c459..ad154ebf 160000
--- a/Modules/Support
+++ b/Modules/Support
@@ -1 +1 @@
-Subproject commit d118c45997a2bd4e49a2f0bc9b95199a2baa70a3
+Subproject commit ad154ebf3f7604799686abb5a26c9e3173e4bc56
diff --git a/Modules/Surveys b/Modules/Surveys
index e02a1586..c58ba641 160000
--- a/Modules/Surveys
+++ b/Modules/Surveys
@@ -1 +1 @@
-Subproject commit e02a1586f129dedc4553e8a86f9fb7406c597a8d
+Subproject commit c58ba6415838fb963604335d09c0a156a27812b0
diff --git a/Modules/Tag b/Modules/Tag
index 8474b880..f74360dd 160000
--- a/Modules/Tag
+++ b/Modules/Tag
@@ -1 +1 @@
-Subproject commit 8474b88016302295063f286d1c688336674a0373
+Subproject commit f74360ddb218661699fb550693fef2120d3313fe
diff --git a/Modules/Tasks b/Modules/Tasks
index 246f4459..a011651e 160000
--- a/Modules/Tasks
+++ b/Modules/Tasks
@@ -1 +1 @@
-Subproject commit 246f4459daf03591e7ec4ea4190aed7ddb3ce49b
+Subproject commit a011651e021ddd090c34e261ad3069cf694a414b
diff --git a/Modules/Tools b/Modules/Tools
index 62c7d870..8d40c7ad 160000
--- a/Modules/Tools
+++ b/Modules/Tools
@@ -1 +1 @@
-Subproject commit 62c7d870711b6dc0831d232b3275f4f7a42554a7
+Subproject commit 8d40c7ad3bf7329baa46ad35c9022f509e64c271
diff --git a/Modules/WarehouseManagement b/Modules/WarehouseManagement
index 15d96f8d..9686a263 160000
--- a/Modules/WarehouseManagement
+++ b/Modules/WarehouseManagement
@@ -1 +1 @@
-Subproject commit 15d96f8da98a76a582712ef645a55295729263da
+Subproject commit 9686a263c0eb9c166b662f09a6c46042a03a60dc
diff --git a/Modules/Workflow b/Modules/Workflow
index e98c0512..6b84384d 160000
--- a/Modules/Workflow
+++ b/Modules/Workflow
@@ -1 +1 @@
-Subproject commit e98c05127ae0fea60a4150e016d96c13538a116d
+Subproject commit 6b84384de8218a01c83528bdacd89ab911dc4058
diff --git a/Resources b/Resources
index d24bcd69..8525cb74 160000
--- a/Resources
+++ b/Resources
@@ -1 +1 @@
-Subproject commit d24bcd69e94fac6cf027f25a62ba9711cf89a132
+Subproject commit 8525cb7415f0749808736d81895ce19ad80413b6
diff --git a/User-Guide b/User-Guide
index 8c98dd72..dd4d194f 160000
--- a/User-Guide
+++ b/User-Guide
@@ -1 +1 @@
-Subproject commit 8c98dd72300b575e2ea5c388db570e8dae874205
+Subproject commit dd4d194fec70c6eaf831d470217f950dd83779e0
diff --git a/cOMS b/cOMS
index b68c8702..6d3dda5a 160000
--- a/cOMS
+++ b/cOMS
@@ -1 +1 @@
-Subproject commit b68c8702e060c9d4920a77381854cf32480fb894
+Subproject commit 6d3dda5a2f10f450cf0e155185600d67ed74ad74
diff --git a/cssOMS b/cssOMS
index 19695e48..0d712047 160000
--- a/cssOMS
+++ b/cssOMS
@@ -1 +1 @@
-Subproject commit 19695e484e249c5c5c82dc0dcd0c820c0767c860
+Subproject commit 0d7120470522be6b0e113ed7daf1cf145233a1c9
diff --git a/jsOMS b/jsOMS
index d2e2bf97..9814c9cd 160000
--- a/jsOMS
+++ b/jsOMS
@@ -1 +1 @@
-Subproject commit d2e2bf97df818dfdb8c4c5b11c0093f2abe26326
+Subproject commit 9814c9cdcc1dad0e14766f2673475121b423f815
diff --git a/phpOMS b/phpOMS
index 189d3758..982fab80 160000
--- a/phpOMS
+++ b/phpOMS
@@ -1 +1 @@
-Subproject commit 189d37580d94d9cf80ec00d45adfd87185f121e6
+Subproject commit 982fab8018f53eed25221594c5b3c24f9f950962
diff --git a/tests/Web/Backend/Admin/AccountCRUDTest.js b/tests/Web/Backend/Admin/AccountCRUDTest.js
new file mode 100644
index 00000000..04c6de2d
--- /dev/null
+++ b/tests/Web/Backend/Admin/AccountCRUDTest.js
@@ -0,0 +1,50 @@
+const {By, Key, Builder, Select} = require("selenium-webdriver");
+const chrome = require('selenium-webdriver/chrome');
+
+const base = 'http://192.168.178.38';
+const language = 'en';
+
+(async function test() {
+ const driver = await new Builder().forBrowser("chrome").build();
+ await driver.manage().setTimeouts({ implicit: 3000 });
+ await driver.manage().window().setRect({ width: 1920, height: 1080 });
+ await driver.get(base);
+ await driver.sleep(500);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // LOGIN
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.findElement(By.id('iName')).sendKeys('admin');
+ await driver.findElement(By.id('iPassword')).sendKeys('orange');
+ await driver.findElement(By.id('iLoginButton')).click();
+ await driver.sleep(500);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // ACCOUNT TESTS
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.get(base + '/admin/account/create');
+ await driver.sleep(500);
+
+ await driver.findElement(By.css('#iUsername')).sendKeys('test_account');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#iName1')).sendKeys('Selenium');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#iName2')).sendKeys('EndToEnd');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#iEmail')).sendKeys('test@jingga.app');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#iPassword')).sendKeys('test@jingga.app');
+ await driver.sleep(50);
+
+ await driver.findElement(By.id('iCreateAccount')).click();
+ await driver.sleep(500);
+
+ await driver.get(base + '/admin/account/view?id=2');
+
+ await driver.sleep(5000);
+ await driver.quit();
+})();
diff --git a/tests/Web/Backend/Admin/GroupCRUDTest.js b/tests/Web/Backend/Admin/GroupCRUDTest.js
new file mode 100644
index 00000000..aa844ed4
--- /dev/null
+++ b/tests/Web/Backend/Admin/GroupCRUDTest.js
@@ -0,0 +1,41 @@
+const {By, Key, Builder, Select} = require("selenium-webdriver");
+const chrome = require('selenium-webdriver/chrome');
+
+const base = 'http://192.168.178.38';
+const language = 'en';
+
+(async function test() {
+ const driver = await new Builder().forBrowser("chrome").build();
+ await driver.manage().setTimeouts({ implicit: 3000 });
+ await driver.manage().window().setRect({ width: 1920, height: 1080 });
+ await driver.get(base);
+ await driver.sleep(500);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // LOGIN
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.findElement(By.id('iName')).sendKeys('admin');
+ await driver.findElement(By.id('iPassword')).sendKeys('orange');
+ await driver.findElement(By.id('iLoginButton')).click();
+ await driver.sleep(500);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // GROUP TESTS
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.get(base + '/admin/group/create');
+ await driver.sleep(500);
+
+ await driver.findElement(By.css('#iGname')).sendKeys('test_group');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#idescription')).sendKeys('Selenium test group');
+ await driver.sleep(50);
+
+ await driver.findElement(By.id('iCreateGroup')).click();
+ await driver.sleep(500);
+
+ await driver.get(base + '/admin/group/view?id=2');
+
+ await driver.sleep(5000);
+ await driver.quit();
+})();
diff --git a/tests/Web/Backend/Admin/ServerEmailTest.js b/tests/Web/Backend/Admin/ServerEmailTest.js
new file mode 100644
index 00000000..e79e1393
--- /dev/null
+++ b/tests/Web/Backend/Admin/ServerEmailTest.js
@@ -0,0 +1,68 @@
+const {By, Key, Builder, Select} = require("selenium-webdriver");
+const chrome = require('selenium-webdriver/chrome');
+
+const base = 'http://192.168.178.38';
+const language = 'en';
+
+(async function test() {
+ const driver = await new Builder().forBrowser("chrome").build();
+ await driver.manage().setTimeouts({ implicit: 3000 });
+ await driver.manage().window().setRect({ width: 1920, height: 1080 });
+ await driver.get(base);
+ await driver.sleep(500);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // LOGIN
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.findElement(By.id('iName')).sendKeys('admin');
+ await driver.findElement(By.id('iPassword')).sendKeys('orange');
+ await driver.findElement(By.id('iLoginButton')).click();
+ await driver.sleep(500);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // SETUP SERVER EMAIL
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.get(base + '/admin/module/settings?id=Admin');
+ await driver.sleep(500);
+
+ await driver.findElement(By.css('#iOutServer')).clear();
+ await driver.findElement(By.css('#iOutServer')).sendKeys('mail.privateemail.com');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#iOutPort')).clear();
+ await driver.findElement(By.css('#iOutPort')).sendKeys('587');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#iInServer')).clear();
+ await driver.findElement(By.css('#iInServer')).sendKeys('mail.privateemail.com');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#iInPort')).clear();
+ await driver.findElement(By.css('#iInPort')).sendKeys('993');
+ await driver.sleep(50);
+
+ const selectElement = await driver.findElement(By.css('#iEmailType'));
+ const select = new Select(selectElement);
+ await select.selectByValue('smtp');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#iEmailUsername')).clear();
+ await driver.findElement(By.css('#iEmailUsername')).sendKeys('info@jingga.app');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#iEmailPassword')).clear();
+ await driver.findElement(By.css('#iEmailPassword')).sendKeys('fakepassword');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#iEmailAddress')).clear();
+ await driver.findElement(By.css('#iEmailAddress')).sendKeys('info@jingga.app');
+ await driver.sleep(50);
+
+ await driver.findElement(By.id('iSubmitEmail')).click();
+ await driver.sleep(500);
+
+ await driver.navigate().refresh();
+
+ await driver.sleep(5000);
+ await driver.quit();
+})();
diff --git a/tests/Web/Backend/Admin/ServerLocalizationTest.js b/tests/Web/Backend/Admin/ServerLocalizationTest.js
new file mode 100644
index 00000000..f13d3c8c
--- /dev/null
+++ b/tests/Web/Backend/Admin/ServerLocalizationTest.js
@@ -0,0 +1,43 @@
+const {By, Key, Builder, Select} = require("selenium-webdriver");
+const chrome = require('selenium-webdriver/chrome');
+
+const base = 'http://192.168.178.38';
+const language = 'en';
+
+(async function test() {
+ const driver = await new Builder().forBrowser("chrome").build();
+ await driver.manage().setTimeouts({ implicit: 3000 });
+ await driver.manage().window().setRect({ width: 1920, height: 1080 });
+ await driver.get(base);
+ await driver.sleep(500);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // LOGIN
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.findElement(By.id('iName')).sendKeys('admin');
+ await driver.findElement(By.id('iPassword')).sendKeys('orange');
+ await driver.findElement(By.id('iLoginButton')).click();
+ await driver.sleep(500);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // SETUP SERVER LOCALIZATION
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.get(base + '/admin/module/settings?id=Admin');
+ await driver.sleep(500);
+
+ await driver.findElement(By.css('label[for=c-tab-2]')).click();
+ await driver.sleep(50);
+
+ const selectElement = await driver.findElement(By.css('#iDefaultLocalizations'));
+ const select = new Select(selectElement);
+ await select.selectByValue('de_DE');
+ await driver.sleep(50);
+
+ await driver.findElement(By.id('iLoadLocalization')).click();
+ await driver.sleep(500);
+
+ await driver.navigate().refresh();
+
+ await driver.sleep(5000);
+ await driver.quit();
+})();
diff --git a/tests/Web/Backend/ApplicationTest.js b/tests/Web/Backend/ApplicationTest.js
index 083372f4..e69de29b 100644
--- a/tests/Web/Backend/ApplicationTest.js
+++ b/tests/Web/Backend/ApplicationTest.js
@@ -1,70 +0,0 @@
-const {By, Key, Builder} = require("selenium-webdriver");
-const chrome = require('selenium-webdriver/chrome');
-
-let fs = require('fs');
-let path = require('path');
-
-const base = 'http://192.168.178.38';
-const language = 'en';
-const src = [
- 'legal/privacy',
- 'legal/terms',
- 'legal/imprint',
-];
-const length = src.length;
-
-async function checkEndpoint(driver, url) {
- await driver.get(url);
-
- try {
- await driver.findElement(By.xpath('//*[@alt="404 error image"]'));
-
- return -1;
- } catch(error) {
- return 0;
- } finally {
- /*
- const data = await driver.takeScreenshot(true);
- await fs.writeFileSync('C:/Users/spl1nes/screenshots/' + url.replace(/[^a-z0-9]/gi, '_').toLowerCase() + '.png', data, 'base64');
- */
- }
-}
-
-/*
-let dir = path.dirname('C:/Users/spl1nes/screenshots/');
-if (!fs.existsSync(dir)) {
- fs.mkdirSync(dir, { recursive: true });
-}
-*/
-
-(async function loop() {
- const driver = await new Builder().forBrowser("chrome").build();
- await driver.get(base);
- await driver.manage().setTimeouts({ implicit: 3000 });
- await driver.manage().window().setRect({ width: 1920, height: 1080 });
- await driver.findElement(By.id('iLoginButton')).click();
- await driver.sleep(1000);
-
- let status = 0;
-
- for (let i = 0; i < length; ++i) {
- try {
- status = await checkEndpoint(driver, base + '/' + language + '/' + src[i]);
- } catch(error) {
- console.error(error);
- }
-
- describe('Site Existence Test', function() {
- it('should check if 127.0.0.1 exists', function () {
- expect(status).toBe(0);
- });
- });
-
- if (status !== 0) {
- console.error(status +': ' + src[i]);
- status = 0;
- }
- }
-
- await driver.quit();
-})();
diff --git a/tests/Web/Backend/Install/InstallTest.js b/tests/Web/Backend/Install/InstallTest.js
new file mode 100644
index 00000000..2b86c6cc
--- /dev/null
+++ b/tests/Web/Backend/Install/InstallTest.js
@@ -0,0 +1,63 @@
+const {By, Key, Builder} = require("selenium-webdriver");
+const chrome = require('selenium-webdriver/chrome');
+
+const base = 'http://192.168.178.38';
+const language = 'en';
+
+(async function test() {
+ const driver = await new Builder().forBrowser("chrome").build();
+ await driver.manage().setTimeouts({ implicit: 3000 });
+ await driver.manage().window().setRect({ width: 1920, height: 1080 });
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // INSTALL
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.get(base + '/Install');
+ await driver.sleep(500);
+
+ await driver.findElement(By.css('#page-1 .next')).click();
+ await driver.sleep(500);
+ await driver.findElement(By.css('#page-2 .next')).click();
+ await driver.sleep(500);
+ await driver.findElement(By.css('#page-3 .next')).click();
+
+ await driver.sleep(500);
+ await driver.findElement(By.id('iDbName')).clear();
+ await driver.findElement(By.id('iDbName')).sendKeys('omt');
+
+ await driver.findElement(By.id('iSchemaUser')).sendKeys('test');
+ await driver.findElement(By.id('iSchemaPassword')).sendKeys('orange');
+
+ await driver.findElement(By.id('iCreateUser')).sendKeys('test');
+ await driver.findElement(By.id('iCreatePassword')).sendKeys('orange');
+
+ await driver.findElement(By.id('iSelectUser')).sendKeys('test');
+ await driver.findElement(By.id('iSelectPassword')).sendKeys('orange');
+
+ await driver.findElement(By.id('iUpdateUser')).sendKeys('test');
+ await driver.findElement(By.id('iUpdatePassword')).sendKeys('orange');
+
+ await driver.findElement(By.id('iDeleteUser')).sendKeys('test');
+ await driver.findElement(By.id('iDeletePassword')).sendKeys('orange');
+ await driver.sleep(500);
+
+ await driver.findElement(By.css('#page-4 .next')).click();
+ await driver.sleep(500);
+
+ await driver.findElement(By.id('iAdminPassword')).sendKeys('orange');
+ await driver.findElement(By.id('iAdminEmail')).sendKeys('info@jingga.app');
+ await driver.sleep(500);
+
+ await driver.findElement(By.css('button[type=submit]')).click();
+ await driver.sleep(30000);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // LOGIN
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.findElement(By.id('iName')).sendKeys('admin');
+ await driver.findElement(By.id('iPassword')).sendKeys('orange');
+ await driver.findElement(By.id('iLoginButton')).click();
+
+ await driver.sleep(5000);
+ await driver.quit();
+})();
diff --git a/tests/Web/Backend/Organization/DepartmentCRUDTest.js b/tests/Web/Backend/Organization/DepartmentCRUDTest.js
new file mode 100644
index 00000000..9e813407
--- /dev/null
+++ b/tests/Web/Backend/Organization/DepartmentCRUDTest.js
@@ -0,0 +1,49 @@
+const {By, Key, Builder, Select} = require("selenium-webdriver");
+const chrome = require('selenium-webdriver/chrome');
+
+const base = 'http://192.168.178.38';
+const language = 'en';
+
+(async function test() {
+ const driver = await new Builder().forBrowser("chrome").build();
+ await driver.manage().setTimeouts({ implicit: 3000 });
+ await driver.manage().window().setRect({ width: 1920, height: 1080 });
+ await driver.get(base);
+ await driver.sleep(500);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // LOGIN
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.findElement(By.id('iName')).sendKeys('admin');
+ await driver.findElement(By.id('iPassword')).sendKeys('orange');
+ await driver.findElement(By.id('iLoginButton')).click();
+ await driver.sleep(500);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // DEPARTMENT TESTS
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.get(base + '/organization/department/create');
+ await driver.sleep(500);
+
+ await driver.findElement(By.css('#iName')).sendKeys('Test Department');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#idescription')).sendKeys('Selenium test department');
+ await driver.sleep(50);
+
+ await driver.findElement(By.id('iSubmit')).click();
+ await driver.sleep(500);
+
+ await driver.get(base + '/organization/department/view?id=1');
+
+ await driver.findElement(By.css('#iName')).sendKeys('Department');
+ await driver.sleep(50);
+
+ await driver.findElement(By.id('iSubmit')).click();
+ await driver.sleep(500);
+
+ await driver.navigate().refresh();
+
+ await driver.sleep(5000);
+ await driver.quit();
+})();
diff --git a/tests/Web/Backend/Organization/PositionCRUDTest.js b/tests/Web/Backend/Organization/PositionCRUDTest.js
new file mode 100644
index 00000000..598b256e
--- /dev/null
+++ b/tests/Web/Backend/Organization/PositionCRUDTest.js
@@ -0,0 +1,49 @@
+const {By, Key, Builder, Select} = require("selenium-webdriver");
+const chrome = require('selenium-webdriver/chrome');
+
+const base = 'http://192.168.178.38';
+const language = 'en';
+
+(async function test() {
+ const driver = await new Builder().forBrowser("chrome").build();
+ await driver.manage().setTimeouts({ implicit: 3000 });
+ await driver.manage().window().setRect({ width: 1920, height: 1080 });
+ await driver.get(base);
+ await driver.sleep(500);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // LOGIN
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.findElement(By.id('iName')).sendKeys('admin');
+ await driver.findElement(By.id('iPassword')).sendKeys('orange');
+ await driver.findElement(By.id('iLoginButton')).click();
+ await driver.sleep(500);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // POSITION TESTS
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.get(base + '/organization/position/create');
+ await driver.sleep(500);
+
+ await driver.findElement(By.css('#iName')).sendKeys('Test Position');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#idescription')).sendKeys('Selenium test position');
+ await driver.sleep(50);
+
+ await driver.findElement(By.id('iSubmit')).click();
+ await driver.sleep(500);
+
+ await driver.get(base + '/organization/position/view?id=1');
+
+ await driver.findElement(By.css('#iName')).sendKeys('Position');
+ await driver.sleep(50);
+
+ await driver.findElement(By.id('iSubmit')).click();
+ await driver.sleep(500);
+
+ await driver.navigate().refresh();
+
+ await driver.sleep(5000);
+ await driver.quit();
+})();
diff --git a/tests/Web/Backend/Organization/UnitCRUDTest.js b/tests/Web/Backend/Organization/UnitCRUDTest.js
new file mode 100644
index 00000000..603e5dea
--- /dev/null
+++ b/tests/Web/Backend/Organization/UnitCRUDTest.js
@@ -0,0 +1,66 @@
+const {By, Key, Builder, Select} = require("selenium-webdriver");
+const chrome = require('selenium-webdriver/chrome');
+
+const base = 'http://192.168.178.38';
+const language = 'en';
+
+(async function test() {
+ const driver = await new Builder().forBrowser("chrome").build();
+ await driver.manage().setTimeouts({ implicit: 3000 });
+ await driver.manage().window().setRect({ width: 1920, height: 1080 });
+ await driver.get(base);
+ await driver.sleep(500);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // LOGIN
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.findElement(By.id('iName')).sendKeys('admin');
+ await driver.findElement(By.id('iPassword')).sendKeys('orange');
+ await driver.findElement(By.id('iLoginButton')).click();
+ await driver.sleep(500);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ // UNIT TESTS
+ ///////////////////////////////////////////////////////////////////////////////////////
+ await driver.get(base + '/organization/unit/create');
+ await driver.sleep(500);
+
+ await driver.findElement(By.css('#iName')).sendKeys('Test Unit');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#idescription')).sendKeys('Selenium test unit');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#iLegalName')).sendKeys('Testing Inc.');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#iAddress')).sendKeys('Some Street 123');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#iPostal')).sendKeys('123456');
+ await driver.sleep(50);
+
+ await driver.findElement(By.css('#iCity')).sendKeys('Frankfurt');
+ await driver.sleep(50);
+
+ const selectElement = await driver.findElement(By.css('#iCountry'));
+ const select = new Select(selectElement);
+ await select.selectByValue('DE');
+ await driver.sleep(50);
+
+ await driver.findElement(By.id('iUnitCreate')).click();
+ await driver.sleep(500);
+
+ await driver.get(base + '/organization/unit/view?id=2');
+
+ await driver.findElement(By.css('#iName')).sendKeys('Testing');
+ await driver.sleep(50);
+
+ await driver.findElement(By.id('iSubmit')).click();
+ await driver.sleep(500);
+
+ await driver.navigate().refresh();
+
+ await driver.sleep(5000);
+ await driver.quit();
+})();
diff --git a/tests/Web/Backend/test.js b/tests/Web/Backend/test.js
deleted file mode 100644
index 13831d84..00000000
--- a/tests/Web/Backend/test.js
+++ /dev/null
@@ -1,40 +0,0 @@
-const { Builder, By } = require('selenium-webdriver');
-const Jasmine = require('jasmine');
-const SpecReporter = require('jasmine-spec-reporter');
-
-describe('Site Existence Test', function() {
- let driver;
-
- // Set the timeout for async operations
- jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; // 10 seconds
-
- // Jasmine hooks: BeforeAll and AfterAll
- beforeAll(async function() {
- driver = await new Builder().forBrowser('chrome').build();
- });
-
- afterAll(async function() {
- await driver.quit();
- });
-
- it('should check if 127.0.0.1 exists', async function() {
- await driver.get('http://127.0.0.1');
-
- // Check if the title contains "127.0.0.1"
- const title = await driver.getTitle();
- expect(title).toContain('127.0.0.1');
- });
-});
-
-// Run the Jasmine test
-const jasmineRunner = new Jasmine();
-jasmineRunner.loadConfig({
- spec_dir: '',
- spec_files: ['test.js'], // Change this to match your test file name
- helpers: [],
- stopSpecOnExpectationFailure: false,
- random: false,
-});
-jasmineRunner.clearReporters(); // Clear default console reporter
-jasmineRunner.addReporter(new SpecReporter({ spec: { displayPending: true } }));
-jasmineRunner.execute();
\ No newline at end of file
From 7512f1929ea3bf8267c1bfe9eb0e0e4f51168549 Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Wed, 24 Apr 2024 16:34:57 +0000
Subject: [PATCH 18/20] fix jasmine dir
---
.github/workflows/main.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 62c9cf5f..45f085c1 100755
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -122,6 +122,7 @@ jobs:
- run: npm install
- name: jasmine
run: |
+ cd jsOMS
Build/Config/jasmine_build.sh
npx jasmine --config=Build/Config/jasmine.json
cpp-tests:
From de7a175d0d7a35bdab90034d0d756edd9e4751c0 Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Wed, 24 Apr 2024 23:37:44 +0000
Subject: [PATCH 19/20] bump
---
.github/workflows/c_template.yml | 40 +++++
.github/workflows/js_template.yml | 1 +
.github/workflows/main.yml | 4 +-
Build | 2 +-
Developer-Guide | 2 +-
LICENSE.txt | 4 +
Modules/Admin | 2 +-
Modules/Attribute | 2 +-
Modules/Auditor | 2 +-
Modules/Calendar | 2 +-
Modules/Checklist | 2 +-
Modules/Comments | 2 +-
Modules/Contact | 2 +-
Modules/Dashboard | 2 +-
Modules/Database | 2 +-
Modules/DatabaseEditor | 2 +-
Modules/Draw | 2 +-
Modules/Editor | 2 +-
Modules/EventManagement | 2 +-
Modules/Exchange | 2 +-
Modules/Finance | 2 +-
Modules/Help | 2 +-
Modules/Helper | 2 +-
Modules/Home | 2 +-
Modules/HumanResourceManagement | 2 +-
Modules/HumanResourceTimeRecording | 2 +-
Modules/Kanban | 2 +-
Modules/Knowledgebase | 2 +-
Modules/Marketing | 2 +-
Modules/Media | 2 +-
Modules/Monitoring | 2 +-
Modules/MyPrivate | 2 +-
Modules/Navigation | 2 +-
Modules/News | 2 +-
Modules/Notification | 2 +-
Modules/OnlineResourceWatcher | 2 +-
Modules/Organization | 2 +-
Modules/Payment | 2 +-
Modules/Profile | 2 +-
Modules/ProjectManagement | 2 +-
Modules/QA | 2 +-
Modules/RiskManagement | 2 +-
Modules/Search | 2 +-
Modules/Tag | 2 +-
Modules/Tasks | 2 +-
Modules/Tools | 2 +-
Modules/Workflow | 2 +-
Tools/OCRImageOptimizerApp | 2 +-
cOMS | 2 +-
composer.json | 2 +-
composer.lock | 235 +++++++++++++++--------------
cssOMS | 2 +-
jsOMS | 2 +-
phpOMS | 2 +-
54 files changed, 218 insertions(+), 164 deletions(-)
create mode 100644 .github/workflows/c_template.yml
diff --git a/.github/workflows/c_template.yml b/.github/workflows/c_template.yml
new file mode 100644
index 00000000..a85fe448
--- /dev/null
+++ b/.github/workflows/c_template.yml
@@ -0,0 +1,40 @@
+name: CI
+
+on:
+ workflow_call:
+ secrets:
+ GH_TOKEN:
+ required: true
+ GH_PAT:
+ required: true
+ CODECOV_TOKEN:
+ required: true
+
+jobs:
+ codestyle-tests:
+ runs-on: ubuntu-latest
+ if: "!contains(github.event.head_commit.message, 'NO_CI')"
+ steps:
+ - name: Checkout Repository
+ uses: actions/checkout@main
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ token: ${{ secrets.GH_TOKEN }}
+ - name: Checkout Build Repository
+ uses: actions/checkout@main
+ with:
+ fetch-depth: 1
+ ref: develop
+ repository: Karaka-Management/Build
+ path: Build
+ - name: Copy config file
+ run: |
+ cp ./Build/Config/.clang-format ./.clang-format
+ - name: Lint Code Base
+ uses: super-linter/super-linter@v6.4.0
+ env:
+ VALIDATE_ALL_CODEBASE: false
+ VALIDATE_CLANG_FORMAT : true
+ DEFAULT_BRANCH: develop
+ GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
\ No newline at end of file
diff --git a/.github/workflows/js_template.yml b/.github/workflows/js_template.yml
index 7b5a8af4..82f0bc1d 100644
--- a/.github/workflows/js_template.yml
+++ b/.github/workflows/js_template.yml
@@ -69,5 +69,6 @@ jobs:
- run: npm install
- name: jasmine
run: |
+ chmod +x Build/Config/jasmine_build.sh
Build/Config/jasmine_build.sh
npx jasmine --config=Build/Config/jasmine.json
\ No newline at end of file
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 45f085c1..3df8741c 100755
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -9,9 +9,9 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Setup Node
- uses: actions/setup-node@v1
+ uses: actions/setup-node@v3
with:
- node-version: '12.x'
+ node-version: '14'
- name: Cache dependencies
id: npm-cache
run: |
diff --git a/Build b/Build
index b51f71fa..fa3073cc 160000
--- a/Build
+++ b/Build
@@ -1 +1 @@
-Subproject commit b51f71faf9e66ca5aa855b24e464c303937a1757
+Subproject commit fa3073cc1b5e9ae9c3629b7ec6ce358e9a653919
diff --git a/Developer-Guide b/Developer-Guide
index ec8594c1..55c964b0 160000
--- a/Developer-Guide
+++ b/Developer-Guide
@@ -1 +1 @@
-Subproject commit ec8594c1938bf317161e31a0420776bf1b2af32b
+Subproject commit 55c964b0d70deeb0263b9fb30a2316d9d5817f1c
diff --git a/LICENSE.txt b/LICENSE.txt
index 02b1ff5c..5867f1b8 100755
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -50,3 +50,7 @@ In no event and under no legal theory, whether in tort (including negligence), c
8. Future Changes
The Licensor may change the License for future versions as he sees fit.
+
+8. Future Changes
+
+The Licensor may change the License for future versions as he sees fit.
diff --git a/Modules/Admin b/Modules/Admin
index d428a29d..3c988946 160000
--- a/Modules/Admin
+++ b/Modules/Admin
@@ -1 +1 @@
-Subproject commit d428a29d5354feebe602bd5c34b71e965caa3d63
+Subproject commit 3c988946fabe8d032ef2dd86fcd0868d09a8a511
diff --git a/Modules/Attribute b/Modules/Attribute
index 6b9ec50d..4ab6f07a 160000
--- a/Modules/Attribute
+++ b/Modules/Attribute
@@ -1 +1 @@
-Subproject commit 6b9ec50d0ff0fe875703bdc8511a6fac36f0ea52
+Subproject commit 4ab6f07a2c187e0b6ce8fdcf5de0ea718cc31e31
diff --git a/Modules/Auditor b/Modules/Auditor
index 44ac2d18..996696f7 160000
--- a/Modules/Auditor
+++ b/Modules/Auditor
@@ -1 +1 @@
-Subproject commit 44ac2d183a53e91d5ff439fe0d5d5b73d4e5811c
+Subproject commit 996696f739b4c49d2a60c01eb63dc53beab6960d
diff --git a/Modules/Calendar b/Modules/Calendar
index 737eb45c..5c50907e 160000
--- a/Modules/Calendar
+++ b/Modules/Calendar
@@ -1 +1 @@
-Subproject commit 737eb45c9db0dd845ba3b9160f0e4fefafe2c7cc
+Subproject commit 5c50907ee7de6cd4104c8e5509a3fa89e36c6a03
diff --git a/Modules/Checklist b/Modules/Checklist
index 5c3e73b8..8a2ec254 160000
--- a/Modules/Checklist
+++ b/Modules/Checklist
@@ -1 +1 @@
-Subproject commit 5c3e73b82509c961e9b1950a0c6afc0dd077c0af
+Subproject commit 8a2ec254b542f7d4ff2c84ea20f37905cd672ece
diff --git a/Modules/Comments b/Modules/Comments
index b6ee30b5..de4df474 160000
--- a/Modules/Comments
+++ b/Modules/Comments
@@ -1 +1 @@
-Subproject commit b6ee30b50c0ceda7e70846136d03279cdde95499
+Subproject commit de4df474276c118c43dd3fb032cc7ad35e0e8182
diff --git a/Modules/Contact b/Modules/Contact
index 7a76fc27..56565156 160000
--- a/Modules/Contact
+++ b/Modules/Contact
@@ -1 +1 @@
-Subproject commit 7a76fc2722a56ab812c3c54e948235d9eb35d185
+Subproject commit 565651561ead6f9c9dccef4949d9b25decbf76a3
diff --git a/Modules/Dashboard b/Modules/Dashboard
index a89e0378..b4b9a9e7 160000
--- a/Modules/Dashboard
+++ b/Modules/Dashboard
@@ -1 +1 @@
-Subproject commit a89e037832f28d2528565d4cf492ca5082d04067
+Subproject commit b4b9a9e777391c26be57571056064e6d55972b17
diff --git a/Modules/Database b/Modules/Database
index 03d694be..6ced0a76 160000
--- a/Modules/Database
+++ b/Modules/Database
@@ -1 +1 @@
-Subproject commit 03d694be1adbb53bc943a25504e639fdfd6667e4
+Subproject commit 6ced0a76b89853c012a710d1af54e56729d869d1
diff --git a/Modules/DatabaseEditor b/Modules/DatabaseEditor
index fbfc1e18..1b1bf6cc 160000
--- a/Modules/DatabaseEditor
+++ b/Modules/DatabaseEditor
@@ -1 +1 @@
-Subproject commit fbfc1e1816a24880bf9b69560c74b4e8e3278507
+Subproject commit 1b1bf6ccfe431354adc1341aca5894c2684179bc
diff --git a/Modules/Draw b/Modules/Draw
index 1c864143..89901407 160000
--- a/Modules/Draw
+++ b/Modules/Draw
@@ -1 +1 @@
-Subproject commit 1c8641439b35ba049b45af43150f2da858b8d4e4
+Subproject commit 899014079efefc87a2c77efbcce5fd4f55bf1aa0
diff --git a/Modules/Editor b/Modules/Editor
index e5bf0b2f..39457f6a 160000
--- a/Modules/Editor
+++ b/Modules/Editor
@@ -1 +1 @@
-Subproject commit e5bf0b2f1ff36e300acacf3bb8ca2483ccae1584
+Subproject commit 39457f6a64213f06d95da5965c0ac78a911a630d
diff --git a/Modules/EventManagement b/Modules/EventManagement
index 5bc482df..3859ddde 160000
--- a/Modules/EventManagement
+++ b/Modules/EventManagement
@@ -1 +1 @@
-Subproject commit 5bc482df49aa4db1dc4415a32ceeb203c344045b
+Subproject commit 3859ddde006f9ba51d063e0ee60212854ed270ed
diff --git a/Modules/Exchange b/Modules/Exchange
index 0bf410aa..40658f64 160000
--- a/Modules/Exchange
+++ b/Modules/Exchange
@@ -1 +1 @@
-Subproject commit 0bf410aacd9be69ca753e10f04822b769e075e9c
+Subproject commit 40658f64b87c4c152f12659b4c66b2628fcbfb48
diff --git a/Modules/Finance b/Modules/Finance
index 975af6f3..9fbec90a 160000
--- a/Modules/Finance
+++ b/Modules/Finance
@@ -1 +1 @@
-Subproject commit 975af6f3bef29f644c911219f5c364bf7e438054
+Subproject commit 9fbec90a437455da4ad21f5aa3ec6d5220c1dd69
diff --git a/Modules/Help b/Modules/Help
index 59e7126b..919e1cd7 160000
--- a/Modules/Help
+++ b/Modules/Help
@@ -1 +1 @@
-Subproject commit 59e7126b8d6fa737c295f5770044bbe4a965affd
+Subproject commit 919e1cd7db2e0a37fa7140d672835118e1420648
diff --git a/Modules/Helper b/Modules/Helper
index 2a5330ae..207895f9 160000
--- a/Modules/Helper
+++ b/Modules/Helper
@@ -1 +1 @@
-Subproject commit 2a5330ae1b7fc7727e867febd68a762fd6f820f0
+Subproject commit 207895f961e3485f62501994c10725875ffd425e
diff --git a/Modules/Home b/Modules/Home
index e2c447b6..b52eed03 160000
--- a/Modules/Home
+++ b/Modules/Home
@@ -1 +1 @@
-Subproject commit e2c447b6e1167f02061cfb778a65775a0fe02254
+Subproject commit b52eed03bbe7ffd09fdbe0889f10f65a524fb369
diff --git a/Modules/HumanResourceManagement b/Modules/HumanResourceManagement
index 6199eb76..2c3fdda2 160000
--- a/Modules/HumanResourceManagement
+++ b/Modules/HumanResourceManagement
@@ -1 +1 @@
-Subproject commit 6199eb763500d1b908def94e2198a71be07cbd9b
+Subproject commit 2c3fdda27cb0a0e433bd7f7409fc58775064305b
diff --git a/Modules/HumanResourceTimeRecording b/Modules/HumanResourceTimeRecording
index c04df74e..e83f48c1 160000
--- a/Modules/HumanResourceTimeRecording
+++ b/Modules/HumanResourceTimeRecording
@@ -1 +1 @@
-Subproject commit c04df74e702055a86c53736c7123401c09cb4233
+Subproject commit e83f48c138b2b796210a03bcbdfff927ee1938ac
diff --git a/Modules/Kanban b/Modules/Kanban
index 4a63b02b..639f211b 160000
--- a/Modules/Kanban
+++ b/Modules/Kanban
@@ -1 +1 @@
-Subproject commit 4a63b02b5e5ae4fba29f24910ccf4b403f677926
+Subproject commit 639f211b131025380d41a7993726b2077a965441
diff --git a/Modules/Knowledgebase b/Modules/Knowledgebase
index 4bdb2a16..056c6831 160000
--- a/Modules/Knowledgebase
+++ b/Modules/Knowledgebase
@@ -1 +1 @@
-Subproject commit 4bdb2a16d607bd0319b5cd740846ce2531d81116
+Subproject commit 056c6831196bb0e10cd74ab3ac3c4a0493903435
diff --git a/Modules/Marketing b/Modules/Marketing
index 2a8ddf36..865ea7c1 160000
--- a/Modules/Marketing
+++ b/Modules/Marketing
@@ -1 +1 @@
-Subproject commit 2a8ddf36a97117460fa12baea1598ac035c3b249
+Subproject commit 865ea7c1e211aca5dcd5224ad488af0eeb13d97e
diff --git a/Modules/Media b/Modules/Media
index 49269de2..51792d70 160000
--- a/Modules/Media
+++ b/Modules/Media
@@ -1 +1 @@
-Subproject commit 49269de22f893e6b24af006f69ec180e23744df1
+Subproject commit 51792d70180d33f6eb65f76b06192185df63a2b9
diff --git a/Modules/Monitoring b/Modules/Monitoring
index 44292862..b9cfa27a 160000
--- a/Modules/Monitoring
+++ b/Modules/Monitoring
@@ -1 +1 @@
-Subproject commit 44292862196126580a55d201ca385a7b75812d50
+Subproject commit b9cfa27adc8a31d44a3f10fd7926b6a8167c85ce
diff --git a/Modules/MyPrivate b/Modules/MyPrivate
index 9279e3d9..75b96771 160000
--- a/Modules/MyPrivate
+++ b/Modules/MyPrivate
@@ -1 +1 @@
-Subproject commit 9279e3d97da75ceb362727a71df59e6972c957a7
+Subproject commit 75b9677175184392396f33aa4105d81a88ac04ae
diff --git a/Modules/Navigation b/Modules/Navigation
index 5a552b7c..d8f98ea8 160000
--- a/Modules/Navigation
+++ b/Modules/Navigation
@@ -1 +1 @@
-Subproject commit 5a552b7c60f89a57e9aca5644b7b7c6cbdff78a7
+Subproject commit d8f98ea8c467d634a7ea56051e1074d420c1722e
diff --git a/Modules/News b/Modules/News
index ea1c1f21..de642462 160000
--- a/Modules/News
+++ b/Modules/News
@@ -1 +1 @@
-Subproject commit ea1c1f21d1e0a5a25e25cc559cdd613b6c4b7313
+Subproject commit de642462d732a81ead3d4b8a1f6af5b93f9d867d
diff --git a/Modules/Notification b/Modules/Notification
index b069e578..64f3270b 160000
--- a/Modules/Notification
+++ b/Modules/Notification
@@ -1 +1 @@
-Subproject commit b069e5783d342defaa99fd120223e4b751192204
+Subproject commit 64f3270b90166cdb2d06201768a237fab3e6c24b
diff --git a/Modules/OnlineResourceWatcher b/Modules/OnlineResourceWatcher
index b8335cc3..e2318ed3 160000
--- a/Modules/OnlineResourceWatcher
+++ b/Modules/OnlineResourceWatcher
@@ -1 +1 @@
-Subproject commit b8335cc373a3c381c5641b3bc0c8fdc0191124a7
+Subproject commit e2318ed3a388d7c84837f449022434a3a7cc0ebe
diff --git a/Modules/Organization b/Modules/Organization
index fa426af5..f175efbc 160000
--- a/Modules/Organization
+++ b/Modules/Organization
@@ -1 +1 @@
-Subproject commit fa426af578be97bd4adf374e8c42c0318a5408dd
+Subproject commit f175efbc32b226983bc461f3ceed9f5f631773d4
diff --git a/Modules/Payment b/Modules/Payment
index 9da7388e..a11f80f4 160000
--- a/Modules/Payment
+++ b/Modules/Payment
@@ -1 +1 @@
-Subproject commit 9da7388e9b53d3f79500fb7769a1caf6a7012641
+Subproject commit a11f80f4a355c590255d5e2619b37c9dcbc67e60
diff --git a/Modules/Profile b/Modules/Profile
index 5bdc7d97..792a3a43 160000
--- a/Modules/Profile
+++ b/Modules/Profile
@@ -1 +1 @@
-Subproject commit 5bdc7d97a81c0600d9ee43f413e3093103a1e7e4
+Subproject commit 792a3a433217ec2a76ac7b315ebf32593adea132
diff --git a/Modules/ProjectManagement b/Modules/ProjectManagement
index 7b60f6f4..bc81c55f 160000
--- a/Modules/ProjectManagement
+++ b/Modules/ProjectManagement
@@ -1 +1 @@
-Subproject commit 7b60f6f41f931e34ad001b48b8abf81e64d54434
+Subproject commit bc81c55f106ec68eec30dfe8481060c95f3dbda8
diff --git a/Modules/QA b/Modules/QA
index bc3fcf47..a8409d08 160000
--- a/Modules/QA
+++ b/Modules/QA
@@ -1 +1 @@
-Subproject commit bc3fcf470830d518ad12323c2e431fd7aeaf3e61
+Subproject commit a8409d0816c487ca5ea4183fbbc4554eeb131a73
diff --git a/Modules/RiskManagement b/Modules/RiskManagement
index 76bb34a8..91d989d8 160000
--- a/Modules/RiskManagement
+++ b/Modules/RiskManagement
@@ -1 +1 @@
-Subproject commit 76bb34a843db14a810282ac9813e4bd43f53b3f7
+Subproject commit 91d989d8151e90acd36fbe02b562dedacdd5f4cc
diff --git a/Modules/Search b/Modules/Search
index 6099cb9e..44d3f389 160000
--- a/Modules/Search
+++ b/Modules/Search
@@ -1 +1 @@
-Subproject commit 6099cb9e4d98e7a15462c2b057a0c6c2792636e8
+Subproject commit 44d3f3894366e6626108c642ddf9dfb543fe3b53
diff --git a/Modules/Tag b/Modules/Tag
index f74360dd..8644f3e8 160000
--- a/Modules/Tag
+++ b/Modules/Tag
@@ -1 +1 @@
-Subproject commit f74360ddb218661699fb550693fef2120d3313fe
+Subproject commit 8644f3e830a0dc95c82824c90a525bc3c7dabea8
diff --git a/Modules/Tasks b/Modules/Tasks
index a011651e..26a14b34 160000
--- a/Modules/Tasks
+++ b/Modules/Tasks
@@ -1 +1 @@
-Subproject commit a011651e021ddd090c34e261ad3069cf694a414b
+Subproject commit 26a14b3411f4ab9d52fd98886c3df48f0c54b4b6
diff --git a/Modules/Tools b/Modules/Tools
index 8d40c7ad..5d88a54e 160000
--- a/Modules/Tools
+++ b/Modules/Tools
@@ -1 +1 @@
-Subproject commit 8d40c7ad3bf7329baa46ad35c9022f509e64c271
+Subproject commit 5d88a54ee01ff0822a4173c2bf5240dfc9cd3169
diff --git a/Modules/Workflow b/Modules/Workflow
index 6b84384d..900a3cc4 160000
--- a/Modules/Workflow
+++ b/Modules/Workflow
@@ -1 +1 @@
-Subproject commit 6b84384de8218a01c83528bdacd89ab911dc4058
+Subproject commit 900a3cc4bcbe8d00d4bc618225b4a20d1956efe0
diff --git a/Tools/OCRImageOptimizerApp b/Tools/OCRImageOptimizerApp
index 4eb2d6bb..f2b143bf 160000
--- a/Tools/OCRImageOptimizerApp
+++ b/Tools/OCRImageOptimizerApp
@@ -1 +1 @@
-Subproject commit 4eb2d6bb52668e26b1a52dbcd5abf972721ddebf
+Subproject commit f2b143bf6dd156ec6f0382d853fc40a716d969e0
diff --git a/cOMS b/cOMS
index 6d3dda5a..b9c3c8c1 160000
--- a/cOMS
+++ b/cOMS
@@ -1 +1 @@
-Subproject commit 6d3dda5a2f10f450cf0e155185600d67ed74ad74
+Subproject commit b9c3c8c130af1d3ea7c49501960a774e64b78b14
diff --git a/composer.json b/composer.json
index eb313136..57b156ea 100755
--- a/composer.json
+++ b/composer.json
@@ -19,4 +19,4 @@
},
"minimum-stability": "dev",
"prefer-stable": true
-}
+}
\ No newline at end of file
diff --git a/composer.lock b/composer.lock
index 36789948..587130f9 100755
--- a/composer.lock
+++ b/composer.lock
@@ -9,16 +9,16 @@
"packages-dev": [
{
"name": "composer/pcre",
- "version": "3.1.2",
+ "version": "3.1.3",
"source": {
"type": "git",
"url": "https://github.com/composer/pcre.git",
- "reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace"
+ "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/pcre/zipball/4775f35b2d70865807c89d32c8e7385b86eb0ace",
- "reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
+ "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
"shasum": ""
},
"require": {
@@ -60,7 +60,7 @@
],
"support": {
"issues": "https://github.com/composer/pcre/issues",
- "source": "https://github.com/composer/pcre/tree/3.1.2"
+ "source": "https://github.com/composer/pcre/tree/3.1.3"
},
"funding": [
{
@@ -76,7 +76,7 @@
"type": "tidelift"
}
],
- "time": "2024-03-07T15:38:35+00:00"
+ "time": "2024-03-19T10:26:25+00:00"
},
{
"name": "composer/semver",
@@ -161,16 +161,16 @@
},
{
"name": "composer/xdebug-handler",
- "version": "3.0.3",
+ "version": "3.0.4",
"source": {
"type": "git",
"url": "https://github.com/composer/xdebug-handler.git",
- "reference": "ced299686f41dce890debac69273b47ffe98a40c"
+ "reference": "4f988f8fdf580d53bdb2d1278fe93d1ed5462255"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c",
- "reference": "ced299686f41dce890debac69273b47ffe98a40c",
+ "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/4f988f8fdf580d53bdb2d1278fe93d1ed5462255",
+ "reference": "4f988f8fdf580d53bdb2d1278fe93d1ed5462255",
"shasum": ""
},
"require": {
@@ -181,7 +181,7 @@
"require-dev": {
"phpstan/phpstan": "^1.0",
"phpstan/phpstan-strict-rules": "^1.1",
- "symfony/phpunit-bridge": "^6.0"
+ "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5"
},
"type": "library",
"autoload": {
@@ -205,9 +205,9 @@
"performance"
],
"support": {
- "irc": "irc://irc.freenode.org/composer",
+ "irc": "ircs://irc.libera.chat:6697/composer",
"issues": "https://github.com/composer/xdebug-handler/issues",
- "source": "https://github.com/composer/xdebug-handler/tree/3.0.3"
+ "source": "https://github.com/composer/xdebug-handler/tree/3.0.4"
},
"funding": [
{
@@ -223,7 +223,7 @@
"type": "tidelift"
}
],
- "time": "2022-02-25T21:32:43+00:00"
+ "time": "2024-03-26T18:29:49+00:00"
},
{
"name": "doctrine/deprecations",
@@ -319,16 +319,16 @@
},
{
"name": "friendsofphp/php-cs-fixer",
- "version": "v3.51.0",
+ "version": "v3.54.0",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
- "reference": "127fa74f010da99053e3f5b62672615b72dd6efd"
+ "reference": "2aecbc8640d7906c38777b3dcab6f4ca79004d08"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/127fa74f010da99053e3f5b62672615b72dd6efd",
- "reference": "127fa74f010da99053e3f5b62672615b72dd6efd",
+ "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/2aecbc8640d7906c38777b3dcab6f4ca79004d08",
+ "reference": "2aecbc8640d7906c38777b3dcab6f4ca79004d08",
"shasum": ""
},
"require": {
@@ -352,6 +352,7 @@
},
"require-dev": {
"facile-it/paraunit": "^1.3 || ^2.0",
+ "infection/infection": "^0.27.11",
"justinrainbow/json-schema": "^5.2",
"keradus/cli-executor": "^2.1",
"mikey179/vfsstream": "^1.6.11",
@@ -399,7 +400,7 @@
],
"support": {
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
- "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.51.0"
+ "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.54.0"
},
"funding": [
{
@@ -407,7 +408,7 @@
"type": "github"
}
],
- "time": "2024-02-28T19:50:06+00:00"
+ "time": "2024-04-17T08:12:13+00:00"
},
{
"name": "microsoft/tolerant-php-parser",
@@ -938,28 +939,35 @@
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "5.3.0",
+ "version": "5.4.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
+ "reference": "298d2febfe79d03fe714eb871d5538da55205b1a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
- "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/298d2febfe79d03fe714eb871d5538da55205b1a",
+ "reference": "298d2febfe79d03fe714eb871d5538da55205b1a",
"shasum": ""
},
"require": {
+ "doctrine/deprecations": "^1.1",
"ext-filter": "*",
- "php": "^7.2 || ^8.0",
+ "php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.2",
- "phpdocumentor/type-resolver": "^1.3",
+ "phpdocumentor/type-resolver": "^1.7",
+ "phpstan/phpdoc-parser": "^1.7",
"webmozart/assert": "^1.9.1"
},
"require-dev": {
- "mockery/mockery": "~1.3.2",
- "psalm/phar": "^4.8"
+ "mockery/mockery": "~1.3.5",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-mockery": "^1.1",
+ "phpstan/phpstan-webmozart-assert": "^1.2",
+ "phpunit/phpunit": "^9.5",
+ "vimeo/psalm": "^5.13"
},
"type": "library",
"extra": {
@@ -983,15 +991,15 @@
},
{
"name": "Jaap van Otterdijk",
- "email": "account@ijaap.nl"
+ "email": "opensource@ijaap.nl"
}
],
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.0"
},
- "time": "2021-10-19T17:43:47+00:00"
+ "time": "2024-04-09T21:13:58+00:00"
},
{
"name": "phpdocumentor/type-resolver",
@@ -1211,16 +1219,16 @@
},
{
"name": "phpstan/phpdoc-parser",
- "version": "1.26.0",
+ "version": "1.28.0",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "231e3186624c03d7e7c890ec662b81e6b0405227"
+ "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/231e3186624c03d7e7c890ec662b81e6b0405227",
- "reference": "231e3186624c03d7e7c890ec662b81e6b0405227",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb",
+ "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb",
"shasum": ""
},
"require": {
@@ -1252,22 +1260,22 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/1.26.0"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/1.28.0"
},
- "time": "2024-02-23T16:05:55+00:00"
+ "time": "2024-04-03T18:51:33+00:00"
},
{
"name": "phpstan/phpstan",
- "version": "1.10.62",
+ "version": "1.10.67",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
- "reference": "cd5c8a1660ed3540b211407c77abf4af193a6af9"
+ "reference": "16ddbe776f10da6a95ebd25de7c1dbed397dc493"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/cd5c8a1660ed3540b211407c77abf4af193a6af9",
- "reference": "cd5c8a1660ed3540b211407c77abf4af193a6af9",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/16ddbe776f10da6a95ebd25de7c1dbed397dc493",
+ "reference": "16ddbe776f10da6a95ebd25de7c1dbed397dc493",
"shasum": ""
},
"require": {
@@ -1310,13 +1318,9 @@
{
"url": "https://github.com/phpstan",
"type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
- "type": "tidelift"
}
],
- "time": "2024-03-13T12:27:20+00:00"
+ "time": "2024-04-16T07:22:02+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -1643,16 +1647,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "11.0.6",
+ "version": "11.1.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "6af32d7938fc366f86e49a5f5ebb314018d1b1fb"
+ "reference": "d475be032238173ca3b0a516f5cc291d174708ae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/6af32d7938fc366f86e49a5f5ebb314018d1b1fb",
- "reference": "6af32d7938fc366f86e49a5f5ebb314018d1b1fb",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d475be032238173ca3b0a516f5cc291d174708ae",
+ "reference": "d475be032238173ca3b0a516f5cc291d174708ae",
"shasum": ""
},
"require": {
@@ -1691,7 +1695,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "11.0-dev"
+ "dev-main": "11.1-dev"
}
},
"autoload": {
@@ -1723,7 +1727,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/11.0.6"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/11.1.3"
},
"funding": [
{
@@ -1739,7 +1743,7 @@
"type": "tidelift"
}
],
- "time": "2024-03-12T15:40:01+00:00"
+ "time": "2024-04-24T06:34:25+00:00"
},
{
"name": "psr/container",
@@ -1896,16 +1900,16 @@
},
{
"name": "rector/rector",
- "version": "1.0.3",
+ "version": "1.0.4",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
- "reference": "c59507a9090b465d65e1aceed91e5b81986e375b"
+ "reference": "6e04d0eb087aef707fa0c5686d33d6ff61f4a555"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/rectorphp/rector/zipball/c59507a9090b465d65e1aceed91e5b81986e375b",
- "reference": "c59507a9090b465d65e1aceed91e5b81986e375b",
+ "url": "https://api.github.com/repos/rectorphp/rector/zipball/6e04d0eb087aef707fa0c5686d33d6ff61f4a555",
+ "reference": "6e04d0eb087aef707fa0c5686d33d6ff61f4a555",
"shasum": ""
},
"require": {
@@ -1918,6 +1922,9 @@
"rector/rector-phpunit": "*",
"rector/rector-symfony": "*"
},
+ "suggest": {
+ "ext-dom": "To manipulate phpunit.xml via the custom-rule command"
+ },
"bin": [
"bin/rector"
],
@@ -1940,7 +1947,7 @@
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
- "source": "https://github.com/rectorphp/rector/tree/1.0.3"
+ "source": "https://github.com/rectorphp/rector/tree/1.0.4"
},
"funding": [
{
@@ -1948,7 +1955,7 @@
"type": "github"
}
],
- "time": "2024-03-14T15:04:18+00:00"
+ "time": "2024-04-05T09:01:07+00:00"
},
{
"name": "sabre/event",
@@ -2390,16 +2397,16 @@
},
{
"name": "sebastian/environment",
- "version": "7.0.0",
+ "version": "7.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "100d8b855d7180f79f9a9a5c483f2d960581c3ea"
+ "reference": "4eb3a442574d0e9d141aab209cd4aaf25701b09a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/100d8b855d7180f79f9a9a5c483f2d960581c3ea",
- "reference": "100d8b855d7180f79f9a9a5c483f2d960581c3ea",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4eb3a442574d0e9d141aab209cd4aaf25701b09a",
+ "reference": "4eb3a442574d0e9d141aab209cd4aaf25701b09a",
"shasum": ""
},
"require": {
@@ -2414,7 +2421,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "7.1-dev"
}
},
"autoload": {
@@ -2442,7 +2449,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"security": "https://github.com/sebastianbergmann/environment/security/policy",
- "source": "https://github.com/sebastianbergmann/environment/tree/7.0.0"
+ "source": "https://github.com/sebastianbergmann/environment/tree/7.1.0"
},
"funding": [
{
@@ -2450,7 +2457,7 @@
"type": "github"
}
],
- "time": "2024-02-02T05:57:54+00:00"
+ "time": "2024-03-23T08:56:34+00:00"
},
{
"name": "sebastian/exporter",
@@ -2941,16 +2948,16 @@
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.9.0",
+ "version": "3.9.2",
"source": {
"type": "git",
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
- "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b"
+ "reference": "aac1f6f347a5c5ac6bc98ad395007df00990f480"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/d63cee4890a8afaf86a22e51ad4d97c91dd4579b",
- "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/aac1f6f347a5c5ac6bc98ad395007df00990f480",
+ "reference": "aac1f6f347a5c5ac6bc98ad395007df00990f480",
"shasum": ""
},
"require": {
@@ -3017,20 +3024,20 @@
"type": "open_collective"
}
],
- "time": "2024-02-16T15:06:51+00:00"
+ "time": "2024-04-23T20:25:34+00:00"
},
{
"name": "symfony/config",
- "version": "v7.0.4",
+ "version": "v7.0.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "44deeba7233f08f383185ffa37dace3b3bc87364"
+ "reference": "7fc7e18a73ec8125fd95928c0340470d64760deb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/44deeba7233f08f383185ffa37dace3b3bc87364",
- "reference": "44deeba7233f08f383185ffa37dace3b3bc87364",
+ "url": "https://api.github.com/repos/symfony/config/zipball/7fc7e18a73ec8125fd95928c0340470d64760deb",
+ "reference": "7fc7e18a73ec8125fd95928c0340470d64760deb",
"shasum": ""
},
"require": {
@@ -3076,7 +3083,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v7.0.4"
+ "source": "https://github.com/symfony/config/tree/v7.0.6"
},
"funding": [
{
@@ -3092,20 +3099,20 @@
"type": "tidelift"
}
],
- "time": "2024-02-26T07:52:39+00:00"
+ "time": "2024-03-27T19:55:25+00:00"
},
{
"name": "symfony/console",
- "version": "v7.0.4",
+ "version": "v7.0.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "6b099f3306f7c9c2d2786ed736d0026b2903205f"
+ "reference": "fde915cd8e7eb99b3d531d3d5c09531429c3f9e5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/6b099f3306f7c9c2d2786ed736d0026b2903205f",
- "reference": "6b099f3306f7c9c2d2786ed736d0026b2903205f",
+ "url": "https://api.github.com/repos/symfony/console/zipball/fde915cd8e7eb99b3d531d3d5c09531429c3f9e5",
+ "reference": "fde915cd8e7eb99b3d531d3d5c09531429c3f9e5",
"shasum": ""
},
"require": {
@@ -3169,7 +3176,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v7.0.4"
+ "source": "https://github.com/symfony/console/tree/v7.0.6"
},
"funding": [
{
@@ -3185,20 +3192,20 @@
"type": "tidelift"
}
],
- "time": "2024-02-22T20:27:20+00:00"
+ "time": "2024-04-01T11:04:53+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v7.0.4",
+ "version": "v7.0.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "47f37af245df8457ea63409fc242b3cc825ce5eb"
+ "reference": "ff57b5c7d518c39eeb4e69dc0d1ec70723a117b9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/47f37af245df8457ea63409fc242b3cc825ce5eb",
- "reference": "47f37af245df8457ea63409fc242b3cc825ce5eb",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/ff57b5c7d518c39eeb4e69dc0d1ec70723a117b9",
+ "reference": "ff57b5c7d518c39eeb4e69dc0d1ec70723a117b9",
"shasum": ""
},
"require": {
@@ -3249,7 +3256,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v7.0.4"
+ "source": "https://github.com/symfony/dependency-injection/tree/v7.0.6"
},
"funding": [
{
@@ -3265,7 +3272,7 @@
"type": "tidelift"
}
],
- "time": "2024-02-22T20:27:20+00:00"
+ "time": "2024-03-28T09:20:36+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -3416,16 +3423,16 @@
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v3.4.0",
+ "version": "v3.4.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "a76aed96a42d2b521153fb382d418e30d18b59df"
+ "reference": "4e64b49bf370ade88e567de29465762e316e4224"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df",
- "reference": "a76aed96a42d2b521153fb382d418e30d18b59df",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/4e64b49bf370ade88e567de29465762e316e4224",
+ "reference": "4e64b49bf370ade88e567de29465762e316e4224",
"shasum": ""
},
"require": {
@@ -3472,7 +3479,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.2"
},
"funding": [
{
@@ -3488,20 +3495,20 @@
"type": "tidelift"
}
],
- "time": "2023-05-23T14:45:45+00:00"
+ "time": "2024-01-23T14:51:35+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v7.0.3",
+ "version": "v7.0.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "2890e3a825bc0c0558526c04499c13f83e1b6b12"
+ "reference": "408105dff4c104454100730bdfd1a9cdd993f04d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/2890e3a825bc0c0558526c04499c13f83e1b6b12",
- "reference": "2890e3a825bc0c0558526c04499c13f83e1b6b12",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/408105dff4c104454100730bdfd1a9cdd993f04d",
+ "reference": "408105dff4c104454100730bdfd1a9cdd993f04d",
"shasum": ""
},
"require": {
@@ -3535,7 +3542,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v7.0.3"
+ "source": "https://github.com/symfony/filesystem/tree/v7.0.6"
},
"funding": [
{
@@ -3551,7 +3558,7 @@
"type": "tidelift"
}
],
- "time": "2024-01-23T15:02:46+00:00"
+ "time": "2024-03-21T19:37:36+00:00"
},
{
"name": "symfony/finder",
@@ -4221,16 +4228,16 @@
},
{
"name": "symfony/service-contracts",
- "version": "v3.4.1",
+ "version": "v3.4.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0"
+ "reference": "11bbf19a0fb7b36345861e85c5768844c552906e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0",
- "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/11bbf19a0fb7b36345861e85c5768844c552906e",
+ "reference": "11bbf19a0fb7b36345861e85c5768844c552906e",
"shasum": ""
},
"require": {
@@ -4283,7 +4290,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.4.1"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.4.2"
},
"funding": [
{
@@ -4299,7 +4306,7 @@
"type": "tidelift"
}
],
- "time": "2023-12-26T14:02:43+00:00"
+ "time": "2023-12-19T21:51:00+00:00"
},
{
"name": "symfony/stopwatch",
@@ -4451,22 +4458,24 @@
},
{
"name": "symfony/var-exporter",
- "version": "v7.0.4",
+ "version": "v7.0.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "dfb0acb6803eb714f05d97dd4c5abe6d5fa9fe41"
+ "reference": "c74c568d2a15a1d407cf40d61ea82bc2d521e27b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/dfb0acb6803eb714f05d97dd4c5abe6d5fa9fe41",
- "reference": "dfb0acb6803eb714f05d97dd4c5abe6d5fa9fe41",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/c74c568d2a15a1d407cf40d61ea82bc2d521e27b",
+ "reference": "c74c568d2a15a1d407cf40d61ea82bc2d521e27b",
"shasum": ""
},
"require": {
"php": ">=8.2"
},
"require-dev": {
+ "symfony/property-access": "^6.4|^7.0",
+ "symfony/serializer": "^6.4|^7.0",
"symfony/var-dumper": "^6.4|^7.0"
},
"type": "library",
@@ -4505,7 +4514,7 @@
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v7.0.4"
+ "source": "https://github.com/symfony/var-exporter/tree/v7.0.6"
},
"funding": [
{
@@ -4521,7 +4530,7 @@
"type": "tidelift"
}
],
- "time": "2024-02-26T10:35:24+00:00"
+ "time": "2024-03-20T21:25:22+00:00"
},
{
"name": "theseer/tokenizer",
diff --git a/cssOMS b/cssOMS
index 0d712047..3eb80c92 160000
--- a/cssOMS
+++ b/cssOMS
@@ -1 +1 @@
-Subproject commit 0d7120470522be6b0e113ed7daf1cf145233a1c9
+Subproject commit 3eb80c92f0fec0eee30372253bc6c70f7faf3595
diff --git a/jsOMS b/jsOMS
index 9814c9cd..1d30b00d 160000
--- a/jsOMS
+++ b/jsOMS
@@ -1 +1 @@
-Subproject commit 9814c9cdcc1dad0e14766f2673475121b423f815
+Subproject commit 1d30b00dd67cdcc552cb78debda4c3ab29f83f13
diff --git a/phpOMS b/phpOMS
index 982fab80..326e2172 160000
--- a/phpOMS
+++ b/phpOMS
@@ -1 +1 @@
-Subproject commit 982fab8018f53eed25221594c5b3c24f9f950962
+Subproject commit 326e2172ecc2cd6a51e2f8a26323e5b05bd0f501
From 1f8b85be03e04f1b9efb29d065586049efbbcbbf Mon Sep 17 00:00:00 2001
From: Dennis Eichhorn
Date: Wed, 24 Apr 2024 23:43:26 +0000
Subject: [PATCH 20/20] Preparing for master update
---
Install/Application/Backend/js/backend.min.js | 7090 +----------------
1 file changed, 6 insertions(+), 7084 deletions(-)
diff --git a/Install/Application/Backend/js/backend.min.js b/Install/Application/Backend/js/backend.min.js
index fa0ec5d7..0e21ccbf 100755
--- a/Install/Application/Backend/js/backend.min.js
+++ b/Install/Application/Backend/js/backend.min.js
@@ -1,7087 +1,9 @@
-(() => {
- // jsOMS/Utils/oLib.js
- var jsOMS2 = class _jsOMS {
- /**
- * Trigger an event
- *
- * @param {Element} element Element where the event is assigned
- * @param {string} eventName Name of the event
- *
- * @return void
- *
- * @function
- *
- * @since 1.0.0
- */
- static triggerEvent = function(element, eventName) {
- if (document.createEvent) {
- const event = document.createEvent("HTMLEvents");
- event.initEvent(eventName, true, true);
- event.eventName = eventName;
- element.dispatchEvent(event);
- } else {
- const event = document.createEventObject();
- event.eventName = eventName;
- event.eventType = eventName;
- element.fireEvent(event.eventType, event);
- }
- };
- /**
- * Trim char from string
- *
- * @param {string} path Array path
- * @param {Object} data Object
- * @param {string} [delim] Path delimiter
- *
- * @return {any}
- *
- * @function
- *
- * @since 1.0.0
- */
- static getArray = function(path, data, delim = "/") {
- const pathParts = _jsOMS.ltrim(path, delim).split(delim);
- let current = data;
- for (const key in pathParts) {
- if (!Object.prototype.hasOwnProperty.call(pathParts, key)) {
- continue;
- }
- if (typeof current === "undefined" || !Object.prototype.hasOwnProperty.call(current, pathParts[key])) {
- return null;
- }
- current = current[pathParts[key]];
- }
- return current;
- };
- /**
- * Trim char from string
- *
- * @param {string} str String to trim from
- * @param {string} [char] Char to trim
- *
- * @return {string}
- *
- * @function
- *
- * @since 1.0.0
- */
- static trim = function(str, char = " ") {
- return _jsOMS.ltrim(_jsOMS.rtrim(str, char), char);
- };
- /**
- * Trim char from right part of string
- *
- * @param {string} str String to trim from
- * @param {string} [char] Char to trim
- *
- * @return {string}
- *
- * @function
- *
- * @since 1.0.0
- */
- static rtrim = function(str, char = " ") {
- return str.replace(new RegExp("[" + char + "]*$"), "");
- };
- /**
- * Trim char from left part of string
- *
- * @param {string} str String to trim from
- * @param {string} [char] Char to trim
- *
- * @return {string}
- *
- * @function
- *
- * @since 1.0.0
- */
- static ltrim = function(str, char = " ") {
- return str.replace(new RegExp("^[" + char + "]*"), "");
- };
- static htmlspecialchars = [
- ["&", "&"],
- ["<", "<"],
- [">", ">"],
- ['"', """]
- ];
- /**
- * Encode none-html string
- *
- * @param {string} str String to encode
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- static htmlspecialchars_encode = function(str) {
- let escaped = str;
- const length = _jsOMS.htmlspecialchars.length;
- for (let i = 0; i < length; ++i) {
- escaped = escaped.replace(
- new RegExp(_jsOMS.htmlspecialchars[i][0], "g"),
- _jsOMS.htmlspecialchars[i][1]
- );
- }
- return escaped;
- };
- /**
- * Decode html string
- *
- * @param {string} str String to encode
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- static htmlspecialchars_decode = function(str) {
- let decoded = str;
- const length = _jsOMS.htmlspecialchars.length;
- for (let i = 0; i < length; ++i) {
- decoded = decoded.replace(
- new RegExp(_jsOMS.htmlspecialchars[i][1], "g"),
- _jsOMS.htmlspecialchars[i][0]
- );
- }
- return decoded;
- };
- /**
- * Count string in string
- *
- * @param {string} str String to inspect
- * @param {string} substr Substring to count
- *
- * @return {number}
- *
- * @function
- *
- * @since 1.0.0
- */
- static substr_count = function(str, substr) {
- str += "";
- substr += "";
- if (substr.length <= 0) {
- return str.length + 1;
- }
- let n = 0;
- let pos = 0;
- const step = substr.length;
- while (true) {
- pos = str.indexOf(substr, pos);
- if (pos >= 0) {
- ++n;
- pos += step;
- } else {
- break;
- }
- }
- return n;
- };
- /**
- * Class finder
- *
- * Checking if a element has a class
- *
- * @param {Element} ele DOM Element
- * @param {string} cls Class to find
- *
- * @return {boolean}
- *
- * @function
- *
- * @since 1.0.0
- */
- static hasClass = function(ele, cls) {
- return typeof ele !== "undefined" && ele !== null && (typeof ele.className === "string" && ele.className.match(new RegExp("(\\s|^)" + cls + "(\\s|$)")) !== null || typeof ele.className.baseVal === "string" && ele.className.baseVal.match(new RegExp("(\\s|^)" + cls + "(\\s|$)")) !== null);
- };
- /**
- * Add class
- *
- * Adding a class to an element
- *
- * @param {Element} DOM Element
- * @param {string} Class to add
- *
- * @return {void}
- *
- * @function
- *
- * @since 1.0.0
- */
- static addClass = function(ele, cls) {
- if (!_jsOMS.hasClass(ele, cls)) {
- if (typeof ele.className === "string") {
- ele.className += ele.className !== "" ? " " + cls : cls;
- } else if (typeof ele.className.baseVal === "string") {
- ele.className.baseVal += ele.className.baseVal !== "" ? " " + cls : cls;
- }
- }
- };
- /**
- * Remove class
- *
- * Removing a class form an element
- *
- * @param {Element} DOM Element
- * @param {string} Class to remove
- *
- * @return {void}
- *
- * @function
- *
- * @since 1.0.0
- */
- static removeClass = function(ele, cls) {
- if (_jsOMS.hasClass(ele, cls)) {
- const reg = new RegExp("(\\s|^)" + cls);
- if (typeof ele.className === "string") {
- ele.className = ele.className.replace(reg, "").trim();
- } else if (typeof ele.className.baseVal === "string") {
- ele.className.baseVal = ele.className.baseVal.replace(reg, "").trim();
- }
- }
- };
- /**
- * Delayed watcher
- *
- * Used to fire event after delay
- *
- * @return {callback}
- *
- * @function
- *
- * @since 1.0.0
- */
- static watcher = function() {
- let watcherTimer = 0;
- return function(callback, ms) {
- clearTimeout(watcherTimer);
- watcherTimer = setTimeout(callback, ms);
- };
- }();
- /**
- * Action prevent
- *
- * Preventing event from firering and passing through
- *
- * @param {Event} Event Event to stop
- *
- * @return {boolean}
- *
- * @function
- *
- * @since 1.0.0
- */
- static preventAll = function(event) {
- event.preventDefault();
- event.stopImmediatePropagation();
- event.stopPropagation();
- event.cancelBubble = true;
- return false;
- };
- /**
- * Ready invoke
- *
- * Invoking a function after page load
- *
- * @param {function} Callback function
- *
- * @return {void}
- *
- * @function
- *
- * @since 1.0.0
- */
- static ready = function(func) {
- if (document.readyState === "complete" || document.readyState === "loaded" || document.readyState === "interactive") {
- func();
- } else {
- document.addEventListener("DOMContentLoaded", function(event) {
- func();
- });
- }
- };
- /**
- * Get element value
- *
- * @param {Element} DOM Element
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- static getValue = function(ele) {
- switch (ele.tagName.toLowerCase()) {
- case "div":
- case "pre":
- case "article":
- case "section":
- return ele.innerHTML;
- default:
- return ele.value;
- }
- };
- /**
- * Empty element
- *
- * Deleting content from element
- *
- * @param {Element} DOM Element
- *
- * @return {void}
- *
- * @function
- *
- * @since 1.0.0
- */
- static empty = function(ele) {
- while (ele.firstChild) {
- ele.removeChild(ele.firstChild);
- }
- };
- /**
- * Integer hash
- *
- * @param {string} str String to hash
- *
- * @return {number}
- *
- * @function
- *
- * @since 1.0.0
- */
- static hash = function(str) {
- let res = 0;
- const len = str.length;
- for (let i = 0; i < len; ++i) {
- res = res * 31 + str.charCodeAt(i);
- }
- return res;
- };
- /**
- * Check node
- *
- * Checking if a selection is a node
- *
- * @param {Node} DOM Node
- *
- * @return {boolean}
- *
- * @function
- *
- * @since 1.0.0
- */
- static isNode = function(ele) {
- return typeof Node === "object" ? ele instanceof Node : ele && typeof ele === "object" && typeof ele.nodeType === "number" && typeof ele.nodeName === "string";
- };
- /**
- * Check element
- *
- * Checking if a selection is a element
- *
- * @param {HTMLElement} DOM Element
- *
- * @return {boolean}
- *
- * @function
- *
- * @since 1.0.0
- */
- static isElement = function(o) {
- return typeof HTMLElement === "object" ? o instanceof HTMLElement : o && typeof o === "object" && o !== null && o.nodeType === 1 && typeof o.nodeName === "string";
- };
- /**
- * Getting element by class
- *
- * Getting a element by class in the first level
- *
- * @param {Element} DOM Element
- * @param {string} Class to find
- *
- * @return {null|Element}
- *
- * @function
- *
- * @since 1.0.0
- */
- static getByClass = function(ele, cls) {
- const length = ele.childNodes.length;
- for (let i = 0; i < length; ++i) {
- if (_jsOMS.hasClass(ele.childNodes[i], cls)) {
- return ele.childNodes[i];
- }
- }
- return null;
- };
- /**
- * Adding event listener to multiple elements
- *
- * @param {Element} e DOM Elements
- * @param {string} event Event name
- * @param {function} callback Event callback
- *
- * @return {void}
- *
- * @function
- *
- * @since 1.0.0
- */
- static addEventListenerToAll = function(e, event, callback) {
- const length = e.length;
- for (let i = 0; i < length; ++i) {
- e[i].addEventListener(event, callback);
- }
- };
- /**
- * Validate json string
- *
- * @param {string} jsonString String to validate
- *
- * @return {boolean}
- *
- * @function
- *
- * @since 1.0.0
- */
- static isValidJson = function(jsonString) {
- try {
- JSON.parse(jsonString);
- } catch (e) {
- return false;
- }
- return true;
- };
- /**
- * Merging two arrays recursively
- *
- * @param {Object} target Target object
- * @param {Object} source Source object
- *
- * @return {Object}
- *
- * @function
- *
- * @since 1.0.0
- */
- static merge = function(target, source) {
- const out = _jsOMS.clone(target);
- for (const p in source) {
- if (Object.prototype.hasOwnProperty.call(source, p)) {
- if (typeof source[p] === "object") {
- out[p] = _jsOMS.merge(out[p], source[p]);
- } else {
- out[p] = source[p];
- }
- } else {
- out[p] = source[p];
- }
- }
- return out;
- };
- /**
- * Shallow clones an object.
- *
- * @param {Object} obj Object to clone
- *
- * @returns {Object}
- *
- * @since 1.0.0
- */
- static clone = function(obj) {
- return { ...obj };
- };
- /**
- * Is variable set
- *
- * @param {any} variable Variable
- *
- * @returns {boolean}
- *
- * @since 1.0.0
- */
- static isset = function(variable) {
- return typeof variable !== "undefined" && variable !== null;
- };
- /**
- * Get the remaining string after finding a certain char
- *
- * @param {string} haystack String to to search in
- * @param {Array} chars Chars to search for
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- static strpbrk = function(haystack, chars) {
- const length = chars.length;
- let found = haystack.length;
- let min = haystack.length;
- for (let i = 0; i < length; ++i) {
- if ((found = haystack.indexOf(chars.charAt(i))) >= 0 && min > found) {
- min = found;
- }
- }
- return haystack.slice(min);
- };
- };
-
- // jsOMS/Asset/AssetManager.js
- var AssetManager = class {
- /**
- * @constructor
- *
- * @since 1.0.0
- */
- constructor() {
- this.assets = {};
- this.registerLoadedAssets();
- }
- /**
- * Register all loaded assets.
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- registerLoadedAssets() {
- const scripts = document.getElementsByTagName("script");
- const length = !scripts ? 0 : scripts.length;
- this.assets = {};
- for (let i = 0; i < length; ++i) {
- this.assets[jsOMS2.hash(scripts[i].src)] = scripts[i].src;
- }
- }
- /**
- * Load asset.
- *
- * @param {string} path Asset path
- * @param {string} filetype Filetype of the asset
- * @param {function} callback Callback after load
- *
- * @return {boolean|number}
- *
- * @since 1.0.0
- */
- load(path, filetype, callback) {
- let hash;
- if (!this.assets[hash = jsOMS2.hash(path)]) {
- let fileref = null;
- if (filetype === "js") {
- fileref = document.createElement("script");
- fileref.setAttribute("type", "text/javascript");
- fileref.setAttribute("src", path);
- if (typeof fileref !== "undefined") {
- const head = document.getElementsByTagName("head");
- if (head) {
- head[0].appendChild(fileref);
- }
- }
- this.assets[hash] = path;
- } else if (filetype === "css") {
- fileref = document.createElement("link");
- fileref.setAttribute("rel", "stylesheet");
- fileref.setAttribute("type", "text/css");
- fileref.setAttribute("href", path);
- if (typeof fileref !== "undefined") {
- const head = document.getElementsByTagName("head");
- if (head) {
- head[0].appendChild(fileref);
- }
- }
- this.assets[hash] = path;
- } else if (filetype === "img") {
- this.assets[hash] = new Image();
- this.assets[hash].src = path;
- }
- if (callback) {
- fileref.onreadystatechange = function() {
- if (this.readyState === "complete") {
- callback();
- }
- };
- fileref.onload = callback();
- }
- return hash;
- }
- return false;
- }
- /**
- * Get asset.
- *
- * @param {string} key Key of the asset
- *
- * @return {null|number}
- *
- * @since 1.0.0
- */
- get(key) {
- key = jsOMS2.hash(key);
- if (this.assets[key]) {
- return this.assets[key];
- }
- return null;
- }
- /**
- * Remove asset.
- *
- * @param {string} key Key of the asset
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- remove(key) {
- key = jsOMS2.hash(key);
- if (typeof this.assets[key] !== "undefined") {
- delete this.assets[key];
- return true;
- }
- return false;
- }
- };
-
- // jsOMS/Log/LogLevel.js
- var LogLevel = Object.freeze({
- EMERGENCY: "emergency",
- ALERT: "alert",
- CRITICAL: "critical",
- ERROR: "error",
- WARNING: "warning",
- NOTICE: "notice",
- INFO: "info",
- DEBUG: "debug"
- });
-
- // jsOMS/Uri/HttpUri.js
- var HttpUri = class _HttpUri {
- /**
- * @constructor
- *
- * @param {string} uri Http uri
- *
- * @since 1.0.0
- */
- constructor(uri) {
- this.uri = "";
- this.scheme = "";
- this.host = "";
- this.port = "";
- this.user = "";
- this.pass = "";
- this.query = null;
- this.queryString = "";
- this.fragment = "";
- this.base = "";
- this.root = "/";
- this.set(uri);
- }
- /**
- * Parse uri
- *
- * @param {string} str Url to parse
- * @param {string} [mode] Parsing mode
- *
- * @return {Object}
- *
- * @throws {Error}
- *
- * @todo The default parser fails for uris which have a query without a value but a fragment e.g. ?debug#something.
- * In such a case something#something is returned as fragment instead of just #something or something
- *
- * @since 1.0.0
- */
- static parseUrl(str, mode = "php") {
- const key = [
- "source",
- "scheme",
- "authority",
- "userInfo",
- "user",
- "pass",
- "host",
- "port",
- "relative",
- "path",
- "directory",
- "file",
- "query",
- "fragment"
- ];
- const parser = {
- php: /^(?:([^:\/?#]+):)?(?:\/\/()(?:(?:()(?:([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?()(?:(()(?:(?:[^?#\/]*\/)*)()(?:[^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
- strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
- loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/\/?)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
- };
- if (!Object.prototype.hasOwnProperty.call(parser, mode)) {
- throw new Error("Unexpected parsing mode.", "UriFactory", 52);
- }
- const m = parser[mode].exec(str);
- const uri = {};
- let i = 14;
- while (--i) {
- if (m[i]) {
- uri[key[i]] = m[i];
- }
- }
- delete uri.source;
- return uri;
- }
- /**
- * Get Uri query parameters.
- *
- * @param {string} query Uri query
- * @param {string} name Name of the query to return
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- static getUriQueryParameter(query, name) {
- name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
- const regex = new RegExp("[\\?&]*" + name + "=([^]*)");
- const results = regex.exec(query);
- return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
- }
- /**
- * Get all uri query parameters.
- *
- * @param {string} query Uri query
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- static getAllUriQueryParameters(query) {
- const params = {};
- let keyValPairs = [];
- let pairNum = null;
- if (query.length) {
- keyValPairs = query.split("&");
- for (pairNum in keyValPairs) {
- if (!Object.prototype.hasOwnProperty.call(keyValPairs, pairNum)) {
- continue;
- }
- const key = keyValPairs[pairNum].split("=")[0];
- if (!key.length) {
- continue;
- }
- if (typeof params[key] === "undefined") {
- params[key] = [];
- }
- params[key].push(keyValPairs[pairNum].split("=")[1]);
- }
- }
- return params;
- }
- /**
- * Set uri.
- *
- * @param {string} uri Uri string
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- set(uri) {
- this.uri = uri;
- const parsed = _HttpUri.parseUrl(this.uri, "php");
- this.scheme = parsed.scheme;
- this.host = parsed.host;
- this.port = parsed.port;
- this.user = parsed.user;
- this.pass = parsed.pass;
- this.path = parsed.path;
- if (this.path.endsWith(".php")) {
- this.path = this.path.substr(0, -4);
- }
- this.queryString = typeof parsed.query !== "undefined" ? parsed.query : [];
- if (this.queryString !== null) {
- this.query = _HttpUri.getAllUriQueryParameters(this.queryString);
- }
- this.fragment = typeof parsed.fragment !== "undefined" ? parsed.fragment : "";
- this.base = this.scheme + "://" + this.host + this.root;
- }
- /**
- * Set root path.
- *
- * @param {string} rootPath Uri root path
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setRootPath(rootPath) {
- this.root = rootPath;
- this.set(this.uri);
- }
- getRootPath() {
- return this.root;
- }
- /**
- * Get Uri base
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getBase() {
- return this.base;
- }
- /**
- * Get Uri scheme
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getScheme() {
- return this.scheme;
- }
- /**
- * Get Uri host
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getHost() {
- return this.host;
- }
- /**
- * Get Uri port
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getPort() {
- return this.port;
- }
- /**
- * Get Uri user
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getUser() {
- return this.user;
- }
- /**
- * Get Uri pass
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getPass() {
- return this.pass;
- }
- /**
- * Get Uri query
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getQuery() {
- return this.queryString;
- }
- /**
- * Get Uri
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getUri() {
- return this.uri;
- }
- /**
- * Get Uri fragment
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getFragment() {
- return this.fragment;
- }
- /**
- * Get Uri path
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getPath() {
- return this.path;
- }
- /**
- * Get Uri path offset
- *
- * @return {number}
- *
- * @since 1.0.0
- */
- getPathOffset() {
- return jsOMS2.substr_count(this.root, "/") - 1;
- }
- };
-
- // jsOMS/Message/Response/Response.js
- var Response = class {
- /**
- * @constructor
- *
- * @param {Object} data Response data
- *
- * @since 1.0.0
- */
- constructor(data) {
- this.responses = data;
- }
- /**
- * Get response by id.
- *
- * @param {null|string} [id] Response id
- *
- * @return {any}
- *
- * @since 1.0.0
- */
- get(id = null) {
- return id === null ? this.responses : typeof this.responses[id] === "undefined" ? null : this.responses[id];
- }
- /**
- * Count the amount of responses.
- *
- * @return {number}
- *
- * @since 1.0.0
- */
- count() {
- return this.responses.length;
- }
- };
-
- // jsOMS/Message/Request/RequestMethod.js
- var RequestMethod = Object.freeze({
- POST: "POST",
- GET: "GET",
- PUT: "PUT",
- DELETE: "DELETE",
- HEAD: "HEAD"
- });
-
- // jsOMS/Message/Response/ResponseType.js
- var ResponseType = Object.freeze({
- TEXT: "text",
- JSON: "json",
- DOCUMENT: "document",
- BLOB: "blob",
- ARRAYBUFFER: "arraybuffer",
- DEFAULT: ""
- });
-
- // jsOMS/UI/Component/Input.js
- var Input = class {
- /**
- * @constructor
- *
- * @since 1.0.0
- */
- constructor() {
- this.visObs = null;
- }
- /**
- * Unbind input element
- *
- * @param {Element} input Input element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- static unbind(input) {
- this.app.inputManager.getKeyboardManager().unbind(input);
- }
- /**
- * Bind input element
- *
- * @param {Element} input Input element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- static bindElement(input = null) {
- if (input === null) {
- throw new Error("Input element required");
- }
- const type = input.type;
- const removeContentButton = input.parentNode.querySelector(".close");
- if (removeContentButton !== null && type !== "submit" && type !== "button") {
- removeContentButton.addEventListener("click", function() {
- input.value = "";
- input.focus();
- });
- }
- }
- /**
- * Add remote datalist options
- *
- * This only applies for datalists that have remote options
- *
- * @param {Element} input Input element
- * @param {Element} datalist Datalist element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- static addRemoteDatalistOptions(input, datalist) {
- this.clearDatalistOptions(datalist);
- const request = new Request();
- request.setData(input.value);
- request.setType(ResponseType.JSON);
- request.setUri(datalist.getAttribute("data-list-src"));
- request.setMethod(RequestMethod.POST);
- request.setRequestHeader("Content-Type", "application/json");
- request.setSuccess(function(xhr) {
- try {
- const o = JSON.parse(xhr.response);
- const response = new Response(o);
- const responseLength = response.count();
- let tempResponse = null;
- for (let k = 0; k < responseLength; ++k) {
- tempResponse = response.getByIndex(k);
- let option = null;
- const data = tempResponse.getData();
- const length = data.length;
- for (let i = 0; i < length; ++i) {
- option = document.createElement("option");
- option.value = tempResponse.value;
- option.text = tempResponse.text;
- datalist.appendChild(option);
- }
- }
- } catch (exception) {
- Logger.instance.error("Invalid JSON object: " + xhr, "FormManager");
- }
- });
- request.send();
- }
- /**
- * Remove all datalist options from datalist
- *
- * @param {Element} datalist Datalist element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- static clearDatalistOptions(datalist) {
- const length = datalist.options.length;
- for (let i = 0; i < length; ++i) {
- datalist.remove(0);
- }
- }
- };
-
- // jsOMS/Views/FormView.js
- var FormView = class _FormView {
- /**
- * @constructor
- *
- * @param {string} id Form id
- *
- * @since 1.0.0
- */
- constructor(id) {
- this.id = id;
- this.success = null;
- this.finally = null;
- this.lastSubmit = 0;
- this.form = null;
- this.submitInjects = [];
- this.method = "POST";
- this.action = "";
- this.hasChanges = false;
- this.bind();
- }
- /**
- * Initialize members
- *
- * Pulled out since this is used in a cleanup process
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- initializeMembers() {
- this.submitInjects = [];
- this.method = "POST";
- this.action = "";
- }
- /**
- * Get method
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getMethod() {
- return this.method;
- }
- /**
- * Get action
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getAction() {
- return this.action;
- }
- /**
- * Get time of last submit
- *
- * @return {int}
- *
- * @since 1.0.0
- */
- getLastSubmit() {
- return this.lastSubmit;
- }
- /**
- * Update last submit time
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- updateLastSubmit() {
- this.lastSubmit = Math.floor(Date.now());
- }
- /**
- * Is form data submitted on change?
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- isOnChange() {
- const isOnChange = this.getFormElement().getAttribute("data-on-change");
- return isOnChange === "true" || isOnChange === "1";
- }
- /**
- * Get submit elements
- *
- * @param {null|Element} [e] Root element for search (null = whole document)
- *
- * @return {NodeListOf}
- *
- * @since 1.0.0
- */
- getSubmit(e = null) {
- const parent = e === null ? document : e;
- return parent.querySelectorAll(
- "#" + this.id + " input[type=submit], button[form=" + this.id + "][type=submit], input[form=" + this.id + "][type=submit], #" + this.id + " button[type=submit], .submit[data-form=" + this.id + "], #" + this.id + " .submit" + (e !== null ? " .submit" : "")
- );
- }
- /**
- * Get submit elements
- *
- * @return {NodeListOf}
- *
- * @since 1.0.0
- */
- getImagePreviews() {
- return document.querySelectorAll(
- "#" + this.id + " input[type=file].preview"
- );
- }
- /**
- * Get edit elements
- *
- * @param {null|Element} [e] Root element for search (null = whole document)
- *
- * @return {NodeListOf}
- *
- * @since 1.0.0
- */
- getUpdate(e = null) {
- const parent = e === null ? document : e;
- return parent.querySelectorAll(
- "button[form=" + this.id + "].update-form, .update-form[data-form=" + this.id + "], #" + this.id + ' .update-form, [form="' + this.id + '"].update-form' + (e !== null ? ", .update-form" : "")
- );
- }
- /**
- * Get save elements
- *
- * @param {null|Element} [e] Root element for search (null = whole document)
- *
- * @return {NodeListOf}
- *
- * @since 1.0.0
- */
- getSave(e = null) {
- const parent = e === null ? document : e;
- return parent.querySelectorAll(
- "button[form=" + this.id + "].save-form, .save-form[data-form=" + this.id + "], #" + this.id + ' .save-form, [form="' + this.id + '"].save-form' + (e !== null ? ", .save-form" : "")
- );
- }
- /**
- * Get save elements
- *
- * @param {null|Element} [e] Root element for search (null = whole document)
- *
- * @return {NodeListOf}
- *
- * @since 1.0.0
- */
- getCancel(e = null) {
- const parent = e === null ? document : e;
- return parent.querySelectorAll(
- "#" + this.id + " input[type=reset], button[form=" + this.id + "][type=reset], input[form=" + this.id + "][type=reset], #" + this.id + " button[type=reset], button[form=" + this.id + "].cancel-form, .cancel-form[data-form=" + this.id + "], #" + this.id + ' .cancel-form, [form="' + this.id + '"].cancel-form' + (e !== null ? ", .cancel-form" : "")
- );
- }
- /**
- * Get remove buttons
- *
- * @param {null|Element} [e] Root element for search (null = whole document)
- *
- * @return {NodeListOf}
- *
- * @since 1.0.0
- */
- getRemove(e = null) {
- const parent = e === null ? document : e;
- return parent.querySelectorAll(
- "button[form=" + this.id + "].remove-form, .remove-form[data-form=" + this.id + "], #" + this.id + ' .remove-form, [form="' + this.id + '"].remove-form' + (e !== null ? ", .remove-form" : "")
- );
- }
- /**
- * Get add buttons
- *
- * The add button is different from the submit button since sometimes you want to show data to the user before you submit it.
- *
- * @param {null|Element} [e] Root element for search (null = whole document)
- *
- * @return {NodeListOf}
- *
- * @since 1.0.0
- */
- getAdd(e = null) {
- const parent = e === null ? document : e;
- return parent.querySelectorAll(
- "button[form=" + this.id + "].add-form, .add-form[data-form=" + this.id + "], #" + this.id + ' .add-form, [form="' + this.id + '"].add-form' + (e !== null ? ", .add-form" : "")
- );
- }
- /**
- * Get success callback
- *
- * @return {function}
- *
- * @since 1.0.0
- */
- getSuccess() {
- return this.success;
- }
- /**
- * Set success callback
- *
- * @param {function} callback Callback
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setSuccess(callback) {
- this.success = callback;
- }
- /**
- * Get finally callback
- *
- * @return {function}
- *
- * @since 1.0.0
- */
- getFinally() {
- return this.finally;
- }
- /**
- * Set finally callback
- *
- * @param {function} callback Callback
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setFinally(callback) {
- this.finally = callback;
- }
- /**
- * Inject submit with post callback
- *
- * @param {function} callback Callback
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- injectSubmit(callback) {
- this.submitInjects.push(callback);
- }
- /**
- * Get form elements
- *
- * @param {null|Object} [container] Data container, null = entire form or element e.g. table row
- *
- * @return {Element[]}
- *
- * @since 1.0.0
- */
- getFormElements(container = null) {
- const form = container === null ? this.getFormElement() : container;
- if (!form) {
- return [];
- }
- const selects = form.getElementsByTagName("select");
- const textareas = form.getElementsByTagName("textarea");
- const inputs = [].slice.call(form.getElementsByTagName("input"));
- const buttons = form.getElementsByTagName("button");
- const canvas = form.getElementsByTagName("canvas");
- const external = [].slice.call(document.querySelectorAll(":not(#" + this.id + ") [form=" + this.id + "]"));
- const special = form.querySelectorAll("[data-name]");
- const specialExt = document.querySelectorAll(":not(#" + this.id + ") [data-form=" + this.id + "]");
- const inputLength = inputs.length;
- const externalLength = external.length;
- const specialLength = specialExt.length;
- for (let i = 0; i < inputLength; ++i) {
- if (inputs[i] === void 0 || typeof inputs[i] !== "undefined" && (inputs[i].type === "checkbox" || inputs[i].type === "radio") && !inputs[i].checked) {
- delete inputs[i];
- }
- }
- for (let i = 0; i < externalLength; ++i) {
- if (external[i] === void 0 || typeof external[i] !== "undefined" && form.contains(external[i])) {
- delete external[i];
- continue;
- }
- if (external[i] === void 0 || typeof external[i] !== "undefined" && (external[i].type === "checkbox" || external[i].type === "radio") && !external[i].checked) {
- delete external[i];
- }
- }
- for (let i = 0; i < specialLength; ++i) {
- if (specialExt[i] === void 0 || typeof specialExt[i] !== "undefined" && form.contains(specialExt[i])) {
- delete specialExt[i];
- continue;
- }
- }
- return Array.prototype.slice.call(inputs).concat(
- Array.prototype.slice.call(selects),
- Array.prototype.slice.call(textareas),
- Array.prototype.slice.call(buttons),
- Array.prototype.slice.call(external),
- Array.prototype.slice.call(special),
- Array.prototype.slice.call(specialExt),
- Array.prototype.slice.call(canvas)
- ).filter(function(val) {
- return val;
- });
- }
- /**
- * Get first form element
- *
- * E.g. used to auto select first form element.
- *
- * @param {Element} e Root element for search (null = whole document)
- *
- * @return {Element}
- *
- * @since 1.0.0
- */
- getFirstInputElement(e = null) {
- const parent = e === null ? document : e;
- return parent.querySelector(
- "#" + this.id + " input, #" + this.id + " textarea, #" + this.id + " select, [form=" + this.id + "], [data-form=" + this.id + "]"
- );
- }
- /**
- * Get unique form elements
- *
- * @param {Array} arr Form element array
- *
- * @return {Array}
- *
- * @since 1.0.0
- */
- getUniqueFormElements(arr) {
- const seen = {};
- return arr.filter(function(item) {
- return Object.prototype.hasOwnProperty.call(seen, item.name) ? false : seen[item.name] = true;
- });
- }
- /**
- * Get form data
- *
- * @param {null|Element} Data container. Null = entire form, container e.g. single row in a table
- *
- * @return {FormData}
- *
- * @since 1.0.0
- */
- getData(container = null) {
- const data = {};
- const formData = new FormData();
- const elements = this.getFormElements(container);
- const length = elements.length;
- let value = null;
- for (let i = 0; i < length; ++i) {
- const id = _FormView.getElementId(elements[i]);
- if (id === null) {
- continue;
- }
- if (elements[i].tagName.toLowerCase() === "canvas") {
- value = elements[i].toDataURL("image/png");
- } else if (elements[i].tagName.toLowerCase() === "input" && elements[i].type === "file") {
- const filesLength = elements[i].files.length;
- for (let j = 0; j < filesLength; ++j) {
- formData.append(id + j, elements[i].files[j]);
- }
- } else if (elements[i].tagName.toLowerCase() === "iframe") {
- const iframeElements = Array.prototype.slice.call(
- elements[i].contentWindow.document.querySelectorAll("[form=" + this.id + "]")
- ).concat(
- Array.prototype.slice.call(
- elements[i].contentWindow.document.querySelectorAll("[data-form=" + this.id + "] [data-name]")
- )
- ).filter(function(val) {
- return val;
- });
- const iframeLength = iframeElements.length;
- for (let j = 0; j < iframeLength; ++j) {
- value = iframeElements[j].value;
- const iframeId = _FormView.getElementId(iframeElements[j]);
- if (Object.prototype.hasOwnProperty.call(data, iframeId)) {
- if (data[iframeId].constructor !== Array) {
- data[iframeId] = [data[iframeId]];
- }
- data[iframeId].push(value);
- } else {
- data[iframeId] = value;
- }
- }
- continue;
- } else if (typeof elements[i].value !== "undefined") {
- value = elements[i].value;
- } else if (elements[i].getAttribute("data-value") !== null) {
- value = elements[i].getAttribute("data-value");
- } else {
- value = elements[i].innerHTML;
- }
- if (Object.prototype.hasOwnProperty.call(data, id)) {
- if (data[id].constructor !== Array) {
- data[id] = [data[id]];
- }
- data[id].push(value);
- } else {
- data[id] = value;
- }
- }
- for (const key in data) {
- if (Object.prototype.hasOwnProperty.call(data, key)) {
- formData.append(
- key,
- data[key] !== null && data[key].constructor === Array ? JSON.stringify(data[key]) : data[key]
- );
- }
- }
- return formData;
- }
- /**
- * Reset the form values to the default values
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- resetValues() {
- const elements = this.getFormElements();
- const length = elements.length;
- const form = this.getFormElement();
- form.reset();
- for (let i = 0; i < length; ++i) {
- const id = _FormView.getElementId(elements[i]);
- if (id === null) {
- continue;
- }
- if (elements[i].tagName.toLowerCase() === "canvas") {
- elements[i].clearRect(0, 0, elements[i].width, elements[i].height);
- } else if (elements[i].tagName.toLowerCase() === "textarea") {
- elements[i].innerHTML = "";
- }
- if (elements[i].getAttribute("data-value") !== null) {
- elements[i].setAttribute("data-value", "");
- }
- if (elements[i].getAttribute("data-name") !== null) {
- elements[i].innerHTML = "";
- }
- }
- }
- /**
- * Get form id
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getId() {
- return this.id;
- }
- /**
- * Get the form element
- *
- * @return {Element}
- *
- * @since 1.0.0
- */
- getFormElement() {
- return this.form === null ? this.form = document.getElementById(this.id) : this.form;
- }
- /**
- * Validate form
- *
- * @param {null|Element[]}
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- isValid(data = null) {
- const elements = data === null ? this.getFormElements() : data;
- const length = elements.length;
- try {
- for (let i = 0; i < length; ++i) {
- if (!elements[i].required && elements[i].value === "") {
- continue;
- } else if (elements[i].required && elements[i].value === "" || elements[i].required && elements[i].getAttribute("type") === "checkbox" && !elements[i].checked || typeof elements[i].pattern !== "undefined" && elements[i].pattern !== "" && !new RegExp(elements[i].pattern).test(elements[i].value) || typeof elements[i].maxlength !== "undefined" && elements[i].maxlength !== "" && elements[i].value.length > elements[i].maxlength || typeof elements[i].minlength !== "undefined" && elements[i].minlength !== "" && elements[i].value.length < elements[i].minlength || typeof elements[i].max !== "undefined" && elements[i].max !== "" && elements[i].value > elements[i].max || typeof elements[i].min !== "undefined" && elements[i].min !== "" && elements[i].value < elements[i].min) {
- return false;
- }
- }
- } catch (e) {
- jsOMS2.Log.Logger.instance.error(e);
- }
- return true;
- }
- /**
- * Get invalid data
- *
- * @param {null|Element[]}
- *
- * @return {Element[]}
- *
- * @since 1.0.0
- */
- getInvalid(data = null) {
- const elements = data === null ? this.getFormElements() : data;
- const length = elements.length;
- const invalid = [];
- try {
- for (let i = 0; i < length; ++i) {
- if (elements[i].required && elements[i].value === "" || typeof elements[i].pattern !== "undefined" && elements[i].pattern !== "" && !new RegExp(elements[i].pattern).test(elements[i].value) || typeof elements[i].maxlength !== "undefined" && elements[i].maxlength !== "" && elements[i].value.length > elements[i].maxlength || typeof elements[i].minlength !== "undefined" && elements[i].minlength !== "" && elements[i].value.length < elements[i].minlength || typeof elements[i].max !== "undefined" && elements[i].max !== "" && elements[i].value > elements[i].max || typeof elements[i].min !== "undefined" && elements[i].min !== "" && elements[i].value < elements[i].min) {
- invalid.push(elements[i]);
- }
- }
- } catch (e) {
- jsOMS2.Log.Logger.instance.error(e);
- }
- return invalid;
- }
- /**
- * Get form element id
- *
- * @param {Element} e Element to get id from
- *
- * @return {null|string}
- *
- * @since 1.0.0
- */
- static getElementId(e) {
- if (e.getAttribute("name") !== null) {
- return e.getAttribute("name");
- } else if (e.getAttribute("data-name") !== null) {
- return e.getAttribute("data-name");
- } else if (e.getAttribute("id") !== null) {
- return e.getAttribute("id");
- } else if (e.getAttribute("type") !== null) {
- return e.getAttribute("type");
- }
- return null;
- }
- /**
- * Get submit injects
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getSubmitInjects() {
- return this.submitInjects;
- }
- /**
- * Bind form
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bind() {
- this.clean();
- this.form = this.getFormElement();
- if (this.form === null) {
- return;
- }
- if (typeof this.form.attributes.method !== "undefined") {
- this.method = this.form.attributes.method.value;
- } else if (typeof this.form.attributes["data-method"] !== "undefined") {
- this.method = this.form.attributes["data-method"].value;
- } else {
- this.method = "EMPTY";
- }
- if (typeof this.form.attributes.action !== "undefined") {
- this.action = this.form.attributes.action.value;
- } else if (typeof this.form.attributes["data-uri"] !== "undefined") {
- this.action = this.form.attributes["data-uri"].value;
- } else {
- this.action = "EMPTY";
- }
- const elements = this.getFormElements();
- const length = elements.length;
- for (let i = 0; i < length; ++i) {
- switch (elements[i].tagName.toLowerCase()) {
- case "input":
- Input.bindElement(elements[i]);
- break;
- case "select":
- break;
- case "textarea":
- break;
- case "button":
- break;
- default:
- }
- }
- }
- getElementsToBind(e = null) {
- const parent = e === null ? document : e;
- const externalElements = parent.querySelectorAll("[form=" + this.id + "]");
- return Array.prototype.slice.call(externalElements).concat(
- Array.prototype.slice.call([this.form])
- ).filter(function(val) {
- return val;
- });
- }
- /**
- * Clean form
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- clean() {
- this.initializeMembers();
- }
- };
-
- // jsOMS/Uri/UriFactory.js
- var UriFactory = class _UriFactory {
- /**
- * Set uri query
- *
- * @param {string} key Query key
- * @param {string} value Query value
- * @param {boolean} [overwrite] Overwrite if already exists?
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- static setQuery(key, value, overwrite = true) {
- if (overwrite || !Object.prototype.hasOwnProperty.call(_UriFactory.uri, key)) {
- _UriFactory.uri[key] = value;
- return true;
- }
- return false;
- }
- /**
- * Get query
- *
- * @param {string} key
- *
- * @return {null|string}
- *
- * @since 1.0.0
- */
- static getQuery(key) {
- return Object.prototype.hasOwnProperty.call(_UriFactory.uri, key) ? _UriFactory.uri[key] : null;
- }
- /**
- * Clear all uri components
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- static clearAll() {
- _UriFactory.uri = {};
- return true;
- }
- /**
- * Clear uri component
- *
- * @param {string} key Uri key for component
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- static clear(key) {
- if (Object.prototype.hasOwnProperty.call(_UriFactory.uri, key)) {
- delete _UriFactory.uri[key];
- return true;
- }
- return false;
- }
- /**
- * Clear uri components that follow a certain pattern
- *
- * @param {string} pattern Uri key pattern to remove
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- static clearLike(pattern) {
- let success = false;
- const regexp = new RegExp(pattern);
- for (const key in _UriFactory.uri) {
- if (Object.prototype.hasOwnProperty.call(_UriFactory.uri, key) && regexp.test(key)) {
- delete _UriFactory.uri[key];
- success = true;
- }
- }
- return success;
- }
- /**
- * Remove multiple definitions of the same parameter
- *
- * The parameters will be recognized from right to left since it's easier to push at the end.
- *
- * @param {string} url Url
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- static unique(url) {
- const parsed = HttpUri.parseUrl(url);
- const pars = [];
- if (url.includes("?")) {
- const parts = typeof parsed.query === "undefined" ? [] : parsed.query.replace(/\?/g, "&").split("&");
- const comps = {};
- const length = parts.length;
- let spl = null;
- if ((typeof parsed.fragment === "undefined" || parsed.fragment === null) && parts[length - 1].includes("#")) {
- const lastQuery = parts[length - 1].split("#")[1];
- parsed.fragment = lastQuery[1];
- parts[length - 1] = lastQuery[0];
- }
- for (let i = 0; i < length; ++i) {
- spl = parts[i].split("=");
- comps[spl[0]] = spl.length < 2 ? "" : spl[1];
- }
- for (const a in comps) {
- if (Object.prototype.hasOwnProperty.call(comps, a) && comps[a] !== "" && comps[a] !== null && typeof comps[a] !== "undefined") {
- pars.push(a + "=" + (comps[a].includes("%") ? comps[a] : encodeURIComponent(comps[a])));
- } else if (Object.prototype.hasOwnProperty.call(comps, a)) {
- pars.push(a);
- }
- }
- }
- const fragments = typeof parsed.fragment !== "undefined" ? parsed.fragment.split("#") : null;
- url = (typeof parsed.scheme !== "undefined" ? parsed.scheme + "://" : "") + (typeof parsed.username !== "undefined" ? parsed.username + ":" : "") + (typeof parsed.password !== "undefined" ? parsed.password + "@" : "") + (typeof parsed.host !== "undefined" ? parsed.host : "") + (typeof parsed.port !== "undefined" ? ":" + parsed.port : "") + (typeof parsed.path !== "undefined" ? parsed.path : "") + (typeof parsed.query !== "undefined" ? "?" + pars.join("&") : "") + (typeof parsed.fragment !== "undefined" ? "#" + fragments[fragments.length - 1] : "");
- return url;
- }
- static buildAbsolute(uri, toMatch = null) {
- if (uri.startsWith("/")) {
- return _UriFactory.build(window.location.origin + uri, toMatch);
- } else if (uri.indexOf("://") === -1) {
- return _UriFactory.build(window.location.origin + "/" + uri, toMatch);
- }
- return uri;
- }
- /**
- * Build uri
- *
- * # = DOM id
- * . = DOM class
- * / = Current path
- * ? = Current query
- * @ = Name attribute
- * $ =
- * % = Current url
- * ! = Query selector
- *
- * @param {string} uri Raw uri
- * @param {null|Object} [toMatch] Key/value pair to replace in raw
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- static build(uri, toMatch = null) {
- const current = HttpUri.parseUrl(window.location.href);
- const query = HttpUri.getAllUriQueryParameters(typeof current.query === "undefined" ? {} : current.query);
- for (const key in query) {
- if (Object.prototype.hasOwnProperty.call(query, key)) {
- _UriFactory.setQuery("?" + key, query[key]);
- }
- }
- let parsed = uri.replace(new RegExp("{[/#?%@.$!].*?}", "g"), function(match) {
- match = match.substring(1, match.length - 1);
- if (toMatch !== null && Object.prototype.hasOwnProperty.call(toMatch, match)) {
- return toMatch[match];
- } else if (typeof _UriFactory.uri[match] !== "undefined") {
- return _UriFactory.uri[match];
- } else if (match.indexOf("!") === 0) {
- const e = document.querySelector(match.substring(1));
- if (!e) {
- return "";
- }
- if (e.tagName.toLowerCase() !== "form") {
- return e.value;
- }
- let value = "";
- const form = new FormView(e.id).getData();
- for (const pair of form.entries()) {
- value += "&" + pair[0] + "=" + pair[1];
- }
- return value;
- } else if (match.indexOf("?") === 0) {
- return HttpUri.getUriQueryParameter(current.query, match.substring(1));
- } else if (match === "#") {
- return current.fragment;
- } else if (match.indexOf("#") === 0) {
- const e = document.getElementById(match.substring(1));
- if (e) {
- if (e.tagName.toLowerCase() !== "form") {
- return e.value;
- }
- let value = "";
- const form = new FormView(e.id).getData();
- for (const pair of form.entries()) {
- value += "&" + pair[0] + "=" + pair[1];
- }
- return value;
- }
- return "";
- } else if (match.indexOf("?") === 0) {
- return current.query();
- } else if (match.indexOf("/") === 0) {
- return current.path;
- } else if (match.indexOf(":user") === 0) {
- return current.user;
- } else if (match.indexOf(":pass") === 0) {
- return current.pass;
- } else if (match.indexOf("/") === 0) {
- return "ERROR PATH";
- } else if (match === "%") {
- return window.location.href;
- } else {
- return match;
- }
- });
- if (parsed.indexOf("?") === -1) {
- parsed = parsed.replace("&", "?");
- }
- return _UriFactory.unique(parsed);
- }
- /**
- * Set uri builder components.
- *
- * @param {HttpUri} uri Uri
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- static setupUriBuilder(uri) {
- _UriFactory.setQuery("/scheme", uri.getScheme());
- _UriFactory.setQuery("/host", uri.getHost());
- _UriFactory.setQuery("/base", jsOMS2.rtrim(uri.getBase(), "/"));
- }
- };
- UriFactory.uri = {};
-
- // jsOMS/Message/Request/RequestType.js
- var RequestType = Object.freeze({
- JSON: "json",
- RAW: "raw",
- FILE: "file",
- URL_ENCODE: "url",
- FORM_DATA: "formdata"
- });
-
- // jsOMS/Message/Request/Request.js
- var Request = class {
- /**
- * @constructor
- *
- * @param {null|string} [uri] Request uri
- * @param {null|string} [method] Request method/verb
- * @param {null|string} [type] Request content type
- *
- * @since 1.0.0
- */
- constructor(uri = null, method = null, type = null) {
- this.uri = uri;
- this.method = method !== null ? method : RequestMethod.GET;
- this.requestHeader = {};
- this.result = {};
- this.type = type !== null ? type : RequestType.JSON;
- this.data = {};
- this.requestHeader["Content-Type"] = this.setContentTypeBasedOnType(this.type);
- if (this.type === RequestType.FORM_DATA) {
- delete this.requestHeader["Content-Type"];
- }
- this.result[0] = function(xhr) {
- Logger2.getInstance().info('Unhandled response from "' + xhr.responseURL + '" with response data "' + xhr.response + '"');
- };
- this.xhr = new XMLHttpRequest();
- }
- /**
- * Defines the request content type based on the type
- *
- * @param {string} type Request type
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- setContentTypeBasedOnType(type) {
- switch (type) {
- case RequestType.JSON:
- return "application/json";
- case RequestType.URL_ENCODE:
- return "application/x-www-form-urlencoded";
- case RequestType.FILE:
- return "";
- case RequestType.FORM_DATA:
- return "multipart/form-data";
- default:
- return "*/*";
- }
- }
- /**
- * Set request method.
- *
- * @param {string} method Method type
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setMethod(method) {
- this.method = method;
- }
- /**
- * Get request method.
- *
- * EnumRequestMethod
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getMethod() {
- return this.method;
- }
- /**
- * Set response type.
- *
- * @param {string} type Method type
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setResponseType(type) {
- this.xhr.responseType = type;
- }
- /**
- * Get response type.
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getResponseType() {
- return this.responseType;
- }
- /**
- * Set request header.
- *
- * @param {string} type Request type
- * @param {string} header Request header
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setRequestHeader(type, header) {
- this.requestHeader[type] = header;
- if (header === "multipart/form-data") {
- delete this.requestHeader[type];
- }
- }
- /**
- * Get request header.
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getRequestHeader() {
- return this.requestHeader;
- }
- /**
- * Set request uri.
- *
- * @param {string} uri Request uri
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setUri(uri) {
- this.uri = uri;
- }
- /**
- * Get request uri.
- *
- * @return {null|string}
- *
- * @since 1.0.0
- */
- getUri() {
- return this.uri;
- }
- /**
- * Set success callback.
- *
- * @param {function} callback - Success callback
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setSuccess(callback) {
- this.result[200] = callback;
- }
- /**
- * Set result callback.
- *
- * @param {number} status Http response status
- * @param {function} callback Callback
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setResultCallback(status, callback) {
- this.result[status] = callback;
- }
- /**
- * Set request data.
- *
- * @param {Object} data Request data
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setData(data) {
- this.data = data;
- }
- /**
- * Get request data.
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getData() {
- return this.data;
- }
- /**
- * Set request type.
- *
- * @param {string} type Method type
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setType(type) {
- this.type = type;
- this.requestHeader["Content-Type"] = this.setContentTypeBasedOnType(this.type);
- }
- /**
- * Get request type.
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getType() {
- return this.type;
- }
- /**
- * Create query from object.
- *
- * @param {Object} obj Object to turn into uri query
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- queryfy(obj) {
- const str = [];
- for (const p in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, p)) {
- str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
- }
- }
- return str.join("&");
- }
- /**
- * Send request.
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- send() {
- if (this.uri === "") {
- return;
- }
- const self2 = this;
- if (this.xhr.readyState !== 1) {
- if (this.type === RequestType.FORM_DATA) {
- if (this.method === RequestMethod.GET) {
- let url = this.uri;
- for (const pair of this.data.entries()) {
- url += "&" + pair[0] + "=" + pair[1];
- }
- this.xhr.open(this.method, UriFactory.build(url));
- } else {
- this.xhr.open(this.method, UriFactory.build(this.uri));
- }
- } else {
- console.log(UriFactory.build(this.uri));
- this.xhr.open(this.method, UriFactory.build(this.uri));
- }
- for (const p in this.requestHeader) {
- if (Object.prototype.hasOwnProperty.call(this.requestHeader, p) && this.requestHeader[p] !== "") {
- if (this.requestHeader[p] !== "multipart/form-data") {
- this.xhr.setRequestHeader(p, this.requestHeader[p]);
- }
- }
- }
- }
- window.omsApp.logger.log(UriFactory.build(this.uri));
- window.omsApp.logger.log(this.xhr);
- this.xhr.onreadystatechange = function() {
- switch (self2.xhr.readyState) {
- case 4:
- if (typeof self2.result[self2.xhr.status] === "undefined") {
- self2.result[0](self2.xhr);
- } else {
- self2.result[self2.xhr.status](self2.xhr);
- }
- break;
- default:
- }
- };
- if (this.type === RequestType.JSON) {
- this.xhr.send(JSON.stringify(this.data));
- } else if (this.type === RequestType.RAW || this.type === RequestType.FILE) {
- this.xhr.send(this.data);
- } else if (this.type === RequestType.URL_ENCODE) {
- this.xhr.send(this.queryfy(this.data));
- } else if (this.type === RequestType.FORM_DATA) {
- this.xhr.send(this.data);
- }
- }
- };
-
- // jsOMS/System/BrowserType.js
- var BrowserType = Object.freeze({
- OPERA: "opera",
- FIREFOX: "firefox",
- SAFARI: "safari",
- IE: "msie",
- EDGE: "edge",
- CHROME: "chrome",
- BLINK: "blink",
- UNKNOWN: "unknown"
- });
-
- // jsOMS/System/OSType.js
- var OSType = Object.freeze({
- WINDOWS_10: "windows nt 10.0",
- /* Windows 10 */
- WINDOWS_81: "windows nt 6.3",
- /* Windows 8.1 */
- WINDOWS_8: "windows nt 6.2",
- /* Windows 8 */
- WINDOWS_7: "windows nt 6.1",
- /* Windows 7 */
- WINDOWS_VISTA: "windows nt 6.0",
- /* Windows Vista */
- WINDOWS_SERVER: "windows nt 5.2",
- /* Windows Server 2003/XP x64 */
- WINDOWS_XP: "windows nt 5.1",
- /* Windows XP */
- WINDOWS_XP_2: "windows xp",
- /* Windows XP */
- WINDOWS_2000: "windows nt 5.0",
- /* Windows 2000 */
- WINDOWS_ME: "windows me",
- /* Windows ME */
- WINDOWS_98: "win98",
- /* Windows 98 */
- WINDOWS_95: "win95",
- /* Windows 95 */
- WINDOWS_311: "win16",
- /* Windows 3.11 */
- MAC_OS_X: "macintosh",
- /* Mac OS X */
- MAC_OS_X_2: "mac os x",
- /* Mac OS X */
- MAC_OS_9: "mac_powerpc",
- /* Mac OS 9 */
- LINUX: "linux",
- /* Linux */
- UBUNTU: "ubuntu",
- /* Ubuntu */
- IPHONE: "iphone",
- /* IPhone */
- IPOD: "ipod",
- /* IPod */
- IPAD: "ipad",
- /* IPad */
- ANDROID: "android",
- /* Android */
- BLACKBERRY: "blackberry",
- /* Blackberry */
- MOBILE: "webos",
- /* Mobile */
- UNKNOWN: "UNKNOWN"
- /* Unknown */
- });
-
- // jsOMS/System/SystemUtils.js
- var SystemUtils = class {
- /**
- * Get browser.
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- static getBrowser() {
- if (!!window.opr && !!opr.addons || !!window.opera || navigator.userAgent.indexOf(" OPR/") >= 0) {
- return BrowserType.OPERA;
- } else if (typeof InstallTrigger !== "undefined") {
- return BrowserType.FIREFOX;
- } else if (Object.toString.call(window.HTMLElement).indexOf("Constructor") > 0) {
- return BrowserType.SAFARI;
- } else if (!!document.documentMode) {
- return BrowserType.IE;
- } else if (!!window.StyleMedia) {
- return BrowserType.EDGE;
- } else if (!!window.chrome && !!window.chrome.webstore) {
- return BrowserType.CHROME;
- } else if ((typeof isChrome !== "undefined" && isChrome || typeof isOpera !== "undefined" && isOpera) && !!window.CSS) {
- return BrowserType.BLINK;
- }
- return BrowserType.UNKNOWN;
- }
- /**
- * Get os.
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- static getOS() {
- for (const os in OSType) {
- if (Object.prototype.hasOwnProperty.call(OSType, os)) {
- if (navigator.appVersion.toLowerCase().indexOf(OSType[os]) !== -1) {
- return OSType[os];
- }
- }
- }
- return OSType.UNKNOWN;
- }
- };
-
- // jsOMS/Log/Logger.js
- var Logger2 = class _Logger {
- /**
- * @constructor
- *
- * @param {boolean} [verbose] Verbose logging
- * @param {boolean} [ui] Ui logging
- * @param {boolean} [remote] Remote logging
- *
- * @since 1.0.0
- */
- constructor(verbose = true, ui = true, remote = false) {
- this.verbose = verbose;
- this.ui = ui;
- this.remote = remote;
- }
- /**
- * Get logging instance
- *
- * @param {boolean} [verbose] Verbose logging
- * @param {boolean} [ui] Ui logging
- * @param {boolean} [remote] Remote logging
- *
- * @return {Logger}
- *
- * @since 1.0.0
- */
- static getInstance(verbose = true, ui = true, remote = false) {
- if (!_Logger.instance) {
- _Logger.instance = new _Logger(verbose, ui, remote);
- }
- return _Logger.instance;
- }
- /**
- * Interpolate message
- *
- * @param {string} message Message structure
- * @param {Object} [context] Context to put into message
- * @param {string} [level] Log level
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- interpolate(message, context) {
- message = typeof message === "undefined" ? _Logger.MSG_FULL : message;
- for (const replace in context) {
- if (Object.prototype.hasOwnProperty.call(context, replace) && typeof message === "string") {
- message = message.replace("{" + replace + "}", context[replace]);
- }
- }
- return typeof message !== "string" ? JSON.stringify(message) : message;
- }
- /**
- * Create context
- *
- * @param {string} message Message to display
- * @param {Object} [context] Context to put into message
- * @param {string} level Log level
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- createContext(message, context, level) {
- context.backtrace = console.trace();
- context.datetime = (/* @__PURE__ */ new Date()).toISOString();
- context.version = "1.0.0";
- context.os = SystemUtils.getOS();
- context.browser = SystemUtils.getBrowser();
- context.path = window.location.href;
- context.datetime = (/* @__PURE__ */ new Date()).toString();
- context.level = level;
- context.message = message;
- return context;
- }
- /**
- * Create log message
- *
- * @param {string} message Message to display
- * @param {Object} [context] Context to put into message
- * @param {string} level Log level
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- write(message, context, level) {
- context = this.createContext(message, context, level);
- if (this.verbose) {
- this.writeVerbose(message, context, level);
- }
- if (this.ui) {
- this.writeUi(message, context);
- }
- if (this.remote) {
- this.writeRemote(context);
- }
- }
- /**
- * Create ui log message
- *
- * @param {string} message Message to display
- * @param {Object} [context] Context to put into message
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- writeUi(message, context) {
- if (Notification.permission !== "granted" && Notification.permission !== "denied") {
- Notification.requestPermission().then(function(permission) {
- });
- }
- const notification = new Notification("Logger", { body: this.interpolate(message, context) });
- setTimeout(notification.close.bind(notification), 4e3);
- }
- /**
- * Create local log message in console
- *
- * @param {string} message Message to display
- * @param {Object} [context] Context to put into message
- * @param {string} level Log level
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- writeVerbose(message, context, level) {
- let color = "000";
- switch (level) {
- case "info":
- case "notice":
- case "log":
- color = "000";
- break;
- case "debug":
- color = "289E39";
- break;
- case "warning":
- case "alert":
- color = "FFA600";
- break;
- case "error":
- case "critical":
- case "emergency":
- color = "CF304A";
- break;
- default:
- }
- console.log("%c" + this.interpolate(message, context, level), "color: #" + color);
- }
- /**
- * Create remote log message
- *
- * @param {Object} [context] Context to put into message
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- writeRemote(context) {
- const request = new Request();
- request.setData(context);
- request.setType(jsOMS.Message.Response.Response.ResponseType.JSON);
- request.setUri("/{/lang}/api/log");
- request.setMethod(Request.RequestMethod.POST);
- request.setRequestHeader("Content-Type", "application/json");
- request.setSuccess(function(xhr) {
- });
- request.send();
- }
- /**
- * Create log message
- *
- * @param {string} message Message to display
- * @param {Object} [context] Context to put into message
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- emergency(message, context = {}) {
- this.write(message, context, LogLevel.EMERGENCY);
- }
- /**
- * Create log message
- *
- * @param {string} message Message to display
- * @param {Object} [context] Context to put into message
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- alert(message, context = {}) {
- this.write(message, context, LogLevel.ALERT);
- }
- /**
- * Create log message
- *
- * @param {string} message Message to display
- * @param {Object} [context] Context to put into message
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- critical(message, context = {}) {
- this.write(message, context, LogLevel.CRITICAL);
- }
- /**
- * Create log message
- *
- * @param {string} message Message to display
- * @param {Object} [context] Context to put into message
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- error(message, context = {}) {
- this.write(message, context, LogLevel.ERROR);
- }
- /**
- * Create log message
- *
- * @param {string} message Message to display
- * @param {Object} [context] Context to put into message
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- warning(message, context = {}) {
- this.write(message, context, LogLevel.WARNING);
- }
- /**
- * Create log message
- *
- * @param {string} message Message to display
- * @param {Object} [context] Context to put into message
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- notice(message, context = {}) {
- this.write(message, context, LogLevel.NOTICE);
- }
- /**
- * Create log message
- *
- * @param {string} message Message to display
- * @param {Object} [context] Context to put into message
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- info(message, context = {}) {
- this.write(message, context, LogLevel.INFO);
- }
- /**
- * Create log message
- *
- * @param {string} message Message to display
- * @param {Object} [context] Context to put into message
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- debug(message, context = {}) {
- this.write(message, context, LogLevel.DEBUG);
- }
- /**
- * Create log message
- *
- * @param {string} level Log level
- * @param {string} message Message to display
- * @param {Object} [context] Context to put into message
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- log(level, message, context = {}) {
- this.write(message, context, level);
- }
- /**
- * Create log message
- *
- * @param {string} message Message to display
- * @param {Object} [context] Context to put into message
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- console(message, context = {}) {
- this.writeVerbose(message, context, LogLevel.INFO);
- }
- };
- Logger2.instance = null;
- Logger2.MSG_FULL = "{datetime}; {level}; {version}; {os}; {browser}; {path}; {message}";
-
- // jsOMS/DataStorage/CacheManager.js
- var CacheManager = class {
- };
-
- // jsOMS/DataStorage/StorageManager.js
- var StorageManager = class {
- };
-
- // jsOMS/Event/EventManager.js
- var EventManager = class {
- /**
- * @constructor
- *
- * @since 1.0.0
- */
- constructor() {
- this.logger = Logger2.getInstance();
- this.groups = {};
- this.callbacks = {};
- }
- /**
- * Add event group (element)
- *
- * Adding the same event overwrites the existing one as "waiting"
- *
- * @param {string|number} group Group id
- * @param {string|number} id Event id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- addGroup(group, id) {
- if (typeof this.groups[group] === "undefined") {
- this.groups[group] = {};
- }
- this.groups[group][id] = false;
- }
- /**
- * Resets the group status
- *
- * @param {string|number} group Group id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- reset(group) {
- for (const id in this.groups[group]) {
- if (Object.prototype.hasOwnProperty.call(this.groups[group], id)) {
- this.groups[group][id] = false;
- }
- }
- }
- /**
- * Does group have outstanding events
- *
- * @param {string|number} group Group id
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- hasOutstanding(group) {
- if (typeof this.groups[group] === "undefined") {
- return false;
- }
- for (const id in this.groups[group]) {
- if (!Object.prototype.hasOwnProperty.call(this.groups[group], id) || !this.groups[group][id]) {
- return true;
- }
- }
- return false;
- }
- /**
- * Trigger event based on regex for group and/or id
- *
- * @param {string|number} group Group id (can be regex)
- * @param {string|number} [id] Event id (can be regex)
- * @param {null|Object} [data] Data for event
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- triggerSimilar(group, id = "", data = null) {
- const groupIsRegex = group.startsWith("/");
- const idIsRegex = id.startsWith("/");
- const groups = {};
- for (const groupName in this.groups) {
- const groupNameIsRegex = groupName.startsWith("/");
- if (groupIsRegex) {
- if (groupName.match(group)) {
- groups[groupName] = [];
- }
- } else if (groupNameIsRegex && group.match(groupName)) {
- groups[groupName] = [];
- } else if (groupName === group) {
- groups[groupName] = [];
- }
- }
- for (const groupName in groups) {
- for (const idName in this.groups[groupName]) {
- const idNameIsRegex = idName.startsWith("/");
- if (idIsRegex) {
- if (idName.match(id)) {
- groups[groupName].push(idName);
- }
- } else if (idNameIsRegex && id.match(idName)) {
- groups[groupName].push(id);
- } else if (idName === id) {
- groups[groupName].push([]);
- }
- }
- if (groups[groupName].length === 0) {
- groups[groupName].push(id);
- }
- }
- let triggerValue = false;
- for (const groupName in groups) {
- for (const id2 in groups[groupName]) {
- triggerValue = this.trigger(groupName, id2, data) || triggerValue;
- }
- }
- return triggerValue;
- }
- /**
- * Trigger event finished
- *
- * Executes the callback specified for this group if all events are finished
- *
- * @param {string|number} group Group id
- * @param {string|number} [id] Event id
- * @param {null|Object} [data] Data for event
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- trigger(group, id = "", data = null) {
- if (typeof this.callbacks[group] === "undefined") {
- return false;
- }
- if (Math.abs(Date.now() - this.callbacks[group].lastRun) < 300) {
- return false;
- }
- if (typeof this.groups[group] !== "undefined") {
- this.groups[group][id] = true;
- }
- if (this.hasOutstanding(group)) {
- return false;
- }
- const length = this.callbacks[group].callbacks.length;
- this.callbacks[group].lastRun = Date.now();
- for (let i = 0; i < length; ++i) {
- this.callbacks[group].callbacks[i](data);
- }
- if (this.callbacks[group].remove) {
- this.detach(group);
- } else if (this.callbacks[group].reset) {
- this.reset(group);
- }
- return true;
- }
- /**
- * Detach event
- *
- * @param {string|number} group Group id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- detach(group) {
- return this.detachCallback(group) | this.detachGroup(group);
- }
- /**
- * Detach callback
- *
- * @param {string|number} group Group id
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- detachCallback(group) {
- if (Object.prototype.hasOwnProperty.call(this.callbacks, group)) {
- delete this.callbacks[group];
- return true;
- }
- return false;
- }
- /**
- * Detach group
- *
- * @param {string|number} group Group id
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- detachGroup(group) {
- if (Object.prototype.hasOwnProperty.call(this.groups, group)) {
- delete this.groups[group];
- return true;
- }
- return false;
- }
- /**
- * Attach callback to event group
- *
- * @param {string|number} group Group id
- * @param {function} callback Callback or route for the event
- * @param {boolean} [remove] Should be removed after execution
- * @param {boolean} [reset] Reset after triggering
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- attach(group, callback, remove = false, reset = false) {
- if (!Object.prototype.hasOwnProperty.call(this.callbacks, group)) {
- this.callbacks[group] = { remove, reset, callbacks: [], lastRun: 0 };
- }
- this.callbacks[group].callbacks.push(callback);
- return true;
- }
- /**
- * Is a certain group already attached
- *
- * @param {string|number} group Group id
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- isAttached(group) {
- return Object.prototype.hasOwnProperty.call(this.callbacks, group);
- }
- /**
- * Count events
- *
- * @return {number}
- *
- * @since 1.0.0
- */
- count() {
- return Object.keys(this.callbacks).length;
- }
- };
-
- // jsOMS/Message/Response/ResponseManager.js
- var ResponseManager = class {
- /**
- * @constructor
- *
- * @since 1.0.0
- */
- constructor() {
- this.messages = {};
- }
- /**
- * Add response handler.
- *
- * This allows the response handler to generally handle responses and also handle specific requests if defined.
- *
- * @param {string} key Response key
- * @param {function} message Callback for message
- * @param {null|string} [request] Request id in order to only handle a specific request
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- add(key, message, request = null) {
- request = typeof request !== "undefined" ? request : "any";
- if (typeof this.messages[key] === "undefined") {
- this.messages[key] = [];
- }
- this.messages[key][request] = message;
- }
- /**
- * Execute a predefined callback.
- *
- * Tries to execute a request specific callback or otherwise a general callback if defined.
- *
- * @param {string} key Response key
- * @param {Object} data Date to use in callback
- * @param {null|Request} [request] Request id for request specific execution
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- run(key, data, request = null) {
- if (request !== null && typeof this.messages[key] !== "undefined" && typeof this.messages[key][request] !== "undefined") {
- this.messages[key][request](data);
- } else if (typeof this.messages[key] !== "undefined") {
- this.messages[key].null(data);
- } else {
- jsOMS2.Log.Logger.instance.warning("Undefined type: " + key);
- }
- }
- };
-
- // jsOMS/Account/AccountManager.js
- var AccountManager = class {
- /**
- * @constructor
- *
- * @since 1.0.0
- */
- constructor() {
- this.accounts = [];
- }
- /**
- * Add account.
- *
- * @param {Account} account Account
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- add(account) {
- this.accounts[account.getId()] = account;
- }
- /**
- * Remove account.
- *
- * @param {number} id Account id
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- remove(id) {
- if (typeof this.accounts[id] !== "undefined") {
- delete this.accounts[id];
- return true;
- }
- return false;
- }
- /**
- * Get account by id.
- *
- * @param {number} id Account id
- *
- * @return {null|Account}
- *
- * @since 1.0.0
- */
- get(id) {
- if (this.accounts[id]) {
- return this.accounts[id];
- }
- return null;
- }
- };
-
- // jsOMS/Message/Notification/NotificationLevel.js
- var NotificationLevel = Object.freeze({
- OK: "ok",
- INFO: "info",
- WARNING: "warning",
- ERROR: "error",
- HIDDEN: "hidden"
- });
-
- // jsOMS/Message/Notification/NotificationMessage.js
- var NotificationMessage = class {
- /**
- * @constructor
- *
- * @param {string} status Message status
- * @param {string} title Message title
- * @param {string} message Message content
- * @param {boolean} [vibrate] Vibrate
- * @param {boolean} [isSticky] Should remain in the ui until manually removed
- *
- * @since 1.0.0
- */
- constructor(status, title, message, vibrate = false, isSticky = false) {
- this.status = status;
- this.title = title;
- this.message = message;
- this.vibrate = vibrate;
- this.isSticky = isSticky;
- this.primaryButton = null;
- this.secondaryButton = null;
- this.duration = 3e3;
- }
- };
-
- // jsOMS/Message/Notification/NotificationType.js
- var NotificationType = Object.freeze({
- APP_NOTIFICATION: 1,
- BROWSER_NOTIFICATION: 2
- });
-
- // jsOMS/UI/Component/AdvancedInput.js
- var AdvancedInput = class _AdvancedInput {
- /**
- * @constructor
- *
- * @param {Element} e Element to bind
- * @param {EventManager} eventManager Event manager
- * @param {Object} observer Observer
- *
- * @since 1.0.0
- */
- constructor(e, eventManager, observer) {
- this.id = e.id;
- this.inputComponent = e;
- this.inputField = this.inputComponent.getElementsByClassName("input")[0];
- this.dropdownElement = document.getElementById(this.id + "-popup");
- this.tagElement = document.getElementById(this.id + "-tags");
- this.dataList = this.dropdownElement.getElementsByTagName("table")[0];
- this.dataListBody = this.dataList.getElementsByTagName("tbody")[0];
- this.dataTpl = document.getElementById(this.id + "-rowElement");
- this.tagTpl = this.tagElement !== null ? this.tagElement.getElementsByTagName("template")[0] : null;
- this.src = this.inputField.getAttribute("data-src");
- const self2 = this;
- this.inputField.addEventListener("focusout", function(e2) {
- if (e2.relatedTarget === null || e2.relatedTarget.parentElement === null || e2.relatedTarget.parentElement.parentElement === null || !jsOMS2.hasClass(e2.relatedTarget.parentElement.parentElement.parentElement, "popup")) {
- jsOMS2.removeClass(self2.dropdownElement, "active");
- }
- });
- this.inputField.addEventListener("keydown", function(e2) {
- if (e2.keyCode === 13 || e2.keyCode === 40) {
- jsOMS2.preventAll(e2);
- }
- if (e2.keyCode === 40) {
- self2.selectOption(self2.dataListBody.firstElementChild);
- jsOMS2.preventAll(e2);
- } else {
- self2.inputTimeDelay({ id: self2.id, delay: 300 }, self2.changeCallback, self2, e2);
- }
- });
- this.inputField.addEventListener("focusin", function(e2) {
- jsOMS2.addClass(self2.dropdownElement, "active");
- });
- this.dropdownElement.addEventListener("keydown", function(e2) {
- jsOMS2.preventAll(e2);
- if (e2.code === "Escape" || e2.code === "Delete" || e2.code === "Backspace") {
- self2.inputField.focus();
- self2.clearDataListSelection(self2);
- } else if (e2.code === "ArrowUp") {
- if (document.activeElement.previousElementSibling !== null) {
- self2.clearDataListSelection(self2);
- self2.selectOption(document.activeElement.previousElementSibling);
- }
- } else if (e2.code === "ArrowDown") {
- if (document.activeElement.nextElementSibling !== null) {
- self2.clearDataListSelection(self2);
- self2.selectOption(document.activeElement.nextElementSibling);
- }
- } else if (e2.code === "Enter" || e2.code === "Tab") {
- self2.clearDataListSelection(self2);
- self2.addToResultList(self2, document.activeElement);
- }
- });
- this.dropdownElement.addEventListener("focusout", function(e2) {
- self2.clearDataListSelection(self2);
- jsOMS2.removeClass(self2.dropdownElement, "active");
- });
- this.dropdownElement.addEventListener("click", function(e2) {
- if (document.activeElement.tagName.toLowerCase() !== "tr") {
- return;
- }
- self2.clearDataListSelection(self2);
- self2.addToResultList(self2, document.activeElement);
- jsOMS2.removeClass(self2.dropdownElement, "active");
- });
- observer.observe(this.tagElement, { childList: true, attributes: false, subtree: false });
- eventManager.attach(this.id + "-tags-childList", function(data) {
- const removes = data.target.querySelectorAll(".close");
- const removesLength = removes === null ? 0 : removes.length;
- if (removesLength < 1) {
- return;
- }
- removes[removesLength - 1].addEventListener("click", function(e2) {
- if (e2.target.parentNode.parentNode === null) {
- return;
- }
- e2.target.parentNode.parentNode.removeChild(e2.target.parentNode);
- });
- });
- }
- /**
- * Handle remote data response result
- *
- * This method adds remote results to the dropdown list for selecting
- *
- * @param {AdvancedInput} self This reference
- * @param {Object} data Response data
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- remoteCallback(self2, data) {
- window.omsApp.logger.log(data);
- data = JSON.parse(data.response)[0];
- const dataLength = data.length;
- if (self2.dropdownElement.getAttribute("data-active") === "true") {
- while (self2.dataListBody.firstChild) {
- self2.dataListBody.removeChild(self2.dataListBody.firstChild);
- }
- for (let i = 0; i < dataLength; ++i) {
- const newRow = self2.dataTpl.content.cloneNode(true);
- let fields = newRow.querySelectorAll("[data-tpl-text]");
- let fieldLength = fields.length;
- for (let j = 0; j < fieldLength; ++j) {
- fields[j].appendChild(
- document.createTextNode(
- jsOMS2.getArray(fields[j].getAttribute("data-tpl-text"), data[i])
- )
- );
- }
- fields = newRow.querySelectorAll("[data-tpl-value]");
- fieldLength = fields.length;
- for (let j = 0; j < fieldLength; ++j) {
- fields[j].setAttribute(
- "data-value",
- jsOMS2.getArray(fields[j].getAttribute("data-tpl-value"), data[i])
- );
- }
- newRow.firstElementChild.setAttribute("data-data", JSON.stringify(data[i]));
- self2.dataListBody.appendChild(newRow);
- self2.dataListBody.lastElementChild.addEventListener("focusout", function(e) {
- if (e.relatedTarget === null) {
- return;
- }
- let sibling = e.relatedTarget.parentNode.firstElementChild;
- do {
- if (sibling === e.relatedTarget) {
- jsOMS2.preventAll(e);
- return;
- }
- } while ((sibling = sibling.nextElementSibling) !== null);
- });
- }
- }
- }
- /**
- * Callback for input field content change
- *
- * @param {AdvancedInput} self This reference
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- changeCallback(self2) {
- if (typeof self2.src !== "undefined" && self2.src !== "") {
- const request = new Request(self2.src);
- request.setSuccess(function(data) {
- self2.remoteCallback(self2, data);
- });
- request.send();
- }
- }
- /**
- * Select element in dropdown (only mark it as selected)
- *
- * @param {Element} e Element to select in dropdown
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- selectOption(e) {
- e.focus();
- e.setAttribute("style", "background: #f00");
- jsOMS2.addClass(e, "active");
- }
- /**
- * Clear all selected/marked options in dropdown
- *
- * @param {AdvancedInput} self This reference
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- clearDataListSelection(self2) {
- const list = self2.dataListBody.getElementsByTagName("tr");
- const length = list.length;
- for (let i = 0; i < length; ++i) {
- list[i].setAttribute("style", "");
- jsOMS2.removeClass(list[i], "active");
- }
- }
- /**
- * Add selected dropdown elements to some final result list
- *
- * This can add the selected dropdown elements to a table, badge list etc. depending on the template structure.
- *
- * @param {AdvancedInput} self This reference
- * @param {Element} e Element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- addToResultList(self2, e) {
- const data = JSON.parse(e.getAttribute("data-data"));
- if (self2.inputField.getAttribute("data-autocomplete") === "true") {
- self2.inputField.value = jsOMS2.getArray(self2.inputField.getAttribute("data-value"), data);
- }
- if (self2.tagElement !== null && self2.tagElement.getAttribute("data-active") === "true") {
- const newTag = self2.tagTpl.content.cloneNode(true);
- let fields = newTag.querySelectorAll("[data-tpl-value]");
- let fieldLength = fields.length;
- let uuid = "";
- let value = "";
- for (let j = 0; j < fieldLength; ++j) {
- fields[j].setAttribute(
- "data-value",
- jsOMS2.getArray(fields[j].getAttribute("data-tpl-value"), data)
- );
- value = jsOMS2.getArray(fields[j].getAttribute("data-tpl-value"), data);
- uuid += value;
- }
- if (self2.tagElement.querySelectorAll('[data-tpl-uuid="' + uuid + '"').length !== 0) {
- return;
- }
- newTag.firstElementChild.setAttribute("data-tpl-uuid", uuid);
- fields = newTag.querySelectorAll("[data-tpl-text]");
- fieldLength = fields.length;
- for (let j = 0; j < fieldLength; ++j) {
- fields[j].appendChild(
- document.createTextNode(
- jsOMS2.getArray(fields[j].getAttribute("data-tpl-text"), data)
- )
- );
- }
- const regex = /{\/.*?}/g;
- const matches = newTag.firstElementChild.outerHTML.match(regex);
- const matchLength = matches === null ? 0 : matches.length;
- for (let i = 0; i < matchLength; ++i) {
- newTag.firstElementChild.outerHTML = newTag.firstElementChild.outerHTML.replace(
- matches[i],
- jsOMS2.getArray(matches[i].substring(1, matches[i].length - 1), data)
- );
- }
- if (self2.tagElement.childElementCount >= self2.tagElement.getAttribute("data-limit") && self2.tagElement.getAttribute("data-limit") !== "0") {
- self2.tagElement.removeChild(self2.tagElement.firstElementChild);
- }
- self2.tagElement.appendChild(newTag);
- }
- if (self2.inputField.getAttribute("data-emptyAfter") === "true") {
- self2.inputField.value = "";
- }
- self2.inputField.focus();
- }
- /**
- * Delay handler (e.g. delay after finishing typing)
- *
- * After waiting for a delay a callback can be triggered.
- *
- * @param {Object} action Action type
- * @param {function} callback Callback to be triggered
- * @param {AdvancedInput} self This reference (passed to callback)
- * @param {Object} data Data (passed to callback)
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- inputTimeDelay(action, callback, self2, data) {
- if (_AdvancedInput.timerDelay[action.id]) {
- clearTimeout(_AdvancedInput.timerDelay[action.id]);
- delete _AdvancedInput.timerDelay[action.id];
- }
- _AdvancedInput.timerDelay[action.id] = setTimeout(function() {
- delete _AdvancedInput.timerDelay[action.id];
- callback(self2, data);
- }, action.delay);
- }
- };
- AdvancedInput.timerDelay = {};
-
- // jsOMS/UI/GeneralUI.js
- var GeneralUI = class {
- /**
- * @constructor
- *
- * @param {Object} app Application object
- *
- * @since 1.0.0
- */
- constructor(app) {
- this.visObs = null;
- this.app = app;
- }
- /**
- * Bind button.
- *
- * @param {null|string} [id] Button id (optional)
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bind(id = null) {
- let e = null;
- if (id !== null) {
- e = document.getElementById(id);
- }
- this.bindHref(e);
- this.bindIframe(e);
- this.bindLazyLoad(e);
- this.bindInput(e);
- }
- /**
- * Bind & rebind UI element.
- *
- * @param {null|Element} [e] Element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindHref(e = null) {
- e = e !== null ? e.querySelectorAll("[data-href], [href]") : document.querySelectorAll("[data-href], [href]");
- const length = e.length;
- for (let i = 0; i < length; ++i) {
- if (e[i].getAttribute("data-action") !== null) {
- continue;
- }
- e[i].addEventListener("click", function(event) {
- if (event.target.parentElement !== this && event.target.parentElement.getElementsByTagName("input").length > 0 || event.target.getElementsByTagName("input").length > 0) {
- const input = event.target.querySelector("input");
- if (input !== null) {
- input.click();
- return;
- }
- }
- jsOMS2.preventAll(event);
- let uri = this.getAttribute("data-href");
- uri = uri === null ? this.getAttribute("href") : uri;
- if (this.getAttribute("target") === "_blank" || this.getAttribute("data-target") === "_blank" || event.button === 1) {
- window.open(UriFactory.build(uri), "_blank");
- } else if (this.getAttribute("data-redirect") !== null) {
- window.location.href = UriFactory.build(uri);
- } else if (uri !== null) {
- window.location = UriFactory.build(uri);
- }
- });
- }
- }
- /**
- * Bind & rebind UI element.
- *
- * @param {null|Element} [e] Element id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindIframe(e = null) {
- e = e !== null ? e : document.getElementsByTagName("iframe");
- const length = e.length;
- for (let i = 0; i < length; ++i) {
- if (e[i].getAttribute("data-src") !== null) {
- e[i].src = UriFactory.build(e[i].getAttribute("data-src"));
- }
- e[i].addEventListener("load", function() {
- const spinner = this.parentElement.getElementsByClassName("ispinner");
- if (spinner.length > 0) {
- spinner[0].style.display = "none";
- }
- });
- }
- }
- /**
- * Bind & rebind UI element.
- *
- * @param {null|Element} [e] Element id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindLazyLoad(e = null) {
- e = e !== null ? e.querySelectorAll("[data-lazyload]") : document.querySelectorAll("[data-lazyload]");
- const length = e.length;
- if (!this.visObs && window.IntersectionObserver) {
- this.visObs = new IntersectionObserver(function(eles, obs) {
- eles.forEach((ele) => {
- if (ele.intersectionRatio > 0) {
- obs.unobserve(ele.target);
- ele.target.src = ele.target.dataset.lazyload;
- delete ele.target.dataset.lazyload;
- }
- });
- });
- }
- for (let i = 0; i < length; ++i) {
- if (!this.visObs) {
- e[i].src = e[i].dataset.lazyload;
- delete e[i].dataset.lazyload;
- } else {
- this.visObs.observe(e[i]);
- }
- }
- }
- /**
- * Bind & rebind UI element.
- *
- * @param {null|Element} [e] Element id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindInput(e = null) {
- e = e !== null ? [e] : document.getElementsByClassName("advIpt");
- const length = e.length;
- for (let i = 0; i < length; ++i) {
- new AdvancedInput(e[i], this.app.eventManager, this.app.uiManager.getDOMObserver());
- }
- }
- /**
- * Set the value for an elment
- *
- * @param {Element} src Element to change the value for
- * @param {any} value Value to set
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- static setValueOfElement(src, value) {
- if (src.hasAttribute("data-value")) {
- src.setAttribute("data-value", value);
- return;
- }
- const tagName = src.tagName.toLowerCase();
- if (tagName === "input") {
- if (src.type === "radio") {
- src.checked = false;
- if (src.value === value) {
- src.checked = true;
- }
- } else if (src.type === "checkbox") {
- src.checked = false;
- const values = value.split(",");
- if (values.includes(src.value)) {
- src.checked = true;
- }
- } else {
- src.value = value;
- }
- } else if (tagName === "select") {
- const optionLength = src.options.length;
- for (let i = 0; i < optionLength; ++i) {
- if (src.options[i].value === value) {
- src.options[i].selected = true;
- break;
- }
- }
- } else if (src.getAttribute("value") !== null) {
- src.value = jsOMS2.htmlspecialchars_decode(value);
- } else {
- src.innerHTML = value;
- }
- }
- /**
- * Set the text for an elment
- *
- * @param {Element} src Element to change the text for
- * @param {string} value Text to set
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- static setTextOfElement(src, value) {
- const tagName = src.tagName.toLowerCase();
- if (tagName === "h1") {
- src.innerHTML = jsOMS2.htmlspecialchars_encode(value);
- } else if (src.getAttribute("value") !== null) {
- if (src.value === "") {
- src.value = jsOMS2.htmlspecialchars_decode(value);
- }
- } else if (tagName === "select") {
- const optionLength = src.options.length;
- for (let i = 0; i < optionLength; ++i) {
- if (src.options[i].text === value) {
- src.options[i].selected = true;
- break;
- }
- }
- } else {
- src.innerHTML = value;
- }
- }
- /**
- * Get value from element
- *
- * @param {Element} src Element to get the value from
- *
- * @return {any}
- *
- * @since 1.0.0
- */
- static getValueFromDataSource(src) {
- if (src.getAttribute("data-value") !== null) {
- return src.getAttribute("data-value");
- }
- const tagName = src.tagName.toLowerCase();
- if (tagName === "input" || src.getAttribute("value") !== null) {
- if (src.getAttribute("type") === "radio") {
- const checked = document.querySelector('input[type=radio][name="' + src.name + '"]:checked');
- if (checked === null) {
- return "";
- }
- src = checked;
- } else if (src.getAttribute("type") === "checkbox") {
- if (!src.checked) {
- return "";
- }
- }
- return src.value;
- } else if (tagName === "select") {
- return src.options[src.selectedIndex].value;
- } else {
- return src.innerText.trim(" ");
- }
- }
- /**
- * Get text from element
- *
- * @param {Element} src Element to get the text from
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- static getTextFromDataSource(src) {
- const tagName = src.tagName.toLowerCase();
- if (tagName === "input") {
- if (src.getAttribute("type") === "radio") {
- const checked = document.querySelector('input[type=radio][name="' + src.name + '"]:checked');
- if (checked === null) {
- return "";
- }
- return document.querySelector('label[for="' + checked.id + '"]').innerText.trim(" ");
- } else if (src.getAttribute("type") === "checkbox") {
- if (!src.checked) {
- return "";
- }
- return document.querySelector('label[for="' + src.id + '"]').innerText.trim(" ");
- }
- return src.value;
- } else if (tagName === "select") {
- return src.options[src.selectedIndex].text;
- } else if (src.getAttribute("value") !== null) {
- return src.value;
- } else {
- return src.innerHTML.trim(" ");
- }
- }
- };
-
- // jsOMS/UI/Component/Form.js
- var Form = class _Form {
- /**
- * @constructor
- *
- * @param {Object} app Application
- *
- * @since 1.0.0
- */
- constructor(app) {
- this.app = app;
- this.forms = {};
- this.ignore = {};
- }
- /**
- * Get form
- *
- * @param {string} id Form Id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- get(id) {
- if (!Object.prototype.hasOwnProperty.call(this.forms, id)) {
- this.bind(id);
- }
- return this.forms[id];
- }
- hasChanges() {
- const length = this.forms.length;
- for (let i = 0; i < length; ++i) {
- if (this.forms[i].hasChange()) {
- return true;
- }
- }
- return false;
- }
- /**
- * Is form ignored?
- *
- * @param {string} id Form Id
- *
- * @return {boolean}
- *
- * @since 1.0.0
- */
- isIgnored(id) {
- return this.ignore.indexOf(id) !== -1;
- }
- /**
- * Bind form
- *
- * @param {string} id Form Id (optional, if omitted all forms are searched and bound)
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bind(id = null) {
- if (id !== null && typeof this.ignore[id] === "undefined") {
- this.bindForm(id);
- return;
- }
- const forms = document.querySelectorAll("form, [data-tag=form]");
- const length = !forms ? 0 : forms.length;
- for (let i = 0; i < length; ++i) {
- const formId = forms[i].getAttribute("id");
- if (typeof formId !== "undefined" && formId !== null && typeof this.ignore[formId] === "undefined") {
- this.bindForm(formId);
- } else {
- Logger2.instance.info("A form doesn't have an ID.");
- }
- }
- }
- /**
- * Bind form
- *
- * @param {null|string} id Form Id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindForm(id = null) {
- if (id === null) {
- Logger2.instance.info("A form doesn't have an ID.");
- return;
- }
- this.forms[id] = new FormView(id);
- const self2 = this;
- let length = 0;
- const toBind = this.forms[id].getElementsToBind();
- const toBindLength = toBind.length;
- for (let i = 0; i < toBindLength; ++i) {
- toBind[i].addEventListener("click", function(event) {
- self2.formActions(self2, event, id);
- });
- if (!this.forms[id].isOnChange()) {
- toBind[i].addEventListener("change", function() {
- if (window.omsApp.state) {
- window.omsApp.state.hasChanges = true;
- }
- });
- }
- }
- const imgPreviews = this.forms[id].getImagePreviews();
- length = imgPreviews === null ? 0 : imgPreviews.length;
- for (let i = 0; i < length; ++i) {
- this.bindImagePreview(imgPreviews[i], id);
- }
- if (this.forms[id].isOnChange()) {
- const hasUiContainer = this.forms[id].getFormElement().getAttribute("data-ui-container");
- const onChangeContainer = hasUiContainer !== null ? this.forms[id].getFormElement().querySelector(hasUiContainer) : this.forms[id].getFormElement();
- onChangeContainer.addEventListener("change", function(event) {
- jsOMS2.preventAll(event);
- if (window.omsApp.state) {
- window.omsApp.state.hasChanges = true;
- }
- const target = event.target.tagName.toLowerCase();
- if (target === "input" || target === "textarea") {
- let dataParent = null;
- if (self2.forms[id].getFormElement().tagName.toLowerCase() === "table") {
- dataParent = event.srcElement.closest(self2.forms[id].getFormElement().getAttribute("data-ui-element"));
- }
- self2.submit(self2.forms[id], null, dataParent, "post");
- }
- });
- }
- }
- formActionRemove(self2, event, id, elementIndex) {
- jsOMS2.preventAll(event);
- const remove = self2.forms[id].getRemove()[elementIndex];
- const callback = function(xhr = null) {
- if (xhr !== null && xhr.status !== 200) {
- self2.app.notifyManager.send(
- new NotificationMessage(
- NotificationLevel.ERROR,
- "Failure",
- "Some failure happened"
- ),
- NotificationType.APP_NOTIFICATION
- );
- return;
- }
- const elementContainer = remove.closest(document.getElementById(id).getAttribute("data-ui-element"));
- window.omsApp.logger.log(document.getElementById(id).getAttribute("data-ui-element"));
- elementContainer.parentNode.removeChild(elementContainer);
- };
- const formElement = document.getElementById(id).getAttribute("action") !== null || document.getElementById(id).getAttribute("data-action") !== null ? self2.forms[id].getFormElement() : document.getElementById(id).getAttribute("data-update-form") !== null ? self2.forms[document.getElementById(id).getAttribute("data-update-form")].getFormElement() : document.getElementById(id).getAttribute("data-delete-form") !== null ? self2.forms[document.getElementById(id).getAttribute("data-delete-form")].getFormElement() : null;
- if (formElement !== null) {
- const deleteRequest = new Request(
- formElement.hasAttribute("data-action-delete") ? formElement.getAttribute("data-action-delete") : formElement.tagName.toLowerCase() !== "form" ? formElement.getAttribute("data-action") : formElement.getAttribute("action"),
- RequestMethod.DELETE
- );
- deleteRequest.setResultCallback(0, callback);
- deleteRequest.send();
- } else {
- callback();
- }
- }
- formActionAdd(self2, event, id, elementIndex) {
- jsOMS2.preventAll(event);
- if (!self2.forms[id].isValid()) {
- return;
- }
- if (document.getElementById(id).getAttribute("data-add-form") === null) {
- this.formActionAddInline(self2, event, id, elementIndex);
- } else {
- this.formActionAddExternal(self2, event, id, elementIndex);
- }
- }
- formActionAddInline(self2, event, id, elementIndex) {
- const formElement = self2.forms[id].getFormElement();
- const uiContainerName = formElement.getAttribute("data-ui-container");
- const uiContainer = uiContainerName.charAt(0) === "#" ? document.querySelector(uiContainerName) : formElement.querySelector(uiContainerName);
- if (formElement.getAttribute("data-update-tpl")) {
- const newElement = uiContainer.querySelector(formElement.getAttribute("data-update-tpl")).content.cloneNode(true);
- uiContainer.appendChild(newElement.firstElementChild);
- } else {
- const newElement = uiContainer.querySelector(formElement.getAttribute("data-add-tpl")).content.cloneNode(true);
- uiContainer.appendChild(newElement.firstElementChild);
- }
- }
- formActionAddExternal(self2, event, id, elementIndex) {
- const formElement = self2.forms[id].getFormElement();
- const uiContainerName = formElement.getAttribute("data-ui-container");
- const uiContainer = uiContainerName.charAt(0) === "#" ? document.querySelector(uiContainerName) : formElement.querySelector(uiContainerName);
- const addTpl = formElement.getAttribute("data-add-tpl").split(",");
- const addTplLength = addTpl.length;
- let vals = [];
- let texts = [];
- const newElements = [];
- for (let i = 0; i < addTplLength; ++i) {
- newElements.push(document.querySelector(addTpl[i]).content.cloneNode(true));
- const tplValue = newElements[i].querySelector("[data-tpl-value]").getAttribute("data-tpl-value");
- const dataOriginElement = tplValue.startsWith("http") || tplValue.startsWith("{") ? newElements[i].firstElementChild : formElement;
- vals = vals.concat(
- dataOriginElement.hasAttribute("data-tpl-value") ? dataOriginElement : Array.prototype.slice.call(dataOriginElement.querySelectorAll("[data-tpl-value]"))
- );
- texts = texts.concat(
- dataOriginElement.hasAttribute("data-tpl-text") ? dataOriginElement : Array.prototype.slice.call(dataOriginElement.querySelectorAll("[data-tpl-text]"))
- );
- _Form.setRandomIdForElement(newElements[i].firstElementChild);
- }
- const remoteUrls = {};
- self2.forms[id].setSuccess(function(response, xhr) {
- if (xhr.status !== 200) {
- return;
- }
- _Form.setDataInElement("value", newElements, vals, remoteUrls);
- _Form.setDataInElement("text", newElements, texts, remoteUrls);
- for (let i = 0; i < addTplLength; ++i) {
- uiContainer.appendChild(newElements[i].firstElementChild);
- }
- window.omsApp.logger.log(remoteUrls);
- UriFactory.setQuery("$id", response.get("response").id);
- _Form.setDataFromRemoteUrls(remoteUrls);
- self2.forms[id].resetValues();
- });
- self2.submit(self2.forms[id], self2.forms[id].getAdd()[elementIndex]);
- }
- formActionSave(self2, event, id, elementIndex) {
- jsOMS2.preventAll(event);
- if (document.querySelector('[data-update-form="' + id + '"') === null) {
- this.formActionSaveInline(self2, event, id, elementIndex);
- } else {
- this.formActionSaveExternal(self2, event, id, elementIndex);
- }
- }
- formActionSaveInline(self2, event, id, elementIndex) {
- if (!self2.forms[id].isValid()) {
- return;
- }
- const formElement = self2.forms[id].getFormElement();
- const uiContainerName = formElement.getAttribute("data-ui-container");
- const uiContainer = uiContainerName.charAt(0) === "#" ? document.querySelector(uiContainerName) : formElement.querySelector(uiContainerName);
- const updateElementNames = formElement.getAttribute("data-ui-element").split(",");
- const updateElementLength = updateElementNames.length;
- const updateElements = [];
- const elementContainer = event.target.closest(formElement.getAttribute("data-ui-element"));
- let vals = [];
- let texts = [];
- if (elementContainer.getAttribute("data-id") === null || elementContainer.getAttribute("data-id") === "") {
- const addTpl = formElement.getAttribute("data-add-tpl").split(",");
- const addTplLength = addTpl.length;
- const newElements = [];
- for (let i = 0; i < addTplLength; ++i) {
- newElements.push(document.querySelector(addTpl[i]).content.cloneNode(true));
- const tplValue = newElements[i].querySelector("[data-tpl-value]").getAttribute("data-tpl-value");
- const dataOriginElement = tplValue.startsWith("http") || tplValue.startsWith("{") ? newElements[i].firstElementChild : elementContainer;
- vals = vals.concat(
- dataOriginElement.hasAttribute("data-tpl-value") ? dataOriginElement : Array.prototype.slice.call(dataOriginElement.querySelectorAll("[data-tpl-value]"))
- );
- texts = texts.concat(
- dataOriginElement.hasAttribute("data-tpl-text") ? dataOriginElement : Array.prototype.slice.call(dataOriginElement.querySelectorAll("[data-tpl-text]"))
- );
- _Form.setRandomIdForElement(newElements[i].firstElementChild);
- }
- const remoteUrls = {};
- self2.forms[id].setSuccess(function(response, xhr) {
- if (xhr.status !== 200) {
- return;
- }
- _Form.setDataInElement("value", newElements, vals, remoteUrls);
- _Form.setDataInElement("text", newElements, texts, remoteUrls);
- for (let i = 0; i < addTplLength; ++i) {
- uiContainer.appendChild(newElements[i].firstElementChild);
- }
- elementContainer.parentNode.removeChild(elementContainer);
- window.omsApp.logger.log(remoteUrls);
- UriFactory.setQuery("$id", response.get("response").id);
- _Form.setDataFromRemoteUrls(remoteUrls);
- });
- } else {
- for (let i = 0; i < updateElementLength; ++i) {
- updateElementNames[i] = updateElementNames[i].trim();
- updateElements.push(
- formElement.querySelector(updateElementNames[i] + '[data-id="' + elementContainer.getAttribute("data-id") + '"]')
- );
- const updateValue = updateElements[i].querySelector("[data-tpl-value]").getAttribute("data-tpl-value");
- const dataOriginElement = updateValue.startsWith("http") || updateValue.startsWith("{") ? updateElements[i].firstElementChild : elementContainer;
- vals = vals.concat(
- dataOriginElement.hasAttribute("data-tpl-value") ? dataOriginElement : Array.prototype.slice.call(dataOriginElement.querySelectorAll("[data-tpl-value]"))
- );
- texts = texts.concat(
- dataOriginElement.hasAttribute("data-tpl-text") ? dataOriginElement : Array.prototype.slice.call(dataOriginElement.querySelectorAll("[data-tpl-text]"))
- );
- }
- const element = uiContainer.querySelector('.vh[data-id="' + elementContainer.getAttribute("data-id") + '"]');
- const remoteUrls = {};
- jsOMS2.removeClass(element, "vh");
- self2.forms[id].setSuccess(function(response, xhr) {
- if (xhr.status !== 200) {
- return;
- }
- _Form.setDataInElement("value", [element], vals, remoteUrls);
- _Form.setDataInElement("text", [element], texts, remoteUrls);
- elementContainer.parentNode.removeChild(elementContainer);
- _Form.setDataFromRemoteUrls(remoteUrls);
- });
- }
- }
- formActionSaveExternal(self2, event, id, elementIndex) {
- const mainForm = document.querySelector('[data-update-form="' + id + '"');
- const externalFormId = id;
- id = mainForm.getAttribute("id");
- if (!self2.forms[id].isValid()) {
- return;
- }
- const formElement = self2.forms[id].getFormElement();
- const externalFormElement = self2.forms[externalFormId].getFormElement();
- const updateElementNames = formElement.getAttribute("data-ui-element").split(",");
- const updateElementLength = updateElementNames.length;
- const updateElements = [];
- let vals = [];
- let texts = [];
- for (let i = 0; i < updateElementLength; ++i) {
- updateElementNames[i] = updateElementNames[i].trim();
- updateElements.push(
- formElement.querySelector(updateElementNames[i] + '[data-id="' + externalFormElement.getAttribute("data-id") + '"]')
- );
- const updateValue = updateElements[i].querySelector("[data-tpl-value]").getAttribute("data-tpl-value");
- const dataOriginElement = updateValue.startsWith("http") || updateValue.startsWith("{") ? updateElements[i].firstElementChild : externalFormElement;
- vals = vals.concat(
- dataOriginElement.hasAttribute("data-tpl-value") ? dataOriginElement : Array.prototype.slice.call(dataOriginElement.querySelectorAll("[data-tpl-value]"))
- );
- texts = texts.concat(
- dataOriginElement.hasAttribute("data-tpl-text") ? dataOriginElement : Array.prototype.slice.call(dataOriginElement.querySelectorAll("[data-tpl-text]"))
- );
- }
- const remoteUrls = {};
- for (let i = 0; i < updateElementLength; ++i) {
- jsOMS2.removeClass(updateElements[i], "animated");
- jsOMS2.removeClass(updateElements[i], "greenCircleFade");
- window.requestAnimationFrame((_) => {
- window.requestAnimationFrame((_2) => {
- jsOMS2.addClass(updateElements[i], "animated");
- jsOMS2.addClass(updateElements[i], "medium-duration");
- jsOMS2.addClass(updateElements[i], "greenCircleFade");
- });
- });
- }
- self2.forms[externalFormId].setSuccess(function(response, xhr) {
- if (xhr.status !== 200) {
- self2.forms[externalFormId].resetValues();
- return;
- }
- _Form.setDataInElement("value", updateElements, vals, remoteUrls);
- _Form.setDataInElement("text", updateElements, texts, remoteUrls);
- _Form.setDataFromRemoteUrls(remoteUrls);
- for (let i = 0; i < updateElementLength; ++i) {
- jsOMS2.removeClass(updateElements[i], "animated");
- jsOMS2.removeClass(updateElements[i], "greenCircleFade");
- jsOMS2.removeClass(updateElements[i], "medium-duration");
- window.requestAnimationFrame((_) => {
- window.requestAnimationFrame((_2) => {
- jsOMS2.addClass(updateElements[i], "animated medium-duration greenCircleFade");
- });
- });
- }
- self2.forms[externalFormId].resetValues();
- });
- externalFormElement.setAttribute("data-id", "");
- self2.submit(self2.forms[externalFormId], self2.forms[externalFormId].getSave()[elementIndex]);
- const addButtons = self2.forms[externalFormId].getAdd();
- let buttonLength = addButtons.length;
- for (let i = 0; i < buttonLength; ++i) {
- jsOMS2.removeClass(addButtons[i], "vh");
- }
- const saveButtons = self2.forms[externalFormId].getSave();
- buttonLength = saveButtons.length;
- for (let i = 0; i < buttonLength; ++i) {
- jsOMS2.addClass(saveButtons[i], "vh");
- }
- const cancelButtons = self2.forms[externalFormId].getCancel();
- buttonLength = cancelButtons.length;
- for (let i = 0; i < buttonLength; ++i) {
- jsOMS2.addClass(cancelButtons[i], "vh");
- }
- }
- formActionCancel(self2, event, id, elementIndex) {
- const ele = document.getElementById(id);
- if (ele.getAttribute("data-update-form") === null && ele.getAttribute("data-ui-container") !== null && ele.getAttribute("data-ui-element") !== null) {
- this.formActionCancelInline(self2, event, id, elementIndex);
- } else {
- this.formActionCancelExternal(self2, event, id, elementIndex);
- }
- }
- formActionCancelInline(self2, event, id, elementIndex) {
- const formElement = self2.forms[id].getFormElement();
- const uiContainerName = formElement.getAttribute("data-ui-container");
- const uiContainer = uiContainerName.charAt(0) === "#" ? document.querySelector(uiContainerName) : formElement.querySelector(uiContainerName);
- const elementContainer = event.target.closest(formElement.getAttribute("data-ui-element"));
- const element = uiContainer.querySelector('.vh[data-id="' + elementContainer.getAttribute("data-id") + '"]');
- jsOMS2.removeClass(element, "vh");
- elementContainer.parentNode.removeChild(elementContainer);
- }
- formActionCancelExternal(self2, event, id, elementIndex) {
- self2.forms[id].resetValues();
- self2.forms[id].getFormElement().setAttribute("data-id", "");
- let length = 0;
- const addButtons = self2.forms[id].getAdd();
- length = addButtons.length;
- for (let i = 0; i < length; ++i) {
- jsOMS2.removeClass(addButtons[i], "vh");
- }
- const saveButtons = self2.forms[id].getSave();
- length = saveButtons.length;
- for (let i = 0; i < length; ++i) {
- jsOMS2.addClass(saveButtons[i], "vh");
- }
- const cancelButtons = self2.forms[id].getCancel();
- length = cancelButtons.length;
- for (let i = 0; i < length; ++i) {
- jsOMS2.addClass(cancelButtons[i], "vh");
- }
- }
- formActionUpdate(self2, event, id, elementIndex) {
- jsOMS2.preventAll(event);
- if (document.getElementById(id).getAttribute("data-update-form") === null) {
- this.formActionUpdateInline(self2, event, id, elementIndex);
- } else {
- this.formActionUpdateExternal(self2, event, id, elementIndex);
- }
- }
- formActionUpdateInline(self2, event, id, elementIndex) {
- const formElement = self2.forms[id].getFormElement();
- const uiContainerName = formElement.getAttribute("data-ui-container");
- let elementContainer = event.target.closest(formElement.getAttribute("data-ui-element"));
- if (elementContainer === null) {
- elementContainer = formElement.querySelector(formElement.getAttribute("data-ui-element"));
- }
- jsOMS2.addClass(elementContainer, "vh");
- const values = elementContainer.querySelectorAll("[data-tpl-value]");
- const texts = elementContainer.querySelectorAll("[data-tpl-text]");
- const uiContainer = uiContainerName.charAt(0) === "#" ? document.querySelector(uiContainerName) : formElement.querySelector(uiContainerName);
- const addTpl = formElement.getAttribute("data-update-tpl").split(",");
- const addTplLength = addTpl.length;
- const newElements = [];
- for (let i = 0; i < addTplLength; ++i) {
- newElements.push(document.querySelector(addTpl[i]).content.cloneNode(true));
- newElements[i].firstElementChild.setAttribute("data-id", elementContainer.getAttribute("data-id"));
- }
- const remoteUrls = {};
- _Form.setDataInElement("value", newElements, values, remoteUrls);
- _Form.setDataInElement("text", newElements, texts, remoteUrls);
- for (let i = 0; i < addTplLength; ++i) {
- uiContainer.insertBefore(newElements[i].firstElementChild, elementContainer);
- }
- const saveButtons = self2.forms[id].getSave();
- let buttonLength = saveButtons.length;
- for (let i = 0; i < buttonLength; ++i) {
- jsOMS2.removeClass(saveButtons[i], "vh");
- }
- const cancelButtons = self2.forms[id].getCancel();
- buttonLength = cancelButtons.length;
- for (let i = 0; i < buttonLength; ++i) {
- jsOMS2.removeClass(cancelButtons[i], "vh");
- }
- self2.forms[id].setSuccess(function(response) {
- if (response.get("status") !== "undefined" && response.get("status") !== NotificationLevel.HIDDEN) {
- self2.app.notifyManager.send(
- new NotificationMessage(response.get("status"), response.get("title"), response.get("message")),
- NotificationType.APP_NOTIFICATION
- );
- }
- window.omsApp.logger.log(remoteUrls);
- UriFactory.setQuery("$id", response.get("response").id);
- _Form.setDataFromRemoteUrls(remoteUrls);
- });
- }
- formActionUpdateExternal(self2, event, id, elementIndex) {
- const formElement = self2.forms[id].getFormElement();
- const elementContainer = event.target.closest(formElement.getAttribute("data-ui-element"));
- const externalFormId = formElement.getAttribute("data-update-form");
- const values = elementContainer.querySelectorAll("[data-tpl-value]");
- const texts = elementContainer.querySelectorAll("[data-tpl-text]");
- let length = 0;
- self2.forms[externalFormId].resetValues();
- self2.forms[externalFormId].getFormElement().setAttribute("data-id", elementContainer.getAttribute("data-id"));
- const addButtons = self2.forms[externalFormId].getAdd();
- length = addButtons.length;
- for (let i = 0; i < length; ++i) {
- jsOMS2.addClass(addButtons[i], "vh");
- }
- const saveButtons = self2.forms[externalFormId].getSave();
- length = saveButtons.length;
- for (let i = 0; i < length; ++i) {
- jsOMS2.removeClass(saveButtons[i], "vh");
- }
- const cancelButtons = self2.forms[externalFormId].getCancel();
- length = cancelButtons.length;
- for (let i = 0; i < length; ++i) {
- jsOMS2.removeClass(cancelButtons[i], "vh");
- }
- const remoteUrls = {};
- _Form.insertDataIntoForm(self2, "value", externalFormId, values, remoteUrls);
- length = texts.length;
- const length2 = values.length;
- for (let i = 0; i < length; ++i) {
- const tagName = texts[i].tagName.toLowerCase();
- if (tagName === "select") {
- for (let j = 0; j < length2; ++j) {
- if (values[j].getAttribute("name") === texts[i].getAttribute("name")) {
- texts[i] = null;
- break;
- }
- }
- }
- }
- _Form.insertDataIntoForm(self2, "text", externalFormId, texts, remoteUrls);
- self2.forms[externalFormId].setSuccess(function(response) {
- if (response.get("status") !== "undefined" && response.get("status") !== NotificationLevel.HIDDEN) {
- self2.app.notifyManager.send(
- new NotificationMessage(response.get("status"), response.get("title"), response.get("message")),
- NotificationType.APP_NOTIFICATION
- );
- }
- window.omsApp.logger.log(remoteUrls);
- UriFactory.setQuery("$id", response.get("response").id);
- _Form.setDataFromRemoteUrls(remoteUrls);
- });
- }
- formActions(self2, event, id) {
- let elementIndex = 0;
- if ((elementIndex = Array.from(self2.forms[id].getRemove()).indexOf(event.target)) !== -1) {
- this.formActionRemove(self2, event, id, elementIndex);
- } else if ((elementIndex = Array.from(self2.forms[id].getAdd()).indexOf(event.target)) !== -1) {
- this.formActionAdd(self2, event, id, elementIndex);
- } else if ((elementIndex = Array.from(self2.forms[id].getSave()).indexOf(event.target)) !== -1) {
- this.formActionSave(self2, event, id, elementIndex);
- } else if ((elementIndex = Array.from(self2.forms[id].getCancel()).indexOf(event.target)) !== -1) {
- jsOMS2.preventAll(event);
- this.formActionCancel(self2, event, id, elementIndex);
- } else if ((elementIndex = Array.from(self2.forms[id].getUpdate()).indexOf(event.target)) !== -1) {
- this.formActionUpdate(self2, event, id, elementIndex);
- } else if ((elementIndex = Array.from(self2.forms[id].getSubmit()).indexOf(event.target)) !== -1 || (elementIndex = Array.from(self2.forms[id].getSubmit()).indexOf(event.target.parentNode)) !== -1) {
- jsOMS2.preventAll(event);
- self2.submit(self2.forms[id], self2.forms[id].getSubmit()[elementIndex]);
- } else if (false) {
- }
- }
- /**
- * Create the new input
- *
- * @param {string} imageUpload Create form
- * @param {Object} id Id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindImagePreview(imageUpload, id) {
- imageUpload.addEventListener("change", function() {
- const preview = document.querySelector("#preview-" + imageUpload.getAttribute("name"));
- preview.src = window.URL.createObjectURL(imageUpload.files[0]);
- preview.onload = function() {
- window.URL.revokeObjectURL(this.src);
- };
- });
- }
- /**
- * Submit form
- *
- * Calls injections first before executing the actual form submit
- *
- * @param {FormView} form Form object
- * @param {Element} button Action different from the form action (e.g. formaction=*)
- * @param {string} method Form method
- * @param {string} action Form action
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- submit(form, button = null, container = null, method = null, action = null) {
- const self2 = this;
- const injects = form.getSubmitInjects();
- let counter = 0;
- if (button !== null) {
- action = button.getAttribute("formaction");
- }
- if (button !== null) {
- method = button.getAttribute("formmethod");
- }
- if (!this.app.eventManager.isAttached(form.getId())) {
- this.app.eventManager.attach(form.getId(), function() {
- self2.submitForm(form, action, method, container);
- }, true);
- }
- for (const property in injects) {
- if (Object.prototype.hasOwnProperty.call(injects, property)) {
- ++counter;
- const result = injects[property](form, form.getId());
- if (result === false) {
- return;
- }
- } else {
- Logger2.instance.warning("Invalid property.");
- }
- }
- if (counter < 1) {
- this.app.eventManager.trigger(form.getId());
- }
- const firstFormInputElement = form.getFirstInputElement();
- if (firstFormInputElement !== null) {
- firstFormInputElement.focus();
- }
- }
- /**
- * Submit form data
- *
- * Submits the main form data
- *
- * @param {FormView} form Form object
- * @param {string} [action] Action different from the form action (e.g. formaction=*)
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- submitForm(form, action = null, method = null, container = null) {
- const data = form.getData(container);
- if (!form.isValid(data)) {
- this.app.notifyManager.send(
- new NotificationMessage(
- NotificationLevel.INFO,
- jsOMS2.lang.Info,
- jsOMS2.lang.invalid_form
- ),
- NotificationType.APP_NOTIFICATION
- );
- Logger2.instance.debug('Form "' + form.getId() + '" has invalid values.');
- return;
- }
- if (form.getMethod() !== RequestMethod.GET && Math.abs(Date.now() - form.getLastSubmit()) < 500) {
- return;
- }
- form.updateLastSubmit();
- const request = new Request();
- const self2 = this;
- const redirect = form.getFormElement().getAttribute("data-redirect");
- request.setData(data);
- request.setType(RequestType.FORM_DATA);
- request.setUri(action !== null ? action : form.getAction());
- request.setMethod(method !== null ? method : form.getMethod());
- request.setResultCallback(0, function(xhr) {
- window.omsApp.logger.log(xhr.response);
- const headerLocation = xhr.getResponseHeader("location");
- if (headerLocation !== null) {
- window.location = headerLocation;
- }
- let statusCode = null;
- if (xhr.getResponseHeader("content-type").includes("application/octet-stream")) {
- const blob = new Blob([xhr.response], { type: "application/octet-stream" });
- const doc = document.createElement("a");
- doc.style = "display: none";
- document.body.appendChild(doc);
- const url = window.URL.createObjectURL(blob);
- doc.href = url;
- const disposition = xhr.getResponseHeader("content-disposition");
- let filename = "";
- if (disposition && disposition.indexOf("attachment") !== -1) {
- const filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
- const matches = filenameRegex.exec(disposition);
- if (matches !== null && matches[1]) {
- filename = matches[1].replace(/['"]/g, "");
- }
- }
- doc.download = filename;
- doc.click();
- window.URL.revokeObjectURL(url);
- document.body.removeChild(doc);
- } else if (xhr.getResponseHeader("content-type").includes("text/html")) {
- document.documentElement.innerHTML = xhr.response;
- window.omsApp.reInit();
- } else {
- try {
- const o = JSON.parse(xhr.response)[0];
- const response = new Response(o);
- let successInject = null;
- statusCode = parseInt(xhr.getResponseHeader("status"));
- if ((successInject = form.getSuccess()) !== null && (statusCode === 200 || statusCode === null)) {
- successInject(response, xhr);
- form.setSuccess(null);
- }
- if (response.get("type") !== null) {
- self2.app.responseManager.run(response.get("type"), response.get(), null);
- } else if (typeof o.status !== "undefined" && o.status !== NotificationLevel.HIDDEN) {
- self2.app.notifyManager.send(
- new NotificationMessage(o.status, o.title, o.message),
- NotificationType.APP_NOTIFICATION
- );
- }
- } catch (e) {
- Logger2.instance.log(e);
- Logger2.instance.error(
- "Invalid form response. \nURL: " + form.getAction() + "\nRequest: " + JSON.stringify(form.getData()) + "\nResponse: " + xhr.response
- );
- self2.app.notifyManager.send(
- new NotificationMessage(
- NotificationLevel.ERROR,
- "Failure",
- "Some failure happened"
- ),
- NotificationType.APP_NOTIFICATION
- );
- }
- }
- if (redirect !== null && (statusCode === 200 || statusCode === null)) {
- fetch(UriFactory.build(redirect)).then((response) => response.text()).then((html) => {
- document.documentElement.innerHTML = html;
- if (window.omsApp.state) {
- window.omsApp.state.hasChanges = false;
- }
- history.pushState({}, null, UriFactory.build(redirect));
- window.omsApp.reInit();
- }).catch((error) => {
- console.warn(error);
- });
- }
- });
- if (window.omsApp.state) {
- window.omsApp.state.hasChanges = false;
- }
- request.send();
- if (form.getFinally() !== null) {
- form.getFinally()();
- }
- }
- /**
- * Count the bound forms
- *
- * @return {int}
- *
- * @since 1.0.0
- */
- count() {
- return this.forms.length;
- }
- static setDataFromRemoteUrls(remoteUrls) {
- for (const e in remoteUrls) {
- const request = new Request(e);
- request.setResultCallback(200, function(xhr) {
- const remoteUrlsLength = remoteUrls[e].length;
- for (let k = 0; k < remoteUrlsLength; ++k) {
- const path = remoteUrls[e][k].path;
- if (remoteUrls[e][k].type === "value") {
- GeneralUI.setValueOfElement(
- remoteUrls[e][k].element,
- path !== null ? jsOMS2.getArray(path, JSON.parse(xhr.response)) : xhr.response
- );
- } else {
- GeneralUI.setTextOfElement(
- remoteUrls[e][k].element,
- path !== null ? jsOMS2.getArray(path, JSON.parse(xhr.response)) : xhr.response
- );
- }
- }
- });
- request.send();
- }
- }
- /**
- * Set random data-id of a element
- *
- * @param {HTMLElement} element Element to set the data-id for
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- static setRandomIdForElement(element) {
- if (element.getAttribute("data-id") !== null && element.getAttribute("data-id") !== "") {
- return;
- }
- let eleId = "";
- do {
- eleId = "r-" + Math.random().toString(36).substring(7);
- } while (document.querySelector('[data-id="' + eleId + '"]') !== null);
- element.setAttribute("data-id", eleId);
- return eleId;
- }
- static setDataInElement(type, elements, data, remoteUrls = {}) {
- const changedNodes = [];
- const length = data.length;
- const elementsLength = elements.length;
- for (let i = 0; i < length; ++i) {
- const path = data[i].hasAttribute("data-tpl-" + type + "-path") ? data[i].getAttribute("data-tpl-" + type + "-path") : null;
- for (let j = 0; j < elementsLength; ++j) {
- const element = elements[j] instanceof DocumentFragment ? elements[j].firstElementChild : elements[j];
- const matches = element.hasAttribute("data-tpl-" + type) && element.getAttribute("data-tpl-" + type) === data[i].getAttribute("data-tpl-" + type) ? [element] : element.querySelectorAll(
- "[data-tpl-" + type + '="' + data[i].getAttribute("data-tpl-" + type) + '"'
- );
- const matchLength = matches.length;
- for (let c = 0; c < matchLength; ++c) {
- if (changedNodes.includes(matches[c]) || path !== null && path !== matches[c].getAttribute("data-tpl-" + type + "-path")) {
- continue;
- }
- changedNodes.push(matches[c]);
- if (data[i].getAttribute("data-tpl-" + type).startsWith("http") || data[i].getAttribute("data-tpl-" + type).startsWith("{")) {
- _Form.populateRemoteUrls(matches[c], type, data[i], path, remoteUrls);
- } else {
- if (type === "value") {
- GeneralUI.setValueOfElement(matches[c], GeneralUI.getValueFromDataSource(data[i]));
- } else if (type === "text") {
- GeneralUI.setTextOfElement(matches[c], GeneralUI.getTextFromDataSource(data[i]));
- }
- }
- }
- }
- }
- }
- static insertDataIntoForm(self2, type, formId, data, remoteUrls = {}) {
- const length = data.length;
- for (let i = 0; i < length; ++i) {
- if (data[i] === null) {
- continue;
- }
- const matches = self2.forms[formId].getFormElement().querySelectorAll("[data-tpl-" + type + '="' + data[i].getAttribute("data-tpl-" + type) + '"');
- const path = data[i].hasAttribute("data-tpl-" + type + "-path") ? data[i].getAttribute("data-tpl-" + type + "-path") : null;
- const matchLength = matches.length;
- for (let c = 0; c < matchLength; ++c) {
- if (data[i].getAttribute("data-tpl-" + type).startsWith("http") || data[i].getAttribute("data-tpl-" + type).startsWith("{")) {
- _Form.populateRemoteUrls(matches[c], type, data[i], path, remoteUrls);
- } else {
- if (type === "value") {
- GeneralUI.setValueOfElement(matches[c], GeneralUI.getValueFromDataSource(data[i]));
- } else if (type === "text" && (data[i].getAttribute("data-tpl-text") !== data[i].getAttribute("data-tpl-value") || data[i].getAttribute("data-value") !== null)) {
- GeneralUI.setTextOfElement(matches[c], GeneralUI.getTextFromDataSource(data[i]));
- }
- }
- }
- }
- }
- static populateRemoteUrls(ele, type, data, path, remoteUrls) {
- const uri = data.getAttribute("data-tpl-" + type).startsWith("/") ? document.getElementsByTagName("base")[0].href : "";
- if (remoteUrls[uri + data.getAttribute("data-tpl-" + type)] === void 0) {
- remoteUrls[uri + data.getAttribute("data-tpl-" + type)] = [];
- }
- remoteUrls[uri + data.getAttribute("data-tpl-" + type)].push({
- path,
- element: ele,
- type
- });
- }
- };
-
- // jsOMS/UI/Component/Tab.js
- var Tab = class {
- /**
- * @constructor
- *
- * @param {Object} app Application
- *
- * @since 1.0.0
- */
- constructor(app) {
- this.app = app;
- }
- /**
- * Bind & rebind UI elements.
- *
- * @param {null|string} [id] Element id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bind(id = null) {
- if (id !== null) {
- const e = document.getElementById(id);
- if (e) {
- this.bindElement(e);
- }
- return;
- }
- const tabs = document.getElementsByClassName("tabview");
- const length = !tabs ? 0 : tabs.length;
- for (let i = 0; i < length; ++i) {
- this.bindElement(tabs[i]);
- }
- }
- /**
- * Bind & rebind UI element.
- *
- * @param {Element} e Element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindElement(e) {
- const nodes = e.querySelectorAll(".tab-links li");
- const length = nodes.length;
- for (let i = 0; i < length; ++i) {
- nodes[i].addEventListener("click", function(evt) {
- let fragmentString = this.querySelector("label").getAttribute("for");
- const oldActive = this.parentNode.getElementsByClassName("active");
- if (oldActive.length > 0) {
- const fragments2 = fragmentString.split("&");
- const index = fragments2.indexOf(oldActive[0].getElementsByTagName("label")[0].getAttribute("for"));
- if (index > -1) {
- fragments2.splice(index, 1);
- }
- fragmentString = fragments2.join("&");
- jsOMS2.removeClass(oldActive[0], "active");
- }
- const fragments = fragmentString.split("&");
- fragmentString = fragments.join("&");
- jsOMS2.addClass(this, "active");
- if (jsOMS2.hasClass(this.closest(".tabview"), "url-rewrite")) {
- window.history.replaceState(
- null,
- "",
- UriFactory.build(
- "{%}#" + (fragmentString === "" ? "" : fragmentString)
- )
- );
- }
- });
- }
- this.activateTabUri(e);
- }
- /**
- * Activates the correct tab based on URI fragment.
- *
- * This allows to link a specific open tab to a user or make it a bookmark
- *
- * @param {Element} e Element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- activateTabUri(e) {
- const fragmentString = window.location.href.includes("#") ? HttpUri.parseUrl(window.location.href).fragment : "";
- if (fragmentString === null || typeof fragmentString === "undefined") {
- return;
- }
- const fragments = fragmentString.split("&");
- const fragLength = fragments.length;
- if (fragLength > 0 && fragmentString !== "") {
- for (let i = 0; i < fragLength; ++i) {
- const label = e.querySelector('label[for="' + fragments[i] + '"]');
- if (typeof label !== "undefined" && label !== null) {
- label.click();
- }
- }
- }
- if (e.querySelector(".tab-links")?.querySelector(".active") === null) {
- e.querySelector(".tab-links").querySelector("label").click();
- }
- }
- };
-
- // jsOMS/Views/TableView.js
- var TableView = class {
- /**
- * @constructor
- *
- * @param {string} id Table id
- *
- * @since 1.0.0
- */
- constructor(id) {
- this.id = id;
- this.table = null;
- }
- /**
- * Bind the table
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bind() {
- this.table = document.getElementById(this.id);
- }
- /**
- * Serialize table data
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- serialize() {
- const table = document.getElementById(this.id);
- const data = {
- caption: null,
- header: [],
- rows: []
- };
- data.caption = table.getElementsByTagName("caption")[0].innerText;
- const header = table.querySelectorAll("thead tr td, thead tr th");
- const headerLength = header.length;
- for (let i = 0; i < headerLength; ++i) {
- data.header.push(header[i].innerText);
- }
- const rows = table.querySelectorAll("tbody tr");
- const rowsLength = rows.length;
- for (let i = 0; i < rowsLength; ++i) {
- data.rows[i] = [];
- const columns = rows[i].querySelectorAll("td, th");
- const columnLength = columns.length;
- for (let j = 0; j < columnLength; ++j) {
- data.rows[i].push(columns[j].innerText);
- }
- }
- return data;
- }
- /**
- * Get table export button
- *
- * @return {HTMLElement}
- *
- * @since 1.0.0
- */
- getExport() {
- return document.querySelectorAll("#" + this.id + " .download")[0];
- }
- /**
- * Get table header elements which provide sorting
- *
- * @return {Array}
- *
- * @since 1.0.0
- */
- getSorting() {
- return document.querySelectorAll(
- "#" + this.id + " thead .sort-asc, #" + this.id + " thead .sort-desc"
- );
- }
- /**
- * Get table header elements which provide filter functionality
- *
- * @return {Array}
- *
- * @since 1.0.0
- */
- getFilter() {
- return document.querySelectorAll(
- "#" + this.id + " .filter"
- );
- }
- /**
- * Get table header
- *
- * @return {Array}
- *
- * @since 1.0.0
- */
- getHeader() {
- return document.querySelector(
- "#" + this.id + " thead"
- );
- }
- /**
- * Get table header elements which provide filter functionality
- *
- * @return {Array}
- *
- * @since 1.0.0
- */
- getCheckboxes() {
- return document.querySelectorAll(
- "#" + this.id + " thead input[type=checkbox]"
- );
- }
- /**
- * Get row elements which allow to swap the current row with another row
- *
- * @return {Array}
- *
- * @since 1.0.0
- */
- getSortableRows() {
- return document.querySelectorAll(
- "#" + this.id + " tbody .order-up, #" + this.id + " tbody .order-down"
- );
- }
- };
-
- // jsOMS/UI/Component/Table.js
- var Table = class _Table {
- /**
- * @constructor
- *
- * @param {Object} app Application
- *
- * @since 1.0.0
- */
- constructor(app) {
- this.app = app;
- this.tables = {};
- this.ignore = {};
- }
- /**
- * Bind & rebind UI elements.
- *
- * @param {null|string} [id] Element id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bind(id = null) {
- if (id !== null && typeof this.ignore[id] === "undefined") {
- this.bindTable(id);
- return;
- }
- const tables = document.getElementsByTagName("table");
- const length = !tables ? 0 : tables.length;
- for (let i = 0; i < length; ++i) {
- const tableId = tables[i].getAttribute("id");
- if (typeof tableId !== "undefined" && tableId !== null && typeof this.ignore[tableId] === "undefined") {
- this.bindTable(tableId);
- }
- }
- }
- /**
- * Bind & rebind UI element.
- *
- * @param {Object} id Element id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindTable(id = null) {
- if (id === null) {
- jsOMS2.Log.Logger.instance.info("A table doesn't have an ID.");
- return;
- }
- this.tables[id] = new TableView(id);
- this.bindExport(this.tables[id]);
- const sorting = this.tables[id].getSorting();
- let length = sorting.length;
- for (let i = 0; i < length; ++i) {
- this.bindSorting(sorting[i], id);
- }
- const filters = this.tables[id].getFilter();
- length = filters.length;
- for (let i = 0; i < length; ++i) {
- this.bindFiltering(filters[i], id);
- }
- const checkboxes = this.tables[id].getCheckboxes();
- length = checkboxes.length;
- for (let i = 0; i < length; ++i) {
- this.bindCheckbox(checkboxes[i], id);
- }
- const header = this.tables[id].getHeader();
- this.bindColumnVisibility(header, id);
- }
- /**
- * Export a table
- *
- * @param {Element} exports Export button
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindExport(exports) {
- const button = exports.getExport();
- if (typeof button === "undefined" || button === null) {
- return;
- }
- button.addEventListener("click", function(event) {
- window.omsApp.logger.log(exports.serialize());
- });
- }
- /**
- * Bind column visibility
- *
- * @param {Element} header Header
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindColumnVisibility(header) {
- const self2 = this;
- const columns = header.querySelectorAll("td");
- const length = columns.length;
- for (let i = 0; i < length; ++i) {
- const state = JSON.parse(window.localStorage.getItem("ui-state-" + this.id + "-header-" + i));
- const rows = header.parentElement.getElementsByTagName("tr");
- const rowLength = rows.length;
- if (state === "1" && !jsOMS2.hasClass(columns[i], "vh")) {
- for (let j = 0; j < rowLength; ++j) {
- const cols = rows[j].getElementsByTagName("td");
- if (cols.length < length) {
- continue;
- }
- jsOMS2.addClass(cols[i], "vh");
- }
- } else if ((state === "0" || state === null) && jsOMS2.hasClass(columns[i], "vh")) {
- for (let j = 0; j < rowLength; ++j) {
- const cols = rows[j].getElementsByTagName("td");
- if (cols.length < length) {
- continue;
- }
- jsOMS2.removeClass(cols[i], "vh");
- }
- }
- }
- header.addEventListener("contextmenu", function(event) {
- jsOMS2.preventAll(event);
- if (document.getElementById("table-ctx-menu") !== null) {
- return;
- }
- const tpl = document.getElementById("table-ctx-menu-tpl");
- if (tpl === null) {
- return;
- }
- const output = document.importNode(tpl.content, true);
- tpl.parentNode.appendChild(output);
- const menu = document.getElementById("table-ctx-menu");
- const columns2 = header.querySelectorAll("td");
- const length2 = columns2.length;
- const baseMenuLine = menu.getElementsByClassName("context-line")[0].cloneNode(true);
- for (let i = 0; i < length2; ++i) {
- if (columns2[i].firstElementChild.innerText.trim() === "") {
- continue;
- }
- const menuLine = baseMenuLine.cloneNode(true);
- const lineId = menuLine.firstElementChild.getAttribute("get") + i;
- menuLine.firstElementChild.setAttribute("for", lineId);
- menuLine.firstElementChild.firstElementChild.setAttribute("id", lineId);
- menuLine.firstElementChild.appendChild(document.createTextNode(columns2[i].firstElementChild.innerText.trim()));
- const isHidden = jsOMS2.hasClass(columns2[i], "vh");
- menu.getElementsByTagName("ul")[0].appendChild(menuLine);
- menu.querySelector("ul").lastElementChild.querySelector('input[type="checkbox"]').checked = !isHidden;
- menu.querySelector("ul").lastElementChild.querySelector('input[type="checkbox"]').addEventListener("change", function() {
- const rows = header.parentElement.getElementsByTagName("tr");
- const rowLength = rows.length;
- const isHidden2 = jsOMS2.hasClass(columns2[i], "vh");
- if (isHidden2) {
- window.localStorage.setItem("ui-state-" + self2.id + "-header-" + i, JSON.stringify("0"));
- } else {
- window.localStorage.setItem("ui-state-" + self2.id + "-header-" + i, JSON.stringify("1"));
- }
- for (let j = 0; j < rowLength; ++j) {
- const cols = rows[j].getElementsByTagName("td");
- if (isHidden2) {
- jsOMS2.removeClass(cols[i], "vh");
- } else {
- jsOMS2.addClass(cols[i], "vh");
- }
- }
- });
- }
- menu.getElementsByTagName("ul")[0].removeChild(menu.getElementsByClassName("context-line")[0]);
- const rect = tpl.parentElement.getBoundingClientRect();
- menu.style.top = event.clientY - rect.top + "px";
- menu.style.left = event.clientX - rect.left + "px";
- document.addEventListener("click", _Table.hideMenuClickHandler);
- });
- }
- static hideMenuClickHandler(event) {
- const menu = document.getElementById("table-ctx-menu");
- const isClickedOutside = !menu.contains(event.target);
- if (isClickedOutside) {
- menu.parentNode.removeChild(menu);
- document.removeEventListener("click", _Table.hideMenuClickHandler);
- }
- }
- /**
- * Sorts the table.
- *
- * @param {Element} sorting Sort button
- * @param {string} id Table id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindSorting(sorting, id) {
- sorting.addEventListener("click", function(event) {
- if (this.firstElementChild === null || this.firstElementChild.tagName.toLowerCase() === "a") {
- return;
- }
- const table = document.getElementById(id);
- const rows = table.getElementsByTagName("tbody")[0].rows;
- const rowLength = rows.length;
- const cellId = this.closest("td").cellIndex;
- const sortType = jsOMS2.hasClass(this, "sort-asc") ? 1 : -1;
- let j;
- let i;
- let row1;
- let row2;
- let content1;
- let content2;
- let order = false;
- let shouldSwitch = false;
- const columnName = this.closest("td").getAttribute("data-name");
- table.setAttribute("data-sorting", (sortType > 0 ? "+" : "-") + (columnName !== null ? columnName : cellId));
- if (table.getAttribute("data-src") !== null) {
- _Table.getRemoteData(table);
- return;
- }
- do {
- order = false;
- for (j = 0; j < rowLength - 1; ++j) {
- shouldSwitch = false;
- row1 = rows[j].getElementsByTagName("td")[cellId];
- content1 = row1.getAttribute("data-content") !== null ? row1.getAttribute("data-content").toLowerCase() : row1.textContent.toLowerCase();
- content1 = !isNaN(content1) ? parseFloat(content1) : !isNaN(new Date(content1)) ? new Date(content1) : content1;
- for (i = j + 1; i < rowLength; ++i) {
- row2 = rows[i].getElementsByTagName("td")[cellId];
- content2 = row2.getAttribute("data-content") !== null ? row2.getAttribute("data-content").toLowerCase() : row2.textContent.toLowerCase();
- content2 = !isNaN(content2) ? parseFloat(content2) : !isNaN(new Date(content2)) ? new Date(content2) : content2;
- if (sortType === 1 && content1 > content2) {
- shouldSwitch = true;
- break;
- } else if (sortType === -1 && content1 < content2) {
- shouldSwitch = true;
- break;
- }
- }
- if (shouldSwitch === true) {
- break;
- }
- }
- if (shouldSwitch) {
- rows[j].parentNode.insertBefore(rows[i], rows[j]);
- order = true;
- }
- } while (order);
- });
- }
- /**
- * Filters the table.
- *
- * @param {Element} filtering Filter button
- * @param {string} id Table id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindFiltering(filtering, id) {
- filtering.addEventListener("click", function(event) {
- });
- }
- /**
- * Checkbox select.
- *
- * @param {Element} checkbox Filter button
- * @param {string} id Table id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindCheckbox(checkbox, id) {
- checkbox.addEventListener("click", function(event) {
- const columnId = checkbox.closest("td").cellIndex;
- const rows = checkbox.closest("table").querySelectorAll("tbody tr");
- const rowLength = rows.length;
- const status = checkbox.checked;
- for (let i = 0; i < rowLength; ++i) {
- if (typeof rows[i].cells[columnId] === "undefined") {
- break;
- }
- const box = rows[i].cells[columnId].querySelector("input[type=checkbox]");
- if (box !== null) {
- box.checked = status;
- }
- }
- });
- }
- static getRemoteData(table) {
- const data = {
- limit: table.getAttribute("data-limit"),
- offset: table.getAttribute("data-offset"),
- sorting: table.getAttribute("data-sorting"),
- filter: table.getAttribute("data-filter")
- };
- const request = new Request();
- request.setData(data);
- request.setType(ResponseType.JSON);
- request.setUri(table.getAttribute("data-src"));
- request.setMethod("GET");
- request.setRequestHeader("Content-Type", "application/json");
- request.setSuccess(function(xhr) {
- _Table.emptyTable(table.getElementsByTagName("tbody")[0]);
- _Table.addToTable(table.getElementsByTagName("tbody")[0], JSON.parse(xhr.response)[0]);
- });
- request.send();
- }
- static emptyTable(table) {
- const rows = table.getElementsByTagName("tr");
- const length = rows.length;
- for (let i = 0; i < length; ++i) {
- rows[i].parentNode.removeChild(rows[i]);
- }
- }
- static addToTable(table, data) {
- const dataLength = data.length;
- console.table(data);
- for (let i = 0; i < dataLength; ++i) {
- const newRow = table.getElementsByTagName("template")[0].content.cloneNode(true);
- let fields = newRow.querySelectorAll("[data-tpl-text]");
- let fieldLength = fields.length;
- for (let j = 0; j < fieldLength; ++j) {
- fields[j].appendChild(
- document.createTextNode(
- jsOMS2.getArray(fields[j].getAttribute("data-tpl-text"), data[i])
- )
- );
- }
- fields = newRow.querySelectorAll("[data-tpl-value]");
- fieldLength = fields.length;
- for (let j = 0; j < fieldLength; ++j) {
- fields[j].setAttribute(
- "data-value",
- jsOMS2.getArray(fields[j].getAttribute("data-tpl-value"), data[i])
- );
- }
- table.appendChild(newRow);
- }
- }
- };
-
- // jsOMS/UI/ActionManager.js
- var ActionManager = class {
- /**
- * @constructor
- *
- * @param {Object} app Application
- *
- * @since 1.0.0
- */
- constructor(app) {
- this.logger = Logger2.getInstance();
- this.app = app;
- this.actions = {};
- }
- /**
- * Bind element.
- *
- * @param {null|string} [id] Element id (optional)
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bind(id = null) {
- const uiElements = id == null ? document.querySelectorAll("[data-action]") : typeof id.length !== "undefined" ? id : [id];
- const length = uiElements.length;
- for (let i = 0; i < length; ++i) {
- if (uiElements[i] !== null && uiElements[i].hasAttribute("data-action")) {
- this.bindElement(uiElements[i]);
- }
- }
- }
- /**
- * Bind element.
- *
- * @param {Element} e Element to bind
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindElement(e) {
- if (!jsOMS2.isValidJson(e.getAttribute("data-action"))) {
- this.logger.error("Invalid json string: '" + e.getAttribute("data-action") + "'");
- return;
- }
- const listeners = JSON.parse(e.getAttribute("data-action"));
- const listenerLength = listeners.length;
- const self2 = this;
- for (let i = 0; i < listenerLength; ++i) {
- let c = [e];
- let hasSelector = false;
- if (Object.prototype.hasOwnProperty.call(listeners[i], "selector")) {
- c = document.querySelectorAll(listeners[i].selector);
- hasSelector = true;
- }
- const childLength = c.length;
- for (let j = 0; j < childLength; ++j) {
- this.bindListener(c[j].id, listeners[i]);
- }
- const observeConfig = { childList: false, attributes: true, subtree: false };
- if (hasSelector) {
- this.app.eventManager.attach(e.id + "-childList", function(data) {
- const length = data.addedNodes.length;
- for (let j = 0; j < length; ++j) {
- self2.bindListener(
- data.addedNodes[j].id,
- listeners[i],
- typeof listeners[i].autoremove !== "undefined" ? listeners[i].autoremove : false
- );
- }
- });
- observeConfig.childList = true;
- observeConfig.subtree = true;
- }
- this.app.eventManager.attach(e.id + "-attributes", function(data) {
- });
- this.app.uiManager.getDOMObserver().observe(e, observeConfig);
- }
- }
- /**
- * Bind listener for object
- *
- * @param {string} id Element to bind
- * @param {Object} listener Listener object
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindListener(id, listener, removable = false) {
- const self2 = this;
- const actionLength = listener.action.length;
- for (let j = 1; j < actionLength; ++j) {
- if (typeof id === "undefined" || typeof listener.key === "undefined") {
- this.logger.error("Invalid element id/key: " + id + "/" + listener.key);
- return;
- }
- if (this.app.eventManager.isAttached(id + "-" + listener.key + "-" + listener.action[j - 1].key)) {
- return;
- }
- this.app.eventManager.attach(id + "-" + listener.key + "-" + listener.action[j - 1].key, function(data) {
- self2.runAction(id, listener, listener.action[j], data);
- }, removable, true);
- }
- document.getElementById(id).addEventListener(listener.listener, function(event) {
- if (listener.preventDefault) {
- jsOMS2.preventAll(event);
- }
- self2.runAction(this.id, listener, listener.action[0], event);
- }, false);
- }
- /**
- * Run event action.
- *
- * @param {string} id Element
- * @param {Object} listener Listener
- * @param {Object} action Action
- * @param {Object} data Data for the next action
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- runAction(id, listener, action, data) {
- const self2 = this;
- if (!Object.prototype.hasOwnProperty.call(this.actions, action.type)) {
- this.logger.warning("Undefined action " + action.type);
- return;
- }
- action.data = data;
- this.actions[action.type](action, function(data2) {
- self2.app.eventManager.trigger(id + "-" + listener.key + "-" + action.key, id, data2);
- }, id);
- }
- /**
- * Add action callback.
- *
- * @param {string} name Action identifier
- * @param {function} callback Action callback
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- add(name, callback) {
- this.actions[name] = callback;
- }
- };
-
- // jsOMS/UI/DragNDrop.js
- var DragNDrop = class {
- /**
- * @constructor
- *
- * @param {Object} app Application
- *
- * @since 1.0.0
- */
- constructor(app) {
- this.app = app;
- this.draggable = {};
- this.dragging = null;
- }
- /**
- * Bind element
- *
- * @param {null|Element} element DOM element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bind(element = null) {
- if (element !== null) {
- this.bindElement(element);
- } else {
- const elements = document.querySelectorAll(".oms-dragcontainer");
- const length = !elements ? 0 : elements.length;
- for (let i = 0; i < length; ++i) {
- this.bindElement(elements[i]);
- }
- }
- }
- /**
- * Bind DOM element
- *
- * @param {Element} element DOM element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindElement(element) {
- const self2 = this;
- if (!element) {
- return;
- }
- element.addEventListener("dragstart", function(e) {
- if (self2.dragging === null) {
- self2.dragging = e.target;
- e.dataTransfer.effectAllowed = "move";
- e.dataTransfer.setData("text/html", e.target.innerHTML);
- }
- }, false);
- element.addEventListener("dragenter", function(e) {
- const thisElement = e.target.closest(".oms-dragcontainer " + this.children[this.children.length - 1].tagName);
- const rowIndex = Array.from(this.children).indexOf(thisElement);
- const dragIndex = Array.from(self2.dragging.children).indexOf(self2.dragging);
- const oldPlaceholder = this.querySelector(".oms-drag-placeholder");
- if (oldPlaceholder !== null) {
- this.removeChild(oldPlaceholder);
- }
- const placeholder = document.createElement(self2.dragging.tagName);
- if (self2.dragging.tagName.toLowerCase() === "tr") {
- const placeholderTd = document.createElement("td");
- placeholderTd.setAttribute("colspan", 42);
- placeholder.appendChild(placeholderTd);
- }
- placeholder.setAttribute("draggable", "true");
- jsOMS2.addClass(placeholder, "oms-drag-placeholder");
- if (dragIndex < rowIndex) {
- this.insertBefore(placeholder, thisElement.nextSibling);
- } else {
- this.insertBefore(placeholder, thisElement);
- }
- }, false);
- element.addEventListener("dragover", function(e) {
- e.preventDefault();
- e.dataTransfer.dropEffect = "move";
- }, false);
- element.addEventListener("dragleave", function(e) {
- e.preventDefault();
- }, false);
- element.addEventListener("dragend", function(e) {
- e.preventDefault();
- const oldPlaceholder = this.querySelector(".oms-drag-placeholder");
- if (oldPlaceholder === null) {
- return;
- }
- this.insertBefore(self2.dragging, oldPlaceholder);
- this.removeChild(oldPlaceholder);
- self2.dragging = null;
- }, false);
- element.addEventListener("drop", function(e) {
- e.stopPropagation();
- e.preventDefault();
- }, false);
- }
- };
-
- // jsOMS/UI/Order.js
- var Order = class {
- /**
- * @constructor
- *
- * @param {Object} app Application
- *
- * @since 1.0.0
- */
- constructor(app) {
- this.app = app;
- }
- /**
- * Bind element
- *
- * @param {Object} [element] DOM element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bind(element = null) {
- if (element !== null) {
- this.bindElement(element);
- return;
- }
- const elements = document.querySelectorAll(".oms-ordercontainer");
- const length = !elements ? 0 : elements.length;
- for (let i = 0; i < length; ++i) {
- this.bindElement(elements[i]);
- }
- }
- /**
- * Bind DOM element
- *
- * @param {string} id DOM element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindElement(element) {
- if (!element) {
- return;
- }
- element.addEventListener("click", function(event) {
- if (!jsOMS2.hasClass(event.target, "order-up") && !jsOMS2.hasClass(event.target, "order-down")) {
- return;
- }
- jsOMS2.preventAll(event);
- const rowLength = element.children.length;
- const thisElement = event.target.closest(".oms-ordercontainer " + this.children[rowLength - 1].tagName);
- const rowId = Array.from(element.children).indexOf(thisElement);
- const orderType = jsOMS2.hasClass(event.target, "order-up") ? 1 : -1;
- if (orderType === 1 && rowId > 0) {
- element.insertBefore(element.children[rowId], element.children[rowId - 1]);
- } else if (orderType === -1 && rowId < rowLength) {
- element.insertBefore(element.children[rowId], element.children[rowId + 2]);
- }
- }, false);
- }
- };
-
- // jsOMS/UI/RemoteData.js
- var RemoteData = class _RemoteData {
- /**
- * @constructor
- *
- * @param {Object} app Application
- *
- * @since 1.0.0
- */
- constructor(app) {
- this.app = app;
- }
- /**
- * Bind element
- *
- * @param {Object} [element] DOM element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bind() {
- const elements = document.querySelectorAll(".oms-remotecontainer");
- const length = !elements ? 0 : elements.length;
- setInterval(function() {
- for (let i = 0; i < length; ++i) {
- const uri = elements[i].getAttribute("data-remote-uri");
- const uiContainer = elements[i];
- const request = new Request();
- request.setData({});
- request.setType(RequestType.JSON);
- request.setUri(uri);
- request.setMethod(RequestMethod.GET);
- request.setSuccess(function(xhr) {
- const data = JSON.parse(xhr.response);
- const responseLength = data.length;
- let currentElement = null;
- for (let i2 = 0; i2 < responseLength; ++i2) {
- const childElements2 = uiContainer.querySelectorAll(uiContainer.getAttribute("data-ui-element"));
- currentElement = childElements2.length - 1 < i2 ? null : childElements2[i2];
- if (currentElement === null || currentElement.getAttribute("data-id") !== data[i2].id) {
- const addTpl = uiContainer.getAttribute("data-add-tpl").split(",");
- const addTplLength = addTpl.length;
- let values = [];
- let texts = [];
- const newElements = [];
- for (let j = 0; j < addTplLength; ++j) {
- newElements.push(document.querySelector(addTpl[j]).content.cloneNode(true));
- const dataOriginElement = newElements[j].firstElementChild;
- values = values.concat(
- dataOriginElement.hasAttribute("data-tpl-value") ? dataOriginElement : Array.prototype.slice.call(dataOriginElement.querySelectorAll("[data-tpl-value]"))
- );
- texts = texts.concat(
- dataOriginElement.hasAttribute("data-tpl-text") ? dataOriginElement : Array.prototype.slice.call(dataOriginElement.querySelectorAll("[data-tpl-text]"))
- );
- }
- _RemoteData.setRemoteData("text", texts, data[i2]);
- _RemoteData.setRemoteData("value", values, data[i2]);
- for (let j = 0; j < addTplLength; ++j) {
- if (currentElement === null) {
- uiContainer.appendChild(newElements[j].firstElementChild);
- } else {
- uiContainer.insertBefore(newElements[j].firstElementChild, currentElement);
- }
- }
- continue;
- } else if (currentElement !== null && currentElement.getAttribute("data-id") === data[i2].id) {
- let values = [];
- let texts = [];
- const dataOriginElement = currentElement;
- values = values.concat(
- dataOriginElement.hasAttribute("data-tpl-value") ? dataOriginElement : Array.prototype.slice.call(dataOriginElement.querySelectorAll("[data-tpl-value]"))
- );
- texts = texts.concat(
- dataOriginElement.hasAttribute("data-tpl-text") ? dataOriginElement : Array.prototype.slice.call(dataOriginElement.querySelectorAll("[data-tpl-text]"))
- );
- _RemoteData.setRemoteData("text", texts, data[i2]);
- _RemoteData.setRemoteData("value", values, data[i2]);
- }
- }
- const childElements = elements[i].querySelectorAll(elements[i].getAttribute("data-ui-element"));
- const childLength = childElements.length;
- for (let i2 = responseLength; i2 < childLength; ++i2) {
- uiContainer.removeChild(childElements[i2]);
- }
- });
- request.send();
- }
- }, 30 * 1e3);
- }
- static setRemoteData(type, elements, data = {}) {
- const elementsLength = elements.length;
- for (let i = 0; i < elementsLength; ++i) {
- const path = elements[i].hasAttribute("data-tpl-" + type + "-path") ? elements[i].getAttribute("data-tpl-" + type + "-path") : null;
- if (path === null) {
- continue;
- }
- if (type === "value") {
- GeneralUI.setValueOfElement(elements[i], jsOMS2.getArray(path, data));
- } else {
- GeneralUI.setTextOfElement(elements[i], jsOMS2.getArray(path, data));
- }
- }
- }
- };
-
- // jsOMS/UI/UIStateManager.js
- var UIStateManager = class {
- /**
- * @constructor
- *
- * @param {Object} app Application
- *
- * @since 1.0.0
- */
- constructor(app) {
- this.app = app;
- }
- /**
- * Bind element
- *
- * @param {Object} [element] DOM element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bind(element = null) {
- if (element !== null) {
- this.bindElement(element);
- return;
- }
- const elements = document.querySelectorAll(".oms-ui-state");
- const length = !elements ? 0 : elements.length;
- for (let i = 0; i < length; ++i) {
- this.loadState(elements[i]);
- this.bindElement(elements[i]);
- }
- for (let i = 0; i < length; ++i) {
- this.loadState(elements[i]);
- }
- }
- loadState(element) {
- if (!element) {
- return;
- }
- let state = JSON.parse(window.localStorage.getItem("ui-state-" + element.id));
- state = state !== null ? state : {};
- switch (element.tagName.toLowerCase()) {
- case "input":
- if (state === "1" && !element.checked || state === "0" && element.checked) {
- element.click();
- }
- break;
- case "div":
- element.scrollLeft = state.x;
- element.scrollTop = state.y;
- element.scrollTo({ top: state.y, left: state.x });
- break;
- default:
- break;
- }
- }
- /**
- * Bind DOM element
- *
- * @param {Element} element DOM element
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bindElement(element) {
- if (!element) {
- return;
- }
- switch (element.tagName.toLowerCase()) {
- case "input":
- element.addEventListener("change", function(event) {
- if (this.getAttribute("type") === "checkbox" || this.getAttribute("type") === "radio") {
- window.localStorage.setItem(
- "ui-state-" + this.id,
- JSON.stringify(this.checked ? "1" : "0")
- );
- } else {
- window.localStorage.setItem(
- "ui-state-" + this.id,
- JSON.stringify(this.value)
- );
- }
- });
- break;
- case "div":
- element.addEventListener("scroll", function() {
- window.localStorage.setItem(
- "ui-state-" + this.id,
- JSON.stringify({ x: this.scrollLeft, y: this.scrollTop })
- );
- });
- break;
- default:
- break;
- }
- }
- };
-
- // jsOMS/UI/UIManager.js
- var UIManager = class {
- /**
- * @constructor
- *
- * @param {Object} app Application object
- *
- * @since 1.0.0
- */
- constructor(app) {
- this.app = app;
- this.formManager = new Form(this.app);
- this.tabManager = new Tab(this.app);
- this.tableManager = new Table(this.app);
- this.actionManager = new ActionManager(this.app);
- this.dragNDrop = new DragNDrop(this.app);
- this.order = new Order(this.app);
- this.generalUI = new GeneralUI(this.app);
- this.remoteData = new RemoteData(this.app);
- this.uiStateManager = new UIStateManager(this.app);
- const self2 = this;
- this.domObserver = new MutationObserver(function(mutations) {
- const length = mutations.length;
- for (let i = 0; i < length; ++i) {
- self2.app.eventManager.trigger(mutations[i].target.id + "-" + mutations[i].type, 0, mutations[i]);
- }
- });
- }
- /**
- * Bind & rebind UI elements.
- *
- * @param {string} [id] Element id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bind(id = null) {
- if (id === null) {
- this.formManager.bind();
- this.tabManager.bind();
- this.tableManager.bind();
- this.actionManager.bind();
- this.dragNDrop.bind();
- this.order.bind();
- this.generalUI.bind();
- this.remoteData.bind();
- this.uiStateManager.bind();
- return;
- }
- const tag = document.getElementById(id);
- this.generalUI.bind(tag);
- if (!tag) {
- return;
- }
- switch (tag.tagName) {
- case "form":
- this.formManager.bind(id);
- break;
- case "table":
- this.tableManager.bind(id);
- break;
- default:
- this.actionManager.bind(tag);
- }
- }
- /**
- * Get tab manager.
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getFormManager() {
- return this.formManager;
- }
- /**
- * Get action manager.
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getActionManager() {
- return this.actionManager;
- }
- /**
- * Get drag and drop manager.
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getDragNDrop() {
- return this.dragNDrop;
- }
- /**
- * Get drag and drop manager.
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getOrder() {
- return this.order;
- }
- /**
- * Get remote data manager.
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getRemoteData() {
- return this.remoteData;
- }
- /**
- * Get remote data manager.
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getUIStatemanager() {
- return this.uiStateManager;
- }
- /**
- * Get tab manager.
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getTabManager() {
- return this.tabManager;
- }
- /**
- * Get table manager.
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getTableManager() {
- return this.tabManager;
- }
- /**
- * Get DOM observer
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getDOMObserver() {
- return this.domObserver;
- }
- /**
- * Get general UI
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getGeneralUI() {
- return this.generalUI;
- }
- };
-
- // jsOMS/UI/Input/Keyboard/KeyboardManager.js
- var KeyboardManager = class {
- /**
- * @constructor
- *
- * @since 1.0.0
- */
- constructor() {
- this.elements = {};
- this.down = [];
- }
- /**
- * Add input listener.
- *
- * @param {string} element Container id
- * @param {Array} keys Keyboard keys
- * @param {function} callback Callback
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- add(element, keys, callback) {
- if (typeof this.elements[element] === "undefined") {
- this.elements[element] = [];
- this.bind(element);
- }
- this.elements[element].push({ keys, callback });
- }
- /**
- * Bind container for keyboard input.
- *
- * @param {string} element Container id
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bind(element) {
- const self2 = this;
- const elements = element === "" ? [document] : document.querySelectorAll(element);
- const length = elements.length;
- for (let i = 0; i < length; ++i) {
- elements[i].addEventListener("keydown", function(event) {
- self2.down.push(event.keyCode);
- self2.run(element, event);
- });
- elements[i].addEventListener("keyup", function(event) {
- let index = self2.down.indexOf(event.keyCode);
- while (index > -1) {
- self2.down.splice(index, 1);
- index = self2.down.indexOf(event.keyCode);
- }
- });
- }
- }
- /**
- * Execute callback based on key presses.
- *
- * @param {string} element Container id
- * @param {Event} event Key event
- *
- * @return {void}
- *
- * @throws {Error}
- *
- * @since 1.0.0
- */
- run(element, event) {
- if (typeof this.elements[element] === "undefined") {
- throw new Error("Unexpected elmenet!");
- }
- const actions = this.elements[element].concat(this.elements[""]);
- const actionsLength = actions.length;
- const downKeyLength = this.down.length;
- for (let i = 0; i < actionsLength; ++i) {
- const actionKeyLength = actions[i].keys.length;
- let match = true;
- for (let j = 0; j < actionKeyLength; ++j) {
- if (this.down.indexOf(actions[i].keys[j]) === -1) {
- match = false;
- break;
- }
- }
- if (match) {
- for (let j = 0; j < downKeyLength; ++j) {
- if (actions[i].keys.indexOf(this.down[j]) === -1) {
- match = false;
- break;
- }
- }
- }
- if (match) {
- jsOMS2.preventAll(event);
- actions[i].callback(event);
- break;
- }
- }
- }
- };
-
- // jsOMS/UI/Input/Mouse/EventType.js
- var EventType = Object.freeze({
- CONTEXT: 0,
- LONGPRESS: 1,
- CLICK: 2
- });
-
- // jsOMS/UI/Input/Mouse/MouseManager.js
- var MouseManager = class {
- /**
- * @constructor
- *
- * @since 1.0.0
- */
- constructor() {
- this.elements = {};
- this.click = { time: 0 };
- }
- /**
- * Add input listener.
- *
- * @param {string} element Container id
- * @param {number} type Action type
- * @param {number} button Button
- * @param {function} callback Callback
- * @param {boolean} exact ??? todo: can't remember why this was important oO!!!
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- add(element, type, button, callback, exact) {
- if (typeof this.elements[element] === "undefined") {
- this.elements[element] = [];
- }
- this.bind(element, type);
- this.elements[element].push({ callback, type, button, exact });
- }
- /**
- * Add input listener.
- *
- * @param {string} element Element id
- * @param {number} type Action type
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- bind(element, type) {
- const self2 = this;
- const e = document.getElementById(element);
- if (!e) {
- return;
- }
- if (type === EventType.CONTEXT) {
- e.addEventListener("contextmenu", function(event) {
- self2.run(element, event);
- }, false);
- } else if (type === EventType.LONGPRESS) {
- e.addEventListener("mousedown", function(event) {
- self2.click.time = (/* @__PURE__ */ new Date()).getTime();
- }, false);
- e.addEventListener("mouseup", function(event) {
- const duration = (/* @__PURE__ */ new Date()).getTime() - self2.click.time;
- if (duration > 650) {
- self2.run(element, event);
- }
- self2.click.time = 0;
- }, false);
- } else if (type === EventType.CLICK) {
- e.addEventListener("click", function(event) {
- self2.run(element, event);
- }, false);
- }
- }
- /**
- * Run mouse input callback.
- *
- * @param {string} element Element id
- * @param {Event} event Click event
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- run(element, event) {
- if (typeof this.elements[element] === "undefined") {
- throw new Error("Unexpected element!");
- }
- const actions = this.elements[element];
- const length = actions.length;
- for (let i = 0; i < length; ++i) {
- if ((!actions[i].exact || event.target.getAttribute("id") === element) && actions[i].button === event.button) {
- jsOMS2.preventAll(event);
- actions[i].callback();
- }
- }
- }
- };
-
- // jsOMS/UI/Input/Voice/VoiceManager.js
- var VoiceManager = class {
- /**
- * @constructor
- *
- * @param {Object} app Application
- * @param {Object} commands Available commands
- * @param {string} lang Localization
- *
- * @since 1.0.0
- */
- constructor(app, commands = {}, lang = "en-US") {
- this.app = app;
- this.commands = commands;
- this.lang = lang;
- this.recognition = null;
- this.speechRecognitionList = null;
- if (SpeechRecognition !== null) {
- this.recognition = new SpeechRecognition();
- this.speechRecognitionList = new SpeechGrammarList();
- }
- }
- /**
- * Setup or re-initialize voice manager.
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setup() {
- if (SpeechRecognition === null) {
- return;
- }
- const self2 = this;
- this.recognition.lang = this.lang;
- this.recognition.interimResults = false;
- this.recognition.maxAlternatives = 1;
- this.recognition.continuous = true;
- this.recognition.lang = this.lang;
- if (typeof this.commands !== "undefined") {
- this.speechRecognitionList.addFromString(this.getCommandsString(), 1);
- this.recognition.grammars = this.speechRecognitionList;
- }
- this.recognition.onstart = function() {
- };
- this.recognition.onresult = function(event) {
- const result = jsOMS2.trim(event.results[event.resultIndex][0].transcript);
- const commands = Object.keys(self2.commands);
- for (const command of commands) {
- if (result.startsWith(command)) {
- self2.commands[command](result.substr(command.length).trim());
- }
- }
- };
- this.recognition.onspeechend = function() {
- };
- this.recognition.onnomatch = function(event) {
- Logger2.instance.warning("Couldn't recognize speech");
- };
- this.recognition.onerror = function(event) {
- Logger2.instance.warning("Error during speech recognition: " + event.error);
- };
- }
- /**
- * Create commands/grammar string from commands
- *
- * @return {string}
- *
- * @since 1.0.0
- */
- getCommandsString() {
- return "#JSGF V1.0; grammar phrase; public = " + Object.keys(this.commands).join(" | ") + " ;";
- }
- /**
- * Set language
- *
- * @param {string} lang Language code (e.g. en-US)
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setLanguage(lang) {
- this.recognition.lang = lang;
- }
- /**
- * Add command/grammar and callback.
- *
- * @param {string} command Command id
- * @param {callback} callback Callback for command
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- add(command, callback) {
- this.commands[command] = callback;
- }
- /**
- * Start voice listener.
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- start() {
- if (SpeechRecognition === null) {
- return;
- }
- this.recognition.start();
- }
- /**
- * Stop voice listener.
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- stop() {
- if (SpeechRecognition === null) {
- return;
- }
- this.recognition.stop();
- }
- };
- var SpeechRecognition = typeof SpeechRecognition !== "undefined" ? SpeechRecognition : typeof webkitSpeechRecognition !== "undefined" ? webkitSpeechRecognition : null;
- var SpeechGrammarList = typeof SpeechGrammarList !== "undefined" ? SpeechGrammarList : typeof webkitSpeechGrammarList !== "undefined" ? webkitSpeechGrammarList : null;
-
- // jsOMS/UI/Input/InputManager.js
- var InputManager = class {
- /**
- * @constructor
- *
- * @param {Object} app Application
- *
- * @since 1.0.0
- */
- constructor(app) {
- this.keyboardManager = new KeyboardManager();
- this.mouseManager = new MouseManager();
- this.voiceManager = new VoiceManager(app);
- }
- /**
- * Get keyboard manager.
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getKeyboardManager() {
- return this.keyboardManager;
- }
- /**
- * Get mouse manager.
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getMouseManager() {
- return this.mouseManager;
- }
- /**
- * Get voice manager.
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- getVoiceManager() {
- return this.voiceManager;
- }
- };
-
- // jsOMS/Module/ModuleFactory.js
- var ModuleFactory = class {
- /**
- * Get module instance.
- *
- * @param {string} module Module name
- * @param {Object} app Application reference
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- static getInstance(module, app) {
- return new window.omsApp.Modules[module](app);
- }
- };
-
- // jsOMS/Module/ModuleManager.js
- var ModuleManager = class {
- /**
- * @constructor
- *
- * @param {Object} app Application
- *
- * @since 1.0.0
- */
- constructor(app) {
- this.modules = {};
- this.app = app;
- }
- /**
- * Get module.
- *
- * @param {string} module Module name
- *
- * @return {Object}
- *
- * @since 1.0.0
- */
- get(module) {
- if (typeof this.modules[module] === "undefined") {
- this.modules[module] = ModuleFactory.getInstance(module, this.app);
- }
- return this.modules[module];
- }
- };
-
- // jsOMS/UI/Input/Voice/ReadManager.js
- var ReadManager = class {
- /**
- * @constructor
- *
- * @param {string} lang Localization
- *
- * @since 1.0.0
- */
- constructor(lang = "en-US") {
- this.pitch = 1;
- this.rate = 1;
- this.lang = lang;
- this.voices = [];
- this.voice = null;
- if (SpeechRecognition2 !== null) {
- this.voices = window.speechSynthesis.getVoices();
- this.voice = this.voices[0];
- }
- }
- /**
- * Read text.
- *
- * @param {string} text Text to read
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- read(text) {
- const utter = new SpeechSynthesisUtterance(text);
- utter.lang = this.lang;
- utter.voice = this.voice;
- utter.pitch = this.pitch;
- utter.rate = this.rate;
- window.speechSynthesis.speak(utter);
- }
- /**
- * Set Language.
- *
- * @param {string} lang Language id (e.g. en-US)
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setLanguage(lang) {
- this.lang = lang;
- }
- /**
- * Set pitch.
- *
- * @param {int} pitch Pitch
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setPitch(pitch) {
- this.pitch = pitch;
- }
- /**
- * Set rate.
- *
- * @param {int} rate Rate
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setRate(rate) {
- this.rate = rate;
- }
- /**
- * Get supported voices.
- *
- * @return {Array}
- *
- * @since 1.0.0
- */
- getVoices() {
- return this.voices;
- }
- };
- var SpeechRecognition2 = typeof SpeechRecognition2 !== "undefined" ? SpeechRecognition2 : typeof webkitSpeechRecognition !== "undefined" ? webkitSpeechRecognition : null;
-
- // jsOMS/Message/Notification/App/AppNotification.js
- var AppNotification = class {
- /**
- * @constructor
- *
- * @since 1.0.0
- */
- constructor() {
- this.status = 0;
- }
- /**
- * Set notification status.
- *
- * @param {number} status Notification status
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setStatus(status) {
- this.status = status;
- }
- /**
- * Create notification
- *
- * @param {NotificationMessage} msg Notification
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- send(msg) {
- const tpl = document.getElementById("app-message-tpl");
- if (tpl === null) {
- return;
- }
- switch (msg.status) {
- case 0:
- msg.status = NotificationLevel.OK;
- break;
- }
- ;
- const output = document.importNode(tpl.content, true);
- output.querySelector(".log-msg").classList.add("log-lvl-" + msg.status);
- output.querySelector(".log-msg-content").innerHTML = msg.message;
- output.querySelector(".close").addEventListener("click", function() {
- this.parentNode.remove();
- });
- if (msg.title && msg.title !== "") {
- output.querySelector(".log-msg-title").innerHTML = msg.title;
- } else {
- output.querySelector(".log-msg-title").remove();
- }
- if (!msg.primaryButton) {
- const primary = output.querySelector(".primary-button");
- if (primary) {
- primary.remove();
- }
- } else {
- const primary = output.querySelector(".primary-button");
- if (primary) {
- primary.innerHTML = msg.primaryButton.text;
- primary.addEventListener("click", msg.primaryButton.callback);
- }
- }
- if (!msg.secondaryButton) {
- const secondary = output.querySelector(".secondary-button");
- if (secondary) {
- secondary.remove();
- }
- } else {
- const secondary = output.querySelector(".secondary-button");
- if (secondary) {
- secondary.innerHTML = msg.secondaryButton.text;
- secondary.addEventListener("click", msg.secondaryButton.callback);
- }
- }
- tpl.parentNode.appendChild(output);
- const logs = document.getElementsByClassName("log-msg");
- const lastElementAdded = logs[logs.length - 1];
- window.navigator.vibrate(msg.vibrate ? 200 : 0);
- if (msg.isSticky) {
- return;
- }
- setTimeout(function() {
- if (lastElementAdded !== null && lastElementAdded.parentNode !== null) {
- lastElementAdded.parentNode.removeChild(lastElementAdded);
- }
- }, msg.duration);
- }
- };
-
- // jsOMS/Message/Notification/Browser/BrowserNotification.js
- var BrowserNotification = class {
- /**
- * @constructor
- *
- * @since 1.0.0
- */
- constructor() {
- this.status = 0;
- }
- /**
- * Set notification status.
- *
- * @param {number} status Notification status
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setStatus(status) {
- this.status = status;
- }
- /**
- * Ask for browser permission to create notifications
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- requestPermission() {
- if (Notification.permission !== "granted" && Notification.permission !== "denied" && window.isSecureContext) {
- Notification.requestPermission();
- }
- }
- /**
- * Create notification
- *
- * @param {NotificationMessage} msg Notification
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- send(msg) {
- if (Notification.permission !== "granted") {
- return;
- }
- navigator.serviceWorker.ready.then((registration) => {
- registration.showNotification(msg.title, {
- body: msg.message,
- icon: "../images/touch/chrome-touch-icon-192x192.png",
- vibrate: [msg.vibrate ? 200 : 0],
- tag: "notification"
- });
- });
- }
- };
-
- // jsOMS/Message/Notification/NotificationManager.js
- var NotificationManager = class {
- /**
- * @constructor
- *
- * @since 1.0.0
- */
- constructor() {
- this.appNotifier = new AppNotification();
- this.browserNotifier = new BrowserNotification();
- }
- /**
- * Create notification.
- *
- * @param {Object} message Message object
- * @param {number} type Notification type
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- send(message, type) {
- if (NotificationType.APP_NOTIFICATION === type) {
- this.appNotifier.send(message);
- } else {
- this.browserNotifier.send(message);
- }
- }
- /**
- * Get the app notification manager.
- *
- * @return {AppNotification}
- *
- * @since 1.0.0
- */
- getAppNotifier() {
- return this.appNotifier;
- }
- /**
- * Get the browser notification manager.
- *
- * @return {BrowserNotification}
- *
- * @since 1.0.0
- */
- getBrowserNotifier() {
- return this.browserNotifier;
- }
- };
-
- // jsOMS/Model/Action/Dom/Redirect.js
- function redirectMessage(action, callback, id) {
- setTimeout(function() {
- if (action.src) {
- document.getElementById(action.src).src = UriFactory.build(action.uri);
- } else {
- window.location = UriFactory.build(action.uri);
- }
- }, parseInt(action.delay));
- }
-
- // jsOMS/Model/Action/Message/Request.js
- function requestAction(action, callback) {
- "use strict";
- const request = new Request(action.uri, action.method, action.request_type);
- request.setSuccess(function(xhr) {
- window.omsApp.logger.log(xhr.responseText);
- callback(JSON.parse(xhr.responseText));
- });
- if (typeof action.data !== "undefined" && action.data !== null) {
- request.setData(action.data);
- }
- request.send();
- }
-
- // jsOMS/Model/Action/Dom/Reload.js
- function reloadButtonAction(action, callback, id) {
- "use strict";
- setTimeout(function() {
- if (action.src) {
- console.log(document.getElementById(action.src).hasAttribute("data-src"));
- console.log(UriFactory.build(document.getElementById(action.src).getAttribute("data-src")));
- document.getElementById(action.src).src = document.getElementById(action.src).hasAttribute("data-src") ? UriFactory.build(document.getElementById(action.src).getAttribute("data-src")) : document.getElementById(action.src).src;
- } else {
- document.location.reload();
- }
- }, parseInt(action.delay));
- callback();
- }
-
- // jsOMS/Model/Action/Event/Prevent.js
- function preventEvent(action, callback, id) {
- "use strict";
- window.omsApp.logger.log("prevented");
- jsOMS2.preventAll(action.data);
- callback();
- }
-
- // jsOMS/Model/Action/Event/Jump.js
- function jumpAction(action, callback, id) {
- "use strict";
- action.key = action.jump - 1;
- callback();
- }
-
- // jsOMS/Model/Action/Event/If.js
- function ifAction(action, callback, id) {
- "use strict";
- const conditions = action.conditions;
- const data = Object.values(action.data)[0];
- for (const i in conditions) {
- if (conditions[i].comp === "==" && data === conditions[i].value) {
- action.key = conditions[i].jump - 1;
- break;
- } else if (conditions[i].comp === "!=" && data !== conditions[i].value) {
- action.key = conditions[i].jump - 1;
- break;
- } else if (conditions[i].comp === ">" && data > conditions[i].value) {
- action.key = conditions[i].jump - 1;
- break;
- } else if (conditions[i].comp === "<" && data < conditions[i].value) {
- action.key = conditions[i].jump - 1;
- break;
- } else if (conditions[i].comp === ">=" && data >= conditions[i].value) {
- action.key = conditions[i].jump - 1;
- break;
- } else if (conditions[i].comp === "<=" && data <= conditions[i].value) {
- action.key = conditions[i].jump - 1;
- break;
- } else if (conditions[i].comp === "") {
- action.key = conditions[i].jump - 1;
- break;
- }
- }
- callback();
- }
-
- // jsOMS/Model/Action/Dom/Click.js
- function domClickAction(action, callback, id) {
- "use strict";
- const click = action.base === "self" ? action.selector === "" ? [document.getElementById(id)] : document.getElementById(id).querySelectorAll(action.selector) : document.querySelectorAll(action.selector);
- if (!click) {
- return;
- }
- for (const i of click) {
- i.click();
- }
- callback();
- }
-
- // jsOMS/Model/Action/Dom/GetValue.js
- function domGetValue(action, callback, id) {
- "use strict";
- const e = action.base === "self" ? action.selector === "" || typeof action.selector === "undefined" ? [document.getElementById(id)] : document.getElementById(id).querySelectorAll(action.selector) : document.querySelectorAll(action.selector);
- let value = {};
- for (const i in e) {
- if (!Object.prototype.hasOwnProperty.call(e, i) || !(e[i] instanceof HTMLElement)) {
- continue;
- }
- const eId = typeof e[i].getAttribute("name") !== "undefined" && e[i].getAttribute("name") !== "" && e[i].getAttribute("name") !== null ? e[i].getAttribute("name") : e[i].getAttribute("id");
- if (e[i].tagName.toLowerCase() === "form") {
- value = window.omsApp.uiManager.getFormManager().get(eId).getData();
- break;
- } else {
- value[eId] = GeneralUI.getValueFromDataSource(e[i]);
- }
- }
- callback(value);
- }
-
- // jsOMS/Model/Action/Dom/SetValue.js
- function domSetValue(action, callback, id) {
- "use strict";
- let dataPath = action.value;
- let path = "";
- let tempDataValue = "";
- let replaceText = "";
- let start = 0;
- let end = 0;
- while (dataPath.indexOf("http") !== 0 && (start = dataPath.indexOf("{", start)) !== -1) {
- end = dataPath.indexOf("}", start);
- start++;
- path = dataPath.substring(start, end);
- tempDataValue = jsOMS2.getArray(path, action.data, "/");
- replaceText = "{" + path + "}";
- dataPath = dataPath.replace(new RegExp(replaceText.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"), "g"), tempDataValue);
- }
- const fill = action.base === "self" ? action.selector === "" ? [document.getElementById(id)] : document.getElementById(id).querySelectorAll(action.selector) : document.querySelectorAll(action.selector);
- for (const i in fill) {
- if (!Object.prototype.hasOwnProperty.call(fill, i) || !(fill[i] instanceof HTMLElement)) {
- continue;
- }
- if (fill[i].tagName.toLowerCase() === "div" || fill[i].tagName.toLowerCase() === "span") {
- if (!fill[i].innerHTML.includes(dataPath)) {
- if (action.overwrite) {
- fill[i].innerHTML = dataPath;
- } else if (!action.overwrite) {
- fill[i].innerHTML += dataPath;
- }
- }
- } else if (fill[i].tagName.toLowerCase() === "iframe") {
- fill[i].src = UriFactory.build(dataPath);
- } else {
- if (fill[i].value !== dataPath && !fill[i].value.includes(", " + dataPath + ",") && !fill[i].value.endsWith(", " + dataPath) && !fill[i].value.startsWith(dataPath + ",")) {
- if (action.overwrite) {
- fill[i].value = dataPath;
- } else {
- fill[i].value += (fill[i].value !== "" ? ", " : "") + dataPath;
- }
- }
- }
- }
- callback(action.data);
- }
-
- // jsOMS/Model/Action/Dom/ChangeAttribute.js
- function domChangeAttribute(action, callback, id) {
- "use strict";
- const fill = action.base === "self" ? action.selector === "" ? [document.getElementById(id)] : document.getElementById(id).querySelectorAll(action.selector) : document.querySelectorAll(action.selector);
- for (const i in fill) {
- if (!Object.prototype.hasOwnProperty.call(fill, i) || !(fill[i] instanceof HTMLElement)) {
- continue;
- }
- switch (action.subtype) {
- case "remove":
- const old = fill[i].getAttribute(action.attr);
- if (old !== null && old.match(new RegExp("(\\s|^)" + action.value + "(\\s|$)")) !== null) {
- const reg = new RegExp("(\\s|^)" + action.value);
- fill[i].setAttribute(action.attr, old.replace(reg, "").trim());
- }
- break;
- case "add":
- fill[i].setAttribute(action.attr, jsOMS2.trim(fill[i].getAttribute(action.attr) + " " + action.value));
- break;
- case "set":
- fill[i].setAttribute(action.attr, action.value);
- break;
- default:
- }
- }
- callback(action.data);
- }
-
- // jsOMS/Model/Action/Dom/FormSubmit.js
- function formSubmitAction(action, callback, id) {
- "use strict";
- const submit = action.base === "self" ? action.selector === "" ? [document.getElementById(id)] : document.getElementById(id).querySelectorAll(action.selector) : document.querySelectorAll(action.selector);
- if (!submit) {
- return;
- }
- const formManager = window.omsApp.uiManager.getFormManager();
- for (const i of submit) {
- formManager.submit(formManager.get(i.id));
- }
- callback();
- }
-
- // Install/Application/Backend/js/global/ActionEvents.js
- var ACTION_EVENTS = {
- "redirect": redirectMessage,
- /** global: redirectMessage */
- "message.request": requestAction,
- /** global: requestAction */
- "dom.reload": reloadButtonAction,
- /** global: reloadButtonAction */
- "dom.click": domClickAction,
- /** global: domClickAction */
- "form.submit": formSubmitAction,
- /** global: domClickAction */
- "event.prevent": preventEvent,
- /** global: preventEvent */
- "dom.get": domGetValue,
- /** global: domGetValue */
- "dom.set": domSetValue,
- /** global: domSetValue */
- "dom.attr.change": domChangeAttribute,
- /** global: domChangeAttribute */
- "jump": jumpAction,
- /** global: jumpAction */
- "if": ifAction
- /** global: ifAction */
- };
-
- // Install/Application/Backend/js/global/KeyboardEvents.js
- var KEYBOARD_EVENTS = [
- {
- "element": "",
- // jump into search bar
- "keys": [17, 80],
- // ctrl+p
- "callback": function(e) {
- document.getElementById("iSearchBox").focus();
- }
- },
- {
- "element": "form, input, textarea, select",
- // submit currently focused form with the first found submit element (add, update, save)
- "keys": [17, 13],
- // ctrl+enter
- "callback": function(e) {
- const focused = document.activeElement;
- let formId = focused.closest("form");
- if (formId !== null) {
- formId = formId.id;
- }
- if (formId === null) {
- formId = focused.getAttribute("form");
- }
- if (formId === null) {
- formId = focused.getAttribute("data-form");
- }
- if (formId === null) {
- return;
- }
- const form = window.omsApp.uiManager.getFormManager().get(formId);
- const buttons = form.getSubmit();
- const length = buttons.length;
- let defaultSubmit = -1;
- for (let i = 0; i < length; ++i) {
- if (jsOMS2.hasClass(buttons[i], "vh")) {
- continue;
- }
- if (jsOMS2.hasClass(buttons[i], "add-form") || jsOMS2.hasClass(buttons[i], "update-form") || jsOMS2.hasClass(buttons[i], "save-form")) {
- buttons[i].click();
- break;
- }
- defaultSubmit = i;
- }
- if (defaultSubmit !== -1) {
- buttons[defaultSubmit].click();
- }
- }
- },
- {
- "element": "label, tr",
- // click label
- "keys": [13],
- // enter
- "callback": function(e) {
- document.activeElement.click();
- }
- },
- {
- "element": "",
- // previous page
- "keys": [17, 66],
- // ctrl+b
- "callback": function(e) {
- window.history.back();
- }
- },
- {
- "element": "",
- // next tabindex
- "keys": [17, 40],
- // ctrl+down
- "callback": function(e) {
- const focusable = document.querySelectorAll('button, input, select, textarea, [tabindex]:not([tabindex="-1"])');
- const length = focusable.length;
- for (let i = 0; i < length; ++i) {
- if (document.activeElement === focusable[i]) {
- let j = 1;
- do {
- if (i + j < length) {
- focusable[i + j].focus();
- } else {
- focusable[0 + j - 1].focus();
- }
- ++j;
- } while (j < length && document.activeElement === focusable[i]);
- return;
- }
- }
- document.dispatchEvent(new KeyboardEvent("keypress", { keyCode: 9 }));
- }
- },
- {
- "element": "",
- // previous tab index
- "keys": [17, 38],
- // ctrl+up
- "callback": function(e) {
- const focusable = document.querySelectorAll('button, input, select, textarea, [tabindex]:not([tabindex="-1"])');
- const length = focusable.length;
- for (let i = 0; i < length; ++i) {
- if (document.activeElement === focusable[i]) {
- let j = 1;
- do {
- if (i - j + 1 > 0) {
- focusable[i - j].focus();
- } else {
- focusable[length - j].focus();
- }
- ++j;
- } while (j < length && document.activeElement === focusable[i]);
- return;
- }
- }
- document.dispatchEvent(new KeyboardEvent("keypress", { keyCode: 9 }));
- }
- }
- ];
-
- // jsOMS/UI/Input/Mouse/ClickType.js
- var ClickType = Object.freeze({
- LEFT: 0,
- MIDDLE: 1,
- RIGHT: 2
- });
-
- // Install/Application/Backend/js/global/MouseEvents.js
- var MOUSE_EVENTS = [
- {
- "element": "nav-side",
- "type": EventType.CONTEXT,
- "button": ClickType.RIGHT,
- "callback": function() {
- window.omsApp.logger.log("right clicked");
- },
- "exact": true
- },
- {
- "element": "nav-side",
- "type": EventType.LONGPRESS,
- "button": ClickType.LEFT,
- "callback": function() {
- window.omsApp.logger.log("left clicked");
- },
- "exact": false
- }
- ];
-
- // jsOMS/Model/Message/Notify.js
- function notifyMessage(data) {
- const msg = new NotificationMessage(data.level, data.title, data.msg);
- msg.duration = 5e3;
- window.omsApp.notifyManager.send(
- msg,
- NotificationType.APP_NOTIFICATION
- );
- }
-
- // jsOMS/Model/Message/FormValidation.js
- function formValidationMessage(data) {
- const form = document.getElementById(data.form);
- if (!form) {
- return;
- }
- const eEles = document.getElementsByClassName("i-" + data.form);
- while (eEles.length > 0) {
- eEles[0].parentNode.removeChild(eEles[0]);
- }
- ;
- data.errors.forEach(function(error) {
- const eEle = document.getElementById(error.id);
- if (!eEle) {
- return;
- }
- const msgEle = document.createElement("i");
- const msg = document.createTextNode(error.msg);
- msgEle.id = "i-" + error.id;
- msgEle.class = "i-" + data.form;
- msgEle.appendChild(msg);
- eEle.parentNode.insertBefore(msgEle, eEle.nextSibling);
- });
- }
-
- // Install/Application/Backend/js/global/ResponseEvents.js
- var RESPONSE_EVENTS = {
- "notify": notifyMessage,
- /** global: notifyMessage */
- "validation": formValidationMessage,
- /** global: formValidationMessage */
- "redirect": redirectMessage,
- /** global: redirectMessage */
- "reload": reloadButtonAction
- /** global: reloadButtonAction */
- };
-
- // Install/Application/Backend/js/global/VoiceEvents.js
- var VOICE_EVENTS = {
- "read": "read_text",
- "help": function() {
- Logger2.instance.debug("There is no help for you.");
- },
- "go to": function(speech) {
- const request = new Request();
- request.setData({});
- request.setType(RequestType.FORM_DATA);
- request.setUri("api/navigation/goto?app=Backend&search=" + speech);
- request.setMethod(RequestMethod.GET);
- request.setSuccess(function(xhr) {
- window.omsApp.logger.log(xhr.response);
- try {
- const o = JSON.parse(xhr.response)[0];
- const response = new Response(o);
- if (typeof response.get("type") !== "undefined") {
- window.omsApp.responseManager.run(response.get("type"), response.get(), request);
- } else if (typeof o.status !== "undefined" && o.status !== NotificationLevel.HIDDEN) {
- window.omsApp.notifyManager.send(
- new NotificationMessage(o.status, o.title, o.message),
- NotificationType.APP_NOTIFICATION
- );
- }
- } catch (e) {
- window.omsApp.logger.log(e);
- Logger2.instance.error(
- "Invalid form response. \nRequest: " + JSON.stringify(speech) + "\nResponse: " + xhr.response
- );
- }
- });
- request.setResultCallback(0, function(xhr) {
- window.omsApp.notifyManager.send(
- new NotificationMessage(
- NotificationLevel.ERROR,
- "Failure",
- "Some failure happened"
- ),
- NotificationType.APP_NOTIFICATION
- );
- });
- request.send();
- }
- };
-
- // Install/Application/Backend/js/backend.js
- var Application = class {
- /**
- * @constructor
- *
- * @since 1.0.0
- */
- constructor() {
- this.logger = Logger2.getInstance(true, false, false);
- window.logger = this.logger;
- this.cacheManager = new CacheManager();
- this.storageManager = new StorageManager();
- this.eventManager = new EventManager();
- this.responseManager = new ResponseManager();
- this.assetManager = new AssetManager();
- this.accountManager = new AccountManager();
- this.uiManager = new UIManager(this);
- this.inputManager = new InputManager(this);
- this.moduleManager = new ModuleManager(this);
- this.readManager = new ReadManager();
- this.voiceManager = new VoiceManager(this);
- this.notifyManager = new NotificationManager();
- this.request = null;
- this.state = {
- hasChanges: false
- };
- this.reInit();
- this.setupGeolocation();
- this.setupNotificationManager();
- this.setupServiceWorker();
- this.setResponseMessages();
- this.setVoiceActions();
- this.setActions();
- this.setKeyboardActions();
- this.setMouseActions();
- this.setPopstate();
- }
- reInit() {
- this.request = new HttpUri(window.location.href);
- this.request.setRootPath(
- HttpUri.parseUrl(
- typeof document.getElementsByTagName("base")[0] !== "undefined" ? document.getElementsByTagName("base")[0].href : ""
- ).path
- );
- UriFactory.setupUriBuilder(this.request);
- UriFactory.setQuery("/lang", window.location.href.substr(this.request.getBase().length).split("/")[0]);
- this.uiManager.bind();
- }
- setPopstate() {
- window.addEventListener("popstate", function(event, state) {
- window.location.href = window.location.href;
- });
- }
- setupGeolocation() {
- if ("geolocation" in navigator && window.isSecureContext) {
- navigator.geolocation.getCurrentPosition((position) => {
- });
- }
- }
- setupNotificationManager() {
- this.notifyManager.browserNotifier.requestPermission();
- }
- /**
- * Setup the service worker
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setupServiceWorker() {
- if ("serviceWorker" in navigator && window.isSecureContext) {
- navigator.serviceWorker.register("sw.min.js").then(function(e) {
- self.periodicSync.register("get-latest-notification", {
- minInterval: 60 * 1
- }).then(() => {
- Logger2.instance.warning("PeriodicSync registration worked.");
- }).catch(function(e2) {
- Logger2.instance.warning("PeriodicSync registration failed.");
- });
- }).catch(function(e) {
- Logger2.instance.warning("ServiceWorker registration failed.");
- });
- }
- }
- /**
- * Setup the response manager
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setResponseMessages() {
- for (let key in RESPONSE_EVENTS) {
- if (RESPONSE_EVENTS.hasOwnProperty(key)) {
- this.responseManager.add(key, RESPONSE_EVENTS[key]);
- }
- }
- }
- /**
- * Setup the action manager
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setActions() {
- for (let key in ACTION_EVENTS) {
- if (ACTION_EVENTS.hasOwnProperty(key)) {
- this.uiManager.getActionManager().add(key, ACTION_EVENTS[key]);
- }
- }
- }
- /**
- * Setup the keyboard manager
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setKeyboardActions() {
- let length = KEYBOARD_EVENTS.length;
- for (let i = 0; i < length; i++) {
- this.inputManager.getKeyboardManager().add(
- KEYBOARD_EVENTS[i]["element"],
- KEYBOARD_EVENTS[i]["keys"],
- KEYBOARD_EVENTS[i]["callback"]
- );
- }
- }
- /**
- * Setup the mouse manager
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setMouseActions() {
- let length = MOUSE_EVENTS.length;
- for (let i = 0; i < length; i++) {
- this.inputManager.getMouseManager().add(
- MOUSE_EVENTS[i]["element"],
- MOUSE_EVENTS[i]["type"],
- MOUSE_EVENTS[i]["button"],
- MOUSE_EVENTS[i]["callback"],
- MOUSE_EVENTS[i]["exact"]
- );
- }
- }
- /**
- * Setup the voice manager
- *
- * @return {void}
- *
- * @since 1.0.0
- */
- setVoiceActions() {
- for (let key in VOICE_EVENTS) {
- if (VOICE_EVENTS.hasOwnProperty(key)) {
- this.voiceManager.add(key, VOICE_EVENTS[key]);
- }
- }
- this.voiceManager.setup();
- this.voiceManager.start();
- }
- };
- jsOMS2.ready(function() {
- "use strict";
- window.omsApp = new Application();
- });
-})();
+(()=>{var d=class a{static triggerEvent=function(t,e){if(document.createEvent){let n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),n.eventName=e,t.dispatchEvent(n)}else{let n=document.createEventObject();n.eventName=e,n.eventType=e,t.fireEvent(n.eventType,n)}};static getArray=function(t,e,n="/"){let r=a.ltrim(t,n).split(n),i=e;for(let s in r)if(Object.prototype.hasOwnProperty.call(r,s)){if(typeof i>"u"||!Object.prototype.hasOwnProperty.call(i,r[s]))return null;i=i[r[s]]}return i};static trim=function(t,e=" "){return a.ltrim(a.rtrim(t,e),e)};static rtrim=function(t,e=" "){return t.replace(new RegExp("["+e+"]*$"),"")};static ltrim=function(t,e=" "){return t.replace(new RegExp("^["+e+"]*"),"")};static htmlspecialchars=[["&","&"],["<","<"],[">",">"],['"',"""]];static htmlspecialchars_encode=function(t){let e=t,n=a.htmlspecialchars.length;for(let r=0;r=0;)++n,r+=i;return n};static hasClass=function(t,e){return typeof t<"u"&&t!==null&&(typeof t.className=="string"&&t.className.match(new RegExp("(\\s|^)"+e+"(\\s|$)"))!==null||typeof t.className.baseVal=="string"&&t.className.baseVal.match(new RegExp("(\\s|^)"+e+"(\\s|$)"))!==null)};static addClass=function(t,e){a.hasClass(t,e)||(typeof t.className=="string"?t.className+=t.className!==""?" "+e:e:typeof t.className.baseVal=="string"&&(t.className.baseVal+=t.className.baseVal!==""?" "+e:e))};static removeClass=function(t,e){if(a.hasClass(t,e)){let n=new RegExp("(\\s|^)"+e);typeof t.className=="string"?t.className=t.className.replace(n,"").trim():typeof t.className.baseVal=="string"&&(t.className.baseVal=t.className.baseVal.replace(n,"").trim())}};static watcher=function(){let t=0;return function(e,n){clearTimeout(t),t=setTimeout(e,n)}}();static preventAll=function(t){return t.preventDefault(),t.stopImmediatePropagation(),t.stopPropagation(),t.cancelBubble=!0,!1};static ready=function(t){document.readyState==="complete"||document.readyState==="loaded"||document.readyState==="interactive"?t():document.addEventListener("DOMContentLoaded",function(e){t()})};static getValue=function(t){switch(t.tagName.toLowerCase()){case"div":case"pre":case"article":case"section":return t.innerHTML;default:return t.value}};static empty=function(t){for(;t.firstChild;)t.removeChild(t.firstChild)};static hash=function(t){let e=0,n=t.length;for(let r=0;r=0&&i>r&&(i=r);return t.slice(i)}};var J=class{constructor(){this.assets={},this.registerLoadedAssets()}registerLoadedAssets(){if(this.assets={},typeof document>"u")return;let t=document.getElementsByTagName("script"),e=t?t.length:0;for(let n=0;n"u"&&(e[i]=[]),e[i].push(n[r].split("=")[1]))}}return e}set(t){this.uri=t;let e=a.parseUrl(this.uri,"php");this.scheme=e.scheme,this.host=e.host,this.port=e.port,this.user=e.user,this.pass=e.pass,this.path=e.path,this.path.endsWith(".php")&&(this.path=this.path.substr(0,-4)),this.queryString=typeof e.query<"u"?e.query:[],this.queryString!==null&&(this.query=a.getAllUriQueryParameters(this.queryString)),this.fragment=typeof e.fragment<"u"?e.fragment:"",this.base=this.scheme+"://"+this.host+this.root}setRootPath(t){this.root=t,this.set(this.uri)}getRootPath(){return this.root}getBase(){return this.base}getScheme(){return this.scheme}getHost(){return this.host}getPort(){return this.port}getUser(){return this.user}getPass(){return this.pass}getQuery(){return this.queryString}getUri(){return this.uri}getFragment(){return this.fragment}getPath(){return this.path}getPathOffset(){return d.substr_count(this.root,"/")-1}};var B=class{constructor(t={}){this.responses=t}get(t=null){return t===null?this.responses:typeof this.responses[t]>"u"?null:this.responses[t]}count(){return this.responses.length}};var q=Object.freeze({POST:"POST",GET:"GET",PUT:"PUT",DELETE:"DELETE",HEAD:"HEAD"});var K=Object.freeze({TEXT:"text",JSON:"json",DOCUMENT:"document",BLOB:"blob",ARRAYBUFFER:"arraybuffer",DEFAULT:""});var z=class{constructor(){this.visObs=null}static unbind(t){this.app.inputManager.getKeyboardManager().unbind(t)}static bindElement(t=null){if(t===null)throw new Error("Input element required");let e=t.type,n=t.parentNode.querySelector(".close");n!==null&&e!=="submit"&&e!=="button"&&n.addEventListener("click",function(){t.value="",t.focus()})}static addRemoteDatalistOptions(t,e){this.clearDatalistOptions(e);let n=new O;n.setData(t.value),n.setType(K.JSON),n.setUri(e.getAttribute("data-list-src")),n.setMethod(q.POST),n.setRequestHeader("Content-Type","application/json"),n.setSuccess(function(r){try{let i=JSON.parse(r.response),s=new B(i),o=s.count(),l=null;for(let c=0;ce[r].maxlength||typeof e[r].minlength<"u"&&e[r].minlength!==""&&e[r].value.lengthe[r].max||typeof e[r].min<"u"&&e[r].min!==""&&e[r].valuee[i].maxlength||typeof e[i].minlength<"u"&&e[i].minlength!==""&&e[i].value.lengthe[i].max||typeof e[i].min<"u"&&e[i].min!==""&&e[i].value"u"?[]:e.query.replace(/\?/g,"&").split("&"),s={},o=i.length,l=null;if((typeof e.fragment>"u"||e.fragment===null)&&i[o-1].includes("#")){let c=i[o-1].split("#")[1];e.fragment=c[1],i[o-1]=c[0]}for(let c=0;c"u"?"":k.parseUrl(window.location.href),r=k.getAllUriQueryParameters(typeof n.query>"u"?{}:n.query);for(let s in r)Object.prototype.hasOwnProperty.call(r,s)&&a.setQuery("?"+s,r[s]);let i=t.replace(new RegExp("{[/#?%@.$!].*?}","g"),function(s){if(s=s.substring(1,s.length-1),e!==null&&Object.prototype.hasOwnProperty.call(e,s))return e[s];if(typeof a.uri[s]<"u")return a.uri[s];if(s.indexOf("!")===0){let o=document.querySelector(s.substring(1));if(!o)return"";if(o.tagName.toLowerCase()!=="form")return o.value;let l="",c=new D(o.id).getData();for(let u of c.entries())l+="&"+u[0]+"="+u[1];return l}else{if(s.indexOf("?")===0)return k.getUriQueryParameter(n.query,s.substring(1));if(s==="#")return n.fragment;if(s.indexOf("#")===0){let o=document.getElementById(s.substring(1));if(o){if(o.tagName.toLowerCase()!=="form")return o.value;let l="",c=new D(o.id).getData();for(let u of c.entries())l+="&"+u[0]+"="+u[1];return l}return""}else return s.indexOf("?")===0&&s.length===1?n.query():s.indexOf("/")===0&&s.length===1?n.path:s.indexOf(":user")===0?n.user:s.indexOf(":pass")===0?n.pass:s.indexOf("/")===0?"ERROR%20PATH":s==="%"?typeof window>"u"?"":window.location.href:s}});return i.indexOf("?")===-1&&(i=i.replace("&","?")),a.unique(i)}static setupUriBuilder(t){a.setQuery("/scheme",t.getScheme()),a.setQuery("/host",t.getHost()),a.setQuery("/base",d.rtrim(t.getBase(),"/"))}};E.uri={};var x=Object.freeze({JSON:"json",RAW:"raw",FILE:"file",URL_ENCODE:"url",FORM_DATA:"formdata"});var O=class{constructor(t=null,e=null,n=null){this.uri=t,this.method=e!==null?e:q.GET,this.requestHeader={},this.result={},this.type=n!==null?n:x.JSON,this.data={},this.requestHeader["Content-Type"]=this.setContentTypeBasedOnType(this.type),this.type===x.FORM_DATA&&delete this.requestHeader["Content-Type"],this.result[0]=function(r){S.getInstance().info('Unhandled response from "'+r.responseURL+'" with response data "'+r.response+'"')},this.xhr=new XMLHttpRequest}setContentTypeBasedOnType(t){switch(t){case x.JSON:return"application/json";case x.URL_ENCODE:return"application/x-www-form-urlencoded";case x.FILE:return"";case x.FORM_DATA:return"multipart/form-data";default:return"*/*"}}setMethod(t){this.method=t}getMethod(){return this.method}setResponseType(t){this.xhr.responseType=t}getResponseType(){return this.responseType}setRequestHeader(t,e){this.requestHeader[t]=e,e==="multipart/form-data"&&delete this.requestHeader[t]}getRequestHeader(){return this.requestHeader}setUri(t){this.uri=t}getUri(){return this.uri}setSuccess(t){this.result[200]=t}setResultCallback(t,e){this.result[t]=e}setData(t){this.data=t}getData(){return this.data}setType(t){this.type=t,this.requestHeader["Content-Type"]=this.setContentTypeBasedOnType(this.type)}getType(){return this.type}queryfy(t){let e=[];for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e.join("&")}send(){if(this.uri==="")return;let t=this;if(this.xhr.readyState!==1){if(this.type===x.FORM_DATA)if(this.method===q.GET){let e=this.uri;for(let n of this.data.entries())e+="&"+n[0]+"="+n[1];this.xhr.open(this.method,E.build(e))}else this.xhr.open(this.method,E.build(this.uri));else console.log(E.build(this.uri)),this.xhr.open(this.method,E.build(this.uri));for(let e in this.requestHeader)Object.prototype.hasOwnProperty.call(this.requestHeader,e)&&this.requestHeader[e]!==""&&this.requestHeader[e]!=="multipart/form-data"&&this.xhr.setRequestHeader(e,this.requestHeader[e])}window.omsApp.logger.log(E.build(this.uri)),window.omsApp.logger.log(this.xhr),this.xhr.onreadystatechange=function(){switch(t.xhr.readyState){case 4:typeof t.result[t.xhr.status]>"u"?t.result[0](t.xhr):t.result[t.xhr.status](t.xhr);break;default:}},this.type===x.JSON?this.xhr.send(JSON.stringify(this.data)):this.type===x.RAW||this.type===x.FILE?this.xhr.send(this.data):this.type===x.URL_ENCODE?this.xhr.send(this.queryfy(this.data)):this.type===x.FORM_DATA&&this.xhr.send(this.data)}};var M=Object.freeze({OPERA:"opera",FIREFOX:"firefox",SAFARI:"safari",IE:"msie",EDGE:"edge",CHROME:"chrome",BLINK:"blink",UNKNOWN:"unknown"});var F=Object.freeze({WINDOWS_10:"windows nt 10.0",WINDOWS_81:"windows nt 6.3",WINDOWS_8:"windows nt 6.2",WINDOWS_7:"windows nt 6.1",WINDOWS_VISTA:"windows nt 6.0",WINDOWS_SERVER:"windows nt 5.2",WINDOWS_XP:"windows nt 5.1",WINDOWS_XP_2:"windows xp",WINDOWS_2000:"windows nt 5.0",WINDOWS_ME:"windows me",WINDOWS_98:"win98",WINDOWS_95:"win95",WINDOWS_311:"win16",MAC_OS_X:"macintosh",MAC_OS_X_2:"mac os x",MAC_OS_9:"mac_powerpc",LINUX:"linux",UBUNTU:"ubuntu",IPHONE:"iphone",IPOD:"ipod",IPAD:"ipad",ANDROID:"android",BLACKBERRY:"blackberry",MOBILE:"webos",UNKNOWN:"UNKNOWN"});var V=class{static getBrowser(){return typeof window>"u"?M.UNKNOWN:window.opr&&opr.addons||window.opera||navigator.userAgent.indexOf(" OPR/")>=0?M.OPERA:typeof InstallTrigger<"u"?M.FIREFOX:Object.toString.call(window.HTMLElement).indexOf("Constructor")>0?M.SAFARI:document.documentMode?M.IE:window.StyleMedia?M.EDGE:window.chrome&&window.chrome.webstore?M.CHROME:(typeof isChrome<"u"&&isChrome||typeof isOpera<"u"&&isOpera)&&window.CSS?M.BLINK:M.UNKNOWN}static getOS(){if(typeof navigator>"u")return F.UNKNOWN;for(let t in F)if(Object.prototype.hasOwnProperty.call(F,t)&&navigator.userAgent.toLowerCase().indexOf(F[t])!==-1)return F[t];return F.UNKNOWN}};var S=class a{constructor(t=!0,e=!0,n=!1){this.verbose=t,this.ui=e,this.remote=n}static getInstance(t=!0,e=!0,n=!1){return a.instance||(a.instance=new a(t,e,n)),a.instance}interpolate(t,e){t=typeof t>"u"?a.MSG_FULL:t;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&typeof t=="string"&&(t=t.replace("{"+n+"}",e[n]));return typeof t!="string"?JSON.stringify(t):t}createContext(t,e,n){let r;try{throw new Error("")}catch(i){r=i.stack||""}return e.backtrace=r,e.datetime=new Date().toISOString(),e.version="1.0.0",e.os=V.getOS(),e.browser=V.getBrowser(),e.path=typeof window>"u"?"":window.location.href,e.datetime=new Date().toString(),e.level=n,e.message=t,e}write(t,e,n){e=this.createContext(t,e,n),this.verbose&&this.writeVerbose(t,e,n),this.ui&&this.writeUi(t,e),this.remote&&this.writeRemote(e)}writeUi(t,e){Notification.permission!=="granted"&&Notification.permission!=="denied"&&Notification.requestPermission().then(function(r){});let n=new Notification("Logger",{body:this.interpolate(t,e)});setTimeout(n.close.bind(n),4e3)}writeVerbose(t,e,n){let r="000";switch(n){case"info":case"notice":case"log":r="000";break;case"debug":r="289E39";break;case"warning":case"alert":r="FFA600";break;case"error":case"critical":case"emergency":r="CF304A";break;default:}console.log("%c"+this.interpolate(t,e,n),"color: #"+r)}writeRemote(t){let e=new O;e.setData(t),e.setType(jsOMS.Message.Response.Response.ResponseType.JSON),e.setUri("/{/lang}/api/log"),e.setMethod(O.RequestMethod.POST),e.setRequestHeader("Content-Type","application/json"),e.setSuccess(function(n){}),e.send()}emergency(t,e={}){this.write(t,e,R.EMERGENCY)}alert(t,e={}){this.write(t,e,R.ALERT)}critical(t,e={}){this.write(t,e,R.CRITICAL)}error(t,e={}){this.write(t,e,R.ERROR)}warning(t,e={}){this.write(t,e,R.WARNING)}notice(t,e={}){this.write(t,e,R.NOTICE)}info(t,e={}){this.write(t,e,R.INFO)}debug(t,e={}){this.write(t,e,R.DEBUG)}log(t,e,n={}){this.write(e,n,t)}console(t,e={}){this.writeVerbose(t,e,R.INFO)}};S.instance=null;S.MSG_FULL="{datetime}; {level}; {version}; {os}; {browser}; {path}; {message}";var Q=class{};var X=class{};var $=class{constructor(){this.logger=S.getInstance(),this.groups={},this.callbacks={}}addGroup(t,e){typeof this.groups[t]>"u"&&(this.groups[t]={}),this.groups[t][e]=!1}reset(t){for(let e in this.groups[t])Object.prototype.hasOwnProperty.call(this.groups[t],e)&&(this.groups[t][e]=!1)}hasOutstanding(t){if(typeof this.groups[t]>"u")return!1;for(let e in this.groups[t])if(!Object.prototype.hasOwnProperty.call(this.groups[t],e)||!this.groups[t][e])return!0;return!1}triggerSimilar(t,e="",n=null){let r=t.startsWith("/"),i=e.startsWith("/"),s={};for(let l in this.groups){let c=l.startsWith("/");r?l.match(t)&&(s[l]=[]):c&&t.match(l)?s[l]=[]:l===t&&(s[l]=[])}for(let l in s){for(let c in this.groups[l]){let u=c.startsWith("/");i?c.match(e)&&s[l].push(c):u&&e.match(c)?s[l].push(e):c===e&&s[l].push([])}s[l].length===0&&s[l].push(e)}let o=!1;for(let l in s)for(let c in s[l])o=this.trigger(l,c,n)||o;return o}trigger(t,e="",n=null){if(typeof this.callbacks[t]>"u"||Math.abs(Date.now()-this.callbacks[t].lastRun)<300||(typeof this.groups[t]<"u"&&(this.groups[t][e]=!0),this.hasOutstanding(t)))return!1;let r=this.callbacks[t].callbacks.length;this.callbacks[t].lastRun=Date.now();for(let i=0;i"u"&&(this.messages[t]=[]),this.messages[t][n]=e}run(t,e,n=null){n!==null&&typeof this.messages[t]<"u"&&typeof this.messages[t][n]<"u"?this.messages[t][n](e):typeof this.messages[t]<"u"?this.messages[t].null(e):d.Log.Logger.instance.warning("Undefined type: "+t)}};var Z=class{constructor(){this.accounts=[]}add(t){this.accounts[t.getId()]=t}remove(t){return typeof this.accounts[t]<"u"?(delete this.accounts[t],!0):!1}get(t){return this.accounts[t]?this.accounts[t]:null}};var L=Object.freeze({OK:"ok",INFO:"info",WARNING:"warning",ERROR:"error",HIDDEN:"hidden"});var T=class{constructor(t,e,n,r=!1,i=!1){this.status=t,this.title=e,this.message=n,this.vibrate=r,this.isSticky=i,this.primaryButton=null,this.secondaryButton=null,this.duration=3e3}};var I=Object.freeze({APP_NOTIFICATION:1,BROWSER_NOTIFICATION:2});var W=class a{constructor(t,e,n){this.id=t.id,this.inputComponent=t,this.inputField=this.inputComponent.getElementsByClassName("input")[0],this.dropdownElement=document.getElementById(this.id+"-popup"),this.tagElement=document.getElementById(this.id+"-tags"),this.dataList=this.dropdownElement.getElementsByTagName("table")[0],this.dataListBody=this.dataList.getElementsByTagName("tbody")[0],this.dataTpl=document.getElementById(this.id+"-rowElement"),this.tagTpl=this.tagElement!==null?this.tagElement.getElementsByTagName("template")[0]:null,this.src=this.inputField.getAttribute("data-src");let r=this;this.inputField.addEventListener("focusout",function(i){(i.relatedTarget===null||i.relatedTarget.parentElement===null||i.relatedTarget.parentElement.parentElement===null||!d.hasClass(i.relatedTarget.parentElement.parentElement.parentElement,"popup"))&&d.removeClass(r.dropdownElement,"active")}),this.inputField.addEventListener("keydown",function(i){(i.keyCode===13||i.keyCode===40)&&d.preventAll(i),i.keyCode===40?(r.selectOption(r.dataListBody.firstElementChild),d.preventAll(i)):r.inputTimeDelay({id:r.id,delay:300},r.changeCallback,r,i)}),this.inputField.addEventListener("focusin",function(i){d.addClass(r.dropdownElement,"active")}),this.dropdownElement.addEventListener("keydown",function(i){d.preventAll(i),i.code==="Escape"||i.code==="Delete"||i.code==="Backspace"?(r.inputField.focus(),r.clearDataListSelection(r)):i.code==="ArrowUp"?document.activeElement.previousElementSibling!==null&&(r.clearDataListSelection(r),r.selectOption(document.activeElement.previousElementSibling)):i.code==="ArrowDown"?document.activeElement.nextElementSibling!==null&&(r.clearDataListSelection(r),r.selectOption(document.activeElement.nextElementSibling)):(i.code==="Enter"||i.code==="Tab")&&(r.clearDataListSelection(r),r.addToResultList(r,document.activeElement))}),this.dropdownElement.addEventListener("focusout",function(i){r.clearDataListSelection(r),d.removeClass(r.dropdownElement,"active")}),this.dropdownElement.addEventListener("click",function(i){document.activeElement.tagName.toLowerCase()==="tr"&&(r.clearDataListSelection(r),r.addToResultList(r,document.activeElement),d.removeClass(r.dropdownElement,"active"))}),n.observe(this.tagElement,{childList:!0,attributes:!1,subtree:!1}),e.attach(this.id+"-tags-childList",function(i){let s=i.target.querySelectorAll(".close"),o=s===null?0:s.length;o<1||s[o-1].addEventListener("click",function(l){l.target.parentNode.parentNode!==null&&l.target.parentNode.parentNode.removeChild(l.target.parentNode)})})}remoteCallback(t,e){window.omsApp.logger.log(e),e=JSON.parse(e.response)[0];let n=e.length;if(t.dropdownElement.getAttribute("data-active")==="true"){for(;t.dataListBody.firstChild;)t.dataListBody.removeChild(t.dataListBody.firstChild);for(let r=0;r=t.tagElement.getAttribute("data-limit")&&t.tagElement.getAttribute("data-limit")!=="0"&&t.tagElement.removeChild(t.tagElement.firstElementChild),t.tagElement.appendChild(r)}t.inputField.getAttribute("data-emptyAfter")==="true"&&(t.inputField.value=""),t.inputField.focus()}inputTimeDelay(t,e,n,r){a.timerDelay[t.id]&&(clearTimeout(a.timerDelay[t.id]),delete a.timerDelay[t.id]),a.timerDelay[t.id]=setTimeout(function(){delete a.timerDelay[t.id],e(n,r)},t.delay)}};W.timerDelay={};var C=class{constructor(t){this.visObs=null,this.app=t}bind(t=null){let e=null;t!==null&&(e=document.getElementById(t)),this.bindHref(e),this.bindIframe(e),this.bindLazyLoad(e),this.bindInput(e)}bindHref(t=null){t=t!==null?t.querySelectorAll("[data-href], [href]"):document.querySelectorAll("[data-href], [href]");let e=t.length;for(let n=0;n0||r.target.getElementsByTagName("input").length>0){let s=r.target.querySelector("input");if(s!==null){s.click();return}}d.preventAll(r);let i=this.getAttribute("data-href");i=i===null?this.getAttribute("href"):i,this.getAttribute("target")==="_blank"||this.getAttribute("data-target")==="_blank"||r.button===1?window.open(E.build(i),"_blank"):this.getAttribute("data-redirect")!==null?window.location.href=E.build(i):i!==null&&(window.location=E.build(i))})}bindIframe(t=null){t=t!==null?t:document.getElementsByTagName("iframe");let e=t.length;for(let n=0;n0&&(r[0].style.display="none")})}bindLazyLoad(t=null){t=t!==null?t.querySelectorAll("[data-lazyload]"):document.querySelectorAll("[data-lazyload]");let e=t.length;!this.visObs&&window.IntersectionObserver&&(this.visObs=new IntersectionObserver(function(n,r){n.forEach(i=>{i.intersectionRatio>0&&(r.unobserve(i.target),i.target.src=i.target.dataset.lazyload,delete i.target.dataset.lazyload)})}));for(let n=0;n"u"){this.bindForm(t);return}let e=document.querySelectorAll("form, [data-tag=form]"),n=e?e.length:0;for(let r=0;r"u"?this.bindForm(i):S.instance.info("A form doesn't have an ID.")}}bindForm(t=null){if(t===null){S.instance.info("A form doesn't have an ID.");return}this.forms[t]=new D(t);let e=this,n=0,r=this.forms[t].getElementsToBind(),i=r.length;for(let o=0;o{window.requestAnimationFrame(N=>{d.addClass(h[b],"animated"),d.addClass(h[b],"medium-duration"),d.addClass(h[b],"greenCircleFade")})});t.forms[s].setSuccess(function(b,v){if(v.status!==200){t.forms[s].resetValues();return}a.setDataInElement("value",h,f,m),a.setDataInElement("text",h,p,m),a.setDataFromRemoteUrls(m);for(let N=0;N{window.requestAnimationFrame(Pt=>{d.addClass(h[N],"animated medium-duration greenCircleFade")})});t.forms[s].resetValues()}),l.setAttribute("data-id",""),t.submit(t.forms[s],t.forms[s].getSave()[r]);let A=t.forms[s].getAdd(),g=A.length;for(let b=0;bf.text()).then(f=>{document.documentElement.innerHTML=f,window.omsApp.state&&(window.omsApp.state.hasChanges=!1),history.pushState({},null,E.build(l)),window.omsApp.reInit()}).catch(f=>{console.warn(f)})}),window.omsApp.state&&(window.omsApp.state.hasChanges=!1),s.send(),t.getFinally()!==null&&t.getFinally()()}count(){return this.forms.length}static setDataFromRemoteUrls(t){for(let e in t){let n=new O(e);n.setResultCallback(200,function(r){let i=t[e].length;for(let s=0;s0){let c=s.split("&"),u=c.indexOf(o[0].getElementsByTagName("label")[0].getAttribute("for"));u>-1&&c.splice(u,1),s=c.join("&"),d.removeClass(o[0],"active")}s=s.split("&").join("&"),d.addClass(this,"active"),d.hasClass(this.closest(".tabview"),"url-rewrite")&&window.history.replaceState(null,"",E.build("{%}#"+(s===""?"":s)))});this.activateTabUri(t)}activateTabUri(t){let e=window.location.href.includes("#")?k.parseUrl(window.location.href).fragment:"";if(e===null||typeof e>"u")return;let n=e.split("&"),r=n.length;if(r>0&&e!=="")for(let i=0;i"u"){this.bindTable(t);return}let e=document.getElementsByTagName("table"),n=e?e.length:0;for(let r=0;r"u"&&this.bindTable(i)}}bindTable(t=null){if(t===null){d.Log.Logger.instance.info("A table doesn't have an ID.");return}this.tables[t]=new et(t),this.bindExport(this.tables[t]);let e=this.tables[t].getSorting(),n=e.length;for(let o=0;o"u"||e===null||e.addEventListener("click",function(n){window.omsApp.logger.log(t.serialize())})}bindColumnVisibility(t){let e=this,n=t.querySelectorAll("td"),r=n.length;for(let i=0;i0?"+":"-")+(w!==null?w:o)),r.getAttribute("data-src")!==null){a.getRemoteData(r);return}do{for(A=!1,c=0;cm){g=!0;break}else if(l===-1&&p"u");++l){let c=i[l].cells[r].querySelector("input[type=checkbox]");c!==null&&(c.checked=o)}})}static getRemoteData(t){let e={limit:t.getAttribute("data-limit"),offset:t.getAttribute("data-offset"),sorting:t.getAttribute("data-sorting"),filter:t.getAttribute("data-filter")},n=new O;n.setData(e),n.setType(K.JSON),n.setUri(t.getAttribute("data-src")),n.setMethod("GET"),n.setRequestHeader("Content-Type","application/json"),n.setSuccess(function(r){a.emptyTable(t.getElementsByTagName("tbody")[0]),a.addToTable(t.getElementsByTagName("tbody")[0],JSON.parse(r.response)[0])}),n.send()}static emptyTable(t){let e=t.getElementsByTagName("tr"),n=e.length;for(let r=0;r"u"||typeof e.key>"u"){this.logger.error("Invalid element id/key: "+t+"/"+e.key);return}if(this.app.eventManager.isAttached(t+"-"+e.key+"-"+e.action[s-1].key))return;this.app.eventManager.attach(t+"-"+e.key+"-"+e.action[s-1].key,function(o){r.runAction(t,e,e.action[s],o)},n,!0)}document.getElementById(t).addEventListener(e.listener,function(s){e.preventDefault&&d.preventAll(s),r.runAction(this.id,e,e.action[0],s)},!1)}runAction(t,e,n,r){let i=this;if(!Object.prototype.hasOwnProperty.call(this.actions,n.type)){this.logger.warning("Undefined action "+n.type);return}n.data=r,this.actions[n.type](n,function(s){i.app.eventManager.trigger(t+"-"+e.key+"-"+n.key,t,s)},t)}add(t,e){this.actions[t]=e}};var it=class{constructor(t){this.app=t,this.draggable={},this.dragging=null}bind(t=null){if(t!==null)this.bindElement(t);else{let e=document.querySelectorAll(".oms-dragcontainer"),n=e?e.length:0;for(let r=0;r0?t.insertBefore(t.children[i],t.children[i-1]):s===-1&&i"u"&&(this.elements[t]=[],this.bind(t)),this.elements[t].push({keys:e,callback:n})}bind(t){let e=this,n=t===""?[document]:document.querySelectorAll(t),r=n.length;for(let i=0;i-1;)e.down.splice(o,1),o=e.down.indexOf(s.keyCode)})}run(t,e){if(typeof this.elements[t]>"u")throw new Error("Unexpected elmenet!");let n=this.elements[t].concat(this.elements[""]),r=n.length,i=this.down.length;for(let s=0;s"u"&&(this.elements[t]=[]),this.bind(t,e),this.elements[t].push({callback:r,type:e,button:n,exact:i})}bind(t,e){let n=this,r=document.getElementById(t);r&&(e===j.CONTEXT?r.addEventListener("contextmenu",function(i){n.run(t,i)},!1):e===j.LONGPRESS?(r.addEventListener("mousedown",function(i){n.click.time=new Date().getTime()},!1),r.addEventListener("mouseup",function(i){new Date().getTime()-n.click.time>650&&n.run(t,i),n.click.time=0},!1)):e===j.CLICK&&r.addEventListener("click",function(i){n.run(t,i)},!1))}run(t,e){if(typeof this.elements[t]>"u")throw new Error("Unexpected element!");let n=this.elements[t],r=n.length;for(let i=0;i = "+Object.keys(this.commands).join(" | ")+" ;"}setLanguage(t){this.recognition.lang=t}add(t,e){this.commands[t]=e}start(){P!==null&&this.recognition.start()}stop(){P!==null&&this.recognition.stop()}},P=typeof P<"u"?P:typeof webkitSpeechRecognition<"u"?webkitSpeechRecognition:null,St=typeof St<"u"?St:typeof webkitSpeechGrammarList<"u"?webkitSpeechGrammarList:null;var dt=class{constructor(t){this.keyboardManager=new ct,this.mouseManager=new ut,this.voiceManager=new H(t)}getKeyboardManager(){return this.keyboardManager}getMouseManager(){return this.mouseManager}getVoiceManager(){return this.voiceManager}};var mt=class{static getInstance(t,e){return new window.omsApp.Modules[t](e)}};var ft=class{constructor(t){this.modules={},this.app=t}get(t){return typeof this.modules[t]>"u"&&(this.modules[t]=mt.getInstance(t,this.app)),this.modules[t]}};var ht=class{constructor(t="en-US"){this.pitch=1,this.rate=1,this.lang=t,this.voices=[],this.voice=null,Nt!==null&&(this.voices=window.speechSynthesis.getVoices(),this.voice=this.voices[0])}read(t){let e=new SpeechSynthesisUtterance(t);e.lang=this.lang,e.voice=this.voice,e.pitch=this.pitch,e.rate=this.rate,window.speechSynthesis.speak(e)}setLanguage(t){this.lang=t}setPitch(t){this.pitch=t}setRate(t){this.rate=t}getVoices(){return this.voices}},Nt=typeof Nt<"u"?Nt:typeof webkitSpeechRecognition<"u"?webkitSpeechRecognition:null;var pt=class{constructor(){this.status=0}setStatus(t){this.status=t}send(t){let e=document.getElementById("app-message-tpl");if(e===null)return;switch(t.status){case 0:t.status=L.OK;break}let n=document.importNode(e.content,!0);if(n.querySelector(".log-msg").classList.add("log-lvl-"+t.status),n.querySelector(".log-msg-content").innerHTML=t.message,n.querySelector(".close").addEventListener("click",function(){this.parentNode.remove()}),t.title&&t.title!==""?n.querySelector(".log-msg-title").innerHTML=t.title:n.querySelector(".log-msg-title").remove(),t.primaryButton){let s=n.querySelector(".primary-button");s&&(s.innerHTML=t.primaryButton.text,s.addEventListener("click",t.primaryButton.callback))}else{let s=n.querySelector(".primary-button");s&&s.remove()}if(t.secondaryButton){let s=n.querySelector(".secondary-button");s&&(s.innerHTML=t.secondaryButton.text,s.addEventListener("click",t.secondaryButton.callback))}else{let s=n.querySelector(".secondary-button");s&&s.remove()}e.parentNode.appendChild(n);let r=document.getElementsByClassName("log-msg"),i=r[r.length-1];window.navigator.vibrate(t.vibrate?200:0),!t.isSticky&&setTimeout(function(){i!==null&&i.parentNode!==null&&i.parentNode.removeChild(i)},t.duration)}};var gt=class{constructor(){this.status=0}setStatus(t){this.status=t}requestPermission(){Notification.permission!=="granted"&&Notification.permission!=="denied"&&window.isSecureContext&&Notification.requestPermission()}send(t){Notification.permission==="granted"&&navigator.serviceWorker.ready.then(e=>{e.showNotification(t.title,{body:t.message,icon:"../images/touch/chrome-touch-icon-192x192.png",vibrate:[t.vibrate?200:0],tag:"notification"})})}};var yt=class{constructor(){this.appNotifier=new pt,this.browserNotifier=new gt}send(t,e){I.APP_NOTIFICATION===e?this.appNotifier.send(t):this.browserNotifier.send(t)}getAppNotifier(){return this.appNotifier}getBrowserNotifier(){return this.browserNotifier}};function bt(a,t,e){setTimeout(function(){a.src?document.getElementById(a.src).src=E.build(a.uri):window.location=E.build(a.uri)},parseInt(a.delay))}function xt(a,t){"use strict";let e=new O(a.uri,a.method,a.request_type);e.setSuccess(function(n){window.omsApp.logger.log(n.responseText),t(JSON.parse(n.responseText))}),typeof a.data<"u"&&a.data!==null&&e.setData(a.data),e.send()}function At(a,t,e){"use strict";setTimeout(function(){a.src?(console.log(document.getElementById(a.src).hasAttribute("data-src")),console.log(E.build(document.getElementById(a.src).getAttribute("data-src"))),document.getElementById(a.src).src=document.getElementById(a.src).hasAttribute("data-src")?E.build(document.getElementById(a.src).getAttribute("data-src")):document.getElementById(a.src).src):document.location.reload()},parseInt(a.delay)),t()}function Tt(a,t,e){"use strict";window.omsApp.logger.log("prevented"),d.preventAll(a.data),t()}function It(a,t,e){"use strict";a.key=a.jump-1,t()}function Lt(a,t,e){"use strict";let n=a.conditions,r=Object.values(a.data)[0];for(let i in n)if(n[i].comp==="=="&&r===n[i].value){a.key=n[i].jump-1;break}else if(n[i].comp==="!="&&r!==n[i].value){a.key=n[i].jump-1;break}else if(n[i].comp===">"&&r>n[i].value){a.key=n[i].jump-1;break}else if(n[i].comp==="<"&&r="&&r>=n[i].value){a.key=n[i].jump-1;break}else if(n[i].comp==="<="&&r<=n[i].value){a.key=n[i].jump-1;break}else if(n[i].comp===""){a.key=n[i].jump-1;break}t()}function kt(a,t,e){"use strict";let n=a.base==="self"?a.selector===""?[document.getElementById(e)]:document.getElementById(e).querySelectorAll(a.selector):document.querySelectorAll(a.selector);if(n){for(let r of n)r.click();t()}}function qt(a,t,e){"use strict";let n=a.base==="self"?a.selector===""||typeof a.selector>"u"?[document.getElementById(e)]:document.getElementById(e).querySelectorAll(a.selector):document.querySelectorAll(a.selector),r={};for(let i in n){if(!Object.prototype.hasOwnProperty.call(n,i)||!(n[i]instanceof HTMLElement))continue;let s=typeof n[i].getAttribute("name")<"u"&&n[i].getAttribute("name")!==""&&n[i].getAttribute("name")!==null?n[i].getAttribute("name"):n[i].getAttribute("id");if(n[i].tagName.toLowerCase()==="form"){r=window.omsApp.uiManager.getFormManager().get(s).getData();break}else r[s]=C.getValueFromDataSource(n[i])}t(r)}function Rt(a,t,e){"use strict";let n=a.value,r="",i="",s="",o=0,l=0;for(;n.indexOf("http")!==0&&(o=n.indexOf("{",o))!==-1;)l=n.indexOf("}",o),o++,r=n.substring(o,l),i=d.getArray(r,a.data,"/"),s="{"+r+"}",n=n.replace(new RegExp(s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),i);let c=a.base==="self"?a.selector===""?[document.getElementById(e)]:document.getElementById(e).querySelectorAll(a.selector):document.querySelectorAll(a.selector);for(let u in c)!Object.prototype.hasOwnProperty.call(c,u)||!(c[u]instanceof HTMLElement)||(c[u].tagName.toLowerCase()==="div"||c[u].tagName.toLowerCase()==="span"?c[u].innerHTML.includes(n)||(a.overwrite?c[u].innerHTML=n:a.overwrite||(c[u].innerHTML+=n)):c[u].tagName.toLowerCase()==="iframe"?c[u].src=E.build(n):c[u].value!==n&&!c[u].value.includes(", "+n+",")&&!c[u].value.endsWith(", "+n)&&!c[u].value.startsWith(n+",")&&(a.overwrite?c[u].value=n:c[u].value+=(c[u].value!==""?", ":"")+n));t(a.data)}function Mt(a,t,e){"use strict";let n=a.base==="self"?a.selector===""?[document.getElementById(e)]:document.getElementById(e).querySelectorAll(a.selector):document.querySelectorAll(a.selector);for(let r in n)if(!(!Object.prototype.hasOwnProperty.call(n,r)||!(n[r]instanceof HTMLElement)))switch(a.subtype){case"remove":{let i=n[r].getAttribute(a.attr);if(i!==null&&i.match(new RegExp("(\\s|^)"+a.value+"(\\s|$)"))!==null){let s=new RegExp("(\\s|^)"+a.value);n[r].setAttribute(a.attr,i.replace(s,"").trim())}break}case"add":n[r].setAttribute(a.attr,d.trim(n[r].getAttribute(a.attr)+" "+a.value));break;case"set":n[r].setAttribute(a.attr,a.value);break;default:}t(a.data)}function Bt(a,t,e){"use strict";let n=a.base==="self"?a.selector===""?[document.getElementById(e)]:document.getElementById(e).querySelectorAll(a.selector):document.querySelectorAll(a.selector);if(!n)return;let r=window.omsApp.uiManager.getFormManager();for(let i of n)r.submit(r.get(i.id));t()}var wt={redirect:bt,"message.request":xt,"dom.reload":At,"dom.click":kt,"form.submit":Bt,"event.prevent":Tt,"dom.get":qt,"dom.set":Rt,"dom.attr.change":Mt,jump:It,if:Lt};var G=[{element:"",keys:[17,80],callback:function(a){document.getElementById("iSearchBox").focus()}},{element:"form, input, textarea, select",keys:[17,13],callback:function(a){let t=document.activeElement,e=t.closest("form");if(e!==null&&(e=e.id),e===null&&(e=t.getAttribute("form")),e===null&&(e=t.getAttribute("data-form")),e===null)return;let r=window.omsApp.uiManager.getFormManager().get(e).getSubmit(),i=r.length,s=-1;for(let o=0;o0?t[n-r].focus():t[e-r].focus(),++r;while(r0;)e[0].parentNode.removeChild(e[0]);a.errors.forEach(function(n){let r=document.getElementById(n.id);if(!r)return;let i=document.createElement("i"),s=document.createTextNode(n.msg);i.id="i-"+n.id,i.class="i-"+a.form,i.appendChild(s),r.parentNode.insertBefore(i,r.nextSibling)})}var Et={notify:Dt,validation:Ft,redirect:bt,reload:At};var vt={read:"read_text",help:function(){S.instance.debug("There is no help for you.")},"go to":function(a){let t=new O;t.setData({}),t.setType(x.FORM_DATA),t.setUri("api/navigation/goto?app=Backend&search="+a),t.setMethod(q.GET),t.setSuccess(function(e){window.omsApp.logger.log(e.response);try{let n=JSON.parse(e.response)[0],r=new B(n);typeof r.get("type")<"u"?window.omsApp.responseManager.run(r.get("type"),r.get(),t):typeof n.status<"u"&&n.status!==L.HIDDEN&&window.omsApp.notifyManager.send(new T(n.status,n.title,n.message),I.APP_NOTIFICATION)}catch(n){window.omsApp.logger.log(n),S.instance.error(`Invalid form response.
+Request: `+JSON.stringify(a)+`
+Response: `+e.response)}}),t.setResultCallback(0,function(e){window.omsApp.notifyManager.send(new T(L.ERROR,"Failure","Some failure happened"),I.APP_NOTIFICATION)}),t.send()}};var Ct=class{constructor(){this.logger=S.getInstance(!0,!1,!1),window.logger=this.logger,this.cacheManager=new Q,this.storageManager=new X,this.eventManager=new $,this.responseManager=new Y,this.assetManager=new J,this.accountManager=new Z,this.uiManager=new lt(this),this.inputManager=new dt(this),this.moduleManager=new ft(this),this.readManager=new ht,this.voiceManager=new H(this),this.notifyManager=new yt,this.request=null,this.state={hasChanges:!1},this.reInit(),this.setupGeolocation(),this.setupNotificationManager(),this.setupServiceWorker(),this.setResponseMessages(),this.setVoiceActions(),this.setActions(),this.setKeyboardActions(),this.setMouseActions(),this.setPopstate()}reInit(){this.request=new k(window.location.href),this.request.setRootPath(k.parseUrl(typeof document.getElementsByTagName("base")[0]<"u"?document.getElementsByTagName("base")[0].href:"").path),E.setupUriBuilder(this.request),E.setQuery("/lang",window.location.href.substr(this.request.getBase().length).split("/")[0]),this.uiManager.bind()}setPopstate(){window.addEventListener("popstate",function(t,e){window.location.href=window.location.href})}setupGeolocation(){"geolocation"in navigator&&window.isSecureContext&&navigator.geolocation.getCurrentPosition(t=>{})}setupNotificationManager(){this.notifyManager.browserNotifier.requestPermission()}setupServiceWorker(){"serviceWorker"in navigator&&window.isSecureContext&&navigator.serviceWorker.register("sw.min.js").then(function(t){self.periodicSync.register("get-latest-notification",{minInterval:60*1}).then(()=>{S.instance.warning("PeriodicSync registration worked.")}).catch(function(e){S.instance.warning("PeriodicSync registration failed.")})}).catch(function(t){S.instance.warning("ServiceWorker registration failed.")})}setResponseMessages(){for(let t in Et)Et.hasOwnProperty(t)&&this.responseManager.add(t,Et[t])}setActions(){for(let t in wt)wt.hasOwnProperty(t)&&this.uiManager.getActionManager().add(t,wt[t])}setKeyboardActions(){let t=G.length;for(let e=0;e