arelle-release 2.37.55__tar.gz → 2.37.56__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 (697) hide show
  1. {arelle_release-2.37.55 → arelle_release-2.37.56}/PKG-INFO +1 -1
  2. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/_version.py +3 -3
  3. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/ControllerPluginData.py +32 -16
  4. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/PluginValidationDataExtension.py +6 -1
  5. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/UploadContents.py +18 -2
  6. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/ValidationPluginExtension.py +1 -0
  7. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/rules/gfm.py +31 -0
  8. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/rules/upload.py +113 -26
  9. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ROS/rules/ros.py +2 -2
  10. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle_release.egg-info/PKG-INFO +1 -1
  11. {arelle_release-2.37.55 → arelle_release-2.37.56}/.gitignore +0 -0
  12. {arelle_release-2.37.55 → arelle_release-2.37.56}/CONTRIBUTING.md +0 -0
  13. {arelle_release-2.37.55 → arelle_release-2.37.56}/COPYRIGHT.md +0 -0
  14. {arelle_release-2.37.55 → arelle_release-2.37.56}/LICENSE.md +0 -0
  15. {arelle_release-2.37.55 → arelle_release-2.37.56}/MANIFEST.in +0 -0
  16. {arelle_release-2.37.55 → arelle_release-2.37.56}/README.md +0 -0
  17. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/Aspect.py +0 -0
  18. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/BetaFeatures.py +0 -0
  19. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/Cntlr.py +0 -0
  20. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/CntlrCmdLine.py +0 -0
  21. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/CntlrComServer.py +0 -0
  22. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/CntlrProfiler.py +0 -0
  23. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/CntlrQuickBooks.py +0 -0
  24. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/CntlrWebMain.py +0 -0
  25. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/CntlrWinMain.py +0 -0
  26. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/CntlrWinTooltip.py +0 -0
  27. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/DialogAbout.py +0 -0
  28. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/DialogArcroleGroup.py +0 -0
  29. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/DialogFind.py +0 -0
  30. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/DialogFormulaParameters.py +0 -0
  31. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/DialogLanguage.py +0 -0
  32. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/DialogNewFactItem.py +0 -0
  33. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/DialogOpenArchive.py +0 -0
  34. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/DialogPackageManager.py +0 -0
  35. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/DialogPluginManager.py +0 -0
  36. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/DialogRssWatch.py +0 -0
  37. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/DialogURL.py +0 -0
  38. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/DialogUserPassword.py +0 -0
  39. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/DisclosureSystem.py +0 -0
  40. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ErrorManager.py +0 -0
  41. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/FileSource.py +0 -0
  42. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/FunctionCustom.py +0 -0
  43. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/FunctionFn.py +0 -0
  44. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/FunctionIxt.py +0 -0
  45. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/FunctionUtil.py +0 -0
  46. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/FunctionXfi.py +0 -0
  47. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/FunctionXs.py +0 -0
  48. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/HashUtil.py +0 -0
  49. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/HtmlUtil.py +0 -0
  50. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/InstanceAspectsEvaluator.py +0 -0
  51. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/LeiUtil.py +0 -0
  52. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/LinkbaseType.py +0 -0
  53. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/LocalViewer.py +0 -0
  54. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/Locale.py +0 -0
  55. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelDocument.py +0 -0
  56. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelDtsObject.py +0 -0
  57. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelFormulaObject.py +0 -0
  58. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelInstanceObject.py +0 -0
  59. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelManager.py +0 -0
  60. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelObject.py +0 -0
  61. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelObjectFactory.py +0 -0
  62. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelRelationshipSet.py +0 -0
  63. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelRenderingObject.py +0 -0
  64. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelRssItem.py +0 -0
  65. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelRssObject.py +0 -0
  66. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelTestcaseObject.py +0 -0
  67. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelValue.py +0 -0
  68. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelVersObject.py +0 -0
  69. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelVersReport.py +0 -0
  70. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ModelXbrl.py +0 -0
  71. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/PackageManager.py +0 -0
  72. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/PluginManager.py +0 -0
  73. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/PluginUtils.py +0 -0
  74. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/PrototypeDtsObject.py +0 -0
  75. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/PrototypeInstanceObject.py +0 -0
  76. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/PythonUtil.py +0 -0
  77. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/RuntimeOptions.py +0 -0
  78. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/SocketUtils.py +0 -0
  79. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/SystemInfo.py +0 -0
  80. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/TableStructure.py +0 -0
  81. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/TkTableWrapper.py +0 -0
  82. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/UITkTable.py +0 -0
  83. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/UiUtil.py +0 -0
  84. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/Updater.py +0 -0
  85. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/UrlUtil.py +0 -0
  86. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/Validate.py +0 -0
  87. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ValidateDuplicateFacts.py +0 -0
  88. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ValidateFilingText.py +0 -0
  89. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ValidateInfoset.py +0 -0
  90. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ValidateUtr.py +0 -0
  91. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ValidateVersReport.py +0 -0
  92. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ValidateXbrl.py +0 -0
  93. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ValidateXbrlCalcs.py +0 -0
  94. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ValidateXbrlDTS.py +0 -0
  95. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ValidateXbrlDimensions.py +0 -0
  96. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/Version.py +0 -0
  97. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewFile.py +0 -0
  98. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewFileConcepts.py +0 -0
  99. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewFileDTS.py +0 -0
  100. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewFileFactList.py +0 -0
  101. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewFileFactTable.py +0 -0
  102. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewFileFormulae.py +0 -0
  103. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewFileRelationshipSet.py +0 -0
  104. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewFileRenderedGrid.py +0 -0
  105. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewFileRenderedLayout.py +0 -0
  106. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewFileRenderedStructure.py +0 -0
  107. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewFileRoleTypes.py +0 -0
  108. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewFileRssFeed.py +0 -0
  109. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewFileTests.py +0 -0
  110. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewUtil.py +0 -0
  111. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewUtilFormulae.py +0 -0
  112. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinConcepts.py +0 -0
  113. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinDTS.py +0 -0
  114. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinDiffs.py +0 -0
  115. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinFactGrid.py +0 -0
  116. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinFactList.py +0 -0
  117. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinFactTable.py +0 -0
  118. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinFormulae.py +0 -0
  119. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinGrid.py +0 -0
  120. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinList.py +0 -0
  121. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinPane.py +0 -0
  122. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinProperties.py +0 -0
  123. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinRelationshipSet.py +0 -0
  124. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinRenderedGrid.py +0 -0
  125. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinRoleTypes.py +0 -0
  126. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinRssFeed.py +0 -0
  127. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinTests.py +0 -0
  128. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinTkTable.py +0 -0
  129. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinTree.py +0 -0
  130. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinTupleGrid.py +0 -0
  131. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinVersReport.py +0 -0
  132. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/ViewWinXml.py +0 -0
  133. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/WatchRss.py +0 -0
  134. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/WebCache.py +0 -0
  135. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/XbrlConst.py +0 -0
  136. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/XbrlUtil.py +0 -0
  137. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/XhtmlValidate.py +0 -0
  138. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/XmlUtil.py +0 -0
  139. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/XmlValidate.py +0 -0
  140. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/XmlValidateConst.py +0 -0
  141. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/XmlValidateParticles.py +0 -0
  142. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/XmlValidateSchema.py +0 -0
  143. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/__init__.py +0 -0
  144. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/api/Session.py +0 -0
  145. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/creationSoftwareNames.json +0 -0
  146. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/disclosuresystems.xml +0 -0
  147. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/disclosuresystems.xsd +0 -0
  148. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/edbody.dtd +0 -0
  149. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/empty-instance.xml +0 -0
  150. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/erxl.xsd +0 -0
  151. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/mappings.xml +0 -0
  152. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/mappings.xsd +0 -0
  153. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/sbr-text-formatting.xsd +0 -0
  154. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/xbrlschemafiles.xml +0 -0
  155. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/xhtml-lat1.ent +0 -0
  156. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/xhtml-special.ent +0 -0
  157. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/xhtml-symbol.ent +0 -0
  158. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/xhtml1-strict-ix.dtd +0 -0
  159. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/config/xhtml1_1-strict-ix.dtd +0 -0
  160. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/conformance/CSVTestcaseLoader.py +0 -0
  161. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/doc/messagesCatalog.xml +0 -0
  162. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/doc/messagesCatalog.xsd +0 -0
  163. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/formula/FactAspectsCache.py +0 -0
  164. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/formula/FormulaConsisAsser.py +0 -0
  165. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/formula/FormulaEvaluator.py +0 -0
  166. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/formula/ValidateFormula.py +0 -0
  167. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/formula/XPathContext.py +0 -0
  168. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/formula/XPathParser.py +0 -0
  169. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/formula/__init__.py +0 -0
  170. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/arelle-full-word.ico +0 -0
  171. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/arelle-mac-icon-4.gif +0 -0
  172. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/arelle-rtd.png +0 -0
  173. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/arelle-word-only.ico +0 -0
  174. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/arelle.gif +0 -0
  175. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/arelle.icns +0 -0
  176. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/arelle.icns.zip +0 -0
  177. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/arelle.ico +0 -0
  178. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/arelle.xbm +0 -0
  179. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/arelle128.psd +0 -0
  180. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/arelle16.psd +0 -0
  181. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/arelle16x16and32x32.ico +0 -0
  182. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/arelle32.gif +0 -0
  183. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/columnSortDown.gif +0 -0
  184. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/columnSortUp.gif +0 -0
  185. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/dmg_background.png +0 -0
  186. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/favicon.ico +0 -0
  187. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/octocat.png +0 -0
  188. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/python-clear.png +0 -0
  189. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/python-icon-pack-crystalxp.net-842.zip +0 -0
  190. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarClose.gif +0 -0
  191. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarCompare.gif +0 -0
  192. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarDelete.gif +0 -0
  193. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarFindMenu.gif +0 -0
  194. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarLogClear - 1-piece-top.gif +0 -0
  195. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarLogClear-orig.gif +0 -0
  196. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarLogClear.gif +0 -0
  197. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarNewFile.gif +0 -0
  198. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarOpenDatabase.gif +0 -0
  199. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarOpenFile.gif +0 -0
  200. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarOpenWeb.gif +0 -0
  201. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarProperties.gif +0 -0
  202. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarQuit.gif +0 -0
  203. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarReopen.gif +0 -0
  204. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarSaveFile.gif +0 -0
  205. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/toolbarValidate.gif +0 -0
  206. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/xbrl.gif +0 -0
  207. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/xbrl.psd +0 -0
  208. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/xbrl128-2.gif +0 -0
  209. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/xbrl128.gif +0 -0
  210. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/xbrl16.ico +0 -0
  211. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/images/xbrl32.ico +0 -0
  212. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/locale/ar_EG/LC_MESSAGES/ar_EG.po +0 -0
  213. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/locale/ar_EG/LC_MESSAGES/arelle.mo +0 -0
  214. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/locale/es/LC_MESSAGES/arelle.mo +0 -0
  215. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/locale/fr/LC_MESSAGES/arelle.mo +0 -0
  216. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/locale/fr/LC_MESSAGES/fr.po +0 -0
  217. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/locale/messages.mo +0 -0
  218. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/locale/messages.pot +0 -0
  219. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/locale/ru/LC_MESSAGES/arelle.mo +0 -0
  220. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/locale/ru/LC_MESSAGES/ru.po +0 -0
  221. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/logging/formatters/LogFormatter.py +0 -0
  222. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/logging/handlers/LogHandlerWithXml.py +0 -0
  223. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/logging/handlers/LogToBufferHandler.py +0 -0
  224. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/logging/handlers/LogToPrintHandler.py +0 -0
  225. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/logging/handlers/LogToXmlHandler.py +0 -0
  226. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/logging/handlers/StructuredMessageLogHandler.py +0 -0
  227. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/model/CommentBase.py +0 -0
  228. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/model/ElementBase.py +0 -0
  229. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/model/PIBase.py +0 -0
  230. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/model/__init__.py +0 -0
  231. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/oim/Load.py +0 -0
  232. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/oim/Validate.py +0 -0
  233. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/oim/xml/Save.py +0 -0
  234. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/packages/PackageConst.py +0 -0
  235. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/packages/PackageType.py +0 -0
  236. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/packages/PackageUtils.py +0 -0
  237. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/packages/PackageValidation.py +0 -0
  238. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/packages/report/DetectReportPackage.py +0 -0
  239. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/packages/report/ReportPackage.py +0 -0
  240. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/packages/report/ReportPackageConst.py +0 -0
  241. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/packages/report/ReportPackageValidator.py +0 -0
  242. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/CacheBuilder.py +0 -0
  243. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/EdgarRendererAllReports.py +0 -0
  244. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/ModelValueMore.py +0 -0
  245. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/ValidateDTS.py +0 -0
  246. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/ViewXbrlTxmyObj.py +0 -0
  247. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlAbstract.py +0 -0
  248. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlConcept.py +0 -0
  249. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlConst.py +0 -0
  250. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlCube.py +0 -0
  251. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlDimension.py +0 -0
  252. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlDts.py +0 -0
  253. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlEntity.py +0 -0
  254. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlGroup.py +0 -0
  255. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlImportedTaxonomy.py +0 -0
  256. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlLabel.py +0 -0
  257. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlNetwork.py +0 -0
  258. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlProperty.py +0 -0
  259. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlReference.py +0 -0
  260. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlReport.py +0 -0
  261. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlTableTemplate.py +0 -0
  262. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlTaxonomy.py +0 -0
  263. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlTaxonomyObject.py +0 -0
  264. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlTransform.py +0 -0
  265. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlTypes.py +0 -0
  266. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/XbrlUnit.py +0 -0
  267. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/__init__.py +0 -0
  268. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/resources/iso4217.json +0 -0
  269. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/resources/oim-taxonomy-schema.json +0 -0
  270. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/resources/ref.json +0 -0
  271. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/resources/transform-types.json +0 -0
  272. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/resources/types.json +0 -0
  273. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/resources/utr.json +0 -0
  274. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/OimTaxonomy/resources/xbrlSpec.json +0 -0
  275. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/SECCorrespondenceLoader.py +0 -0
  276. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/TDnetLoader.py +0 -0
  277. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/UKCompaniesHouseLoader.py +0 -0
  278. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/formulaLoader.py +0 -0
  279. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/formulaSaver.py +0 -0
  280. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/formulaXPathChecker.py +0 -0
  281. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/functionsMath.py +0 -0
  282. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/inlineXbrlDocumentSet.py +0 -0
  283. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/internet/proxyNTLM/HTTPNtlmAuthHandler.py +0 -0
  284. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/internet/proxyNTLM/U32.py +0 -0
  285. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/internet/proxyNTLM/__init__.py +0 -0
  286. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/internet/proxyNTLM/des.py +0 -0
  287. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/internet/proxyNTLM/des_c.py +0 -0
  288. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/internet/proxyNTLM/des_data.py +0 -0
  289. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/internet/proxyNTLM/lgpl-3.0-standalone.html +0 -0
  290. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/internet/proxyNTLM/ntlm.py +0 -0
  291. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/loadFromExcel.py +0 -0
  292. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/loadFromOIM.py +0 -0
  293. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/logging/dpmSignature.py +0 -0
  294. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/logging/dqcParameters.py +0 -0
  295. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/logging/saveMessages.py +0 -0
  296. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/profileCmdLine.py +0 -0
  297. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/profileFormula.py +0 -0
  298. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/saveCHComponentFile.py +0 -0
  299. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/saveDTS.py +0 -0
  300. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/saveHtmlEBAtables.py +0 -0
  301. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/saveLoadableExcel.py +0 -0
  302. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/saveLoadableOIM.py +0 -0
  303. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/saveOIMTaxonomy.py +0 -0
  304. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/saveSKOS.py +0 -0
  305. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/saveSampleInstance.py +0 -0
  306. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/security/cryptAES_CBC.py +0 -0
  307. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/security/cryptAES_EAX.py +0 -0
  308. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/streamingExtensions.py +0 -0
  309. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/systemInfo.py +0 -0
  310. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/transforms/tester.py +0 -0
  311. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/unpackSecEisFile.py +0 -0
  312. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/CIPC/Const.py +0 -0
  313. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/CIPC/__init__.py +0 -0
  314. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/CIPC/config.xml +0 -0
  315. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/DBA/DisclosureSystems.py +0 -0
  316. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/DBA/PluginValidationDataExtension.py +0 -0
  317. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/DBA/ValidationPluginExtension.py +0 -0
  318. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/DBA/__init__.py +0 -0
  319. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/DBA/resources/config.xml +0 -0
  320. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/DBA/rules/__init__.py +0 -0
  321. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/DBA/rules/fr.py +0 -0
  322. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/DBA/rules/tc.py +0 -0
  323. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/DBA/rules/th.py +0 -0
  324. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/DBA/rules/tm.py +0 -0
  325. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/DBA/rules/tr.py +0 -0
  326. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EBA/__init__.py +0 -0
  327. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EBA/config.xml +0 -0
  328. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/Constants.py +0 -0
  329. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/DisclosureSystems.py +0 -0
  330. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/ManifestInstance.py +0 -0
  331. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/ReportFolderType.py +0 -0
  332. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/Statement.py +0 -0
  333. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/__init__.py +0 -0
  334. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/resources/config.xml +0 -0
  335. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/resources/edinet-taxonomies.xml +0 -0
  336. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/rules/__init__.py +0 -0
  337. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/rules/contexts.py +0 -0
  338. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/rules/edinet.py +0 -0
  339. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/rules/frta.py +0 -0
  340. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/EDINET/rules/manifests.py +0 -0
  341. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ESEF/Const.py +0 -0
  342. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ESEF/Dimensions.py +0 -0
  343. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ESEF/ESEF_2021/DTS.py +0 -0
  344. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ESEF/ESEF_2021/Image.py +0 -0
  345. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ESEF/ESEF_2021/ValidateXbrlFinally.py +0 -0
  346. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ESEF/ESEF_2021/__init__.py +0 -0
  347. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ESEF/ESEF_Current/DTS.py +0 -0
  348. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ESEF/ESEF_Current/ValidateXbrlFinally.py +0 -0
  349. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ESEF/ESEF_Current/__init__.py +0 -0
  350. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ESEF/Util.py +0 -0
  351. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ESEF/__init__.py +0 -0
  352. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ESEF/resources/authority-validations.json +0 -0
  353. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ESEF/resources/config.xml +0 -0
  354. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/FERC/__init__.py +0 -0
  355. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/FERC/config.xml +0 -0
  356. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/FERC/resources/ferc-utr.xml +0 -0
  357. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/NL/DisclosureSystems.py +0 -0
  358. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/NL/PluginValidationDataExtension.py +0 -0
  359. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/NL/ValidationPluginExtension.py +0 -0
  360. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/NL/__init__.py +0 -0
  361. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/NL/resources/config.xml +0 -0
  362. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/NL/rules/__init__.py +0 -0
  363. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/NL/rules/br_kvk.py +0 -0
  364. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/NL/rules/fg_nl.py +0 -0
  365. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/NL/rules/fr_kvk.py +0 -0
  366. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/NL/rules/fr_nl.py +0 -0
  367. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/NL/rules/nl_kvk.py +0 -0
  368. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ROS/DisclosureSystems.py +0 -0
  369. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ROS/PluginValidationDataExtension.py +0 -0
  370. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ROS/ValidationPluginExtension.py +0 -0
  371. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ROS/__init__.py +0 -0
  372. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ROS/config.xml +0 -0
  373. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ROS/resources/config.xml +0 -0
  374. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/ROS/rules/__init__.py +0 -0
  375. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/UK/ValidateUK.py +0 -0
  376. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/UK/__init__.py +0 -0
  377. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/UK/config.xml +0 -0
  378. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/UK/consistencyChecksByName.json +0 -0
  379. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/validate/UK/hmrc-taxonomies.xml +0 -0
  380. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/DialogRssWatchExtender.py +0 -0
  381. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/SqlDb.py +0 -0
  382. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/XbrlDpmSqlDB.py +0 -0
  383. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/XbrlOpenSqlDB.py +0 -0
  384. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/XbrlPublicPostgresDB.py +0 -0
  385. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/XbrlSemanticGraphDB.py +0 -0
  386. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/XbrlSemanticJsonDB.py +0 -0
  387. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/XbrlSemanticRdfDB.py +0 -0
  388. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/XbrlSemanticSqlDB.py +0 -0
  389. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/__init__.py +0 -0
  390. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/entityInformation.py +0 -0
  391. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/ext/china.py +0 -0
  392. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/ext/edgar.py +0 -0
  393. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/ext/xdc.py +0 -0
  394. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/primaryDocumentFacts.py +0 -0
  395. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/sql/open/ext/chinaPostgresDB.ddl +0 -0
  396. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/sql/open/ext/edgarPostgresDB.ddl +0 -0
  397. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/sql/open/ext/xdcPostgresDB.ddl +0 -0
  398. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/sql/open/xbrlOpenPostgresDB.ddl +0 -0
  399. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/sql/open2/xbrlOpen2PostgresDB.ddl +0 -0
  400. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/sql/public/xbrlPublicPostgresDB.ddl +0 -0
  401. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/sql/semantic/secDatabaseModelViews.sql +0 -0
  402. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticColumnComments.ddl +0 -0
  403. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticMSSqlDB.sql +0 -0
  404. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticMySqlDB.ddl +0 -0
  405. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticOracleDB.sql +0 -0
  406. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticPostgresDB.ddl +0 -0
  407. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticSQLiteDB.ddl +0 -0
  408. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xbrlDB/tableFacts.py +0 -0
  409. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/plugin/xuleSaver.py +0 -0
  410. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/rendering/RenderingEvaluator.py +0 -0
  411. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/rendering/RenderingLayout.py +0 -0
  412. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/rendering/RenderingResolution.py +0 -0
  413. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.eurofiling.info/eu/fr/xbrl/ext/filing-indicators.xsd +0 -0
  414. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.w3.org/2001/03/xml.xsd +0 -0
  415. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.w3.org/2001/XMLSchema.xsd +0 -0
  416. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.w3.org/2001/xml.xsd +0 -0
  417. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd +0 -0
  418. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd +0 -0
  419. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2003/xl-2003-12-31.xsd +0 -0
  420. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2003/xlink-2003-12-31.xsd +0 -0
  421. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2004/ref-2004-08-10.xsd +0 -0
  422. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2005/xbrldt-2005.xsd +0 -0
  423. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2006/ref-2006-02-27.xsd +0 -0
  424. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2006/xbrldi-2006.xsd +0 -0
  425. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/boolean-filter.xsd +0 -0
  426. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/concept-filter.xsd +0 -0
  427. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/conformance.xsd +0 -0
  428. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/conformanceFunction.xsd +0 -0
  429. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/consistency-assertion.xsd +0 -0
  430. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/dimension-filter.xsd +0 -0
  431. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/entity-filter.xsd +0 -0
  432. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/existence-assertion.xsd +0 -0
  433. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/formula.xsd +0 -0
  434. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/function.xsd +0 -0
  435. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/general-filter.xsd +0 -0
  436. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/generic-label.xsd +0 -0
  437. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/generic-link.xsd +0 -0
  438. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/generic-reference.xsd +0 -0
  439. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xbrl-instance-2003-12-31-ixmod.xsd +0 -0
  440. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xbrl-linkbase-2003-12-31-ixmod.xsd +0 -0
  441. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xl-2003-12-31.xsd +0 -0
  442. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xlink-2003-12-31.xsd +0 -0
  443. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xframes-1.xsd +0 -0
  444. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-applet-1.xsd +0 -0
  445. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-attribs-1.xsd +0 -0
  446. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-base-1.xsd +0 -0
  447. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic-form-1.xsd +0 -0
  448. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic-table-1.xsd +0 -0
  449. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-model-1.xsd +0 -0
  450. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-module-redefines-1.xsd +0 -0
  451. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-modules-1.xsd +0 -0
  452. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10.xsd +0 -0
  453. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-bdo-1.xsd +0 -0
  454. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkphras-1.xsd +0 -0
  455. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkpres-1.xsd +0 -0
  456. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkstruct-1.xsd +0 -0
  457. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-charent-1.xsd +0 -0
  458. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-copyright-1.xsd +0 -0
  459. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-csismap-1.xsd +0 -0
  460. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-datatypes-1.xsd +0 -0
  461. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-edit-1.xsd +0 -0
  462. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-events-1.xsd +0 -0
  463. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-form-1.xsd +0 -0
  464. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-frames-1.xsd +0 -0
  465. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-framework-1.xsd +0 -0
  466. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-hypertext-1.xsd +0 -0
  467. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-iframe-1.xsd +0 -0
  468. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-image-1.xsd +0 -0
  469. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlphras-1.xsd +0 -0
  470. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlpres-1.xsd +0 -0
  471. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlstruct-1.xsd +0 -0
  472. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlstyle-1.xsd +0 -0
  473. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-legacy-1.xsd +0 -0
  474. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-link-1.xsd +0 -0
  475. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-list-1.xsd +0 -0
  476. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-meta-1.xsd +0 -0
  477. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-misc-1.xsd +0 -0
  478. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-nameident-1.xsd +0 -0
  479. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-notations-1.xsd +0 -0
  480. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-object-1.xsd +0 -0
  481. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-param-1.xsd +0 -0
  482. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-pres-1.xsd +0 -0
  483. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ruby-1.xsd +0 -0
  484. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ruby-basic-1.xsd +0 -0
  485. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-script-1.xsd +0 -0
  486. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ssismap-1.xsd +0 -0
  487. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-struct-1.xsd +0 -0
  488. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-style-1.xsd +0 -0
  489. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-table-1.xsd +0 -0
  490. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-target-1.xsd +0 -0
  491. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-text-1.xsd +0 -0
  492. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-model-1.xsd +0 -0
  493. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-module-redefines-1.xsd +0 -0
  494. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-modules-1.xsd +0 -0
  495. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11.xsd +0 -0
  496. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml2.xsd +0 -0
  497. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-1.xsd +0 -0
  498. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-2.xsd +0 -0
  499. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-attribs-1.xsd +0 -0
  500. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-attribs-2.xsd +0 -0
  501. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-copyright-1.xsd +0 -0
  502. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-copyright-2.xsd +0 -0
  503. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-handlers-2.xsd +0 -0
  504. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-definitions.xsd +0 -0
  505. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-model.xsd +0 -0
  506. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-modules.xsd +0 -0
  507. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0.xsd +0 -0
  508. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/match-filter.xsd +0 -0
  509. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/period-filter.xsd +0 -0
  510. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/registry.xsd +0 -0
  511. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/relative-filter.xsd +0 -0
  512. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/segment-scenario-filter.xsd +0 -0
  513. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/tuple-filter.xsd +0 -0
  514. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/unit-filter.xsd +0 -0
  515. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/validation.xsd +0 -0
  516. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/value-assertion.xsd +0 -0
  517. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/value-filter.xsd +0 -0
  518. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2008/variable.xsd +0 -0
  519. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2010/aspect-cover-filter.xsd +0 -0
  520. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2010/concept-relation-filter.xsd +0 -0
  521. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2010/custom-function-implementation.xsd +0 -0
  522. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2010/generic-message.xsd +0 -0
  523. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2010/validation-message.xsd +0 -0
  524. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xbrl-instance-2003-12-31-ixmod.xsd +0 -0
  525. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xbrl-linkbase-2003-12-31-ixmod.xsd +0 -0
  526. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xl-2003-12-31.xsd +0 -0
  527. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xlink-2003-12-31.xsd +0 -0
  528. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xframes-1.xsd +0 -0
  529. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-applet-1.xsd +0 -0
  530. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-attribs-1.xsd +0 -0
  531. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-base-1.xsd +0 -0
  532. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic-form-1.xsd +0 -0
  533. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic-table-1.xsd +0 -0
  534. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-model-1.xsd +0 -0
  535. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-module-redefines-1.xsd +0 -0
  536. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-modules-1.xsd +0 -0
  537. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10.xsd +0 -0
  538. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-bdo-1.xsd +0 -0
  539. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkphras-1.xsd +0 -0
  540. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkpres-1.xsd +0 -0
  541. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkstruct-1.xsd +0 -0
  542. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-charent-1.xsd +0 -0
  543. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-copyright-1.xsd +0 -0
  544. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-csismap-1.xsd +0 -0
  545. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-datatypes-1.xsd +0 -0
  546. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-edit-1.xsd +0 -0
  547. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-events-1.xsd +0 -0
  548. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-form-1.xsd +0 -0
  549. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-frames-1.xsd +0 -0
  550. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-framework-1.xsd +0 -0
  551. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-hypertext-1.xsd +0 -0
  552. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-iframe-1.xsd +0 -0
  553. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-image-1.xsd +0 -0
  554. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlphras-1.xsd +0 -0
  555. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlpres-1.xsd +0 -0
  556. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlstruct-1.xsd +0 -0
  557. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlstyle-1.xsd +0 -0
  558. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-legacy-1.xsd +0 -0
  559. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-link-1.xsd +0 -0
  560. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-list-1.xsd +0 -0
  561. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-meta-1.xsd +0 -0
  562. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-misc-1.xsd +0 -0
  563. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-nameident-1.xsd +0 -0
  564. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-notations-1.xsd +0 -0
  565. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-object-1.xsd +0 -0
  566. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-param-1.xsd +0 -0
  567. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-pres-1.xsd +0 -0
  568. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ruby-1.xsd +0 -0
  569. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ruby-basic-1.xsd +0 -0
  570. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-script-1.xsd +0 -0
  571. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ssismap-1.xsd +0 -0
  572. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-struct-1.xsd +0 -0
  573. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-style-1.xsd +0 -0
  574. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-table-1.xsd +0 -0
  575. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-target-1.xsd +0 -0
  576. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-text-1.xsd +0 -0
  577. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-model-1.xsd +0 -0
  578. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-module-redefines-1.xsd +0 -0
  579. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-modules-1.xsd +0 -0
  580. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11.xsd +0 -0
  581. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml2.xsd +0 -0
  582. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-1.xsd +0 -0
  583. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-2.xsd +0 -0
  584. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-attribs-1.xsd +0 -0
  585. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-attribs-2.xsd +0 -0
  586. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-copyright-1.xsd +0 -0
  587. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-copyright-2.xsd +0 -0
  588. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-handlers-2.xsd +0 -0
  589. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-definitions.xsd +0 -0
  590. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-model.xsd +0 -0
  591. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-modules.xsd +0 -0
  592. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1.xsd +0 -0
  593. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/match-filter.xsd +0 -0
  594. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/preferred-label.xsd +0 -0
  595. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-base.xsd +0 -0
  596. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-concept-details.xsd +0 -0
  597. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-concept-use.xsd +0 -0
  598. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-dimensions.xsd +0 -0
  599. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2014/extensible-enumerations.xsd +0 -0
  600. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2014/table.xsd +0 -0
  601. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2014/tablemodel.xsd +0 -0
  602. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2016/assertion-severity.xsd +0 -0
  603. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2016/severities.xml +0 -0
  604. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2016/taxonomy-package-catalog.xsd +0 -0
  605. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2016/taxonomy-package.xsd +0 -0
  606. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2022/assertion-severity.xsd +0 -0
  607. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/2022/severities.xml +0 -0
  608. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd +0 -0
  609. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/dtr/type/numeric-2009-12-16.xsd +0 -0
  610. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/accounting-arcrole-2023-01-04.xsd +0 -0
  611. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/deprecated-2009-12-16.xsd +0 -0
  612. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd +0 -0
  613. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd +0 -0
  614. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/jpfr-arcrole-2007-11-07.xsd +0 -0
  615. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/parent-child-2013-09-19.xsd +0 -0
  616. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd +0 -0
  617. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/role/jpfr-role-2007-11-07.xsd +0 -0
  618. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negated-2008-03-31.xsd +0 -0
  619. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negated-2009-12-16.xsd +0 -0
  620. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negative-2009-12-16.xsd +0 -0
  621. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/role/net-2009-12-16.xsd +0 -0
  622. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/role/positive-2009-12-16.xsd +0 -0
  623. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/role/property-2022-09-28.xsd +0 -0
  624. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/role/reference-2009-12-16.xsd +0 -0
  625. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/lrr/role/restated-2006-02-21.xsd +0 -0
  626. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/2012-01-30/utr.xml +0 -0
  627. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/2012-10-31/utr.xml +0 -0
  628. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/2012-11-30/utr.xml +0 -0
  629. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/2013-02-28/utr.xml +0 -0
  630. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/2013-05-17/utr.xml +0 -0
  631. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/2016-08-10/utr.xml +0 -0
  632. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/2017-07-12/utr.xml +0 -0
  633. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/2021-02-16/utr.xml +0 -0
  634. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/2021-12-08/utr.xml +0 -0
  635. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/2022-02-16/utr.xml +0 -0
  636. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/2022-07-20/utr.xml +0 -0
  637. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/2023-12-20/utr.xml +0 -0
  638. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/2024-01-31/utr.xml +0 -0
  639. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/2024-10-22/utr.xml +0 -0
  640. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/http/www.xbrl.org/utr/utr.xml +0 -0
  641. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/https/www.xbrl.org/2005/conformance.xsd +0 -0
  642. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/https/www.xbrl.org/2020/extensible-enumerations-2.0.xsd +0 -0
  643. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/https/www.xbrl.org/2023/calculation-1.1.xsd +0 -0
  644. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2020-01-21/types.xsd +0 -0
  645. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2022-03-31/types.xsd +0 -0
  646. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2024-01-31/types.xsd +0 -0
  647. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators-def.xml +0 -0
  648. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators-label.xml +0 -0
  649. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators.xsd +0 -0
  650. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/linux-x86_64/README.txt +0 -0
  651. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/linux-x86_64/html/tkTable.html +0 -0
  652. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/linux-x86_64/libTktable2.11.so +0 -0
  653. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/linux-x86_64/license.txt +0 -0
  654. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/linux-x86_64/pkgIndex.tcl +0 -0
  655. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/linux-x86_64/tkTable.tcl +0 -0
  656. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/linux-x86_64/tktable.py +0 -0
  657. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/macos-arm64/README.txt +0 -0
  658. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/macos-arm64/html/tkTable.html +0 -0
  659. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/macos-arm64/libTktable2.11.dylib +0 -0
  660. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/macos-arm64/license.txt +0 -0
  661. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/macos-arm64/pkgIndex.tcl +0 -0
  662. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/macos-arm64/tkTable.tcl +0 -0
  663. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/macos-arm64/tktable.py +0 -0
  664. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/macos-x86_64/README.txt +0 -0
  665. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/macos-x86_64/html/tkTable.html +0 -0
  666. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/macos-x86_64/libTktable2.11.dylib +0 -0
  667. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/macos-x86_64/license.txt +0 -0
  668. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/macos-x86_64/pkgIndex.tcl +0 -0
  669. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/macos-x86_64/tkTable.tcl +0 -0
  670. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/macos-x86_64/tktable.py +0 -0
  671. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/win-x86_64/Tktable.dll +0 -0
  672. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/win-x86_64/pkgIndex.tcl +0 -0
  673. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/resources/libs/Tktable2.11/win-x86_64/tkTable.tcl +0 -0
  674. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/typing.py +0 -0
  675. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/utils/Contexts.py +0 -0
  676. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/utils/EntryPointDetection.py +0 -0
  677. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/utils/Equivalence.py +0 -0
  678. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/utils/PluginData.py +0 -0
  679. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/utils/PluginHooks.py +0 -0
  680. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/utils/Units.py +0 -0
  681. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/utils/__init__.py +0 -0
  682. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/utils/validate/Decorator.py +0 -0
  683. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/utils/validate/DetectScriptsInXhtml.py +0 -0
  684. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/utils/validate/ESEFImage.py +0 -0
  685. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/utils/validate/Validation.py +0 -0
  686. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/utils/validate/ValidationPlugin.py +0 -0
  687. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/utils/validate/ValidationUtil.py +0 -0
  688. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/utils/validate/__init__.py +0 -0
  689. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/webserver/__init__.py +0 -0
  690. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle/webserver/bottle.py +0 -0
  691. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle_release.egg-info/SOURCES.txt +0 -0
  692. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle_release.egg-info/dependency_links.txt +0 -0
  693. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle_release.egg-info/entry_points.txt +0 -0
  694. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle_release.egg-info/requires.txt +0 -0
  695. {arelle_release-2.37.55 → arelle_release-2.37.56}/arelle_release.egg-info/top_level.txt +0 -0
  696. {arelle_release-2.37.55 → arelle_release-2.37.56}/pyproject.toml +0 -0
  697. {arelle_release-2.37.55 → arelle_release-2.37.56}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arelle-release
