arelle-release 2.37.49__tar.gz → 2.37.50__tar.gz

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

Potentially problematic release.


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

Files changed (698) hide show
  1. {arelle_release-2.37.49 → arelle_release-2.37.50}/CONTRIBUTING.md +2 -2
  2. {arelle_release-2.37.49 → arelle_release-2.37.50}/PKG-INFO +20 -18
  3. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelDocument.py +16 -14
  4. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelInstanceObject.py +1 -1
  5. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelXbrl.py +21 -10
  6. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/WebCache.py +26 -16
  7. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/_version.py +2 -2
  8. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/api/Session.py +5 -2
  9. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/DBA/PluginValidationDataExtension.py +0 -1
  10. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/Constants.py +9 -0
  11. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/PluginValidationDataExtension.py +11 -4
  12. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/rules/contexts.py +4 -2
  13. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/rules/edinet.py +22 -0
  14. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/rules/gfm.py +10 -6
  15. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ESEF/ESEF_2021/ValidateXbrlFinally.py +2 -2
  16. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ESEF/ESEF_Current/ValidateXbrlFinally.py +2 -2
  17. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/NL/PluginValidationDataExtension.py +1 -1
  18. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/NL/rules/fr_nl.py +6 -7
  19. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/UK/ValidateUK.py +31 -66
  20. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle_release.egg-info/PKG-INFO +20 -18
  21. arelle_release-2.37.50/arelle_release.egg-info/requires.txt +44 -0
  22. {arelle_release-2.37.49 → arelle_release-2.37.50}/pyproject.toml +21 -18
  23. arelle_release-2.37.49/arelle_release.egg-info/requires.txt +0 -41
  24. {arelle_release-2.37.49 → arelle_release-2.37.50}/.gitignore +0 -0
  25. {arelle_release-2.37.49 → arelle_release-2.37.50}/COPYRIGHT.md +0 -0
  26. {arelle_release-2.37.49 → arelle_release-2.37.50}/LICENSE.md +0 -0
  27. {arelle_release-2.37.49 → arelle_release-2.37.50}/MANIFEST.in +0 -0
  28. {arelle_release-2.37.49 → arelle_release-2.37.50}/README.md +0 -0
  29. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/Aspect.py +0 -0
  30. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/BetaFeatures.py +0 -0
  31. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/Cntlr.py +0 -0
  32. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/CntlrCmdLine.py +0 -0
  33. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/CntlrComServer.py +0 -0
  34. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/CntlrProfiler.py +0 -0
  35. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/CntlrQuickBooks.py +0 -0
  36. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/CntlrWebMain.py +0 -0
  37. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/CntlrWinMain.py +0 -0
  38. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/CntlrWinTooltip.py +0 -0
  39. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/DialogAbout.py +0 -0
  40. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/DialogArcroleGroup.py +0 -0
  41. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/DialogFind.py +0 -0
  42. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/DialogFormulaParameters.py +0 -0
  43. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/DialogLanguage.py +0 -0
  44. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/DialogNewFactItem.py +0 -0
  45. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/DialogOpenArchive.py +0 -0
  46. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/DialogPackageManager.py +0 -0
  47. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/DialogPluginManager.py +0 -0
  48. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/DialogRssWatch.py +0 -0
  49. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/DialogURL.py +0 -0
  50. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/DialogUserPassword.py +0 -0
  51. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/DisclosureSystem.py +0 -0
  52. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ErrorManager.py +0 -0
  53. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/FileSource.py +0 -0
  54. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/FunctionCustom.py +0 -0
  55. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/FunctionFn.py +0 -0
  56. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/FunctionIxt.py +0 -0
  57. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/FunctionUtil.py +0 -0
  58. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/FunctionXfi.py +0 -0
  59. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/FunctionXs.py +0 -0
  60. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/HashUtil.py +0 -0
  61. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/HtmlUtil.py +0 -0
  62. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/InstanceAspectsEvaluator.py +0 -0
  63. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/LeiUtil.py +0 -0
  64. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/LinkbaseType.py +0 -0
  65. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/LocalViewer.py +0 -0
  66. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/Locale.py +0 -0
  67. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelDtsObject.py +0 -0
  68. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelFormulaObject.py +0 -0
  69. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelManager.py +0 -0
  70. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelObject.py +0 -0
  71. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelObjectFactory.py +0 -0
  72. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelRelationshipSet.py +0 -0
  73. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelRenderingObject.py +0 -0
  74. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelRssItem.py +0 -0
  75. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelRssObject.py +0 -0
  76. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelTestcaseObject.py +0 -0
  77. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelValue.py +0 -0
  78. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelVersObject.py +0 -0
  79. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ModelVersReport.py +0 -0
  80. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/PackageManager.py +0 -0
  81. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/PluginManager.py +0 -0
  82. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/PluginUtils.py +0 -0
  83. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/PrototypeDtsObject.py +0 -0
  84. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/PrototypeInstanceObject.py +0 -0
  85. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/PythonUtil.py +0 -0
  86. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/RuntimeOptions.py +0 -0
  87. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/SocketUtils.py +0 -0
  88. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/SystemInfo.py +0 -0
  89. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/TableStructure.py +0 -0
  90. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/TkTableWrapper.py +0 -0
  91. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/UITkTable.py +0 -0
  92. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/UiUtil.py +0 -0
  93. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/Updater.py +0 -0
  94. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/UrlUtil.py +0 -0
  95. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/Validate.py +0 -0
  96. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ValidateDuplicateFacts.py +0 -0
  97. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ValidateFilingText.py +0 -0
  98. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ValidateInfoset.py +0 -0
  99. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ValidateUtr.py +0 -0
  100. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ValidateVersReport.py +0 -0
  101. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ValidateXbrl.py +0 -0
  102. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ValidateXbrlCalcs.py +0 -0
  103. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ValidateXbrlDTS.py +0 -0
  104. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ValidateXbrlDimensions.py +0 -0
  105. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/Version.py +0 -0
  106. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewFile.py +0 -0
  107. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewFileConcepts.py +0 -0
  108. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewFileDTS.py +0 -0
  109. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewFileFactList.py +0 -0
  110. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewFileFactTable.py +0 -0
  111. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewFileFormulae.py +0 -0
  112. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewFileRelationshipSet.py +0 -0
  113. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewFileRenderedGrid.py +0 -0
  114. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewFileRenderedLayout.py +0 -0
  115. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewFileRenderedStructure.py +0 -0
  116. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewFileRoleTypes.py +0 -0
  117. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewFileRssFeed.py +0 -0
  118. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewFileTests.py +0 -0
  119. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewUtil.py +0 -0
  120. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewUtilFormulae.py +0 -0
  121. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinConcepts.py +0 -0
  122. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinDTS.py +0 -0
  123. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinDiffs.py +0 -0
  124. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinFactGrid.py +0 -0
  125. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinFactList.py +0 -0
  126. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinFactTable.py +0 -0
  127. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinFormulae.py +0 -0
  128. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinGrid.py +0 -0
  129. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinList.py +0 -0
  130. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinPane.py +0 -0
  131. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinProperties.py +0 -0
  132. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinRelationshipSet.py +0 -0
  133. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinRenderedGrid.py +0 -0
  134. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinRoleTypes.py +0 -0
  135. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinRssFeed.py +0 -0
  136. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinTests.py +0 -0
  137. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinTkTable.py +0 -0
  138. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinTree.py +0 -0
  139. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinTupleGrid.py +0 -0
  140. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinVersReport.py +0 -0
  141. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/ViewWinXml.py +0 -0
  142. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/WatchRss.py +0 -0
  143. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/XbrlConst.py +0 -0
  144. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/XbrlUtil.py +0 -0
  145. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/XhtmlValidate.py +0 -0
  146. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/XmlUtil.py +0 -0
  147. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/XmlValidate.py +0 -0
  148. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/XmlValidateConst.py +0 -0
  149. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/XmlValidateParticles.py +0 -0
  150. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/XmlValidateSchema.py +0 -0
  151. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/__init__.py +0 -0
  152. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/creationSoftwareNames.json +0 -0
  153. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/disclosuresystems.xml +0 -0
  154. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/disclosuresystems.xsd +0 -0
  155. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/edbody.dtd +0 -0
  156. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/empty-instance.xml +0 -0
  157. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/erxl.xsd +0 -0
  158. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/mappings.xml +0 -0
  159. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/mappings.xsd +0 -0
  160. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/sbr-text-formatting.xsd +0 -0
  161. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/xbrlschemafiles.xml +0 -0
  162. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/xhtml-lat1.ent +0 -0
  163. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/xhtml-special.ent +0 -0
  164. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/xhtml-symbol.ent +0 -0
  165. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/xhtml1-strict-ix.dtd +0 -0
  166. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/config/xhtml1_1-strict-ix.dtd +0 -0
  167. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/conformance/CSVTestcaseLoader.py +0 -0
  168. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/doc/messagesCatalog.xml +0 -0
  169. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/doc/messagesCatalog.xsd +0 -0
  170. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/formula/FactAspectsCache.py +0 -0
  171. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/formula/FormulaConsisAsser.py +0 -0
  172. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/formula/FormulaEvaluator.py +0 -0
  173. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/formula/ValidateFormula.py +0 -0
  174. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/formula/XPathContext.py +0 -0
  175. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/formula/XPathParser.py +0 -0
  176. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/formula/__init__.py +0 -0
  177. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/arelle-full-word.ico +0 -0
  178. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/arelle-mac-icon-4.gif +0 -0
  179. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/arelle-rtd.png +0 -0
  180. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/arelle-word-only.ico +0 -0
  181. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/arelle.gif +0 -0
  182. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/arelle.icns +0 -0
  183. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/arelle.icns.zip +0 -0
  184. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/arelle.ico +0 -0
  185. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/arelle.xbm +0 -0
  186. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/arelle128.psd +0 -0
  187. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/arelle16.psd +0 -0
  188. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/arelle16x16and32x32.ico +0 -0
  189. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/arelle32.gif +0 -0
  190. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/columnSortDown.gif +0 -0
  191. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/columnSortUp.gif +0 -0
  192. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/dmg_background.png +0 -0
  193. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/favicon.ico +0 -0
  194. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/octocat.png +0 -0
  195. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/python-clear.png +0 -0
  196. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/python-icon-pack-crystalxp.net-842.zip +0 -0
  197. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarClose.gif +0 -0
  198. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarCompare.gif +0 -0
  199. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarDelete.gif +0 -0
  200. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarFindMenu.gif +0 -0
  201. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarLogClear - 1-piece-top.gif +0 -0
  202. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarLogClear-orig.gif +0 -0
  203. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarLogClear.gif +0 -0
  204. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarNewFile.gif +0 -0
  205. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarOpenDatabase.gif +0 -0
  206. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarOpenFile.gif +0 -0
  207. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarOpenWeb.gif +0 -0
  208. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarProperties.gif +0 -0
  209. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarQuit.gif +0 -0
  210. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarReopen.gif +0 -0
  211. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarSaveFile.gif +0 -0
  212. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/toolbarValidate.gif +0 -0
  213. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/xbrl.gif +0 -0
  214. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/xbrl.psd +0 -0
  215. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/xbrl128-2.gif +0 -0
  216. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/xbrl128.gif +0 -0
  217. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/xbrl16.ico +0 -0
  218. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/images/xbrl32.ico +0 -0
  219. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/locale/ar_EG/LC_MESSAGES/ar_EG.po +0 -0
  220. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/locale/ar_EG/LC_MESSAGES/arelle.mo +0 -0
  221. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/locale/es/LC_MESSAGES/arelle.mo +0 -0
  222. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/locale/fr/LC_MESSAGES/arelle.mo +0 -0
  223. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/locale/fr/LC_MESSAGES/fr.po +0 -0
  224. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/locale/messages.mo +0 -0
  225. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/locale/messages.pot +0 -0
  226. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/locale/ru/LC_MESSAGES/arelle.mo +0 -0
  227. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/locale/ru/LC_MESSAGES/ru.po +0 -0
  228. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/logging/formatters/LogFormatter.py +0 -0
  229. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/logging/handlers/LogHandlerWithXml.py +0 -0
  230. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/logging/handlers/LogToBufferHandler.py +0 -0
  231. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/logging/handlers/LogToPrintHandler.py +0 -0
  232. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/logging/handlers/LogToXmlHandler.py +0 -0
  233. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/logging/handlers/StructuredMessageLogHandler.py +0 -0
  234. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/model/CommentBase.py +0 -0
  235. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/model/ElementBase.py +0 -0
  236. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/model/PIBase.py +0 -0
  237. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/model/__init__.py +0 -0
  238. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/oim/Load.py +0 -0
  239. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/oim/Validate.py +0 -0
  240. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/oim/xml/Save.py +0 -0
  241. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/packages/PackageConst.py +0 -0
  242. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/packages/PackageType.py +0 -0
  243. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/packages/PackageUtils.py +0 -0
  244. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/packages/PackageValidation.py +0 -0
  245. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/packages/report/DetectReportPackage.py +0 -0
  246. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/packages/report/ReportPackage.py +0 -0
  247. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/packages/report/ReportPackageConst.py +0 -0
  248. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/packages/report/ReportPackageValidator.py +0 -0
  249. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/CacheBuilder.py +0 -0
  250. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/EdgarRendererAllReports.py +0 -0
  251. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/ModelValueMore.py +0 -0
  252. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/ValidateDTS.py +0 -0
  253. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/ViewXbrlTxmyObj.py +0 -0
  254. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlAbstract.py +0 -0
  255. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlConcept.py +0 -0
  256. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlConst.py +0 -0
  257. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlCube.py +0 -0
  258. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlDimension.py +0 -0
  259. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlDts.py +0 -0
  260. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlEntity.py +0 -0
  261. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlGroup.py +0 -0
  262. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlImportedTaxonomy.py +0 -0
  263. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlLabel.py +0 -0
  264. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlNetwork.py +0 -0
  265. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlProperty.py +0 -0
  266. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlReference.py +0 -0
  267. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlReport.py +0 -0
  268. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlTableTemplate.py +0 -0
  269. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlTaxonomy.py +0 -0
  270. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlTaxonomyObject.py +0 -0
  271. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlTransform.py +0 -0
  272. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlTypes.py +0 -0
  273. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/XbrlUnit.py +0 -0
  274. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/__init__.py +0 -0
  275. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/resources/iso4217.json +0 -0
  276. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/resources/oim-taxonomy-schema.json +0 -0
  277. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/resources/ref.json +0 -0
  278. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/resources/transform-types.json +0 -0
  279. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/resources/types.json +0 -0
  280. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/resources/utr.json +0 -0
  281. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/OimTaxonomy/resources/xbrlSpec.json +0 -0
  282. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/SECCorrespondenceLoader.py +0 -0
  283. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/TDnetLoader.py +0 -0
  284. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/UKCompaniesHouseLoader.py +0 -0
  285. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/formulaLoader.py +0 -0
  286. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/formulaSaver.py +0 -0
  287. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/formulaXPathChecker.py +0 -0
  288. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/functionsMath.py +0 -0
  289. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/inlineXbrlDocumentSet.py +0 -0
  290. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/internet/proxyNTLM/HTTPNtlmAuthHandler.py +0 -0
  291. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/internet/proxyNTLM/U32.py +0 -0
  292. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/internet/proxyNTLM/__init__.py +0 -0
  293. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/internet/proxyNTLM/des.py +0 -0
  294. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/internet/proxyNTLM/des_c.py +0 -0
  295. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/internet/proxyNTLM/des_data.py +0 -0
  296. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/internet/proxyNTLM/lgpl-3.0-standalone.html +0 -0
  297. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/internet/proxyNTLM/ntlm.py +0 -0
  298. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/loadFromExcel.py +0 -0
  299. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/loadFromOIM.py +0 -0
  300. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/logging/dpmSignature.py +0 -0
  301. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/logging/dqcParameters.py +0 -0
  302. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/logging/saveMessages.py +0 -0
  303. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/profileCmdLine.py +0 -0
  304. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/profileFormula.py +0 -0
  305. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/saveCHComponentFile.py +0 -0
  306. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/saveDTS.py +0 -0
  307. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/saveHtmlEBAtables.py +0 -0
  308. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/saveLoadableExcel.py +0 -0
  309. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/saveLoadableOIM.py +0 -0
  310. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/saveOIMTaxonomy.py +0 -0
  311. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/saveSKOS.py +0 -0
  312. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/saveSampleInstance.py +0 -0
  313. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/security/cryptAES_CBC.py +0 -0
  314. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/security/cryptAES_EAX.py +0 -0
  315. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/streamingExtensions.py +0 -0
  316. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/systemInfo.py +0 -0
  317. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/transforms/tester.py +0 -0
  318. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/unpackSecEisFile.py +0 -0
  319. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/CIPC/Const.py +0 -0
  320. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/CIPC/__init__.py +0 -0
  321. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/CIPC/config.xml +0 -0
  322. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/DBA/DisclosureSystems.py +0 -0
  323. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/DBA/ValidationPluginExtension.py +0 -0
  324. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/DBA/__init__.py +0 -0
  325. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/DBA/resources/config.xml +0 -0
  326. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/DBA/rules/__init__.py +0 -0
  327. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/DBA/rules/fr.py +0 -0
  328. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/DBA/rules/tc.py +0 -0
  329. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/DBA/rules/th.py +0 -0
  330. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/DBA/rules/tm.py +0 -0
  331. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/DBA/rules/tr.py +0 -0
  332. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EBA/__init__.py +0 -0
  333. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EBA/config.xml +0 -0
  334. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/ControllerPluginData.py +0 -0
  335. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/DisclosureSystems.py +0 -0
  336. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/InstanceType.py +0 -0
  337. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/ManifestInstance.py +0 -0
  338. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/Statement.py +0 -0
  339. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/UploadContents.py +0 -0
  340. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/ValidationPluginExtension.py +0 -0
  341. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/__init__.py +0 -0
  342. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/resources/config.xml +0 -0
  343. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/resources/edinet-taxonomies.xml +0 -0
  344. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/rules/__init__.py +0 -0
  345. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/rules/frta.py +0 -0
  346. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/rules/manifests.py +0 -0
  347. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/EDINET/rules/upload.py +0 -0
  348. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ESEF/Const.py +0 -0
  349. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ESEF/Dimensions.py +0 -0
  350. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ESEF/ESEF_2021/DTS.py +0 -0
  351. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ESEF/ESEF_2021/Image.py +0 -0
  352. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ESEF/ESEF_2021/__init__.py +0 -0
  353. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ESEF/ESEF_Current/DTS.py +0 -0
  354. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ESEF/ESEF_Current/__init__.py +0 -0
  355. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ESEF/Util.py +0 -0
  356. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ESEF/__init__.py +0 -0
  357. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ESEF/resources/authority-validations.json +0 -0
  358. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ESEF/resources/config.xml +0 -0
  359. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/FERC/__init__.py +0 -0
  360. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/FERC/config.xml +0 -0
  361. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/FERC/resources/ferc-utr.xml +0 -0
  362. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/NL/DisclosureSystems.py +0 -0
  363. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/NL/ValidationPluginExtension.py +0 -0
  364. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/NL/__init__.py +0 -0
  365. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/NL/resources/config.xml +0 -0
  366. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/NL/rules/__init__.py +0 -0
  367. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/NL/rules/br_kvk.py +0 -0
  368. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/NL/rules/fg_nl.py +0 -0
  369. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/NL/rules/fr_kvk.py +0 -0
  370. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/NL/rules/nl_kvk.py +0 -0
  371. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ROS/DisclosureSystems.py +0 -0
  372. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ROS/PluginValidationDataExtension.py +0 -0
  373. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ROS/ValidationPluginExtension.py +0 -0
  374. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ROS/__init__.py +0 -0
  375. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ROS/config.xml +0 -0
  376. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ROS/resources/config.xml +0 -0
  377. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ROS/rules/__init__.py +0 -0
  378. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/ROS/rules/ros.py +0 -0
  379. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/UK/__init__.py +0 -0
  380. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/UK/config.xml +0 -0
  381. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/UK/consistencyChecksByName.json +0 -0
  382. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/validate/UK/hmrc-taxonomies.xml +0 -0
  383. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/DialogRssWatchExtender.py +0 -0
  384. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/SqlDb.py +0 -0
  385. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/XbrlDpmSqlDB.py +0 -0
  386. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/XbrlOpenSqlDB.py +0 -0
  387. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/XbrlPublicPostgresDB.py +0 -0
  388. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/XbrlSemanticGraphDB.py +0 -0
  389. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/XbrlSemanticJsonDB.py +0 -0
  390. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/XbrlSemanticRdfDB.py +0 -0
  391. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/XbrlSemanticSqlDB.py +0 -0
  392. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/__init__.py +0 -0
  393. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/entityInformation.py +0 -0
  394. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/ext/china.py +0 -0
  395. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/ext/edgar.py +0 -0
  396. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/ext/xdc.py +0 -0
  397. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/primaryDocumentFacts.py +0 -0
  398. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/sql/open/ext/chinaPostgresDB.ddl +0 -0
  399. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/sql/open/ext/edgarPostgresDB.ddl +0 -0
  400. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/sql/open/ext/xdcPostgresDB.ddl +0 -0
  401. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/sql/open/xbrlOpenPostgresDB.ddl +0 -0
  402. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/sql/open2/xbrlOpen2PostgresDB.ddl +0 -0
  403. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/sql/public/xbrlPublicPostgresDB.ddl +0 -0
  404. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/sql/semantic/secDatabaseModelViews.sql +0 -0
  405. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticColumnComments.ddl +0 -0
  406. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticMSSqlDB.sql +0 -0
  407. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticMySqlDB.ddl +0 -0
  408. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticOracleDB.sql +0 -0
  409. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticPostgresDB.ddl +0 -0
  410. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticSQLiteDB.ddl +0 -0
  411. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xbrlDB/tableFacts.py +0 -0
  412. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/plugin/xuleSaver.py +0 -0
  413. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/rendering/RenderingEvaluator.py +0 -0
  414. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/rendering/RenderingLayout.py +0 -0
  415. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/rendering/RenderingResolution.py +0 -0
  416. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.eurofiling.info/eu/fr/xbrl/ext/filing-indicators.xsd +0 -0
  417. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.w3.org/2001/03/xml.xsd +0 -0
  418. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.w3.org/2001/XMLSchema.xsd +0 -0
  419. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.w3.org/2001/xml.xsd +0 -0
  420. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd +0 -0
  421. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd +0 -0
  422. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2003/xl-2003-12-31.xsd +0 -0
  423. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2003/xlink-2003-12-31.xsd +0 -0
  424. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2004/ref-2004-08-10.xsd +0 -0
  425. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2005/xbrldt-2005.xsd +0 -0
  426. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2006/ref-2006-02-27.xsd +0 -0
  427. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2006/xbrldi-2006.xsd +0 -0
  428. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/boolean-filter.xsd +0 -0
  429. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/concept-filter.xsd +0 -0
  430. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/conformance.xsd +0 -0
  431. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/conformanceFunction.xsd +0 -0
  432. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/consistency-assertion.xsd +0 -0
  433. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/dimension-filter.xsd +0 -0
  434. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/entity-filter.xsd +0 -0
  435. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/existence-assertion.xsd +0 -0
  436. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/formula.xsd +0 -0
  437. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/function.xsd +0 -0
  438. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/general-filter.xsd +0 -0
  439. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/generic-label.xsd +0 -0
  440. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/generic-link.xsd +0 -0
  441. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/generic-reference.xsd +0 -0
  442. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xbrl-instance-2003-12-31-ixmod.xsd +0 -0
  443. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xbrl-linkbase-2003-12-31-ixmod.xsd +0 -0
  444. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xl-2003-12-31.xsd +0 -0
  445. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xlink-2003-12-31.xsd +0 -0
  446. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xframes-1.xsd +0 -0
  447. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-applet-1.xsd +0 -0
  448. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-attribs-1.xsd +0 -0
  449. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-base-1.xsd +0 -0
  450. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic-form-1.xsd +0 -0
  451. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic-table-1.xsd +0 -0
  452. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-model-1.xsd +0 -0
  453. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-module-redefines-1.xsd +0 -0
  454. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-modules-1.xsd +0 -0
  455. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10.xsd +0 -0
  456. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-bdo-1.xsd +0 -0
  457. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkphras-1.xsd +0 -0
  458. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkpres-1.xsd +0 -0
  459. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkstruct-1.xsd +0 -0
  460. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-charent-1.xsd +0 -0
  461. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-copyright-1.xsd +0 -0
  462. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-csismap-1.xsd +0 -0
  463. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-datatypes-1.xsd +0 -0
  464. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-edit-1.xsd +0 -0
  465. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-events-1.xsd +0 -0
  466. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-form-1.xsd +0 -0
  467. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-frames-1.xsd +0 -0
  468. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-framework-1.xsd +0 -0
  469. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-hypertext-1.xsd +0 -0
  470. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-iframe-1.xsd +0 -0
  471. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-image-1.xsd +0 -0
  472. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlphras-1.xsd +0 -0
  473. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlpres-1.xsd +0 -0
  474. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlstruct-1.xsd +0 -0
  475. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlstyle-1.xsd +0 -0
  476. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-legacy-1.xsd +0 -0
  477. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-link-1.xsd +0 -0
  478. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-list-1.xsd +0 -0
  479. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-meta-1.xsd +0 -0
  480. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-misc-1.xsd +0 -0
  481. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-nameident-1.xsd +0 -0
  482. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-notations-1.xsd +0 -0
  483. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-object-1.xsd +0 -0
  484. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-param-1.xsd +0 -0
  485. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-pres-1.xsd +0 -0
  486. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ruby-1.xsd +0 -0
  487. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ruby-basic-1.xsd +0 -0
  488. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-script-1.xsd +0 -0
  489. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ssismap-1.xsd +0 -0
  490. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-struct-1.xsd +0 -0
  491. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-style-1.xsd +0 -0
  492. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-table-1.xsd +0 -0
  493. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-target-1.xsd +0 -0
  494. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-text-1.xsd +0 -0
  495. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-model-1.xsd +0 -0
  496. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-module-redefines-1.xsd +0 -0
  497. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-modules-1.xsd +0 -0
  498. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11.xsd +0 -0
  499. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml2.xsd +0 -0
  500. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-1.xsd +0 -0
  501. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-2.xsd +0 -0
  502. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-attribs-1.xsd +0 -0
  503. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-attribs-2.xsd +0 -0
  504. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-copyright-1.xsd +0 -0
  505. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-copyright-2.xsd +0 -0
  506. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-handlers-2.xsd +0 -0
  507. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-definitions.xsd +0 -0
  508. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-model.xsd +0 -0
  509. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-modules.xsd +0 -0
  510. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0.xsd +0 -0
  511. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/match-filter.xsd +0 -0
  512. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/period-filter.xsd +0 -0
  513. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/registry.xsd +0 -0
  514. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/relative-filter.xsd +0 -0
  515. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/segment-scenario-filter.xsd +0 -0
  516. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/tuple-filter.xsd +0 -0
  517. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/unit-filter.xsd +0 -0
  518. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/validation.xsd +0 -0
  519. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/value-assertion.xsd +0 -0
  520. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/value-filter.xsd +0 -0
  521. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2008/variable.xsd +0 -0
  522. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2010/aspect-cover-filter.xsd +0 -0
  523. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2010/concept-relation-filter.xsd +0 -0
  524. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2010/custom-function-implementation.xsd +0 -0
  525. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2010/generic-message.xsd +0 -0
  526. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2010/validation-message.xsd +0 -0
  527. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xbrl-instance-2003-12-31-ixmod.xsd +0 -0
  528. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xbrl-linkbase-2003-12-31-ixmod.xsd +0 -0
  529. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xl-2003-12-31.xsd +0 -0
  530. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xlink-2003-12-31.xsd +0 -0
  531. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xframes-1.xsd +0 -0
  532. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-applet-1.xsd +0 -0
  533. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-attribs-1.xsd +0 -0
  534. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-base-1.xsd +0 -0
  535. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic-form-1.xsd +0 -0
  536. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic-table-1.xsd +0 -0
  537. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-model-1.xsd +0 -0
  538. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-module-redefines-1.xsd +0 -0
  539. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-modules-1.xsd +0 -0
  540. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10.xsd +0 -0
  541. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-bdo-1.xsd +0 -0
  542. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkphras-1.xsd +0 -0
  543. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkpres-1.xsd +0 -0
  544. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkstruct-1.xsd +0 -0
  545. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-charent-1.xsd +0 -0
  546. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-copyright-1.xsd +0 -0
  547. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-csismap-1.xsd +0 -0
  548. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-datatypes-1.xsd +0 -0
  549. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-edit-1.xsd +0 -0
  550. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-events-1.xsd +0 -0
  551. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-form-1.xsd +0 -0
  552. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-frames-1.xsd +0 -0
  553. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-framework-1.xsd +0 -0
  554. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-hypertext-1.xsd +0 -0
  555. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-iframe-1.xsd +0 -0
  556. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-image-1.xsd +0 -0
  557. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlphras-1.xsd +0 -0
  558. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlpres-1.xsd +0 -0
  559. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlstruct-1.xsd +0 -0
  560. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlstyle-1.xsd +0 -0
  561. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-legacy-1.xsd +0 -0
  562. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-link-1.xsd +0 -0
  563. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-list-1.xsd +0 -0
  564. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-meta-1.xsd +0 -0
  565. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-misc-1.xsd +0 -0
  566. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-nameident-1.xsd +0 -0
  567. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-notations-1.xsd +0 -0
  568. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-object-1.xsd +0 -0
  569. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-param-1.xsd +0 -0
  570. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-pres-1.xsd +0 -0
  571. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ruby-1.xsd +0 -0
  572. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ruby-basic-1.xsd +0 -0
  573. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-script-1.xsd +0 -0
  574. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ssismap-1.xsd +0 -0
  575. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-struct-1.xsd +0 -0
  576. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-style-1.xsd +0 -0
  577. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-table-1.xsd +0 -0
  578. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-target-1.xsd +0 -0
  579. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-text-1.xsd +0 -0
  580. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-model-1.xsd +0 -0
  581. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-module-redefines-1.xsd +0 -0
  582. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-modules-1.xsd +0 -0
  583. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11.xsd +0 -0
  584. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml2.xsd +0 -0
  585. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-1.xsd +0 -0
  586. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-2.xsd +0 -0
  587. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-attribs-1.xsd +0 -0
  588. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-attribs-2.xsd +0 -0
  589. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-copyright-1.xsd +0 -0
  590. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-copyright-2.xsd +0 -0
  591. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-handlers-2.xsd +0 -0
  592. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-definitions.xsd +0 -0
  593. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-model.xsd +0 -0
  594. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-modules.xsd +0 -0
  595. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1.xsd +0 -0
  596. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/match-filter.xsd +0 -0
  597. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/preferred-label.xsd +0 -0
  598. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-base.xsd +0 -0
  599. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-concept-details.xsd +0 -0
  600. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-concept-use.xsd +0 -0
  601. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-dimensions.xsd +0 -0
  602. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2014/extensible-enumerations.xsd +0 -0
  603. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2014/table.xsd +0 -0
  604. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2014/tablemodel.xsd +0 -0
  605. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2016/assertion-severity.xsd +0 -0
  606. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2016/severities.xml +0 -0
  607. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2016/taxonomy-package-catalog.xsd +0 -0
  608. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2016/taxonomy-package.xsd +0 -0
  609. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2022/assertion-severity.xsd +0 -0
  610. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/2022/severities.xml +0 -0
  611. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd +0 -0
  612. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/dtr/type/numeric-2009-12-16.xsd +0 -0
  613. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/accounting-arcrole-2023-01-04.xsd +0 -0
  614. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/deprecated-2009-12-16.xsd +0 -0
  615. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd +0 -0
  616. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd +0 -0
  617. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/jpfr-arcrole-2007-11-07.xsd +0 -0
  618. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/parent-child-2013-09-19.xsd +0 -0
  619. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd +0 -0
  620. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/role/jpfr-role-2007-11-07.xsd +0 -0
  621. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negated-2008-03-31.xsd +0 -0
  622. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negated-2009-12-16.xsd +0 -0
  623. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negative-2009-12-16.xsd +0 -0
  624. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/role/net-2009-12-16.xsd +0 -0
  625. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/role/positive-2009-12-16.xsd +0 -0
  626. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/role/property-2022-09-28.xsd +0 -0
  627. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/role/reference-2009-12-16.xsd +0 -0
  628. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/lrr/role/restated-2006-02-21.xsd +0 -0
  629. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/2012-01-30/utr.xml +0 -0
  630. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/2012-10-31/utr.xml +0 -0
  631. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/2012-11-30/utr.xml +0 -0
  632. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/2013-02-28/utr.xml +0 -0
  633. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/2013-05-17/utr.xml +0 -0
  634. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/2016-08-10/utr.xml +0 -0
  635. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/2017-07-12/utr.xml +0 -0
  636. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/2021-02-16/utr.xml +0 -0
  637. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/2021-12-08/utr.xml +0 -0
  638. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/2022-02-16/utr.xml +0 -0
  639. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/2022-07-20/utr.xml +0 -0
  640. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/2023-12-20/utr.xml +0 -0
  641. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/2024-01-31/utr.xml +0 -0
  642. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/2024-10-22/utr.xml +0 -0
  643. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/http/www.xbrl.org/utr/utr.xml +0 -0
  644. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/https/www.xbrl.org/2005/conformance.xsd +0 -0
  645. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/https/www.xbrl.org/2020/extensible-enumerations-2.0.xsd +0 -0
  646. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/https/www.xbrl.org/2023/calculation-1.1.xsd +0 -0
  647. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2020-01-21/types.xsd +0 -0
  648. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2022-03-31/types.xsd +0 -0
  649. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2024-01-31/types.xsd +0 -0
  650. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators-def.xml +0 -0
  651. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators-label.xml +0 -0
  652. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators.xsd +0 -0
  653. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/linux-x86_64/README.txt +0 -0
  654. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/linux-x86_64/html/tkTable.html +0 -0
  655. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/linux-x86_64/libTktable2.11.so +0 -0
  656. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/linux-x86_64/license.txt +0 -0
  657. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/linux-x86_64/pkgIndex.tcl +0 -0
  658. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/linux-x86_64/tkTable.tcl +0 -0
  659. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/linux-x86_64/tktable.py +0 -0
  660. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/macos-arm64/README.txt +0 -0
  661. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/macos-arm64/html/tkTable.html +0 -0
  662. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/macos-arm64/libTktable2.11.dylib +0 -0
  663. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/macos-arm64/license.txt +0 -0
  664. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/macos-arm64/pkgIndex.tcl +0 -0
  665. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/macos-arm64/tkTable.tcl +0 -0
  666. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/macos-arm64/tktable.py +0 -0
  667. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/macos-x86_64/README.txt +0 -0
  668. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/macos-x86_64/html/tkTable.html +0 -0
  669. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/macos-x86_64/libTktable2.11.dylib +0 -0
  670. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/macos-x86_64/license.txt +0 -0
  671. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/macos-x86_64/pkgIndex.tcl +0 -0
  672. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/macos-x86_64/tkTable.tcl +0 -0
  673. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/macos-x86_64/tktable.py +0 -0
  674. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/win-x86_64/Tktable.dll +0 -0
  675. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/win-x86_64/pkgIndex.tcl +0 -0
  676. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/resources/libs/Tktable2.11/win-x86_64/tkTable.tcl +0 -0
  677. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/typing.py +0 -0
  678. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/utils/Contexts.py +0 -0
  679. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/utils/EntryPointDetection.py +0 -0
  680. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/utils/Equivalence.py +0 -0
  681. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/utils/PluginData.py +0 -0
  682. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/utils/PluginHooks.py +0 -0
  683. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/utils/Units.py +0 -0
  684. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/utils/__init__.py +0 -0
  685. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/utils/validate/Decorator.py +0 -0
  686. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/utils/validate/DetectScriptsInXhtml.py +0 -0
  687. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/utils/validate/ESEFImage.py +0 -0
  688. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/utils/validate/Validation.py +0 -0
  689. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/utils/validate/ValidationPlugin.py +0 -0
  690. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/utils/validate/ValidationUtil.py +0 -0
  691. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/utils/validate/__init__.py +0 -0
  692. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/webserver/__init__.py +0 -0
  693. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle/webserver/bottle.py +0 -0
  694. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle_release.egg-info/SOURCES.txt +0 -0
  695. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle_release.egg-info/dependency_links.txt +0 -0
  696. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle_release.egg-info/entry_points.txt +0 -0
  697. {arelle_release-2.37.49 → arelle_release-2.37.50}/arelle_release.egg-info/top_level.txt +0 -0
  698. {arelle_release-2.37.49 → arelle_release-2.37.50}/setup.cfg +0 -0
