arelle-release 2.37.3__py3-none-any.whl → 2.37.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of arelle-release might be problematic. Click here for more details.

arelle/CntlrCmdLine.py CHANGED
@@ -405,7 +405,7 @@ def parseArgs(args):
405
405
  if hasWebServer():
406
406
  parser.add_option("--webserver", action="store", dest="webserver",
407
407
  help=_("start web server on host:port[:server] for REST and web access, e.g., --webserver locahost:8080, "
408
- "or specify nondefault a server name, such as cherrypy, --webserver locahost:8080:cherrypy. "
408
+ "or specify nondefault a server name, such as cheroot, --webserver locahost:8080:cheroot. "
409
409
  "(It is possible to specify options to be defaults for the web server, such as disclosureSystem and validations, but not including file names.) "))
410
410
  pluginOptionsIndex = len(parser.option_list)
411
411
  pluginOptionsGroupIndex = len(parser.option_groups)
arelle/CntlrWinMain.py CHANGED
@@ -1487,7 +1487,6 @@ class CntlrWinMain (Cntlr.Cntlr):
1487
1487
  "\n PyParsing \u00a9 2003-2013 Paul T. McGuire"
1488
1488
  "\n lxml {lxmlVersion} \u00a9 2004 Infrae, ElementTree \u00a9 1999-2004 by Fredrik Lundh"
1489
1489
  "\n Bottle \u00a9 2009-2024 Marcel Hellkamp"
