arelle-release 2.17.1__py3-none-any.whl → 2.37.71__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.
Files changed (893) hide show
  1. arelle/Aspect.py +6 -3
  2. arelle/BetaFeatures.py +3 -0
  3. arelle/Cntlr.py +117 -413
  4. arelle/CntlrCmdLine.py +364 -227
  5. arelle/CntlrQuickBooks.py +4 -2
  6. arelle/CntlrWebMain.py +179 -119
  7. arelle/CntlrWinMain.py +342 -124
  8. arelle/DialogAbout.py +1 -1
  9. arelle/DialogArcroleGroup.py +1 -1
  10. arelle/DialogFind.py +1 -1
  11. arelle/DialogFormulaParameters.py +2 -2
  12. arelle/DialogLanguage.py +45 -36
  13. arelle/DialogNewFactItem.py +1 -1
  14. arelle/DialogOpenArchive.py +30 -34
  15. arelle/DialogPackageManager.py +11 -8
  16. arelle/DialogPluginManager.py +43 -89
  17. arelle/DialogRssWatch.py +2 -2
  18. arelle/DialogURL.py +1 -1
  19. arelle/DialogUserPassword.py +1 -1
  20. arelle/DisclosureSystem.py +69 -1
  21. arelle/ErrorManager.py +321 -0
  22. arelle/FileSource.py +201 -99
  23. arelle/FunctionFn.py +44 -5
  24. arelle/FunctionIxt.py +16 -13
  25. arelle/FunctionUtil.py +1 -1
  26. arelle/FunctionXfi.py +68 -24
  27. arelle/FunctionXs.py +1 -1
  28. arelle/HtmlUtil.py +5 -4
  29. arelle/LeiUtil.py +63 -43
  30. arelle/LinkbaseType.py +94 -0
  31. arelle/LocalViewer.py +8 -2
  32. arelle/Locale.py +239 -79
  33. arelle/ModelDocument.py +180 -48
  34. arelle/ModelDtsObject.py +32 -27
  35. arelle/ModelFormulaObject.py +14 -6
  36. arelle/ModelInstanceObject.py +43 -14
  37. arelle/ModelManager.py +6 -1
  38. arelle/ModelObject.py +12 -8
  39. arelle/ModelObjectFactory.py +18 -2
  40. arelle/ModelRelationshipSet.py +46 -3
  41. arelle/ModelRenderingObject.py +899 -951
  42. arelle/ModelRssItem.py +2 -4
  43. arelle/ModelTestcaseObject.py +41 -4
  44. arelle/ModelValue.py +42 -14
  45. arelle/ModelVersReport.py +1 -1
  46. arelle/ModelXbrl.py +133 -273
  47. arelle/PackageManager.py +202 -176
  48. arelle/PluginManager.py +551 -239
  49. arelle/PluginUtils.py +54 -0
  50. arelle/PrototypeInstanceObject.py +53 -12
  51. arelle/PythonUtil.py +166 -25
  52. arelle/RuntimeOptions.py +32 -18
  53. arelle/SocketUtils.py +3 -0
  54. arelle/SystemInfo.py +1 -1
  55. arelle/TkTableWrapper.py +33 -5
  56. arelle/UITkTable.py +27 -21
  57. arelle/Updater.py +7 -3
  58. arelle/UrlUtil.py +6 -2
  59. arelle/Validate.py +596 -402
  60. arelle/ValidateDuplicateFacts.py +584 -0
  61. arelle/ValidateFileSource.py +38 -0
  62. arelle/ValidateFilingText.py +46 -29
  63. arelle/ValidateInfoset.py +104 -32
  64. arelle/ValidateUtr.py +31 -4
  65. arelle/ValidateXbrl.py +144 -120
  66. arelle/ValidateXbrlCalcs.py +51 -66
  67. arelle/ValidateXbrlDTS.py +98 -29
  68. arelle/Version.py +2 -7
  69. arelle/ViewFile.py +2 -0
  70. arelle/ViewFileDTS.py +7 -2
  71. arelle/ViewFileFactList.py +1 -1
  72. arelle/ViewFileFactTable.py +4 -4
  73. arelle/ViewFileRelationshipSet.py +36 -19
  74. arelle/ViewFileRenderedGrid.py +164 -753
  75. arelle/ViewFileRenderedLayout.py +174 -0
  76. arelle/ViewFileRenderedStructure.py +108 -0
  77. arelle/ViewWinDTS.py +4 -1
  78. arelle/ViewWinFactList.py +1 -1
  79. arelle/ViewWinFactTable.py +1 -1
  80. arelle/ViewWinRelationshipSet.py +14 -8
  81. arelle/ViewWinRenderedGrid.py +397 -287
  82. arelle/ViewWinRssFeed.py +4 -0
  83. arelle/ViewWinTree.py +15 -9
  84. arelle/ViewWinXml.py +1 -1
  85. arelle/WebCache.py +510 -272
  86. arelle/XbrlConst.py +202 -196
  87. arelle/XbrlUtil.py +2 -1
  88. arelle/XhtmlValidate.py +9 -23
  89. arelle/XmlUtil.py +24 -19
  90. arelle/XmlValidate.py +95 -67
  91. arelle/XmlValidateParticles.py +4 -4
  92. arelle/_version.py +33 -3
  93. arelle/api/Session.py +183 -0
  94. arelle/config/creationSoftwareNames.json +24 -10
  95. arelle/config/disclosuresystems.xml +1 -1
  96. arelle/config/disclosuresystems.xsd +3 -0
  97. arelle/config/sbr-text-formatting.xsd +737 -0
  98. arelle/conformance/CSVTestcaseLoader.py +102 -0
  99. arelle/formula/FactAspectsCache.py +10 -4
  100. arelle/formula/ValidateFormula.py +82 -194
  101. arelle/formula/XPathContext.py +42 -28
  102. arelle/formula/XPathParser.py +15 -9
  103. arelle/locale/ar_EG/LC_MESSAGES/ar_EG.po +3 -4
  104. arelle/locale/messages.pot +1 -2
  105. arelle/locale/ru/LC_MESSAGES/ru.po +2 -2
  106. arelle/logging/formatters/LogFormatter.py +47 -0
  107. arelle/logging/handlers/LogHandlerWithXml.py +94 -0
  108. arelle/logging/handlers/LogToBufferHandler.py +20 -0
  109. arelle/logging/handlers/LogToPrintHandler.py +41 -0
  110. arelle/logging/handlers/LogToXmlHandler.py +244 -0
  111. arelle/logging/handlers/StructuredMessageLogHandler.py +74 -0
  112. arelle/model/CommentBase.py +3 -0
  113. arelle/model/ElementBase.py +3 -0
  114. arelle/model/PIBase.py +3 -0
  115. arelle/model/__init__.py +3 -0
  116. arelle/oim/Load.py +2869 -0
  117. arelle/oim/Validate.py +155 -0
  118. arelle/oim/xml/Save.py +21 -0
  119. arelle/packages/PackageConst.py +7 -0
  120. arelle/packages/PackageType.py +13 -0
  121. arelle/packages/PackageUtils.py +22 -0
  122. arelle/packages/PackageValidation.py +200 -0
  123. arelle/packages/report/DetectReportPackage.py +13 -0
  124. arelle/packages/report/ReportPackage.py +265 -0
  125. arelle/packages/report/ReportPackageConst.py +79 -0
  126. arelle/packages/report/ReportPackageValidator.py +207 -0
  127. arelle/plugin/EdgarRendererAllReports.py +12 -12
  128. arelle/plugin/OimTaxonomy/ModelValueMore.py +15 -0
  129. arelle/plugin/OimTaxonomy/ValidateDTS.py +484 -0
  130. arelle/plugin/OimTaxonomy/ViewXbrlTxmyObj.py +239 -0
  131. arelle/plugin/OimTaxonomy/XbrlAbstract.py +16 -0
  132. arelle/plugin/OimTaxonomy/XbrlConcept.py +68 -0
  133. arelle/plugin/OimTaxonomy/XbrlConst.py +261 -0
  134. arelle/plugin/OimTaxonomy/XbrlCube.py +91 -0
  135. arelle/plugin/OimTaxonomy/XbrlDimension.py +38 -0
  136. arelle/plugin/OimTaxonomy/XbrlDts.py +152 -0
  137. arelle/plugin/OimTaxonomy/XbrlEntity.py +16 -0
  138. arelle/plugin/OimTaxonomy/XbrlGroup.py +22 -0
  139. arelle/plugin/OimTaxonomy/XbrlImportedTaxonomy.py +22 -0
  140. arelle/plugin/OimTaxonomy/XbrlLabel.py +31 -0
  141. arelle/plugin/OimTaxonomy/XbrlNetwork.py +100 -0
  142. arelle/plugin/OimTaxonomy/XbrlProperty.py +28 -0
  143. arelle/plugin/OimTaxonomy/XbrlReference.py +33 -0
  144. arelle/plugin/OimTaxonomy/XbrlReport.py +24 -0
  145. arelle/plugin/OimTaxonomy/XbrlTableTemplate.py +35 -0
  146. arelle/plugin/OimTaxonomy/XbrlTaxonomy.py +93 -0
  147. arelle/plugin/OimTaxonomy/XbrlTaxonomyObject.py +154 -0
  148. arelle/plugin/OimTaxonomy/XbrlTransform.py +17 -0
  149. arelle/plugin/OimTaxonomy/XbrlTypes.py +23 -0
  150. arelle/plugin/OimTaxonomy/XbrlUnit.py +17 -0
  151. arelle/plugin/OimTaxonomy/__init__.py +1037 -0
  152. arelle/plugin/OimTaxonomy/resources/iso4217.json +4479 -0
  153. arelle/plugin/OimTaxonomy/resources/oim-taxonomy-schema.json +935 -0
  154. arelle/plugin/OimTaxonomy/resources/ref.json +333 -0
  155. arelle/plugin/OimTaxonomy/resources/transform-types.json +2481 -0
  156. arelle/plugin/OimTaxonomy/resources/types.json +727 -0
  157. arelle/plugin/OimTaxonomy/resources/utr.json +3046 -0
  158. arelle/plugin/OimTaxonomy/resources/xbrlSpec.json +1082 -0
  159. arelle/plugin/formulaLoader.py +3 -3
  160. arelle/plugin/formulaSaver.py +4 -4
  161. arelle/plugin/inlineXbrlDocumentSet.py +331 -102
  162. arelle/plugin/internet/proxyNTLM/HTTPNtlmAuthHandler.py +1 -1
  163. arelle/plugin/loadFromExcel.py +13 -10
  164. arelle/plugin/loadFromOIM.py +16 -3096
  165. arelle/plugin/logging/saveMessages.py +1 -1
  166. arelle/plugin/saveHtmlEBAtables.py +293 -213
  167. arelle/plugin/saveLoadableOIM.py +652 -361
  168. arelle/plugin/saveOIMTaxonomy.py +311 -0
  169. arelle/plugin/streamingExtensions.py +1 -1
  170. arelle/plugin/systemInfo.py +46 -0
  171. arelle/plugin/transforms/tester.py +4 -4
  172. arelle/plugin/validate/CIPC/Const.py +18 -0
  173. arelle/plugin/validate/CIPC/__init__.py +34 -13
  174. arelle/plugin/validate/DBA/DisclosureSystems.py +12 -0
  175. arelle/plugin/validate/DBA/PluginValidationDataExtension.py +165 -0
  176. arelle/plugin/validate/DBA/ValidationPluginExtension.py +545 -0
  177. arelle/plugin/validate/DBA/__init__.py +49 -0
  178. arelle/plugin/validate/DBA/resources/config.xml +21 -0
  179. arelle/plugin/validate/DBA/rules/__init__.py +323 -0
  180. arelle/plugin/validate/DBA/rules/fr.py +1377 -0
  181. arelle/plugin/validate/DBA/rules/tc.py +45 -0
  182. arelle/plugin/validate/DBA/rules/th.py +172 -0
  183. arelle/plugin/validate/DBA/rules/tm.py +351 -0
  184. arelle/plugin/validate/DBA/rules/tr.py +373 -0
  185. arelle/plugin/validate/EBA/__init__.py +11 -12
  186. arelle/plugin/validate/EDINET/Constants.py +208 -0
  187. arelle/plugin/validate/EDINET/ContextRequirement.py +58 -0
  188. arelle/plugin/validate/EDINET/ControllerPluginData.py +298 -0
  189. arelle/plugin/validate/EDINET/CoverItemRequirements.py +42 -0
  190. arelle/plugin/validate/EDINET/DeiRequirements.py +118 -0
  191. arelle/plugin/validate/EDINET/DisclosureSystems.py +1 -0
  192. arelle/plugin/validate/EDINET/FilingFormat.py +275 -0
  193. arelle/plugin/validate/EDINET/FormType.py +134 -0
  194. arelle/plugin/validate/EDINET/ManifestInstance.py +236 -0
  195. arelle/plugin/validate/EDINET/PluginValidationDataExtension.py +640 -0
  196. arelle/plugin/validate/EDINET/ReportFolderType.py +162 -0
  197. arelle/plugin/validate/EDINET/Statement.py +139 -0
  198. arelle/plugin/validate/EDINET/TableOfContentsBuilder.py +493 -0
  199. arelle/plugin/validate/EDINET/UploadContents.py +48 -0
  200. arelle/plugin/validate/EDINET/ValidationPluginExtension.py +64 -0
  201. arelle/plugin/validate/EDINET/__init__.py +109 -0
  202. arelle/plugin/validate/EDINET/resources/config.xml +22 -0
  203. arelle/plugin/validate/EDINET/resources/cover-item-requirements.json +793 -0
  204. arelle/plugin/validate/EDINET/resources/dei-requirements.csv +27 -0
  205. arelle/plugin/validate/EDINET/resources/edinet-taxonomies.xml +62 -0
  206. arelle/plugin/validate/EDINET/rules/contexts.py +547 -0
  207. arelle/plugin/validate/EDINET/rules/edinet.py +1991 -0
  208. arelle/plugin/validate/EDINET/rules/frta.py +301 -0
  209. arelle/plugin/validate/EDINET/rules/gfm.py +2394 -0
  210. arelle/plugin/validate/EDINET/rules/manifests.py +88 -0
  211. arelle/plugin/validate/EDINET/rules/upload.py +1370 -0
  212. arelle/plugin/validate/ESEF/Const.py +16 -75
  213. arelle/plugin/validate/ESEF/Dimensions.py +2 -2
  214. arelle/plugin/validate/ESEF/ESEF_2021/DTS.py +6 -1
  215. arelle/plugin/validate/ESEF/ESEF_2021/Image.py +7 -4
  216. arelle/plugin/validate/ESEF/ESEF_2021/ValidateXbrlFinally.py +80 -57
  217. arelle/plugin/validate/ESEF/ESEF_Current/DTS.py +60 -22
  218. arelle/plugin/validate/ESEF/ESEF_Current/ValidateXbrlFinally.py +272 -133
  219. arelle/plugin/validate/ESEF/Util.py +5 -19
  220. arelle/plugin/validate/ESEF/__init__.py +61 -46
  221. arelle/plugin/validate/ESEF/resources/authority-validations.json +120 -10
  222. arelle/plugin/validate/ESEF/resources/config.xml +44 -3
  223. arelle/plugin/validate/FERC/__init__.py +31 -18
  224. arelle/plugin/validate/FERC/config.xml +18 -18
  225. arelle/plugin/validate/NL/DisclosureSystems.py +19 -3
  226. arelle/plugin/validate/NL/PluginValidationDataExtension.py +710 -7
  227. arelle/plugin/validate/NL/ValidationPluginExtension.py +117 -12
  228. arelle/plugin/validate/NL/__init__.py +21 -10
  229. arelle/plugin/validate/NL/resources/config.xml +27 -6
  230. arelle/plugin/validate/NL/rules/br_kvk.py +81 -21
  231. arelle/plugin/validate/NL/rules/fg_nl.py +292 -0
  232. arelle/plugin/validate/NL/rules/fr_kvk.py +60 -7
  233. arelle/plugin/validate/NL/rules/fr_nl.py +705 -24
  234. arelle/plugin/validate/NL/rules/nl_kvk.py +2182 -0
  235. arelle/plugin/validate/ROS/DisclosureSystems.py +1 -0
  236. arelle/plugin/validate/ROS/PluginValidationDataExtension.py +109 -0
  237. arelle/plugin/validate/ROS/ValidationPluginExtension.py +27 -0
  238. arelle/plugin/validate/ROS/__init__.py +28 -341
  239. arelle/plugin/validate/ROS/resources/config.xml +20 -0
  240. arelle/plugin/validate/ROS/rules/__init__.py +56 -0
  241. arelle/plugin/validate/ROS/rules/ros.py +393 -0
  242. arelle/plugin/validate/UK/ValidateUK.py +1372 -0
  243. arelle/plugin/validate/{HMRC → UK}/__init__.py +195 -189
  244. arelle/plugin/validate/{HMRC → UK}/config.xml +1 -1
  245. arelle/plugin/xbrlDB/SqlDb.py +1 -1
  246. arelle/plugin/xbrlDB/XbrlOpenSqlDB.py +5 -5
  247. arelle/plugin/xbrlDB/XbrlPublicPostgresDB.py +1 -1
  248. arelle/plugin/xbrlDB/XbrlSemanticJsonDB.py +1 -1
  249. arelle/plugin/xbrlDB/XbrlSemanticRdfDB.py +1 -1
  250. arelle/plugin/xbrlDB/__init__.py +4 -1
  251. arelle/{RenderingEvaluator.py → rendering/RenderingEvaluator.py} +120 -99
  252. arelle/rendering/RenderingLayout.py +476 -0
  253. arelle/rendering/RenderingResolution.py +814 -0
  254. arelle/resources/cache/http/www.eurofiling.info/eu/fr/xbrl/ext/filing-indicators.xsd +20 -0
  255. arelle/resources/cache/http/www.w3.org/2001/03/xml.xsd +117 -0
  256. arelle/resources/cache/http/www.w3.org/2001/XMLSchema.xsd +2534 -0
  257. arelle/resources/cache/http/www.w3.org/2001/xml.xsd +287 -0
  258. arelle/resources/cache/http/www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd +779 -0
  259. arelle/resources/cache/http/www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd +486 -0
  260. arelle/resources/cache/http/www.xbrl.org/2003/xl-2003-12-31.xsd +251 -0
  261. arelle/resources/cache/http/www.xbrl.org/2003/xlink-2003-12-31.xsd +121 -0
  262. arelle/resources/cache/http/www.xbrl.org/2004/ref-2004-08-10.xsd +129 -0
  263. arelle/resources/cache/http/www.xbrl.org/2005/xbrldt-2005.xsd +53 -0
  264. arelle/resources/cache/http/www.xbrl.org/2006/ref-2006-02-27.xsd +120 -0
  265. arelle/resources/cache/http/www.xbrl.org/2006/xbrldi-2006.xsd +41 -0
  266. arelle/resources/cache/http/www.xbrl.org/2008/boolean-filter.xsd +51 -0
  267. arelle/resources/cache/http/www.xbrl.org/2008/concept-filter.xsd +127 -0
  268. arelle/resources/cache/http/www.xbrl.org/2008/conformance.xsd +116 -0
  269. arelle/resources/cache/http/www.xbrl.org/2008/conformanceFunction.xsd +51 -0
  270. arelle/resources/cache/http/www.xbrl.org/2008/consistency-assertion.xsd +66 -0
  271. arelle/resources/cache/http/www.xbrl.org/2008/dimension-filter.xsd +86 -0
  272. arelle/resources/cache/http/www.xbrl.org/2008/entity-filter.xsd +92 -0
  273. arelle/resources/cache/http/www.xbrl.org/2008/existence-assertion.xsd +44 -0
  274. arelle/resources/cache/http/www.xbrl.org/2008/formula.xsd +261 -0
  275. arelle/resources/cache/http/www.xbrl.org/2008/function.xsd +90 -0
  276. arelle/resources/cache/http/www.xbrl.org/2008/general-filter.xsd +38 -0
  277. arelle/resources/cache/http/www.xbrl.org/2008/generic-label.xsd +80 -0
  278. arelle/resources/cache/http/www.xbrl.org/2008/generic-link.xsd +81 -0
  279. arelle/resources/cache/http/www.xbrl.org/2008/generic-reference.xsd +63 -0
  280. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xbrl-instance-2003-12-31-ixmod.xsd +788 -0
  281. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xbrl-linkbase-2003-12-31-ixmod.xsd +488 -0
  282. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xl-2003-12-31.xsd +248 -0
  283. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xlink-2003-12-31.xsd +117 -0
  284. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xframes-1.xsd +166 -0
  285. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-applet-1.xsd +66 -0
  286. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-attribs-1.xsd +72 -0
  287. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-base-1.xsd +36 -0
  288. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic-form-1.xsd +195 -0
  289. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic-table-1.xsd +169 -0
  290. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-model-1.xsd +376 -0
  291. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-module-redefines-1.xsd +61 -0
  292. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-modules-1.xsd +259 -0
  293. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10.xsd +98 -0
  294. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-bdo-1.xsd +78 -0
  295. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkphras-1.xsd +161 -0
  296. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkpres-1.xsd +37 -0
  297. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkstruct-1.xsd +49 -0
  298. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-charent-1.xsd +38 -0
  299. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-copyright-1.xsd +29 -0
  300. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-csismap-1.xsd +96 -0
  301. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-datatypes-1.xsd +128 -0
  302. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-edit-1.xsd +39 -0
  303. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-events-1.xsd +130 -0
  304. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-form-1.xsd +326 -0
  305. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-frames-1.xsd +113 -0
  306. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-framework-1.xsd +66 -0
  307. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-hypertext-1.xsd +47 -0
  308. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-iframe-1.xsd +68 -0
  309. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-image-1.xsd +45 -0
  310. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlphras-1.xsd +163 -0
  311. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlpres-1.xsd +39 -0
  312. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlstruct-1.xsd +50 -0
  313. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlstyle-1.xsd +27 -0
  314. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-legacy-1.xsd +97 -0
  315. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-link-1.xsd +45 -0
  316. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-list-1.xsd +99 -0
  317. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-meta-1.xsd +42 -0
  318. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-misc-1.xsd +441 -0
  319. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-nameident-1.xsd +63 -0
  320. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-notations-1.xsd +69 -0
  321. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-object-1.xsd +76 -0
  322. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-param-1.xsd +51 -0
  323. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-pres-1.xsd +51 -0
  324. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ruby-1.xsd +171 -0
  325. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ruby-basic-1.xsd +89 -0
  326. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-script-1.xsd +70 -0
  327. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ssismap-1.xsd +43 -0
  328. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-struct-1.xsd +112 -0
  329. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-style-1.xsd +52 -0
  330. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-table-1.xsd +272 -0
  331. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-target-1.xsd +53 -0
  332. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-text-1.xsd +67 -0
  333. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-model-1.xsd +677 -0
  334. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-module-redefines-1.xsd +335 -0
  335. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-modules-1.xsd +528 -0
  336. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11.xsd +104 -0
  337. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml2.xsd +21 -0
  338. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-1.xsd +73 -0
  339. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-2.xsd +74 -0
  340. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-attribs-1.xsd +73 -0
  341. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-attribs-2.xsd +75 -0
  342. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-copyright-1.xsd +34 -0
  343. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-copyright-2.xsd +34 -0
  344. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-handlers-2.xsd +98 -0
  345. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-definitions.xsd +225 -0
  346. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-model.xsd +681 -0
  347. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-modules.xsd +535 -0
  348. arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0.xsd +40 -0
  349. arelle/resources/cache/http/www.xbrl.org/2008/match-filter.xsd +94 -0
  350. arelle/resources/cache/http/www.xbrl.org/2008/period-filter.xsd +86 -0
  351. arelle/resources/cache/http/www.xbrl.org/2008/registry.xsd +145 -0
  352. arelle/resources/cache/http/www.xbrl.org/2008/relative-filter.xsd +38 -0
  353. arelle/resources/cache/http/www.xbrl.org/2008/segment-scenario-filter.xsd +41 -0
  354. arelle/resources/cache/http/www.xbrl.org/2008/tuple-filter.xsd +83 -0
  355. arelle/resources/cache/http/www.xbrl.org/2008/unit-filter.xsd +58 -0
  356. arelle/resources/cache/http/www.xbrl.org/2008/validation.xsd +78 -0
  357. arelle/resources/cache/http/www.xbrl.org/2008/value-assertion.xsd +43 -0
  358. arelle/resources/cache/http/www.xbrl.org/2008/value-filter.xsd +43 -0
  359. arelle/resources/cache/http/www.xbrl.org/2008/variable.xsd +240 -0
  360. arelle/resources/cache/http/www.xbrl.org/2010/aspect-cover-filter.xsd +67 -0
  361. arelle/resources/cache/http/www.xbrl.org/2010/concept-relation-filter.xsd +108 -0
  362. arelle/resources/cache/http/www.xbrl.org/2010/custom-function-implementation.xsd +71 -0
  363. arelle/resources/cache/http/www.xbrl.org/2010/generic-message.xsd +68 -0
  364. arelle/resources/cache/http/www.xbrl.org/2010/validation-message.xsd +50 -0
  365. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xbrl-instance-2003-12-31-ixmod.xsd +788 -0
  366. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xbrl-linkbase-2003-12-31-ixmod.xsd +488 -0
  367. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xl-2003-12-31.xsd +248 -0
  368. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xlink-2003-12-31.xsd +117 -0
  369. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xframes-1.xsd +166 -0
  370. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-applet-1.xsd +66 -0
  371. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-attribs-1.xsd +72 -0
  372. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-base-1.xsd +36 -0
  373. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic-form-1.xsd +195 -0
  374. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic-table-1.xsd +169 -0
  375. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-model-1.xsd +376 -0
  376. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-module-redefines-1.xsd +61 -0
  377. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-modules-1.xsd +259 -0
  378. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10.xsd +98 -0
  379. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-bdo-1.xsd +78 -0
  380. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkphras-1.xsd +161 -0
  381. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkpres-1.xsd +37 -0
  382. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkstruct-1.xsd +49 -0
  383. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-charent-1.xsd +38 -0
  384. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-copyright-1.xsd +29 -0
  385. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-csismap-1.xsd +96 -0
  386. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-datatypes-1.xsd +128 -0
  387. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-edit-1.xsd +39 -0
  388. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-events-1.xsd +130 -0
  389. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-form-1.xsd +326 -0
  390. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-frames-1.xsd +113 -0
  391. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-framework-1.xsd +66 -0
  392. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-hypertext-1.xsd +47 -0
  393. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-iframe-1.xsd +68 -0
  394. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-image-1.xsd +45 -0
  395. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlphras-1.xsd +163 -0
  396. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlpres-1.xsd +39 -0
  397. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlstruct-1.xsd +50 -0
  398. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlstyle-1.xsd +27 -0
  399. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-legacy-1.xsd +97 -0
  400. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-link-1.xsd +45 -0
  401. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-list-1.xsd +99 -0
  402. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-meta-1.xsd +42 -0
  403. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-misc-1.xsd +441 -0
  404. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-nameident-1.xsd +63 -0
  405. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-notations-1.xsd +69 -0
  406. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-object-1.xsd +76 -0
  407. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-param-1.xsd +51 -0
  408. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-pres-1.xsd +51 -0
  409. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ruby-1.xsd +171 -0
  410. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ruby-basic-1.xsd +89 -0
  411. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-script-1.xsd +70 -0
  412. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ssismap-1.xsd +43 -0
  413. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-struct-1.xsd +112 -0
  414. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-style-1.xsd +52 -0
  415. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-table-1.xsd +272 -0
  416. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-target-1.xsd +53 -0
  417. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-text-1.xsd +67 -0
  418. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-model-1.xsd +677 -0
  419. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-module-redefines-1.xsd +335 -0
  420. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-modules-1.xsd +528 -0
  421. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11.xsd +104 -0
  422. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml2.xsd +21 -0
  423. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-1.xsd +73 -0
  424. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-2.xsd +74 -0
  425. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-attribs-1.xsd +73 -0
  426. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-attribs-2.xsd +75 -0
  427. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-copyright-1.xsd +34 -0
  428. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-copyright-2.xsd +34 -0
  429. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-handlers-2.xsd +98 -0
  430. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-definitions.xsd +252 -0
  431. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-model.xsd +681 -0
  432. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-modules.xsd +535 -0
  433. arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1.xsd +40 -0
  434. arelle/resources/cache/http/www.xbrl.org/2013/match-filter.xsd +94 -0
  435. arelle/resources/cache/http/www.xbrl.org/2013/preferred-label.xsd +12 -0
  436. arelle/resources/cache/http/www.xbrl.org/2013/versioning-base.xsd +142 -0
  437. arelle/resources/cache/http/www.xbrl.org/2013/versioning-concept-details.xsd +143 -0
  438. arelle/resources/cache/http/www.xbrl.org/2013/versioning-concept-use.xsd +64 -0
  439. arelle/resources/cache/http/www.xbrl.org/2013/versioning-dimensions.xsd +162 -0
  440. arelle/resources/cache/http/www.xbrl.org/2014/extensible-enumerations.xsd +27 -0
  441. arelle/resources/cache/http/www.xbrl.org/2014/table.xsd +356 -0
  442. arelle/resources/cache/http/www.xbrl.org/2014/tablemodel.xsd +156 -0
  443. arelle/resources/cache/http/www.xbrl.org/2016/assertion-severity.xsd +29 -0
  444. arelle/resources/cache/http/www.xbrl.org/2016/severities.xml +21 -0
  445. arelle/resources/cache/http/www.xbrl.org/2016/taxonomy-package-catalog.xsd +38 -0
  446. arelle/resources/cache/http/www.xbrl.org/2016/taxonomy-package.xsd +154 -0
  447. arelle/resources/cache/http/www.xbrl.org/2022/assertion-severity.xsd +43 -0
  448. arelle/resources/cache/http/www.xbrl.org/2022/severities.xml +21 -0
  449. arelle/resources/cache/http/www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd +76 -0
  450. arelle/resources/cache/http/www.xbrl.org/dtr/type/numeric-2009-12-16.xsd +78 -0
  451. arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/accounting-arcrole-2023-01-04.xsd +39 -0
  452. arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/deprecated-2009-12-16.xsd +29 -0
  453. arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd +14 -0
  454. arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd +13 -0
  455. arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/jpfr-arcrole-2007-11-07.xsd +27 -0
  456. arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/parent-child-2013-09-19.xsd +12 -0
  457. arelle/resources/cache/http/www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd +17 -0
  458. arelle/resources/cache/http/www.xbrl.org/lrr/role/jpfr-role-2007-11-07.xsd +47 -0
  459. arelle/resources/cache/http/www.xbrl.org/lrr/role/negated-2008-03-31.xsd +30 -0
  460. arelle/resources/cache/http/www.xbrl.org/lrr/role/negated-2009-12-16.xsd +33 -0
  461. arelle/resources/cache/http/www.xbrl.org/lrr/role/negative-2009-12-16.xsd +25 -0
  462. arelle/resources/cache/http/www.xbrl.org/lrr/role/net-2009-12-16.xsd +13 -0
  463. arelle/resources/cache/http/www.xbrl.org/lrr/role/positive-2009-12-16.xsd +25 -0
  464. arelle/resources/cache/http/www.xbrl.org/lrr/role/property-2022-09-28.xsd +15 -0
  465. arelle/resources/cache/http/www.xbrl.org/lrr/role/reference-2009-12-16.xsd +21 -0
  466. arelle/resources/cache/http/www.xbrl.org/lrr/role/restated-2006-02-21.xsd +19 -0
  467. arelle/resources/cache/http/www.xbrl.org/utr/2012-01-30/utr.xml +4543 -0
  468. arelle/resources/cache/http/www.xbrl.org/utr/2012-10-31/utr.xml +4510 -0
  469. arelle/resources/cache/http/www.xbrl.org/utr/2012-11-30/utr.xml +4567 -0
  470. arelle/resources/cache/http/www.xbrl.org/utr/2013-02-28/utr.xml +5180 -0
  471. arelle/resources/cache/http/www.xbrl.org/utr/2013-05-17/utr.xml +5349 -0
  472. arelle/resources/cache/http/www.xbrl.org/utr/2016-08-10/utr.xml +5363 -0
  473. arelle/resources/cache/http/www.xbrl.org/utr/2017-07-12/utr.xml +6164 -0
  474. arelle/resources/cache/http/www.xbrl.org/utr/2021-02-16/utr.xml +6370 -0
  475. arelle/resources/cache/http/www.xbrl.org/utr/2021-12-08/utr.xml +6493 -0
  476. arelle/resources/cache/http/www.xbrl.org/utr/2022-02-16/utr.xml +6551 -0
  477. arelle/resources/cache/http/www.xbrl.org/utr/2022-07-20/utr.xml +6638 -0
  478. arelle/resources/cache/http/www.xbrl.org/utr/2023-12-20/utr.xml +6680 -0
  479. arelle/resources/cache/http/www.xbrl.org/utr/2024-01-31/utr.xml +6680 -0
  480. arelle/resources/cache/http/www.xbrl.org/utr/2024-10-22/utr.xml +6693 -0
  481. arelle/resources/cache/http/www.xbrl.org/utr/utr.xml +6693 -0
  482. arelle/resources/cache/https/www.xbrl.org/2005/conformance.xsd +87 -0
  483. arelle/resources/cache/https/www.xbrl.org/2020/extensible-enumerations-2.0.xsd +51 -0
  484. arelle/resources/cache/https/www.xbrl.org/2023/calculation-1.1.xsd +27 -0
  485. arelle/resources/cache/https/www.xbrl.org/dtr/type/2020-01-21/types.xsd +812 -0
  486. arelle/resources/cache/https/www.xbrl.org/dtr/type/2022-03-31/types.xsd +847 -0
  487. arelle/resources/cache/https/www.xbrl.org/dtr/type/2024-01-31/types.xsd +897 -0
  488. arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators-def.xml +68 -0
  489. arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators-label.xml +84 -0
  490. arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators.xsd +67 -0
  491. arelle/resources/libs/Tktable2.11/linux-x86_64/README.txt +149 -0
  492. arelle/resources/libs/Tktable2.11/linux-x86_64/html/tkTable.html +2039 -0
  493. arelle/resources/libs/Tktable2.11/linux-x86_64/libTktable2.11.so +0 -0
  494. arelle/resources/libs/Tktable2.11/linux-x86_64/license.txt +51 -0
  495. arelle/resources/libs/Tktable2.11/linux-x86_64/pkgIndex.tcl +3 -0
  496. arelle/resources/libs/Tktable2.11/linux-x86_64/tkTable.tcl +825 -0
  497. arelle/resources/libs/Tktable2.11/linux-x86_64/tktable.py +674 -0
  498. arelle/resources/libs/Tktable2.11/macos-arm64/README.txt +149 -0
  499. arelle/resources/libs/Tktable2.11/macos-arm64/html/tkTable.html +2039 -0
  500. arelle/resources/libs/Tktable2.11/macos-arm64/libTktable2.11.dylib +0 -0
  501. arelle/resources/libs/Tktable2.11/macos-arm64/license.txt +51 -0
  502. arelle/resources/libs/Tktable2.11/macos-arm64/pkgIndex.tcl +2 -0
  503. arelle/resources/libs/Tktable2.11/macos-arm64/tkTable.tcl +825 -0
  504. arelle/resources/libs/Tktable2.11/macos-arm64/tktable.py +674 -0
  505. arelle/resources/libs/Tktable2.11/macos-x86_64/README.txt +149 -0
  506. arelle/resources/libs/Tktable2.11/macos-x86_64/html/tkTable.html +2039 -0
  507. arelle/resources/libs/Tktable2.11/macos-x86_64/libTktable2.11.dylib +0 -0
  508. arelle/resources/libs/Tktable2.11/macos-x86_64/license.txt +51 -0
  509. arelle/resources/libs/Tktable2.11/macos-x86_64/pkgIndex.tcl +2 -0
  510. arelle/resources/libs/Tktable2.11/macos-x86_64/tkTable.tcl +825 -0
  511. arelle/resources/libs/Tktable2.11/macos-x86_64/tktable.py +674 -0
  512. arelle/resources/libs/Tktable2.11/win-x86_64/Tktable.dll +0 -0
  513. arelle/resources/libs/Tktable2.11/win-x86_64/pkgIndex.tcl +2 -0
  514. arelle/resources/libs/Tktable2.11/win-x86_64/tkTable.tcl +825 -0
  515. arelle/typing.py +9 -4
  516. arelle/utils/Contexts.py +38 -0
  517. arelle/utils/EntryPointDetection.py +139 -0
  518. arelle/utils/Equivalence.py +22 -0
  519. arelle/utils/{validate/PluginValidationData.py → PluginData.py} +5 -2
  520. arelle/utils/PluginHooks.py +256 -5
  521. arelle/utils/Units.py +36 -0
  522. arelle/utils/validate/Decorator.py +5 -3
  523. arelle/utils/validate/DetectScriptsInXhtml.py +99 -0
  524. arelle/utils/validate/ESEFImage.py +283 -0
  525. arelle/utils/validate/Validation.py +9 -1
  526. arelle/utils/validate/ValidationPlugin.py +74 -11
  527. arelle/utils/validate/ValidationUtil.py +55 -0
  528. arelle/webserver/bottle.py +5 -4424
  529. {arelle_release-2.17.1.dist-info → arelle_release-2.37.71.dist-info}/METADATA +51 -42
  530. arelle_release-2.37.71.dist-info/RECORD +697 -0
  531. {arelle_release-2.17.1.dist-info → arelle_release-2.37.71.dist-info}/WHEEL +1 -1
  532. {arelle_release-2.17.1.dist-info → arelle_release-2.37.71.dist-info/licenses}/LICENSE.md +1 -4
  533. {arelle_release-2.17.1.dist-info → arelle_release-2.37.71.dist-info}/top_level.txt +0 -1
  534. arelle/DialogOpenTaxonomyPackage.py +0 -1
  535. arelle/RenderingResolver.py +0 -624
  536. arelle/examples/.pydevproject +0 -5
  537. arelle/examples/CustomLogger.py +0 -43
  538. arelle/examples/LoadEFMvalidate.py +0 -32
  539. arelle/examples/LoadSavePreLbCsv.py +0 -26
  540. arelle/examples/LoadValidate.cs +0 -31
  541. arelle/examples/LoadValidate.py +0 -36
  542. arelle/examples/LoadValidateCmdLine.java +0 -69
  543. arelle/examples/LoadValidatePostedZip.java +0 -57
  544. arelle/examples/LoadValidateWebService.java +0 -34
  545. arelle/examples/SaveTableToExelle.py +0 -140
  546. arelle/examples/TR3toTR4.py +0 -88
  547. arelle/examples/plugin/bigInstance.py +0 -394
  548. arelle/examples/plugin/cmdWebServerExtension.py +0 -42
  549. arelle/examples/plugin/crashTest.py +0 -38
  550. arelle/examples/plugin/formulaSuiteConverter.py +0 -212
  551. arelle/examples/plugin/functionsCustom.py +0 -59
  552. arelle/examples/plugin/hello_dolly.py +0 -64
  553. arelle/examples/plugin/hello_i18n.pot +0 -26
  554. arelle/examples/plugin/hello_i18n.py +0 -32
  555. arelle/examples/plugin/importTestChild1.py +0 -21
  556. arelle/examples/plugin/importTestChild2.py +0 -22
  557. arelle/examples/plugin/importTestGrandchild1.py +0 -21
  558. arelle/examples/plugin/importTestGrandchild2.py +0 -21
  559. arelle/examples/plugin/importTestImported1.py +0 -23
  560. arelle/examples/plugin/importTestImported11.py +0 -22
  561. arelle/examples/plugin/importTestParent.py +0 -48
  562. arelle/examples/plugin/locale/fr/LC_MESSAGES/hello_i18n.po +0 -25
  563. arelle/examples/plugin/packagedImportTest/__init__.py +0 -47
  564. arelle/examples/plugin/packagedImportTest/importTestChild1.py +0 -21
  565. arelle/examples/plugin/packagedImportTest/importTestChild2.py +0 -22
  566. arelle/examples/plugin/packagedImportTest/importTestGrandchild1.py +0 -21
  567. arelle/examples/plugin/packagedImportTest/importTestGrandchild2.py +0 -21
  568. arelle/examples/plugin/packagedImportTest/importTestImported1.py +0 -24
  569. arelle/examples/plugin/packagedImportTest/importTestImported11.py +0 -21
  570. arelle/examples/plugin/packagedImportTest/subdir/importTestImported111.py +0 -21
  571. arelle/examples/plugin/packagedImportTest/subdir/subsubdir/importTestImported1111.py +0 -21
  572. arelle/examples/plugin/sakaCalendar.py +0 -215
  573. arelle/examples/plugin/saveInstanceInfoset.py +0 -121
  574. arelle/examples/plugin/streamingExtensions.py +0 -335
  575. arelle/examples/plugin/testcaseCalc11ValidateSetup.py +0 -32
  576. arelle/examples/plugin/testcaseIxExpectedHtmlFixup.py +0 -45
  577. arelle/examples/plugin/updateTableLB.py +0 -242
  578. arelle/examples/plugin/validate/XYZ/DisclosureSystems.py +0 -2
  579. arelle/examples/plugin/validate/XYZ/PluginValidationDataExtension.py +0 -10
  580. arelle/examples/plugin/validate/XYZ/ValidationPluginExtension.py +0 -49
  581. arelle/examples/plugin/validate/XYZ/__init__.py +0 -75
  582. arelle/examples/plugin/validate/XYZ/resources/config.xml +0 -16
  583. arelle/examples/plugin/validate/XYZ/rules/rules01.py +0 -109
  584. arelle/examples/plugin/validate/XYZ/rules/rules02.py +0 -58
  585. arelle/examples/plugin/validateSchemaLxml.py +0 -156
  586. arelle/examples/plugin/validateTableInfoset.py +0 -52
  587. arelle/examples/us-gaap-dei-docType-extraction-frm.xml +0 -90
  588. arelle/examples/us-gaap-dei-ratio-cash-frm.xml +0 -150
  589. arelle/plugin/functionsXmlCreation.py +0 -106
  590. arelle/plugin/instanceInfo.py +0 -306
  591. arelle/plugin/loadFromOIM-2018.py +0 -1282
  592. arelle/plugin/objectmaker.py +0 -285
  593. arelle/plugin/sphinx/FormulaGenerator.py +0 -823
  594. arelle/plugin/sphinx/SphinxContext.py +0 -404
  595. arelle/plugin/sphinx/SphinxEvaluator.py +0 -783
  596. arelle/plugin/sphinx/SphinxMethods.py +0 -1287
  597. arelle/plugin/sphinx/SphinxParser.py +0 -1093
  598. arelle/plugin/sphinx/SphinxValidator.py +0 -163
  599. arelle/plugin/sphinx/US-GAAP Ratios Example.xsr +0 -52
  600. arelle/plugin/sphinx/__init__.py +0 -285
  601. arelle/plugin/transforms/SEC/__init__.py +0 -308
  602. arelle/plugin/transforms/SEC/conf/README.md +0 -39
  603. arelle/plugin/transforms/SEC/conf/extractTestcase.sh +0 -2
  604. arelle/plugin/transforms/SEC/conf/extractTestcase.xsl +0 -109
  605. arelle/plugin/transforms/SEC/conf/runIxtSecTests.sh +0 -16
  606. arelle/plugin/transforms/SEC/conf/saxon9.jar +0 -0
  607. arelle/plugin/transforms/SEC/conf/testcase.xml +0 -7117
  608. arelle/plugin/transforms/SEC/conf/tests.xml +0 -848
  609. arelle/plugin/transforms/SEC/text2num.py +0 -110
  610. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-boolballotbox.xml +0 -66
  611. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-countrynameen.xml +0 -65
  612. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-datequarterend.xml +0 -66
  613. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-durday.xml +0 -61
  614. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-durhour.xml +0 -69
  615. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-durmonth.xml +0 -71
  616. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-durweek.xml +0 -70
  617. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-durwordsen.xml +0 -56
  618. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-duryear.xml +0 -64
  619. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-edgarprovcountryen.xml +0 -65
  620. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-entityfilercategoryen.xml +0 -63
  621. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-exchnameen.xml +0 -86
  622. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-numwordsen.xml +0 -55
  623. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-stateprovnameen.xml +0 -64
  624. arelle/plugin/transforms/SEC/transformationRegistry/registry/ixt-sec-yesnoballotbox.xml +0 -66
  625. arelle/plugin/transforms/SEC/transformationRegistry/registry/transform-registry.xml +0 -314
  626. arelle/plugin/transforms/SEC/transformationRegistry/schema/inlinexbrl-sec-transformation.xsd +0 -418
  627. arelle/plugin/validate/EFM/Consts.py +0 -362
  628. arelle/plugin/validate/EFM/DTS.py +0 -569
  629. arelle/plugin/validate/EFM/Dimensions.py +0 -264
  630. arelle/plugin/validate/EFM/Document.py +0 -206
  631. arelle/plugin/validate/EFM/Filing.py +0 -4383
  632. arelle/plugin/validate/EFM/IsolateSeparateIXDSes.py +0 -19
  633. arelle/plugin/validate/EFM/MessageNumericId.py +0 -142
  634. arelle/plugin/validate/EFM/PreCalAlignment.py +0 -324
  635. arelle/plugin/validate/EFM/Util.py +0 -688
  636. arelle/plugin/validate/EFM/__init__.py +0 -843
  637. arelle/plugin/validate/EFM/config.xml +0 -333
  638. arelle/plugin/validate/EFM/resources/README.md +0 -57
  639. arelle/plugin/validate/EFM/resources/axiswarnings.json +0 -27
  640. arelle/plugin/validate/EFM/resources/cef-deprecated-concepts.json +0 -8
  641. arelle/plugin/validate/EFM/resources/country-deprecated-concepts.json +0 -19
  642. arelle/plugin/validate/EFM/resources/currency-deprecated-concepts.json +0 -7
  643. arelle/plugin/validate/EFM/resources/dei-deprecated-concepts.json +0 -8
  644. arelle/plugin/validate/EFM/resources/dei-validations.json +0 -2884
  645. arelle/plugin/validate/EFM/resources/dqc-us-rules.json +0 -1389
  646. arelle/plugin/validate/EFM/resources/ecd-deprecated-concepts.json +0 -1
  647. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-16-4.xml +0 -115
  648. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-17-0-4.xml +0 -300
  649. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-17-1.xml +0 -304
  650. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-17-2.xml +0 -290
  651. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-17-3-1.xml +0 -294
  652. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-18.1.xml +0 -549
  653. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-18.2.xml +0 -506
  654. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-18.3.xml +0 -496
  655. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-19-1.xml +0 -662
  656. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-19-2.xml +0 -3761
  657. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-19-3.xml +0 -3577
  658. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-20-1.xml +0 -4020
  659. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-20-2.xml +0 -3320
  660. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-20-3.xml +0 -2998
  661. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-2012.xml +0 -957
  662. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-2013.xml +0 -982
  663. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-2014.xml +0 -1001
  664. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-2015.xml +0 -1076
  665. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-2016.xml +0 -120
  666. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-21-1.xml +0 -3329
  667. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-21-2.xml +0 -1230
  668. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-21-3.xml +0 -1113
  669. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-21-4.xml +0 -1321
  670. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-22-1-preview.xml +0 -1721
  671. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-22-1.xml +0 -1841
  672. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-22-2-2.xml +0 -1450
  673. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-22-2.xml +0 -1429
  674. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-22-4.xml +0 -1527
  675. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-23-1-1.xml +0 -2049
  676. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-23-1.xml +0 -2065
  677. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-23-2.xml +0 -1674
  678. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-23-3.xml +0 -1715
  679. arelle/plugin/validate/EFM/resources/edgartaxonomies/edgartaxonomies-all-years.xml +0 -10671
  680. arelle/plugin/validate/EFM/resources/edgartaxonomies/erxl.xsd +0 -69
  681. arelle/plugin/validate/EFM/resources/edgartaxonomies/extendedtaxonomies-all-years.xml +0 -18
  682. arelle/plugin/validate/EFM/resources/edgartaxonomies/ifrs-taxonomies.xml +0 -3126
  683. arelle/plugin/validate/EFM/resources/edgartaxonomies/ifrstaxonomies-all-years.xml +0 -22
  684. arelle/plugin/validate/EFM/resources/ex26-validations.json +0 -255
  685. arelle/plugin/validate/EFM/resources/exch-deprecated-concepts.json +0 -163
  686. arelle/plugin/validate/EFM/resources/ifrs-full-deprecated-concepts.json +0 -204
  687. arelle/plugin/validate/EFM/resources/invest-deprecated-concepts.json +0 -99
  688. arelle/plugin/validate/EFM/resources/ixbrl-transform-registries.json +0 -16
  689. arelle/plugin/validate/EFM/resources/naics-deprecated-concepts.json +0 -295
  690. arelle/plugin/validate/EFM/resources/oef-deprecated-concepts.json +0 -59
  691. arelle/plugin/validate/EFM/resources/other-standard-taxonomies.json +0 -12
  692. arelle/plugin/validate/EFM/resources/rr-deprecated-concepts.json +0 -14
  693. arelle/plugin/validate/EFM/resources/rxp-deprecated-concepts.json +0 -1
  694. arelle/plugin/validate/EFM/resources/shr-deprecated-concepts.json +0 -1
  695. arelle/plugin/validate/EFM/resources/sic-deprecated-concepts.json +0 -1
  696. arelle/plugin/validate/EFM/resources/signwarnings.json +0 -112
  697. arelle/plugin/validate/EFM/resources/srt-deprecated-concepts.json +0 -1
  698. arelle/plugin/validate/EFM/resources/stpr-deprecated-concepts.json +0 -1
  699. arelle/plugin/validate/EFM/resources/taxonomy-compatibility.json +0 -79
  700. arelle/plugin/validate/EFM/resources/us-gaap-deprecated-concepts.json +0 -2886
  701. arelle/plugin/validate/EFM/resources/us-gaap-rels-2020.json +0 -29068
  702. arelle/plugin/validate/EFM/resources/us-gaap-rels-2021.json +0 -29598
  703. arelle/plugin/validate/EFM/resources/us-gaap-rels-2022.json +0 -29141
  704. arelle/plugin/validate/EFM/resources/us-gaap-rels-2023.json +0 -29400
  705. arelle/plugin/validate/EFM/resources/vip-deprecated-concepts.json +0 -1
  706. arelle/plugin/validate/EFM/tools/CheckTxmyRefs.py +0 -180
  707. arelle/plugin/validate/EFM-htm/Const.py +0 -205
  708. arelle/plugin/validate/EFM-htm/__init__.py +0 -217
  709. arelle/plugin/validate/EFM-htm/config.xml +0 -17
  710. arelle/plugin/validate/EFM-htm/resources/efm-htm.dtd +0 -664
  711. arelle/plugin/validate/ESEF/ESEF_Current/Image.py +0 -199
  712. arelle/plugin/validate/ESEF_2022/__init__.py +0 -47
  713. arelle/plugin/validate/GFM/__init__.py +0 -59
  714. arelle/plugin/validate/GFM/config.xml +0 -82
  715. arelle/plugin/validate/SBRnl/CustomLoader.py +0 -19
  716. arelle/plugin/validate/SBRnl/DTS.py +0 -305
  717. arelle/plugin/validate/SBRnl/Dimensions.py +0 -357
  718. arelle/plugin/validate/SBRnl/Document.py +0 -799
  719. arelle/plugin/validate/SBRnl/Filing.py +0 -467
  720. arelle/plugin/validate/SBRnl/__init__.py +0 -75
  721. arelle/plugin/validate/SBRnl/config.xml +0 -26
  722. arelle/plugin/validate/SBRnl/sbr-nl-taxonomies.xml +0 -754
  723. arelle/plugin/validate/USBestPractices.py +0 -570
  724. arelle/plugin/validate/USCorpAction.py +0 -557
  725. arelle/plugin/validate/USSecTagging.py +0 -337
  726. arelle/plugin/validate/XDC/__init__.py +0 -77
  727. arelle/plugin/validate/XDC/config.xml +0 -20
  728. arelle/plugin/validate/XFsyntax/__init__.py +0 -64
  729. arelle/plugin/validate/XFsyntax/xf.py +0 -2227
  730. arelle/plugin/validate/__init__.py +0 -20
  731. arelle/plugin/validate/calc2.py +0 -536
  732. arelle/plugin/validateSBRnl.py +0 -530
  733. arelle/scripts-macOS/startWebServer.command +0 -3
  734. arelle/scripts-unix/startWebServer.sh +0 -1
  735. arelle/scripts-windows/startWebServer.bat +0 -5
  736. arelle_release-2.17.1.dist-info/RECORD +0 -676
  737. tests/__init__.py +0 -0
  738. tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest/ArelleGUITest.csproj +0 -30
  739. tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest/Tests.cs +0 -381
  740. tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest/Usings.cs +0 -1
  741. tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest.sln +0 -31
  742. tests/integration_tests/ui_tests/resources/workiva.zip +0 -0
  743. tests/integration_tests/validation/README.md +0 -50
  744. tests/integration_tests/validation/conformance_suite_config.py +0 -59
  745. tests/integration_tests/validation/conformance_suite_configs.py +0 -63
  746. tests/integration_tests/validation/conformance_suite_configurations/efm_current.py +0 -261
  747. tests/integration_tests/validation/conformance_suite_configurations/esef_ixbrl_2021.py +0 -85
  748. tests/integration_tests/validation/conformance_suite_configurations/esef_ixbrl_2022.py +0 -90
  749. tests/integration_tests/validation/conformance_suite_configurations/esef_xhtml_2021.py +0 -15
  750. tests/integration_tests/validation/conformance_suite_configurations/esef_xhtml_2022.py +0 -15
  751. tests/integration_tests/validation/conformance_suite_configurations/nl_nt16.py +0 -13
  752. tests/integration_tests/validation/conformance_suite_configurations/nl_nt17.py +0 -13
  753. tests/integration_tests/validation/conformance_suite_configurations/nl_nt18.py +0 -13
  754. tests/integration_tests/validation/conformance_suite_configurations/xbrl_2_1.py +0 -34
  755. tests/integration_tests/validation/conformance_suite_configurations/xbrl_calculations_1_1.py +0 -40
  756. tests/integration_tests/validation/conformance_suite_configurations/xbrl_dimensions_1_0.py +0 -28
  757. tests/integration_tests/validation/conformance_suite_configurations/xbrl_extensible_enumerations_1_0.py +0 -10
  758. tests/integration_tests/validation/conformance_suite_configurations/xbrl_extensible_enumerations_2_0.py +0 -10
  759. tests/integration_tests/validation/conformance_suite_configurations/xbrl_formula_1_0.py +0 -9
  760. tests/integration_tests/validation/conformance_suite_configurations/xbrl_formula_1_0_assertion_severity_2_0.py +0 -9
  761. tests/integration_tests/validation/conformance_suite_configurations/xbrl_formula_1_0_function_registry.py +0 -14
  762. tests/integration_tests/validation/conformance_suite_configurations/xbrl_ixbrl_1_1.py +0 -22
  763. tests/integration_tests/validation/conformance_suite_configurations/xbrl_link_role_registry_1_0.py +0 -11
  764. tests/integration_tests/validation/conformance_suite_configurations/xbrl_oim_1_0.py +0 -19
  765. tests/integration_tests/validation/conformance_suite_configurations/xbrl_table_linkbase_1_0.py +0 -296
  766. tests/integration_tests/validation/conformance_suite_configurations/xbrl_taxonomy_packages_1_0.py +0 -13
  767. tests/integration_tests/validation/conformance_suite_configurations/xbrl_transformation_registry_3.py +0 -13
  768. tests/integration_tests/validation/conformance_suite_configurations/xbrl_transformation_registry_4.py +0 -13
  769. tests/integration_tests/validation/conformance_suite_configurations/xbrl_transformation_registry_5.py +0 -13
  770. tests/integration_tests/validation/conformance_suite_configurations/xbrl_utr_malformed_1_0.py +0 -31
  771. tests/integration_tests/validation/conformance_suite_configurations/xbrl_utr_registry_1_0.py +0 -22
  772. tests/integration_tests/validation/conformance_suite_configurations/xbrl_utr_structure_1_0.py +0 -18
  773. tests/integration_tests/validation/conftest.py +0 -24
  774. tests/integration_tests/validation/discover_tests.py +0 -22
  775. tests/integration_tests/validation/download_conformance_suites.py +0 -47
  776. tests/integration_tests/validation/run_conformance_suites.py +0 -175
  777. tests/integration_tests/validation/test_conformance_suites.py +0 -14
  778. tests/integration_tests/validation/validation_util.py +0 -271
  779. tests/resources/conformance_suites/nl_nt16/br_kvk/2-04-invalid-period.xbrl +0 -63
  780. tests/resources/conformance_suites/nl_nt16/br_kvk/2-04-testcase.xml +0 -22
  781. tests/resources/conformance_suites/nl_nt16/br_kvk/3-01-missing.xbrl +0 -53
  782. tests/resources/conformance_suites/nl_nt16/br_kvk/3-01-multiple.xbrl +0 -60
  783. tests/resources/conformance_suites/nl_nt16/br_kvk/3-01-testcase.xml +0 -33
  784. tests/resources/conformance_suites/nl_nt16/br_kvk/4-07-invalid.xbrl +0 -57
  785. tests/resources/conformance_suites/nl_nt16/br_kvk/4-07-testcase.xml +0 -22
  786. tests/resources/conformance_suites/nl_nt16/br_kvk/4-10-invalid.xbrl +0 -58
  787. tests/resources/conformance_suites/nl_nt16/br_kvk/4-10-testcase.xml +0 -22
  788. tests/resources/conformance_suites/nl_nt16/br_kvk/4-12-invalid.xbrl +0 -63
  789. tests/resources/conformance_suites/nl_nt16/br_kvk/4-12-testcase.xml +0 -22
  790. tests/resources/conformance_suites/nl_nt16/br_kvk/4-16-missing.xbrl +0 -61
  791. tests/resources/conformance_suites/nl_nt16/br_kvk/4-16-testcase.xml +0 -22
  792. tests/resources/conformance_suites/nl_nt16/br_kvk/4-20-invalid-date.xbrl +0 -89
  793. tests/resources/conformance_suites/nl_nt16/br_kvk/4-20-testcase.xml +0 -22
  794. tests/resources/conformance_suites/nl_nt16/fr_kvk/1-01-invalid-file-extension.xml +0 -56
  795. tests/resources/conformance_suites/nl_nt16/fr_kvk/1-01-testcase.xml +0 -22
  796. tests/resources/conformance_suites/nl_nt16/fr_kvk/2-01-invalid-lang.xbrl +0 -56
  797. tests/resources/conformance_suites/nl_nt16/fr_kvk/2-01-missing-lang.xbrl +0 -55
  798. tests/resources/conformance_suites/nl_nt16/fr_kvk/2-01-testcase.xml +0 -33
  799. tests/resources/conformance_suites/nl_nt16/fr_kvk/2-03-entrypoint.xsd +0 -6
  800. tests/resources/conformance_suites/nl_nt16/fr_kvk/2-03-invalid-entrypoint.xbrl +0 -63
  801. tests/resources/conformance_suites/nl_nt16/fr_kvk/2-03-testcase.xml +0 -22
  802. tests/resources/conformance_suites/nl_nt16/fr_kvk/5-01-invalid-decimals.xbrl +0 -49
  803. tests/resources/conformance_suites/nl_nt16/fr_kvk/5-01-testcase.xml +0 -22
  804. tests/resources/conformance_suites/nl_nt16/fr_kvk/5-02-invalid-decimals.xbrl +0 -49
  805. tests/resources/conformance_suites/nl_nt16/fr_kvk/5-02-testcase.xml +0 -22
  806. tests/resources/conformance_suites/nl_nt16/fr_nl/1-01-invalid-file.xbrl +0 -2
  807. tests/resources/conformance_suites/nl_nt16/fr_nl/1-01-invalid-zip.zip +0 -0
  808. tests/resources/conformance_suites/nl_nt16/fr_nl/1-01-testcase.xml +0 -33
  809. tests/resources/conformance_suites/nl_nt16/fr_nl/1-03-invalid-doctype.xbrl +0 -4
  810. tests/resources/conformance_suites/nl_nt16/fr_nl/1-03-testcase.xml +0 -22
  811. tests/resources/conformance_suites/nl_nt16/fr_nl/1-05-invalid-encoding.xbrl +0 -0
  812. tests/resources/conformance_suites/nl_nt16/fr_nl/1-05-testcase.xml +0 -22
  813. tests/resources/conformance_suites/nl_nt16/fr_nl/1-06-testcase.xml +0 -22
  814. tests/resources/conformance_suites/nl_nt16/fr_nl/1-06.invalid.xbrl +0 -2
  815. tests/resources/conformance_suites/nl_nt16/fr_nl/2-06-invalid-file.xbrl +0 -8
  816. tests/resources/conformance_suites/nl_nt16/fr_nl/2-06-invalid-zip.zip +0 -0
  817. tests/resources/conformance_suites/nl_nt16/fr_nl/2-06-testcase.xml +0 -33
  818. tests/resources/conformance_suites/nl_nt16/index.xml +0 -20
  819. tests/resources/conformance_suites/nl_nt17/br_kvk/2-04-invalid-period.xbrl +0 -63
  820. tests/resources/conformance_suites/nl_nt17/br_kvk/2-04-testcase.xml +0 -22
  821. tests/resources/conformance_suites/nl_nt17/br_kvk/3-01-missing.xbrl +0 -53
  822. tests/resources/conformance_suites/nl_nt17/br_kvk/3-01-multiple.xbrl +0 -60
  823. tests/resources/conformance_suites/nl_nt17/br_kvk/3-01-testcase.xml +0 -33
  824. tests/resources/conformance_suites/nl_nt17/br_kvk/4-07-invalid.xbrl +0 -57
  825. tests/resources/conformance_suites/nl_nt17/br_kvk/4-07-testcase.xml +0 -22
  826. tests/resources/conformance_suites/nl_nt17/br_kvk/4-10-invalid.xbrl +0 -58
  827. tests/resources/conformance_suites/nl_nt17/br_kvk/4-10-testcase.xml +0 -22
  828. tests/resources/conformance_suites/nl_nt17/br_kvk/4-12-invalid.xbrl +0 -63
  829. tests/resources/conformance_suites/nl_nt17/br_kvk/4-12-testcase.xml +0 -22
  830. tests/resources/conformance_suites/nl_nt17/br_kvk/4-16-missing.xbrl +0 -61
  831. tests/resources/conformance_suites/nl_nt17/br_kvk/4-16-testcase.xml +0 -22
  832. tests/resources/conformance_suites/nl_nt17/br_kvk/4-20-invalid-date.xbrl +0 -89
  833. tests/resources/conformance_suites/nl_nt17/br_kvk/4-20-testcase.xml +0 -22
  834. tests/resources/conformance_suites/nl_nt17/fr_kvk/1-01-invalid-file-extension.xml +0 -56
  835. tests/resources/conformance_suites/nl_nt17/fr_kvk/1-01-testcase.xml +0 -22
  836. tests/resources/conformance_suites/nl_nt17/fr_kvk/2-01-invalid-lang.xbrl +0 -56
  837. tests/resources/conformance_suites/nl_nt17/fr_kvk/2-01-missing-lang.xbrl +0 -55
  838. tests/resources/conformance_suites/nl_nt17/fr_kvk/2-01-testcase.xml +0 -33
  839. tests/resources/conformance_suites/nl_nt17/fr_kvk/2-03-entrypoint.xsd +0 -6
  840. tests/resources/conformance_suites/nl_nt17/fr_kvk/2-03-invalid-entrypoint.xbrl +0 -63
  841. tests/resources/conformance_suites/nl_nt17/fr_kvk/2-03-testcase.xml +0 -22
  842. tests/resources/conformance_suites/nl_nt17/fr_kvk/5-01-invalid-decimals.xbrl +0 -49
  843. tests/resources/conformance_suites/nl_nt17/fr_kvk/5-01-testcase.xml +0 -22
  844. tests/resources/conformance_suites/nl_nt17/fr_kvk/5-02-invalid-decimals.xbrl +0 -49
  845. tests/resources/conformance_suites/nl_nt17/fr_kvk/5-02-testcase.xml +0 -22
  846. tests/resources/conformance_suites/nl_nt17/fr_nl/1-01-invalid-file.xbrl +0 -2
  847. tests/resources/conformance_suites/nl_nt17/fr_nl/1-01-invalid-zip.zip +0 -0
  848. tests/resources/conformance_suites/nl_nt17/fr_nl/1-01-testcase.xml +0 -33
  849. tests/resources/conformance_suites/nl_nt17/fr_nl/1-03-invalid-doctype.xbrl +0 -4
  850. tests/resources/conformance_suites/nl_nt17/fr_nl/1-03-testcase.xml +0 -22
  851. tests/resources/conformance_suites/nl_nt17/fr_nl/1-05-invalid-encoding.xbrl +0 -0
  852. tests/resources/conformance_suites/nl_nt17/fr_nl/1-05-testcases.xml +0 -22
  853. tests/resources/conformance_suites/nl_nt17/fr_nl/1-06-testcase.xml +0 -22
  854. tests/resources/conformance_suites/nl_nt17/fr_nl/1-06.invalid.xbrl +0 -2
  855. tests/resources/conformance_suites/nl_nt17/fr_nl/2-06-invalid-file.xbrl +0 -8
  856. tests/resources/conformance_suites/nl_nt17/fr_nl/2-06-invalid-zip.zip +0 -0
  857. tests/resources/conformance_suites/nl_nt17/fr_nl/2-06-testcase.xml +0 -33
  858. tests/resources/conformance_suites/nl_nt17/index.xml +0 -20
  859. tests/resources/conformance_suites/nl_nt18/fr_nl/1-03-invalid-doctype.xbrl +0 -4
  860. tests/resources/conformance_suites/nl_nt18/fr_nl/1-03-testcase.xml +0 -22
  861. tests/resources/conformance_suites/nl_nt18/fr_nl/1-05-invalid-encoding.xbrl +0 -0
  862. tests/resources/conformance_suites/nl_nt18/fr_nl/1-05-testcases.xml +0 -22
  863. tests/resources/conformance_suites/nl_nt18/fr_nl/1-06-testcase.xml +0 -22
  864. tests/resources/conformance_suites/nl_nt18/fr_nl/1-06.invalid.xbrl +0 -2
  865. tests/resources/conformance_suites/nl_nt18/fr_nl/1.01-invalid-file.xbrl +0 -2
  866. tests/resources/conformance_suites/nl_nt18/fr_nl/1.01-invalid-zip.zip +0 -0
  867. tests/resources/conformance_suites/nl_nt18/fr_nl/1.01-testcase.xml +0 -33
  868. tests/resources/conformance_suites/nl_nt18/fr_nl/2-06-invalid-file.xbrl +0 -8
  869. tests/resources/conformance_suites/nl_nt18/fr_nl/2-06-invalid-zip.zip +0 -0
  870. tests/resources/conformance_suites/nl_nt18/fr_nl/2-06-testcase.xml +0 -33
  871. tests/resources/conformance_suites/nl_nt18/index.xml +0 -8
  872. tests/unit_tests/arelle/conftest.py +0 -16
  873. tests/unit_tests/arelle/formula/test_fact_aspects_cache.py +0 -170
  874. tests/unit_tests/arelle/plugin/test_loadfromoim.py +0 -40
  875. tests/unit_tests/arelle/plugin/test_plugin_imports.py +0 -27
  876. tests/unit_tests/arelle/test_betafeatures.py +0 -81
  877. tests/unit_tests/arelle/test_cntlr.py +0 -28
  878. tests/unit_tests/arelle/test_import.py +0 -40
  879. tests/unit_tests/arelle/test_locale.py +0 -73
  880. tests/unit_tests/arelle/test_modelmanager.py +0 -15
  881. tests/unit_tests/arelle/test_packagemanager.py +0 -65
  882. tests/unit_tests/arelle/test_pluginmanager.py +0 -176
  883. tests/unit_tests/arelle/test_qname.py +0 -140
  884. tests/unit_tests/arelle/test_runtimeoptions.py +0 -56
  885. tests/unit_tests/arelle/test_system_info.py +0 -26
  886. tests/unit_tests/arelle/test_updater.py +0 -507
  887. tests/unit_tests/arelle/test_urlutil.py +0 -49
  888. tests/unit_tests/arelle/test_version.py +0 -46
  889. tests/unit_tests/arelle/utils/validate/test_decorator.py +0 -59
  890. /arelle/{examples/plugin/validate/XYZ → plugin/validate/EDINET}/rules/__init__.py +0 -0
  891. /arelle/plugin/validate/{HMRC → UK}/consistencyChecksByName.json +0 -0
  892. /arelle/plugin/validate/{HMRC → UK}/hmrc-taxonomies.xml +0 -0
  893. {arelle_release-2.17.1.dist-info → arelle_release-2.37.71.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,545 @@
1
+ """
2
+ See COPYRIGHT.md for copyright information.
3
+ """
4
+ from __future__ import annotations
5
+
6
+ from arelle.Cntlr import Cntlr
7
+ from arelle.ModelValue import qname
8
+ from arelle.ValidateXbrl import ValidateXbrl
9
+ from arelle.typing import TypeGetText
10
+ from arelle.utils.validate.ValidationPlugin import ValidationPlugin
11
+ from .PluginValidationDataExtension import PluginValidationDataExtension
12
+
13
+ import regex as re
14
+
15
+ _: TypeGetText
16
+
17
+ DANISH_CURRENCY_ID = 'DKK'
18
+ NAMESPACE_ARR = 'http://xbrl.dcca.dk/arr'
19
+ NAMESPACE_CMN = 'http://xbrl.dcca.dk/cmn'
20
+ NAMESPACE_FSA = 'http://xbrl.dcca.dk/fsa'
21
+ NAMESPACE_GSD = 'http://xbrl.dcca.dk/gsd'
22
+ NAMESPACE_SOB = 'http://xbrl.dcca.dk/sob'
23
+ PERSONNEL_EXPENSE_THRESHOLD = 200000
24
+ ROUNDING_MARGIN = 1000
25
+ REQUIRED_STATEMENT_OF_CHANGES_IN_EQUITY_FACTS = 3
26
+ REQUIRED_DISCLOSURE_OF_EQUITY_FACTS = 2
27
+
28
+
29
+ class ValidationPluginExtension(ValidationPlugin):
30
+ def newPluginData(self, cntlr: Cntlr, validateXbrl: ValidateXbrl | None) -> PluginValidationDataExtension:
31
+ return PluginValidationDataExtension(
32
+ self.name,
33
+ accountingPolicyConceptQns=frozenset([
34
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionMethodsOfRecognitionAndMeasurementBasisForCashFlowsStatement'),
35
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfAccountingPoliciesRelatedToDerivativeFinancialInstruments'),
36
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfAnyFailureOfApplyingEliminationBetweenConsolidatedEnterprises'),
37
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfChangeInInventoriesOfFinishedGoodsWorkInProgressAndGoodsForResale'),
38
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfChangesInCompositionOfEntityActivities'),
39
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfEffectOfChangeInAccountingEstimatesOnAssetsLiabilitiesEquityFinancialPositionAndResults'),
40
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfEffectOfChangeInRecognitionAndMeasurementBasisOfAssetsAndLiabilitiesAsResultOfErrors'),
41
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfEffectOfDerogationFromProvisionsOfDanishFinancialStatementsActOnAssetsLiabilitiesEquityFinancialPositionAndResults'),
42
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfGeneralMattersRelatedToRecognitionMeasurementAndChangesInAccountingPolicies'),
43
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfImpairmentOfFinancialAssets'),
44
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfIncomeFromOtherInvestmentsAndReceivablesThatAreFixedAssets'),
45
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfKeyFiguresAndFinancialRatios'),
46
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfAmortisationOfNoncurrentAssets'),
47
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfAssetsMeantForSale'),
48
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfCurrentTaxReceivablesAndLiabilities'),
49
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfDividends'),
50
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfForeignCurrencies'),
51
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfHedgingRecognisedExpectedToReceiveAndAssumedAssetsAndLiabilities'),
52
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfImpairmentLossesAndDepreciation'),
53
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfIncomeExceedCostAndCostExceedsIncomeForTheFinancialYear'),
54
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfInvestments'),
55
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfInvestmentsAsCurrentAssets'),
56
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfLeases'),
57
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfLiquidationAccount'),
58
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfPrepayments'),
59
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisForDistributions'),
60
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisForInvestmentsInJointVentures'),
61
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisForInvestmentsInSubsidiariesAndAssociates'),
62
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisIncludingBasesUsedForRevaluationsDepreciationAmortisationEstimatedResidualValueUsefulLifeWritedownsUpwardAndDownwardAdjustments'),
63
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfAdministrativeExpenses'),
64
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfAssetsAndLiabilities'),
65
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfCashAndCashEquivalents'),
66
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfContractWorkInProgress'),
67
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfCostOfProduction'),
68
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfCostOfSales'),
69
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfDeferredIncomeAssets'),
70
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfDeferredIncomeLiabilities'),
71
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfDistributionCosts'),
72
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfEmployeeBenefitExpense'),
73
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfEquity'),
74
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfExpensesFromInvestmentsInGroupEnterprisesAndAssociates'),
75
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfExternalExpenses'),
76
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfFinanceExpenses'),
77
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfFinanceIncome'),
78
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfFinanceIncomeAndExpenses'),
79
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfGainsLossesFromCurrentValueAdjustmentsOfBiologicalAssets'),
80
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfGainsLossesFromCurrentValueAdjustmentsOfInvestmentProperty'),
81
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfGainsLossesFromCurrentValueAdjustmentsOfOtherInvestmentAssets'),
82
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfGrossProfitLoss'),
83
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfIncomeAndExpensesFromInvestmentsInGroupEnterprisesAndAssociates'),
84
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfIncomeAndExpensesFromInvestmentsInJointVentures'),
85
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfIncomeFromInvestmentsInGroupEnterprisesAndAssociates'),
86
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfIncomeStatementItems'),
87
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfIndirectCostsOfProductionRecognisedUnderAssets'),
88
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfIntangibleAssets'),
89
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfInventories'),
90
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfInvestmentProperty'),
91
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfInvestments'),
92
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfLeaseholdImprovements'),
93
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfLiabilitiesOtherThanProvisions'),
94
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfOtherInvestmentAssets'),
95
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfOtherOperatingExpenses'),
96
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfOtherOperatingIncome'),
97
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfOtherOperatingIncomeAndExpenses'),
98
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfOtherProvisions'),
99
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfPropertyCosts'),
100
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfPropertyPlantAndEquipment'),
101
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfProvisions'),
102
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfReceivables'),
103
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfResearchAndDevelopmentExpendituresRecognisedAsExpenses'),
104
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfRevenue'),
105
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfSpecialItems'),
106
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfTaxExpenses'),
107
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisOfTaxPayablesAndDeferredTax'),
108
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisUsedAtEstablishment'),
109
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfRecognitionAndMeasurementBasisUsedInBusinessCombinations'),
110
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfStatingKeyFiguresAndFinancialRatiosIncludedInManagementReview'),
111
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfMethodsOfTranslationOfForeignCurrencies'),
112
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfOtherKeyFiguresAndFinancialRatios'),
113
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfOtherTaxExpenses'),
114
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfOwnWorkCapitalised'),
115
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfPublicGrants'),
116
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfRawMaterialsAndConsumablesUsed'),
117
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfRecognitionAndMeasurementBasisForDiscontinuedOperationsBalanceSheet'),
118
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfRemainingPositiveOrNegativeBalancesRelatedToAcquisitionAndUnitingOfInterestsAndMethodsUsedInConnectionWithTheirCalculation'),
119
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfWritedownsOfCurrentAssetsThatExceedNormalWritedowns'),
120
+ qname(f'{{{NAMESPACE_FSA}}}DisclosureOfAccountingPolicies'),
121
+ qname(f'{{{NAMESPACE_FSA}}}DisclosureOfTrueAndFairViewAndGoingConcern'),
122
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfAmortizationPeriodForGoodwill'),
123
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfAssumptionsOnWhichChosenCalculationMethodHasBeenBasedForFinancialAssetsAndLiabilitiesMeasuredAtNetPresentValueOrAmortisedCost'),
124
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfAssumptionsOnWhichChosenCalculationMethodHasBeenBasedForInvestmentsAndBiologicalAssetsMeasuredAtFairValue'),
125
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfBasisOnWhichEquityInvestmentsInSubsidiariesAndAssociatesHaveBeenRecognisedAtCost'),
126
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfChangeInAccountingEstimates'),
127
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfChangeInRecognitionAndMeasurementBasisOfAssetsAndLiabilitiesAsResultOfErrors'),
128
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfDerogationFromProvisionsOfDanishFinancialStatementsActOnAssetsLiabilitiesEquityFinancialPositionAndResults'),
129
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfDifferenceInBalanceSheetDatesBetweenParentAndConsolidatedSubsidiariesAndDescriptionOfImportantEventsOccurringAtThatTime'),
130
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfDifferenceInMethodsOfRecognitionAndMeasurementBasisBetweenParentAndConsolidatedGroupEnterprise'),
131
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfEntitysDefinitionOfCashAndCashEquivalents'),
132
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfGroundsOfNoncomparabilityOrRestatement'),
133
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfNotDisclosingInformationOnAGroupEntity'),
134
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfOtherMethodsOfRecognitionAndMeasurementBasisForAssetsInPreviousPeriod'),
135
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfWhetherInterestIsIncludedInCost'),
136
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnChangesAndEffectsOfChangesOnRecognitionAndMeasurementBasisResultingFromChangesInAccountingEstimatesOrErrors'),
137
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnConsolidatedResultsAndEquityIfSubsidiaryHasNotBeenPreviouslyIncludedInConsolidatedFinancialStatementsAndParentHoldsInvestmentsInSubsidiarySolelyWithViewToItsSubsequentTransfer'),
138
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnConsolidations'),
139
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnHedging'),
140
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnIncentivePrograms'),
141
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnIntragroupTransactions'),
142
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnLeasingContracts'),
143
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnMinorityInterests'),
144
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnNoncomparabilityOrRestatement'),
145
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnOmissionOfConsolidatedFinancialStatement'),
146
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnReportingClassOfEntity'),
147
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnSegments'),
148
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnSignificantUncertainties'),
149
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnSpecificPrerequisitesRegardingDevelopmentProjectsAndTaxAssets'),
150
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnSubsequentEvents'),
151
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnSubsidiariesHavingPresentedTheAnnualReportEtcWithReferenceToTheDanishFinancialStatementsAct78aConcerningTheExceptionForReportingClassCMediumsizeSubsidiariesWhichChoosesToPresentTheAnnualReportEtcAccordingToReportingClassB'),
152
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnThePrincipalModificationsAsResultOfTheLiquidation'),
153
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnTimingDifferencesInCustomerPaymentsEspeciallyForUtilities'),
154
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnTreatmentOfAdditionalPaymentsFromAndRepaymentsToRelatedParties'),
155
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnTrueAndFairViewIfProvisionsOfDanishFinancialStatementsActAreNotSufficient'),
156
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnUncertaintiesRelatingToGoingConcern'),
157
+ qname(f'{{{NAMESPACE_FSA}}}SubsidiariesHasPresentedTheAnnualReportEtc.WithReferenceToTheDanishFinancialStatementsAct78aConcerningTheExceptionForReportingClassCMediumsizeSubsidiariesWhichChoosesToPresentTheAnnualReportEtcAccordingToReportingClassB'),
158
+ ]),
159
+ addressOfSubmittingEnterprisePostcodeAndTownQn=qname(f'{{{NAMESPACE_GSD}}}AddressOfSubmittingEnterprisePostcodeAndTown'),
160
+ addressOfSubmittingEnterpriseStreetAndNumberQn=qname(f'{{{NAMESPACE_GSD}}}AddressOfSubmittingEnterpriseStreetAndNumber'),
161
+ allReportingPeriodsMemberQn=qname(f'{{{NAMESPACE_GSD}}}AllReportingPeriodsMember'),
162
+ annualReportTypes=frozenset([
163
+ 'Årsrapport',
164
+ 'årsrapport',
165
+ 'Annual report',
166
+ 'Likvidationsregnskab',
167
+ 'likvidationsregnskab',
168
+ 'Liquidation accounts',
169
+ ]),
170
+ assetsQn=qname(f'{{{NAMESPACE_FSA}}}Assets'),
171
+ auditedAssuranceReportsDanish='Andre erklæringer med sikkerhed',
172
+ auditedAssuranceReportsEnglish='The independent auditor\'s reports (Other assurance Reports)',
173
+ auditedExtendedReviewDanish='Erklæring om udvidet gennemgang',
174
+ auditedExtendedReviewEnglish='Auditor\'s report on extended review',
175
+ auditedFinancialStatementsDanish='Revisionspåtegning',
176
+ auditedFinancialStatementsEnglish='Auditor\'s report on audited financial statements',
177
+ auditedNonAssuranceReportsDanish='Andre erklæringer uden sikkerhed',
178
+ auditedNonAssuranceReportsEnglish='Auditor\'s reports (Other non-assurance reports)',
179
+ averageNumberOfEmployeesQn=qname(f'{{{NAMESPACE_FSA}}}AverageNumberOfEmployees'),
180
+ balanceSheetQnLessThanOrEqualToAssets=frozenset([
181
+ qname(f'{{{NAMESPACE_FSA}}}NoncurrentAssets'),
182
+ qname(f'{{{NAMESPACE_FSA}}}IntangibleAssets'),
183
+ qname(f'{{{NAMESPACE_FSA}}}CompletedDevelopmentProjects'),
184
+ qname(f'{{{NAMESPACE_FSA}}}ConcessionsOriginatingFromDevelopmentProjects'),
185
+ qname(f'{{{NAMESPACE_FSA}}}PatentsOriginatingFromDevelopmentProjects'),
186
+ qname(f'{{{NAMESPACE_FSA}}}TrademarksOriginatingFromDevelopmentProjects'),
187
+ qname(f'{{{NAMESPACE_FSA}}}OtherSimilarRightsOriginatingFromDevelopmentProjects'),
188
+ qname(f'{{{NAMESPACE_FSA}}}AcquiredIntangibleAssets'),
189
+ qname(f'{{{NAMESPACE_FSA}}}AcquiredConcessions'),
190
+ qname(f'{{{NAMESPACE_FSA}}}AcquiredPatents'),
191
+ qname(f'{{{NAMESPACE_FSA}}}AcquiredLicences'),
192
+ qname(f'{{{NAMESPACE_FSA}}}AcquiredTrademarks'),
193
+ qname(f'{{{NAMESPACE_FSA}}}AcquiredOtherSimilarRights'),
194
+ qname(f'{{{NAMESPACE_FSA}}}Goodwill'),
195
+ qname(f'{{{NAMESPACE_FSA}}}DevelopmentProjectsInProgressAndPrepaymentsForIntangibleAssets'),
196
+ qname(f'{{{NAMESPACE_FSA}}}DevelopmentProjectsInProgress'),
197
+ qname(f'{{{NAMESPACE_FSA}}}PrepaymentsForIntangibleAssets'),
198
+ qname(f'{{{NAMESPACE_FSA}}}PropertyPlantAndEquipment'),
199
+ qname(f'{{{NAMESPACE_FSA}}}LandAndBuildings'),
200
+ qname(f'{{{NAMESPACE_FSA}}}Land'),
201
+ qname(f'{{{NAMESPACE_FSA}}}Buildings'),
202
+ qname(f'{{{NAMESPACE_FSA}}}InvestmentProperty'),
203
+ qname(f'{{{NAMESPACE_FSA}}}OtherInvestmentAssets'),
204
+ qname(f'{{{NAMESPACE_FSA}}}PlantAndMachinery'),
205
+ qname(f'{{{NAMESPACE_FSA}}}FixturesFittingsToolsAndEquipment'),
206
+ qname(f'{{{NAMESPACE_FSA}}}BiologicalAssets'),
207
+ qname(f'{{{NAMESPACE_FSA}}}LeaseholdImprovements'),
208
+ qname(f'{{{NAMESPACE_FSA}}}Ships'),
209
+ qname(f'{{{NAMESPACE_FSA}}}Planes'),
210
+ qname(f'{{{NAMESPACE_FSA}}}RightofuseAssets'),
211
+ qname(f'{{{NAMESPACE_FSA}}}PropertyPlantAndEquipmentInProgressAndPrepaymentsForPropertyPlantAndEquipment'),
212
+ qname(f'{{{NAMESPACE_FSA}}}PropertyPlantAndEquipmentInProgress'),
213
+ qname(f'{{{NAMESPACE_FSA}}}PrepaymentsForPropertyPlantAndEquipment'),
214
+ qname(f'{{{NAMESPACE_FSA}}}LongtermInvestmentsAndReceivables'),
215
+ qname(f'{{{NAMESPACE_FSA}}}LongtermInvestmentsInGroupEnterprises'),
216
+ qname(f'{{{NAMESPACE_FSA}}}LongtermInvestmentsInAssociates'),
217
+ qname(f'{{{NAMESPACE_FSA}}}LongtermParticipatingInterests'),
218
+ qname(f'{{{NAMESPACE_FSA}}}LongtermInvestmentsInJointVentures'),
219
+ qname(f'{{{NAMESPACE_FSA}}}LongtermReceivablesFromGroupEnterprises'),
220
+ qname(f'{{{NAMESPACE_FSA}}}LongtermReceivablesFromAssociates'),
221
+ qname(f'{{{NAMESPACE_FSA}}}LongtermReceivablesFromParticipatingInterests'),
222
+ qname(f'{{{NAMESPACE_FSA}}}LongtermReceivablesFromJointVentures'),
223
+ qname(f'{{{NAMESPACE_FSA}}}OtherLongtermInvestments'),
224
+ qname(f'{{{NAMESPACE_FSA}}}OtherLongtermReceivables'),
225
+ qname(f'{{{NAMESPACE_FSA}}}LongtermReceivablesFromOwnersAndManagement'),
226
+ qname(f'{{{NAMESPACE_FSA}}}NoncurrentDeferredTaxAssets'),
227
+ qname(f'{{{NAMESPACE_FSA}}}DepositsLongtermInvestmentsAndReceivables'),
228
+ qname(f'{{{NAMESPACE_FSA}}}CostExceedsIncomeForTheFinancialYearLongtermReceivables'),
229
+ qname(f'{{{NAMESPACE_FSA}}}ContributedCapitalInArrearsLongTerm'),
230
+ qname(f'{{{NAMESPACE_FSA}}}NoncurrentContractAssets'),
231
+ qname(f'{{{NAMESPACE_FSA}}}CurrentAssets'),
232
+ qname(f'{{{NAMESPACE_FSA}}}Inventories'),
233
+ qname(f'{{{NAMESPACE_FSA}}}RawMaterialsAndConsumables'),
234
+ qname(f'{{{NAMESPACE_FSA}}}WorkInProgress'),
235
+ qname(f'{{{NAMESPACE_FSA}}}ManufacturedGoodsAndGoodsForResale'),
236
+ qname(f'{{{NAMESPACE_FSA}}}PrepaymentsForGoods'),
237
+ qname(f'{{{NAMESPACE_FSA}}}Livestock'),
238
+ qname(f'{{{NAMESPACE_FSA}}}PropertyHeldForSaleInTheOrdinaryCourseOfBusiness'),
239
+ qname(f'{{{NAMESPACE_FSA}}}AssetsHeldForSaleInventories'),
240
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermReceivables'),
241
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermTradeReceivables'),
242
+ qname(f'{{{NAMESPACE_FSA}}}ContractWorkInProgress'),
243
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermReceivablesFromGroupEnterprises'),
244
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermReceivablesFromAssociates'),
245
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermReceivablesFromJointVentures'),
246
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermReceivablesFromParticipatingInterests'),
247
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermReceivablesDividendsFromGroupEnterprises'),
248
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermReceivablesDividendsFromAssociates'),
249
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermReceivablesDividendsFromJointVentures'),
250
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermReceivablesDividendsFromParticipatingInterests'),
251
+ qname(f'{{{NAMESPACE_FSA}}}CurrentDeferredTaxAssets'),
252
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermTaxReceivables'),
253
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermTaxReceivablesFromGroupEnterprises'),
254
+ qname(f'{{{NAMESPACE_FSA}}}VatAndDutiesReceivables'),
255
+ qname(f'{{{NAMESPACE_FSA}}}OtherShorttermReceivables'),
256
+ qname(f'{{{NAMESPACE_FSA}}}ContributedCapitalInArrears'),
257
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermReceivablesFromOwnersAndManagement'),
258
+ qname(f'{{{NAMESPACE_FSA}}}DeferredIncomeAssets'),
259
+ qname(f'{{{NAMESPACE_FSA}}}CostExceedsIncomeForTheFinancialYearShorttermReceivables'),
260
+ qname(f'{{{NAMESPACE_FSA}}}TimingDifferencesShorttermReceivablesEspeciallyUtilities'),
261
+ qname(f'{{{NAMESPACE_FSA}}}CurrentContractAssets'),
262
+ qname(f'{{{NAMESPACE_FSA}}}DerivativeFinancialInstrumentsShorttermAssets'),
263
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermInvestments'),
264
+ qname(f'{{{NAMESPACE_FSA}}}ShorttermInvestmentsInGroupEnterprises'),
265
+ qname(f'{{{NAMESPACE_FSA}}}OtherShorttermInvestments'),
266
+ qname(f'{{{NAMESPACE_FSA}}}CashAndCashEquivalents'),
267
+ qname(f'{{{NAMESPACE_FSA}}}AssetsMeantForSale'),
268
+ ]),
269
+ basisForAdverseOpinionDanish='Grundlag for afkræftende konklusion',
270
+ basisForAdverseOpinionEnglish='Basis for Adverse Opinion',
271
+ basisForDisclaimerOpinionDanish='Grundlag for manglende konklusion',
272
+ basisForDisclaimerOpinionEnglish='Basis for Disclaimer of Opinion',
273
+ basisForQualifiedOpinionDanish='Grundlag for konklusion med forbehold',
274
+ basisForQualifiedOpinionEnglish='Basis for Qualified Opinion',
275
+ classOfReportingEntityQn=qname(f'{{{NAMESPACE_FSA}}}ClassOfReportingEntity'),
276
+ cClassOfReportingEntityEnums = frozenset([
277
+ 'SelectedElementsFromReportingClassD',
278
+ 'Reporting class C, medium-size enterprise',
279
+ 'Regnskabsklasse C, stor virksomhed',
280
+ 'Reporting class C, large enterprise']),
281
+ dClassOfReportingEntityEnums = frozenset([
282
+ 'Regnskabsklasse D',
283
+ 'Reporting class D'
284
+ ]),
285
+ consolidatedMemberQn=qname(f'{{{NAMESPACE_CMN}}}ConsolidatedMember'),
286
+ consolidatedSoloDimensionQn=qname(f'{{{NAMESPACE_CMN}}}ConsolidatedSoloDimension'),
287
+ cpr_regex=re.compile(r'^([0-2][0-9]|3[0-1])(0[1-9]|1[0-2])[0-9]{2}-[0-9]{4}'),
288
+ dateOfApprovalOfAnnualReportQn=qname(f'{{{NAMESPACE_SOB}}}DateOfApprovalOfAnnualReport'),
289
+ dateOfExtraordinaryDividendDistributedAfterEndOfReportingPeriod=qname(f'{{{NAMESPACE_FSA}}}DateOfExtraordinaryDividendDistributedAfterEndOfReportingPeriod'),
290
+ dateOfGeneralMeetingQn=qname(f'{{{NAMESPACE_GSD}}}DateOfGeneralMeeting'),
291
+ declarationObligationQns=frozenset([
292
+ qname(f'{{{NAMESPACE_ARR}}}ReportingResponsibilitiesAccordingToTheDanishExecutiveOrderOnApprovedAuditorsReportsEspeciallyTheCriminalCodeAndFiscalTaxAndSubsidyLegislationAudit'),
293
+ qname(f'{{{NAMESPACE_ARR}}}ReportingResponsibilitiesAccordingToTheDanishExecutiveOrderOnApprovedAuditorsReportsEspeciallyTheCompaniesActOrEquivalentLegislationThatTheCompanyIsSubjectToAudit'),
294
+ qname(f'{{{NAMESPACE_ARR}}}ReportingResponsibilitiesAccordingToTheDanishExecutiveOrderOnApprovedAuditorsReportsEspeciallyLegislationOnFinancialReportingIncludingAccountingAndStorageOfAccountingRecordsAudit'),
295
+ qname(f'{{{NAMESPACE_ARR}}}ReportingResponsibilitiesAccordingToTheDanishExecutiveOrderOnApprovedAuditorsReportsEspeciallyOtherMattersAudit'),
296
+ ]),
297
+ descriptionOfQualificationsOfAssuranceEngagementPerformedQn=qname(f'{{{NAMESPACE_ARR}}}DescriptionOfQualificationsOfAssuranceEngagementPerformed'),
298
+ descriptionOfQualificationsOfAuditedFinancialStatementsQn=qname(f'{{{NAMESPACE_ARR}}}DescriptionOfQualificationsOfAuditedFinancialStatements'),
299
+ descriptionOfQualificationsOfFinancialStatementsExtendedReviewQn=qname(f'{{{NAMESPACE_ARR}}}DescriptionOfQualificationsOfFinancialStatementsExtendedReview'),
300
+ descriptionsOfQualificationsOfReviewedFinancialStatementsQn=qname(f'{{{NAMESPACE_ARR}}}DescriptionsOfQualificationsOfReviewedFinancialStatements'),
301
+ disclosureOfEquityQns=frozenset([
302
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnClassesOfIssuedShares'),
303
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfClassOfIssuedShares'),
304
+ qname(f'{{{NAMESPACE_FSA}}}NumberOfIssuedShares'),
305
+ qname(f'{{{NAMESPACE_FSA}}}NominelValuePerUnitShare'),
306
+ qname(f'{{{NAMESPACE_FSA}}}AccountingParValuePerUnitShare'),
307
+ qname(f'{{{NAMESPACE_FSA}}}NominalValueOfIssuedShares'),
308
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnExpensesIncurredInFormationOfEntityOrIncreaseInShareCapital'),
309
+ qname(f'{{{NAMESPACE_FSA}}}ExpensesIncurredInFormationOfEntityOrIncreaseInShareCapital'),
310
+ qname(f'{{{NAMESPACE_FSA}}}RetrospectiveInformationOnContributedCapital'),
311
+ qname(f'{{{NAMESPACE_FSA}}}IncreaseDecreaseOfCapital'),
312
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfTreasurySharesHold'),
313
+ qname(f'{{{NAMESPACE_FSA}}}NumberOfTreasurySharesHold'),
314
+ qname(f'{{{NAMESPACE_FSA}}}NominalValueOfTreasurySharesHold'),
315
+ qname(f'{{{NAMESPACE_FSA}}}AccountingParValueOfTreasurySharesHold'),
316
+ qname(f'{{{NAMESPACE_FSA}}}PercentageOfContributedCapitalOfTreasurySharesHold'),
317
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnTreasurySharesAcquired'),
318
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfTreasurySharesAcquired'),
319
+ qname(f'{{{NAMESPACE_FSA}}}NumberOfTreasurySharesAcquired'),
320
+ qname(f'{{{NAMESPACE_FSA}}}NominalValueOfTreasurySharesAcquired'),
321
+ qname(f'{{{NAMESPACE_FSA}}}AccountingParValueOfTreasurySharesAcquired'),
322
+ qname(f'{{{NAMESPACE_FSA}}}PercentageOfContributedCapitalOfTreasurySharesAcquired'),
323
+ qname(f'{{{NAMESPACE_FSA}}}PurchasePriceOfTreasurySharesAcquired'),
324
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfReasonForAcquisitionOfTreasuryShares'),
325
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnTreasurySharesSold'),
326
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfTreasurySharesSold'),
327
+ qname(f'{{{NAMESPACE_FSA}}}NumberOfTreasurySharesSold'),
328
+ qname(f'{{{NAMESPACE_FSA}}}NominalValueOfTreasurySharesSold'),
329
+ qname(f'{{{NAMESPACE_FSA}}}PercentageOfContributedCapitalOfTreasurySharesSold'),
330
+ qname(f'{{{NAMESPACE_FSA}}}SalesPriceOfTreasurySharesSold'),
331
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnTreasurySharesAcquiredAsSecurity'),
332
+ qname(f'{{{NAMESPACE_FSA}}}DescriptionOfTreasurySharesAcquiredAsSecurity'),
333
+ qname(f'{{{NAMESPACE_FSA}}}NumberOfTreasurySharesAcquiredAsSecurity'),
334
+ qname(f'{{{NAMESPACE_FSA}}}NominalValueOfTreasurySharesAcquiredAsSecurity'),
335
+ qname(f'{{{NAMESPACE_FSA}}}AccountingParValueOfTreasurySharesAcquiredAsSecurity'),
336
+ qname(f'{{{NAMESPACE_FSA}}}PercentageOfContributedCapitalOfTreasurySharesAcquiredAsSecurity'),
337
+ qname(f'{{{NAMESPACE_FSA}}}PurchasePriceOfTreasurySharesAcquiredAsSecurity'),
338
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfReasonForAcquisitionOfTreasurySharesAsSecurity'),
339
+ qname(f'{{{NAMESPACE_FSA}}}ExplanationOfChangeInMinorityInterestsProportionateShareOfSubsidiariesEquity'),
340
+ qname(f'{{{NAMESPACE_FSA}}}DisclosureOfDistributions'),
341
+ qname(f'{{{NAMESPACE_FSA}}}Distributions'),
342
+ qname(f'{{{NAMESPACE_FSA}}}DisclosureOfHedgeFund'),
343
+ qname(f'{{{NAMESPACE_FSA}}}HedgeFund'),
344
+ qname(f'{{{NAMESPACE_FSA}}}DisclosureOfReserveFund'),
345
+ qname(f'{{{NAMESPACE_FSA}}}ReserveFund'),
346
+ qname(f'{{{NAMESPACE_FSA}}}DisclosureOfReservesAvailable'),
347
+ qname(f'{{{NAMESPACE_FSA}}}TransferredToFromReservesAvailable'),
348
+ qname(f'{{{NAMESPACE_FSA}}}DisclosureOfLiquidationAccount'),
349
+ qname(f'{{{NAMESPACE_FSA}}}LiquidationAccount'),
350
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnReserveForEntrepreneurialCompany'),
351
+ qname(f'{{{NAMESPACE_FSA}}}ReserveForEntrepreneurialCompany'),
352
+ qname(f'{{{NAMESPACE_FSA}}}InformationOnChangesAsResultOfApplicationOfUnitingOfInterestsMethod'),
353
+ qname(f'{{{NAMESPACE_FSA}}}IncreaseDecreaseOfReservesThroughApplicationOfUnitingOfInterestsMethodEquity'),
354
+ qname(f'{{{NAMESPACE_FSA}}}DisclosureOfRevaluationReserve'),
355
+ qname(f'{{{NAMESPACE_FSA}}}RevaluationReserve'),
356
+ qname(f'{{{NAMESPACE_FSA}}}AdditionsToRevaluationReserveInReportingPeriod'),
357
+ qname(f'{{{NAMESPACE_FSA}}}ReversalsOfPriorYearsRevaluationsOfRevaluationReserve'),
358
+ qname(f'{{{NAMESPACE_FSA}}}AmortisationOfRevaluationReserveInReportingPeriod'),
359
+ qname(f'{{{NAMESPACE_FSA}}}DisposalsOfRevaluationReserveInReportingPeriod'),
360
+ qname(f'{{{NAMESPACE_FSA}}}RecognitionAndMeasurementOfTheTaxEffectOfTheMovementsInTheRevaluationReserve'),
361
+ qname(f'{{{NAMESPACE_FSA}}}CurrentValueReserve'),
362
+ qname(f'{{{NAMESPACE_FSA}}}AdjustmentsOfCurrentValueReserveGainsLoss'),
363
+ qname(f'{{{NAMESPACE_FSA}}}CurrentValueReserveRealized'),
364
+ qname(f'{{{NAMESPACE_FSA}}}CurrentValueReserveReversed'),
365
+ ]),
366
+ distributionOfResultsQns=frozenset([
367
+ qname(f'{{{NAMESPACE_FSA}}}DistributionsResultDistribution'),
368
+ qname(f'{{{NAMESPACE_FSA}}}ExtraordinaryDistributions'),
369
+ qname(f'{{{NAMESPACE_FSA}}}ProposedDividendRecognisedInEquity'),
370
+ qname(f'{{{NAMESPACE_FSA}}}ProposedExtraordinaryDividendRecognisedInEquity'),
371
+ qname(f'{{{NAMESPACE_FSA}}}ProposedExtraordinaryDividendRecognisedInLiabilities'),
372
+ qname(f'{{{NAMESPACE_FSA}}}TransferredFromToHedgeFund'),
373
+ qname(f'{{{NAMESPACE_FSA}}}TransferredFromToReserveFund'),
374
+ qname(f'{{{NAMESPACE_FSA}}}TransferredFromToReservesAvailable'),
375
+ qname(f'{{{NAMESPACE_FSA}}}TransferredToFromEquityAttributableToParent'),
376
+ qname(f'{{{NAMESPACE_FSA}}}TransferredToFromMinorityInterests'),
377
+ qname(f'{{{NAMESPACE_FSA}}}TransferredToFromOtherStatutoryReserves'),
378
+ qname(f'{{{NAMESPACE_FSA}}}TransferredToFromReserveAccordingToArticlesOfAssociation'),
379
+ qname(f'{{{NAMESPACE_FSA}}}TransferredToFromReserveForNetRevaluationAccordingToEquityMethod'),
380
+ qname(f'{{{NAMESPACE_FSA}}}TransferredToFromReserveForNetRevaluationOfInvestmentAssets'),
381
+ qname(f'{{{NAMESPACE_FSA}}}TransferredToFromRestOfOtherReserves'),
382
+ qname(f'{{{NAMESPACE_FSA}}}TransferredToFromRetainedEarnings'),
383
+ qname(f'{{{NAMESPACE_FSA}}}TransferredToReserveForCurrentValueAdjustmentsOfCurrencyGains'),
384
+ qname(f'{{{NAMESPACE_FSA}}}TransferredToReserveForCurrentValueOfHedging'),
385
+ qname(f'{{{NAMESPACE_FSA}}}TransferredToReserveForDevelopmentExpenditure'),
386
+ qname(f'{{{NAMESPACE_FSA}}}TransferredToReserveForEntrepreneurialCompany'),
387
+ ]),
388
+ employeeBenefitsExpenseQn=qname(f'{{{NAMESPACE_FSA}}}EmployeeBenefitsExpense'),
389
+ equityQn=qname(f'{{{NAMESPACE_FSA}}}Equity'),
390
+ extraordinaryCostsQn=qname(f'{{{NAMESPACE_FSA}}}ExtraordinaryCosts'),
391
+ extraordinaryIncomeQn=qname(f'{{{NAMESPACE_FSA}}}ExtraordinaryIncome'),
392
+ extraordinaryResultBeforeTaxQn=qname(f'{{{NAMESPACE_FSA}}}ExtraordinaryResultBeforeTax'),
393
+ fr37RestrictedText='has not given rise to reservations',
394
+ forbiddenTypeOfSubmittedReportEnumerations=frozenset([
395
+ 'Selskabsselvangivelse',
396
+ 'Erklæring om undtagelse fra aflæggelse årsrapport',
397
+ 'ESG-rapport',
398
+ 'ESG report',
399
+ ]),
400
+ hasNotGivenRiseToReservationsText=frozenset([
401
+ 'har ikke givet anledning til forbehold',
402
+ 'has not given rise to reservations',
403
+ ]),
404
+ identificationNumberCvrOfAuditFirmQn=qname(f'{{{NAMESPACE_CMN}}}IdentificationNumberCvrOfAuditFirm'),
405
+ identificationNumberCvrOfReportingEntityQn=qname(f'{{{NAMESPACE_GSD}}}IdentificationNumberCvrOfReportingEntity'),
406
+ independentAuditorsReportDanish='Den uafhængige revisors erklæringer (review)',
407
+ independentAuditorsReportEnglish='The independent auditor\'s reports (Review)',
408
+ informationOnTypeOfSubmittedReportQn=qname(f'{{{NAMESPACE_GSD}}}InformationOnTypeOfSubmittedReport'),
409
+ legalEntityIdentifierOfReportingEntityQn=qname(f'{{{NAMESPACE_GSD}}}LegalEntityIdentifierOfReportingEntity'),
410
+ liabilitiesQn=qname(f'{{{NAMESPACE_FSA}}}LiabilitiesAndEquity'),
411
+ liabilitiesAndEquityQn=qname(f'{{{NAMESPACE_FSA}}}LiabilitiesAndEquity'),
412
+ liabilitiesOtherThanProvisionsQn=qname(f'{{{NAMESPACE_FSA}}}LiabilitiesOtherThanProvisions'),
413
+ longtermLiabilitiesOtherThanProvisionsQn=qname(f'{{{NAMESPACE_FSA}}}LongtermLiabilitiesOtherThanProvisions'),
414
+ managementEndorsementQns=frozenset([
415
+ qname(f'{{{NAMESPACE_SOB}}}StatementByExecutiveAndSupervisoryBoards'),
416
+ qname(f'{{{NAMESPACE_SOB}}}TheReportingEntityAppliesTheExceptionConcerningOptingOutOfTheStatementByManagementEtc'),
417
+ qname(f'{{{NAMESPACE_SOB}}}IdentificationOfApprovedAnnualReport'),
418
+ qname(f'{{{NAMESPACE_SOB}}}ConfirmationThatAnnualReportIsPresentedInAccordanceWithRequirementsProvidedForByLegislationAnyStandardsAndRequirementsProvidedByArticlesOfAssociationOrByAgreement'),
419
+ qname(f'{{{NAMESPACE_SOB}}}ConfirmationThatFinancialStatementGivesTrueAndFairViewOfAssetsLiabilitiesEquityFinancialPositionAndResults'),
420
+ qname(f'{{{NAMESPACE_SOB}}}ConfirmationThatSupplementaryReportsGiveTrueAndFairViewInAccordanceWithGenerallyAcceptedGuidelinesForSuchReports'),
421
+ qname(f'{{{NAMESPACE_SOB}}}ManagementsStatementAboutManagementsReview'),
422
+ qname(f'{{{NAMESPACE_SOB}}}RecommendationForApprovalOfAnnualReportByGeneralMeeting'),
423
+ qname(f'{{{NAMESPACE_SOB}}}DateOfApprovalOfAnnualReport'),
424
+ qname(f'{{{NAMESPACE_SOB}}}PlaceOfSignatureOfStatement'),
425
+ qname(f'{{{NAMESPACE_CMN}}}NameAndSurnameOfMemberOfExecutiveBoard'),
426
+ qname(f'{{{NAMESPACE_CMN}}}TitleOfMemberOfExecutiveBoard'),
427
+ qname(f'{{{NAMESPACE_CMN}}}DescriptionOfMemberOfExecutiveBoard'),
428
+ qname(f'{{{NAMESPACE_SOB}}}DescriptionOfObjectionsOfMemberOfExecutiveBoardOnAnnualReport'),
429
+ qname(f'{{{NAMESPACE_SOB}}}DescriptionOfSpecificAndAdequateGroundsForObjectionsOfMemberOfExecutiveBoardOnAnnualReport'),
430
+ qname(f'{{{NAMESPACE_CMN}}}NameAndSurnameOfMemberOfSupervisoryBoard'),
431
+ qname(f'{{{NAMESPACE_CMN}}}TitleOfMemberOfSupervisoryBoard'),
432
+ qname(f'{{{NAMESPACE_CMN}}}DescriptionOfMemberOfSupervisoryBoard'),
433
+ qname(f'{{{NAMESPACE_SOB}}}DescriptionOfObjectionsOfMemberOfSupervisoryBoardOnAnnualReport'),
434
+ qname(f'{{{NAMESPACE_SOB}}}DescriptionOfSpecificAndAdequateGroundsForObjectionsOfMemberOfSupervisoryBoardOnAnnualReport'),
435
+ qname(f'{{{NAMESPACE_SOB}}}IdentificationNumberCVRofParticipantNotPartOfTheRegisteredManagementMemberOfSupervisoryBoard'),
436
+ qname(f'{{{NAMESPACE_SOB}}}NameOfEntityParticipantNotPartOfTheRegisteredManagementMemberOfSupervisoryBoard'),
437
+ qname(f'{{{NAMESPACE_SOB}}}DescriptionOfParticipantNotPartOfTheRegisteredManagementMemberOfSupervisoryBoard'),
438
+ qname(f'{{{NAMESPACE_GSD}}}NameAndSurnameOfMemberOfSupervisoryCommittee'),
439
+ qname(f'{{{NAMESPACE_GSD}}}TitleOfMemberOfSupervisoryCommittee'),
440
+ qname(f'{{{NAMESPACE_GSD}}}DescriptionOfMemberOfSupervisoryCommittee'),
441
+ qname(f'{{{NAMESPACE_GSD}}}NameAndSurnameOfMemberOfSupervisoryCommittee'),
442
+ qname(f'{{{NAMESPACE_GSD}}}TitleOfMemberOfSupervisoryCommittee'),
443
+ qname(f'{{{NAMESPACE_CMN}}}NameAndSurnameOfLiquidator'),
444
+ qname(f'{{{NAMESPACE_CMN}}}TitleOfLiquidator'),
445
+ qname(f'{{{NAMESPACE_CMN}}}DescriptionOfLikvidator'),
446
+ qname(f'{{{NAMESPACE_SOB}}}DescriptionOfObjectionsOfLiquidatorOnAnnualReport'),
447
+ qname(f'{{{NAMESPACE_SOB}}}DescriptionOfSpecificAndAdequateGroundsForObjectionsOfLiquidatorOnAnnualReport'),
448
+ ]),
449
+ noncurrentAssetsQn=qname(f'{{{NAMESPACE_FSA}}}NoncurrentAssets'),
450
+ nameAndSurnameOfChairmanOfGeneralMeetingQn=qname(f'{{{NAMESPACE_GSD}}}NameAndSurnameOfChairmanOfGeneralMeeting'),
451
+ nameOfAuditFirmQn=qname(f'{{{NAMESPACE_CMN}}}NameOfAuditFirm'),
452
+ nameOfReportingEntityQn=qname(f'{{{NAMESPACE_GSD}}}NameOfReportingEntity'),
453
+ nameOfSubmittingEnterpriseQn=qname(f'{{{NAMESPACE_GSD}}}NameOfSubmittingEnterprise'),
454
+ otherEmployeeExpenseQn=qname(f'{{{NAMESPACE_FSA}}}OtherEmployeeExpense'),
455
+ positiveProfitThreshold=1000,
456
+ postemploymentBenefitExpenseQn=qname(f'{{{NAMESPACE_FSA}}}PostemploymentBenefitExpense'),
457
+ precedingReportingPeriodEndDateQn=qname(f'{{{NAMESPACE_GSD}}}PredingReportingPeriodEndDate'), # Typo in taxonomy
458
+ precedingReportingPeriodStartDateQn=qname(f'{{{NAMESPACE_GSD}}}PrecedingReportingPeriodStartDate'),
459
+ profitLossQn=qname(f'{{{NAMESPACE_FSA}}}ProfitLoss'),
460
+ proposedDividendRecognisedInEquityQn=qname(f'{{{NAMESPACE_FSA}}}ProposedDividendRecognisedInEquity'),
461
+ proposedExtraordinaryDividendRecognisedInLiabilitiesQn=qname(f'{{{NAMESPACE_FSA}}}ProposedExtraordinaryDividendRecognisedInLiabilities'),
462
+ provisionsQn=qname(f'{{{NAMESPACE_FSA}}}Provisions'),
463
+ registeredReportingPeriodDeviatingFromReportedReportingPeriodDueArbitraryDatesMemberQn=qname(f'{{{NAMESPACE_GSD}}}RegisteredReportingPeriodDeviatingFromReportedReportingPeriodDueArbitraryDatesMember'),
464
+ reportingClassCLargeDanish='Regnskabsklasse C, stor virksomhed',
465
+ reportingClassCLargeEnglish='Reporting class C, large enterprise',
466
+ reportingClassCMediumDanish='Regnskabsklasse C, mellemstor virksomhed',
467
+ reportingClassCMediumEnglish='Reporting class C, medium-sized enterprise',
468
+ reportingClassDDanish='Regnskabsklasse D',
469
+ reportingClassDEnglish='Reporting class D',
470
+ reportingPeriodEndDateQn=qname(f'{{{NAMESPACE_GSD}}}ReportingPeriodEndDate'),
471
+ reportingPeriodStartDateQn=qname(f'{{{NAMESPACE_GSD}}}ReportingPeriodStartDate'),
472
+ reportingResponsibilitiesOnApprovedAuditorsReportAuditQn=qname(f'{{{NAMESPACE_ARR}}}ReportingResponsibilitiesAccordingToTheDanishExecutiveOrderOnApprovedAuditorsReportsAudit'),
473
+ reportingResponsibilitiesOnApprovedAuditorsReportsExtendedReviewQn=qname(f'{{{NAMESPACE_ARR}}}ReportingResponsibilitiesAccordingToTheDanishExecutiveOrderOnApprovedAuditorsReportsExtendedReview'),
474
+ reportingObligationQns = frozenset([
475
+ qname(f'{{{NAMESPACE_ARR}}}ReportingResponsibilitiesAccordingToTheDanishExecutiveOrderOnApprovedAuditorsReportsEspeciallyTheCriminalCodeAndFiscalTaxAndSubsidyLegislationExtendedReview'),
476
+ qname(f'{{{NAMESPACE_ARR}}}ReportingResponsibilitiesAccordingToTheDanishExecutiveOrderOnApprovedAuditorsReportsEspeciallyTheCompaniesActOrEquivalentLegislationThatTheCompanyIsSubjectToExtendedReview'),
477
+ qname(f'{{{NAMESPACE_ARR}}}ReportingResponsibilitiesAccordingToTheDanishExecutiveOrderOnApprovedAuditorsReportsEspeciallyLegislationOnFinancialReportingInApplication'),
478
+ ]),
479
+ schemaRefUri='http://archprod.service.eogs.dk/taxonomy/',
480
+ selectedElementsFromReportingClassCQn=qname(f'{{{NAMESPACE_FSA}}}SelectedElementsFromReportingClassC'),
481
+ selectedElementsFromReportingClassDQn=qname(f'{{{NAMESPACE_FSA}}}SelectedElementsFromReportingClassD'),
482
+ shorttermLiabilitiesOtherThanProvisionsQn=qname(f'{{{NAMESPACE_FSA}}}ShorttermLiabilitiesOtherThanProvisions'),
483
+ signatureOfAuditorsDateQn=qname(f'{{{NAMESPACE_ARR}}}SignatureOfAuditorsDate'),
484
+ soloMemberQn=qname(f'{{{NAMESPACE_CMN}}}SoloMember'),
485
+ statementOfChangesInEquityQns=frozenset([
486
+ qname(f'{{{NAMESPACE_FSA}}}Equity'),
487
+ qname(f'{{{NAMESPACE_FSA}}}IncreaseDecreaseOfEquityThroughCorrectionsOfErrors'),
488
+ qname(f'{{{NAMESPACE_FSA}}}IncreaseDecreaseOfEquityThroughChangesInAccountingPolicies'),
489
+ qname(f'{{{NAMESPACE_FSA}}}AdditionsToDisposalsOfEquityThroughMergersAndBusinessCombinations'),
490
+ qname(f'{{{NAMESPACE_FSA}}}IncreaseDecreaseOfEquityByDivisionAndSaleOfOtherCompany'),
491
+ qname(f'{{{NAMESPACE_FSA}}}IncreaseOfCapital'),
492
+ qname(f'{{{NAMESPACE_FSA}}}IncreaseOfCapitalByConversionOfDebt'),
493
+ qname(f'{{{NAMESPACE_FSA}}}DecreaseOfCapital'),
494
+ qname(f'{{{NAMESPACE_FSA}}}DecreaseOfCapitalDueToDeficitCoverage'),
495
+ qname(f'{{{NAMESPACE_FSA}}}BonusShares'),
496
+ qname(f'{{{NAMESPACE_FSA}}}CostRelatedToIncreaseOfCapital'),
497
+ qname(f'{{{NAMESPACE_FSA}}}PurchaseOfTreasuryShares'),
498
+ qname(f'{{{NAMESPACE_FSA}}}SalesOfTreasuryShares'),
499
+ qname(f'{{{NAMESPACE_FSA}}}PurchaseOfMinorityShares'),
500
+ qname(f'{{{NAMESPACE_FSA}}}SaleOfMinorityShares'),
501
+ qname(f'{{{NAMESPACE_FSA}}}Dividend'),
502
+ qname(f'{{{NAMESPACE_FSA}}}DividendPaid'),
503
+ qname(f'{{{NAMESPACE_FSA}}}DistributionsStatementOfChangesInEquity'),
504
+ qname(f'{{{NAMESPACE_FSA}}}ExtraordinaryDistributionsStatementOfChangesInEquity'),
505
+ qname(f'{{{NAMESPACE_FSA}}}IncreaseDecreaseOfInvestmentsThroughNetExchangeDifferencesEquity'),
506
+ qname(f'{{{NAMESPACE_FSA}}}ValueAdjustmentsOfEquity'),
507
+ qname(f'{{{NAMESPACE_FSA}}}AdjustmentsOfHedgingInstruments'),
508
+ qname(f'{{{NAMESPACE_FSA}}}OtherAdjustmentsOfEquity'),
509
+ qname(f'{{{NAMESPACE_FSA}}}EquityTransfersToReserves'),
510
+ qname(f'{{{NAMESPACE_FSA}}}ProfitLoss'),
511
+ qname(f'{{{NAMESPACE_FSA}}}ChangesInEquityOfTax'),
512
+ qname(f'{{{NAMESPACE_FSA}}}ExtraordinaryDividendPaid'),
513
+ qname(f'{{{NAMESPACE_FSA}}}DividendsFromTreasuryShares'),
514
+ qname(f'{{{NAMESPACE_FSA}}}ReceivablesShareCapitalPaid'),
515
+ qname(f'{{{NAMESPACE_FSA}}}Revaluations'),
516
+ qname(f'{{{NAMESPACE_FSA}}}DepreciationOfEquity'),
517
+ qname(f'{{{NAMESPACE_FSA}}}RevaluationsOfActuarialProfitLossForReportingPeriod'),
518
+ qname(f'{{{NAMESPACE_FSA}}}ImpairmentLossesAndDepreciationOfActuarialGainsLossesStatementOfChangesInEquity'),
519
+ qname(f'{{{NAMESPACE_FSA}}}DissolutionOfPreviousYearsRevaluations'),
520
+ qname(f'{{{NAMESPACE_FSA}}}DissolutionOfFairValueReserve'),
521
+ qname(f'{{{NAMESPACE_FSA}}}DissolutionOfReserves'),
522
+ qname(f'{{{NAMESPACE_FSA}}}AdjustmentsOfHedgingInstrumentsAtFairValue'),
523
+ qname(f'{{{NAMESPACE_FSA}}}AdjustmentsOfCollateralsBySaleOfInvestments'),
524
+ qname(f'{{{NAMESPACE_FSA}}}TransferredFromSharePremium'),
525
+ qname(f'{{{NAMESPACE_FSA}}}TransferToCoverageOfLosses'),
526
+ qname(f'{{{NAMESPACE_FSA}}}ProfitLlossFromGroupEnterprises'),
527
+ qname(f'{{{NAMESPACE_FSA}}}ProfitLossFromAssociates'),
528
+ qname(f'{{{NAMESPACE_FSA}}}ProfitLossFromParticipatingInterests'),
529
+ qname(f'{{{NAMESPACE_FSA}}}ReversedRevaluationsDuringReportingPeriod'),
530
+ qname(f'{{{NAMESPACE_FSA}}}DistributedDividendsFromGroupEnterprises'),
531
+ qname(f'{{{NAMESPACE_FSA}}}DistributedDividendsFromAssociates'),
532
+ qname(f'{{{NAMESPACE_FSA}}}DistributedDividendsFromParticipatingInterests'),
533
+ qname(f'{{{NAMESPACE_FSA}}}CashPaymentsConcerningFormationOfEntity'),
534
+ qname(f'{{{NAMESPACE_FSA}}}ContributionFromGroup'),
535
+ qname(f'{{{NAMESPACE_FSA}}} IncreaseDecreaseOfReservesThroughApplicationOfUnitingOfInterestsMethodEquity')
536
+ ]),
537
+ taxExpenseOnOrdinaryActivitiesQn=qname(f'{{{NAMESPACE_FSA}}}TaxExpenseOnOrdinaryActivities'),
538
+ taxExpenseQn=qname(f'{{{NAMESPACE_FSA}}}TaxExpense'),
539
+ typeOfAuditorAssistanceDanish='Revisionspåtegning',
540
+ typeOfAuditorAssistanceEnglish='Auditor\'s report on audited financial statements',
541
+ typeOfAuditorAssistanceQn=qname(f'{{{NAMESPACE_CMN}}}TypeOfAuditorAssistance'),
542
+ typeOfBasisForModifiedOpinionOnFinancialStatementsReviewQn=qname(f'{{{NAMESPACE_ARR}}}TypeOfBasisForModifiedOpinionOnFinancialStatementsReview'),
543
+ typeOfReportingPeriodDimensionQn=qname(f'{{{NAMESPACE_GSD}}}TypeOfReportingPeriodDimension'),
544
+ wagesAndSalariesQn=qname(f'{{{NAMESPACE_FSA}}}WagesAndSalaries'),
545
+ )
@@ -0,0 +1,49 @@
1
+ """
2
+ See COPYRIGHT.md for copyright information.
3
+
4
+ Filer Manual Guidelines: https://danishbusinessauthority.dk/sites/default/files/2023-10/xbrl-taxonomy-framework-architecture-01102015_wa.pdf
5
+ """
6
+ from __future__ import annotations
7
+
8
+ from pathlib import Path
9
+ from typing import Any
10
+
11
+ from arelle.Version import authorLabel, copyrightLabel
12
+ from .ValidationPluginExtension import ValidationPluginExtension
13
+ from .rules import fr, tc, th, tm, tr
14
+
15
+ PLUGIN_NAME = "Validate DBA"
16
+ DISCLOSURE_SYSTEM_VALIDATION_TYPE = "DBA"
17
+
18
+
19
+ validationPlugin = ValidationPluginExtension(
20
+ name=PLUGIN_NAME,
21
+ disclosureSystemConfigUrl=Path(__file__).parent / "resources" / "config.xml",
22
+ validationTypes=[DISCLOSURE_SYSTEM_VALIDATION_TYPE],
23
+ validationRuleModules=[fr, tc, th, tm, tr],
24
+ )
25
+
26
+
27
+ def disclosureSystemTypes(*args: Any, **kwargs: Any) -> tuple[tuple[str, str], ...]:
28
+ return validationPlugin.disclosureSystemTypes
29
+
30
+
31
+ def disclosureSystemConfigURL(*args: Any, **kwargs: Any) -> str:
32
+ return validationPlugin.disclosureSystemConfigURL
33
+
34
+
35
+ def validateXbrlFinally(*args: Any, **kwargs: Any) -> None:
36
+ return validationPlugin.validateXbrlFinally(*args, **kwargs)
37
+
38
+
39
+ __pluginInfo__ = {
40
+ "name": PLUGIN_NAME,
41
+ "version": "0.0.1",
42
+ "description": "Validation plugin for DBA (Danish Business Authority) taxonomies.",
43
+ "license": "Apache-2",
44
+ "author": authorLabel,
45
+ "copyright": copyrightLabel,
46
+ "DisclosureSystem.Types": disclosureSystemTypes,
47
+ "DisclosureSystem.ConfigURL": disclosureSystemConfigURL,
48
+ "Validate.XBRL.Finally": validateXbrlFinally,
49
+ }
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <DisclosureSystems
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:noNamespaceSchemaLocation="../../../../config/disclosuresystems.xsd">
5
+ <!-- see arelle/config/disclosuresystems.xml for full comments -->
6
+ <DisclosureSystem
7
+ names="arl-2022-preview"
8
+ description="Validates rules for ÅRL (Årsregnskabsloven), Danish Financial Statements Act"
9
+ validationType="DBA"
10
+ />
11
+ <DisclosureSystem
12
+ names="arl-2024-preview"
13
+ description="Validates rules for ÅRL (Årsregnskabsloven), Danish Financial Statements Act"
14
+ validationType="DBA"
15
+ />
16
+ <DisclosureSystem
17
+ names="arl-2024-multi-target-preview"
18
+ description="Checks for 2024 multi-target rules"
19
+ validationType="DBA"
20
+ />
21
+ </DisclosureSystems>