@@ -68,12 +68,12 @@ Here's how to set up your environment:
68
68
  2. Install a supported version of Python.
69
69
  For example,
70
70
 
71
- pyenv install 3.13.6
71
+ pyenv install 3.13.7
72
72
 
73
73
  3. Create a virtual env using the Python version you just installed.
74
74
  For example,
75
75
 
76
- PYENV_VERSION=3.13.6 pyenv exec python -m venv venv
76
+ PYENV_VERSION=3.13.7 pyenv exec python -m venv venv
77
77
  4. Activate your environment:
78
78
 
79
79
  source venv/bin/activate
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arelle-release
3
- Version: 2.37.49
3
+ Version: 2.37.50
4
4
  Summary: An open source XBRL platform.
5
5
  Author-email: "arelle.org" <support@arelle.org>
6
6
  License-Expression: Apache-2.0
@@ -31,36 +31,38 @@ License-File: LICENSE.md
31
31
  Requires-Dist: bottle<0.14,>=0.13
32
32
  Requires-Dist: certifi
33
33
  Requires-Dist: filelock
34
- Requires-Dist: jsonschema==4.*
35
- Requires-Dist: isodate==0.*
36
- Requires-Dist: lxml<6,>=4
34
+ Requires-Dist: isodate<1,>=0
35
+ Requires-Dist: jsonschema<5,>=4
36
+ Requires-Dist: lxml!=6.0.0,<7,>=4
37
37
  Requires-Dist: numpy<3,>=1