3
- Version: 2.37.55
3
+ Version: 2.37.56
4
4
  Summary: An open source XBRL platform.
5
5
  Author-email: "arelle.org" <support@arelle.org>
6
6
  License-Expression: Apache-2.0
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '2.37.55'
32
- __version_tuple__ = version_tuple = (2, 37, 55)
31
+ __version__ = version = '2.37.56'
32
+ __version_tuple__ = version_tuple = (2, 37, 56)
33
33
 
34
- __commit_id__ = commit_id = 'g122eb892b'
34
+ __commit_id__ = commit_id = 'g672ebed7e'
@@ -27,12 +27,14 @@ _: TypeGetText
27
27
  @dataclass
28
28
  class ControllerPluginData(PluginData):
29
29
  _manifestInstancesById: dict[str, ManifestInstance]
30
+ _uploadContents: UploadContents | None
30
31
  _usedFilepaths: set[Path]
31
32
 
32
33
  def __init__(self, name: str):
33
34
  super().__init__(name)
34
35
  self._manifestInstancesById = {}
35
36
  self._usedFilepaths = set()
37
+ self._uploadContents = None
36
38
 
37
39
  def __hash__(self) -> int:
38
40
  return id(self)
@@ -49,18 +51,21 @@ class ControllerPluginData(PluginData):
49
51
  """
50
52
  return list(self._manifestInstancesById.values())
51
53
 
52
- @lru_cache(1)
53
- def getUploadContents(self, fileSource: FileSource) -> UploadContents:
54
- uploadFilepaths = self.getUploadFilepaths(fileSource)
54
+ def getUploadContents(self) -> UploadContents | None:
55
+ return self._uploadContents
56
+
57
+ def setUploadContents(self, fileSource: FileSource) -> UploadContents:
55
58
  reports = defaultdict(list)
56
59
  uploadPaths = {}
57
- for path in uploadFilepaths:
60
+ for path, zipPath in self.getUploadFilepaths(fileSource).items():
58
61
  if len(path.parts) == 0:
59
62
  continue
63
+ assert isinstance(fileSource.basefile, str)
64
+ fullPath = Path(fileSource.basefile) / path
60
65
  parents = list(reversed([p.name for p in path.parents if len(p.name) > 0]))
61
66
  reportFolderType = None
62
67
  isCorrection = True
63
- isDirectory = len(path.suffix) == 0
68
+ isDirectory = zipPath.is_dir()
64
69
  isInSubdirectory = False
65
70
  reportPath = None
66
71
  if len(parents) > 0:
@@ -79,32 +84,43 @@ class ControllerPluginData(PluginData):
79
84
  if not isCorrection:
80
85
  reports[reportFolderType].append(path)
81
86
  uploadPaths[path] = UploadPathInfo(
87
+ fullPath=fullPath,
82
88
  isAttachment=reportFolderType is not None and reportFolderType.isAttachment,
83
89
  isCorrection=isCorrection,
84
90
  isCoverPage=not isDirectory and path.stem.startswith(Constants.COVER_PAGE_FILENAME_PREFIX),
85
- isDirectory=len(path.suffix) == 0,
91
+ isDirectory=isDirectory,
86
92
  isRoot=len(path.parts) == 1,
87
93
  isSubdirectory=isInSubdirectory or (isDirectory and reportFolderType is not None),
88
94
  path=path,
89
95
  reportFolderType=reportFolderType,
90
96
  reportPath=reportPath,
91
97
  )
92
- return UploadContents(
98
+ self._uploadContents = UploadContents(
93
99
  reports={k: frozenset(v) for k, v in reports.items() if len(v) > 0},
94
- uploadPaths=uploadPaths
100
+ uploadPaths=list(uploadPaths.values())
95
101
  )
102
+ return self._uploadContents
96
103
 
97
104
  @lru_cache(1)
98
- def getUploadFilepaths(self, fileSource: FileSource) -> list[Path]:
105
+ def getUploadFilepaths(self, fileSource: FileSource) -> dict[Path, zipfile.Path]:
99
106
  if not self.isUpload(fileSource):
100
- return []
101
- paths = set()
107
+ return {}
108
+ paths = {}
102
109
  assert isinstance(fileSource.fs, zipfile.ZipFile)
103
- for name in fileSource.fs.namelist():
104
- path = Path(name)
105
- paths.add(path)
106
- paths.update(path.parents)
107
- return sorted(paths)
110
+ # First, fill in paths from zip file list
111
+ for file in fileSource.fs.filelist:
112
+ zipPath = zipfile.Path(fileSource.fs, file.filename)
113
+ paths[Path(file.filename)] = zipPath
114
+ # Then, fill in any parent directories that weren't in file list
115
+ for path in list(paths):
116
+ for parent in path.parents:
117
+ if parent in paths:
118
+ continue
119
+ paths[parent] = zipfile.Path(fileSource.fs, parent.as_posix() + '/')
120
+ return {
121
+ path: paths[path]
122
+ for path in sorted(paths)
123
+ }
108
124
 
109
125
  @lru_cache(1)
110
126
  def getUploadFileSizes(self, fileSource: FileSource) -> dict[Path, int]:
@@ -35,6 +35,7 @@ from .Constants import CORPORATE_FORMS, FormType, xhtmlDtdExtension, PROHIBITED_
35
35
  from .ControllerPluginData import ControllerPluginData
36
36
  from .ManifestInstance import ManifestInstance
37
37
  from .Statement import Statement, STATEMENTS, BalanceSheet, StatementInstance, StatementType
38
+ from .UploadContents import UploadContents
38
39
 
39
40
  _: TypeGetText
40
41
 
@@ -309,7 +310,7 @@ class PluginValidationDataExtension(PluginData):
309
310
  for elt in modelDocument.xmlRootElement.iter():
310
311
  if not isinstance(elt, ModelObject):
311
312
  continue
312
- for attributeName in elt.attrib.keys():
313
+ for attributeName in elt.attrib:
313
314
  if attributeName in PROHIBITED_HTML_ATTRIBUTES:
314
315
  results.append((elt, str(attributeName)))
315
316
  return results
@@ -327,6 +328,10 @@ class PluginValidationDataExtension(PluginData):
327
328
  elts.append(elt)
328
329
  return elts
329
330
 
331
+ def getUploadContents(self, modelXbrl: ModelXbrl) -> UploadContents | None:
332
+ controllerPluginData = ControllerPluginData.get(modelXbrl.modelManager.cntlr, self.name)
333
+ return controllerPluginData.getUploadContents()
334
+
330
335
  @lru_cache(1)
331
336
  def getUriAttributeValues(self, modelDocument: ModelDocument) -> list[tuple[ModelObject, str, str]]:
332
337
  results: list[tuple[ModelObject, str, str]] = []
@@ -4,6 +4,7 @@ See COPYRIGHT.md for copyright information.
4
4
  from __future__ import annotations
5
5
 
6
6
  from dataclasses import dataclass
7
+ from functools import cached_property
7
8
  from pathlib import Path
8
9
 
9
10
  from .ReportFolderType import ReportFolderType
@@ -12,15 +13,30 @@ from .ReportFolderType import ReportFolderType
12
13
  @dataclass(frozen=True)
13
14
  class UploadContents:
14
15
  reports: dict[ReportFolderType, frozenset[Path]]
15
- uploadPaths: dict[Path, UploadPathInfo]
16
+ uploadPaths: list[UploadPathInfo]
16
17
 
17
18
  @property
18
19
  def sortedPaths(self) -> list[Path]:
19
- return sorted(self.uploadPaths.keys())
20
+ return sorted(uploadPath.path for uploadPath in self.uploadPaths)
21
+
22
+ @cached_property
23
+ def uploadPathsByFullPath(self) -> dict[Path, UploadPathInfo]:
24
+ return {
25
+ uploadPath.fullPath: uploadPath
26
+ for uploadPath in self.uploadPaths
27
+ }
28
+
29
+ @cached_property
30
+ def uploadPathsByPath(self) -> dict[Path, UploadPathInfo]:
31
+ return {
32
+ uploadPath.path: uploadPath
33
+ for uploadPath in self.uploadPaths
34
+ }
20
35
 
21
36
 
22
37
  @dataclass(frozen=True)
23
38
  class UploadPathInfo:
39
+ fullPath: Path
24
40
  isAttachment: bool
25
41
  isCorrection: bool
26
42
  isCoverPage: bool
@@ -37,6 +37,7 @@ class ValidationPluginExtension(ValidationPlugin):
37
37
  }, level=logging.INFO
38
38
  )
39
39
  pluginData = ControllerPluginData.get(filesource.cntlr, self.name)
40
+ pluginData.setUploadContents(filesource)
40
41
  entrypointFiles = []
41
42
  for instance in instances:
42
43
  pluginData.addManifestInstance(instance)
@@ -670,3 +670,34 @@ def rule_gfm_1_3_8(
670
670
  msg=_("The submitter-specific taxonomy has an embedded linkbase."),
671
671
  modelObject=embeddedElements
672
672
  )
673
+
674
+
675
+ @validation(
676
+ hook=ValidationHook.XBRL_FINALLY,
677
+ disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
678
+ )
679
+ def rule_gfm_1_5_6(
680
+ pluginData: PluginValidationDataExtension,
681
+ val: ValidateXbrl,
682
+ *args: Any,
683
+ **kwargs: Any,
684
+ ) -> Iterable[Validation]:
685
+ """
686
+ EDINET.EC5700W: [GFM 1.5.6] The length of a label must be less than 511 characters unless it its role is documentation.
687
+ """
688
+ labelRelationshipSet = val.modelXbrl.relationshipSet(XbrlConst.conceptLabel)
689
+ if labelRelationshipSet is None:
690
+ return
691
+ for concept in val.modelXbrl.qnameConcepts.values():
692
+ labelRels = labelRelationshipSet.fromModelObject(concept)
693
+ for rel in labelRels:
694
+ label = rel.toModelObject
695
+ if label.role != XbrlConst.documentationLabel and label.viewText() is not None and len(label.viewText()) > 511:
696
+ yield Validation.warning(
697
+ codes='EDINET.EC5700W.GFM.1.5.6',
698
+ msg=_("The concept of '%(concept)s' has a label classified as '%(role)s' that is longer than 511 characters: %(label)s"),
699
+ concept=concept.qname,
700
+ role=label.role,
701
+ label=label.viewText(),
702
+ modelObject=label
703
+ )
@@ -122,8 +122,10 @@ def rule_EC0100E(
122
122
  For this implementation, we will allow all directories that may be valid for at least one submission type.
123
123
  This allows for a false-negative outcome when a non-correction submission has a correction-only root directory.
124
124
  """