1490
- "\n CherryPy \u00a9 2004-2019 CherryPy Team"
1491
1490
  "\n May include installable plug-in modules with author-specific license terms").format(
1492
1491
  version=Version.__version__,
1493
1492
  wordSize=self.systemWordSize,
arelle/_version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '2.37.3'
21
- __version_tuple__ = version_tuple = (2, 37, 3)
20
+ __version__ = version = '2.37.4'
21
+ __version_tuple__ = version_tuple = (2, 37, 4)
@@ -520,13 +520,13 @@ msgstr "تجميع إحصاءات تعريفية، مثل توقيتات اعم
520
520
  msgid ""
521
521
  "start web server on host:port[:server] for REST and web access, e.g., --"
522
522
  "webserver locahost:8080, or specify nondefault a server name, such as "
523
- "cherrypy, --webserver locahost:8080:cherrypy. (It is possible to specify "
523
+ "cheroot, --webserver locahost:8080:cheroot. (It is possible to specify "
524
524
  "options to be defaults for the web server, such as disclosureSystem and "
525
525
  "validations, but not including file names.) "
526
526
  msgstr ""
527
527
  "تشغيل الويب سيرفير على عنوان host:port[:server] لعمليات REST، مثال webserver "
528
- "locahost:8080--، او تحديد نوع سيرفير اخر مثل cherrypy على سبيل المثال "
529
- "webserver locahost:8080:cherrypy--. (يمكن تحديد خيارات مفترضة للويب سيرفير "
528
+ "locahost:8080--، او تحديد نوع سيرفير اخر مثل cheroot على سبيل المثال "
529
+ "webserver locahost:8080:cheroot--. (يمكن تحديد خيارات مفترضة للويب سيرفير "
530
530
  "مثل disclosureSystem و validations ولا يتضمن ذلك اسم الملف.) "
531
531
 
532
532
  #: CntlrCmdLine.py:379
@@ -2599,7 +2599,6 @@ msgstr ""
2599
2599
  msgid ""
2600
2600
  "\n"
2601
2601
  " Bottle \\u00a9 2011-2013 Marcel Hellkamp\n"
2602
- " CherryPy \\u00a9 2002-2013 CherryPy Team"
2603
2602
  msgstr ""
2604
2603
 
2605
2604
  #: CntlrWinMain.py:1343
@@ -297,7 +297,7 @@ msgid "Collect profile statistics, such as timing of validation activities and f
297
297
  msgstr ""
298
298
 
299
299
  #: arelle\CntlrCmdLine.py:328
300
- msgid "start web server on host:port[:server] for REST and web access, e.g., --webserver locahost:8080, or specify nondefault a server name, such as cherrypy, --webserver locahost:8080:cherrypy. (It is possible to specify options to be defaults for the web server, such as disclosureSystem and validations, but not including file names.) "
300
+ msgid "start web server on host:port[:server] for REST and web access, e.g., --webserver locahost:8080, or specify nondefault a server name, such as cheroot, --webserver locahost:8080:cheroot. (It is possible to specify options to be defaults for the web server, such as disclosureSystem and validations, but not including file names.) "
301
301
  msgstr ""
302
302
 
303
303
  #: arelle\CntlrCmdLine.py:356
@@ -1572,7 +1572,6 @@ msgstr ""
1572
1572
  msgid ""
1573
1573
  "\n"
1574
1574
  " Bottle © 2011-2013 Marcel Hellkamp\n"
1575
- " CherryPy © 2002-2013 CherryPy Team"
1576
1575
  msgstr ""
1577
1576
 
1578
1577
  #: arelle\CntlrWinMain.py:1327
@@ -261,8 +261,8 @@ msgid "Collect profile statistics, such as timing of validation activities and f
261
261
  msgstr "Собирать статистику профиля, например, время исполнения валидации."
262
262
 
263
263
  #: arelle\CntlrCmdLine.py:308
264
- msgid "start web server on host:port[:server] for REST and web access, e.g., --webserver locahost:8080, or specify nondefault a server name, such as cherrypy, --webserver locahost:8080:cherrypy. (It is possible to specify options to be defaults for the web server, such as disclosureSystem and validations, but not including file names.) "
265
- msgstr "запустите веб-сервер на host:port[:server] для REST и веб-доступа, например, --webserver locahost:8080, или укажите имя сервера не по умолчанию, например cherrypy, --webserver locahost:8080:cherrypy. (Можно указать параметры по умолчанию для веб-сервера, такие как системы раскрытия информации и валиидаций, но не включая имена файлов.) "
264
+ msgid "start web server on host:port[:server] for REST and web access, e.g., --webserver locahost:8080, or specify nondefault a server name, such as cheroot, --webserver locahost:8080:cheroot. (It is possible to specify options to be defaults for the web server, such as disclosureSystem and validations, but not including file names.) "
265
+ msgstr "запустите веб-сервер на host:port[:server] для REST и веб-доступа, например, --webserver locahost:8080, или укажите имя сервера не по умолчанию, например cheroot, --webserver locahost:8080:cheroot. (Можно указать параметры по умолчанию для веб-сервера, такие как системы раскрытия информации и валиидаций, но не включая имена файлов.) "
266
266
 
267
267
  #: arelle\CntlrCmdLine.py:336
268
268
  msgid "Show product version, copyright, and license."
@@ -20,7 +20,6 @@ mustNotBeHiddenElements = [
20
20
  "cipc-ca:DisclosureOfDirectorsResponsibilityExplanatory",
21
21
  "cipc-ca:FullRegisteredNameOfCompany",
22
22
  "cipc-ca:RegistrationNumberOfCompany",
23
- "cipc-ca-enum:DescriptionOfNatureOfFinancialStatements",
24
23
  "ifrs-full:DateOfEndOfReportingPeriod2013",
25
24
  "ifrs-full:DescriptionOfNatureOfFinancialStatements",
26
25
  "ifrs-full:DescriptionOfPresentationCurrency",
@@ -3,6 +3,8 @@ See COPYRIGHT.md for copyright information.
3
3
  """
4
4
  from __future__ import annotations
5
5
 
6
+ from typing import cast, Any
7
+
6
8
  import regex as re
7
9
  from collections import defaultdict
8
10
  from dataclasses import dataclass
@@ -11,6 +13,7 @@ from arelle.ModelInstanceObject import ModelUnit, ModelContext, ModelFact
11
13
  from arelle.ModelValue import QName
12
14
  from arelle.ModelXbrl import ModelXbrl
13
15
  from arelle.utils.PluginData import PluginData
16
+ from arelle.XmlValidate import lexicalPatterns
14
17
 
15
18
 
16
19
  XBRLI_IDENTIFIER_PATTERN = re.compile(r"^(?!00)\d{8}$")
@@ -32,6 +35,8 @@ class PluginValidationDataExtension(PluginData):
32
35
  textFormattingWrapper: str
33
36
 
34
37
  _contextsByDocument: dict[str, list[ModelContext]] | None = None
38
+ _contextsWithPeriodTime: list[ModelContext | None] | None = None
39
+ _contextsWithPeriodTimeZone: list[ModelContext | None] | None = None
35
40
  _entityIdentifiers: set[tuple[str, str]] | None = None
36
41
  _factsByDocument: dict[str, list[ModelFact]] | None = None
37
42
  _unitsByDocument: dict[str, list[ModelUnit]] | None = None
@@ -45,6 +50,25 @@ class PluginValidationDataExtension(PluginData):
45
50
  self._contextsByDocument = dict(contextsByDocument)
46
51
  return self._contextsByDocument
47
52
 
53
+ def checkContexts(self, allContexts: dict[str, list[ModelContext]]) -> None:
54
+ contextsWithPeriodTime: list[ModelContext | None] = []
55
+ contextsWithPeriodTimeZone: list[ModelContext | None] = []
56
+ datetimePattern = lexicalPatterns["XBRLI_DATEUNION"]
57
+ for contexts in allContexts.values():
58
+ for context in contexts:
59
+ for uncastElt in context.iterdescendants("{http://www.xbrl.org/2003/instance}startDate",
60
+ "{http://www.xbrl.org/2003/instance}endDate",
61
+ "{http://www.xbrl.org/2003/instance}instant"):
62
+ elt = cast(Any, uncastElt)
63
+ m = datetimePattern.match(elt.stringValue)
64
+ if m:
65
+ if m.group(1):
66
+ contextsWithPeriodTime.append(context)
67
+ if m.group(3):
68
+ contextsWithPeriodTimeZone.append(context)
69
+ self._contextsWithPeriodTime = contextsWithPeriodTime
70
+ self._contextsWithPeriodTimeZone = contextsWithPeriodTimeZone
71
+
48
72
  def entityIdentifiersInDocument(self, modelXbrl: ModelXbrl) -> set[tuple[str, str]]:
49
73
  if self._entityIdentifiers is not None:
50
74
  return self._entityIdentifiers
@@ -60,6 +84,18 @@ class PluginValidationDataExtension(PluginData):
60
84
  self._factsByDocument = dict(factsByDocument)
61
85
  return self._factsByDocument
62
86
 
87
+ def getContextWithPeriodTime(self, modelXbrl: ModelXbrl) -> list[ModelContext | None]:
88
+ if self._contextsWithPeriodTime is None:
89
+ self.checkContexts(self.contextsByDocument(modelXbrl))
90
+ assert(self._contextsWithPeriodTime is not None)
91
+ return self._contextsWithPeriodTime
92
+
93
+ def getContextWithPeriodTimeZone(self, modelXbrl: ModelXbrl) -> list[ModelContext | None]:
94
+ if self._contextsWithPeriodTimeZone is None:
95
+ self.checkContexts(self.contextsByDocument(modelXbrl))
96
+ assert (self._contextsWithPeriodTimeZone is not None)
97
+ return self._contextsWithPeriodTimeZone
98
+
63
99
  def unitsByDocument(self, modelXbrl: ModelXbrl) -> dict[str, list[ModelUnit]]:
64
100
  if self._unitsByDocument is not None:
65
101
  return self._unitsByDocument
@@ -92,3 +92,51 @@ def rule_nl_kvk_3_1_1_2(
92
92
  modelObject = val.modelXbrl
93
93
  )
94
94
  return
95
+
96
+
97
+ @validation(
98
+ hook=ValidationHook.XBRL_FINALLY,
99
+ disclosureSystems=[
100
+ DISCLOSURE_SYSTEM_INLINE_NT19
101
+ ],
102
+ )
103
+ def rule_nl_kvk_3_1_2_1(
104
+ pluginData: PluginValidationDataExtension,
105
+ val: ValidateXbrl,
106
+ *args: Any,
107
+ **kwargs: Any,
108
+ ) -> Iterable[Validation]:
109
+ """
110
+ NL-KVK.3.1.2.1: xbrli:startDate, xbrli:endDate, xbrli:instant formatted as yyyy-mm-dd without time.
111
+ """
112
+ contextsWithPeriodTime = pluginData.getContextWithPeriodTime(val.modelXbrl)
113
+ if len(contextsWithPeriodTime) !=0:
114
+ yield Validation.error(
115
+ codes='NL.NL-KVK-3.1.2.1',
116
+ msg=_('xbrli:startDate, xbrli:endDate, xbrli:instant must be formatted as yyyy-mm-dd without time'),
117
+ modelObject = contextsWithPeriodTime
118
+ )
119
+
120
+
121
+ @validation(
122
+ hook=ValidationHook.XBRL_FINALLY,
123
+ disclosureSystems=[
124
+ DISCLOSURE_SYSTEM_INLINE_NT19
125
+ ],
126
+ )
127
+ def rule_nl_kvk_3_1_2_2(
128
+ pluginData: PluginValidationDataExtension,
129
+ val: ValidateXbrl,
130
+ *args: Any,
131
+ **kwargs: Any,
132
+ ) -> Iterable[Validation]:
133
+ """
134
+ NL-KVK.3.1.2.1: xbrli:startDate, xbrli:endDate, xbrli:instant format to be formatted as yyyy-mm-dd without time zone.
135
+ """
136
+ contextsWithPeriodTimeZone = pluginData.getContextWithPeriodTimeZone(val.modelXbrl)
137
+ if len(pluginData.getContextWithPeriodTimeZone(val.modelXbrl)) !=0:
138
+ yield Validation.error(
139
+ codes='NL.NL-KVK-3.1.2.2',
140
+ msg=_('xbrli:startDate, xbrli:endDate, xbrli:instant must be formatted as yyyy-mm-dd without time zone'),
141
+ modelObject = contextsWithPeriodTimeZone
142
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arelle-release
3
- Version: 2.37.3
3
+ Version: 2.37.4
4
4
  Summary: An open source XBRL platform.
5
5
  Author-email: "arelle.org" <support@arelle.org>
6
6
  License: Apache-2.0
@@ -56,7 +56,6 @@ Provides-Extra: objectmaker
56
56
  Requires-Dist: graphviz==0.*; extra == "objectmaker"
57
57
  Provides-Extra: webserver
58
58
  Requires-Dist: cheroot<11,>=8; extra == "webserver"
59
- Requires-Dist: CherryPy==18.*; extra == "webserver"
60
59
  Requires-Dist: tornado==6.*; extra == "webserver"
61
60
  Dynamic: license-file
62
61
 
@@ -1,12 +1,12 @@
1
1
  arelle/Aspect.py,sha256=Pn9I91D1os1RTVj6htuxTfRzVMhmVDtrbKvV_zy9xMI,5470
2
2
  arelle/BetaFeatures.py,sha256=T_tPac-FiozHyYLCemt0RoHJ1JahUE71L-0tHmIRKpE,858
3
3
  arelle/Cntlr.py,sha256=sf5Xe19t5E0wKzhdlXl1p5r6gMtCmPhYAi8RVY0jz7Y,30449
4
- arelle/CntlrCmdLine.py,sha256=8KgbLDT9WBV4fWzUEg5S9MVKPxljfPtOl4gwWjZxXd4,94192
4
+ arelle/CntlrCmdLine.py,sha256=50acj2edwwIxVjMnQ3MdxuCq1B89g6peCogPi1Ox_OI,94190
5
5
  arelle/CntlrComServer.py,sha256=h1KPf31uMbErpxTZn_iklDqUMGFgQnjZkFkFjd8gtLQ,1888
6
6
  arelle/CntlrProfiler.py,sha256=2VQJudiUhxryVypxjODx2ccP1-n60icTiWs5lSEokhQ,972
7
7
  arelle/CntlrQuickBooks.py,sha256=BMqd5nkNQOZyNFPefkTeWUUDCYNS6BQavaG8k1Lepu4,31543
8
8
  arelle/CntlrWebMain.py,sha256=x5vtiopqGdp6L5s7PrUTEABXCGqtb5oy7yqWIVePtgE,50860
9
- arelle/CntlrWinMain.py,sha256=4Q5WhwDpp6s_5mIxRYPPPc7Q5j_FIcQnODNOyCca7bk,96688
9
+ arelle/CntlrWinMain.py,sha256=qG1nSN9cMafrZNZgIlA6W_iMsmTwIcpUqb_S1J6YR9k,96611
10
10
  arelle/CntlrWinTooltip.py,sha256=6MzoAIfkYnNu_bl_je8n0adhwmKxAIcymkg9Tij9Z4M,7951
11
11
  arelle/DialogAbout.py,sha256=XXzMV0fO4BQ3-l1Puirzmn7EZEdmgJg7JNYdJm1FueM,1987
12
12
  arelle/DialogArcroleGroup.py,sha256=r81OT3LFmMkoROpFenk97oVEyQhibKZ1QgDHvMsyCl0,7547
@@ -123,7 +123,7 @@ arelle/XmlValidateConst.py,sha256=U_wN0Q-nWKwf6dKJtcu_83FXPn9c6P8JjzGA5b0w7P0,33
123
123
  arelle/XmlValidateParticles.py,sha256=Mn6vhFl0ZKC_vag1mBwn1rH_x2jmlusJYqOOuxFPO2k,9231
124
124
  arelle/XmlValidateSchema.py,sha256=6frtZOc1Yrx_5yYF6V6oHbScnglWrVbWr6xW4EHtLQI,7428
125
125
  arelle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
- arelle/_version.py,sha256=T8z9f1Pg6RHF4_5AUnOcOyNFPucZFFTCQ36SUSW8RRI,513
126
+ arelle/_version.py,sha256=5SpVYrjJ8HXJESb6Hj4zVwSMneHW2U31a6HFjEleIz4,513
127
127
  arelle/typing.py,sha256=Ct5lrNKRow_o9CraMEXNza8nFsJ_iGIKoUeGfPs2dxI,1084
128
128
  arelle/api/Session.py,sha256=O8zpg7MJys9uxwwHf8OsSlZxpPdq7A3ONyY39Q4A3Kc,6218
129
129
  arelle/archive/CustomLogger.py,sha256=v_JXOCQLDZcfaFWzxC9FRcEf9tQi4rCI4Sx7jCuAVQI,1231
@@ -276,14 +276,14 @@ arelle/images/xbrl128.gif,sha256=wb1K8SeKyYV63EUVYG0j7W6veY0moD8L8YrjAhnyRdI,927
276
276
  arelle/images/xbrl16.ico,sha256=n4GcRLd-_sTpT0PML7rPSUd8lHCGNWYftrJ7WhhcMaQ,1150
277
277
  arelle/images/xbrl32.ico,sha256=ubVPZKTkX7lsJhHz1vEKsIbWY7g0k1asxvwgT8Nbzxw,4286
278
278
  arelle/locale/messages.mo,sha256=1fb0KAYAzYLGV0tuFvfzDHMj_fYtNYEpqS2rUkZSf3Y,398
279
- arelle/locale/messages.pot,sha256=tO4mHem4QXX2YJHRScbetmx-nN1siSgz9UaVsNYyGRw,249762
280
- arelle/locale/ar_EG/LC_MESSAGES/ar_EG.po,sha256=cffTCuTgVrckEA_Omyz6k2TmTqZhN4o3ykvXJO4qvAQ,341883
279
+ arelle/locale/messages.pot,sha256=rSm-zzgA-4oDOrMELAQwrFAJpwV2yGP-81Ij6Uoc-uw,249718
280
+ arelle/locale/ar_EG/LC_MESSAGES/ar_EG.po,sha256=UboUT0k6DtALtn_Lsu5Ts8wCxiyaotYjA4OoSkfooBQ,341833
281
281
  arelle/locale/ar_EG/LC_MESSAGES/arelle.mo,sha256=J_v2J5ED3FDhIpk4WxnWXo2THNTqfgAwd2NOa8erB8I,185904
282
282
  arelle/locale/es/LC_MESSAGES/arelle.mo,sha256=iB8uYP_vhdqll3c8O08KBsaZ3hlf4YHwZFxc3-nC3k8,149331
283
283
  arelle/locale/fr/LC_MESSAGES/arelle.mo,sha256=HsXvnKEsnhqJqH6H9SlGBy451fnQTaizbZCyCN_Qbwg,118897
284
284
  arelle/locale/fr/LC_MESSAGES/fr.po,sha256=D2WHLI9NktcxgmGx91fRLNLoVjvO3Z0jjS9AJlroOCE,168077
285
285
  arelle/locale/ru/LC_MESSAGES/arelle.mo,sha256=i004xdiJMpXus5DnSz2y708H5vPt78Pu5ApkrdC9Fqw,375378
286
- arelle/locale/ru/LC_MESSAGES/ru.po,sha256=pPACN6dXlimkr2KJ5l-B0fv4PhlijWAz3fVYJ5h3SaM,449579
286
+ arelle/locale/ru/LC_MESSAGES/ru.po,sha256=aOQv5MfenTHo_y_RbkRen2SvgBQDTnmxOkKOZsUE3LQ,449575
287
287
  arelle/logging/formatters/LogFormatter.py,sha256=emXkUWLRZ65-qu9K-BcYrT2ueR8R-YchA8bwPY3yA60,1968
288
288
  arelle/logging/handlers/LogHandlerWithXml.py,sha256=xj-m6aNh4gksxP9AjN0xkECxVdx9m7ElCC0lXkhFcUQ,4318
289
289
  arelle/logging/handlers/LogToBufferHandler.py,sha256=tTzHRw9tn1Osrpc5rcKxk2iTEE3uIq5wb792z5RVYAs,612
@@ -344,7 +344,7 @@ arelle/plugin/logging/saveMessages.py,sha256=h6XNFJZq3q1WLn_Y3_DI-l8Qn_-IZa2JBk-
344
344
  arelle/plugin/security/cryptAES_CBC.py,sha256=S94AdMqu4jdLrprl0FLT2w7tG6IgxTGxRfRuYR9x43w,6078
345
345
  arelle/plugin/security/cryptAES_EAX.py,sha256=TAL_kpu_2WMMpHOWrxA8Y7UuTAcbbTY6DK0VYQZGWF0,5952
346
346
  arelle/plugin/transforms/tester.py,sha256=57relfBci8FttRSxHtdUaxlaQPrBhJglssImDecQPow,12501
347
- arelle/plugin/validate/CIPC/Const.py,sha256=Z0WHyC_QG9ktzO1N3GNXXT6gtZfKBGWL0nHSn98p5FU,11486
347
+ arelle/plugin/validate/CIPC/Const.py,sha256=GSiODyiK8V9P-pV0_DPEKYAhe2wqgcYJP2Qt6xaIyA4,11425
348
348
  arelle/plugin/validate/CIPC/__init__.py,sha256=OMLc0DgKulsyQlVhU9Wjlt_1VMpNJiUWBH16KV6TLtA,14681
349
349
  arelle/plugin/validate/CIPC/config.xml,sha256=4pyn40JAvQQeoRC8I046gZ4ZcmUnekX3TNfYpC5yonI,667
350
350
  arelle/plugin/validate/DBA/DisclosureSystems.py,sha256=Dp_r-Pa3tahtCfDha2Zc97N0iyrY4Zagb8w2D9ErILg,294
@@ -378,7 +378,7 @@ arelle/plugin/validate/FERC/__init__.py,sha256=V4fXcFKBsjFFPs9_1NhvDjWpEQCoQM0tR
378
378
  arelle/plugin/validate/FERC/config.xml,sha256=bn9b8eCqJA1J62rYq1Nz85wJrMGAahVmmnIUQZyerjo,1919
379
379
  arelle/plugin/validate/FERC/resources/ferc-utr.xml,sha256=OCRj9IUpdXATCBXKbB71apYx9kxcNtZW-Hq4s-avsRY,2663
380
380
  arelle/plugin/validate/NL/DisclosureSystems.py,sha256=VFMcO8GJ8kIqhOV5McyEejaGJOR5JrmeF8GdFuS9IZw,174
381
- arelle/plugin/validate/NL/PluginValidationDataExtension.py,sha256=HSC78vmyI_W7MMaLXgZbKGd9IdwtirbCK0Q1H8p9j9k,2922
381
+ arelle/plugin/validate/NL/PluginValidationDataExtension.py,sha256=kqXQIj3HKadldzDSvTkAF70hAWaLfqZSkmCx0Zkr1Ss,4930
382
382
  arelle/plugin/validate/NL/ValidationPluginExtension.py,sha256=VuvveUzLJ-1oTB394MSD2c2JeoLyys8y2Z13COHEnPs,14909
383
383
  arelle/plugin/validate/NL/__init__.py,sha256=9NkkfosHnAzJhBa84KDAsoyU7vd4_DO3GYKTSvKuOk8,2554
384
384
  arelle/plugin/validate/NL/resources/config.xml,sha256=vu5pA-Iw6cgb5aep8LNLNPCkmG1QF6RTw3TCgEIest8,1102
@@ -387,7 +387,7 @@ arelle/plugin/validate/NL/rules/br_kvk.py,sha256=0SwKieWzTDm3YMsXPS6zTdgbk7_Z9Cz
387
387
  arelle/plugin/validate/NL/rules/fg_nl.py,sha256=4Puq5wAjtK_iNd4wisH_R0Z_EKJ7MT2OCai5g4t1MPE,10714
388
388
  arelle/plugin/validate/NL/rules/fr_kvk.py,sha256=-_BLeWGoZ_f56p5VO4X40S45Ny3Ej-WK6Srei1KVSxU,8170
389
389
  arelle/plugin/validate/NL/rules/fr_nl.py,sha256=-M1WtXp06khhtkfOVPCa-b8UbC281gk4YfDhvtAVlnI,31424
390
- arelle/plugin/validate/NL/rules/nl_kvk.py,sha256=JUlnK9-ib0y7bGG6apJ8i60TMEdoe6y_hL33s22rYw4,3164
390
+ arelle/plugin/validate/NL/rules/nl_kvk.py,sha256=WVPUTAnfkCyAsDGW7p5QTXjAuafyy0PDkK2hCy3ILrg,4811
391
391
  arelle/plugin/validate/ROS/DisclosureSystems.py,sha256=rJ81mwQDYTi6JecFZ_zhqjjz3VNQRgjHNSh0wcQWAQE,18
392
392
  arelle/plugin/validate/ROS/PluginValidationDataExtension.py,sha256=IV7ILhNvgKwQXqbpSA6HRNt9kEnejCyMADI3wyyIgk0,4036
393
393
  arelle/plugin/validate/ROS/ValidationPluginExtension.py,sha256=FBhEp8t396vGdvCbMEimfcxmGiGnhXMen-yVLWnkFaI,758
@@ -707,7 +707,7 @@ arelle/utils/validate/ValidationPlugin.py,sha256=_WeRPXZUTCcSN3FLbFwiAe_2pAUTxZZ
707
707
  arelle/utils/validate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
708
708
  arelle/webserver/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
709
709
  arelle/webserver/bottle.py,sha256=P-JECd9MCTNcxCnKoDUvGcoi03ezYVOgoWgv2_uH-6M,362
710
- arelle_release-2.37.3.dist-info/licenses/LICENSE.md,sha256=rMbWwFLGzPgLoEjEu8LCmkpWDTqsvfOI-wzLSfeJsis,4107
710
+ arelle_release-2.37.4.dist-info/licenses/LICENSE.md,sha256=Q0tn6q0VUbr-NM8916513NCIG8MNzo24Ev-sxMUBRZc,3959
711
711
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
712
712
  tests/integration_tests/download_cache.py,sha256=jVMIVICsZjcVc9DCPPu3fCjF9_cWSS3tqSynhFs3oAM,4097
713
713
  tests/integration_tests/integration_test_util.py,sha256=H7mncbv0T9ZeVyrtk9Hohe3k6jgcYykHkt-LGE-Q9aQ,10270
@@ -1555,8 +1555,8 @@ tests/unit_tests/arelle/oim/test_load.py,sha256=NxiUauQwJVfWAHbbpsMHGSU2d3Br8Pki
1555
1555
  tests/unit_tests/arelle/plugin/test_plugin_imports.py,sha256=bdhIs9frAnFsdGU113yBk09_jis-z43dwUItMFYuSYM,1064
1556
1556
  tests/unit_tests/arelle/plugin/validate/ESEF/ESEF_Current/test_validate_css_url.py,sha256=XHABmejQt7RlZ0udh7v42f2Xb2STGk_fSaIaJ9i2xo0,878
1557
1557
  tests/unit_tests/arelle/utils/validate/test_decorator.py,sha256=ZS8FqIY1g-2FCbjF4UYm609dwViax6qBMRJSi0vfuhY,2482
1558
- arelle_release-2.37.3.dist-info/METADATA,sha256=__sBDh5sAxLpS_XRuOIO7tAG0c5YFdLKLf-gaL9XRMY,9116
1559
- arelle_release-2.37.3.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
1560
- arelle_release-2.37.3.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
1561
- arelle_release-2.37.3.dist-info/top_level.txt,sha256=ZYmYGmhW5Jvo3vJ4iXBZPUI29LvYhntom04w90esJvU,13
1562
- arelle_release-2.37.3.dist-info/RECORD,,
1558
+ arelle_release-2.37.4.dist-info/METADATA,sha256=RBTxyp_I3ftToxojuqIQI1eN2Agy53wcni_WikFT8ac,9064
1559
+ arelle_release-2.37.4.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
1560
+ arelle_release-2.37.4.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
1561
+ arelle_release-2.37.4.dist-info/top_level.txt,sha256=ZYmYGmhW5Jvo3vJ4iXBZPUI29LvYhntom04w90esJvU,13
1562
+ arelle_release-2.37.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.1.0)
2
+ Generator: setuptools (79.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -24,9 +24,6 @@ Python®: Copyright (c) 2001-2022 Python Software Foundation; All Rights Reserve
24
24
  aniso8601: Copyright (c) 2021, Brandon Nielsen, All rights reserved.
25
25
  [License](https://github.com/sloanlance/aniso8601/blob/master/LICENSE)
26
26
 
27
- cherrypy: cheroot Copyright © 2004-2020, CherryPy Team. All rights reserved.
28
- [License](https://github.com/cherrypy/cherrypy/blob/main/LICENSE.md)
29
-
30
27
  cx_Freeze: Copyright © 2020-2022, Marcelo Duarte, 2007-2020, Anthony Tuininga,
31
28
  2001-2006, Computronix (Canada) Ltd., Edmonton, Alberta, Canada. All rights reserved.
32
29
  [License](https://cx-freeze.readthedocs.io/en/latest/license.html)