38
- Requires-Dist: openpyxl==3.*
38
+ Requires-Dist: openpyxl<4,>=3
39
39
  Requires-Dist: pillow<12,>=10
40
- Requires-Dist: pyparsing==3.*
41
- Requires-Dist: python-dateutil==2.*
40
+ Requires-Dist: pyparsing<4,>=3
41
+ Requires-Dist: python-dateutil<3,>=2
42
42
  Requires-Dist: regex
43
- Requires-Dist: truststore==0.*; python_version > "3.9"
44
- Requires-Dist: typing-extensions==4.*
43
+ Requires-Dist: truststore<1,>=0; python_version > "3.9"
44
+ Requires-Dist: typing-extensions<5,>=4
45
45
  Provides-Extra: crypto
46
- Requires-Dist: pycryptodome==3.*; extra == "crypto"
46
+ Requires-Dist: pycryptodome<4,>=3; extra == "crypto"
47
47
  Provides-Extra: db
48
- Requires-Dist: pg8000==1.*; extra == "db"
49
- Requires-Dist: PyMySQL==1.*; extra == "db"
48
+ Requires-Dist: pg8000<2,>=1; extra == "db"
49
+ Requires-Dist: PyMySQL<2,>=1; extra == "db"
50
50
  Requires-Dist: pyodbc<6,>=4; extra == "db"