125
- uploadContents = pluginData.getUploadContents(fileSource)
126
- for path, pathInfo in uploadContents.uploadPaths.items():
125
+ uploadContents = pluginData.getUploadContents()
126
+ if uploadContents is None:
127
+ return
128
+ for path, pathInfo in uploadContents.uploadPathsByPath.items():
127
129
  if pathInfo.isRoot and path.name not in ALLOWED_ROOT_FOLDERS:
128
130
  yield Validation.error(
129
131
  codes='EDINET.EC0100E',
@@ -153,8 +155,8 @@ def rule_EC0124E_EC0187E(
153
155
  """
154
156
  uploadFilepaths = pluginData.getUploadFilepaths(fileSource)
155
157
  emptyDirectories = []
156
- for path in uploadFilepaths:
157
- if path.suffix:
158
+ for path, zipPath in uploadFilepaths.items():
159
+ if not zipPath.is_dir():
158
160
  continue
159
161
  if not any(path in p.parents for p in uploadFilepaths):
160
162
  emptyDirectories.append(path)
@@ -227,8 +229,10 @@ def rule_EC0130E(
227
229
  """
228
230
  EDINET.EC0130E: File extensions must match the file extensions allowed in Figure 2-1-3 and Figure 2-1-5.
229
231
  """
230
- uploadContents = pluginData.getUploadContents(fileSource)
231
- for path, pathInfo in uploadContents.uploadPaths.items():
232
+ uploadContents = pluginData.getUploadContents()
233
+ if uploadContents is None:
234
+ return
235
+ for path, pathInfo in uploadContents.uploadPathsByPath.items():
232
236
  if pathInfo.reportFolderType is None or pathInfo.isDirectory:
233
237
  continue
234
238
  validExtensions = pathInfo.reportFolderType.getValidExtensions(pathInfo.isCorrection, pathInfo.isSubdirectory)
@@ -265,7 +269,9 @@ def rule_EC0132E(
265
269
  """
266
270
  EDINET.EC0132E: Store the manifest file directly under the relevant folder.
267
271
  """
268
- uploadContents = pluginData.getUploadContents(fileSource)
272
+ uploadContents = pluginData.getUploadContents()
273
+ if uploadContents is None:
274
+ return
269
275
  for reportFolderType, paths in uploadContents.reports.items():
270
276
  if reportFolderType.isAttachment:
271
277
  continue
@@ -353,8 +359,10 @@ def rule_EC0192E(
353
359
  PublicDoc cover file. Please delete the cover file from PrivateDoc and upload
354
360
  it again.
355
361
  """
356
- uploadContents = pluginData.getUploadContents(fileSource)
357
- for path, pathInfo in uploadContents.uploadPaths.items():
362
+ uploadContents = pluginData.getUploadContents()
363
+ if uploadContents is None:
364
+ return
365
+ for path, pathInfo in uploadContents.uploadPathsByPath.items():
358
366
  if not pathInfo.isCoverPage:
359
367
  continue
360
368
  # Only applies to PrivateDoc correction reports
@@ -383,8 +391,8 @@ def rule_EC0198E(
383
391
  """
384
392
  fileCounts: dict[Path, int] = defaultdict(int)
385
393
  uploadFilepaths = pluginData.getUploadFilepaths(fileSource)
386
- for path in uploadFilepaths:
387
- if len(path.suffix) == 0:
394
+ for path, zipPath in uploadFilepaths.items():
395
+ if zipPath.is_dir():
388
396
  continue
389
397
  for directory in FILE_COUNT_LIMITS.keys():
390
398
  if directory in path.parents:
@@ -421,10 +429,12 @@ def rule_EC0233E(
421
429
  NOTE: This includes files in subdirectories. For example, PublicDoc/00000000_images/image.png
422
430
  comes before PublicDoc/0000000_header_*.htm
423
431
  """
424
- uploadContents = pluginData.getUploadContents(fileSource)
432
+ uploadContents = pluginData.getUploadContents()
433
+ if uploadContents is None:
434
+ return
425
435
  directories = defaultdict(list)
426
436
  for path in uploadContents.sortedPaths:
427
- pathInfo = uploadContents.uploadPaths[path]
437
+ pathInfo = uploadContents.uploadPathsByPath[path]
428
438
  if pathInfo.isDirectory:
429
439
  continue
430
440
  if pathInfo.reportFolderType in (ReportFolderType.PRIVATE_DOC, ReportFolderType.PUBLIC_DOC):
@@ -462,8 +472,10 @@ def rule_EC0234E(
462
472
  """
463
473
  EDINET.EC0234E: A cover file exists in an unsupported subdirectory.
464
474
  """
465
- uploadContents = pluginData.getUploadContents(fileSource)
466
- for path, pathInfo in uploadContents.uploadPaths.items():
475
+ uploadContents = pluginData.getUploadContents()
476
+ if uploadContents is None:
477
+ return
478
+ for path, pathInfo in uploadContents.uploadPathsByPath.items():
467
479
  if pathInfo.isDirectory:
468
480
  continue
469
481
  if pathInfo.reportFolderType not in (ReportFolderType.PRIVATE_DOC, ReportFolderType.PUBLIC_DOC):
@@ -549,14 +561,16 @@ def rule_EC0349E(
549
561
  EDINET.EC0349E: An unexpected directory or file exists in the XBRL directory.
550
562
  Only PublicDoc, PrivateDoc, or AuditDoc directories may exist beneath the XBRL directory.
551
563
  """
552
- uploadContent = pluginData.getUploadContents(fileSource)
564
+ uploadContents = pluginData.getUploadContents()
565
+ if uploadContents is None:
566
+ return
553
567
  xbrlDirectoryPath = Path('XBRL')
554
568
  allowedPaths = {p.xbrlDirectory for p in (
555
569
  ReportFolderType.AUDIT_DOC,
556
570
  ReportFolderType.PRIVATE_DOC,
557
571
  ReportFolderType.PUBLIC_DOC,
558
572
  )}
559
- for path, pathInfo in uploadContent.uploadPaths.items():
573
+ for path, pathInfo in uploadContents.uploadPathsByPath.items():
560
574
  if path.parent != xbrlDirectoryPath:
561
575
  continue
562
576
  if path not in allowedPaths:
@@ -583,8 +597,10 @@ def rule_EC0352E(
583
597
  """
584
598
  EDINET.EC0352E: An XBRL file with an invalid name exists.
585
599
  """
586
- uploadContent = pluginData.getUploadContents(fileSource)
587
- for path, pathInfo in uploadContent.uploadPaths.items():
600
+ uploadContents = pluginData.getUploadContents()
601
+ if uploadContents is None:
602
+ return
603
+ for path, pathInfo in uploadContents.uploadPathsByPath.items():
588
604
  if (
589
605
  pathInfo.isDirectory or
590
606
  pathInfo.isCorrection or
@@ -603,6 +619,43 @@ def rule_EC0352E(
603
619
  )
604
620
 
605
621
 
622
+ @validation(
623
+ hook=ValidationHook.XBRL_FINALLY,
624
+ disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
625
+ )
626
+ def rules_cover_page(
627
+ pluginData: PluginValidationDataExtension,
628
+ val: ValidateXbrl,
629
+ *args: Any,
630
+ **kwargs: Any,
631
+ ) -> Iterable[Validation]:
632
+ """
633
+ EDINET.EC1000E: Cover page must contain "【表紙】".
634
+ """
635
+ uploadContents = pluginData.getUploadContents(val.modelXbrl)
636
+ if uploadContents is None:
637
+ return
638
+ for url, doc in val.modelXbrl.urlDocs.items():
639
+ path = Path(url)
640
+ pathInfo = uploadContents.uploadPathsByFullPath.get(path)
641
+ if pathInfo is None or not pathInfo.isCoverPage:
642
+ continue
643
+ rootElt = doc.xmlRootElement
644
+ coverPageTextFound = False
645
+ for elt in rootElt.iterdescendants():
646
+ if not coverPageTextFound and elt.text and '【表紙】' in elt.text:
647
+ coverPageTextFound = True
648
+ # TODO: Other checks related to the cover page will be implemented here.
649
+ if not coverPageTextFound:
650
+ yield Validation.error(
651
+ codes='EDINET.EC1000E',
652
+ msg=_("There is no '【表紙】' on the cover page. "
653
+ "File name: '%(file)s'. "
654
+ "Please add '【表紙】' to the relevant file."),
655
+ file=doc.basename,
656
+ )
657
+
658
+
606
659
  @validation(
607
660
  hook=ValidationHook.XBRL_FINALLY,
608
661
  disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
@@ -644,8 +697,13 @@ def rule_uri_references(
644
697
  """
645
698
  EDINET.EC1007E: The URI in the HTML specifies a URL or absolute path.
646
699
  EDINET.EC1013E: The URI in the HTML specifies a path not under a subdirectory.
647
- EDINET.EC1014E: The URI in the HTML specifies a path to a file that doesn't exist.
700
+ EDINET.EC1014E: The URI in the HTML specifies a path to a directory.
701
+ EDINET.EC1021E: The URI in the HTML specifies a path to a file that doesn't exist.
702
+ EDINET.EC1023E: The URI in the HTML specifies a path to a PDF file.
648
703
  """
704
+ uploadContents = pluginData.getUploadContents(val.modelXbrl)
705
+ if uploadContents is None:
706
+ return
649
707
  for uriReference in pluginData.uriReferences:
650
708
  if UrlUtil.isAbsolute(uriReference.attributeValue):
651
709
  yield Validation.error(
@@ -671,10 +729,11 @@ def rule_uri_references(
671
729
  )
672
730
  continue
673
731
  fullPath = Path(uriReference.document.uri).parent / path
674
- if not val.modelXbrl.fileSource.exists(str(fullPath)):
732
+ pathInfo = uploadContents.uploadPathsByFullPath.get(fullPath)
733
+ if pathInfo is not None and pathInfo.isDirectory:
675
734
  yield Validation.error(
676
735
  codes='EDINET.EC1014E',
677
- msg=_("The URI in the HTML specifies a path to a file that doesn't exist. "
736
+ msg=_("The URI in the HTML specifies a path to a directory. "
678
737
  "File name: '%(file)s' (line %(line)s). "
679
738
  "Please update the URI to reference a file."),
680
739
  file=uriReference.document.basename,
@@ -682,6 +741,29 @@ def rule_uri_references(
682
741
  modelObject=uriReference.element,
683
742
  )
684
743
  continue
744
+ if path.suffix.lower() == '.pdf':
745
+ yield Validation.error(
746
+ codes='EDINET.EC1023E',
747
+ msg=_("The URI in the HTML specifies a path to a PDF file. "
748
+ "File name: '%(file)s' (line %(line)s). "
749
+ "Please remove the link from the relevant file."),
750
+ file=uriReference.document.basename,
751
+ line=uriReference.element.sourceline,
752
+ modelObject=uriReference.element,
753
+ )
754
+ continue
755
+ if not val.modelXbrl.fileSource.exists(str(fullPath)):
756
+ yield Validation.error(
757
+ codes='EDINET.EC1021E',
758
+ msg=_("The linked file ('%(path)s') does not exist. "
759
+ "File name: '%(file)s' (line %(line)s). "
760
+ "Please update the URI to reference a file."),
761
+ path=str(path),
762
+ file=uriReference.document.basename,
763
+ line=uriReference.element.sourceline,
764
+ modelObject=uriReference.element,
765
+ )
766
+ continue
685
767
 
686
768
 
687
769
  @validation(
@@ -727,10 +809,12 @@ def rule_EC1017E(
727
809
  """
728
810
  EDINET.EC1017E: There is an unused file.
729
811
  """
730
- uploadContents = pluginData.getUploadContents(fileSource)
812
+ uploadContents = pluginData.getUploadContents()
813
+ if uploadContents is None:
814
+ return
731
815
  existingSubdirectoryFilepaths = {
732
816
  path
733
- for path, pathInfo in uploadContents.uploadPaths.items()
817
+ for path, pathInfo in uploadContents.uploadPathsByPath.items()
734
818
  if pathInfo.isSubdirectory and not pathInfo.isDirectory
735
819
  }
736
820
  usedFilepaths = pluginData.getUsedFilepaths()
@@ -810,7 +894,7 @@ def rule_EC1031E(
810
894
  msg=_("Prohibited attribute '%(attributeName)s' is used in HTML. "
811
895
  "File name: %(file)s (line %(line)s). "
812
896
  "Please correct the tag attributes of the relevant file."),
813
- attributeName=elt.qname.localName,
897
+ attributeName=attributeName,
814
898
  file=doc.basename,
815
899
  line=elt.sourceline,
816
900
  modelObject=elt,
@@ -838,7 +922,10 @@ def rule_filenames(
838
922
  than those allowed (alphanumeric characters, '-' and '_').
839
923
  Note: Applies ONLY to files directly beneath non-correction report folders.
840
924
  """
841
- for path, pathInfo in pluginData.getUploadContents(fileSource).uploadPaths.items():
925
+ uploadContents = pluginData.getUploadContents()
926
+ if uploadContents is None:
927
+ return
928
+ for path, pathInfo in uploadContents.uploadPathsByPath.items():
842
929
  isReportFile = (
843
930
  not pathInfo.isAttachment and
844
931
  not pathInfo.isCorrection and
@@ -302,14 +302,14 @@ def rule_ros19(
302
302
  equity_facts = val.modelXbrl.factsByLocalName.get(EQUITY, set())
303
303
  largest_equity_fact = None
304
304
  for e_fact in equity_facts:
305
- if e_fact.xValid >= VALID:
305
+ if e_fact.xValid >= VALID and e_fact.xValue is not None:
306
306
  if largest_equity_fact is None or abs(convertToDecimal(e_fact.xValue)) > abs(convertToDecimal(largest_equity_fact.xValue)):
307
307
  largest_equity_fact = e_fact
308
308
 
309
309
  turnover_facts = val.modelXbrl.factsByLocalName.get(TURNOVER_REVENUE, set())
310
310
  largest_turnover_fact = None
311
311
  for t_fact in turnover_facts:
312
- if t_fact.xValid >= VALID:
312
+ if t_fact.xValid >= VALID and t_fact.xValue is not None:
313
313
  if largest_turnover_fact is None or convertToDecimal(t_fact.xValue) > convertToDecimal(largest_turnover_fact.xValue):
314
314
  largest_turnover_fact = t_fact
315
315
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arelle-release
3
- Version: 2.37.55
3
+ Version: 2.37.56
4
4
  Summary: An open source XBRL platform.
5
5
  Author-email: "arelle.org" <support@arelle.org>
6
6
  License-Expression: Apache-2.0