51
51
  Requires-Dist: rdflib<8,>=5; extra == "db"
52
52
  Provides-Extra: efm
53
- Requires-Dist: aniso8601==10.*; extra == "efm"
54
- Requires-Dist: holidays==0.*; extra == "efm"
55
- Requires-Dist: Matplotlib==3.*; extra == "efm"
53
+ Requires-Dist: aniso8601<11,>=10; extra == "efm"
54
+ Requires-Dist: holidays<1,>=0; extra == "efm"
55
+ Requires-Dist: matplotlib<4,>=3; extra == "efm"
56
56
  Requires-Dist: pytz; extra == "efm"
57
57
  Provides-Extra: esef
58
- Requires-Dist: tinycss2==1.*; extra == "esef"
58
+ Requires-Dist: tinycss2<2,>=1; extra == "esef"
59
59
  Provides-Extra: objectmaker
60
- Requires-Dist: graphviz==0.*; extra == "objectmaker"
60
+ Requires-Dist: graphviz<1,>=0; extra == "objectmaker"
61
61
  Provides-Extra: webserver
62
62
  Requires-Dist: cheroot<11,>=8; extra == "webserver"
63
- Requires-Dist: tornado==6.*; extra == "webserver"
63
+ Requires-Dist: tornado<7,>=6; extra == "webserver"
64
+ Provides-Extra: xule
65
+ Requires-Dist: aniso8601<11,>=10; extra == "xule"
64
66
  Dynamic: license-file
65
67
 
66
68
  # Arelle
@@ -1579,12 +1579,6 @@ def inlineIxdsDiscover(modelXbrl, modelIxdsDocument, setTargetModelXbrl=False, *
1579
1579
  modelXbrl.targetRoleRefs = {} # roleRefs used by selected target
1580
1580
  modelXbrl.targetArcroleRefs = {} # arcroleRefs used by selected target
1581
1581
  modelXbrl.targetRelationships = set() # relationship elements used by selected target
1582
- targetModelXbrl = modelXbrl if setTargetModelXbrl else None # modelXbrl of target for contexts/units in multi-target/multi-instance situation
1583
- assignUnusedContextsUnits = (not setTargetModelXbrl and not ixdsTarget and
1584
- not getattr(modelXbrl, "supplementalModelXbrls", ()) and (
1585
- not getattr(modelXbrl, "targetIXDSesToLoad", ()) or
1586
- set(e.modelDocument for e in modelXbrl.ixdsHtmlElements) ==
1587
- set(x.modelDocument for e in getattr(modelXbrl, "targetIXDSesToLoad", ()) for x in e[1])))
1588
1582
  hasResources = hasHeader = False
1589
1583
  for htmlElement in modelXbrl.ixdsHtmlElements:
1590
1584
  mdlDoc = htmlElement.modelDocument
@@ -1611,8 +1605,12 @@ def inlineIxdsDiscover(modelXbrl, modelIxdsDocument, setTargetModelXbrl=False, *
1611
1605
  for modelInlineFact in htmlElement.iterdescendants(ixNStag + "nonNumeric", ixNStag + "nonFraction", ixNStag + "fraction"):
1612
1606
  if isinstance(modelInlineFact,ModelObject):
1613
1607
  _target = modelInlineFact.get("target")
1614
- factTargetContextRefs[_target].add(modelInlineFact.get("contextRef"))
1615
- factTargetUnitRefs[_target].add(modelInlineFact.get("unitRef"))
1608
+ contextRef = modelInlineFact.get("contextRef")
1609
+ if contextRef is not None:
1610
+ factTargetContextRefs[_target].add(contextRef.strip())
1611
+ unitRef = modelInlineFact.get("unitRef")
1612
+ if unitRef is not None:
1613
+ factTargetUnitRefs[_target].add(unitRef.strip())
1616
1614
  if modelInlineFact.id:
1617
1615
  factsByFactID[modelInlineFact.id] = modelInlineFact
1618
1616
  for elt in htmlElement.iterdescendants(tag=ixNStag + "continuation"):
@@ -1734,9 +1732,9 @@ def inlineIxdsDiscover(modelXbrl, modelIxdsDocument, setTargetModelXbrl=False, *
1734
1732
  targetRoleUris[_target].add(footnoteRole)
1735
1733
 
1736
1734
  contextRefs = factTargetContextRefs[ixdsTarget]
1735
+ contextRefsForAllTargets = {ref for refs in factTargetContextRefs.values() for ref in refs}
1737
1736
  unitRefs = factTargetUnitRefs[ixdsTarget]
1738
- allContextRefs = set.union(*factTargetContextRefs.values())
1739
- allUnitRefs = set.union(*factTargetUnitRefs.values())
1737
+ unitRefsForAllTargets = {ref for refs in factTargetUnitRefs.values() for ref in refs}
1740
1738
 
1741
1739
  # discovery of contexts, units and roles which are used by target document
1742
1740
  for htmlElement in modelXbrl.ixdsHtmlElements:
@@ -1745,13 +1743,17 @@ def inlineIxdsDiscover(modelXbrl, modelIxdsDocument, setTargetModelXbrl=False, *
1745
1743
 
1746
1744
  for inlineElement in htmlElement.iterdescendants(tag=ixNStag + "resources"):
1747
1745
  for elt in inlineElement.iterchildren("{http://www.xbrl.org/2003/instance}context"):
1748
- id = elt.get("id")
1749
- if id in contextRefs or (assignUnusedContextsUnits and id not in allContextRefs):
1746
+ contextId = elt.get("id")
1747
+ if contextId in contextRefs:
1750
1748
  modelIxdsDocument.contextDiscover(elt, setTargetModelXbrl)
1749
+ elif contextId not in contextRefsForAllTargets:
1750
+ modelXbrl.ixdsUnmappedContexts[contextId] = elt
1751
1751
  for elt in inlineElement.iterchildren("{http://www.xbrl.org/2003/instance}unit"):
1752
- id = elt.get("id")
1753
- if id in unitRefs or (assignUnusedContextsUnits and id not in allUnitRefs):
1752
+ unitId = elt.get("id")
1753
+ if unitId in unitRefs:
1754
1754
  modelIxdsDocument.unitDiscover(elt, setTargetModelXbrl)
1755
+ elif unitId not in unitRefsForAllTargets:
1756
+ modelXbrl.ixdsUnmappedUnits[unitId] = elt
1755
1757
  for refElement in inlineElement.iterchildren("{http://www.xbrl.org/2003/linkbase}roleRef"):
1756
1758
  r = refElement.get("roleURI")
1757
1759
  if r in targetRoleUris[ixdsTarget]:
@@ -1159,7 +1159,7 @@ class ModelContext(ModelObject):
1159
1159
  self._dimsHash = hash( frozenset(self.qnameDims.values()) )
1160
1160
  return self._dimsHash
1161
1161
 
1162
- def nonDimValues(self, contextElement):
1162
+ def nonDimValues(self, contextElement: str | int) -> list[ModelObject]:
1163
1163
  """([ModelObject]) -- ContextElement is either string or Aspect code for segment or scenario, returns nonXDT ModelObject children of context element.
1164
1164
 
1165
1165
  :param contextElement: one of 'segment', 'scenario', Aspect.NON_XDT_SEGMENT, Aspect.NON_XDT_SCENARIO, Aspect.COMPLETE_SEGMENT, Aspect.COMPLETE_SCENARIO
@@ -12,7 +12,7 @@ from collections import defaultdict
12
12
  from typing import TYPE_CHECKING, Any, TypeVar, Union, cast, Optional
13
13
 
14
14
  import regex as re
15
- from collections.abc import Iterable
15
+ from collections.abc import Iterable, Iterator
16
16
 
17
17
  import arelle
18
18
  from arelle import FileSource, ModelRelationshipSet, XmlUtil, ModelValue, XbrlConst, XmlValidate
@@ -335,8 +335,12 @@ class ModelXbrl:
335
335
  self.facts: list[ModelFact] = []
336
336
  self.factsInInstance: set[ModelFact] = set()
337
337
  self.undefinedFacts: list[ModelFact] = [] # elements presumed to be facts but not defined
338
- self.contexts: dict[str, ModelDocumentClass.xmlRootElement] = {}
338
+ self.contexts: dict[str, ModelContext] = {}
339
+ self.ixdsUnmappedContexts: dict[str, ModelContext] = {}
340
+ self._contextsInUseMarked = False
339
341
  self.units: dict[str, ModelUnit] = {}
342
+ self.ixdsUnmappedUnits: dict[str, ModelUnit] = {}
343
+ self._unitsInUseMarked = False
340
344
  self.modelObjects: list[ModelObject] = []
341
345
  self.qnameParameters: dict[QName, Any] = {}
342
346
  self.modelVariableSets: set[ModelVariableSet] = set()
@@ -604,7 +608,7 @@ class ModelXbrl:
604
608
  for cOCCs,mOCCs in ((c.nonDimValues(segAspect),segOCCs),
605
609
  (c.nonDimValues(scenAspect),scenOCCs)))
606
610
  ):
607
- return cast('ModelContext', c)
611
+ return c
608
612
  return None
609
613
 
610
614
  def createContext(
@@ -868,17 +872,24 @@ class ModelXbrl:
868
872
  return fbdq[memQname]
869
873
 
870
874
  @property
871
- def contextsInUse(self) -> Any:
872
- try:
873
- if self._contextsInUseMarked:
874
- return (cntx for cntx in self.contexts.values() if getattr(cntx, "_inUse", False))
875
- except AttributeError:
875
+ def contextsInUse(self) -> Iterator[ModelContext]:
876
+ if not self._contextsInUseMarked:
876
877
  for fact in self.factsInInstance:
877
878
  cntx = fact.context
878
879
  if cntx is not None:
879
880
  cntx._inUse = True
880
- self._contextsInUseMarked: bool = True
881
- return self.contextsInUse
881
+ self._contextsInUseMarked = True
882
+ return (cntx for cntx in self.contexts.values() if getattr(cntx, "_inUse", False))
883
+
884
+ @property
885
+ def unitsInUse(self) -> Iterator[ModelUnit]:
886
+ if not self._unitsInUseMarked:
887
+ for fact in self.factsInInstance:
888
+ unit = fact.unit
889
+ if unit is not None:
890
+ unit._inUse = True
891
+ self._unitsInUseMarked = True
892
+ return (unit for unit in self.units.values() if getattr(unit, "_inUse", False))
882
893
 
883
894
  @property
884
895
  def dimensionsInUse(self) -> set[Any]:
@@ -6,20 +6,28 @@ e.g., User-Agent: Sample Company Name AdminContact@<sample company domain>.com
6
6
 
7
7
  '''
8
8
  from __future__ import annotations
9
- import contextlib
10
-
11
9
 
12
- from filelock import FileLock, Timeout
10
+ import calendar
11
+ import contextlib
12
+ import io
13
+ import json
14
+ import logging
15
+ import os
16
+ import posixpath
17
+ import shutil
18
+ import sys
19
+ import time
20
+ import zlib
21
+ from http.client import IncompleteRead
13
22
  from pathlib import Path
14
23
  from typing import TYPE_CHECKING, Any
15
- import os, posixpath, sys, time, calendar, io, json, logging, shutil, zlib
16
- import regex as re
17
- from urllib.parse import quote, unquote
18
- from urllib.error import URLError, HTTPError, ContentTooShortError
19
- from http.client import IncompleteRead
20
24
  from urllib import request as proxyhandlers
25
+ from urllib.error import ContentTooShortError, HTTPError, URLError
26
+ from urllib.parse import quote, unquote, urlsplit, urlunsplit
21
27
 
22
28
  import certifi
29
+ import regex as re
30
+ from filelock import FileLock, Timeout
23
31
 
24
32
  from arelle.PythonUtil import isLegacyAbs
25
33
 
@@ -567,14 +575,16 @@ class WebCache:
567
575
  :param url:
568
576
  :return: `url` with scheme-specific-part quoted except for parameter separators
569
577
  """
570
- urlScheme, schemeSep, urlSchemeSpecificPart = url.partition("://")
571
- urlPath, querySep, query = urlSchemeSpecificPart.partition("?")
572
- # RFC 3986: https://www.ietf.org/rfc/rfc3986.txt
573
- querySafeChars = ';/?'
574
- pathSafeChars = querySafeChars + ':@&=+$,'
575
- quotedUrlPath = quote(urlPath, safe=pathSafeChars)
576
- quotedQuery = quote(query, safe=querySafeChars)
577
- return urlScheme + schemeSep + quotedUrlPath + querySep + quotedQuery
578
+ parts = urlsplit(url)
579
+
580
+ # RFC 3986 safe characters: https://www.ietf.org/rfc/rfc3986.txt
581
+ pathSafe = "/:@!$&'()*+,;=" # path allows sub-delims, ":" and "@"
582
+ querySafe = "&=:/?@!$'()*+,;[]" # query allows pchar + "/" + "?"
583
+
584
+ quotedPath = quote(parts.path, safe=pathSafe)
585
+ quotedQuery = quote(parts.query, safe=querySafe)
586
+
587
+ return urlunsplit((parts.scheme, parts.netloc, quotedPath, quotedQuery, parts.fragment))
578
588
 
579
589
  @staticmethod
580
590
  def _getFileTimestamp(path: str) -> float:
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '2.37.49'
21
- __version_tuple__ = version_tuple = (2, 37, 49)
20
+ __version__ = version = '2.37.50'
21
+ __version_tuple__ = version_tuple = (2, 37, 50)
@@ -8,7 +8,7 @@ from __future__ import annotations
8
8
  import logging
9
9
  import threading
10
10
  from types import TracebackType
11
- from typing import Any, BinaryIO
11
+ from typing import Any, BinaryIO, TypeVar
12
12
 
13
13
  from arelle import PackageManager, PluginManager
14
14
  from arelle.CntlrCmdLine import CntlrCmdLine, createCntlrAndPreloadPlugins
@@ -18,6 +18,9 @@ from arelle.RuntimeOptions import RuntimeOptions
18
18
 
19
19
  _session_lock = threading.Lock()
20
20
 
21
+ # typing.Self can be used once Python 3.10 support is dropped.
22
+ Self = TypeVar("Self", bound="Session")
23
+
21
24
 
22
25
  class Session:
23
26
  """
@@ -46,7 +49,7 @@ class Session:
46
49
  "Session objects cannot be shared between threads. Create a new Session instance in each thread."
47
50
  )
48
51
 
49
- def __enter__(self) -> Any:
52
+ def __enter__(self: Self) -> Self:
50
53
  return self
51
54
 
52
55
  def __exit__(
@@ -146,7 +146,6 @@ class PluginValidationDataExtension(PluginData):
146
146
  return self._reportingPeriodContexts
147
147
  contexts = []
148
148
  for context in modelXbrl.contexts.values():
149
- context = cast(ModelContext, context)
150
149
  if context.isInstantPeriod or context.isForeverPeriod:
151
150
  continue # Reporting period contexts can't be instant/forever contexts
152
151
  if len(context.qnameDims) > 0:
@@ -14,12 +14,21 @@ class FormType(Enum):
14
14
  FORM_2_4 = '第二号の四様式'
15
15
  FORM_2_7 = '第二号の七様式'
16
16
  FORM_3 = '第三号様式'
17
+ FORM_4 = '第四号様式'
18
+
19
+ @property
20
+ def isStockReport(self) -> bool:
21
+ return self in STOCK_REPORT_FORMS
17
22
 
18
23
  CORPORATE_FORMS =frozenset([
19
24
  FormType.FORM_2_4,
20
25
  FormType.FORM_2_7,
21
26
  FormType.FORM_3,
22
27
  ])
28
+ STOCK_REPORT_FORMS = frozenset([
29
+ FormType.FORM_3,
30
+ FormType.FORM_4,
31
+ ])
23
32
  qnEdinetManifestInsert = qname("{http://disclosure.edinet-fsa.go.jp/2013/manifest}insert")
24
33
  qnEdinetManifestInstance = qname("{http://disclosure.edinet-fsa.go.jp/2013/manifest}instance")
25
34
  qnEdinetManifestItem = qname("{http://disclosure.edinet-fsa.go.jp/2013/manifest}item")
@@ -24,7 +24,7 @@ from arelle.ValidateDuplicateFacts import getDeduplicatedFacts, DeduplicationTyp
24
24
  from arelle.XmlValidate import VALID
25
25
  from arelle.typing import TypeGetText
26
26
  from arelle.utils.PluginData import PluginData
27
- from .Constants import CORPORATE_FORMS
27
+ from .Constants import CORPORATE_FORMS, FormType
28
28
  from .ControllerPluginData import ControllerPluginData
29
29
  from .ManifestInstance import ManifestInstance
30
30
  from .Statement import Statement, STATEMENTS, BalanceSheet, StatementInstance, StatementType
@@ -54,7 +54,7 @@ class PluginValidationDataExtension(PluginData):
54
54
  def __init__(self, name: str):
55
55
  super().__init__(name)
56
56
  jpcrpEsrNamespace = "http://disclosure.edinet-fsa.go.jp/taxonomy/jpcrp-esr/2024-11-01/jpcrp-esr_cor"
57
- jpcrpNamespace = 'http://disclosure.edinet-fsa.go.jp/taxonomy/jpcrp/2024-11-01/jpcrp_cor'
57
+ self.jpcrpNamespace = 'http://disclosure.edinet-fsa.go.jp/taxonomy/jpcrp/2024-11-01/jpcrp_cor'
58
58
  jpdeiNamespace = 'http://disclosure.edinet-fsa.go.jp/taxonomy/jpdei/2013-08-31/jpdei_cor'
59
59
  jpigpNamespace = "http://disclosure.edinet-fsa.go.jp/taxonomy/jpigp/2024-11-01/jpigp_cor"
60
60
  jppfsNamespace = "http://disclosure.edinet-fsa.go.jp/taxonomy/jppfs/2024-11-01/jppfs_cor"
@@ -63,11 +63,12 @@ class PluginValidationDataExtension(PluginData):
63
63
  self.assetsIfrsQn = qname(jpigpNamespace, 'AssetsIFRS')
64
64
  self.consolidatedOrNonConsolidatedAxisQn = qname(jppfsNamespace, 'ConsolidatedOrNonConsolidatedAxis')
65
65
  self.documentTypeDeiQn = qname(jpdeiNamespace, 'DocumentTypeDEI')
66
+ self.issuedSharesTotalNumberOfSharesEtcQn = qname(self.jpcrpNamespace, 'IssuedSharesTotalNumberOfSharesEtcTextBlock')
66
67
  self.jpcrpEsrFilingDateCoverPageQn = qname(jpcrpEsrNamespace, 'FilingDateCoverPage')
67
- self.jpcrpFilingDateCoverPageQn = qname(jpcrpNamespace, 'FilingDateCoverPage')
68
+ self.jpcrpFilingDateCoverPageQn = qname(self.jpcrpNamespace, 'FilingDateCoverPage')
68
69
  self.jpspsFilingDateCoverPageQn = qname(jpspsNamespace, 'FilingDateCoverPage')
69
70
  self.nonConsolidatedMemberQn = qname(jppfsNamespace, "NonConsolidatedMember")
70
- self.ratioOfFemaleDirectorsAndOtherOfficersQn = qname(jpcrpNamespace, "RatioOfFemaleDirectorsAndOtherOfficers")
71
+ self.ratioOfFemaleDirectorsAndOtherOfficersQn = qname(self.jpcrpNamespace, "RatioOfFemaleDirectorsAndOtherOfficers")
71
72
 
72
73
  self.contextIdPattern = regex.compile(r'(Prior[1-9]Year|CurrentYear|Prior[1-9]Interim|Interim)(Duration|Instant)')
73
74
 
@@ -103,6 +104,12 @@ class PluginValidationDataExtension(PluginData):
103
104
  return True
104
105
  return False
105
106
 
107
+ def isCorporateReport(self, modelXbrl: ModelXbrl) -> bool:
108
+ return self.jpcrpNamespace in modelXbrl.namespaceDocs
109
+
110
+ def isStockForm(self, modelXbrl: ModelXbrl) -> bool:
111
+ documentTypes = self.getDocumentTypes(modelXbrl)
112
+ return any(documentType == form.value for form in FormType if form.isStockReport for documentType in documentTypes)
106
113
 
107
114
  def getBalanceSheets(self, modelXbrl: ModelXbrl, statement: Statement) -> list[BalanceSheet]:
108
115
  """
@@ -4,6 +4,7 @@ See COPYRIGHT.md for copyright information.
4
4
  from __future__ import annotations
5
5
 
6
6
  from collections import defaultdict
7
+ from itertools import chain
7
8
  from typing import Any, Iterable
8
9
 
9
10
  from arelle import XbrlConst
@@ -161,8 +162,9 @@ def rule_EC8054W(
161
162
  EDINET.EC8054W: For any context with ID containing "NonConsolidatedMember",
162
163
  the scenario element within must be set to "NonConsolidatedMember".
163
164
  """
164
- for context in val.modelXbrl.contexts.values():
165
- if pluginData.nonConsolidatedMemberQn.localName not in context.id:
165
+ allContexts = chain(val.modelXbrl.contexts.values(), val.modelXbrl.ixdsUnmappedContexts.values())
166
+ for context in allContexts:
167
+ if context.id is None or pluginData.nonConsolidatedMemberQn.localName not in context.id:
166
168
  continue
167
169
  member = context.dimMemberQname(
168
170
  pluginData.consolidatedOrNonConsolidatedAxisQn,
@@ -281,3 +281,25 @@ def rule_EC8075W(
281
281
  codes='EDINET.EC8075W',
282
282
  msg=_("The percentage of female executives has not been tagged in detail."),
283
283
  )
284
+
285
+
286
+ @validation(
287
+ hook=ValidationHook.XBRL_FINALLY,
288
+ disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
289
+ )
290
+ def rule_EC8076W(
291
+ pluginData: PluginValidationDataExtension,
292
+ val: ValidateXbrl,
293
+ *args: Any,
294
+ **kwargs: Any,
295
+ ) -> Iterable[Validation]:
296
+ """
297
+ EDINET.EC8076W: "Issued Shares, Total Number of Shares, etc. [Text Block]" (IssuedSharesTotalNumberOfSharesEtcTextBlock) is not tagged.
298
+ Applies to forms 3 and 4.
299
+ """
300
+ if pluginData.isStockForm(val.modelXbrl) and pluginData.isCorporateReport(val.modelXbrl):
301
+ if not pluginData.hasValidNonNilFact(val.modelXbrl, pluginData.issuedSharesTotalNumberOfSharesEtcQn):
302
+ yield Validation.warning(
303
+ codes='EDINET.EC8076W',
304
+ msg=_('"Issued Shares, Total Number of Shares, etc. [Text Block]" (IssuedSharesTotalNumberOfSharesEtcTextBlock) is not tagged.'),
305
+ )
@@ -257,13 +257,14 @@ def rule_gfm_1_2_8(
257
257
  EDINET.EC5700W: [GFM 1.2.8] Every xbrli:context element must appear in at least one
258
258
  contextRef attribute in the same instance.
259
259
  """
260
- unused_contexts = list(set(val.modelXbrl.contexts.values()) - set(val.modelXbrl.contextsInUse))
261
- unused_contexts.sort(key=lambda x: x.id)
262
- for context in unused_contexts:
260
+ unusedContexts = list(set(val.modelXbrl.contexts.values()) - set(val.modelXbrl.contextsInUse))
261
+ unusedContexts.extend(val.modelXbrl.ixdsUnmappedContexts.values())
262
+ unusedContexts.sort(key=lambda x: x.id if x.id is not None else "")
263
+ for context in unusedContexts:
263
264
  yield Validation.warning(
264
265
  codes='EDINET.EC5700W.GFM.1.2.8',
265
266
  msg=_('If you are not using a context, delete it if it is not needed.'),
266
- modelObject = context
267
+ modelObject=context
267
268
  )
268
269
 
269
270
 
@@ -484,6 +485,7 @@ def rule_gfm_1_2_25(
484
485
  XbrlConst.qnXbrliEndDate.clarkNotation,
485
486
  XbrlConst.qnXbrliInstant.clarkNotation
486
487
  ):
488
+ elt = cast(ModelObject, elt)
487
489
  dateText = XmlUtil.text(elt)
488
490
  if not GFM_CONTEXT_DATE_PATTERN.match(dateText):
489
491
  errors.append(elt)
@@ -558,12 +560,14 @@ def rule_gfm_1_2_27(
558
560
  EDINET.EC5700W: [GFM 1.2.27] An instance must not contain unused units.
559
561
  """
560
562
  # TODO: Consolidate validations involving unused units
561
- unusedUnits = set(val.modelXbrl.units.values()) - {fact.unit for fact in val.modelXbrl.facts if fact.unit is not None}
563
+ unusedUnits = list(set(val.modelXbrl.units.values()) - set(val.modelXbrl.unitsInUse))
564
+ unusedUnits.extend(val.modelXbrl.ixdsUnmappedUnits.values())
565
+ unusedUnits.sort(key=lambda x: x.hash)
562
566
  if len(unusedUnits) > 0:
563
567
  yield Validation.warning(
564
568
  codes='EDINET.EC5700W.GFM.1.2.27',
565
569
  msg=_("Delete unused units from the instance."),
566
- modelObject=list(unusedUnits)
570
+ modelObject=unusedUnits
567
571
  )
568
572
 
569
573
 
@@ -529,11 +529,11 @@ def validateXbrlFinally(val: ValidateXbrl, *args: Any, **kwargs: Any) -> None:
529
529
  if contextsWithDisallowedOCEs:
530
530
  modelXbrl.error("ESEF.2.1.3.segmentUsed",
531
531
  _("xbrli:segment container MUST NOT be used in contexts: %(contextIds)s"),
532
- modelObject=contextsWithDisallowedOCEs, contextIds=", ".join(c.id for c in contextsWithDisallowedOCEs))
532
+ modelObject=contextsWithDisallowedOCEs, contextIds=", ".join(c.id for c in contextsWithDisallowedOCEs if c.id is not None))
533
533
  if contextsWithDisallowedOCEcontent:
534
534
  modelXbrl.error("ESEF.2.1.3.scenarioContainsNonDimensionalContent",
535
535
  _("xbrli:scenario in contexts MUST NOT contain any other content than defined in XBRL Dimensions specification: %(contextIds)s"),
536
- modelObject=contextsWithDisallowedOCEcontent, contextIds=", ".join(c.id for c in contextsWithDisallowedOCEcontent))
536
+ modelObject=contextsWithDisallowedOCEcontent, contextIds=", ".join(c.id for c in contextsWithDisallowedOCEcontent if c.id is not None))
537
537
  if len(contextIdentifiers) > 1:
538
538
  modelXbrl.error("ESEF.2.1.4.multipleIdentifiers",
539
539
  _("All entity identifiers in contexts MUST have identical content: %(contextIds)s"),
@@ -589,11 +589,11 @@ def validateXbrlFinally(val: ValidateXbrl, *args: Any, **kwargs: Any) -> None:
589
589
  if contextsWithDisallowedOCEs:
590
590
  modelXbrl.error("ESEF.2.1.3.segmentUsed",
591
591
  _("xbrli:segment container MUST NOT be used in contexts: %(contextIds)s"),
592
- modelObject=contextsWithDisallowedOCEs, contextIds=", ".join(c.id for c in contextsWithDisallowedOCEs))
592
+ modelObject=contextsWithDisallowedOCEs, contextIds=", ".join(c.id for c in contextsWithDisallowedOCEs if c.id is not None))
593
593
  if contextsWithDisallowedOCEcontent:
594
594
  modelXbrl.error("ESEF.2.1.3.scenarioContainsNonDimensionalContent",
595
595
  _("xbrli:scenario in contexts MUST NOT contain any other content than defined in XBRL Dimensions specification: %(contextIds)s"),
596
- modelObject=contextsWithDisallowedOCEcontent, contextIds=", ".join(c.id for c in contextsWithDisallowedOCEcontent))
596
+ modelObject=contextsWithDisallowedOCEcontent, contextIds=", ".join(c.id for c in contextsWithDisallowedOCEcontent if c.id is not None))
597
597
  if len(contextIdentifiers) > 1:
598
598
  modelXbrl.error("ESEF.2.1.4.multipleIdentifiers",
599
599
  _("All entity identifiers in contexts MUST have identical content: %(contextIds)s"),
@@ -265,7 +265,7 @@ class PluginValidationDataExtension(PluginData):
265
265
  contextsWithPeriodTimeZone.append(context)
266
266
  if context.hasSegment:
267
267
  contextsWithSegments.append(context)
268
- if context.nonDimValues("scenario"): # type: ignore[no-untyped-call]
268
+ if context.nonDimValues("scenario"):
269
269
  contextsWithImproperContent.append(context)
270
270
  return ContextData(
271
271
  contextsWithImproperContent=contextsWithImproperContent,
@@ -552,9 +552,9 @@ def rule_fr_nl_3_03(
552
552
  """
553
553
  FR-NL-3.03: An XBRL instance document MUST NOT contain unused contexts
554
554
  """
555
- unused_contexts = list(set(val.modelXbrl.contexts.values()) - set(val.modelXbrl.contextsInUse))
556
- unused_contexts.sort(key=lambda x: x.id)
557
- for context in unused_contexts:
555
+ unusedContexts = list(set(val.modelXbrl.contexts.values()) - set(val.modelXbrl.contextsInUse))
556
+ unusedContexts.sort(key=lambda x: x.id if x.id is not None else "")
557
+ for context in unusedContexts:
558
558
  yield Validation.error(
559
559
  codes='NL.FR-NL-3.03',
560
560
  msg=_('Unused context must not exist in XBRL instance document'),
@@ -637,10 +637,9 @@ def rule_fr_nl_4_02(
637
637
  """
638
638
  FR-NL-4.02: An XBRL instance document MUST NOT contain unused 'xbrli:unit' elements
639
639
  """
640
- unused_units_set = set(val.modelXbrl.units.values()) - {fact.unit for fact in val.modelXbrl.facts if fact.unit is not None}
641
- unused_units = list(unused_units_set)
642
- unused_units.sort(key=lambda x: x.hash)
643
- for unit in unused_units:
640
+ unusedUnits = list(set(val.modelXbrl.units.values()) - set(val.modelXbrl.unitsInUse))
641
+ unusedUnits.sort(key=lambda x: x.hash)
642
+ for unit in unusedUnits:
644
643
  yield Validation.error(
645
644
  codes='NL.FR-NL-4.02',
646
645
  msg=_('Unused unit must not exist in the XBRL instance document'),