@exini/dicom-streams-js 3.0.9 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/RELEASE-NOTES.md +10 -0
  2. package/coverage/base.css +224 -0
  3. package/coverage/block-navigation.js +87 -0
  4. package/coverage/dicom-streams-js/index.html +116 -0
  5. package/coverage/favicon.png +0 -0
  6. package/coverage/index.html +146 -0
  7. package/coverage/prettify.css +1 -0
  8. package/coverage/prettify.js +2 -0
  9. package/coverage/sort-arrow-sprite.png +0 -0
  10. package/coverage/sorter.js +196 -0
  11. package/dist/LICENSE +201 -0
  12. package/dist/README.md +157 -0
  13. package/{lib → dist/lib}/base.d.ts +0 -1
  14. package/{lib → dist/lib}/base.js +64 -65
  15. package/dist/lib/base.js.map +1 -0
  16. package/{lib → dist/lib}/byte-parser.d.ts +0 -1
  17. package/dist/lib/byte-parser.js.map +1 -0
  18. package/{lib → dist/lib}/character-sets.d.ts +0 -1
  19. package/{lib → dist/lib}/character-sets.js.map +1 -1
  20. package/{lib → dist/lib}/collect-flow.d.ts +0 -1
  21. package/{lib → dist/lib}/collect-flow.js +5 -6
  22. package/dist/lib/collect-flow.js.map +1 -0
  23. package/{lib → dist/lib}/detour.d.ts +0 -1
  24. package/dist/lib/detour.js.map +1 -0
  25. package/{lib → dist/lib}/dicom-elements.d.ts +0 -1
  26. package/dist/lib/dicom-elements.js.map +1 -0
  27. package/{lib → dist/lib}/dicom-flow.d.ts +5 -9
  28. package/{lib → dist/lib}/dicom-flow.js +20 -21
  29. package/dist/lib/dicom-flow.js.map +1 -0
  30. package/{lib → dist/lib}/dicom-flows.d.ts +0 -1
  31. package/{lib → dist/lib}/dicom-flows.js +14 -14
  32. package/dist/lib/dicom-flows.js.map +1 -0
  33. package/{lib → dist/lib}/dicom-parts.d.ts +0 -1
  34. package/dist/lib/dicom-parts.js.map +1 -0
  35. package/{lib → dist/lib}/element-flows.js +1 -2
  36. package/dist/lib/element-flows.js.map +1 -0
  37. package/{lib → dist/lib}/element-sink.d.ts +0 -1
  38. package/{lib → dist/lib}/element-sink.js +1 -2
  39. package/dist/lib/element-sink.js.map +1 -0
  40. package/dist/lib/elements-builder.js.map +1 -0
  41. package/{lib → dist/lib}/elements.d.ts +0 -1
  42. package/{lib → dist/lib}/elements.js +2 -2
  43. package/dist/lib/elements.js.map +1 -0
  44. package/{lib → dist/lib}/flows.d.ts +0 -1
  45. package/{lib → dist/lib}/flows.js +8 -9
  46. package/dist/lib/flows.js.map +1 -0
  47. package/{lib → dist/lib}/lookup.js +1 -1
  48. package/dist/lib/lookup.js.map +1 -0
  49. package/{lib → dist/lib}/modify-flow.d.ts +0 -1
  50. package/{lib → dist/lib}/modify-flow.js +2 -2
  51. package/dist/lib/modify-flow.js.map +1 -0
  52. package/{lib → dist/lib}/parse-flow.js +1 -2
  53. package/dist/lib/parse-flow.js.map +1 -0
  54. package/{lib → dist/lib}/parser.d.ts +0 -1
  55. package/{lib → dist/lib}/parser.js +36 -4
  56. package/dist/lib/parser.js.map +1 -0
  57. package/{lib → dist/lib}/parsing.d.ts +0 -1
  58. package/{lib → dist/lib}/parsing.js +9 -9
  59. package/dist/lib/parsing.js.map +1 -0
  60. package/{lib → dist/lib}/sinks.d.ts +0 -2
  61. package/{lib → dist/lib}/sinks.js +3 -4
  62. package/dist/lib/sinks.js.map +1 -0
  63. package/{lib → dist/lib}/sources.d.ts +0 -1
  64. package/{lib → dist/lib}/sources.js +2 -3
  65. package/dist/lib/sources.js.map +1 -0
  66. package/dist/lib/tag-path-like.js.map +1 -0
  67. package/dist/lib/tag-path.js.map +1 -0
  68. package/{lib → dist/lib}/tag-to-vr.js +1 -1
  69. package/dist/lib/tag-to-vr.js.map +1 -0
  70. package/dist/lib/tag-tree.js.map +1 -0
  71. package/{lib → dist/lib}/tag.js +448 -448
  72. package/dist/lib/tag.js.map +1 -0
  73. package/{lib → dist/lib}/uid-to-name.js +1 -1
  74. package/dist/lib/uid-to-name.js.map +1 -0
  75. package/{lib → dist/lib}/uid.js +71 -71
  76. package/dist/lib/uid.js.map +1 -0
  77. package/{lib → dist/lib}/value.d.ts +0 -1
  78. package/{lib → dist/lib}/value.js +2 -2
  79. package/dist/lib/value.js.map +1 -0
  80. package/{lib → dist/lib}/vr.js +1 -1
  81. package/dist/lib/vr.js.map +1 -0
  82. package/{node → dist/node}/index.js +693 -670
  83. package/dist/node/index.js.map +1 -0
  84. package/dist/node/index.min.js +1 -0
  85. package/dist/package.json +92 -0
  86. package/{web → dist/web}/index.js +706 -683
  87. package/dist/web/index.js.map +1 -0
  88. package/dist/web/index.min.js +2 -0
  89. package/{web → dist/web}/index.min.js.LICENSE.txt +1 -1
  90. package/example/data-model.png +0 -0
  91. package/example/detour-example.js +52 -0
  92. package/example/image/example-eb.dcm +0 -0
  93. package/example/image/example-ed.dcm +0 -0
  94. package/example/image/example-el-delimited.dcm +0 -0
  95. package/example/image/example-el.dcm +0 -0
  96. package/example/image/example-il.dcm +0 -0
  97. package/example/parse-log.js +13 -0
  98. package/example/parse-modify-log.js +43 -0
  99. package/example/parse-modify-write.js +40 -0
  100. package/package.json +11 -11
  101. package/typings/dicom-character-set/index.d.ts +5 -0
  102. package/typings/multipipe/index.d.ts +4 -0
  103. package/lib/base.js.map +0 -1
  104. package/lib/byte-parser.js.map +0 -1
  105. package/lib/collect-flow.js.map +0 -1
  106. package/lib/detour.js.map +0 -1
  107. package/lib/dicom-elements.js.map +0 -1
  108. package/lib/dicom-flow.js.map +0 -1
  109. package/lib/dicom-flows.js.map +0 -1
  110. package/lib/dicom-parts.js.map +0 -1
  111. package/lib/element-flows.js.map +0 -1
  112. package/lib/element-sink.js.map +0 -1
  113. package/lib/elements-builder.js.map +0 -1
  114. package/lib/elements.js.map +0 -1
  115. package/lib/flows.js.map +0 -1
  116. package/lib/lookup.js.map +0 -1
  117. package/lib/modify-flow.js.map +0 -1
  118. package/lib/parse-flow.js.map +0 -1
  119. package/lib/parser.js.map +0 -1
  120. package/lib/parsing.js.map +0 -1
  121. package/lib/sinks.js.map +0 -1
  122. package/lib/sources.js.map +0 -1
  123. package/lib/tag-path-like.js.map +0 -1
  124. package/lib/tag-path.js.map +0 -1
  125. package/lib/tag-to-vr.js.map +0 -1
  126. package/lib/tag-tree.js.map +0 -1
  127. package/lib/tag.js.map +0 -1
  128. package/lib/uid-to-name.js.map +0 -1
  129. package/lib/uid.js.map +0 -1
  130. package/lib/value.js.map +0 -1
  131. package/lib/vr.js.map +0 -1
  132. package/node/index.js.map +0 -1
  133. package/node/index.min.js +0 -1
  134. package/web/index.js.map +0 -1
  135. package/web/index.min.js +0 -2
  136. /package/{lib → dist/lib}/byte-parser.js +0 -0
  137. /package/{lib → dist/lib}/character-sets.js +0 -0
  138. /package/{lib → dist/lib}/detour.js +0 -0
  139. /package/{lib → dist/lib}/dicom-elements.js +0 -0
  140. /package/{lib → dist/lib}/dicom-parts.js +0 -0
  141. /package/{lib → dist/lib}/element-flows.d.ts +0 -0
  142. /package/{lib → dist/lib}/elements-builder.d.ts +0 -0
  143. /package/{lib → dist/lib}/elements-builder.js +0 -0
  144. /package/{lib → dist/lib}/index.d.ts +0 -0
  145. /package/{lib → dist/lib}/index.js +0 -0
  146. /package/{lib → dist/lib}/index.js.map +0 -0
  147. /package/{lib → dist/lib}/lookup.d.ts +0 -0
  148. /package/{lib → dist/lib}/parse-flow.d.ts +0 -0
  149. /package/{lib → dist/lib}/person-name.d.ts +0 -0
  150. /package/{lib → dist/lib}/person-name.js +0 -0
  151. /package/{lib → dist/lib}/person-name.js.map +0 -0
  152. /package/{lib → dist/lib}/tag-path-like.d.ts +0 -0
  153. /package/{lib → dist/lib}/tag-path-like.js +0 -0
  154. /package/{lib → dist/lib}/tag-path.d.ts +0 -0
  155. /package/{lib → dist/lib}/tag-path.js +0 -0
  156. /package/{lib → dist/lib}/tag-to-vr.d.ts +0 -0
  157. /package/{lib → dist/lib}/tag-tree.d.ts +0 -0
  158. /package/{lib → dist/lib}/tag-tree.js +0 -0
  159. /package/{lib → dist/lib}/tag.d.ts +0 -0
  160. /package/{lib → dist/lib}/uid-to-name.d.ts +0 -0
  161. /package/{lib → dist/lib}/uid.d.ts +0 -0
  162. /package/{lib → dist/lib}/vr.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","mappings":"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O,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,OAAO,EAAE,OAAE,CAAC,EAAE;IACd,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,QAAQ,EAAE,OAAE,CAAC,EAAE;IACf,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,SAAS,EAAE,OAAE,CAAC,EAAE;IAChB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,CAAC,EAAE;IACjB,UAAU,EAAE,OAAE,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","sources":["webpack://@exini/dicom-streams-js/./src/base.ts","webpack://@exini/dicom-streams-js/./src/byte-parser.ts","webpack://@exini/dicom-streams-js/./src/character-sets.ts","webpack://@exini/dicom-streams-js/./src/collect-flow.ts","webpack://@exini/dicom-streams-js/./src/detour.ts","webpack://@exini/dicom-streams-js/./src/dicom-elements.ts","webpack://@exini/dicom-streams-js/./src/dicom-flow.ts","webpack://@exini/dicom-streams-js/./src/dicom-flows.ts","webpack://@exini/dicom-streams-js/./src/dicom-parts.ts","webpack://@exini/dicom-streams-js/./src/element-flows.ts","webpack://@exini/dicom-streams-js/./src/element-sink.ts","webpack://@exini/dicom-streams-js/./src/elements-builder.ts","webpack://@exini/dicom-streams-js/./src/elements.ts","webpack://@exini/dicom-streams-js/./src/flows.ts","webpack://@exini/dicom-streams-js/./src/index.ts","webpack://@exini/dicom-streams-js/./src/lookup.ts","webpack://@exini/dicom-streams-js/./src/modify-flow.ts","webpack://@exini/dicom-streams-js/./src/parse-flow.ts","webpack://@exini/dicom-streams-js/./src/parser.ts","webpack://@exini/dicom-streams-js/./src/parsing.ts","webpack://@exini/dicom-streams-js/./src/person-name.ts","webpack://@exini/dicom-streams-js/./src/sinks.ts","webpack://@exini/dicom-streams-js/./src/sources.ts","webpack://@exini/dicom-streams-js/./src/tag-path-like.ts","webpack://@exini/dicom-streams-js/./src/tag-path.ts","webpack://@exini/dicom-streams-js/./src/tag-to-vr.ts","webpack://@exini/dicom-streams-js/./src/tag-tree.ts","webpack://@exini/dicom-streams-js/./src/tag.ts","webpack://@exini/dicom-streams-js/./src/uid-to-name.ts","webpack://@exini/dicom-streams-js/./src/uid.ts","webpack://@exini/dicom-streams-js/./src/value.ts","webpack://@exini/dicom-streams-js/./src/vr.ts","webpack://@exini/dicom-streams-js/external commonjs \"dicom-character-set\"","webpack://@exini/dicom-streams-js/external commonjs \"js-joda\"","webpack://@exini/dicom-streams-js/external commonjs \"multipipe\"","webpack://@exini/dicom-streams-js/external commonjs \"uuid\"","webpack://@exini/dicom-streams-js/external node-commonjs \"stream\"","webpack://@exini/dicom-streams-js/external node-commonjs \"zlib\"","webpack://@exini/dicom-streams-js/webpack/bootstrap","webpack://@exini/dicom-streams-js/webpack/before-startup","webpack://@exini/dicom-streams-js/webpack/startup","webpack://@exini/dicom-streams-js/webpack/after-startup"],"sourcesContent":["import { ZoneId } from 'js-joda';\nimport mpipe from 'multipipe';\nimport { v4 as uuidv4, v5 as uuidv5 } from 'uuid';\nimport * as CS from './character-sets';\nimport { Lookup } from './lookup';\nimport { Tag } from './tag';\nimport { UID } from './uid';\nimport { VR } from './vr';\n\n// eslint:disable: no-bitwise\n\nexport const indeterminateLength = 0xffffffff;\nexport const zero4Bytes = Buffer.from([0, 0, 0, 0]);\n\nexport function concat(a: Buffer, b: Buffer): Buffer {\n return Buffer.concat([a, b], a.length + b.length);\n}\nexport function concatv(...buffers: Buffer[]): Buffer {\n return Buffer.concat(buffers);\n}\nexport function flatten<T>(array: T[][]): T[] {\n return [].concat(...array);\n}\nexport function appendToArray<T>(object: T, array: T[]): T[] {\n const newArray = array.slice();\n newArray.push(object);\n return newArray;\n}\nexport function prependToArray<T>(object: T, array: T[]): T[] {\n const newArray = array.slice();\n newArray.unshift(object);\n return newArray;\n}\nexport function concatArrays<T>(array1: T[], array2: T[]): T[] {\n const newArray = array1.slice();\n array2.forEach((i) => newArray.push(i));\n return newArray;\n}\n\nconst uidRoot = '2.25';\nconst uuidNamespace = 'd181d67b-0a1c-45bf-8616-070f1bb0d0cf';\n\nexport function hexToDec(s: string): string {\n const digits = [0];\n let carry: number;\n for (let i = 0; i < s.length; i++) {\n carry = parseInt(s.charAt(i), 16);\n for (let j = 0; j < digits.length; j++) {\n digits[j] = digits[j] * 16 + carry;\n carry = (digits[j] / 10) | 0;\n digits[j] %= 10;\n }\n while (carry > 0) {\n digits.push(carry % 10);\n carry = (carry / 10) | 0;\n }\n }\n return digits.reverse().join('');\n}\n\nexport function toUID(root: string, uuid: string): string {\n const hexStr = uuid.replace(/-/g, '');\n const docStr = hexToDec(hexStr).replace(/^0+/, '');\n return (root + '.' + docStr).substring(0, 64);\n}\n\nexport function nameBasedUID(name: string, root: string): string {\n return toUID(root, uuidv5(name, uuidNamespace));\n}\nexport function randomUID(root: string): string {\n return toUID(root, uuidv4());\n}\n\nexport const multiValueDelimiter = '\\\\';\n\nexport const emptyBuffer = Buffer.alloc(0);\n\nexport function toUInt32(num: number): number {\n return num >>> 0;\n}\nexport function toInt32(num: number): number {\n return num >> 0;\n}\nexport function shiftLeftUnsigned(num: number, n: number): number {\n return toUInt32(num << n);\n}\n\nexport function groupNumber(tag: number): number {\n return tag >>> 16;\n}\nexport function elementNumber(tag: number): number {\n return tag & 0xffff;\n}\nexport function bytesToShortBE(bytes: Buffer): number {\n return bytes.readInt16BE(0);\n}\nexport function bytesToShortLE(bytes: Buffer): number {\n return bytes.readInt16LE(0);\n}\nexport function bytesToShort(bytes: Buffer, bigEndian = false): number {\n return bigEndian ? bytesToShortBE(bytes) : bytesToShortLE(bytes);\n}\nexport function bytesToUShortBE(bytes: Buffer): number {\n return bytes.readUInt16BE(0);\n}\nexport function bytesToUShortLE(bytes: Buffer): number {\n return bytes.readUInt16LE(0);\n}\nexport function bytesToUShort(bytes: Buffer, bigEndian = false): number {\n return bigEndian ? bytesToUShortBE(bytes) : bytesToUShortLE(bytes);\n}\nexport function bytesToVR(bytes: Buffer): number {\n return bytesToUShortBE(bytes);\n}\nexport function bytesToIntBE(bytes: Buffer): number {\n return bytes.readInt32BE(0);\n}\nexport function bytesToIntLE(bytes: Buffer): number {\n return bytes.readInt32LE(0);\n}\nexport function bytesToInt(bytes: Buffer, bigEndian = false): number {\n return bigEndian ? bytesToIntBE(bytes) : bytesToIntLE(bytes);\n}\nexport function bytesToUIntBE(bytes: Buffer): number {\n return bytes.readUInt32BE(0);\n}\nexport function bytesToUIntLE(bytes: Buffer): number {\n return bytes.readUInt32LE(0);\n}\nexport function bytesToUInt(bytes: Buffer, bigEndian = false): number {\n return bigEndian ? bytesToUIntBE(bytes) : bytesToUIntLE(bytes);\n}\nexport function bytesToTagBE(bytes: Buffer): number {\n return bytesToUIntBE(bytes);\n}\nexport function bytesToTagLE(bytes: Buffer): number {\n return shiftLeftUnsigned(bytes.readUInt16LE(0), 16) + bytes.readUInt16LE(2);\n}\nexport function bytesToTag(bytes: Buffer, bigEndian = false): number {\n return bigEndian ? bytesToTagBE(bytes) : bytesToTagLE(bytes);\n}\nexport function bytesToFloatBE(bytes: Buffer): number {\n return bytes.readFloatBE(0);\n}\nexport function bytesToFloatLE(bytes: Buffer): number {\n return bytes.readFloatLE(0);\n}\nexport function bytesToFloat(bytes: Buffer, bigEndian = false): number {\n return bigEndian ? bytesToFloatBE(bytes) : bytesToFloatLE(bytes);\n}\nexport function bytesToDoubleBE(bytes: Buffer): number {\n return bytes.readDoubleBE(0);\n}\nexport function bytesToDoubleLE(bytes: Buffer): number {\n return bytes.readDoubleLE(0);\n}\nexport function bytesToDouble(bytes: Buffer, bigEndian = false): number {\n return bigEndian ? bytesToDoubleBE(bytes) : bytesToDoubleLE(bytes);\n}\n\nexport function intToBytesBE(i: number): Buffer {\n return Buffer.from([i >> 24, i >> 16, i >> 8, i]);\n}\nexport function intToBytesLE(i: number): Buffer {\n return Buffer.from([i, i >> 8, i >> 16, i >> 24]);\n}\nexport function shortToBytesBE(i: number): Buffer {\n return Buffer.from([i >> 8, i]);\n}\nexport function shortToBytesLE(i: number): Buffer {\n return Buffer.from([i, i >> 8]);\n}\nexport function shortToBytes(i: number, bigEndian = false): Buffer {\n return bigEndian ? shortToBytesBE(i) : shortToBytesLE(i);\n}\nexport function intToBytes(i: number, bigEndian = false): Buffer {\n return bigEndian ? intToBytesBE(i) : intToBytesLE(i);\n}\nexport function tagToBytesBE(tag: number): Buffer {\n return intToBytesBE(tag);\n}\nexport function tagToBytesLE(tag: number): Buffer {\n return Buffer.from([tag >> 16, tag >> 24, tag, tag >> 8]);\n}\nexport function tagToBytes(tag: number, bigEndian = false): Buffer {\n return bigEndian ? tagToBytesBE(tag) : tagToBytesLE(tag);\n}\n\nexport function floatToBytes(f: number, bigEndian = false): Buffer {\n const buf = Buffer.allocUnsafe(4);\n if (bigEndian) {\n buf.writeFloatBE(f, 0);\n } else {\n buf.writeFloatLE(f, 0);\n }\n return buf;\n}\nexport function doubleToBytes(f: number, bigEndian = false): Buffer {\n const buf = Buffer.allocUnsafe(8);\n if (bigEndian) {\n buf.writeDoubleBE(f, 0);\n } else {\n buf.writeDoubleLE(f, 0);\n }\n return buf;\n}\n\nexport function tagToString(tag: number): string {\n const hex = ('00000000' + tag.toString(16)).slice(-8);\n return '(' + hex.slice(0, 4) + ',' + hex.slice(4, 8) + ')';\n}\n\nexport function trim(s: string): string {\n return s.replace(/^[\\x00-\\x20]*/g, '').replace(/[\\x00-\\x20]*$/g, '');\n}\n\nexport function padToEvenLength(bytes: Buffer, tagOrVR: number | VR): Buffer {\n const vr = isNaN(tagOrVR as number) ? (tagOrVR as VR) : Lookup.vrOf(tagOrVR as number);\n return (bytes.length & 1) !== 0 ? concat(bytes, Buffer.from([vr.paddingByte])) : bytes;\n}\n\nexport const itemLE = concat(tagToBytesLE(Tag.Item), intToBytesLE(indeterminateLength));\nexport const itemBE = concat(tagToBytesBE(Tag.Item), intToBytesBE(indeterminateLength));\nexport function item(length: number = indeterminateLength, bigEndian = false): Buffer {\n return length === indeterminateLength\n ? bigEndian\n ? itemBE\n : itemLE\n : concat(tagToBytes(Tag.Item, bigEndian), intToBytes(length, bigEndian));\n}\n\nexport const itemDelimitationLE = concat(tagToBytesLE(Tag.ItemDelimitationItem), zero4Bytes);\nexport const itemDelimitationBE = concat(tagToBytesBE(Tag.ItemDelimitationItem), zero4Bytes);\nexport function itemDelimitation(bigEndian = false): Buffer {\n return bigEndian ? itemDelimitationBE : itemDelimitationLE;\n}\n\nexport const sequenceDelimitationLE = concat(tagToBytesLE(Tag.SequenceDelimitationItem), zero4Bytes);\nexport const sequenceDelimitationBE = concat(tagToBytesBE(Tag.SequenceDelimitationItem), zero4Bytes);\nexport function sequenceDelimitation(bigEndian = false): Buffer {\n return bigEndian ? sequenceDelimitationBE : sequenceDelimitationLE;\n}\nexport function sequenceDelimitationNonZeroLength(bigEndian = false): Buffer {\n return concatv(tagToBytes(Tag.SequenceDelimitationItem, bigEndian), intToBytes(0x00000010, bigEndian));\n}\n\nexport function isFileMetaInformation(tag: number): boolean {\n return (tag & 0xffff0000) === 0x00020000;\n}\nexport function isGroupLength(tag: number): boolean {\n return elementNumber(tag) === 0;\n}\nexport function isDeflated(transferSyntaxUid: string): boolean {\n return transferSyntaxUid === UID.DeflatedExplicitVRLittleEndian || transferSyntaxUid === UID.JPIPReferencedDeflate;\n}\n\nexport const systemZone = ZoneId.SYSTEM;\nexport const defaultCharacterSet = CS.defaultCharacterSet;\n\nexport function createUID(): string {\n return randomUID(uidRoot);\n}\nexport function createUIDFromRoot(root: string): string {\n return randomUID(root);\n}\nexport function createNameBasedUID(name: string): string {\n return nameBasedUID(name, uidRoot);\n}\nexport function createNameBasedUIDFromRoot(name: string, root: string): string {\n return nameBasedUID(name, root);\n}\n\nexport function pipe(...streams: any[]): any {\n return mpipe(streams);\n}\n","import { concat, emptyBuffer } from './base';\n\nexport interface ByteParserTarget {\n next(result: any): void;\n fail(error?: any): void;\n complete(): void;\n}\n\nconst recurse = true;\nconst dontRecurse = false;\nconst needMoreData = new Error();\n\nexport abstract class ParseStep {\n public abstract parse(reader: ByteReader): ParseResult;\n\n public onTruncation(reader: ByteReader): void {\n throw Error(reader.remainingSize() + ' bytes remain after finished parsing');\n }\n}\n\nclass FinishedParser extends ParseStep {\n public parse(): ParseResult {\n throw Error('No initial parser installed: you must use startWith(...)');\n }\n}\nexport const finishedParser = new FinishedParser();\n\nexport class ParseResult {\n constructor(public result: any, public nextStep: ParseStep) {}\n}\n\nexport class ByteReader {\n private input = emptyBuffer;\n private off = 0;\n\n constructor(input: Buffer) {\n this.setInput(input);\n }\n\n public setInput(input: Buffer): void {\n this.input = input;\n this.off = 0;\n }\n\n public hasRemaining(): boolean {\n return this.off < this.input.length;\n }\n\n public remainingSize(): number {\n return this.input.length - this.off;\n }\n\n public remainingData(): Buffer {\n return this.hasRemaining() ? this.input.slice(this.off) : emptyBuffer;\n }\n\n public ensure(n: number): void {\n if (this.remainingSize() < n) {\n throw needMoreData;\n }\n }\n\n public take(n: number): Buffer {\n if (this.off + n <= this.input.length) {\n const o = this.off;\n this.off = o + n;\n return this.input.slice(o, this.off);\n } else {\n throw needMoreData;\n }\n }\n}\nexport class ByteParser {\n public current: ParseStep = finishedParser;\n public isCompleted = false;\n public hasData = false;\n\n private reader = new ByteReader(emptyBuffer);\n private buffer: Buffer = emptyBuffer;\n\n constructor(public readonly out: ByteParserTarget) {}\n\n public parse(chunk: any): void {\n this.buffer = concat(this.buffer, chunk);\n this.hasData = chunk.length > 0;\n\n while (this.hasData && !this.isCompleted) {\n this.doParse(1000);\n }\n }\n\n public flush(): void {\n if (!this.isCompleted) {\n if (this.buffer.length > 0) {\n try {\n this.reader.setInput(this.buffer);\n this.current.onTruncation(this.reader);\n this.complete();\n } catch (error) {\n this.fail(error);\n }\n } else {\n this.complete();\n }\n }\n }\n\n public startWith(step: ParseStep): void {\n this.current = step;\n }\n\n protected complete(): void {\n this.isCompleted = true;\n this.buffer = emptyBuffer;\n this.reader = null;\n this.out.complete();\n }\n\n protected fail(error?: any): void {\n error.message = 'Parsing failed: ' + (error && error.message ? error.message : '');\n this.isCompleted = true;\n this.buffer = emptyBuffer;\n this.reader = null;\n this.out.fail(error);\n }\n\n private doParseInner(): boolean {\n if (this.buffer.length > 0) {\n this.reader.setInput(this.buffer);\n try {\n const parseResult = this.current.parse(this.reader);\n if (parseResult.result) {\n this.out.next(parseResult.result);\n }\n\n if (parseResult.nextStep === finishedParser) {\n this.complete();\n return dontRecurse;\n } else {\n this.buffer = this.reader.remainingData();\n this.current = parseResult.nextStep;\n if (!this.reader.hasRemaining()) {\n this.hasData = false;\n }\n\n // If this step didn't produce a result, continue parsing.\n if (!parseResult.result) {\n return recurse;\n } else {\n return dontRecurse;\n }\n }\n } catch (error) {\n if (error === needMoreData) {\n this.hasData = false;\n return dontRecurse;\n }\n\n this.fail(error);\n return dontRecurse;\n }\n } else {\n this.hasData = false;\n return dontRecurse;\n }\n }\n\n private doParse(remainingRecursions: number): void {\n if (remainingRecursions === 0) {\n this.fail(\n new Error(\"Parsing logic didn't produce result. Aborting processing to avoid infinite cycles.\"),\n );\n } else {\n const doRecurse = this.doParseInner();\n if (doRecurse) {\n this.doParse(remainingRecursions - 1);\n }\n }\n }\n}\n","import { convertBytes } from 'dicom-character-set';\nimport { VR } from './vr';\n\nexport class CharacterSets {\n public static isVrAffectedBySpecificCharacterSet(vr: VR): boolean {\n return vr === VR.LO || vr === VR.LT || vr === VR.PN || vr === VR.SH || vr === VR.ST || vr === VR.UT;\n }\n\n public static fromNames(names: string): CharacterSets {\n return new CharacterSets(names);\n }\n\n public static fromBytes(specificCharacterSetBytes: Buffer): CharacterSets {\n return !specificCharacterSetBytes || specificCharacterSetBytes.length === 0\n ? defaultCharacterSet\n : new CharacterSets(specificCharacterSetBytes.toString().trim());\n }\n\n public static encode(s: string): Buffer {\n return Buffer.from(s, 'utf8');\n }\n\n public static defaultOnly(): CharacterSets {\n return new CharacterSets('');\n }\n\n constructor(public readonly charsets: string) {}\n\n public decode(bytes: Buffer, vr: VR): string {\n try {\n return convertBytes(this.charsets, bytes, { vr: vr.name });\n } catch (err) {\n console.warn('Cannot decode using character set: ' + this.charsets + ', using default instead: ' + err);\n return defaultCharacterSet.decode(bytes, vr);\n }\n }\n\n public toString(): string {\n return 'CharacterSets [' + this.charsets.split('\\\\').join(',') + ']';\n }\n}\n\nexport const defaultCharacterSet = CharacterSets.defaultOnly();\n","import { Transform } from 'stream';\nimport { concat, prependToArray, emptyBuffer } from './base';\nimport {\n createFlow,\n DeferToPartFlow,\n EndEvent,\n GuaranteedDelimitationEvents,\n GuaranteedValueEvent,\n InFragments,\n ItemDelimitationPartMarker,\n SequenceDelimitationPartMarker,\n TagPathTracking,\n ValueChunkMarker,\n} from './dicom-flow';\nimport {\n Element,\n ValueElement,\n FragmentElement,\n SequenceElement,\n FragmentsElement,\n ItemElement,\n ItemDelimitationElement,\n SequenceDelimitationElement,\n} from './dicom-elements';\nimport {\n DicomPart,\n ElementsPart,\n HeaderPart,\n ValueChunk,\n ItemPart,\n SequencePart,\n FragmentsPart,\n ItemDelimitationPart,\n SequenceDelimitationPart,\n} from './dicom-parts';\nimport { TagPath } from './tag-path';\nimport { Value } from './value';\nimport { ElementsBuilder } from './elements-builder';\nimport { TagTree } from './tag-tree';\n\nexport function collectFlow(\n tagCondition: (t: TagPath) => boolean,\n stopCondition: (t: TagPath) => boolean,\n label: string,\n maxBufferSize = 1000000,\n): Transform {\n return createFlow(\n new (class extends EndEvent(\n TagPathTracking(GuaranteedDelimitationEvents(GuaranteedValueEvent(InFragments(DeferToPartFlow)))),\n ) {\n private buffer: DicomPart[] = [];\n private currentBufferSize = 0;\n private hasEmitted = false;\n private bytes: Buffer = emptyBuffer;\n private currentValue: ValueElement = undefined;\n private currentFragment: FragmentElement = undefined;\n\n private builder = new ElementsBuilder();\n\n private elementsAndBuffer(): DicomPart[] {\n const parts = prependToArray(new ElementsPart(label, this.builder.build()), this.buffer);\n\n this.hasEmitted = true;\n this.buffer = [];\n this.currentBufferSize = 0;\n\n return parts;\n }\n\n private maybeAdd(element: Element): ElementsBuilder {\n return tagCondition(this.tagPath)\n ? this.builder.addElement(element)\n : this.builder.noteElement(element);\n }\n\n public onEnd(): DicomPart[] {\n return this.hasEmitted ? [] : this.elementsAndBuffer();\n }\n\n public onPart(part: DicomPart): DicomPart[] {\n if (this.hasEmitted) {\n return [part];\n } else {\n if (maxBufferSize > 0 && this.currentBufferSize > maxBufferSize) {\n throw Error('Error collecting elements: max buffer size exceeded');\n }\n\n if (\n !(part instanceof ValueChunkMarker) &&\n !(part instanceof SequenceDelimitationPartMarker) &&\n !(part instanceof ItemDelimitationPartMarker)\n ) {\n this.buffer.push(part);\n this.currentBufferSize += part.bytes.length;\n }\n\n if ('tag' in part && stopCondition(this.tagPath)) {\n return this.elementsAndBuffer();\n }\n\n if (part instanceof HeaderPart) {\n this.currentValue = new ValueElement(\n part.tag,\n part.vr,\n Value.empty(),\n part.bigEndian,\n part.explicitVR,\n );\n this.bytes = emptyBuffer;\n return [];\n }\n\n if (part instanceof ItemPart && this.inFragments) {\n this.currentFragment = new FragmentElement(part.length, Value.empty(), part.bigEndian);\n this.bytes = emptyBuffer;\n return [];\n }\n\n if (part instanceof ValueChunk) {\n this.bytes = concat(this.bytes, part.bytes);\n if (part.last) {\n if (this.inFragments && this.currentFragment) {\n this.maybeAdd(\n new FragmentElement(\n this.currentFragment.length,\n new Value(this.bytes),\n this.currentFragment.bigEndian,\n ),\n );\n } else if (this.currentValue) {\n this.maybeAdd(\n new ValueElement(\n this.currentValue.tag,\n this.currentValue.vr,\n new Value(this.bytes),\n this.currentValue.bigEndian,\n this.currentValue.explicitVR,\n ),\n );\n }\n this.currentFragment = undefined;\n this.currentValue = undefined;\n }\n\n return [];\n }\n\n if (part instanceof SequencePart) {\n this.maybeAdd(new SequenceElement(part.tag, part.length, part.bigEndian, part.explicitVR));\n return [];\n }\n if (part instanceof FragmentsPart) {\n this.maybeAdd(new FragmentsElement(part.tag, part.vr, part.bigEndian, part.explicitVR));\n return [];\n }\n if (part instanceof ItemPart) {\n this.maybeAdd(new ItemElement(part.length, part.bigEndian));\n return [];\n }\n if (part instanceof ItemDelimitationPartMarker) {\n return [];\n }\n if (part instanceof ItemDelimitationPart) {\n this.maybeAdd(new ItemDelimitationElement(part.bigEndian));\n return [];\n }\n if (part instanceof SequenceDelimitationPartMarker) {\n return [];\n }\n if (part instanceof SequenceDelimitationPart) {\n this.maybeAdd(new SequenceDelimitationElement(part.bigEndian));\n return [];\n }\n return [];\n }\n }\n })(),\n );\n}\n\nexport function collectFromTagPathsFlow(allowlist: TagTree[], label: string, maxBufferSize?: number): Transform {\n const maxTag = allowlist.length > 0 ? Math.max(...allowlist.map((t) => t.head().tag())) : 0;\n const tagCondition = (currentPath: TagPath): boolean =>\n allowlist.find((t) => t.hasTrunk(currentPath) || t.isTrunkOf(currentPath)) !== undefined;\n const stopCondition = (tagPath: TagPath): boolean =>\n allowlist.length === 0 || (tagPath.isRoot() && tagPath.tag() > maxTag);\n\n return collectFlow(tagCondition, stopCondition, label, maxBufferSize);\n}\n","import { Transform, TransformOptions } from 'stream';\n\nexport abstract class Detour extends Transform {\n private detour = false;\n\n constructor(private readonly options: TransformOptions, private detourFlow?: Transform) {\n super(options);\n if (detourFlow) {\n this.setDetourFlow(detourFlow);\n }\n }\n\n public setDetourFlow(detourFlow: Transform): void {\n this.detourFlow = detourFlow;\n }\n\n public setDetour(detour = true, initialChunk?: any): void {\n this.detour = detour;\n if (this.detourFlow !== undefined) {\n if (this.detour) {\n this.detourFlow.on('data', (chunk) => this.process(chunk));\n this.detourFlow.once('end', () => this.cleanup());\n this.detourFlow.once('error', (error) => this.emit('error', error));\n } else {\n this.detourFlow.end();\n }\n }\n if (initialChunk !== undefined && (initialChunk.length === undefined || initialChunk.length > 0)) {\n if (detour && this.detourFlow !== undefined) {\n this.detourFlow.write(initialChunk);\n } else {\n this.write(initialChunk);\n }\n }\n }\n\n public abstract process(chunk: any): void;\n\n public cleanup(): void {\n // override to add custom cleanup code\n }\n\n public _transform(chunk: any, encoding: string, callback: (error?: Error, data?: any) => void): void {\n if (this.detour !== undefined && this.detourFlow !== undefined) {\n if (!this.detourFlow.write(chunk)) {\n this.detourFlow.once('drain', callback);\n } else {\n process.nextTick(() => callback());\n }\n } else {\n this.process(chunk);\n callback();\n }\n }\n\n public _flush(callback: (error?: Error, data?: any) => void): void {\n if (this.detour && this.detourFlow) {\n this.detourFlow.once('end', callback);\n this.detourFlow.end();\n } else {\n this.cleanup();\n process.nextTick(() => callback());\n }\n }\n}\n","import {\n appendToArray,\n bytesToUInt,\n concat,\n defaultCharacterSet,\n emptyBuffer,\n indeterminateLength,\n intToBytes,\n multiValueDelimiter,\n tagToBytes,\n tagToString,\n} from './base';\nimport { Lookup } from './lookup';\nimport {\n DicomPart,\n FragmentsPart,\n HeaderPart,\n ItemDelimitationPart,\n ItemPart,\n PreamblePart,\n SequenceDelimitationPart,\n SequencePart,\n ValueChunk,\n} from './dicom-parts';\nimport { Tag } from './tag';\nimport { Value } from './value';\nimport { VR } from './vr';\nimport { Elements } from './elements';\n\nexport class Element {\n constructor(public readonly bigEndian: boolean = false) {}\n\n public toBytes(): Buffer {\n return emptyBuffer;\n }\n public toParts(): DicomPart[] {\n return [];\n }\n}\n\nexport class ElementSet {\n constructor(\n public readonly tag: number,\n public readonly vr: VR,\n public readonly bigEndian: boolean = false,\n public readonly explicitVR: boolean = true,\n ) {}\n\n public toBytes(): Buffer {\n return emptyBuffer;\n }\n public toElements(): Element[] {\n return [];\n }\n}\n\nexport class UnknownElement extends Element {\n constructor(bigEndian?: boolean) {\n super(bigEndian);\n }\n}\n\nclass PreambleElement extends Element {\n constructor() {\n super(false);\n }\n public toBytes(): Buffer {\n return concat(Buffer.from(new Array(128).fill(0)), Buffer.from('DICM'));\n }\n public toString(): string {\n return 'PreambleElement(0, ..., 0, D, I, C, M)';\n }\n public toParts(): DicomPart[] {\n return [new PreamblePart(this.toBytes())];\n }\n}\nexport const preambleElement = new PreambleElement();\n\nexport class ValueElement extends ElementSet {\n public length: number;\n\n constructor(tag: number, vr: VR, public readonly value: Value, bigEndian?: boolean, explicitVR?: boolean) {\n super(tag, vr, bigEndian, explicitVR);\n this.length = value.length;\n }\n\n public setValue(value: Value): ValueElement {\n return new ValueElement(this.tag, this.vr, value.ensurePadding(this.vr), this.bigEndian, this.explicitVR);\n }\n public toBytes(): Buffer {\n return this.toParts()\n .map((p) => p.bytes)\n .reduce(concat);\n }\n public toParts(): DicomPart[] {\n const headerPart = HeaderPart.create(this.tag, this.vr, this.length, this.bigEndian, this.explicitVR);\n if (this.length > 0) {\n return [headerPart, new ValueChunk(this.bigEndian, this.value.bytes, true)];\n } else {\n return [headerPart];\n }\n }\n public toElements(): Element[] {\n return [this];\n }\n public toString(): string {\n const strings = this.value.toStrings(this.vr, this.bigEndian, defaultCharacterSet);\n const s = strings.join(multiValueDelimiter);\n const vm = strings.length + '';\n return (\n 'ValueElement(' +\n tagToString(this.tag) +\n ' ' +\n this.vr.name +\n ' [' +\n s +\n '] # ' +\n this.length +\n ', ' +\n vm +\n ' ' +\n Lookup.keywordOf(this.tag) || '' + ')'\n );\n }\n}\n\nexport class SequenceElement extends Element {\n public indeterminate: boolean;\n\n constructor(\n public readonly tag: number,\n public readonly length: number = indeterminateLength,\n bigEndian?: boolean,\n public readonly explicitVR: boolean = true,\n ) {\n super(bigEndian);\n this.tag = tag;\n this.indeterminate = this.length === indeterminateLength;\n }\n\n public toBytes(): Buffer {\n return HeaderPart.create(this.tag, VR.SQ, this.length, this.bigEndian, this.explicitVR).bytes;\n }\n public toParts(): DicomPart[] {\n return [new SequencePart(this.tag, this.length, this.bigEndian, this.explicitVR, this.toBytes())];\n }\n public toString(): string {\n return (\n 'SequenceElement(' + tagToString(this.tag) + ' SQ # ' + this.length + ' ' + Lookup.keywordOf(this.tag) ||\n '' + ')'\n );\n }\n}\n\nexport class FragmentsElement extends Element {\n constructor(\n public readonly tag: number,\n public readonly vr: VR,\n bigEndian?: boolean,\n public readonly explicitVR: boolean = true,\n ) {\n super(bigEndian);\n }\n\n public toBytes(): Buffer {\n return this.toParts()[0].bytes;\n }\n public toParts(): DicomPart[] {\n return [\n new FragmentsPart(\n this.tag,\n indeterminateLength,\n this.vr,\n this.bigEndian,\n this.explicitVR,\n HeaderPart.create(this.tag, this.vr, indeterminateLength, this.bigEndian, this.explicitVR).bytes,\n ),\n ];\n }\n public toString(): string {\n return (\n 'FragmentsElement(' + tagToString(this.tag) + ' ' + this.vr.name + ' # ' + Lookup.keywordOf(this.tag) ||\n '' + ')'\n );\n }\n}\n\nexport class ItemElement extends Element {\n public indeterminate: boolean;\n\n constructor(public readonly length = indeterminateLength, bigEndian?: boolean) {\n super(bigEndian);\n this.indeterminate = this.length === indeterminateLength;\n }\n\n public toBytes(): Buffer {\n return concat(tagToBytes(Tag.Item, this.bigEndian), intToBytes(this.length, this.bigEndian));\n }\n public toParts(): DicomPart[] {\n return [new ItemPart(this.length, this.bigEndian, this.toBytes())];\n }\n public toString(): string {\n return 'ItemElement(length = ' + this.length + ')';\n }\n}\n\nexport class FragmentElement extends Element {\n constructor(public readonly length: number, public readonly value: Value, bigEndian?: boolean) {\n super(bigEndian);\n }\n\n public toBytes(): Buffer {\n return this.toParts()\n .map((p) => p.bytes)\n .reduce(concat);\n }\n public toParts(): DicomPart[] {\n const itemParts: DicomPart[] = new ItemElement(this.value.length, this.bigEndian).toParts();\n if (this.value.length !== 0) {\n itemParts.push(new ValueChunk(this.bigEndian, this.value.bytes, true));\n }\n return itemParts;\n }\n public toString(): string {\n return 'FragmentElement(length = ' + this.length + ')';\n }\n}\n\nexport class ItemDelimitationElement extends Element {\n constructor(bigEndian?: boolean) {\n super(bigEndian);\n }\n\n public toBytes(): Buffer {\n return concat(tagToBytes(Tag.ItemDelimitationItem, this.bigEndian), Buffer.from([0, 0, 0, 0]));\n }\n public toParts(): DicomPart[] {\n return [new ItemDelimitationPart(this.bigEndian, this.toBytes())];\n }\n public toString(): string {\n return 'ItemDelimitationElement';\n }\n}\n\nexport class SequenceDelimitationElement extends Element {\n constructor(bigEndian?: boolean) {\n super(bigEndian);\n }\n\n public toBytes(): Buffer {\n return concat(tagToBytes(Tag.SequenceDelimitationItem, this.bigEndian), Buffer.from([0, 0, 0, 0]));\n }\n public toParts(): DicomPart[] {\n return [new SequenceDelimitationPart(this.bigEndian, this.toBytes())];\n }\n public toString(): string {\n return 'SequenceDelimitationElement';\n }\n}\n\nexport class Sequence extends ElementSet {\n public indeterminate: boolean;\n public size: number;\n\n constructor(\n public readonly tag: number,\n public readonly length: number = indeterminateLength,\n public readonly items: Item[] = [],\n bigEndian?: boolean,\n explicitVR?: boolean,\n ) {\n super(tag, VR.SQ, bigEndian, explicitVR);\n this.indeterminate = length === indeterminateLength;\n this.size = items.length;\n }\n\n public item(index: number): Item {\n return this.items.length >= index ? this.items[index - 1] : undefined;\n }\n public addItem(item: Item): Sequence {\n const newItems = appendToArray(item, this.items);\n const newLength = this.indeterminate ? this.length : this.length + item.toBytes().length;\n return new Sequence(this.tag, newLength, newItems, this.bigEndian, this.explicitVR);\n }\n public removeItem(index: number): Sequence {\n const newItems = this.items.slice();\n newItems.splice(index - 1, 1);\n const newLength = this.indeterminate ? this.length : this.length - this.item(index).toBytes().length;\n return new Sequence(this.tag, newLength, newItems, this.bigEndian, this.explicitVR);\n }\n public toBytes(): Buffer {\n return this.toElements()\n .map((e) => e.toBytes())\n .reduce(concat, emptyBuffer);\n }\n public toElements(): Element[] {\n const elements = [];\n elements.push(new SequenceElement(this.tag, this.length, this.bigEndian, this.explicitVR));\n for (let i = 1; i <= this.items.length; i++) {\n const itemElements = this.item(i).toElements();\n itemElements.forEach((e) => elements.push(e));\n }\n if (this.indeterminate) {\n elements.push(new SequenceDelimitationElement(this.bigEndian));\n }\n return elements;\n }\n public setItem(index: number, item: Item): Sequence {\n const newItems = this.items.slice();\n newItems[index - 1] = item;\n return new Sequence(this.tag, this.length, newItems, this.bigEndian, this.explicitVR);\n }\n public toString(): string {\n return (\n 'Sequence(' +\n tagToString(this.tag) +\n ' SQ # ' +\n this.length +\n ' ' +\n this.size +\n ' ' +\n Lookup.keywordOf(this.tag) || '' + ')'\n );\n }\n}\n\nexport class Item {\n public indeterminate: boolean;\n\n constructor(\n public readonly elements: Elements,\n public readonly length: number = indeterminateLength,\n public readonly bigEndian: boolean = false,\n ) {\n this.indeterminate = length === indeterminateLength;\n }\n\n public toElements(): Element[] {\n const elements: Element[] = [];\n elements.push(new ItemElement(this.length, this.bigEndian));\n this.elements.toElements(false).forEach((e) => elements.push(e));\n if (this.indeterminate) {\n elements.push(new ItemDelimitationElement(this.bigEndian));\n }\n return elements;\n }\n public toBytes(): Buffer {\n return this.toElements()\n .map((e) => e.toBytes())\n .reduce(concat);\n }\n public setElements(elements: Elements): Item {\n const newLength = this.indeterminate ? indeterminateLength : elements.toBytes(false).length;\n return new Item(elements, newLength, this.bigEndian);\n }\n public toString(): string {\n return 'Item(length = ' + this.length + ', elements size = ' + this.elements.size + ')';\n }\n}\n\nexport class Fragment {\n constructor(\n public readonly length: number,\n public readonly value: Value,\n public readonly bigEndian: boolean = false,\n ) {}\n\n public toElement(): Element {\n return new FragmentElement(this.length, this.value, this.bigEndian);\n }\n public toString(): string {\n return 'Fragment(length = ' + this.length + ', value length = ' + this.value.length + ')';\n }\n}\n\nexport class Fragments extends ElementSet {\n public size: number;\n\n constructor(\n public readonly tag: number,\n public readonly vr: VR,\n public readonly offsets: number[],\n public readonly fragments: Fragment[] = [],\n bigEndian?: boolean,\n explicitVR?: boolean,\n ) {\n super(tag, vr, bigEndian, explicitVR);\n this.size = fragments.length;\n }\n\n public fragment(index: number): Fragment {\n return this.fragments.length > index ? undefined : this.fragments[index - 1];\n }\n public frameCount(): number {\n return this.offsets === undefined && this.fragments.length === 0\n ? 0\n : this.offsets === undefined\n ? 1\n : this.offsets.length;\n }\n public addFragment(fragment: Fragment): Fragments {\n if (this.size === 0 && this.offsets === undefined) {\n const bytes = fragment.value.bytes;\n const offsets = [];\n for (let i = 0; i < bytes.length; i += 4) {\n offsets.push(bytesToUInt(bytes.slice(i), fragment.bigEndian));\n }\n return new Fragments(this.tag, this.vr, offsets, this.fragments, this.bigEndian, this.explicitVR);\n } else {\n return new Fragments(\n this.tag,\n this.vr,\n this.offsets,\n appendToArray(fragment, this.fragments),\n this.bigEndian,\n this.explicitVR,\n );\n }\n }\n public toBytes(): Buffer {\n return this.toElements()\n .map((e) => e.toBytes())\n .reduce(concat);\n }\n\n public toElements(): Element[] {\n const elements: Element[] = [];\n elements.push(new FragmentsElement(this.tag, this.vr, this.bigEndian, this.explicitVR));\n if (this.offsets !== undefined) {\n elements.push(\n new FragmentElement(\n 4 * this.offsets.length,\n new Value(\n this.offsets\n .map((offset) => intToBytes(offset, this.bigEndian), this.bigEndian)\n .reduce(concat, emptyBuffer),\n ),\n this.bigEndian,\n ),\n );\n } else {\n elements.push(new FragmentElement(0, Value.empty()));\n }\n for (let i = 1; i <= this.fragments.length; i++) {\n elements.push(this.fragment(i).toElement());\n }\n elements.push(new SequenceDelimitationElement(this.bigEndian));\n return elements;\n }\n public setFragment(index: number, fragment: Fragment): Fragments {\n const newFragments = this.fragments.slice();\n newFragments[index - 1] = fragment;\n return new Fragments(this.tag, this.vr, this.offsets, newFragments, this.bigEndian, this.explicitVR);\n }\n public toString(): string {\n return `Fragments(${tagToString(this.tag)} ${this.vr.name} # ${this.fragments.length} ${\n Lookup.keywordOf(this.tag) || ''\n })`;\n }\n}\n","import { Transform } from 'stream';\nimport { emptyBuffer, indeterminateLength, isGroupLength, pipe } from './base';\nimport { appendFlow, flatMapFlow, identityFlow, prependFlow } from './flows';\nimport {\n DeflatedChunk,\n DicomPart,\n FragmentsPart,\n HeaderPart,\n ItemDelimitationPart,\n ItemPart,\n MetaPart,\n PreamblePart,\n SequenceDelimitationPart,\n SequencePart,\n UnknownPart,\n ValueChunk,\n} from './dicom-parts';\nimport { Tag } from './tag';\nimport { emptyTagPath, TagPath, TagPathItem, TagPathItemEnd } from './tag-path';\n\nexport function createFlow(flow: any): any {\n return pipe(flow.baseFlow(), flatMapFlow(flow.handlePart.bind(flow)));\n}\n\nexport abstract class DicomFlow {\n public abstract onPreamble(part: PreamblePart): any[];\n public abstract onHeader(part: HeaderPart): any[];\n public abstract onValueChunk(part: ValueChunk): any[];\n public abstract onSequence(part: SequencePart): any[];\n public abstract onSequenceDelimitation(part: SequenceDelimitationPart): any[];\n public abstract onFragments(part: FragmentsPart): any[];\n public abstract onItem(part: ItemPart): any[];\n public abstract onItemDelimitation(part: ItemDelimitationPart): any[];\n public abstract onDeflatedChunk(part: DeflatedChunk): any[];\n public abstract onUnknown(part: UnknownPart): any[];\n public abstract onPart(part: DicomPart): any[];\n public baseFlow(): Transform {\n return identityFlow(true);\n }\n public handlePart(part: DicomPart): any[] {\n if (part instanceof PreamblePart) {\n return this.onPreamble(part);\n }\n if (part instanceof HeaderPart) {\n return this.onHeader(part);\n }\n if (part instanceof ValueChunk) {\n return this.onValueChunk(part);\n }\n if (part instanceof SequencePart) {\n return this.onSequence(part);\n }\n if (part instanceof SequenceDelimitationPart) {\n return this.onSequenceDelimitation(part);\n }\n if (part instanceof FragmentsPart) {\n return this.onFragments(part);\n }\n if (part instanceof ItemPart) {\n return this.onItem(part);\n }\n if (part instanceof ItemDelimitationPart) {\n return this.onItemDelimitation(part);\n }\n if (part instanceof DeflatedChunk) {\n return this.onDeflatedChunk(part);\n }\n if (part instanceof UnknownPart) {\n return this.onUnknown(part);\n }\n return this.onPart(part);\n }\n}\n\n/**\n * Depends on DicomFlow\n */\nexport class IdentityFlow extends DicomFlow {\n public onPreamble(part: PreamblePart): DicomPart[] {\n return [part];\n }\n public onHeader(part: HeaderPart): DicomPart[] {\n return [part];\n }\n public onValueChunk(part: ValueChunk): DicomPart[] {\n return [part];\n }\n public onSequence(part: SequencePart): DicomPart[] {\n return [part];\n }\n public onSequenceDelimitation(part: SequenceDelimitationPart): DicomPart[] {\n return [part];\n }\n public onFragments(part: FragmentsPart): DicomPart[] {\n return [part];\n }\n public onItem(part: ItemPart): DicomPart[] {\n return [part];\n }\n public onItemDelimitation(part: ItemDelimitationPart): DicomPart[] {\n return [part];\n }\n public onDeflatedChunk(part: DeflatedChunk): DicomPart[] {\n return [part];\n }\n public onUnknown(part: UnknownPart): DicomPart[] {\n return [part];\n }\n public onPart(part: DicomPart): DicomPart[] {\n return [part];\n }\n}\n\n/**\n * Depends on DicomFlow\n */\nexport abstract class DeferToPartFlow extends DicomFlow {\n public onPreamble(part: PreamblePart): DicomPart[] {\n return this.onPart(part);\n }\n public onHeader(part: HeaderPart): DicomPart[] {\n return this.onPart(part);\n }\n public onValueChunk(part: ValueChunk): DicomPart[] {\n return this.onPart(part);\n }\n public onSequence(part: SequencePart): DicomPart[] {\n return this.onPart(part);\n }\n public onSequenceDelimitation(part: SequenceDelimitationPart): DicomPart[] {\n return this.onPart(part);\n }\n public onFragments(part: FragmentsPart): DicomPart[] {\n return this.onPart(part);\n }\n public onDeflatedChunk(part: DeflatedChunk): DicomPart[] {\n return this.onPart(part);\n }\n public onUnknown(part: UnknownPart): DicomPart[] {\n return this.onPart(part);\n }\n public onItem(part: ItemPart): DicomPart[] {\n return this.onPart(part);\n }\n public onItemDelimitation(part: ItemDelimitationPart): DicomPart[] {\n return this.onPart(part);\n }\n}\n\nclass DicomStartMarker extends MetaPart {\n public toString(): string {\n return 'Start Marker []';\n }\n}\nexport const dicomStartMarker = new DicomStartMarker();\n\nexport const StartEvent = (Super: any): any =>\n class extends Super {\n public onStart(): DicomPart[] {\n throw Error('Not implemented');\n }\n public baseFlow(): any {\n return pipe(prependFlow(dicomStartMarker, true), super.baseFlow());\n }\n public handlePart(part: DicomPart): DicomPart[] {\n return part === dicomStartMarker ? this.onStart() : super.handlePart(part);\n }\n };\n\nclass DicomEndMarker extends MetaPart {\n public toString(): string {\n return 'End Marker []';\n }\n}\nexport const dicomEndMarker = new DicomEndMarker();\n\nexport const EndEvent = (Super: any): any =>\n class extends Super {\n public onEnd(): DicomPart[] {\n throw Error('Not implemented');\n }\n public baseFlow(): any {\n return pipe(appendFlow(dicomEndMarker, true), super.baseFlow());\n }\n public handlePart(part: DicomPart): DicomPart[] {\n return part === dicomEndMarker ? this.onEnd() : super.handlePart(part);\n }\n };\n\nexport const InFragments = (Super: any): any =>\n class extends Super {\n public inFragments = false;\n\n public onFragments(part: FragmentsPart): DicomPart[] {\n this.inFragments = true;\n return super.onFragments(part);\n }\n public onSequenceDelimitation(part: SequenceDelimitationPart): DicomPart[] {\n this.inFragments = false;\n return super.onSequenceDelimitation(part);\n }\n };\n\nexport class ValueChunkMarker extends ValueChunk {\n constructor(bigEndian: boolean) {\n super(bigEndian, emptyBuffer, true);\n }\n\n public toString(): string {\n return `Value Chunk Marker [bigEndian=${this.bigEndian}]`;\n }\n}\n\nexport const GuaranteedValueEvent = (Super: any): any =>\n class extends Super {\n public onHeader(part: HeaderPart): DicomPart[] {\n return part.length === 0\n ? super.onHeader(part).concat(this.onValueChunk(new ValueChunkMarker(part.bigEndian)))\n : super.onHeader(part);\n }\n public onItem(part: ItemPart): DicomPart[] {\n return this.inFragments && part.length === 0\n ? super.onItem(part).concat(this.onValueChunk(new ValueChunkMarker(part.bigEndian)))\n : super.onItem(part);\n }\n public onValueChunk(part: ValueChunk): DicomPart[] {\n return super.onValueChunk(part).filter((c: any) => !(c instanceof ValueChunkMarker));\n }\n };\n\nexport class SequenceDelimitationPartMarker extends SequenceDelimitationPart {\n constructor(bigEndian: boolean) {\n super(bigEndian, emptyBuffer);\n }\n\n public toString(): string {\n return `SequenceDelimitationMarker [bigEndian=${this.bigEndian}]`;\n }\n}\n\nexport class ItemDelimitationPartMarker extends ItemDelimitationPart {\n constructor(bigEndian: boolean) {\n super(bigEndian, emptyBuffer);\n }\n\n public toString(): string {\n return `ItemDelimitationMarker [bigEndian=${this.bigEndian}]`;\n }\n}\n\n/**\n * Depends on InFragments\n */\nexport const GuaranteedDelimitationEvents = (Super: any): any =>\n class extends Super {\n public partStack: { part: DicomPart; bytesLeft: number }[] = [];\n\n public onSequence(part: SequencePart): DicomPart[] {\n this.subtractLength(part);\n this.partStack.unshift({ part, bytesLeft: part.length });\n return super.onSequence(part).concat(this.maybeDelimit());\n }\n public onItem(part: ItemPart): DicomPart[] {\n this.subtractLength(part);\n if (!this.inFragments) {\n this.partStack.unshift({ part, bytesLeft: part.length });\n }\n return super.onItem(part).concat(this.maybeDelimit());\n }\n public onSequenceDelimitation(part: SequenceDelimitationPart): DicomPart[] {\n if (this.partStack.length > 0 && !(part instanceof SequenceDelimitationPartMarker) && !this.inFragments) {\n this.partStack.shift();\n }\n return this.subtractAndEmit(part, (p) =>\n super.onSequenceDelimitation(p).filter((d: DicomPart) => !(d instanceof SequenceDelimitationPartMarker)),\n );\n }\n public onItemDelimitation(part: ItemDelimitationPart): DicomPart[] {\n if (this.partStack.length > 0 && !(part instanceof ItemDelimitationPartMarker)) {\n this.partStack.shift();\n }\n return this.subtractAndEmit(part, (p) =>\n super.onItemDelimitation(p).filter((d: DicomPart) => !(d instanceof ItemDelimitationPartMarker)),\n );\n }\n public onHeader(part: HeaderPart): DicomPart[] {\n return this.subtractAndEmit(part, super.onHeader.bind(this));\n }\n public onValueChunk(part: ValueChunk): DicomPart[] {\n return this.subtractAndEmit(part, super.onValueChunk.bind(this));\n }\n public onFragments(part: FragmentsPart): DicomPart[] {\n return this.subtractAndEmit(part, super.onFragments.bind(this));\n }\n\n public subtractLength(part: DicomPart): void {\n this.partStack.forEach((p) => {\n if (p.bytesLeft != indeterminateLength) {\n p.bytesLeft -= part.bytes.length;\n }\n });\n }\n public maybeDelimit(): DicomPart[] {\n let splitIndex = 0;\n while (\n splitIndex < this.partStack.length &&\n this.partStack[splitIndex].bytesLeft != indeterminateLength &&\n this.partStack[splitIndex].bytesLeft <= 0\n ) {\n splitIndex++;\n }\n const inactive = this.partStack.slice(0, splitIndex);\n this.partStack = this.partStack.slice(splitIndex);\n const out = inactive.map((i) =>\n i.part instanceof ItemPart\n ? this.onItemDelimitation(new ItemDelimitationPartMarker(i.part.bigEndian))\n : this.onSequenceDelimitation(new SequenceDelimitationPartMarker(i.part.bigEndian)),\n );\n return [].concat(...out);\n }\n public subtractAndEmit(part: DicomPart, handle: (part: DicomPart) => DicomPart[]): DicomPart[] {\n this.subtractLength(part);\n return handle(part).concat(this.maybeDelimit());\n }\n };\n\n/**\n * Depends on GuaranteedDelimitationEvents\n */\nexport const InSequence = (Super: any): any =>\n class extends Super {\n public sequenceStack: SequencePart[] = [];\n\n public sequenceDepth(): number {\n return this.sequenceStack.length;\n }\n public inSequence(): boolean {\n return this.sequenceStack.length > 0;\n }\n public onSequence(part: SequencePart): DicomPart[] {\n this.sequenceStack.unshift(part);\n return super.onSequence(part);\n }\n public onSequenceDelimitation(part: SequenceDelimitationPart): DicomPart[] {\n if (!this.inFragments) {\n this.sequenceStack.shift();\n }\n return super.onSequenceDelimitation(part);\n }\n };\n\n/**\n * Depends on GuaranteedValueEvent, GuaranteedDelimitationEvents, InFragments\n */\nexport const TagPathTracking = (Super: any): any =>\n class extends Super {\n public tagPath: TagPath = emptyTagPath;\n\n public onHeader(part: HeaderPart): DicomPart[] {\n const t = this.tagPath;\n this.tagPath = t instanceof TagPathItem ? t.thenTag(part.tag) : t.previous().thenTag(part.tag);\n return super.onHeader(part);\n }\n public onFragments(part: FragmentsPart): DicomPart[] {\n const t = this.tagPath;\n this.tagPath = t instanceof TagPathItem ? t.thenTag(part.tag) : t.previous().thenTag(part.tag);\n return super.onFragments(part);\n }\n public onSequence(part: SequencePart): DicomPart[] {\n const t = this.tagPath;\n this.tagPath = t instanceof TagPathItem ? t.thenSequence(part.tag) : t.previous().thenSequence(part.tag);\n return super.onSequence(part);\n }\n public onSequenceDelimitation(part: SequenceDelimitationPart): DicomPart[] {\n const t = this.tagPath;\n if (!this.inFragments) {\n this.tagPath = t.previous().thenSequenceEnd(t.tag());\n }\n return super.onSequenceDelimitation(part);\n }\n public onItem(part: ItemPart): DicomPart[] {\n const t = this.tagPath;\n if (!this.inFragments) {\n if (t instanceof TagPathItemEnd) {\n this.tagPath = t.previous().thenItem(t.tag(), t.item + 1);\n } else {\n this.tagPath = t.previous().thenItem(t.tag(), 1);\n }\n }\n return super.onItem(part);\n }\n public onItemDelimitation(part: ItemDelimitationPart): DicomPart[] {\n const t = this.tagPath;\n if (t instanceof TagPathItem) {\n this.tagPath = t.previous().thenItemEnd(t.tag(), t.item);\n } else {\n const ti = t.previous();\n if (ti instanceof TagPathItem) {\n this.tagPath = ti.previous().thenItemEnd(ti.tag(), ti.item);\n }\n }\n return super.onItemDelimitation(part);\n }\n };\n\n/**\n * Depends on InFragments\n */\nexport const GroupLengthWarnings = (Super: any): any =>\n class extends Super {\n public silent = false;\n\n public setSilent(silent: boolean): void {\n this.silent = silent;\n }\n public onHeader(part: HeaderPart): DicomPart[] {\n if (!this.silent && isGroupLength(part.tag) && part.tag !== Tag.FileMetaInformationGroupLength) {\n console.warn(\n 'Group length attribute detected, consider removing group lengths to maintain valid ' +\n 'DICOM information',\n );\n }\n return super.onHeader(part);\n }\n public onSequence(part: SequencePart): DicomPart[] {\n if (!this.silent && !part.indeterminate && part.length > 0) {\n console.warn(\n 'Determinate length sequence detected, consider re-encoding sequences to indeterminate ' +\n 'length to maintain valid DICOM information',\n );\n }\n return super.onSequence(part);\n }\n public onItem(part: ItemPart): DicomPart[] {\n if (!this.silent && !this.inFragments && !part.indeterminate && part.length > 0) {\n console.warn(\n 'Determinate length item detected, consider re-encoding items to indeterminate length to ' +\n 'maintain valid DICOM information',\n );\n }\n return super.onItem(part);\n }\n };\n","import { Transform } from 'stream';\nimport zlib from 'zlib';\nimport {\n appendToArray,\n concat,\n concatArrays,\n emptyBuffer,\n indeterminateLength,\n intToBytes,\n isFileMetaInformation,\n isGroupLength,\n itemDelimitation,\n pipe,\n prependToArray,\n sequenceDelimitation,\n} from './base';\nimport { CharacterSets, defaultCharacterSet } from './character-sets';\nimport { collectFlow, collectFromTagPathsFlow } from './collect-flow';\nimport { Detour } from './detour';\nimport {\n createFlow,\n DeferToPartFlow,\n dicomEndMarker,\n EndEvent,\n GroupLengthWarnings,\n GuaranteedDelimitationEvents,\n GuaranteedValueEvent,\n IdentityFlow,\n InFragments,\n InSequence,\n TagPathTracking,\n} from './dicom-flow';\nimport { modifyFlow, TagInsertion } from './modify-flow';\nimport {\n DeflatedChunk,\n DicomPart,\n ElementsPart,\n HeaderPart,\n ItemDelimitationPart,\n ItemPart,\n PreamblePart,\n SequenceDelimitationPart,\n SequencePart,\n ValueChunk,\n} from './dicom-parts';\nimport { Tag } from './tag';\nimport { TagPath } from './tag-path';\nimport { emptyTagPath } from './tag-path';\nimport { TagTree } from './tag-tree';\nimport { UID } from './uid';\nimport { VR } from './vr';\n\nexport function toBytesFlow(): Transform {\n return new Transform({\n writableObjectMode: true,\n transform(chunk, encoding, callback): void {\n this.push(chunk.bytes);\n process.nextTick(() => callback());\n },\n });\n}\n\nexport function stopTagFlow(tag: number): any {\n let endReached = false;\n\n return pipe(\n createFlow(\n new (class extends InSequence(GuaranteedDelimitationEvents(InFragments(IdentityFlow))) {\n public onHeader(part: HeaderPart): DicomPart[] {\n const out = super.onHeader(part);\n return this.inSequence() || part.tag < tag ? out : [dicomEndMarker];\n }\n })(),\n ),\n new Transform({\n objectMode: true,\n transform(chunk, encoding, callback): void {\n if (!endReached) {\n if (chunk === dicomEndMarker) {\n endReached = true;\n this.push(null);\n } else {\n this.push(chunk);\n }\n }\n process.nextTick(() => callback());\n },\n }),\n );\n}\n\nexport function tagFilter(\n keepCondition: (t: TagPath) => boolean,\n defaultCondition: (p: DicomPart) => boolean = (): boolean => true,\n logGroupLengthWarnings = false,\n): any {\n return createFlow(\n new (class extends TagPathTracking(\n GuaranteedDelimitationEvents(GuaranteedValueEvent(GroupLengthWarnings(InFragments(DeferToPartFlow)))),\n ) {\n private keeping = false;\n\n constructor() {\n super();\n this.setSilent(!logGroupLengthWarnings);\n }\n\n public onPart(part: DicomPart): DicomPart[] {\n this.keeping = this.tagPath === emptyTagPath ? defaultCondition(part) : keepCondition(this.tagPath);\n return this.keeping ? [part] : [];\n }\n })(),\n );\n}\n\nexport function allowFilter(\n allowlist: TagTree[],\n defaultCondition?: (p: DicomPart) => boolean,\n logGroupLengthWarnings?: boolean,\n): any {\n return tagFilter(\n (currentPath) => allowlist.some((t) => t.hasTrunk(currentPath) || t.isTrunkOf(currentPath)),\n defaultCondition,\n logGroupLengthWarnings,\n );\n}\n\nexport function denyFilter(\n denylist: TagTree[],\n defaultCondition?: (p: DicomPart) => boolean,\n logGroupLengthWarnings?: boolean,\n): any {\n return tagFilter(\n (currentPath) => !denylist.some((t) => t.isTrunkOf(currentPath)),\n defaultCondition,\n logGroupLengthWarnings,\n );\n}\n\nexport function groupLengthDiscardFilter(): any {\n return tagFilter((tagPath) => !isGroupLength(tagPath.tag()) || isFileMetaInformation(tagPath.tag()));\n}\n\nexport function fmiDiscardFilter(): any {\n return tagFilter(\n (tagPath) => !isFileMetaInformation(tagPath.tag()),\n () => false,\n );\n}\n\nexport function headerFilter(keepCondition: (p: HeaderPart) => boolean, logGroupLengthWarnings = false): any {\n return createFlow(\n new (class extends GroupLengthWarnings(InFragments(DeferToPartFlow)) {\n private keeping = false;\n\n constructor() {\n super();\n this.setSilent(!logGroupLengthWarnings);\n }\n\n public onPart(part: DicomPart): DicomPart[] {\n if (part instanceof HeaderPart) {\n this.keeping = keepCondition(part);\n return this.keeping ? [part] : [];\n }\n if (part instanceof ValueChunk) {\n return this.keeping ? [part] : [];\n }\n this.keeping = true;\n return [part];\n }\n })(),\n );\n}\n\nexport class ValidationContext {\n constructor(public readonly sopClassUID: string, public readonly transferSyntaxUID: string) {}\n}\n\nexport function validateContextFlow(contexts: ValidationContext[]): any {\n return pipe(\n collectFromTagPathsFlow(\n [\n TagTree.fromTag(Tag.MediaStorageSOPClassUID),\n TagTree.fromTag(Tag.TransferSyntaxUID),\n TagTree.fromTag(Tag.SOPClassUID),\n ],\n 'validatecontext',\n ),\n createFlow(\n new (class extends DeferToPartFlow {\n public onPart(part: DicomPart): DicomPart[] {\n if (part instanceof ElementsPart && part.label === 'validatecontext') {\n let scuid = part.elements.stringByTag(Tag.MediaStorageSOPClassUID);\n if (scuid === undefined) {\n scuid = part.elements.stringByTag(Tag.SOPClassUID);\n }\n if (scuid === undefined) {\n scuid = '<empty>';\n }\n let tsuid = part.elements.stringByTag(Tag.TransferSyntaxUID);\n if (tsuid === undefined) {\n tsuid = '<empty>';\n }\n if (contexts.findIndex((c) => c.sopClassUID === scuid && c.transferSyntaxUID === tsuid) >= 0) {\n return [];\n } else {\n throw Error(\n 'The presentation context [SOPClassUID = ' +\n scuid +\n ', TransferSyntaxUID = ' +\n tsuid +\n '] is not supported',\n );\n }\n }\n return [part];\n }\n })(),\n ),\n );\n}\n\nexport function fmiGroupLengthFlow(): any {\n return pipe(\n collectFlow(\n (tagPath) => tagPath.isRoot() && isFileMetaInformation(tagPath.tag()),\n (tagPath) => !isFileMetaInformation(tagPath.tag()),\n 'fmigrouplength',\n ),\n tagFilter(\n (tagPath) => !isFileMetaInformation(tagPath.tag()),\n () => true,\n false,\n ),\n createFlow(\n new (class extends EndEvent(DeferToPartFlow) {\n private fmi: DicomPart[] = [];\n private hasEmitted = false;\n\n public onEnd(): DicomPart[] {\n return this.hasEmitted ? [] : this.fmi;\n }\n\n public onPart(part: DicomPart): DicomPart[] {\n if (part instanceof ElementsPart && part.label === 'fmigrouplength') {\n const elements = part.elements;\n if (elements.data.length > 0) {\n const bigEndian = elements.data[0].bigEndian;\n const explicitVR = elements.data[0].explicitVR;\n const fmiElementsNoLength = elements.filter(\n (e) => e.tag !== Tag.FileMetaInformationGroupLength,\n );\n const length = fmiElementsNoLength.data\n .map((e) => e.toBytes().length)\n .reduce((l1, l2) => l1 + l2, 0);\n const lengthHeader = HeaderPart.create(\n Tag.FileMetaInformationGroupLength,\n VR.UL,\n 4,\n bigEndian,\n explicitVR,\n );\n const lengthChunk = new ValueChunk(bigEndian, intToBytes(length, bigEndian), true);\n this.fmi = concatArrays([lengthHeader, lengthChunk], fmiElementsNoLength.toParts(false));\n }\n return [];\n }\n if (!this.hasEmitted && part.bytes.length > 0) {\n this.hasEmitted = true;\n return part instanceof PreamblePart\n ? prependToArray(part, this.fmi)\n : appendToArray(part, this.fmi);\n }\n return [part];\n }\n })(),\n ),\n );\n}\n\nexport function toIndeterminateLengthSequences(): any {\n return createFlow(\n new (class extends GuaranteedDelimitationEvents(InFragments(IdentityFlow)) {\n private indeterminateBytes = Buffer.from([0xff, 0xff, 0xff, 0xff]);\n\n public onSequence(part: SequencePart): DicomPart[] {\n return super.onSequence(part).map((p: DicomPart) => {\n if (p instanceof SequencePart && !p.indeterminate) {\n return new SequencePart(\n part.tag,\n indeterminateLength,\n part.bigEndian,\n part.explicitVR,\n concat(part.bytes.slice(0, part.bytes.length - 4), this.indeterminateBytes),\n );\n }\n return p;\n });\n }\n\n public onSequenceDelimitation(part: SequenceDelimitationPart): DicomPart[] {\n const out = super.onSequenceDelimitation(part);\n if (part.bytes.length <= 0) {\n out.push(new SequenceDelimitationPart(part.bigEndian, sequenceDelimitation(part.bigEndian)));\n }\n return out;\n }\n\n public onItem(part: ItemPart): DicomPart[] {\n return super.onItem(part).map((p: DicomPart) => {\n if (p instanceof ItemPart && !this.inFragments && !p.indeterminate) {\n return new ItemPart(\n indeterminateLength,\n part.bigEndian,\n concat(part.bytes.slice(0, part.bytes.length - 4), this.indeterminateBytes),\n );\n }\n return p;\n });\n }\n\n public onItemDelimitation(part: ItemDelimitationPart): DicomPart[] {\n const out = super.onItemDelimitation(part);\n if (part.bytes.length <= 0) {\n out.push(new ItemDelimitationPart(part.bigEndian, itemDelimitation(part.bigEndian)));\n }\n return out;\n }\n })(),\n );\n}\n\nexport function toUtf8Flow(): any {\n return pipe(\n collectFromTagPathsFlow([TagTree.fromTag(Tag.SpecificCharacterSet)], 'toutf8'),\n modifyFlow([], [new TagInsertion(TagPath.fromTag(Tag.SpecificCharacterSet), () => Buffer.from('ISO_IR 192'))]),\n createFlow(\n new (class extends GroupLengthWarnings(InFragments(IdentityFlow)) {\n private characterSets: CharacterSets = defaultCharacterSet;\n private currentHeader: HeaderPart;\n private currentValue: Buffer = emptyBuffer;\n\n public onHeader(part: HeaderPart): DicomPart[] {\n if (part.length > 0 && CharacterSets.isVrAffectedBySpecificCharacterSet(part.vr)) {\n this.currentHeader = part;\n this.currentValue = emptyBuffer;\n return [];\n } else {\n this.currentHeader = undefined;\n return [part];\n }\n }\n\n public onValueChunk(part: ValueChunk): DicomPart[] {\n if (this.currentHeader !== undefined && !this.inFragments) {\n this.currentValue = concat(this.currentValue, part.bytes);\n if (part.last) {\n const header = this.currentHeader;\n this.currentHeader = undefined;\n const newValue = Buffer.from(this.characterSets.decode(this.currentValue, header.vr));\n const newLength = newValue.length;\n return [\n header.withUpdatedLength(newLength),\n new ValueChunk(header.bigEndian, newValue, true),\n ];\n } else {\n return [];\n }\n } else {\n return [part];\n }\n }\n\n public onPart(part: DicomPart): DicomPart[] {\n if (part instanceof ElementsPart && part.label === 'toutf8') {\n if (part.elements.contains(Tag.SpecificCharacterSet)) {\n this.characterSets = CharacterSets.fromBytes(\n part.elements.bytesByTag(Tag.SpecificCharacterSet),\n );\n }\n return [];\n }\n return [part];\n }\n })(),\n ),\n );\n}\n\nclass DeflateDatasetFlow extends Detour {\n private collectingTs = false;\n private tsBytes: Buffer = emptyBuffer;\n\n constructor() {\n super({ objectMode: true });\n }\n\n public process(part: DicomPart): void {\n if (part instanceof HeaderPart) {\n if (part.isFmi) {\n this.collectingTs = part.tag === Tag.TransferSyntaxUID;\n this.push(part);\n } else {\n if (this.tsBytes.toString().trim() === UID.DeflatedExplicitVRLittleEndian) {\n const toDeflatedChunk = new Transform({\n readableObjectMode: true,\n transform(chunk, encoding, cb): void {\n this.push(new DeflatedChunk(false, chunk));\n process.nextTick(() => cb());\n },\n });\n this.setDetourFlow(pipe(toBytesFlow(), zlib.createDeflateRaw(), toDeflatedChunk));\n this.setDetour(true, part);\n } else {\n this.push(part);\n }\n }\n } else if (part instanceof ValueChunk && this.collectingTs) {\n this.tsBytes = concat(this.tsBytes, part.bytes);\n this.push(part);\n } else {\n this.push(part);\n }\n }\n}\nexport function deflateDatasetFlow(): DeflateDatasetFlow {\n return new DeflateDatasetFlow();\n}\n","import {\n concat,\n emptyBuffer,\n indeterminateLength,\n intToBytes,\n isFileMetaInformation,\n shortToBytes,\n tagToBytes,\n tagToString,\n trim,\n} from './base';\nimport { Elements } from './elements';\nimport { VR } from './vr';\n\nexport class DicomPart {\n constructor(public readonly bigEndian: boolean, public readonly bytes: Buffer) {}\n}\n\nexport class MetaPart extends DicomPart {\n constructor() {\n super(false, emptyBuffer);\n }\n}\n\nexport class PreamblePart extends DicomPart {\n constructor(bytes: Buffer) {\n super(false, bytes);\n }\n\n public toString(): string {\n return 'Preamble []';\n }\n}\n\nexport class HeaderPart extends DicomPart {\n public static create(tag: number, vr: VR, length: number, bigEndian = false, explicitVR = true): HeaderPart {\n const bytes = explicitVR\n ? vr.headerLength === 8\n ? Buffer.concat([tagToBytes(tag, bigEndian), Buffer.from(vr.name), shortToBytes(length, bigEndian)], 8)\n : Buffer.concat(\n [\n tagToBytes(tag, bigEndian),\n Buffer.from(vr.name),\n Buffer.from([0, 0]),\n intToBytes(length, bigEndian),\n ],\n 12,\n )\n : Buffer.concat([tagToBytes(tag, bigEndian), intToBytes(length, bigEndian)], 8);\n return new HeaderPart(tag, vr, length, isFileMetaInformation(tag), bigEndian, explicitVR, bytes);\n }\n\n constructor(\n public readonly tag: number,\n public readonly vr: VR,\n public readonly length: number,\n public readonly isFmi: boolean,\n public readonly bigEndian: boolean,\n public readonly explicitVR: boolean,\n public readonly bytes: Buffer,\n ) {\n super(bigEndian, bytes);\n if (!this.bytes) {\n this.bytes = this.explicitVR\n ? vr.headerLength === 8\n ? Buffer.concat(\n [tagToBytes(tag, bigEndian), Buffer.from(vr.name), shortToBytes(length, bigEndian)],\n 8,\n )\n : Buffer.concat(\n [\n tagToBytes(tag, bigEndian),\n Buffer.from(vr.name),\n Buffer.from([0, 0]),\n intToBytes(length, bigEndian),\n ],\n 12,\n )\n : Buffer.concat([tagToBytes(tag, bigEndian), intToBytes(length, bigEndian)], 8);\n }\n }\n\n public withUpdatedLength(newLength: number): HeaderPart {\n if (newLength === this.length) {\n return this;\n } else {\n let updated = null;\n if (this.bytes.length >= 8 && this.explicitVR && this.vr.headerLength === 8) {\n // explicit vr\n updated = concat(this.bytes.slice(0, 6), shortToBytes(newLength, this.bigEndian));\n } else if (this.bytes.length >= 12 && this.explicitVR && this.vr.headerLength === 12) {\n // explicit vr\n updated = concat(this.bytes.slice(0, 8), intToBytes(newLength, this.bigEndian));\n } else {\n // implicit vr\n updated = concat(this.bytes.slice(0, 4), intToBytes(newLength, this.bigEndian));\n }\n\n return new HeaderPart(this.tag, this.vr, newLength, this.isFmi, this.bigEndian, this.explicitVR, updated);\n }\n }\n\n public toString(): string {\n return (\n 'Header [tag = ' +\n tagToString(this.tag) +\n ', vr = ' +\n this.vr.name +\n ', length = ' +\n this.length +\n ', bigEndian = ' +\n this.bigEndian +\n ', explicitVR = ' +\n this.explicitVR +\n ']'\n );\n }\n}\n\nexport class ValueChunk extends DicomPart {\n constructor(bigEndian: boolean, bytes: Buffer, public readonly last: boolean) {\n super(bigEndian, bytes);\n }\n\n public toString(): string {\n let ascii = trim(\n this.bytes\n .slice(0, 100)\n .toString('ascii')\n .replace(/[^\\x20-\\x7E]/g, ''),\n );\n if (this.bytes.length > 100) {\n ascii = ascii + '...';\n }\n return 'ValueChunk [length = ' + this.bytes.length + ', last = ' + this.last + ', ascii = ' + ascii + ']';\n }\n}\n\nexport class DeflatedChunk extends DicomPart {\n constructor(bigEndian: boolean, bytes: Buffer) {\n super(bigEndian, bytes);\n }\n\n public toString(): string {\n return 'DeflatedChunk [length = ' + this.bytes.length + ']';\n }\n}\n\nexport class ItemPart extends DicomPart {\n public indeterminate = false;\n\n constructor(public readonly length: number, bigEndian: boolean, bytes: Buffer) {\n super(bigEndian, bytes);\n this.indeterminate = length === indeterminateLength;\n }\n\n public toString(): string {\n return 'Item [length = ' + this.length + ']';\n }\n}\n\nexport class ItemDelimitationPart extends DicomPart {\n constructor(bigEndian: boolean, bytes: Buffer) {\n super(bigEndian, bytes);\n }\n\n public toString(): string {\n return 'ItemDelimitation';\n }\n}\n\nexport class SequencePart extends DicomPart {\n public indeterminate = false;\n\n constructor(\n public readonly tag: number,\n public readonly length: number,\n bigEndian: boolean,\n public readonly explicitVR: boolean,\n bytes: Buffer,\n ) {\n super(bigEndian, bytes);\n this.indeterminate = length === indeterminateLength;\n }\n\n public toString(): string {\n return 'Sequence [tag = ' + tagToString(this.tag) + ', length = ' + this.length + ']';\n }\n}\n\nexport class SequenceDelimitationPart extends DicomPart {\n constructor(bigEndian: boolean, bytes: Buffer) {\n super(bigEndian, bytes);\n }\n\n public toString(): string {\n return 'SequenceDelimitation []';\n }\n}\n\nexport class FragmentsPart extends DicomPart {\n constructor(\n public readonly tag: number,\n public readonly length: number,\n public readonly vr: VR,\n bigEndian: boolean,\n public readonly explicitVR: boolean,\n bytes: Buffer,\n ) {\n super(bigEndian, bytes);\n }\n\n public toString(): string {\n return (\n 'Fragments [tag = ' + tagToString(this.tag) + ', vr = ' + this.vr.name + ', length = ' + this.length + ']'\n );\n }\n}\n\nexport class UnknownPart extends DicomPart {\n constructor(bigEndian: boolean, bytes: Buffer) {\n super(bigEndian, bytes);\n }\n\n public toString(): string {\n return 'Unknown []';\n }\n}\n\nexport class ElementsPart extends MetaPart {\n constructor(public readonly label: string, public readonly elements: Elements) {\n super();\n }\n}\n","import { concat, emptyBuffer } from './base';\nimport { createFlow, DeferToPartFlow, GuaranteedValueEvent, InFragments } from './dicom-flow';\nimport {\n Element,\n FragmentElement,\n FragmentsElement,\n ItemDelimitationElement,\n ItemElement,\n preambleElement,\n SequenceDelimitationElement,\n SequenceElement,\n ValueElement,\n} from './dicom-elements';\nimport {\n DicomPart,\n FragmentsPart,\n HeaderPart,\n ItemDelimitationPart,\n ItemPart,\n PreamblePart,\n SequenceDelimitationPart,\n SequencePart,\n ValueChunk,\n} from './dicom-parts';\nimport { Value } from './value';\n\nexport function elementFlow(): any {\n return createFlow(\n new (class extends GuaranteedValueEvent(InFragments(DeferToPartFlow)) {\n private bytes: Buffer = emptyBuffer;\n private currentValue: ValueElement;\n private currentFragment: FragmentElement;\n\n public onPart(part: DicomPart): Element[] {\n if (part instanceof PreamblePart) {\n return [preambleElement];\n }\n\n if (part instanceof HeaderPart) {\n this.currentValue = new ValueElement(\n part.tag,\n part.vr,\n Value.empty(),\n part.bigEndian,\n part.explicitVR,\n );\n this.bytes = emptyBuffer;\n return [];\n }\n\n if (part instanceof ItemPart && this.inFragments) {\n this.currentFragment = new FragmentElement(part.length, Value.empty(), part.bigEndian);\n this.bytes = emptyBuffer;\n return [];\n }\n\n if (part instanceof ValueChunk) {\n this.bytes = concat(this.bytes, part.bytes);\n if (part.last) {\n if (this.inFragments) {\n if (this.currentFragment === undefined) {\n return [];\n } else {\n return [\n new FragmentElement(\n this.currentFragment.length,\n new Value(this.bytes),\n this.currentFragment.bigEndian,\n ),\n ];\n }\n } else {\n return [\n new ValueElement(\n this.currentValue.tag,\n this.currentValue.vr,\n new Value(this.bytes),\n this.currentValue.bigEndian,\n this.currentValue.explicitVR,\n ),\n ];\n }\n } else {\n return [];\n }\n }\n\n if (part instanceof SequencePart) {\n return [new SequenceElement(part.tag, part.length, part.bigEndian, part.explicitVR)];\n }\n\n if (part instanceof FragmentsPart) {\n return [new FragmentsElement(part.tag, part.vr, part.bigEndian, part.explicitVR)];\n }\n\n if (part instanceof ItemPart) {\n return [new ItemElement(part.length, part.bigEndian)];\n }\n\n if (part instanceof ItemDelimitationPart) {\n return [new ItemDelimitationElement(part.bigEndian)];\n }\n\n if (part instanceof SequenceDelimitationPart) {\n return [new SequenceDelimitationElement(part.bigEndian)];\n }\n\n return [];\n }\n })(),\n );\n}\n","import { Writable } from 'stream';\nimport { Elements } from './elements';\nimport { ElementsBuilder } from './elements-builder';\n\nexport function elementSink(callback: (e: Elements) => void): Writable {\n const builder = new ElementsBuilder();\n const sink = new Writable({\n objectMode: true,\n write(element, encoding, cb): void {\n try {\n builder.addElement(element);\n process.nextTick(() => cb());\n } catch (error) {\n process.nextTick(() => this.emit('error', error));\n }\n },\n });\n sink.once('finish', () => {\n callback(builder.build());\n });\n return sink;\n}\n","import { ZoneId } from 'js-joda';\nimport { defaultCharacterSet, systemZone } from './base';\nimport { CharacterSets } from './character-sets';\nimport {\n Element,\n ElementSet,\n Fragment,\n FragmentElement,\n Fragments,\n FragmentsElement,\n Item,\n ItemDelimitationElement,\n ItemElement,\n Sequence,\n SequenceDelimitationElement,\n SequenceElement,\n ValueElement,\n preambleElement,\n} from './dicom-elements';\nimport { Tag } from './tag';\nimport { VR } from './vr';\nimport { Elements, parseZoneOffset } from './elements';\n\nclass DatasetBuilder {\n private data = new Array<ElementSet>(64);\n private pos = 0;\n\n constructor(public characterSets: CharacterSets, public zoneOffset: ZoneId) {}\n\n public addElementSet(elementSet: ElementSet): DatasetBuilder {\n if (elementSet instanceof ValueElement && elementSet.tag === Tag.SpecificCharacterSet) {\n this.characterSets = CharacterSets.fromBytes(elementSet.value.bytes);\n } else if (elementSet instanceof ValueElement && elementSet.tag === Tag.TimezoneOffsetFromUTC) {\n const newOffset = parseZoneOffset(\n elementSet.value.toSingleString(VR.SH, elementSet.bigEndian, this.characterSets),\n );\n this.zoneOffset = newOffset || this.zoneOffset;\n }\n\n if (this.data.length <= this.pos) {\n this.data.length *= 2;\n }\n this.data[this.pos++] = elementSet;\n\n return this;\n }\n\n public isEmpty(): boolean {\n return this.data.length == 0;\n }\n\n public build(): Elements {\n return new Elements(this.characterSets, this.zoneOffset, this.data.slice(0, this.pos));\n }\n}\n\nexport class ElementsBuilder {\n private builderStack: DatasetBuilder[] = [new DatasetBuilder(defaultCharacterSet, systemZone)];\n private sequenceStack: Sequence[] = [];\n private lengthStack: { element: Element; bytesLeft: number }[] = [];\n private fragments: Fragments;\n\n public addElement(element: Element): ElementsBuilder {\n if (element == preambleElement && this.builderStack.length == 1 && this.builderStack[0].isEmpty()) {\n return this;\n }\n if (element instanceof ValueElement) {\n this.subtractLength(element.length + (element.explicitVR ? element.vr.headerLength : 8));\n const builder = this.builderStack[0];\n builder.addElementSet(element);\n return this.maybeDelimit();\n }\n if (element instanceof FragmentsElement) {\n this.subtractLength(element.explicitVR ? element.vr.headerLength : 8);\n this.updateFragments(\n new Fragments(element.tag, element.vr, undefined, [], element.bigEndian, element.explicitVR),\n );\n return this.maybeDelimit();\n }\n if (element instanceof FragmentElement) {\n this.subtractLength(8 + element.length);\n if (this.fragments !== undefined) {\n const updatedFragments = this.fragments.addFragment(\n new Fragment(element.length, element.value, element.bigEndian),\n );\n this.updateFragments(updatedFragments);\n }\n return this.maybeDelimit();\n }\n if (element instanceof SequenceDelimitationElement && this.hasFragments()) {\n this.subtractLength(8);\n const builder = this.builderStack[0];\n builder.addElementSet(this.fragments);\n this.updateFragments(undefined);\n return this.maybeDelimit();\n }\n if (element instanceof SequenceElement) {\n this.subtractLength(element.explicitVR ? 12 : 8);\n if (!element.indeterminate) {\n this.pushLength(element, element.length);\n }\n this.pushSequence(\n new Sequence(\n element.tag,\n element.indeterminate ? element.length : 0,\n [],\n element.bigEndian,\n element.explicitVR,\n ),\n );\n return this.maybeDelimit();\n }\n if (element instanceof ItemElement && this.hasSequence()) {\n this.subtractLength(8);\n const builder = this.builderStack[0];\n const sequence = this.sequenceStack[0].addItem(\n new Item(Elements.empty(), element.indeterminate ? element.length : 0, element.bigEndian),\n );\n if (!element.indeterminate) {\n this.pushLength(element, element.length);\n }\n this.pushBuilder(new DatasetBuilder(builder.characterSets, builder.zoneOffset));\n this.updateSequence(sequence);\n return this.maybeDelimit();\n }\n if (element instanceof ItemDelimitationElement && this.hasSequence()) {\n this.subtractLength(8);\n if (!this.itemIsIndeterminate() && this.lengthStack.length > 0) {\n this.lengthStack.shift(); // determinate length item with delimitation - handle gracefully\n }\n this.endItem();\n return this.maybeDelimit();\n }\n if (element instanceof SequenceDelimitationElement && this.hasSequence()) {\n this.subtractLength(8);\n if (!this.sequenceIsIndeterminate() && this.lengthStack.length > 0) {\n this.lengthStack.shift(); // determinate length sequence with delimitation - handle gracefully\n }\n this.endSequence();\n return this.maybeDelimit();\n }\n console.warn(`Unexpected element ${element}`);\n this.subtractLength(element.toBytes().length);\n return this.maybeDelimit();\n }\n\n public noteElement(element: Element): ElementsBuilder {\n this.subtractLength(element.toBytes().length);\n return this.maybeDelimit();\n }\n\n public currentDepth(): number {\n return this.sequenceStack.length;\n }\n\n public build(): Elements {\n return this.builderStack.length === 0 ? Elements.empty() : this.builderStack[0].build();\n }\n private updateSequence(sequence: Sequence): void {\n if (this.sequenceStack.length === 0) {\n this.sequenceStack = [sequence];\n } else {\n this.sequenceStack[0] = sequence;\n }\n }\n private updateFragments(fragments: Fragments): void {\n this.fragments = fragments;\n }\n private subtractLength(length: number): void {\n this.lengthStack.forEach((l) => (l.bytesLeft -= length));\n }\n private pushBuilder(builder: DatasetBuilder): void {\n this.builderStack.unshift(builder);\n }\n private pushSequence(sequence: Sequence): void {\n this.sequenceStack.unshift(sequence);\n }\n private pushLength(element: Element, length: number): void {\n this.lengthStack.unshift({ element, bytesLeft: length });\n }\n private popBuilder(): void {\n this.builderStack.shift();\n }\n private popSequence(): void {\n this.sequenceStack.shift();\n }\n private hasSequence(): boolean {\n return this.sequenceStack.length > 0;\n }\n private hasFragments(): boolean {\n return this.fragments !== undefined;\n }\n private sequenceIsIndeterminate(): boolean {\n return this.sequenceStack.length > 0 && this.sequenceStack[0].indeterminate;\n }\n private itemIsIndeterminate(): boolean {\n return (\n this.sequenceStack.length > 0 &&\n this.sequenceStack[0].items.length > 0 &&\n this.sequenceStack[0].items[this.sequenceStack[0].items.length - 1].indeterminate\n );\n }\n private endItem(): void {\n const builder = this.builderStack[0];\n const sequence = this.sequenceStack[0];\n const elements = builder.build();\n const items = sequence.items;\n if (items.length > 0) {\n items[items.length - 1] = items[items.length - 1].setElements(elements);\n const updatedSequence = new Sequence(\n sequence.tag,\n sequence.length,\n items,\n sequence.bigEndian,\n sequence.explicitVR,\n );\n this.popBuilder();\n this.updateSequence(updatedSequence);\n }\n }\n private endSequence(): void {\n const sequence = this.sequenceStack[0];\n const sequenceLength = sequence.indeterminate\n ? sequence.length\n : sequence.toBytes().length - (sequence.explicitVR ? 12 : 8);\n const updatedSequence = new Sequence(\n sequence.tag,\n sequenceLength,\n sequence.items,\n sequence.bigEndian,\n sequence.explicitVR,\n );\n const builder = this.builderStack[0];\n builder.addElementSet(updatedSequence);\n this.popSequence();\n }\n private maybeDelimit(): ElementsBuilder {\n const delimits = this.lengthStack.filter((e) => e.bytesLeft <= 0);\n if (delimits.length > 0) {\n this.lengthStack = this.lengthStack.filter((e) => e.bytesLeft > 0);\n delimits.forEach((e) => {\n if (e.element instanceof ItemElement) {\n this.endItem();\n } else {\n this.endSequence();\n }\n });\n }\n return this;\n }\n}\n","import { LocalDate, LocalTime, ZonedDateTime, ZoneId, ZoneOffset } from 'js-joda';\nimport { Element, ElementSet, ValueElement, Sequence, Item, Fragments, preambleElement } from './dicom-elements';\nimport {\n concat,\n defaultCharacterSet,\n emptyBuffer,\n flatten,\n indeterminateLength,\n multiValueDelimiter,\n prependToArray,\n systemZone,\n tagToString,\n toInt32,\n} from './base';\nimport { CharacterSets } from './character-sets';\nimport { Lookup } from './lookup';\nimport { DicomPart } from './dicom-parts';\nimport { Tag } from './tag';\nimport { TagPath, TagPathItem, TagPathTag, TagPathTrunk, TagPathSequence, emptyTagPath } from './tag-path';\nimport { Value } from './value';\nimport { VR } from './vr';\nimport { PersonName } from './person-name';\n\nexport function parseZoneOffset(s: string): ZoneOffset {\n if (s.length < 5) {\n return undefined;\n }\n try {\n return ZoneOffset.ofTotalMinutes(\n parseInt(s.slice(0, 1) + (parseInt(s.slice(1, 3), 10) * 60 + parseInt(s.slice(4, 6), 10)), 10),\n );\n } catch (error) {\n return undefined;\n }\n}\n\nexport class Elements {\n public static empty(characterSets: CharacterSets = defaultCharacterSet, zoneOffset: ZoneId = systemZone): Elements {\n return new Elements(characterSets, zoneOffset, []);\n }\n\n public size: number;\n\n constructor(\n public characterSets = defaultCharacterSet,\n public zoneOffset: ZoneId = systemZone,\n public data: ElementSet[] = [],\n ) {\n this.size = data.length;\n }\n\n public elementByTag(tag: number): ElementSet | undefined {\n return this.data.find((e) => e.tag === tag);\n }\n\n public elementByPath(tagPath: TagPathTag): ElementSet | undefined {\n const tp = tagPath.previous();\n if (tp instanceof TagPathItem) {\n const e = this.nestedByPath(tp);\n return e === undefined ? undefined : e.elementByTag(tagPath.tag());\n }\n if (tp.isEmpty()) {\n return this.elementByTag(tagPath.tag());\n }\n throw Error('Unsupported tag path type');\n }\n\n public valueElementByTag(tag: number): ValueElement | undefined {\n return this._valueByTag(tag, (f) => f);\n }\n public valueElementByPath(tagPath: TagPathTag): ValueElement | undefined {\n return this._valueByPath(tagPath, (f) => f);\n }\n public valueByTag(tag: number): Value | undefined {\n const e = this.valueElementByTag(tag);\n return e ? e.value : undefined;\n }\n public valueByPath(tagPath: TagPathTag): Value | undefined {\n const e = this.valueElementByPath(tagPath);\n return e ? e.value : undefined;\n }\n public bytesByTag(tag: number): Buffer | undefined {\n const e = this.valueByTag(tag);\n return e ? e.bytes : undefined;\n }\n public bytesByPath(tagPath: TagPathTag): Buffer | undefined {\n const e = this.valueByPath(tagPath);\n return e ? e.bytes : undefined;\n }\n public stringsByTag(tag: number): string[] {\n return this._valuesByTag(tag, (v) => v.value.toStrings(v.vr, v.bigEndian, this.characterSets));\n }\n public stringsByPath(tagPath: TagPathTag): string[] {\n return this._valuesByPath(tagPath, (v) => v.value.toStrings(v.vr, v.bigEndian, this.characterSets));\n }\n public stringByTag(tag: number): string | undefined {\n return this._valueByTag(tag, (v) => v.value.toString(v.vr, v.bigEndian, this.characterSets));\n }\n public stringByPath(tagPath: TagPathTag): string | undefined {\n return this._valueByPath(tagPath, (v) => v.value.toString(v.vr, v.bigEndian, this.characterSets));\n }\n public singleStringByTag(tag: number): string | undefined {\n return this._valueByTag(tag, (v) => v.value.toSingleString(v.vr, v.bigEndian, this.characterSets));\n }\n public singleStringByPath(tagPath: TagPathTag): string | undefined {\n return this._valueByPath(tagPath, (v) => v.value.toSingleString(v.vr, v.bigEndian, this.characterSets));\n }\n\n public numbersByTag(tag: number): number[] {\n return this._valuesByTag(tag, (v) => v.value.toNumbers(v.vr, v.bigEndian));\n }\n public numbersByPath(tagPath: TagPathTag): number[] {\n return this._valuesByPath(tagPath, (v) => v.value.toNumbers(v.vr, v.bigEndian));\n }\n public numberByTag(tag: number): number | undefined {\n return this._valueByTag(tag, (v) => v.value.toNumber(v.vr, v.bigEndian));\n }\n public numberByPath(tagPath: TagPathTag): number | undefined {\n return this._valueByPath(tagPath, (v) => v.value.toNumber(v.vr, v.bigEndian));\n }\n\n public datesByTag(tag: number): LocalDate[] {\n return this._valuesByTag(tag, (v) => v.value.toDates(v.vr));\n }\n public datesByPath(tagPath: TagPathTag): LocalDate[] {\n return this._valuesByPath(tagPath, (v) => v.value.toDates(v.vr));\n }\n public dateByTag(tag: number): LocalDate | undefined {\n return this._valueByTag(tag, (v) => v.value.toDate(v.vr));\n }\n public dateByPath(tagPath: TagPathTag): LocalDate | undefined {\n return this._valueByPath(tagPath, (v) => v.value.toDate(v.vr));\n }\n\n public timesByTag(tag: number): LocalTime[] {\n return this._valuesByTag(tag, (v) => v.value.toTimes(v.vr));\n }\n public timesByPath(tagPath: TagPathTag): LocalTime[] {\n return this._valuesByPath(tagPath, (v) => v.value.toTimes(v.vr));\n }\n public timeByTag(tag: number): LocalTime | undefined {\n return this._valueByTag(tag, (v) => v.value.toTime(v.vr));\n }\n public timeByPath(tagPath: TagPathTag): LocalTime | undefined {\n return this._valueByPath(tagPath, (v) => v.value.toTime(v.vr));\n }\n\n public dateTimesByTag(tag: number): ZonedDateTime[] {\n return this._valuesByTag(tag, (v) => v.value.toDateTimes(v.vr, this.zoneOffset));\n }\n public dateTimesByPath(tagPath: TagPathTag): ZonedDateTime[] {\n return this._valuesByPath(tagPath, (v) => v.value.toDateTimes(v.vr, this.zoneOffset));\n }\n public dateTimeByTag(tag: number): ZonedDateTime | undefined {\n return this._valueByTag(tag, (v) => v.value.toDateTime(v.vr, this.zoneOffset));\n }\n public dateTimeByPath(tagPath: TagPathTag): ZonedDateTime | undefined {\n return this._valueByPath(tagPath, (v) => v.value.toDateTime(v.vr, this.zoneOffset));\n }\n\n public personNamesByTag(tag: number): PersonName[] {\n return this._valuesByTag(tag, (v) => v.value.toPersonNames(v.vr, this.characterSets));\n }\n public personNamesByPath(tagPath: TagPathTag): PersonName[] {\n return this._valuesByPath(tagPath, (v) => v.value.toPersonNames(v.vr, this.characterSets));\n }\n public personNameByTag(tag: number): PersonName | undefined {\n return this._valueByTag(tag, (v) => v.value.toPersonName(v.vr, this.characterSets));\n }\n public personNameByPath(tagPath: TagPathTag): PersonName | undefined {\n return this._valueByPath(tagPath, (v) => v.value.toPersonName(v.vr, this.characterSets));\n }\n\n public urlByTag(tag: number): URL | undefined {\n return this._valueByTag(tag, (v) => v.value.toURL(v.vr));\n }\n public urlByPath(tagPath: TagPathTag): LocalTime | undefined {\n return this._valueByPath(tagPath, (v) => v.value.toURL(v.vr));\n }\n\n public sequenceByTag(tag: number): Sequence | undefined {\n const e = this.elementByTag(tag);\n return e instanceof Sequence ? e : undefined;\n }\n public sequenceByPath(tagPath: TagPathTag): Sequence | undefined {\n const e = this._traverseTrunk(this, tagPath.previous());\n return e ? e.sequenceByTag(tagPath.tag()) : undefined;\n }\n\n public itemByTag(tag: number, index: number): Item | undefined {\n const s = this.sequenceByTag(tag);\n return s ? s.item(index) : undefined;\n }\n public nestedByTag(tag: number, item: number): Elements | undefined {\n const i = this.itemByTag(tag, item);\n return i ? i.elements : undefined;\n }\n public nestedByPath(tagPath: TagPathItem): Elements | undefined {\n const e = this._traverseTrunk(this, tagPath.previous());\n return e ? e.nestedByTag(tagPath.tag(), tagPath.item) : undefined;\n }\n\n public fragmentsByTag(tag: number): Fragments | undefined {\n const e = this.elementByTag(tag);\n return e && e instanceof Fragments ? e : undefined;\n }\n\n public setElementSet(elementSet: ElementSet): Elements {\n if (elementSet instanceof ValueElement && elementSet.tag === Tag.SpecificCharacterSet) {\n return new Elements(\n CharacterSets.fromBytes(elementSet.value.bytes),\n this.zoneOffset,\n this._insertOrdered(elementSet),\n );\n }\n if (elementSet instanceof ValueElement && elementSet.tag === Tag.TimezoneOffsetFromUTC) {\n const newOffset = parseZoneOffset(elementSet.value.toString(VR.SH));\n const zone = newOffset || systemZone;\n return new Elements(this.characterSets, zone, this._insertOrdered(elementSet));\n }\n return new Elements(this.characterSets, this.zoneOffset, this._insertOrdered(elementSet));\n }\n\n public setElementSets(elementSets: ElementSet[]): Elements {\n return elementSets.reduce((elements, elementSet) => elements.setElementSet(elementSet), this);\n }\n\n public setSequence(sequence: Sequence): Elements {\n return this.setElementSet(sequence);\n }\n\n private updateSequence(tag: number, index: number, update: (e: Elements) => Elements): Elements | undefined {\n const s1 = this.sequenceByTag(tag);\n if (s1) {\n const i1 = s1.item(index);\n if (i1) {\n const e1 = i1.elements;\n const e2 = update(e1);\n const i2 = i1.setElements(e2);\n const s2 = s1.setItem(index, i2);\n return this.setElementSet(s2);\n }\n }\n return undefined;\n }\n\n private updatePath(elems: Elements, tagPath: TagPath[], f: (e: Elements) => Elements): Elements {\n if (tagPath.length === 0) {\n return f(elems);\n }\n const tp = tagPath[0];\n if (tp instanceof TagPathItem) {\n const updated = elems.updateSequence(tp.tag(), tp.item, (e) => this.updatePath(e, tagPath.slice(1), f));\n return updated ? updated : elems;\n }\n throw Error('Unsupported tag path type');\n }\n\n public setNested(tagPath: TagPathItem, elements: Elements): Elements {\n return this.updatePath(this, tagPath.toList(), () => elements);\n }\n\n public setNestedElementSet(tagPath: TagPathItem, elementSet: ElementSet): Elements {\n return this.updatePath(this, tagPath.toList(), (elements) => elements.setElementSet(elementSet));\n }\n\n public setNestedSequence(tagPath: TagPathItem, sequence: Sequence): Elements {\n return this.setNestedElementSet(tagPath, sequence);\n }\n\n public addItem(tagPath: TagPathSequence, elements: Elements): Elements {\n const sequence = this.sequenceByPath(tagPath);\n if (sequence) {\n const bigEndian = sequence.bigEndian;\n const indeterminate = sequence.indeterminate;\n const item = indeterminate\n ? new Item(elements, indeterminateLength, bigEndian)\n : new Item(elements, elements.toBytes(false).length, bigEndian);\n const updatedSequence = sequence.addItem(item);\n if (tagPath.previous() === emptyTagPath) {\n return this.setSequence(updatedSequence);\n } else if (tagPath.previous() instanceof TagPathItem) {\n return this.setNestedSequence(tagPath.previous() as TagPathItem, updatedSequence);\n }\n throw Error('Unsupported tag path type');\n }\n return this;\n }\n\n public setCharacterSets(characterSets: CharacterSets): Elements {\n return new Elements(characterSets, this.zoneOffset, this.data);\n }\n\n public setZoneOffset(zoneOffset: ZoneId): Elements {\n return new Elements(this.characterSets, zoneOffset, this.data);\n }\n\n public setValue(tag: number, vr: VR, value: Value, bigEndian = false, explicitVR = true): Elements {\n return this.setElementSet(new ValueElement(tag, vr, value, bigEndian, explicitVR));\n }\n\n public setBytes(tag: number, vr: VR, value: Buffer, bigEndian = false, explicitVR = true): Elements {\n return this.setValue(tag, vr, Value.fromBuffer(vr, value), bigEndian, explicitVR);\n }\n\n public setStrings(\n tag: number,\n values: string[],\n vr: VR = Lookup.vrOf(tag),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setValue(tag, vr, Value.fromStrings(vr, values, bigEndian), bigEndian, explicitVR);\n }\n\n public setString(\n tag: number,\n value: string,\n vr: VR = Lookup.vrOf(tag),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setValue(tag, vr, Value.fromString(vr, value, bigEndian), bigEndian, explicitVR);\n }\n\n public setNumbers(\n tag: number,\n values: number[],\n vr: VR = Lookup.vrOf(tag),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setValue(tag, vr, Value.fromNumbers(vr, values, bigEndian), bigEndian, explicitVR);\n }\n\n public setNumber(\n tag: number,\n value: number,\n vr: VR = Lookup.vrOf(tag),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setValue(tag, vr, Value.fromNumber(vr, value, bigEndian), bigEndian, explicitVR);\n }\n\n public setDates(\n tag: number,\n values: LocalDate[],\n vr: VR = Lookup.vrOf(tag),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setValue(tag, vr, Value.fromDates(vr, values), bigEndian, explicitVR);\n }\n\n public setDate(\n tag: number,\n value: LocalDate,\n vr: VR = Lookup.vrOf(tag),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setValue(tag, vr, Value.fromDate(vr, value), bigEndian, explicitVR);\n }\n\n public setTimes(\n tag: number,\n values: LocalTime[],\n vr: VR = Lookup.vrOf(tag),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setValue(tag, vr, Value.fromTimes(vr, values), bigEndian, explicitVR);\n }\n\n public setTime(\n tag: number,\n value: LocalTime,\n vr: VR = Lookup.vrOf(tag),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setValue(tag, vr, Value.fromTime(vr, value), bigEndian, explicitVR);\n }\n\n public setDateTimes(\n tag: number,\n values: ZonedDateTime[],\n vr: VR = Lookup.vrOf(tag),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setValue(tag, vr, Value.fromDateTimes(vr, values), bigEndian, explicitVR);\n }\n\n public setDateTime(\n tag: number,\n value: ZonedDateTime,\n vr: VR = Lookup.vrOf(tag),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setValue(tag, vr, Value.fromDateTime(vr, value), bigEndian, explicitVR);\n }\n\n public setPersonNames(\n tag: number,\n values: PersonName[],\n vr: VR = Lookup.vrOf(tag),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setValue(tag, vr, Value.fromPersonNames(vr, values), bigEndian, explicitVR);\n }\n\n public setPersonName(\n tag: number,\n value: PersonName,\n vr: VR = Lookup.vrOf(tag),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setValue(tag, vr, Value.fromPersonName(vr, value), bigEndian, explicitVR);\n }\n\n public setURL(tag: number, value: URL, vr: VR = Lookup.vrOf(tag), bigEndian = false, explicitVR = true): Elements {\n return this.setValue(tag, vr, Value.fromURL(vr, value), bigEndian, explicitVR);\n }\n\n public setNestedValue(tagPath: TagPathTag, vr: VR, value: Value, bigEndian = false, explicitVR = true): Elements {\n if (tagPath.isRoot()) {\n return this.setValue(tagPath.tag(), vr, value, bigEndian, explicitVR);\n } else {\n return this.setNested(\n tagPath.previous() as TagPathItem,\n (this.nestedByPath(tagPath.previous() as TagPathItem) || Elements.empty()).setValue(\n tagPath.tag(),\n vr,\n value,\n bigEndian,\n explicitVR,\n ),\n );\n }\n }\n\n public setNestedBytes(tagPath: TagPathTag, vr: VR, value: Buffer, bigEndian = false, explicitVR = true): Elements {\n return this.setNestedValue(tagPath, vr, Value.fromBuffer(vr, value), bigEndian, explicitVR);\n }\n\n public setNestedStrings(\n tagPath: TagPathTag,\n values: string[],\n vr: VR = Lookup.vrOf(tagPath.tag()),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setNestedValue(tagPath, vr, Value.fromStrings(vr, values, bigEndian), bigEndian, explicitVR);\n }\n\n public setNestedString(\n tagPath: TagPathTag,\n value: string,\n vr: VR = Lookup.vrOf(tagPath.tag()),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setNestedValue(tagPath, vr, Value.fromString(vr, value, bigEndian), bigEndian, explicitVR);\n }\n\n public setNestedNumbers(\n tagPath: TagPathTag,\n values: number[],\n vr: VR = Lookup.vrOf(tagPath.tag()),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setNestedValue(tagPath, vr, Value.fromNumbers(vr, values, bigEndian), bigEndian, explicitVR);\n }\n\n public setNestedNumber(\n tagPath: TagPathTag,\n value: number,\n vr: VR = Lookup.vrOf(tagPath.tag()),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setNestedValue(tagPath, vr, Value.fromNumber(vr, value, bigEndian), bigEndian, explicitVR);\n }\n\n public setNestedDates(\n tagPath: TagPathTag,\n values: LocalDate[],\n vr: VR = Lookup.vrOf(tagPath.tag()),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setNestedValue(tagPath, vr, Value.fromDates(vr, values), bigEndian, explicitVR);\n }\n\n public setNestedDate(\n tagPath: TagPathTag,\n value: LocalDate,\n vr: VR = Lookup.vrOf(tagPath.tag()),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setNestedValue(tagPath, vr, Value.fromDate(vr, value), bigEndian, explicitVR);\n }\n\n public setNestedTimes(\n tagPath: TagPathTag,\n values: LocalTime[],\n vr: VR = Lookup.vrOf(tagPath.tag()),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setNestedValue(tagPath, vr, Value.fromTimes(vr, values), bigEndian, explicitVR);\n }\n\n public setNestedTime(\n tagPath: TagPathTag,\n value: LocalTime,\n vr: VR = Lookup.vrOf(tagPath.tag()),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setNestedValue(tagPath, vr, Value.fromTime(vr, value), bigEndian, explicitVR);\n }\n\n public setNestedDateTimes(\n tagPath: TagPathTag,\n values: ZonedDateTime[],\n vr: VR = Lookup.vrOf(tagPath.tag()),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setNestedValue(tagPath, vr, Value.fromDateTimes(vr, values), bigEndian, explicitVR);\n }\n\n public setNestedDateTime(\n tagPath: TagPathTag,\n value: ZonedDateTime,\n vr: VR = Lookup.vrOf(tagPath.tag()),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setNestedValue(tagPath, vr, Value.fromDateTime(vr, value), bigEndian, explicitVR);\n }\n\n public setNestedPersonNames(\n tagPath: TagPathTag,\n values: PersonName[],\n vr: VR = Lookup.vrOf(tagPath.tag()),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setNestedValue(tagPath, vr, Value.fromPersonNames(vr, values), bigEndian, explicitVR);\n }\n\n public setNestedPersonName(\n tagPath: TagPathTag,\n value: PersonName,\n vr: VR = Lookup.vrOf(tagPath.tag()),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setNestedValue(tagPath, vr, Value.fromPersonName(vr, value), bigEndian, explicitVR);\n }\n\n public setNestedURL(\n tagPath: TagPathTag,\n value: URL,\n vr: VR = Lookup.vrOf(tagPath.tag()),\n bigEndian = false,\n explicitVR = true,\n ): Elements {\n return this.setNestedValue(tagPath, vr, Value.fromURL(vr, value), bigEndian, explicitVR);\n }\n\n public removeByTag(tag: number): Elements {\n return this.filter((elementSet) => elementSet.tag !== tag);\n }\n\n public removeByPath(tagPath: TagPath): Elements {\n if (tagPath === emptyTagPath) {\n return this;\n }\n if (tagPath instanceof TagPathItem) {\n if (tagPath.previous() === emptyTagPath) {\n const s = this.sequenceByTag(tagPath.tag());\n return s ? this.setSequence(s.removeItem(tagPath.item)) : this;\n }\n if (tagPath.previous() instanceof TagPathItem) {\n const e = this.nestedByPath(tagPath.previous() as TagPathItem);\n return e\n ? this.setNested(\n tagPath.previous() as TagPathItem,\n e.removeByPath(TagPath.fromItem(tagPath.tag(), tagPath.item)),\n )\n : this;\n }\n throw Error('Unsupported tag path type');\n }\n if (tagPath instanceof TagPathTag) {\n if (tagPath.previous() === emptyTagPath) {\n return this.removeByTag(tagPath.tag());\n }\n if (tagPath.previous() instanceof TagPathItem) {\n const e = this.nestedByPath(tagPath.previous() as TagPathItem);\n return e ? this.setNested(tagPath.previous() as TagPathItem, e.removeByTag(tagPath.tag())) : this;\n }\n throw Error('Unsupported tag path type');\n }\n throw Error('Unsupported tag path type');\n }\n\n public filter(f: (e: ElementSet) => boolean): Elements {\n return new Elements(this.characterSets, this.zoneOffset, this.data.filter(f));\n }\n\n public head(): ElementSet | undefined {\n return this.data.length > 0 ? this.data[0] : undefined;\n }\n\n public isEmpty(): boolean {\n return this.data.length <= 0;\n }\n\n public nonEmpty(): boolean {\n return !this.isEmpty();\n }\n\n public contains(tag: number | TagPath): boolean {\n return typeof tag === 'number'\n ? this.data.map((e) => e.tag).includes(tag)\n : tag instanceof TagPathTag\n ? this.elementByPath(tag) !== undefined\n : tag instanceof TagPathItem\n ? this.nestedByPath(tag) !== undefined\n : false;\n }\n\n public sorted(): Elements {\n return new Elements(\n this.characterSets,\n this.zoneOffset,\n this.data.slice().sort((e1, e2) => e1.tag - e2.tag),\n );\n }\n\n public toElements(withPreamble = true): Element[] {\n const elements = flatten(this.data.map((e) => e.toElements()));\n return withPreamble ? prependToArray(preambleElement, elements) : elements;\n }\n public toParts(withPreamble?: boolean): DicomPart[] {\n return flatten(this.toElements(withPreamble).map((e) => e.toParts()));\n }\n public toBytes(withPreamble = true): Buffer {\n return this.data\n .map((e) => e.toBytes())\n .reduce((p, e) => concat(p, e), withPreamble ? preambleElement.toBytes() : emptyBuffer);\n }\n public toStrings(indent: string): string[] {\n const space = ' ';\n\n const space1 = (description: string): string => {\n return space.repeat(Math.max(0, 40 - description.length));\n };\n\n const space2 = (length: number): string => {\n return space.repeat(Math.max(0, 4 - (length + '').length));\n };\n\n return flatten(\n this.data.map((e) => {\n if (e instanceof ValueElement) {\n const strings = e.value.toStrings(e.vr, e.bigEndian, this.characterSets);\n const s = strings.join(multiValueDelimiter);\n const vm = strings.length + '';\n return [\n indent +\n tagToString(e.tag) +\n space +\n e.vr.name +\n space +\n s +\n space +\n space1(s) +\n ' # ' +\n space2(e.length) +\n space +\n e.length +\n ', ' +\n vm +\n space +\n Lookup.keywordOf(e.tag) || '',\n ];\n }\n\n if (e instanceof Sequence) {\n const hDescription =\n e.length === indeterminateLength\n ? 'Sequence with indeterminate length'\n : 'Sequence with explicit length ' + e.length;\n const heading =\n indent +\n tagToString(e.tag) +\n ' SQ ' +\n hDescription +\n space +\n space1(hDescription) +\n ' # ' +\n space2(toInt32(e.length)) +\n space +\n toInt32(e.length) +\n ', 1 ' +\n Lookup.keywordOf(e.tag) || '';\n const items = flatten(\n e.items.map((i) => {\n const iDescription = i.indeterminate\n ? 'Item with indeterminate length'\n : 'Item with explicit length ' + i.length;\n const itemHeading =\n indent +\n ' ' +\n tagToString(Tag.Item) +\n ' na ' +\n iDescription +\n space +\n space1(iDescription) +\n ' # ' +\n space2(toInt32(i.length)) +\n space +\n toInt32(i.length) +\n ', 1 Item';\n const elems = i.elements.toStrings(indent + ' ');\n const itemDelimitation =\n indent +\n ' ' +\n tagToString(Tag.ItemDelimitationItem) +\n ' na ' +\n space.repeat(41) +\n ' # 0, 0 ItemDelimitationItem';\n elems.unshift(itemHeading);\n elems.push(itemDelimitation);\n return elems;\n }),\n );\n const delimitation =\n indent +\n tagToString(Tag.SequenceDelimitationItem) +\n ' na ' +\n space.repeat(41) +\n ' # 0, 0 SequenceDelimitationItem';\n items.unshift(heading);\n items.push(delimitation);\n return items;\n }\n\n if (e instanceof Fragments) {\n const hDescription = 'Fragments with ' + e.size + ' fragment(s)';\n const heading =\n indent +\n tagToString(e.tag) +\n space +\n e.vr.name +\n space +\n hDescription +\n space +\n space1(hDescription) +\n ' # na, 1 ' +\n Lookup.keywordOf(e.tag) || '';\n let offsets: string[] = [];\n if (e.offsets !== undefined) {\n const len = e.offsets.length;\n const description = 'Offsets table with ' + len + ' offset(s)';\n offsets = [\n indent +\n space +\n space +\n tagToString(Tag.Item) +\n ' na ' +\n description +\n space +\n space1(description) +\n ' # ' +\n space2(len * 4) +\n space +\n len * 4 +\n ', 1 Item',\n ];\n }\n const fragments = e.fragments.map((f) => {\n const description = 'Fragment with length ' + f.length;\n return (\n indent +\n space +\n space +\n tagToString(Tag.Item) +\n ' na ' +\n description +\n space +\n space1(description) +\n ' # ' +\n space2(f.length) +\n space +\n f.length +\n ', 1 Item'\n );\n });\n const delimitation =\n indent +\n tagToString(Tag.SequenceDelimitationItem) +\n ' na ' +\n space.repeat(43) +\n ' # 0, 0 SequenceDelimitationItem';\n offsets.unshift(heading);\n for (const fragment of fragments) {\n offsets.push(fragment);\n }\n offsets.push(delimitation);\n return offsets;\n }\n\n return [];\n }),\n );\n }\n public toString(): string {\n return this.toStrings('').join('\\r\\n');\n }\n\n private _valueByTag(tag: number, f: (v: ValueElement) => any): any | undefined {\n const e = this.elementByTag(tag);\n return e && e instanceof ValueElement ? f(e) : undefined;\n }\n\n private _valueByPath(tagPath: TagPathTag, f: (v: ValueElement) => any): any | undefined {\n const e = this.elementByPath(tagPath);\n return e && e instanceof ValueElement ? f(e) : undefined;\n }\n\n private _valuesByTag(tag: number, f: (v: ValueElement) => any): any {\n const e = this.elementByTag(tag);\n return e && e instanceof ValueElement ? f(e) : [];\n }\n\n private _valuesByPath(tagPath: TagPathTag, f: (v: ValueElement) => any): any {\n const e = this.elementByPath(tagPath);\n return e && e instanceof ValueElement ? f(e) : [];\n }\n\n private _traverseTrunk(elems: Elements, trunk: TagPathTrunk): Elements | undefined {\n if (trunk.isEmpty()) {\n return elems;\n } else {\n if (trunk instanceof TagPathItem) {\n const e = this._traverseTrunk(elems, trunk.previous());\n return e ? e.nestedByTag(trunk.tag(), trunk.item) : undefined;\n }\n throw Error('Unsupported tag path type');\n }\n }\n\n private _insertOrdered(element: ElementSet): ElementSet[] {\n if (this.isEmpty()) {\n return [element];\n } else {\n const b = [];\n let isBelow = true;\n this.data.forEach((e) => {\n if (isBelow && e.tag > element.tag) {\n b.push(element);\n isBelow = false;\n }\n if (e.tag === element.tag) {\n b.push(element);\n isBelow = false;\n } else {\n b.push(e);\n }\n });\n if (isBelow) {\n b.push(element);\n }\n return b;\n }\n }\n}\n","import { Transform } from 'stream';\n\nexport function identityFlow(objectMode = false): Transform {\n return new Transform({\n objectMode,\n transform(chunk, encoding, callback): void {\n this.push(chunk);\n process.nextTick(() => callback());\n },\n });\n}\n\nexport function printFlow(objectMode = false): Transform {\n return new Transform({\n objectMode,\n transform(chunk, encoding, callback): void {\n console.log(chunk);\n this.push(chunk);\n process.nextTick(() => callback());\n },\n });\n}\n\nexport function prependFlow(prependChunk: any, objectMode = false): Transform {\n let hasEmitted = false;\n return new Transform({\n objectMode,\n transform(chunk, encoding, callback): void {\n if (!hasEmitted) {\n this.push(prependChunk);\n hasEmitted = true;\n }\n this.push(chunk);\n process.nextTick(() => callback());\n },\n });\n}\n\nexport function appendFlow(appendChunk: any, objectMode = false): Transform {\n return new Transform({\n objectMode,\n transform(chunk, encoding, callback): void {\n this.push(chunk);\n process.nextTick(() => callback());\n },\n flush(callback): void {\n process.nextTick(() => callback(null, appendChunk));\n },\n });\n}\n\nexport function objectToStringFlow(toStringFunction: (a: any) => string): Transform {\n return new Transform({\n writableObjectMode: true,\n transform(chunk, encoding, callback): void {\n this.push(toStringFunction(chunk) + '\\n');\n process.nextTick(() => callback());\n },\n });\n}\n\nexport function mapFlow(f: (a: any) => any): Transform {\n return new Transform({\n objectMode: true,\n transform(chunk, encoding, callback): void {\n try {\n this.push(f(chunk));\n process.nextTick(() => callback());\n } catch (error) {\n process.nextTick(() => this.emit('error', error));\n }\n },\n });\n}\n\nexport function filterFlow(f: (a: any) => boolean): Transform {\n return new Transform({\n objectMode: true,\n transform(chunk, encoding, callback): void {\n try {\n if (f(chunk) === true) {\n this.push(chunk);\n }\n process.nextTick(() => callback());\n } catch (error) {\n process.nextTick(() => this.emit('error', error));\n }\n },\n });\n}\n\nexport function flatMapFlow(toChunks: (a: any) => any[]): Transform {\n return new Transform({\n objectMode: true,\n transform(chunk, encoding, callback): void {\n try {\n for (const outChunk of toChunks(chunk)) {\n this.push(outChunk);\n }\n process.nextTick(() => callback());\n } catch (error) {\n process.nextTick(() => this.emit('error', error));\n }\n },\n });\n}\n","export * from './detour';\nexport * from './base';\nexport * from './vr';\nexport * from './uid';\nexport * from './tag';\nexport * from './lookup';\nexport * from './tag-path';\nexport * from './tag-tree';\nexport * from './person-name';\nexport * from './dicom-parts';\nexport * from './dicom-elements';\nexport { CharacterSets } from './character-sets';\nexport * from './sources';\nexport * from './flows';\nexport * from './sinks';\nexport * from './parse-flow';\nexport * from './dicom-flow';\nexport * from './dicom-flows';\nexport * from './collect-flow';\nexport * from './modify-flow';\nexport * from './parser';\nexport * from './value';\nexport * from './elements';\nexport * from './elements-builder';\nexport * from './element-flows';\nexport * from './element-sink';\n","import { Tag } from './tag';\nimport { TagToVR } from './tag-to-vr';\nimport { UIDToName } from './uid-to-name';\nimport { VR } from './vr';\n\nexport class Lookup {\n public static keywords = Object.keys(Tag);\n\n public static keywordOf(tag: number): string {\n if ((tag & 0x0000ffff) === 0 && (tag & 0xfffd0000) !== 0) {\n return 'GroupLength';\n }\n if ((tag & 0x00010000) !== 0) {\n if ((tag & 0x0000ff00) === 0 && (tag & 0x000000f0) !== 0) {\n return 'PrivateCreatorID';\n }\n return '';\n }\n if ((tag & 0xffffff00) === Tag.SourceImageIDs) {\n return 'SourceImageIDs';\n }\n let tag2 = tag;\n if ((tag & 0xffe00000) === 0x50000000 || (tag & 0xffe00000) === 0x60000000) {\n tag2 = tag & 0xffe0ffff;\n } else if ((tag & 0xff000000) === 0x7f000000 && (tag & 0xffff0000) !== 0x7fe00000) {\n tag2 = tag & 0xff00ffff;\n }\n return Lookup.keywords.find((key) => Tag[key] === tag2);\n }\n\n public static vrOf(tag: number): VR {\n return TagToVR.vrOf(tag);\n }\n\n public static tagOf(keyword: string): number {\n return Tag[keyword] as number;\n }\n\n public static nameOf(uid: string): string {\n return UIDToName.nameOf(uid);\n }\n}\n","import { appendToArray, concat, concatArrays, emptyBuffer, flatten, padToEvenLength, prependToArray } from './base';\nimport {\n createFlow,\n DeferToPartFlow,\n EndEvent,\n GroupLengthWarnings,\n GuaranteedDelimitationEvents,\n GuaranteedValueEvent,\n InFragments,\n TagPathTracking,\n} from './dicom-flow';\nimport { Lookup } from './lookup';\nimport { DicomPart, HeaderPart, MetaPart, SequencePart, ValueChunk } from './dicom-parts';\nimport { emptyTagPath, TagPath } from './tag-path';\nimport { VR } from './vr';\n\nexport class TagModification {\n public static equals(tagPath: TagPath, modification: (b: Buffer) => Buffer): TagModification {\n return new TagModification(tagPath.isEqualTo.bind(tagPath), modification);\n }\n\n public static endsWith(tagPath: TagPath, modification: (b: Buffer) => Buffer): TagModification {\n return new TagModification((tp) => tp.endsWith(tagPath), modification);\n }\n\n constructor(\n public readonly matches: (t: TagPath) => boolean,\n public readonly modification: (b: Buffer) => Buffer,\n ) {}\n}\n\nexport class TagInsertion {\n constructor(public readonly tagPath: TagPath, public readonly insertion: (b: Buffer) => Buffer) {\n this.tagPath = tagPath;\n this.insertion = insertion;\n }\n}\n\nexport class TagModificationsPart extends MetaPart {\n constructor(\n public readonly modifications: TagModification[] = [],\n public readonly insertions: TagInsertion[] = [],\n public readonly replace: boolean = false,\n ) {\n super();\n }\n}\n\nexport function modifyFlow(\n modifications: TagModification[] = [],\n insertions: TagInsertion[] = [],\n logGroupLengthWarnings = true,\n): any {\n const mods = modifications === undefined ? [] : modifications;\n const irts = insertions === undefined ? [] : insertions;\n const wrns = logGroupLengthWarnings === undefined ? true : logGroupLengthWarnings;\n\n const organizeInsertions = (inserts: TagInsertion[]): TagInsertion[] => {\n const distinct = inserts.filter((a, pos, arr) => {\n return arr.findIndex((b) => b.tagPath.isEqualTo(a.tagPath)) === pos;\n }); // distinct by tag path\n return distinct.sort((a, b) => (a.tagPath.isBelow(b.tagPath) ? -1 : 1)); // ordered by tag path\n };\n\n return createFlow(\n new (class extends TagPathTracking(\n GuaranteedValueEvent(\n GuaranteedDelimitationEvents(GroupLengthWarnings(InFragments(EndEvent(DeferToPartFlow)))),\n ),\n ) {\n private currentModifications: TagModification[] = mods;\n private currentInsertions: TagInsertion[] = organizeInsertions(irts.slice());\n\n private currentModification: TagModification;\n private currentHeader: HeaderPart;\n private latestTagPath: TagPath = emptyTagPath;\n private value: Buffer = emptyBuffer;\n private bigEndian = false;\n private explicitVR = true;\n\n constructor() {\n super();\n this.setSilent(!wrns);\n }\n\n public onPart(part: DicomPart): DicomPart[] {\n if (part instanceof TagModificationsPart) {\n if (part.replace) {\n this.currentModifications = part.modifications;\n this.currentInsertions = organizeInsertions(part.insertions.slice());\n } else {\n this.currentModifications = concatArrays(this.currentModifications, part.modifications);\n this.currentInsertions = organizeInsertions(\n concatArrays(this.currentInsertions, part.insertions),\n );\n }\n return [];\n }\n\n if (part instanceof HeaderPart) {\n this.updateSyntax(part);\n const insertParts = this.findInsertParts();\n const modifyPart = this.findModifyPart(part);\n this.latestTagPath = this.tagPath;\n return concatArrays(insertParts, modifyPart);\n }\n\n if (part instanceof SequencePart) {\n const insertParts = this.findInsertParts();\n this.latestTagPath = this.tagPath;\n return appendToArray(part, insertParts);\n }\n\n if (part instanceof ValueChunk) {\n if (this.currentModification !== undefined && this.currentHeader !== undefined) {\n this.value = concat(this.value, part.bytes);\n if (part.last) {\n const newValue = padToEvenLength(\n this.currentModification.modification(this.value),\n this.currentHeader.vr,\n );\n const newHeader = this.currentHeader.withUpdatedLength(newValue.length);\n this.currentModification = undefined;\n this.currentHeader = undefined;\n return prependToArray(newHeader, this.valueOrNot(newValue));\n } else {\n return [];\n }\n } else {\n return [part];\n }\n }\n\n this.latestTagPath = this.tagPath;\n return [part];\n }\n\n public onEnd(): DicomPart[] {\n if (this.latestTagPath.isEmpty()) {\n return [];\n } else {\n return flatten(\n this.currentInsertions\n .filter((i) => i.tagPath.isRoot())\n .filter((m) => this.latestTagPath.isBelow(m.tagPath))\n .map((m) =>\n this.headerAndValueParts(\n m.tagPath,\n padToEvenLength(m.insertion(undefined), m.tagPath.tag()),\n ),\n ),\n );\n }\n }\n\n private updateSyntax(header: HeaderPart): void {\n this.bigEndian = header.bigEndian;\n this.explicitVR = header.explicitVR;\n }\n\n private valueOrNot(bytes: Buffer): DicomPart[] {\n return bytes.length > 0 ? [new ValueChunk(this.bigEndian, bytes, true)] : [];\n }\n\n private headerAndValueParts(tagPath: TagPath, valueBytes: Buffer): DicomPart[] {\n const vr = Lookup.vrOf(tagPath.tag());\n if (vr === VR.UN) {\n throw Error('Tag is not present in dictionary, cannot determine value representation');\n }\n if (vr === VR.SQ) {\n throw Error('Cannot insert sequences');\n }\n const header = HeaderPart.create(tagPath.tag(), vr, valueBytes.length, this.bigEndian, this.explicitVR);\n return prependToArray(header, this.valueOrNot(valueBytes));\n }\n\n private isBetween(lowerTag: TagPath, tagToTest: TagPath, upperTag: TagPath): boolean {\n return lowerTag.isBelow(tagToTest) && tagToTest.isBelow(upperTag);\n }\n\n private isInDataset(tagToTest: TagPath, tagPath: TagPath): boolean {\n return tagToTest.previous().isEqualTo(tagPath.previous());\n }\n\n private findInsertParts(): DicomPart[] {\n return flatten(\n this.currentInsertions\n .filter((i) => this.isBetween(this.latestTagPath, i.tagPath, this.tagPath))\n .filter((i) => this.isInDataset(i.tagPath, this.tagPath))\n .map((i) =>\n this.headerAndValueParts(\n i.tagPath,\n padToEvenLength(i.insertion(undefined), i.tagPath.tag()),\n ),\n ),\n );\n }\n\n private findModifyPart(header: HeaderPart): DicomPart[] {\n const mod = this.currentModifications.find((m) => m.matches(this.tagPath));\n if (mod !== undefined) {\n this.currentHeader = header;\n this.currentModification = mod;\n this.value = emptyBuffer;\n return [];\n } else {\n const ins = this.currentInsertions.find((i) => i.tagPath.isEqualTo(this.tagPath));\n if (ins !== undefined) {\n this.currentHeader = header;\n this.currentModification = new TagModification(\n (tp) => tp.isEqualTo(ins.tagPath),\n (v) => ins.insertion(v),\n );\n this.value = emptyBuffer;\n return [];\n } else {\n return [header];\n }\n }\n }\n })(),\n );\n}\n","import { Transform } from 'stream';\nimport zlib from 'zlib';\nimport {\n bytesToInt,\n bytesToShort,\n bytesToTag,\n bytesToUShortBE,\n bytesToVR,\n groupNumber,\n indeterminateLength,\n isDeflated,\n tagToString,\n trim,\n} from './base';\nimport { ByteParser, ByteReader, finishedParser, ParseResult, ParseStep } from './byte-parser';\nimport { Detour } from './detour';\nimport { Lookup } from './lookup';\nimport { dicomPreambleLength, isPreamble, isSpecial, readHeader, tryReadHeader, warnIfOdd } from './parsing';\nimport {\n DeflatedChunk,\n DicomPart,\n FragmentsPart,\n HeaderPart,\n ItemDelimitationPart,\n ItemPart,\n PreamblePart,\n SequenceDelimitationPart,\n SequencePart,\n UnknownPart,\n ValueChunk,\n} from './dicom-parts';\nimport { Tag } from './tag';\nimport { UID } from './uid';\nimport { VR } from './vr';\n\nabstract class DicomParseStep extends ParseStep {\n constructor(public readonly state: any, public readonly flow: ParseFlow) {\n super();\n }\n}\n\nclass DatasetHeaderState {\n constructor(\n public readonly maySwitchTs: boolean,\n public readonly bigEndian: boolean,\n public readonly explicitVR: boolean,\n ) {}\n}\n\nclass FmiHeaderState {\n constructor(\n public readonly tsuid: string,\n public readonly bigEndian: boolean,\n public readonly explicitVR: boolean,\n public readonly hasFmi: boolean,\n public readonly pos: number,\n public readonly fmiEndPos: number,\n ) {}\n}\n\nclass ValueState {\n constructor(\n public readonly bigEndian: boolean,\n public readonly bytesLeft: number,\n public readonly nextStep: ParseStep,\n ) {}\n}\n\nclass FragmentsState {\n constructor(public readonly bigEndian: boolean, public readonly explicitVR: boolean) {}\n}\n\nclass AtBeginning extends DicomParseStep {\n constructor(flow: ParseFlow) {\n super(null, flow);\n }\n\n public parse(reader: ByteReader): ParseResult {\n let maybePreamble;\n if (reader.remainingSize() < dicomPreambleLength + 8) {\n if (\n reader\n .remainingData()\n .slice(0, 128)\n .every((b) => b === 0)\n ) {\n reader.ensure(dicomPreambleLength + 8);\n }\n } else if (isPreamble(reader.remainingData())) {\n maybePreamble = new PreamblePart(reader.take(dicomPreambleLength));\n }\n reader.ensure(8);\n const info = tryReadHeader(reader.remainingData());\n if (info) {\n let nextState: DicomParseStep;\n if (info.hasFmi) {\n if (!info.explicitVR) {\n console.warn('File meta information uses implicit VR encoding');\n }\n if (info.bigEndian) {\n console.warn('File meta information uses big-endian encoding');\n }\n nextState = new InFmiHeader(\n new FmiHeaderState(undefined, info.bigEndian, info.explicitVR, info.hasFmi, 0, undefined),\n this.flow,\n );\n } else {\n nextState = new InDatasetHeader(\n new DatasetHeaderState(false, info.bigEndian, info.explicitVR),\n this.flow,\n );\n }\n return new ParseResult(maybePreamble, nextState);\n } else {\n throw new Error('Not a DICOM stream');\n }\n }\n\n public onTruncation(reader: ByteReader): void {\n if (reader.remainingSize() === dicomPreambleLength && isPreamble(reader.remainingData())) {\n this.flow.push(new PreamblePart(reader.take(dicomPreambleLength)));\n } else {\n super.onTruncation(reader);\n }\n }\n}\n\nclass InFmiHeader extends DicomParseStep {\n private transferSyntaxLengthLimit = 1024;\n\n constructor(state: any, flow: ParseFlow) {\n super(state, flow);\n }\n\n public toDatasetStep(reader: ByteReader, valueLength: number): DicomParseStep {\n let tsuid = this.state.tsuid;\n if (!tsuid) {\n console.warn('Missing Transfer Syntax (0002,0010) - assume Explicit VR Little Endian');\n tsuid = UID.ExplicitVRLittleEndian;\n }\n\n const bigEndian = tsuid === UID.ExplicitVRBigEndianRetired;\n const explicitVR = tsuid !== UID.ImplicitVRLittleEndian;\n\n if (isDeflated(tsuid)) {\n if (this.flow.inflate) {\n reader.ensure(valueLength + 2);\n\n let inflater = zlib.createInflateRaw();\n\n const firstTwoBytes = reader.remainingData().slice(valueLength, valueLength + 2);\n const hasZLIBHeader = bytesToUShortBE(firstTwoBytes) === 0x789c;\n\n if (hasZLIBHeader) {\n console.warn('Deflated DICOM Stream with ZLIB Header');\n inflater = zlib.createInflate();\n }\n\n const valueBytes = reader.take(valueLength);\n const remainingBytes = reader.remainingData();\n\n reader.setInput(valueBytes);\n this.flow.setDetourFlow((inflater as unknown) as Transform);\n this.flow.setDetour(true, remainingBytes);\n } else {\n return new InDeflatedData(this.state, this.flow);\n }\n }\n return new InDatasetHeader(new DatasetHeaderState(true, bigEndian, explicitVR), this.flow);\n }\n\n public parse(reader: ByteReader): ParseResult {\n const header = readHeader(reader, this.state);\n warnIfOdd(header.tag, header.vr, header.valueLength);\n if (groupNumber(header.tag) !== 2) {\n console.warn('Missing or wrong File Meta Information Group Length (0002,0000)');\n return new ParseResult(undefined, this.toDatasetStep(reader, header.valueLength));\n }\n const updatedVr = header.vr === VR.UN ? Lookup.vrOf(header.tag) : header.vr;\n const bytes = reader.take(header.headerLength);\n this.state.pos += header.headerLength + header.valueLength;\n if (header.tag === Tag.FileMetaInformationGroupLength) {\n reader.ensure(4);\n const valueBytes = reader.remainingData().slice(0, 4);\n this.state.fmiEndPos = this.state.pos + bytesToInt(valueBytes, this.state.bigEndian);\n } else if (header.tag === Tag.TransferSyntaxUID) {\n if (header.valueLength < this.transferSyntaxLengthLimit) {\n reader.ensure(header.valueLength);\n const valueBytes = reader.remainingData().slice(0, header.valueLength);\n this.state.tsuid = trim(valueBytes.toString());\n } else {\n console.warn('Transfer syntax data is very large, skipping');\n }\n }\n const part = new HeaderPart(\n header.tag,\n updatedVr,\n header.valueLength,\n true,\n this.state.bigEndian,\n this.state.explicitVR,\n bytes,\n );\n let nextStep: ParseStep = new InFmiHeader(this.state, this.flow);\n if (this.state.fmiEndPos && this.state.fmiEndPos <= this.state.pos) {\n if (\n reader.remainingSize() >= header.valueLength + 2 &&\n !(this.state.tsuid && this.state.tsuid == UID.DeflatedExplicitVRLittleEndian) &&\n bytesToShort(\n reader.remainingData().slice(header.valueLength, header.valueLength + 2),\n this.state.bigEndian,\n ) == 2\n ) {\n console.warn('Wrong File Meta Information Group Length (0002,0000)');\n } else {\n if (this.state.fmiEndPos != this.state.pos) {\n console.warn('Wrong File Meta Information Group Length (0002,0000)');\n }\n nextStep = this.toDatasetStep(reader, header.valueLength);\n }\n }\n return new ParseResult(\n part,\n new InValue(new ValueState(this.state.bigEndian, header.valueLength, nextStep), this.flow),\n );\n }\n}\n\nclass InDatasetHeader extends DicomParseStep {\n constructor(state: any, flow: ParseFlow) {\n super(state, flow);\n }\n\n public maybeSwitchTs(reader: ByteReader, state: any): DatasetHeaderState {\n reader.ensure(8);\n const data = reader.remainingData().slice(0, 8);\n const tag = bytesToTag(data, state.bigEndian);\n let explicitVR = undefined;\n try {\n explicitVR = VR.valueOf(bytesToVR(data.slice(4)));\n } catch (e) {}\n if (isSpecial(tag)) {\n return new DatasetHeaderState(false, state.bigEndian, state.explicitVR);\n }\n if (state.explicitVR && !explicitVR) {\n console.log('Implicit VR attributes detected in explicit VR dataset');\n return new DatasetHeaderState(false, state.bigEndian, false);\n }\n if (!state.explicitVR && explicitVR) {\n return new DatasetHeaderState(false, state.bigEndian, true);\n }\n return new DatasetHeaderState(false, state.bigEndian, state.explicitVR);\n }\n\n public readDatasetHeader(reader: ByteReader, state: any): DicomPart {\n const header = readHeader(reader, state);\n warnIfOdd(header.tag, header.vr, header.valueLength);\n if (header.vr) {\n const bytes = reader.take(header.headerLength);\n if (header.vr === VR.SQ || (header.vr === VR.UN && header.valueLength === indeterminateLength)) {\n return new SequencePart(header.tag, header.valueLength, state.bigEndian, state.explicitVR, bytes);\n }\n if (header.valueLength === indeterminateLength) {\n return new FragmentsPart(\n header.tag,\n header.valueLength,\n header.vr,\n state.bigEndian,\n state.explicitVR,\n bytes,\n );\n }\n return new HeaderPart(\n header.tag,\n header.vr,\n header.valueLength,\n false,\n state.bigEndian,\n state.explicitVR,\n bytes,\n );\n }\n switch (header.tag) {\n case 0xfffee000:\n return new ItemPart(header.valueLength, state.bigEndian, reader.take(8));\n case 0xfffee00d:\n return new ItemDelimitationPart(state.bigEndian, reader.take(8));\n case 0xfffee0dd:\n return new SequenceDelimitationPart(state.bigEndian, reader.take(8));\n }\n return new UnknownPart(state.bigEndian, reader.take(header.headerLength));\n }\n\n public parse(reader: ByteReader): ParseResult {\n const state = this.state.maySwitchTs ? this.maybeSwitchTs(reader, this.state) : this.state;\n const part = this.readDatasetHeader(reader, state);\n let nextState: ParseStep = finishedParser;\n if (part) {\n if (part instanceof HeaderPart) {\n if (part.length > 0) {\n nextState = new InValue(\n new ValueState(part.bigEndian, part.length, new InDatasetHeader(state, this.flow)),\n this.flow,\n );\n } else {\n nextState = new InDatasetHeader(state, this.flow);\n }\n } else if (part instanceof FragmentsPart) {\n nextState = new InFragments(new FragmentsState(part.bigEndian, state.explicitVR), this.flow);\n } else if (part instanceof SequencePart) {\n nextState = new InDatasetHeader(\n new DatasetHeaderState(false, state.bigEndian, state.explicitVR),\n this.flow,\n );\n } else if (part instanceof ItemPart) {\n nextState = new InDatasetHeader(\n new DatasetHeaderState(true, state.bigEndian, state.explicitVR),\n this.flow,\n );\n } else if (part instanceof ItemDelimitationPart) {\n nextState = new InDatasetHeader(\n new DatasetHeaderState(false, state.bigEndian, state.explicitVR),\n this.flow,\n );\n } else if (part instanceof SequenceDelimitationPart) {\n nextState = new InDatasetHeader(\n new DatasetHeaderState(true, state.bigEndian, state.explicitVR),\n this.flow,\n );\n } else {\n nextState = new InDatasetHeader(\n new DatasetHeaderState(false, state.bigEndian, state.explicitVR),\n this.flow,\n );\n }\n }\n return new ParseResult(part, nextState);\n }\n}\n\nclass InValue extends DicomParseStep {\n constructor(state: any, flow: ParseFlow) {\n super(state, flow);\n }\n\n public parse(reader: ByteReader): ParseResult {\n return this.state.bytesLeft <= this.flow.chunkSize\n ? new ParseResult(\n new ValueChunk(this.state.bigEndian, reader.take(this.state.bytesLeft), true),\n this.state.nextStep,\n )\n : new ParseResult(\n new ValueChunk(this.state.bigEndian, reader.take(this.flow.chunkSize), false),\n new InValue(\n new ValueState(\n this.state.bigEndian,\n this.state.bytesLeft - this.flow.chunkSize,\n this.state.nextStep,\n ),\n this.flow,\n ),\n );\n }\n}\n\nclass InFragments extends DicomParseStep {\n constructor(state: any, flow: ParseFlow) {\n super(state, flow);\n }\n\n public parse(reader: ByteReader): ParseResult {\n const header = readHeader(reader, this.state);\n if (header.tag === 0xfffee000) {\n // begin fragment\n const nextState =\n header.valueLength > 0\n ? new InValue(\n new ValueState(\n this.state.bigEndian,\n header.valueLength,\n new InFragments(\n new FragmentsState(this.state.bigEndian, this.state.explicitVR),\n this.flow,\n ),\n ),\n this.flow,\n )\n : new InFragments(new FragmentsState(this.state.bigEndian, this.state.explicitVR), this.flow);\n return new ParseResult(\n new ItemPart(header.valueLength, this.state.bigEndian, reader.take(header.headerLength)),\n nextState,\n );\n }\n if (header.tag === 0xfffee0dd) {\n // end fragments\n if (header.valueLength !== 0) {\n console.warn('Unexpected fragments delimitation length ' + header.valueLength);\n }\n return new ParseResult(\n new SequenceDelimitationPart(this.state.bigEndian, reader.take(header.headerLength)),\n new InDatasetHeader(\n new DatasetHeaderState(false, this.state.bigEndian, this.state.explicitVR),\n this.flow,\n ),\n );\n }\n console.warn(\n 'Unexpected element (' + tagToString(header.tag) + ') in fragments with length ' + header.valueLength,\n );\n return new ParseResult(\n new UnknownPart(this.state.bigEndian, reader.take(header.headerLength + header.valueLength)),\n this,\n );\n }\n}\n\nclass InDeflatedData extends DicomParseStep {\n constructor(state: any, flow: ParseFlow) {\n super(state, flow);\n }\n\n public parse(reader: ByteReader): ParseResult {\n return new ParseResult(\n new DeflatedChunk(this.state.bigEndian, reader.take(Math.min(this.flow.chunkSize, reader.remainingSize()))),\n this,\n );\n }\n}\n\nclass ParseFlow extends Detour {\n public parser: ByteParser;\n\n constructor(\n public readonly chunkSize = 1024 * 1024,\n public readonly inflate = true,\n public readonly bufferBytes = 1024 * 1024,\n ) {\n super({ highWaterMark: bufferBytes, readableObjectMode: true }); // FIXME should be writableHighWaterMark\n\n this.parser = new ByteParser(this);\n this.parser.startWith(new AtBeginning(this));\n }\n\n /**\n * Overrides process in Detour. Process a chunk of binary data.\n */\n public process(chunk: any): void {\n this.parser.parse(chunk);\n }\n\n /**\n * Overrides cleanup in Detour. If there are unparsed bytes left, try to parse these, or fail.\n */\n public cleanup(): void {\n this.parser.flush();\n }\n\n /**\n * Called by byte parser when it is emitting the next parsed element\n */\n public next(part: any): void {\n this.push(part);\n }\n\n /**\n * Called by byte parser when completing parser. Here we signal completion to the stream.\n */\n public complete(): void {\n this.push(null);\n }\n\n /**\n * Called by byte parser on error. Here we signal error to the stream.\n */\n public fail(error?: any): void {\n process.nextTick(() => this.emit('error', error));\n }\n}\n\nexport function parseFlow(chunkSize?: number, inflate?: boolean, bufferBytes?: number): ParseFlow {\n return new ParseFlow(chunkSize, inflate, bufferBytes);\n}\n","import zlib from 'zlib';\nimport {\n bytesToInt,\n bytesToTag,\n bytesToUShortBE,\n bytesToVR,\n emptyBuffer,\n groupNumber,\n indeterminateLength,\n isDeflated,\n tagToString,\n trim,\n concat,\n} from './base';\nimport { ByteParser, ByteReader, finishedParser, ParseResult, ParseStep } from './byte-parser';\nimport {\n Element,\n FragmentElement,\n FragmentsElement,\n ItemDelimitationElement,\n ItemElement,\n SequenceDelimitationElement,\n SequenceElement,\n UnknownElement,\n ValueElement,\n} from './dicom-elements';\nimport { ElementsBuilder } from './elements-builder';\nimport { Lookup } from './lookup';\nimport { AttributeInfo, dicomPreambleLength, isPreamble, isSpecial, readHeader, tryReadHeader } from './parsing';\nimport { Tag } from './tag';\nimport { UID } from './uid';\nimport { Value } from './value';\nimport { VR } from './vr';\nimport { Elements } from './elements';\n\nclass Inflater {\n public inflate(bytes: Buffer): Buffer {\n return bytes;\n }\n}\n\nclass FmiAttributeState {\n constructor(\n public readonly tsuid: string,\n public readonly bigEndian: boolean,\n public readonly explicitVR: boolean,\n public readonly hasFmi: boolean,\n public readonly pos: number,\n public readonly fmiEndPos: number,\n ) {}\n}\n\nclass AttributeState {\n constructor(\n public readonly maySwitchTs: boolean,\n public readonly bigEndian: boolean,\n public readonly explicitVR: boolean,\n public readonly inflater: Inflater,\n ) {}\n}\n\nclass FragmentsState {\n constructor(\n public readonly bigEndian: boolean,\n public readonly explicitVR: boolean,\n public readonly inflater: Inflater,\n ) {}\n}\n\nabstract class DicomParseStep extends ParseStep {\n constructor(public readonly state: any, public readonly stop: (attributeInfo: AttributeInfo) => boolean) {\n super();\n }\n}\n\nclass AtBeginning extends DicomParseStep {\n constructor(stop: (attributeInfo: AttributeInfo) => boolean) {\n super(null, stop);\n }\n\n public parse(reader: ByteReader): ParseResult {\n if (reader.remainingSize() < dicomPreambleLength + 8) {\n if (\n reader\n .remainingData()\n .slice(0, 128)\n .every((b) => b === 0)\n ) {\n reader.ensure(dicomPreambleLength + 8);\n }\n } else if (isPreamble(reader.remainingData())) {\n reader.take(dicomPreambleLength);\n }\n reader.ensure(8);\n const info = tryReadHeader(reader.remainingData());\n if (info) {\n const nextState = info.hasFmi\n ? new InFmiAttribute(\n new FmiAttributeState(undefined, info.bigEndian, info.explicitVR, info.hasFmi, 0, undefined),\n this.stop,\n )\n : new InAttribute(new AttributeState(false, info.bigEndian, info.explicitVR, undefined), this.stop);\n return new ParseResult(undefined, nextState);\n } else {\n throw new Error('Not a DICOM file');\n }\n }\n\n public onTruncation(reader: ByteReader): void {\n if (reader.remainingSize() !== dicomPreambleLength || !isPreamble(reader.remainingData())) {\n super.onTruncation(reader);\n }\n }\n}\n\nclass InFmiAttribute extends DicomParseStep {\n constructor(state: FmiAttributeState, stop: (attributeInfo: AttributeInfo) => boolean) {\n super(state, stop);\n }\n\n public parse(reader: ByteReader): ParseResult {\n const header = readHeader(reader, this.state);\n if (this.stop(header)) {\n return new ParseResult(undefined, finishedParser);\n }\n if (groupNumber(header.tag) !== 2) {\n console.warn('Missing or wrong File Meta Information Group Length (0002,0000)');\n return new ParseResult(undefined, this.toDatasetStep(reader));\n }\n const updatedVr = header.vr === VR.UN ? Lookup.vrOf(header.tag) : header.vr;\n const bytes = reader.take(header.headerLength + header.valueLength);\n const valueBytes = bytes.slice(header.headerLength);\n this.state.pos += header.headerLength + header.valueLength;\n if (header.tag === Tag.FileMetaInformationGroupLength) {\n this.state.fmiEndPos = this.state.pos + bytesToInt(valueBytes, this.state.bigEndian);\n } else if (header.tag === Tag.TransferSyntaxUID) {\n this.state.tsuid = trim(valueBytes.toString());\n }\n return new ParseResult(\n new ValueElement(header.tag, updatedVr, new Value(valueBytes), this.state.bigEndian, this.state.explicitVR),\n this.state.fmiEndPos && this.state.fmiEndPos <= this.state.pos ? this.toDatasetStep(reader) : this,\n );\n }\n\n private toDatasetStep(reader: ByteReader): DicomParseStep {\n let tsuid = this.state.tsuid;\n if (!tsuid) {\n console.warn('Missing Transfer Syntax (0002,0010) - assume Explicit VR Little Endian');\n tsuid = UID.ExplicitVRLittleEndian;\n }\n\n const bigEndian = tsuid === UID.ExplicitVRBigEndianRetired;\n const explicitVR = tsuid !== UID.ImplicitVRLittleEndian;\n\n let inflater: Inflater;\n\n if (isDeflated(tsuid)) {\n reader.ensure(2);\n\n inflater = new (class extends Inflater {\n public inflate(bytes: Buffer): Buffer {\n return zlib.inflateRawSync(bytes);\n }\n })();\n\n const firstTwoBytes = reader.remainingData().slice(0, 2);\n const hasZLIBHeader = bytesToUShortBE(firstTwoBytes) === 0x789c;\n\n if (hasZLIBHeader) {\n console.warn('Deflated DICOM Stream with ZLIB Header');\n inflater = new (class extends Inflater {\n public inflate(bytes: Buffer): Buffer {\n return zlib.inflateSync(bytes);\n }\n })();\n }\n\n return new InDeflated(new AttributeState(true, bigEndian, explicitVR, inflater), this.stop);\n }\n return new InAttribute(new AttributeState(true, bigEndian, explicitVR, inflater), this.stop);\n }\n}\n\n/**\n * Some implementations of zlib, like the one used in browserify-zlib, can only inflate the complete array of deflated bytes. Therefore\n * the parse method of this class will accumulate bytes and attempt inflate on parser.result() or when marked as done.\n */\nclass InDeflated extends DicomParseStep {\n private bufferedData = emptyBuffer;\n constructor(state: AttributeState, stop: (attributeInfo: AttributeInfo) => boolean) {\n state.inflater\n super(state, stop);\n }\n\n public inflate(): Buffer {\n return this.state.inflater.inflate(this.bufferedData);\n }\n\n public bufferSize(): Number {\n return this.bufferedData.length;\n }\n\n public parse(reader: ByteReader): ParseResult {\n const done = !reader.hasRemaining()\n this.bufferedData = concat(this.bufferedData, reader.take(reader.remainingSize()));\n if (done) {\n reader.setInput(this.state.inflater.inflate(this.bufferedData));\n return new ParseResult(undefined, new InAttribute(this.state, this.stop));\n } else {\n return new ParseResult(undefined, this);\n }\n }\n}\n\n\nclass InAttribute extends DicomParseStep {\n constructor(state: AttributeState, stop: (attributeInfo: AttributeInfo) => boolean) {\n super(state, stop);\n }\n\n public maybeSwitchTs(reader: ByteReader, state: any): AttributeState {\n reader.ensure(8);\n const data = reader.remainingData().slice(0, 8);\n const tag = bytesToTag(data, state.bigEndian);\n let explicitVR = undefined;\n try {\n explicitVR = VR.valueOf(bytesToVR(data.slice(4)));\n } catch (e) {}\n if (isSpecial(tag)) {\n return new AttributeState(false, state.bigEndian, state.explicitVR, state.inflater);\n }\n if (state.explicitVR && !explicitVR) {\n console.log('Implicit VR attributes detected in explicit VR dataset');\n return new AttributeState(false, state.bigEndian, false, state.inflater);\n }\n if (!state.explicitVR && explicitVR) {\n return new AttributeState(false, state.bigEndian, true, state.inflater);\n }\n return new AttributeState(false, state.bigEndian, state.explicitVR, state.inflater);\n }\n\n public parse(reader: ByteReader): ParseResult {\n const state = this.state.maySwitchTs ? this.maybeSwitchTs(reader, this.state) : this.state;\n const header = readHeader(reader, state);\n reader.take(header.headerLength);\n if (header.vr) {\n if (this.stop(header)) {\n return new ParseResult(undefined, finishedParser);\n }\n if (header.vr === VR.SQ || (header.vr === VR.UN && header.valueLength === indeterminateLength)) {\n return new ParseResult(\n new SequenceElement(header.tag, header.valueLength, state.bigEndian, state.explicitVR),\n new InAttribute(\n new AttributeState(false, state.bigEndian, state.explicitVR, state.inflater),\n this.stop,\n ),\n );\n }\n if (header.valueLength === indeterminateLength) {\n return new ParseResult(\n new FragmentsElement(header.tag, header.vr, state.bigEndian, state.explicitVR),\n new InFragments(new FragmentsState(state.bigEndian, state.explicitVR, state.inflater), this.stop),\n );\n }\n return new ParseResult(\n new ValueElement(\n header.tag,\n header.vr,\n new Value(reader.take(header.valueLength)),\n state.bigEndian,\n state.explicitVR,\n ),\n this,\n );\n }\n switch (header.tag) {\n case 0xfffee000:\n return new ParseResult(\n new ItemElement(header.valueLength, state.bigEndian),\n new InAttribute(\n new AttributeState(true, state.bigEndian, state.explicitVR, state.inflater),\n this.stop,\n ),\n );\n case 0xfffee00d:\n return new ParseResult(\n new ItemDelimitationElement(state.bigEndian),\n new InAttribute(\n new AttributeState(false, state.bigEndian, state.explicitVR, state.inflater),\n this.stop,\n ),\n );\n case 0xfffee0dd:\n return new ParseResult(\n new SequenceDelimitationElement(state.bigEndian),\n new InAttribute(\n new AttributeState(true, state.bigEndian, state.explicitVR, state.inflater),\n this.stop,\n ),\n );\n }\n return new ParseResult(new UnknownElement(state.bigEndian), this);\n }\n}\n\nclass InFragments extends DicomParseStep {\n constructor(state: FragmentsState, stop: (attributeInfo: AttributeInfo) => boolean) {\n super(state, stop);\n }\n\n public parse(reader: ByteReader): ParseResult {\n const header = readHeader(reader, this.state);\n reader.take(header.headerLength);\n if (header.tag === 0xfffee000) {\n // begin fragment\n const valueBytes = reader.take(header.valueLength);\n return new ParseResult(\n new FragmentElement(header.valueLength, new Value(valueBytes), this.state.bigEndian),\n new InFragments(\n new FragmentsState(this.state.bigEndian, this.state.explicitVR, this.state.inflater),\n this.stop,\n ),\n );\n }\n if (header.tag === 0xfffee0dd) {\n // end fragments\n if (header.valueLength !== 0) {\n console.warn('Unexpected fragments delimitation length ' + header.valueLength);\n }\n return new ParseResult(\n new SequenceDelimitationElement(this.state.bigEndian),\n new InAttribute(\n new AttributeState(false, this.state.bigEndian, this.state.explicitVR, this.state.inflater),\n this.stop,\n ),\n );\n }\n reader.take(header.valueLength);\n console.warn(\n 'Unexpected element (' + tagToString(header.tag) + ') in fragments with length ' + header.valueLength,\n );\n return new ParseResult(new UnknownElement(this.state.bigEndian), this);\n }\n}\n\nexport class Parser {\n private builder = new ElementsBuilder();\n private byteParser: ByteParser = new ByteParser(this);\n\n constructor(public readonly stop?: (attributeInfo: AttributeInfo, depth: number) => boolean) {\n const shouldStop = stop\n ? (attributeInfo: AttributeInfo): boolean => stop(attributeInfo, this.builder.currentDepth())\n : (): boolean => false;\n this.byteParser.startWith(new AtBeginning(shouldStop));\n }\n\n /**\n * Parse the input binary data, producing DICOM elements that are added to the internal builder. An elements\n * structure can be fetched based on the builder at any time.\n */\n public parse(chunk: Buffer): void {\n const step: DicomParseStep =\n this.byteParser.current instanceof DicomParseStep ? (this.byteParser.current as DicomParseStep) : undefined;\n this.byteParser.parse(chunk);\n }\n\n /**\n * Called by byte parser when it is emitting the next parsed element.\n */\n public next(element: Element): void {\n this.builder.addElement(element);\n }\n\n /**\n * Get the current elements as represented by the builder\n */\n public result(): Elements {\n if (this.byteParser.current instanceof InDeflated) {\n const inDeflatedStep = (this.byteParser.current as InDeflated)\n this.byteParser.startWith(new InAttribute(inDeflatedStep.state, inDeflatedStep.stop));\n const buff = inDeflatedStep.inflate();\n this.byteParser.parse(buff);\n this.byteParser.isCompleted = true;\n }\n return this.builder.build();\n }\n\n /**\n * Returns true the parser has completed parsing (stop condition was met)\n */\n public isComplete(): boolean {\n return this.byteParser.isCompleted;\n }\n\n /**\n * Called by byte parser when completing parser. Nothing to do here.\n */\n public complete(): void {\n // do nothing\n }\n\n /**\n * Called by byte parser on error. Here we just throw the error.\n */\n public fail(error: any): void {\n throw error;\n }\n}\n","import {\n bytesToTag,\n bytesToUInt,\n bytesToUShort,\n bytesToVR,\n groupNumber,\n indeterminateLength,\n isFileMetaInformation,\n tagToString,\n} from './base';\nimport { ByteReader } from './byte-parser';\nimport { Lookup } from './lookup';\nimport { VR } from './vr';\n\nexport const dicomPreambleLength = 132;\n\nexport function isDICM(bytes: Buffer): boolean {\n return bytes[0] === 68 && bytes[1] === 73 && bytes[2] === 67 && bytes[3] === 77;\n}\n\nexport class HeaderInfo {\n constructor(\n public readonly bigEndian: boolean,\n public readonly explicitVR: boolean,\n public readonly hasFmi: boolean,\n ) {}\n}\n\nexport function tryReadHeader(data: Buffer): HeaderInfo {\n const info = headerInfo(data, false);\n return info === undefined ? headerInfo(data, true) : info;\n}\n\nexport function headerInfo(data: Buffer, assumeBigEndian: boolean): HeaderInfo {\n const tag = bytesToTag(data, assumeBigEndian);\n const vr = Lookup.vrOf(tag);\n if (vr === VR.UN || (groupNumber(tag) !== 2 && groupNumber(tag) < 8)) {\n return undefined;\n }\n if (bytesToVR(data.slice(4, 6)) === vr.code) {\n return {\n bigEndian: assumeBigEndian,\n explicitVR: true,\n hasFmi: isFileMetaInformation(tag),\n };\n }\n if (bytesToUInt(data.slice(4, 8), assumeBigEndian) >= 0) {\n if (assumeBigEndian) {\n throw Error('Implicit VR Big Endian encoded DICOM Stream');\n } else {\n return {\n bigEndian: false,\n explicitVR: false,\n hasFmi: isFileMetaInformation(tag),\n };\n }\n }\n return undefined;\n}\n\nexport function isPreamble(data: Buffer): boolean {\n return data.length >= dicomPreambleLength && isDICM(data.slice(dicomPreambleLength - 4, dicomPreambleLength));\n}\n\nexport class TagVr {\n constructor(public readonly tag: number, public readonly vr: VR) {}\n}\n\nexport function isSpecial(tag: number): boolean {\n return tag === 0xfffee000 || tag === 0xfffee00d || tag === 0xfffee0dd;\n}\n\nexport function readTagVr(data: Buffer, bigEndian: boolean, explicitVr: boolean): TagVr {\n const tag = bytesToTag(data, bigEndian);\n if (isSpecial(tag)) {\n return new TagVr(tag, undefined);\n }\n if (explicitVr) {\n return new TagVr(tag, VR.valueOf(bytesToVR(data.slice(4, 6))));\n }\n return new TagVr(tag, Lookup.vrOf(tag));\n}\n\nexport class AttributeInfo {\n constructor(\n public readonly tag: number,\n public readonly vr: VR,\n public readonly headerLength: number,\n public readonly valueLength: number,\n ) {}\n}\n\nexport function readHeader(reader: ByteReader, state: any): AttributeInfo {\n reader.ensure(8);\n const tagVrBytes = reader.remainingData().slice(0, 8);\n const tagVr = readTagVr(tagVrBytes, state.bigEndian, state.explicitVR);\n if (tagVr.vr && state.explicitVR) {\n if (tagVr.vr.headerLength === 8) {\n return new AttributeInfo(tagVr.tag, tagVr.vr, 8, bytesToUShort(tagVrBytes.slice(6), state.bigEndian));\n }\n reader.ensure(12);\n return new AttributeInfo(\n tagVr.tag,\n tagVr.vr,\n 12,\n bytesToUInt(reader.remainingData().slice(8), state.bigEndian),\n );\n }\n return new AttributeInfo(tagVr.tag, tagVr.vr, 8, bytesToUInt(tagVrBytes.slice(4), state.bigEndian));\n}\n\nexport function warnIfOdd(tag: number, vr: VR, valueLength: number): void {\n if (valueLength % 2 > 0 && valueLength != indeterminateLength && vr != null && vr != VR.SQ) {\n console.warn(`Element ${tagToString(tag)} has odd length`);\n }\n}\n","import { parsePersonName } from './value';\nimport { multiValueDelimiter, trim } from './base';\n\nexport class ComponentGroup {\n constructor(public alphabetic: string, public ideographic: string = '', public phonetic: string = '') {}\n}\n\nexport class PersonName {\n constructor(\n public familyName: ComponentGroup,\n public givenName: ComponentGroup,\n public middleName: ComponentGroup = new ComponentGroup(''),\n public prefix: ComponentGroup = new ComponentGroup(''),\n public suffix: ComponentGroup = new ComponentGroup(''),\n ) {}\n\n static parse(s: string): PersonName[] {\n return s\n .split(multiValueDelimiter)\n .map(trim)\n .map((s1) => parsePersonName(s1));\n }\n\n toString(): string {\n const components = [this.familyName, this.givenName, this.middleName, this.prefix, this.suffix];\n const representations = ['alphabetic', 'ideographic', 'phonetic'] as const;\n return representations\n .map((repr) => {\n return components\n .map((c) => c[repr])\n .join('^')\n .replace(/\\^+$/, ''); // Trim trailing ^ separators\n })\n .join('=')\n .replace(/=+$/, ''); // Trim trailing = separators\n }\n}\n","import { Writable } from 'stream';\nimport { concat, emptyBuffer } from './base';\n\nexport function byteSink(callback: (b: Buffer) => any): Writable {\n let buffer = emptyBuffer;\n\n const sink = new Writable({\n write(chunk, encoding, cb): void {\n buffer = concat(buffer, chunk);\n process.nextTick(() => cb());\n },\n });\n\n sink.once('finish', () => {\n callback(buffer);\n });\n\n return sink;\n}\n\nexport function ignoreSink(objectMode = false): Writable {\n return new Writable({\n objectMode,\n write(chunk, encoding, callback): void {\n process.nextTick(() => callback());\n },\n });\n}\n\nexport function arraySink(arrayCallback: (a: any[]) => any): Writable {\n const array: any[] = [];\n const sink = new Writable({\n objectMode: true,\n write(chunk, encoding, callback): void {\n array.push(chunk);\n process.nextTick(() => callback());\n },\n });\n sink.once('finish', () => arrayCallback(array));\n return sink;\n}\n","import { Readable } from 'stream';\n\nexport function singleSource(element: any, objectMode = false): Readable {\n return new Readable({\n objectMode,\n read(): void {\n this.push(element);\n this.push(null);\n },\n });\n}\n\nexport function arraySource(array: any[], objectMode = false): Readable {\n let pos = 0;\n return new Readable({\n highWaterMark: 1,\n objectMode,\n read(size: number): void {\n size = size || 1;\n const maxPos = Math.min(pos + size, array.length);\n let i = pos;\n while (i < maxPos && this.push(array[i++])) {\n // do nothing\n }\n if (i === array.length) {\n this.push(null);\n }\n pos = i;\n },\n });\n}\n","export abstract class TagPathLike<T extends TagPathLike<T>> {\n public abstract tag(): number;\n\n public abstract previous(): T;\n\n public abstract isEmpty(): boolean;\n\n public isRoot(): boolean {\n return this.previous().isEmpty();\n }\n\n public toList(): T[] {\n const toListRec = (path: any, list: T[]): T[] => {\n if (!path.isRoot()) {\n toListRec(path.previous(), list);\n }\n list.push(path);\n return list;\n };\n return toListRec(this, []);\n }\n\n public contains(tag: number): boolean {\n return (\n this.toList()\n .map((tp) => tp.tag())\n .indexOf(tag) >= 0\n );\n }\n\n public depth(): number {\n const depthRec = (path: any, d: number): number => {\n if (path.isRoot()) {\n return d;\n } else {\n return depthRec(path.previous(), d + 1);\n }\n };\n return this.isEmpty() ? 0 : depthRec(this, 1);\n }\n\n public head(): T {\n return this.take(1);\n }\n\n public tail(): T {\n return this.drop(1);\n }\n\n public take(n: number): T {\n const takeRec = (path: any, i: number): T => {\n return i <= 0 ? path : takeRec(path.previous(), i - 1);\n };\n return takeRec(this, this.depth() - n);\n }\n\n public abstract drop(n: number): T;\n}\n","import { tagToString } from './base';\nimport { Lookup } from './lookup';\nimport { TagPathLike } from './tag-path-like';\n\nexport class TagPath extends TagPathLike<TagPath> {\n public static fromTag(tag: number): TagPathTag {\n return emptyTagPath.thenTag(tag);\n }\n public static fromSequence(tag: number): TagPathSequence {\n return emptyTagPath.thenSequence(tag);\n }\n public static fromSequenceEnd(tag: number): TagPathSequenceEnd {\n return emptyTagPath.thenSequenceEnd(tag);\n }\n public static fromItem(tag: number, item: number): TagPathItem {\n return emptyTagPath.thenItem(tag, item);\n }\n public static fromItemEnd(tag: number, item: number): TagPathItemEnd {\n return emptyTagPath.thenItemEnd(tag, item);\n }\n\n public static parse(s: string): TagPath {\n const indexPart = (s1: string): string => s1.substring(s1.lastIndexOf('[') + 1, s1.length - 1);\n const tagPart = (s1: string): string => s1.substring(0, s1.indexOf('['));\n const parseTag = (s1: string): number => {\n const tag = Lookup.tagOf(s1);\n if (!tag) {\n if (s1.length === 11 && s1[0] === '(' && s1[5] === ',' && s1[10] === ')') {\n const i = parseInt(s1.substring(1, 5) + s1.substring(6, 10), 16);\n if (!isNaN(i)) {\n return i;\n }\n }\n throw Error(s1 + ' is not a tag or name string');\n }\n return tag;\n };\n const parseIndex = (s1: string): number => {\n const i = parseInt(s1, 10);\n if (isNaN(i)) {\n throw Error(s1 + ' is not a number');\n }\n return i;\n };\n const createTag = (s1: string): TagPathTag => TagPath.fromTag(parseTag(s1));\n const addTag = (s1: string, path: TagPathTrunk): TagPathTag => path.thenTag(parseTag(s1));\n const createSeq = (s1: string): TagPathItem =>\n TagPath.fromItem(parseTag(tagPart(s1)), parseIndex(indexPart(s1)));\n const addSeq = (s1: string, path: TagPathTrunk): TagPathItem =>\n path.thenItem(parseTag(tagPart(s1)), parseIndex(indexPart(s1)));\n\n const tags = s.indexOf('.') > 0 ? s.split('.') : [s];\n const seqTags = tags.length > 1 ? tags.slice(0, tags.length - 1) : []; // list of sequence tags, if any\n const lastTag = tags[tags.length - 1]; // tag or sequence\n try {\n const first = seqTags.length > 0 ? seqTags[0] : undefined;\n if (first) {\n const path = seqTags.slice(1, seqTags.length).reduce((p, tag) => addSeq(tag, p), createSeq(first));\n return addTag(lastTag, path);\n }\n return createTag(lastTag);\n } catch (error) {\n throw Error('Tag path could not be parsed: ' + error.message);\n }\n }\n\n private tagVal: number;\n private previousVal: TagPathTrunk;\n\n constructor(tag: number, previous: TagPathTrunk) {\n super();\n this.tagVal = tag;\n this.previousVal = previous;\n }\n\n public tag(): number {\n return this.tagVal;\n }\n\n public previous(): TagPathTrunk {\n return this.previousVal;\n }\n\n public isEmpty(): boolean {\n return this === (emptyTagPath as TagPath);\n }\n\n public isBelow(that: TagPath): boolean {\n const thisList = this.toList();\n const thatList = that.toList();\n\n for (let i = 0; i < Math.min(thisList.length, thatList.length); i++) {\n const thisPath = thisList[i];\n const thatPath = thatList[i];\n if (thisPath.isEmpty()) {\n return !thatPath.isEmpty();\n }\n if (thatPath.isEmpty()) {\n return false;\n }\n if (thisPath.tag() !== thatPath.tag()) {\n return thisPath.tag() < thatPath.tag();\n }\n if (thisPath instanceof TagPathSequence && 'item' in thatPath) {\n return true;\n }\n if (thisPath instanceof TagPathSequence && thatPath instanceof TagPathSequenceEnd) {\n return true;\n }\n if (thisPath instanceof TagPathSequenceEnd && 'item' in thatPath) {\n return false;\n }\n if (thisPath instanceof TagPathSequenceEnd && thatPath instanceof TagPathSequence) {\n return false;\n }\n if ('item' in thisPath && thatPath instanceof TagPathSequence) {\n return false;\n }\n if ('item' in thisPath && thatPath instanceof TagPathSequenceEnd) {\n return true;\n }\n if (\n 'item' in thisPath &&\n 'item' in thatPath &&\n (thisPath as unknown as ItemIndex).item !== (thatPath as unknown as ItemIndex).item\n ) {\n return (thisPath as unknown as ItemIndex).item < (thatPath as unknown as ItemIndex).item;\n }\n if (thisPath instanceof TagPathItem && thatPath instanceof TagPathItemEnd) {\n return true;\n }\n if (thisPath instanceof TagPathItemEnd && thatPath instanceof TagPathItem) {\n return false;\n }\n }\n return thisList.length < thatList.length;\n }\n\n public isEqualTo(that: TagPath): boolean {\n if (this.isEmpty() && that.isEmpty()) {\n return true;\n }\n if (this instanceof TagPathTag && that instanceof TagPathTag) {\n return this.tag() === that.tag() && this.previous().isEqualTo(that.previous());\n }\n if (this instanceof TagPathSequence && that instanceof TagPathSequence) {\n return this.tag() === that.tag() && this.previous().isEqualTo(that.previous());\n }\n if (this instanceof TagPathSequenceEnd && that instanceof TagPathSequenceEnd) {\n return this.tag() === that.tag() && this.previous().isEqualTo(that.previous());\n }\n if (this instanceof TagPathItem && that instanceof TagPathItem) {\n return this.tag() === that.tag() && this.item === that.item && this.previous().isEqualTo(that.previous());\n }\n if (this instanceof TagPathItemEnd && that instanceof TagPathItemEnd) {\n return this.tag() === that.tag() && this.item === that.item && this.previous().isEqualTo(that.previous());\n }\n return false;\n }\n\n public startsWith(that: TagPath): boolean {\n const thisDepth = this.depth();\n const thatDepth = that.depth();\n if (thisDepth >= thatDepth) {\n const n = Math.min(thisDepth, thatDepth);\n return this.take(n).isEqualTo(that.take(n));\n } else {\n return false;\n }\n }\n\n public endsWith(that: TagPath): boolean {\n const n = this.depth() - that.depth();\n return n >= 0 ? this.drop(n).isEqualTo(that) : false;\n }\n\n public drop(n: number): TagPath {\n const dropRec = (path: TagPath, i: number): TagPath => {\n if (i < 0) {\n return emptyTagPath;\n }\n if (i === 0) {\n if (path.isEmpty()) {\n return emptyTagPath;\n }\n if (path instanceof TagPathItem) {\n return TagPath.fromItem(path.tag(), path.item);\n }\n if (path instanceof TagPathItemEnd) {\n return TagPath.fromItemEnd(path.tag(), path.item);\n }\n if (path instanceof TagPathSequence) {\n return TagPath.fromSequence(path.tag());\n }\n if (path instanceof TagPathSequenceEnd) {\n return TagPath.fromSequenceEnd(path.tag());\n }\n return TagPath.fromTag(path.tag());\n }\n const p = dropRec(path.previous(), i - 1) as TagPathTrunk;\n if (path instanceof TagPathItem) {\n return p.thenItem(path.tag(), path.item);\n }\n if (path instanceof TagPathItemEnd) {\n return p.thenItemEnd(path.tag(), path.item);\n }\n if (path instanceof TagPathSequence) {\n return p.thenSequence(path.tag());\n }\n if (path instanceof TagPathSequenceEnd) {\n return p.thenSequenceEnd(path.tag());\n }\n if (path instanceof TagPathTag) {\n return p.thenTag(path.tag());\n }\n return emptyTagPath;\n };\n return dropRec(this, this.depth() - n - 1);\n }\n\n public toNamedString(lookup: boolean): string {\n const toTagString = (tag: number): string => {\n if (lookup) {\n const keyword = Lookup.keywordOf(tag);\n if (keyword) {\n return keyword;\n }\n }\n return tagToString(tag);\n };\n const toTagPathString = (path: TagPath, tail: string): string => {\n const itemIndexSuffix = 'item' in path ? '[' + (path as unknown as ItemIndex).item + ']' : '';\n const head = toTagString(path.tag()) + itemIndexSuffix;\n const part = head + tail;\n return path.isRoot() ? part : toTagPathString(path.previous(), '.' + part);\n };\n return this.isEmpty() ? '<empty path>' : toTagPathString(this, '');\n }\n}\n\ninterface ItemIndex {\n item: number;\n}\n\nexport class TagPathTrunk extends TagPath {\n public thenTag(tag: number): TagPathTag {\n return new TagPathTag(tag, this);\n }\n public thenSequence(tag: number): TagPathSequence {\n return new TagPathSequence(tag, this);\n }\n public thenSequenceEnd(tag: number): TagPathSequenceEnd {\n return new TagPathSequenceEnd(tag, this);\n }\n public thenItem(tag: number, item: number): TagPathItem {\n return new TagPathItem(tag, item, this);\n }\n public thenItemEnd(tag: number, item: number): TagPathItemEnd {\n return new TagPathItemEnd(tag, item, this);\n }\n}\n\nclass EmptyTagPath extends TagPathTrunk {\n public tag(): number {\n throw Error('Empty tag path');\n }\n public previous(): TagPathTrunk {\n return emptyTagPath;\n }\n}\nexport const emptyTagPath = new EmptyTagPath(-1, null);\n\nexport class TagPathTag extends TagPath {\n constructor(tag: number, previous: TagPathTrunk) {\n super(tag, previous);\n }\n}\n\nexport class TagPathSequence extends TagPath {\n constructor(tag: number, previous: TagPathTrunk) {\n super(tag, previous);\n }\n}\n\nexport class TagPathSequenceEnd extends TagPath {\n constructor(tag: number, previous: TagPathTrunk) {\n super(tag, previous);\n }\n}\n\nexport class TagPathItem extends TagPathTrunk implements ItemIndex {\n constructor(tag: number, public readonly item: number, previous: TagPathTrunk) {\n super(tag, previous);\n }\n}\n\nexport class TagPathItemEnd extends TagPathTrunk implements ItemIndex {\n constructor(tag: number, public readonly item: number, previous: TagPathTrunk) {\n super(tag, previous);\n }\n}\n","import { Tag } from './tag';\nimport { VR } from './vr';\n\nexport class TagToVR {\n public static adjustTag(tag: number): number {\n if ((tag & 0xffe00000) === 0x50000000 || (tag & 0xffe00000) === 0x60000000) {\n return tag & 0xffe0ffff;\n }\n if ((tag & 0xff000000) === 0x7f000000 && (tag & 0xffff0000) !== 0x7fe00000) {\n return tag & 0xff00ffff;\n }\n return tag;\n }\n\n public static vrOf(tag: number): VR {\n if ((tag & 0x0000ffff) === 0) {\n return VR.UL; // group length\n }\n if ((tag & 0x00010000) !== 0) {\n // private creator ID\n return (tag & 0x0000ff00) === 0 && (tag & 0x000000f0) !== 0 ? VR.LO : VR.UN;\n }\n if ((tag & 0xffffff00) === Tag.SourceImageIDs) {\n return VR.CS;\n }\n const key = TagToVR.adjustTag(tag).toString(16);\n return key in TagToVR.dict ? TagToVR.dict[key] : VR.UN;\n }\n\n private static dict: { [key: string]: VR } = {\n '0': VR.UL,\n '2': VR.UI,\n '3': VR.UI,\n '100': VR.US,\n '110': VR.US,\n '120': VR.US,\n '600': VR.AE,\n '700': VR.US,\n '800': VR.US,\n '900': VR.US,\n '901': VR.AT,\n '902': VR.LO,\n '903': VR.US,\n '1000': VR.UI,\n '1001': VR.UI,\n '1002': VR.US,\n '1005': VR.AT,\n '1008': VR.US,\n '1020': VR.US,\n '1021': VR.US,\n '1022': VR.US,\n '1023': VR.US,\n '1030': VR.AE,\n '1031': VR.US,\n '20000': VR.UL,\n '20001': VR.OB,\n '20002': VR.UI,\n '20003': VR.UI,\n '20010': VR.UI,\n '20012': VR.UI,\n '20013': VR.SH,\n '20016': VR.AE,\n '20017': VR.AE,\n '20018': VR.AE,\n '20100': VR.UI,\n '20102': VR.OB,\n '41130': VR.CS,\n '41141': VR.CS,\n '41142': VR.CS,\n '41200': VR.UL,\n '41202': VR.UL,\n '41212': VR.US,\n '41220': VR.SQ,\n '41400': VR.UL,\n '41410': VR.US,\n '41420': VR.UL,\n '41430': VR.CS,\n '41432': VR.UI,\n '41500': VR.CS,\n '41504': VR.UL,\n '41510': VR.UI,\n '41511': VR.UI,\n '41512': VR.UI,\n '4151a': VR.UI,\n '41600': VR.UL,\n '80001': VR.UL,\n '80005': VR.CS,\n '80006': VR.SQ,\n '80008': VR.CS,\n '80010': VR.SH,\n '80012': VR.DA,\n '80013': VR.TM,\n '80014': VR.UI,\n '80015': VR.DT,\n '80016': VR.UI,\n '80018': VR.UI,\n '8001a': VR.UI,\n '8001b': VR.UI,\n '80020': VR.DA,\n '80021': VR.DA,\n '80022': VR.DA,\n '80023': VR.DA,\n '80024': VR.DA,\n '80025': VR.DA,\n '8002a': VR.DT,\n '80030': VR.TM,\n '80031': VR.TM,\n '80032': VR.TM,\n '80033': VR.TM,\n '80034': VR.TM,\n '80035': VR.TM,\n '80040': VR.US,\n '80041': VR.LO,\n '80042': VR.CS,\n '80050': VR.SH,\n '80051': VR.SQ,\n '80052': VR.CS,\n '80053': VR.CS,\n '80054': VR.AE,\n '80055': VR.AE,\n '80056': VR.CS,\n '80058': VR.UI,\n '80060': VR.CS,\n '80061': VR.CS,\n '80062': VR.UI,\n '80063': VR.SQ,\n '80064': VR.CS,\n '80068': VR.CS,\n '80070': VR.LO,\n '80080': VR.LO,\n '80081': VR.ST,\n '80082': VR.SQ,\n '80090': VR.PN,\n '80092': VR.ST,\n '80094': VR.SH,\n '80096': VR.SQ,\n '8009c': VR.PN,\n '8009d': VR.SQ,\n '80100': VR.SH,\n '80101': VR.LO,\n '80102': VR.SH,\n '80103': VR.SH,\n '80104': VR.LO,\n '80105': VR.CS,\n '80106': VR.DT,\n '80107': VR.DT,\n '80108': VR.LT,\n '80109': VR.SQ,\n '8010a': VR.CS,\n '8010b': VR.CS,\n '8010c': VR.UI,\n '8010d': VR.UI,\n '8010e': VR.UR,\n '8010f': VR.CS,\n '80110': VR.SQ,\n '80112': VR.LO,\n '80114': VR.ST,\n '80115': VR.ST,\n '80116': VR.ST,\n '80117': VR.UI,\n '80118': VR.UI,\n '80119': VR.UC,\n '80120': VR.UR,\n '80121': VR.SQ,\n '80122': VR.LO,\n '80123': VR.SQ,\n '80124': VR.SQ,\n '80201': VR.SH,\n '80220': VR.SQ,\n '80221': VR.CS,\n '80222': VR.LO,\n '80300': VR.SQ,\n '80301': VR.US,\n '80302': VR.LO,\n '80303': VR.CS,\n '80304': VR.US,\n '80305': VR.SQ,\n '80306': VR.US,\n '80307': VR.CS,\n '80308': VR.US,\n '80309': VR.UL,\n '8030a': VR.CS,\n '8030b': VR.UL,\n '8030c': VR.UC,\n '8030d': VR.UC,\n '8030e': VR.UT,\n '8030f': VR.UT,\n '80310': VR.SQ,\n '81000': VR.AE,\n '81010': VR.SH,\n '81030': VR.LO,\n '81032': VR.SQ,\n '8103e': VR.LO,\n '8103f': VR.SQ,\n '81040': VR.LO,\n '81048': VR.PN,\n '81049': VR.SQ,\n '81050': VR.PN,\n '81052': VR.SQ,\n '81060': VR.PN,\n '81062': VR.SQ,\n '81070': VR.PN,\n '81072': VR.SQ,\n '81080': VR.LO,\n '81084': VR.SQ,\n '81090': VR.LO,\n '81100': VR.SQ,\n '81110': VR.SQ,\n '81111': VR.SQ,\n '81115': VR.SQ,\n '81120': VR.SQ,\n '81125': VR.SQ,\n '81130': VR.SQ,\n '81134': VR.SQ,\n '8113a': VR.SQ,\n '81140': VR.SQ,\n '81145': VR.SQ,\n '8114a': VR.SQ,\n '8114b': VR.SQ,\n '81150': VR.UI,\n '81155': VR.UI,\n '81156': VR.SQ,\n '8115a': VR.UI,\n '81160': VR.IS,\n '81161': VR.UL,\n '81162': VR.UL,\n '81163': VR.FD,\n '81164': VR.SQ,\n '81167': VR.UI,\n '81190': VR.UR,\n '81195': VR.UI,\n '81196': VR.US,\n '81197': VR.US,\n '81198': VR.SQ,\n '81199': VR.SQ,\n '8119a': VR.SQ,\n '81200': VR.SQ,\n '81250': VR.SQ,\n '82110': VR.CS,\n '82111': VR.ST,\n '82112': VR.SQ,\n '82120': VR.SH,\n '82122': VR.IS,\n '82124': VR.IS,\n '82127': VR.SH,\n '82128': VR.IS,\n '82129': VR.IS,\n '8212a': VR.IS,\n '82130': VR.DS,\n '82132': VR.LO,\n '82133': VR.SQ,\n '82134': VR.FD,\n '82135': VR.SQ,\n '82142': VR.IS,\n '82143': VR.IS,\n '82144': VR.IS,\n '82200': VR.CS,\n '82204': VR.CS,\n '82208': VR.CS,\n '82218': VR.SQ,\n '82220': VR.SQ,\n '82228': VR.SQ,\n '82229': VR.SQ,\n '82230': VR.SQ,\n '82240': VR.SQ,\n '82242': VR.SQ,\n '82244': VR.SQ,\n '82246': VR.SQ,\n '82251': VR.SQ,\n '82253': VR.SQ,\n '82255': VR.SQ,\n '82256': VR.ST,\n '82257': VR.SQ,\n '82258': VR.ST,\n '82259': VR.SQ,\n '8225a': VR.SQ,\n '8225c': VR.SQ,\n '83001': VR.SQ,\n '83010': VR.UI,\n '83011': VR.SQ,\n '83012': VR.UI,\n '84000': VR.LT,\n '89007': VR.CS,\n '89092': VR.SQ,\n '89121': VR.SQ,\n '89123': VR.UI,\n '89124': VR.SQ,\n '89154': VR.SQ,\n '89205': VR.CS,\n '89206': VR.CS,\n '89207': VR.CS,\n '89208': VR.CS,\n '89209': VR.CS,\n '89215': VR.SQ,\n '89237': VR.SQ,\n '89410': VR.SQ,\n '89458': VR.SQ,\n '89459': VR.FL,\n '89460': VR.CS,\n '100010': VR.PN,\n '100020': VR.LO,\n '100021': VR.LO,\n '100022': VR.CS,\n '100024': VR.SQ,\n '100026': VR.SQ,\n '100027': VR.SQ,\n '100028': VR.US,\n '100030': VR.DA,\n '100032': VR.TM,\n '100033': VR.LO,\n '100034': VR.LO,\n '100035': VR.CS,\n '100040': VR.CS,\n '100050': VR.SQ,\n '100101': VR.SQ,\n '100102': VR.SQ,\n '100200': VR.CS,\n '100201': VR.SQ,\n '100212': VR.UC,\n '100213': VR.LO,\n '100214': VR.LO,\n '100215': VR.SQ,\n '100216': VR.SQ,\n '100217': VR.LO,\n '100218': VR.UT,\n '100219': VR.SQ,\n '100221': VR.SQ,\n '100222': VR.UC,\n '100223': VR.LO,\n '100229': VR.SQ,\n '101000': VR.LO,\n '101001': VR.PN,\n '101002': VR.SQ,\n '101005': VR.PN,\n '101010': VR.AS,\n '101020': VR.DS,\n '101021': VR.SQ,\n '101022': VR.DS,\n '101023': VR.DS,\n '101024': VR.DS,\n '101030': VR.DS,\n '101040': VR.LO,\n '101050': VR.LO,\n '101060': VR.PN,\n '101080': VR.LO,\n '101081': VR.LO,\n '101090': VR.LO,\n '101100': VR.SQ,\n '102000': VR.LO,\n '102110': VR.LO,\n '102150': VR.LO,\n '102152': VR.LO,\n '102154': VR.SH,\n '102155': VR.LT,\n '102160': VR.SH,\n '102180': VR.SH,\n '1021a0': VR.CS,\n '1021b0': VR.LT,\n '1021c0': VR.US,\n '1021d0': VR.DA,\n '1021f0': VR.LO,\n '102201': VR.LO,\n '102202': VR.SQ,\n '102203': VR.CS,\n '102210': VR.CS,\n '102292': VR.LO,\n '102293': VR.SQ,\n '102294': VR.SQ,\n '102295': VR.LO,\n '102296': VR.SQ,\n '102297': VR.PN,\n '102298': VR.CS,\n '102299': VR.LO,\n '104000': VR.LT,\n '109431': VR.FL,\n '120010': VR.LO,\n '120020': VR.LO,\n '120021': VR.LO,\n '120030': VR.LO,\n '120031': VR.LO,\n '120040': VR.LO,\n '120042': VR.LO,\n '120050': VR.LO,\n '120051': VR.ST,\n '120052': VR.FD,\n '120053': VR.CS,\n '120060': VR.LO,\n '120062': VR.CS,\n '120063': VR.LO,\n '120064': VR.SQ,\n '120071': VR.LO,\n '120072': VR.LO,\n '120081': VR.LO,\n '120082': VR.LO,\n '120083': VR.SQ,\n '120084': VR.CS,\n '120085': VR.CS,\n '120086': VR.DA,\n '120087': VR.DA,\n '140023': VR.ST,\n '140024': VR.ST,\n '140025': VR.ST,\n '140028': VR.ST,\n '140030': VR.DS,\n '140032': VR.DS,\n '140034': VR.DS,\n '140042': VR.ST,\n '140044': VR.ST,\n '140045': VR.ST,\n '140046': VR.LT,\n '140050': VR.CS,\n '140052': VR.CS,\n '140054': VR.DS,\n '140056': VR.DS,\n '140100': VR.LO,\n '140101': VR.CS,\n '140102': VR.DA,\n '140103': VR.TM,\n '140104': VR.PN,\n '140105': VR.ST,\n '140106': VR.SQ,\n '140107': VR.CS,\n '140108': VR.CS,\n '141010': VR.ST,\n '141020': VR.DA,\n '141040': VR.ST,\n '142002': VR.SQ,\n '142004': VR.IS,\n '142006': VR.PN,\n '142008': VR.IS,\n '142012': VR.SQ,\n '142014': VR.IS,\n '142016': VR.SH,\n '142018': VR.ST,\n '14201a': VR.CS,\n '14201c': VR.CS,\n '14201e': VR.SQ,\n '142030': VR.SQ,\n '142032': VR.SH,\n '142202': VR.IS,\n '142204': VR.SQ,\n '142206': VR.ST,\n '142208': VR.CS,\n '14220a': VR.IS,\n '14220c': VR.CS,\n '14220e': VR.CS,\n '142210': VR.OB,\n '142220': VR.SQ,\n '142222': VR.ST,\n '142224': VR.IS,\n '142226': VR.IS,\n '142228': VR.CS,\n '14222a': VR.DS,\n '14222c': VR.DS,\n '143011': VR.DS,\n '143012': VR.DS,\n '143020': VR.SQ,\n '143022': VR.ST,\n '143024': VR.DS,\n '143026': VR.DS,\n '143028': VR.DS,\n '143040': VR.SQ,\n '143050': VR.OW,\n '143060': VR.SQ,\n '143070': VR.OW,\n '143071': VR.DS,\n '143072': VR.DS,\n '143073': VR.DS,\n '143074': VR.LO,\n '143075': VR.DS,\n '143076': VR.DA,\n '143077': VR.TM,\n '143080': VR.OB,\n '143099': VR.LT,\n '144002': VR.SQ,\n '144004': VR.CS,\n '144006': VR.LT,\n '144008': VR.SQ,\n '14400a': VR.CS,\n '14400c': VR.LT,\n '14400e': VR.SQ,\n '14400f': VR.LT,\n '144010': VR.SQ,\n '144011': VR.SQ,\n '144012': VR.US,\n '144013': VR.CS,\n '144014': VR.DS,\n '144015': VR.DS,\n '144016': VR.DS,\n '144017': VR.DS,\n '144018': VR.DS,\n '144019': VR.DS,\n '14401a': VR.DS,\n '14401b': VR.DS,\n '14401c': VR.DS,\n '14401d': VR.DS,\n '144020': VR.SQ,\n '144022': VR.DS,\n '144024': VR.DS,\n '144026': VR.CS,\n '144028': VR.DS,\n '144030': VR.SQ,\n '144031': VR.DS,\n '144032': VR.CS,\n '144033': VR.IS,\n '144034': VR.DS,\n '144035': VR.SQ,\n '144036': VR.CS,\n '144038': VR.DS,\n '14403a': VR.DS,\n '14403c': VR.DS,\n '144040': VR.SQ,\n '144050': VR.SQ,\n '144051': VR.SQ,\n '144052': VR.DS,\n '144054': VR.ST,\n '144056': VR.ST,\n '144057': VR.DS,\n '144058': VR.DS,\n '144059': VR.DS,\n '14405a': VR.DS,\n '14405c': VR.ST,\n '144060': VR.SQ,\n '144062': VR.DS,\n '144064': VR.DS,\n '144070': VR.SQ,\n '144072': VR.ST,\n '144074': VR.SH,\n '144076': VR.DA,\n '144078': VR.DA,\n '14407a': VR.DA,\n '14407c': VR.TM,\n '14407e': VR.DA,\n '144080': VR.SQ,\n '144081': VR.CS,\n '144082': VR.LT,\n '144083': VR.SQ,\n '144084': VR.DS,\n '144085': VR.DS,\n '144086': VR.SQ,\n '144087': VR.SQ,\n '144088': VR.DS,\n '144089': VR.DS,\n '14408b': VR.DS,\n '14408c': VR.DS,\n '14408d': VR.DS,\n '14408e': VR.DS,\n '144091': VR.SQ,\n '144092': VR.DS,\n '14409a': VR.SQ,\n '14409b': VR.ST,\n '14409c': VR.DS,\n '14409d': VR.DS,\n '14409f': VR.DS,\n '1440a0': VR.LO,\n '1440a1': VR.LO,\n '1440a2': VR.LO,\n '145002': VR.IS,\n '145004': VR.IS,\n '145100': VR.US,\n '145101': VR.DS,\n '145102': VR.DS,\n '145103': VR.DS,\n '145104': VR.DS,\n '145105': VR.CS,\n '145106': VR.SH,\n '145107': VR.DS,\n '145108': VR.DS,\n '145109': VR.CS,\n '14510a': VR.DS,\n '14510b': VR.SH,\n '14510c': VR.DS,\n '14510d': VR.DS,\n '14510e': VR.DS,\n '14510f': VR.SH,\n '145110': VR.SH,\n '145111': VR.LO,\n '145112': VR.DS,\n '145113': VR.DS,\n '145114': VR.DS,\n '145115': VR.DS,\n '145116': VR.DS,\n '145117': VR.DS,\n '145118': VR.DS,\n '145119': VR.DS,\n '14511a': VR.DS,\n '14511b': VR.DS,\n '14511c': VR.DS,\n '14511d': VR.DS,\n '14511e': VR.CS,\n '14511f': VR.DS,\n '180010': VR.LO,\n '180012': VR.SQ,\n '180013': VR.FL,\n '180014': VR.SQ,\n '180015': VR.CS,\n '180020': VR.CS,\n '180021': VR.CS,\n '180022': VR.CS,\n '180023': VR.CS,\n '180024': VR.SH,\n '180025': VR.CS,\n '180026': VR.SQ,\n '180027': VR.TM,\n '180028': VR.DS,\n '180029': VR.SQ,\n '18002a': VR.SQ,\n '180030': VR.LO,\n '180031': VR.LO,\n '180032': VR.DS,\n '180033': VR.DS,\n '180034': VR.LO,\n '180035': VR.TM,\n '180036': VR.SQ,\n '180037': VR.CS,\n '180038': VR.CS,\n '180039': VR.CS,\n '18003a': VR.ST,\n '180040': VR.IS,\n '180042': VR.CS,\n '180050': VR.DS,\n '180060': VR.DS,\n '180070': VR.IS,\n '180071': VR.CS,\n '180072': VR.DS,\n '180073': VR.CS,\n '180074': VR.IS,\n '180075': VR.IS,\n '180080': VR.DS,\n '180081': VR.DS,\n '180082': VR.DS,\n '180083': VR.DS,\n '180084': VR.DS,\n '180085': VR.SH,\n '180086': VR.IS,\n '180087': VR.DS,\n '180088': VR.DS,\n '180089': VR.IS,\n '180090': VR.DS,\n '180091': VR.IS,\n '180093': VR.DS,\n '180094': VR.DS,\n '180095': VR.DS,\n '181000': VR.LO,\n '181002': VR.UI,\n '181003': VR.LO,\n '181004': VR.LO,\n '181005': VR.LO,\n '181006': VR.LO,\n '181007': VR.LO,\n '181008': VR.LO,\n '181009': VR.UT,\n '18100a': VR.SQ,\n '181010': VR.LO,\n '181011': VR.LO,\n '181012': VR.DA,\n '181014': VR.TM,\n '181016': VR.LO,\n '181017': VR.LO,\n '181018': VR.LO,\n '181019': VR.LO,\n '18101a': VR.LO,\n '18101b': VR.LO,\n '181020': VR.LO,\n '181022': VR.SH,\n '181023': VR.LO,\n '181030': VR.LO,\n '181040': VR.LO,\n '181041': VR.DS,\n '181042': VR.TM,\n '181043': VR.TM,\n '181044': VR.DS,\n '181045': VR.IS,\n '181046': VR.DS,\n '181047': VR.DS,\n '181048': VR.CS,\n '181049': VR.DS,\n '181050': VR.DS,\n '181060': VR.DS,\n '181061': VR.LO,\n '181062': VR.IS,\n '181063': VR.DS,\n '181064': VR.LO,\n '181065': VR.DS,\n '181066': VR.DS,\n '181067': VR.DS,\n '181068': VR.DS,\n '181069': VR.DS,\n '18106a': VR.CS,\n '18106c': VR.US,\n '18106e': VR.UL,\n '181070': VR.LO,\n '181071': VR.DS,\n '181072': VR.TM,\n '181073': VR.TM,\n '181074': VR.DS,\n '181075': VR.DS,\n '181076': VR.DS,\n '181077': VR.DS,\n '181078': VR.DT,\n '181079': VR.DT,\n '181080': VR.CS,\n '181081': VR.IS,\n '181082': VR.IS,\n '181083': VR.IS,\n '181084': VR.IS,\n '181085': VR.LO,\n '181086': VR.IS,\n '181088': VR.IS,\n '181090': VR.IS,\n '181094': VR.IS,\n '181100': VR.DS,\n '181110': VR.DS,\n '181111': VR.DS,\n '181114': VR.DS,\n '181120': VR.DS,\n '181121': VR.DS,\n '181130': VR.DS,\n '181131': VR.DS,\n '181134': VR.CS,\n '181135': VR.DS,\n '181136': VR.DS,\n '181137': VR.DS,\n '181138': VR.DS,\n '18113a': VR.CS,\n '181140': VR.CS,\n '181141': VR.DS,\n '181142': VR.DS,\n '181143': VR.DS,\n '181144': VR.DS,\n '181145': VR.DS,\n '181146': VR.DS,\n '181147': VR.CS,\n '181149': VR.IS,\n '181150': VR.IS,\n '181151': VR.IS,\n '181152': VR.IS,\n '181153': VR.IS,\n '181154': VR.DS,\n '181155': VR.CS,\n '181156': VR.CS,\n '18115a': VR.CS,\n '18115e': VR.DS,\n '181160': VR.SH,\n '181161': VR.LO,\n '181162': VR.DS,\n '181164': VR.DS,\n '181166': VR.CS,\n '181170': VR.IS,\n '181180': VR.SH,\n '181181': VR.CS,\n '181182': VR.IS,\n '181183': VR.DS,\n '181184': VR.DS,\n '181190': VR.DS,\n '181191': VR.CS,\n '1811a0': VR.DS,\n '1811a2': VR.DS,\n '1811a3': VR.DS,\n '1811a4': VR.LO,\n '1811a5': VR.DS,\n '181200': VR.DA,\n '181201': VR.TM,\n '181202': VR.DT,\n '181210': VR.SH,\n '181240': VR.IS,\n '181242': VR.IS,\n '181243': VR.IS,\n '181244': VR.US,\n '181250': VR.SH,\n '181251': VR.SH,\n '181260': VR.SH,\n '181261': VR.LO,\n '181271': VR.FD,\n '181272': VR.SQ,\n '181300': VR.DS,\n '181301': VR.CS,\n '181302': VR.IS,\n '181310': VR.US,\n '181312': VR.CS,\n '181314': VR.DS,\n '181315': VR.CS,\n '181316': VR.DS,\n '181318': VR.DS,\n '181320': VR.FL,\n '181400': VR.LO,\n '181401': VR.LO,\n '181402': VR.CS,\n '181403': VR.CS,\n '181404': VR.US,\n '181405': VR.IS,\n '181411': VR.DS,\n '181412': VR.DS,\n '181413': VR.DS,\n '181450': VR.DS,\n '181460': VR.DS,\n '181470': VR.DS,\n '181480': VR.DS,\n '181490': VR.CS,\n '181491': VR.CS,\n '181495': VR.IS,\n '181500': VR.CS,\n '181508': VR.CS,\n '181510': VR.DS,\n '181511': VR.DS,\n '181520': VR.DS,\n '181521': VR.DS,\n '181530': VR.DS,\n '181531': VR.DS,\n '181600': VR.CS,\n '181602': VR.IS,\n '181604': VR.IS,\n '181606': VR.IS,\n '181608': VR.IS,\n '181610': VR.IS,\n '181612': VR.IS,\n '181620': VR.IS,\n '181622': VR.US,\n '181623': VR.US,\n '181624': VR.US,\n '181700': VR.CS,\n '181702': VR.IS,\n '181704': VR.IS,\n '181706': VR.IS,\n '181708': VR.IS,\n '181710': VR.IS,\n '181712': VR.IS,\n '181720': VR.IS,\n '181800': VR.CS,\n '181801': VR.SH,\n '181802': VR.CS,\n '181803': VR.LO,\n '182001': VR.IS,\n '182002': VR.SH,\n '182003': VR.DS,\n '182004': VR.DS,\n '182005': VR.DS,\n '182006': VR.SH,\n '182010': VR.DS,\n '182020': VR.CS,\n '182030': VR.DS,\n '182041': VR.SQ,\n '182042': VR.UI,\n '182043': VR.FL,\n '182044': VR.FL,\n '182045': VR.SH,\n '182046': VR.FL,\n '183100': VR.CS,\n '183101': VR.DS,\n '183102': VR.DS,\n '183103': VR.IS,\n '183104': VR.IS,\n '183105': VR.IS,\n '184000': VR.LT,\n '185000': VR.SH,\n '185010': VR.LO,\n '185012': VR.DS,\n '185020': VR.LO,\n '185021': VR.LO,\n '185022': VR.DS,\n '185024': VR.DS,\n '185026': VR.DS,\n '185027': VR.DS,\n '185028': VR.DS,\n '185029': VR.DS,\n '185030': VR.DS,\n '185040': VR.DS,\n '185050': VR.IS,\n '185100': VR.CS,\n '185101': VR.CS,\n '185104': VR.SQ,\n '185210': VR.DS,\n '185212': VR.DS,\n '186000': VR.DS,\n '186011': VR.SQ,\n '186012': VR.US,\n '186014': VR.US,\n '186016': VR.UL,\n '186018': VR.UL,\n '18601a': VR.UL,\n '18601c': VR.UL,\n '18601e': VR.UL,\n '186020': VR.SL,\n '186022': VR.SL,\n '186024': VR.US,\n '186026': VR.US,\n '186028': VR.FD,\n '18602a': VR.FD,\n '18602c': VR.FD,\n '18602e': VR.FD,\n '186030': VR.UL,\n '186031': VR.CS,\n '186032': VR.UL,\n '186034': VR.FD,\n '186036': VR.FD,\n '186038': VR.UL,\n '186039': VR.SL,\n '18603a': VR.UL,\n '18603b': VR.SL,\n '18603c': VR.UL,\n '18603d': VR.SL,\n '18603e': VR.UL,\n '18603f': VR.SL,\n '186040': VR.UL,\n '186041': VR.SL,\n '186042': VR.UL,\n '186043': VR.SL,\n '186044': VR.US,\n '186046': VR.UL,\n '186048': VR.UL,\n '18604a': VR.UL,\n '18604c': VR.US,\n '18604e': VR.US,\n '186050': VR.UL,\n '186052': VR.UL,\n '186054': VR.FD,\n '186056': VR.UL,\n '186058': VR.UL,\n '18605a': VR.FL,\n '186060': VR.FL,\n '187000': VR.CS,\n '187001': VR.DS,\n '187004': VR.CS,\n '187005': VR.CS,\n '187006': VR.LT,\n '187008': VR.LT,\n '18700a': VR.SH,\n '18700c': VR.DA,\n '18700e': VR.TM,\n '187010': VR.IS,\n '187011': VR.IS,\n '187012': VR.DS,\n '187014': VR.DS,\n '187016': VR.DS,\n '18701a': VR.DS,\n '187020': VR.DS,\n '187022': VR.DS,\n '187024': VR.CS,\n '187026': VR.DS,\n '187028': VR.DS,\n '18702a': VR.LO,\n '18702b': VR.LO,\n '187030': VR.DS,\n '187032': VR.DS,\n '187034': VR.CS,\n '187036': VR.FL,\n '187038': VR.FL,\n '187040': VR.LT,\n '187041': VR.LT,\n '187042': VR.DS,\n '187044': VR.DS,\n '187046': VR.IS,\n '187048': VR.DS,\n '18704c': VR.DS,\n '187050': VR.CS,\n '187052': VR.DS,\n '187054': VR.DS,\n '187056': VR.FL,\n '187058': VR.FL,\n '187060': VR.CS,\n '187062': VR.LT,\n '187064': VR.CS,\n '187065': VR.DS,\n '188150': VR.DS,\n '188151': VR.DS,\n '189004': VR.CS,\n '189005': VR.SH,\n '189006': VR.SQ,\n '189008': VR.CS,\n '189009': VR.CS,\n '189010': VR.CS,\n '189011': VR.CS,\n '189012': VR.CS,\n '189014': VR.CS,\n '189015': VR.CS,\n '189016': VR.CS,\n '189017': VR.CS,\n '189018': VR.CS,\n '189019': VR.FD,\n '189020': VR.CS,\n '189021': VR.CS,\n '189022': VR.CS,\n '189024': VR.CS,\n '189025': VR.CS,\n '189026': VR.CS,\n '189027': VR.CS,\n '189028': VR.CS,\n '189029': VR.CS,\n '189030': VR.FD,\n '189032': VR.CS,\n '189033': VR.CS,\n '189034': VR.CS,\n '189035': VR.FD,\n '189036': VR.CS,\n '189037': VR.CS,\n '189041': VR.LO,\n '189042': VR.SQ,\n '189043': VR.CS,\n '189044': VR.CS,\n '189045': VR.SQ,\n '189046': VR.LO,\n '189047': VR.SH,\n '189048': VR.CS,\n '189049': VR.SQ,\n '189050': VR.LO,\n '189051': VR.CS,\n '189052': VR.FD,\n '189053': VR.FD,\n '189054': VR.CS,\n '189058': VR.US,\n '189059': VR.CS,\n '189060': VR.CS,\n '189061': VR.FD,\n '189062': VR.CS,\n '189063': VR.FD,\n '189064': VR.CS,\n '189065': VR.CS,\n '189066': VR.US,\n '189067': VR.CS,\n '189069': VR.FD,\n '189070': VR.FD,\n '189073': VR.FD,\n '189074': VR.DT,\n '189075': VR.CS,\n '189076': VR.SQ,\n '189077': VR.CS,\n '189078': VR.CS,\n '189079': VR.FD,\n '189080': VR.ST,\n '189081': VR.CS,\n '189082': VR.FD,\n '189083': VR.SQ,\n '189084': VR.SQ,\n '189085': VR.CS,\n '189087': VR.FD,\n '189089': VR.FD,\n '189090': VR.FD,\n '189091': VR.FD,\n '189092': VR.SQ,\n '189093': VR.US,\n '189094': VR.CS,\n '189095': VR.UL,\n '189096': VR.FD,\n '189098': VR.FD,\n '189100': VR.CS,\n '189101': VR.CS,\n '189103': VR.SQ,\n '189104': VR.FD,\n '189105': VR.FD,\n '189106': VR.FD,\n '189107': VR.SQ,\n '189112': VR.SQ,\n '189114': VR.SQ,\n '189115': VR.SQ,\n '189117': VR.SQ,\n '189118': VR.SQ,\n '189119': VR.SQ,\n '189125': VR.SQ,\n '189126': VR.SQ,\n '189127': VR.UL,\n '189147': VR.CS,\n '189151': VR.DT,\n '189152': VR.SQ,\n '189155': VR.FD,\n '189159': VR.UL,\n '189166': VR.CS,\n '189168': VR.FD,\n '189169': VR.CS,\n '189170': VR.CS,\n '189171': VR.CS,\n '189172': VR.CS,\n '189173': VR.CS,\n '189174': VR.CS,\n '189175': VR.LO,\n '189176': VR.SQ,\n '189177': VR.CS,\n '189178': VR.CS,\n '189179': VR.CS,\n '189180': VR.CS,\n '189181': VR.FD,\n '189182': VR.FD,\n '189183': VR.CS,\n '189184': VR.FD,\n '189185': VR.ST,\n '189186': VR.SH,\n '189195': VR.FD,\n '189196': VR.FD,\n '189197': VR.SQ,\n '189198': VR.CS,\n '189199': VR.CS,\n '189200': VR.CS,\n '189214': VR.CS,\n '189217': VR.FD,\n '189218': VR.FD,\n '189219': VR.SS,\n '189220': VR.FD,\n '189226': VR.SQ,\n '189227': VR.SQ,\n '189231': VR.US,\n '189232': VR.US,\n '189234': VR.UL,\n '189236': VR.CS,\n '189239': VR.SQ,\n '189240': VR.US,\n '189241': VR.US,\n '189250': VR.CS,\n '189251': VR.SQ,\n '189252': VR.LO,\n '189253': VR.US,\n '189254': VR.FD,\n '189255': VR.FD,\n '189256': VR.FD,\n '189257': VR.CS,\n '189258': VR.UL,\n '189259': VR.CS,\n '18925a': VR.FD,\n '18925b': VR.LO,\n '18925c': VR.CS,\n '18925d': VR.SQ,\n '18925e': VR.LO,\n '18925f': VR.UL,\n '189260': VR.SQ,\n '189295': VR.FD,\n '189296': VR.FD,\n '189297': VR.CS,\n '189298': VR.IS,\n '189301': VR.SQ,\n '189302': VR.CS,\n '189303': VR.FD,\n '189304': VR.SQ,\n '189305': VR.FD,\n '189306': VR.FD,\n '189307': VR.FD,\n '189308': VR.SQ,\n '189309': VR.FD,\n '189310': VR.FD,\n '189311': VR.FD,\n '189312': VR.SQ,\n '189313': VR.FD,\n '189314': VR.SQ,\n '189315': VR.CS,\n '189316': VR.CS,\n '189317': VR.FD,\n '189318': VR.FD,\n '189319': VR.FD,\n '189320': VR.SH,\n '189321': VR.SQ,\n '189322': VR.FD,\n '189323': VR.CS,\n '189324': VR.FD,\n '189325': VR.SQ,\n '189326': VR.SQ,\n '189327': VR.FD,\n '189328': VR.FD,\n '189329': VR.SQ,\n '189330': VR.FD,\n '189332': VR.FD,\n '189333': VR.CS,\n '189334': VR.CS,\n '189335': VR.FD,\n '189337': VR.US,\n '189338': VR.SQ,\n '189340': VR.SQ,\n '189341': VR.SQ,\n '189342': VR.CS,\n '189343': VR.CS,\n '189344': VR.CS,\n '189345': VR.FD,\n '189346': VR.SQ,\n '189351': VR.FL,\n '189352': VR.FL,\n '189353': VR.FL,\n '189360': VR.SQ,\n '189401': VR.SQ,\n '189402': VR.FL,\n '189403': VR.FL,\n '189404': VR.FL,\n '189405': VR.SQ,\n '189406': VR.SQ,\n '189407': VR.SQ,\n '189410': VR.CS,\n '189412': VR.SQ,\n '189417': VR.SQ,\n '189420': VR.CS,\n '189423': VR.LO,\n '189424': VR.LT,\n '189425': VR.CS,\n '189426': VR.FL,\n '189427': VR.CS,\n '189428': VR.FL,\n '189429': VR.FL,\n '189430': VR.FL,\n '189432': VR.SQ,\n '189433': VR.LO,\n '189434': VR.SQ,\n '189435': VR.CS,\n '189436': VR.SS,\n '189437': VR.SS,\n '189438': VR.SS,\n '189439': VR.SS,\n '189440': VR.SS,\n '189441': VR.US,\n '189442': VR.SS,\n '189447': VR.FL,\n '189449': VR.FL,\n '189451': VR.SQ,\n '189452': VR.FL,\n '189455': VR.SQ,\n '189456': VR.SQ,\n '189457': VR.CS,\n '189461': VR.FL,\n '189462': VR.SQ,\n '189463': VR.FL,\n '189464': VR.FL,\n '189465': VR.FL,\n '189466': VR.FL,\n '189467': VR.FL,\n '189468': VR.FL,\n '189469': VR.FL,\n '189470': VR.FL,\n '189471': VR.FL,\n '189472': VR.SQ,\n '189473': VR.FL,\n '189474': VR.CS,\n '189476': VR.SQ,\n '189477': VR.SQ,\n '189504': VR.SQ,\n '189506': VR.SQ,\n '189507': VR.SQ,\n '189508': VR.FL,\n '189509': VR.FL,\n '189510': VR.FL,\n '189511': VR.FL,\n '189514': VR.FL,\n '189515': VR.FL,\n '189516': VR.DT,\n '189517': VR.DT,\n '189518': VR.SS,\n '189519': VR.SS,\n '189524': VR.LO,\n '189525': VR.LO,\n '189526': VR.LO,\n '189527': VR.CS,\n '189528': VR.LO,\n '189530': VR.SQ,\n '189531': VR.LO,\n '189538': VR.SQ,\n '189541': VR.SQ,\n '189542': VR.SQ,\n '189543': VR.FD,\n '189544': VR.FD,\n '189545': VR.FD,\n '189546': VR.FD,\n '189547': VR.FD,\n '189548': VR.FD,\n '189549': VR.FD,\n '189550': VR.FD,\n '189551': VR.FD,\n '189552': VR.FD,\n '189553': VR.FD,\n '189554': VR.FD,\n '189555': VR.SQ,\n '189556': VR.SQ,\n '189557': VR.FD,\n '189558': VR.FD,\n '189559': VR.CS,\n '189601': VR.SQ,\n '189602': VR.FD,\n '189603': VR.FD,\n '189604': VR.FD,\n '189605': VR.FD,\n '189606': VR.FD,\n '189607': VR.FD,\n '189621': VR.SQ,\n '189622': VR.CS,\n '189623': VR.DT,\n '189624': VR.CS,\n '189701': VR.DT,\n '189715': VR.FD,\n '189716': VR.FD,\n '189717': VR.FD,\n '189718': VR.FD,\n '189719': VR.FD,\n '189720': VR.FD,\n '189721': VR.FD,\n '189722': VR.FD,\n '189723': VR.FD,\n '189724': VR.FD,\n '189725': VR.CS,\n '189726': VR.FD,\n '189727': VR.FD,\n '189729': VR.US,\n '189732': VR.SQ,\n '189733': VR.SQ,\n '189734': VR.SQ,\n '189735': VR.SQ,\n '189736': VR.SQ,\n '189737': VR.SQ,\n '189738': VR.CS,\n '189739': VR.US,\n '189740': VR.US,\n '189749': VR.SQ,\n '189751': VR.SQ,\n '189755': VR.CS,\n '189756': VR.CS,\n '189758': VR.CS,\n '189759': VR.CS,\n '189760': VR.CS,\n '189761': VR.CS,\n '189762': VR.CS,\n '189763': VR.CS,\n '189764': VR.CS,\n '189765': VR.CS,\n '189766': VR.CS,\n '189767': VR.CS,\n '189768': VR.CS,\n '189769': VR.CS,\n '189770': VR.CS,\n '189771': VR.SQ,\n '189772': VR.SQ,\n '189801': VR.FD,\n '189803': VR.SQ,\n '189804': VR.DT,\n '189805': VR.FD,\n '189806': VR.SQ,\n '189807': VR.SQ,\n '189808': VR.CS,\n '189809': VR.SQ,\n '18980b': VR.CS,\n '18980c': VR.CS,\n '18980d': VR.SQ,\n '18980e': VR.SQ,\n '18980f': VR.SQ,\n '189810': VR.SS,\n '189900': VR.LO,\n '189901': VR.UT,\n '189902': VR.SQ,\n '189903': VR.SQ,\n '189904': VR.DS,\n '189905': VR.CS,\n '189906': VR.SQ,\n '189907': VR.SQ,\n '189908': VR.UC,\n '189909': VR.SQ,\n '18990a': VR.UC,\n '18990b': VR.SQ,\n '18990c': VR.SQ,\n '18990d': VR.SQ,\n '18990e': VR.SQ,\n '18990f': VR.UT,\n '189910': VR.UT,\n '189911': VR.SQ,\n '189912': VR.SQ,\n '189913': VR.SQ,\n '189914': VR.SQ,\n '189915': VR.US,\n '189916': VR.LO,\n '189917': VR.UT,\n '189918': VR.CS,\n '189919': VR.DT,\n '18991a': VR.UT,\n '18991b': VR.SQ,\n '18991c': VR.SQ,\n '18991d': VR.SQ,\n '18991e': VR.UI,\n '18991f': VR.SQ,\n '189920': VR.SQ,\n '189921': VR.US,\n '189922': VR.LO,\n '189923': VR.UT,\n '189924': VR.UT,\n '189930': VR.CS,\n '189931': VR.SQ,\n '189932': VR.SQ,\n '189933': VR.SQ,\n '189934': VR.SQ,\n '189935': VR.SQ,\n '189936': VR.SQ,\n '189937': VR.LO,\n '189938': VR.US,\n '189939': VR.US,\n '18993a': VR.US,\n '18993b': VR.SQ,\n '18993c': VR.SQ,\n '18993d': VR.SQ,\n '18993e': VR.SQ,\n '189941': VR.UT,\n '189942': VR.FD,\n '189943': VR.FD,\n '189944': VR.CS,\n '189945': VR.FD,\n '189946': VR.FD,\n '189947': VR.CS,\n '18a001': VR.SQ,\n '18a002': VR.DT,\n '18a003': VR.ST,\n '20000d': VR.UI,\n '20000e': VR.UI,\n '200010': VR.SH,\n '200011': VR.IS,\n '200012': VR.IS,\n '200013': VR.IS,\n '200014': VR.IS,\n '200015': VR.IS,\n '200016': VR.IS,\n '200017': VR.IS,\n '200018': VR.IS,\n '200019': VR.IS,\n '200020': VR.CS,\n '200022': VR.IS,\n '200024': VR.IS,\n '200026': VR.IS,\n '200030': VR.DS,\n '200032': VR.DS,\n '200035': VR.DS,\n '200037': VR.DS,\n '200050': VR.DS,\n '200052': VR.UI,\n '200060': VR.CS,\n '200062': VR.CS,\n '200070': VR.LO,\n '200080': VR.CS,\n '2000aa': VR.IS,\n '200100': VR.IS,\n '200105': VR.IS,\n '200110': VR.DS,\n '200200': VR.UI,\n '200242': VR.UI,\n '201000': VR.IS,\n '201001': VR.IS,\n '201002': VR.IS,\n '201003': VR.IS,\n '201004': VR.IS,\n '201005': VR.IS,\n '201020': VR.LO,\n '20103f': VR.LO,\n '201040': VR.LO,\n '201041': VR.DS,\n '201070': VR.IS,\n '201200': VR.IS,\n '201202': VR.IS,\n '201204': VR.IS,\n '201206': VR.IS,\n '201208': VR.IS,\n '201209': VR.IS,\n '203100': VR.CS,\n '203401': VR.CS,\n '203402': VR.CS,\n '203403': VR.DA,\n '203404': VR.LO,\n '203405': VR.TM,\n '203406': VR.LO,\n '204000': VR.LT,\n '205000': VR.AT,\n '205002': VR.LO,\n '209056': VR.SH,\n '209057': VR.UL,\n '209071': VR.SQ,\n '209072': VR.CS,\n '209111': VR.SQ,\n '209113': VR.SQ,\n '209116': VR.SQ,\n '209128': VR.UL,\n '209153': VR.FD,\n '209154': VR.FL,\n '209155': VR.FL,\n '209156': VR.US,\n '209157': VR.UL,\n '209158': VR.LT,\n '209161': VR.UI,\n '209162': VR.US,\n '209163': VR.US,\n '209164': VR.UI,\n '209165': VR.AT,\n '209167': VR.AT,\n '209170': VR.SQ,\n '209171': VR.SQ,\n '209172': VR.SQ,\n '209213': VR.LO,\n '209221': VR.SQ,\n '209222': VR.SQ,\n '209228': VR.UL,\n '209238': VR.LO,\n '209241': VR.FL,\n '209245': VR.FL,\n '209246': VR.FL,\n '209247': VR.CS,\n '209248': VR.FL,\n '209249': VR.CS,\n '209250': VR.CS,\n '209251': VR.FD,\n '209252': VR.FD,\n '209253': VR.SQ,\n '209254': VR.FD,\n '209255': VR.FD,\n '209256': VR.FD,\n '209257': VR.FD,\n '209301': VR.FD,\n '209302': VR.FD,\n '209307': VR.CS,\n '209308': VR.FD,\n '209309': VR.FD,\n '20930a': VR.FD,\n '20930b': VR.CS,\n '20930c': VR.CS,\n '20930d': VR.FD,\n '20930e': VR.SQ,\n '20930f': VR.SQ,\n '209310': VR.SQ,\n '209311': VR.CS,\n '209312': VR.UI,\n '209313': VR.UI,\n '209421': VR.LO,\n '209450': VR.SQ,\n '209453': VR.LO,\n '209518': VR.US,\n '209529': VR.SQ,\n '209536': VR.US,\n '220001': VR.US,\n '220002': VR.US,\n '220003': VR.US,\n '220004': VR.US,\n '220005': VR.CS,\n '220006': VR.SQ,\n '220007': VR.FL,\n '220008': VR.FL,\n '220009': VR.FL,\n '22000a': VR.FL,\n '22000b': VR.FL,\n '22000c': VR.FL,\n '22000d': VR.CS,\n '22000e': VR.FL,\n '220010': VR.FL,\n '220011': VR.FL,\n '220012': VR.FL,\n '220013': VR.FL,\n '220014': VR.FL,\n '220015': VR.SQ,\n '220016': VR.SQ,\n '220017': VR.SQ,\n '220018': VR.SQ,\n '220019': VR.SQ,\n '22001a': VR.SQ,\n '22001b': VR.SQ,\n '22001c': VR.SQ,\n '22001d': VR.SQ,\n '22001e': VR.FL,\n '220020': VR.SQ,\n '220021': VR.SQ,\n '220022': VR.SQ,\n '220028': VR.CS,\n '220030': VR.FL,\n '220031': VR.SQ,\n '220032': VR.FL,\n '220035': VR.FL,\n '220036': VR.FL,\n '220037': VR.FL,\n '220038': VR.FL,\n '220039': VR.CS,\n '220041': VR.FL,\n '220042': VR.SQ,\n '220048': VR.FL,\n '220049': VR.FL,\n '22004e': VR.DS,\n '220055': VR.FL,\n '220056': VR.FL,\n '220057': VR.FL,\n '220058': VR.SQ,\n '221007': VR.SQ,\n '221008': VR.SQ,\n '221009': VR.CS,\n '221010': VR.CS,\n '221012': VR.SQ,\n '221019': VR.FL,\n '221024': VR.SQ,\n '221025': VR.SQ,\n '221028': VR.SQ,\n '221029': VR.LO,\n '221033': VR.FL,\n '221035': VR.SQ,\n '221037': VR.FL,\n '221039': VR.CS,\n '221040': VR.SQ,\n '221044': VR.SQ,\n '221050': VR.SQ,\n '221053': VR.FL,\n '221054': VR.FL,\n '221059': VR.FL,\n '221065': VR.LO,\n '221066': VR.LO,\n '221090': VR.SQ,\n '221092': VR.SQ,\n '221093': VR.LO,\n '221094': VR.LO,\n '221095': VR.LO,\n '221096': VR.SQ,\n '221097': VR.LO,\n '221100': VR.SQ,\n '221101': VR.SQ,\n '221103': VR.SQ,\n '221121': VR.FL,\n '221122': VR.FL,\n '221125': VR.SQ,\n '221127': VR.SQ,\n '221128': VR.SQ,\n '221130': VR.FL,\n '221131': VR.FL,\n '221132': VR.SQ,\n '221133': VR.SQ,\n '221134': VR.SQ,\n '221135': VR.SQ,\n '221140': VR.CS,\n '221150': VR.SQ,\n '221153': VR.SQ,\n '221155': VR.FL,\n '221159': VR.LO,\n '221210': VR.SQ,\n '221211': VR.SQ,\n '221212': VR.SQ,\n '221220': VR.SQ,\n '221225': VR.SQ,\n '221230': VR.SQ,\n '221250': VR.SQ,\n '221255': VR.SQ,\n '221257': VR.SQ,\n '221260': VR.SQ,\n '221262': VR.SQ,\n '221265': VR.SQ,\n '221273': VR.LO,\n '221300': VR.SQ,\n '221310': VR.SQ,\n '221330': VR.SQ,\n '221415': VR.CS,\n '221420': VR.SQ,\n '221423': VR.SQ,\n '221436': VR.SQ,\n '221443': VR.SQ,\n '221445': VR.SQ,\n '221450': VR.SQ,\n '221452': VR.SS,\n '221454': VR.LO,\n '221458': VR.SQ,\n '221460': VR.FL,\n '221463': VR.FL,\n '221465': VR.SQ,\n '221466': VR.CS,\n '221467': VR.FL,\n '221468': VR.FL,\n '221470': VR.SQ,\n '221472': VR.SQ,\n '221512': VR.SQ,\n '221513': VR.SQ,\n '221515': VR.CS,\n '221517': VR.FL,\n '221518': VR.SQ,\n '221525': VR.SQ,\n '221526': VR.SQ,\n '221527': VR.FL,\n '221528': VR.FL,\n '221529': VR.FL,\n '221530': VR.UL,\n '221531': VR.OF,\n '221612': VR.SQ,\n '221615': VR.SQ,\n '221616': VR.LO,\n '221618': VR.SQ,\n '221620': VR.SQ,\n '221622': VR.CS,\n '221624': VR.FL,\n '221626': VR.FL,\n '221628': VR.SQ,\n '221630': VR.DS,\n '221640': VR.SQ,\n '221642': VR.UL,\n '221643': VR.FL,\n '221644': VR.FL,\n '221645': VR.FL,\n '221646': VR.FL,\n '221649': VR.FL,\n '221650': VR.FL,\n '221658': VR.UL,\n '240010': VR.FL,\n '240011': VR.FL,\n '240012': VR.CS,\n '240016': VR.SQ,\n '240018': VR.FL,\n '240020': VR.FL,\n '240021': VR.SQ,\n '240024': VR.SQ,\n '240025': VR.FL,\n '240028': VR.FL,\n '240032': VR.SQ,\n '240033': VR.SQ,\n '240034': VR.SQ,\n '240035': VR.US,\n '240036': VR.US,\n '240037': VR.CS,\n '240038': VR.US,\n '240039': VR.CS,\n '240040': VR.CS,\n '240042': VR.US,\n '240044': VR.LT,\n '240045': VR.CS,\n '240046': VR.FL,\n '240048': VR.US,\n '240050': VR.US,\n '240051': VR.CS,\n '240052': VR.CS,\n '240053': VR.CS,\n '240054': VR.FL,\n '240055': VR.CS,\n '240056': VR.US,\n '240057': VR.CS,\n '240058': VR.SQ,\n '240059': VR.CS,\n '240060': VR.US,\n '240061': VR.CS,\n '240062': VR.CS,\n '240063': VR.CS,\n '240064': VR.SQ,\n '240065': VR.SQ,\n '240066': VR.FL,\n '240067': VR.SQ,\n '240068': VR.FL,\n '240069': VR.LO,\n '240070': VR.FL,\n '240071': VR.FL,\n '240072': VR.CS,\n '240073': VR.FL,\n '240074': VR.CS,\n '240075': VR.FL,\n '240076': VR.CS,\n '240077': VR.FL,\n '240078': VR.CS,\n '240079': VR.FL,\n '240080': VR.CS,\n '240081': VR.FL,\n '240083': VR.SQ,\n '240085': VR.SQ,\n '240086': VR.CS,\n '240087': VR.FL,\n '240088': VR.FL,\n '240089': VR.SQ,\n '240090': VR.FL,\n '240091': VR.FL,\n '240092': VR.FL,\n '240093': VR.CS,\n '240094': VR.FL,\n '240095': VR.CS,\n '240096': VR.FL,\n '240097': VR.SQ,\n '240098': VR.FL,\n '240100': VR.FL,\n '240102': VR.CS,\n '240103': VR.FL,\n '240104': VR.FL,\n '240105': VR.FL,\n '240106': VR.CS,\n '240107': VR.FL,\n '240108': VR.FL,\n '240110': VR.SQ,\n '240112': VR.SQ,\n '240113': VR.CS,\n '240114': VR.SQ,\n '240115': VR.SQ,\n '240117': VR.CS,\n '240118': VR.FL,\n '240120': VR.CS,\n '240122': VR.SQ,\n '240124': VR.CS,\n '240126': VR.FL,\n '240202': VR.LO,\n '240306': VR.LO,\n '240307': VR.LO,\n '240308': VR.LO,\n '240309': VR.LO,\n '240317': VR.SQ,\n '240320': VR.SQ,\n '240325': VR.SQ,\n '240338': VR.CS,\n '240341': VR.FL,\n '240344': VR.SQ,\n '280002': VR.US,\n '280003': VR.US,\n '280004': VR.CS,\n '280005': VR.US,\n '280006': VR.US,\n '280008': VR.IS,\n '280009': VR.AT,\n '28000a': VR.AT,\n '280010': VR.US,\n '280011': VR.US,\n '280012': VR.US,\n '280014': VR.US,\n '280030': VR.DS,\n '280031': VR.DS,\n '280032': VR.DS,\n '280034': VR.IS,\n '280040': VR.CS,\n '280050': VR.LO,\n '280051': VR.CS,\n '28005f': VR.LO,\n '280060': VR.CS,\n '280061': VR.SH,\n '280062': VR.LO,\n '280063': VR.SH,\n '280065': VR.CS,\n '280066': VR.AT,\n '280068': VR.US,\n '280069': VR.US,\n '280070': VR.US,\n '280071': VR.SS,\n '280080': VR.US,\n '280081': VR.US,\n '280082': VR.US,\n '280090': VR.CS,\n '280091': VR.US,\n '280092': VR.US,\n '280093': VR.US,\n '280094': VR.US,\n '280100': VR.US,\n '280101': VR.US,\n '280102': VR.US,\n '280103': VR.US,\n '280104': VR.SS,\n '280105': VR.SS,\n '280106': VR.SS,\n '280107': VR.SS,\n '280108': VR.SS,\n '280109': VR.SS,\n '280110': VR.SS,\n '280111': VR.SS,\n '280120': VR.SS,\n '280121': VR.SS,\n '280122': VR.FL,\n '280123': VR.FD,\n '280124': VR.FL,\n '280125': VR.FD,\n '280200': VR.US,\n '280300': VR.CS,\n '280301': VR.CS,\n '280302': VR.CS,\n '280303': VR.CS,\n '280304': VR.UI,\n '280400': VR.LO,\n '280401': VR.LO,\n '280402': VR.US,\n '280403': VR.LO,\n '280404': VR.AT,\n '280700': VR.LO,\n '280701': VR.CS,\n '280702': VR.AT,\n '280710': VR.US,\n '280720': VR.US,\n '280721': VR.AT,\n '280722': VR.US,\n '280730': VR.US,\n '280740': VR.US,\n '280800': VR.CS,\n '280802': VR.US,\n '280803': VR.AT,\n '280804': VR.US,\n '280808': VR.AT,\n '280a02': VR.CS,\n '280a04': VR.LO,\n '281040': VR.CS,\n '281041': VR.SS,\n '281050': VR.DS,\n '281051': VR.DS,\n '281052': VR.DS,\n '281053': VR.DS,\n '281054': VR.LO,\n '281055': VR.LO,\n '281056': VR.CS,\n '281080': VR.CS,\n '281090': VR.CS,\n '281100': VR.SS,\n '281101': VR.SS,\n '281102': VR.SS,\n '281103': VR.SS,\n '281104': VR.US,\n '281111': VR.SS,\n '281112': VR.SS,\n '281113': VR.SS,\n '281199': VR.UI,\n '281200': VR.OW,\n '281201': VR.OW,\n '281202': VR.OW,\n '281203': VR.OW,\n '281204': VR.OW,\n '281211': VR.OW,\n '281212': VR.OW,\n '281213': VR.OW,\n '281214': VR.UI,\n '281221': VR.OW,\n '281222': VR.OW,\n '281223': VR.OW,\n '281224': VR.OW,\n '281230': VR.SQ,\n '281231': VR.FD,\n '281232': VR.FD,\n '281300': VR.CS,\n '281350': VR.CS,\n '281351': VR.ST,\n '281352': VR.SQ,\n '28135a': VR.CS,\n '281401': VR.SQ,\n '281402': VR.CS,\n '281403': VR.US,\n '281404': VR.SQ,\n '281405': VR.CS,\n '281406': VR.FD,\n '281407': VR.US,\n '281408': VR.OW,\n '28140b': VR.SQ,\n '28140c': VR.SQ,\n '28140d': VR.CS,\n '28140e': VR.CS,\n '28140f': VR.CS,\n '281410': VR.CS,\n '282000': VR.OB,\n '282002': VR.CS,\n '282110': VR.CS,\n '282112': VR.DS,\n '282114': VR.CS,\n '283000': VR.SQ,\n '283002': VR.SS,\n '283003': VR.LO,\n '283004': VR.LO,\n '283006': VR.OW,\n '283010': VR.SQ,\n '283110': VR.SQ,\n '284000': VR.LT,\n '285000': VR.SQ,\n '286010': VR.US,\n '286020': VR.US,\n '286022': VR.LO,\n '286023': VR.CS,\n '286030': VR.US,\n '286040': VR.US,\n '286100': VR.SQ,\n '286101': VR.CS,\n '286102': VR.US,\n '286110': VR.US,\n '286112': VR.US,\n '286114': VR.FL,\n '286120': VR.SS,\n '286190': VR.ST,\n '287000': VR.SQ,\n '287001': VR.US,\n '287002': VR.US,\n '287003': VR.US,\n '287004': VR.SH,\n '287005': VR.LO,\n '287006': VR.CS,\n '287007': VR.LO,\n '287008': VR.SQ,\n '287009': VR.US,\n '28700a': VR.SQ,\n '28700b': VR.US,\n '28700c': VR.SH,\n '28700d': VR.LO,\n '28700e': VR.US,\n '28700f': VR.SQ,\n '287010': VR.SQ,\n '287011': VR.SQ,\n '287012': VR.SQ,\n '287013': VR.CS,\n '287014': VR.CS,\n '287015': VR.SQ,\n '287016': VR.SQ,\n '287017': VR.US,\n '287018': VR.FL,\n '287019': VR.CS,\n '28701a': VR.FL,\n '28701b': VR.US,\n '28701c': VR.SQ,\n '28701d': VR.FL,\n '28701e': VR.FL,\n '28701f': VR.FL,\n '287020': VR.LO,\n '287021': VR.CS,\n '287022': VR.SQ,\n '287023': VR.SQ,\n '287024': VR.SQ,\n '287025': VR.CS,\n '287026': VR.CS,\n '287027': VR.SQ,\n '287028': VR.SQ,\n '287029': VR.CS,\n '28702a': VR.LO,\n '28702b': VR.CS,\n '28702c': VR.SQ,\n '28702d': VR.SQ,\n '28702e': VR.SQ,\n '287fe0': VR.UR,\n '289001': VR.UL,\n '289002': VR.UL,\n '289003': VR.CS,\n '289099': VR.US,\n '289108': VR.CS,\n '289110': VR.SQ,\n '289132': VR.SQ,\n '289145': VR.SQ,\n '289235': VR.CS,\n '289411': VR.FL,\n '289415': VR.SQ,\n '289416': VR.US,\n '289422': VR.SQ,\n '289443': VR.SQ,\n '289444': VR.CS,\n '289445': VR.FL,\n '289446': VR.CS,\n '289454': VR.CS,\n '289474': VR.CS,\n '289478': VR.FL,\n '289501': VR.SQ,\n '289502': VR.SQ,\n '289503': VR.SS,\n '289505': VR.SQ,\n '289506': VR.US,\n '289507': VR.US,\n '289520': VR.DS,\n '289537': VR.CS,\n '32000a': VR.CS,\n '32000c': VR.CS,\n '320012': VR.LO,\n '320032': VR.DA,\n '320033': VR.TM,\n '320034': VR.DA,\n '320035': VR.TM,\n '321000': VR.DA,\n '321001': VR.TM,\n '321010': VR.DA,\n '321011': VR.TM,\n '321020': VR.LO,\n '321021': VR.AE,\n '321030': VR.LO,\n '321031': VR.SQ,\n '321032': VR.PN,\n '321033': VR.LO,\n '321034': VR.SQ,\n '321040': VR.DA,\n '321041': VR.TM,\n '321050': VR.DA,\n '321051': VR.TM,\n '321055': VR.CS,\n '321060': VR.LO,\n '321064': VR.SQ,\n '321070': VR.LO,\n '324000': VR.LT,\n '380004': VR.SQ,\n '380008': VR.CS,\n '380010': VR.LO,\n '380011': VR.LO,\n '380014': VR.SQ,\n '380016': VR.LO,\n '38001a': VR.DA,\n '38001b': VR.TM,\n '38001c': VR.DA,\n '38001d': VR.TM,\n '38001e': VR.LO,\n '380020': VR.DA,\n '380021': VR.TM,\n '380030': VR.DA,\n '380032': VR.TM,\n '380040': VR.LO,\n '380044': VR.SQ,\n '380050': VR.LO,\n '380060': VR.LO,\n '380061': VR.LO,\n '380062': VR.LO,\n '380064': VR.SQ,\n '380100': VR.SQ,\n '380101': VR.SQ,\n '380102': VR.LO,\n '380300': VR.LO,\n '380400': VR.LO,\n '380500': VR.LO,\n '380502': VR.SQ,\n '384000': VR.LT,\n '3a0004': VR.CS,\n '3a0005': VR.US,\n '3a0010': VR.UL,\n '3a001a': VR.DS,\n '3a0020': VR.SH,\n '3a0200': VR.SQ,\n '3a0202': VR.IS,\n '3a0203': VR.SH,\n '3a0205': VR.CS,\n '3a0208': VR.SQ,\n '3a0209': VR.SQ,\n '3a020a': VR.SQ,\n '3a020c': VR.LO,\n '3a0210': VR.DS,\n '3a0211': VR.SQ,\n '3a0212': VR.DS,\n '3a0213': VR.DS,\n '3a0214': VR.DS,\n '3a0215': VR.DS,\n '3a0218': VR.DS,\n '3a021a': VR.US,\n '3a0220': VR.DS,\n '3a0221': VR.DS,\n '3a0222': VR.DS,\n '3a0223': VR.DS,\n '3a0230': VR.FL,\n '3a0231': VR.US,\n '3a0240': VR.SQ,\n '3a0241': VR.US,\n '3a0242': VR.SQ,\n '3a0244': VR.US,\n '3a0245': VR.FL,\n '3a0246': VR.CS,\n '3a0247': VR.FL,\n '3a0248': VR.FL,\n '3a0300': VR.SQ,\n '3a0301': VR.IS,\n '3a0302': VR.CS,\n '400001': VR.AE,\n '400002': VR.DA,\n '400003': VR.TM,\n '400004': VR.DA,\n '400005': VR.TM,\n '400006': VR.PN,\n '400007': VR.LO,\n '400008': VR.SQ,\n '400009': VR.SH,\n '40000a': VR.SQ,\n '40000b': VR.SQ,\n '400010': VR.SH,\n '400011': VR.SH,\n '400012': VR.LO,\n '400020': VR.CS,\n '400026': VR.SQ,\n '400027': VR.SQ,\n '400031': VR.UT,\n '400032': VR.UT,\n '400033': VR.CS,\n '400035': VR.CS,\n '400036': VR.SQ,\n '400039': VR.SQ,\n '40003a': VR.SQ,\n '400100': VR.SQ,\n '400220': VR.SQ,\n '400241': VR.AE,\n '400242': VR.SH,\n '400243': VR.SH,\n '400244': VR.DA,\n '400245': VR.TM,\n '400250': VR.DA,\n '400251': VR.TM,\n '400252': VR.CS,\n '400253': VR.SH,\n '400254': VR.LO,\n '400255': VR.LO,\n '400260': VR.SQ,\n '400261': VR.CS,\n '400270': VR.SQ,\n '400275': VR.SQ,\n '400280': VR.ST,\n '400281': VR.SQ,\n '400293': VR.SQ,\n '400294': VR.DS,\n '400295': VR.SQ,\n '400296': VR.SQ,\n '400300': VR.US,\n '400301': VR.US,\n '400302': VR.US,\n '400303': VR.US,\n '400306': VR.DS,\n '400307': VR.DS,\n '40030e': VR.SQ,\n '400310': VR.ST,\n '400312': VR.DS,\n '400314': VR.DS,\n '400316': VR.DS,\n '400318': VR.CS,\n '400320': VR.SQ,\n '400321': VR.SQ,\n '400324': VR.SQ,\n '400330': VR.SQ,\n '400340': VR.SQ,\n '400400': VR.LT,\n '400440': VR.SQ,\n '400441': VR.SQ,\n '400500': VR.SQ,\n '40050a': VR.LO,\n '400512': VR.LO,\n '400513': VR.SQ,\n '400515': VR.SQ,\n '400518': VR.SQ,\n '40051a': VR.LO,\n '400520': VR.SQ,\n '400550': VR.SQ,\n '400551': VR.LO,\n '400552': VR.SQ,\n '400553': VR.ST,\n '400554': VR.UI,\n '400555': VR.SQ,\n '400556': VR.ST,\n '400560': VR.SQ,\n '400562': VR.SQ,\n '40059a': VR.SQ,\n '400600': VR.LO,\n '400602': VR.UT,\n '400610': VR.SQ,\n '400612': VR.SQ,\n '400620': VR.SQ,\n '4006fa': VR.LO,\n '40071a': VR.SQ,\n '40072a': VR.DS,\n '40073a': VR.DS,\n '40074a': VR.DS,\n '4008d8': VR.SQ,\n '4008da': VR.SQ,\n '4008ea': VR.SQ,\n '4009f8': VR.SQ,\n '401001': VR.SH,\n '401002': VR.LO,\n '401003': VR.SH,\n '401004': VR.LO,\n '401005': VR.LO,\n '401006': VR.SH,\n '401007': VR.SH,\n '401008': VR.LO,\n '401009': VR.SH,\n '40100a': VR.SQ,\n '401010': VR.PN,\n '401011': VR.SQ,\n '401012': VR.SQ,\n '401060': VR.LO,\n '401101': VR.SQ,\n '401102': VR.ST,\n '401103': VR.LO,\n '401104': VR.LT,\n '401400': VR.LT,\n '402001': VR.LO,\n '402004': VR.DA,\n '402005': VR.TM,\n '402006': VR.SH,\n '402007': VR.SH,\n '402008': VR.PN,\n '402009': VR.SH,\n '402010': VR.SH,\n '402011': VR.LT,\n '402016': VR.LO,\n '402017': VR.LO,\n '402400': VR.LT,\n '403001': VR.LO,\n '404001': VR.CS,\n '404002': VR.CS,\n '404003': VR.CS,\n '404004': VR.SQ,\n '404005': VR.DT,\n '404006': VR.CS,\n '404007': VR.SQ,\n '404009': VR.SQ,\n '404010': VR.DT,\n '404011': VR.DT,\n '404015': VR.SQ,\n '404016': VR.SQ,\n '404018': VR.SQ,\n '404019': VR.SQ,\n '404020': VR.CS,\n '404021': VR.SQ,\n '404022': VR.SQ,\n '404023': VR.UI,\n '404025': VR.SQ,\n '404026': VR.SQ,\n '404027': VR.SQ,\n '404028': VR.SQ,\n '404029': VR.SQ,\n '404030': VR.SQ,\n '404031': VR.SQ,\n '404032': VR.SQ,\n '404033': VR.SQ,\n '404034': VR.SQ,\n '404035': VR.SQ,\n '404036': VR.LO,\n '404037': VR.PN,\n '404040': VR.CS,\n '404041': VR.CS,\n '404050': VR.DT,\n '404051': VR.DT,\n '404052': VR.DT,\n '404070': VR.SQ,\n '404071': VR.SQ,\n '404072': VR.SQ,\n '404073': VR.UR,\n '404074': VR.SQ,\n '408302': VR.DS,\n '408303': VR.CS,\n '409092': VR.SQ,\n '409094': VR.SQ,\n '409096': VR.SQ,\n '409098': VR.SQ,\n '409210': VR.SH,\n '409211': VR.SS,\n '409212': VR.FD,\n '409213': VR.FD,\n '409214': VR.FD,\n '409216': VR.SS,\n '409220': VR.SQ,\n '409224': VR.FD,\n '409225': VR.FD,\n '40a007': VR.CS,\n '40a010': VR.CS,\n '40a020': VR.SQ,\n '40a021': VR.UI,\n '40a022': VR.UI,\n '40a023': VR.DA,\n '40a024': VR.TM,\n '40a026': VR.SQ,\n '40a027': VR.LO,\n '40a028': VR.SQ,\n '40a030': VR.DT,\n '40a032': VR.DT,\n '40a040': VR.CS,\n '40a043': VR.SQ,\n '40a047': VR.LO,\n '40a050': VR.CS,\n '40a057': VR.CS,\n '40a060': VR.LO,\n '40a066': VR.SQ,\n '40a067': VR.PN,\n '40a068': VR.SQ,\n '40a070': VR.SQ,\n '40a073': VR.SQ,\n '40a074': VR.OB,\n '40a075': VR.PN,\n '40a076': VR.SQ,\n '40a078': VR.SQ,\n '40a07a': VR.SQ,\n '40a07c': VR.SQ,\n '40a080': VR.CS,\n '40a082': VR.DT,\n '40a084': VR.CS,\n '40a085': VR.SQ,\n '40a088': VR.SQ,\n '40a089': VR.OB,\n '40a090': VR.SQ,\n '40a0b0': VR.US,\n '40a110': VR.DA,\n '40a112': VR.TM,\n '40a120': VR.DT,\n '40a121': VR.DA,\n '40a122': VR.TM,\n '40a123': VR.PN,\n '40a124': VR.UI,\n '40a125': VR.CS,\n '40a130': VR.CS,\n '40a132': VR.UL,\n '40a136': VR.US,\n '40a138': VR.DS,\n '40a13a': VR.DT,\n '40a160': VR.UT,\n '40a161': VR.FD,\n '40a162': VR.SL,\n '40a163': VR.UL,\n '40a167': VR.SQ,\n '40a168': VR.SQ,\n '40a16a': VR.ST,\n '40a170': VR.SQ,\n '40a171': VR.UI,\n '40a172': VR.UI,\n '40a173': VR.CS,\n '40a174': VR.CS,\n '40a180': VR.US,\n '40a192': VR.DA,\n '40a193': VR.TM,\n '40a194': VR.CS,\n '40a195': VR.SQ,\n '40a224': VR.ST,\n '40a290': VR.CS,\n '40a296': VR.SQ,\n '40a297': VR.ST,\n '40a29a': VR.SL,\n '40a300': VR.SQ,\n '40a301': VR.SQ,\n '40a307': VR.PN,\n '40a30a': VR.DS,\n '40a313': VR.SQ,\n '40a33a': VR.ST,\n '40a340': VR.SQ,\n '40a352': VR.PN,\n '40a353': VR.ST,\n '40a354': VR.LO,\n '40a358': VR.SQ,\n '40a360': VR.SQ,\n '40a370': VR.SQ,\n '40a372': VR.SQ,\n '40a375': VR.SQ,\n '40a380': VR.SQ,\n '40a385': VR.SQ,\n '40a390': VR.SQ,\n '40a402': VR.UI,\n '40a403': VR.CS,\n '40a404': VR.SQ,\n '40a491': VR.CS,\n '40a492': VR.LO,\n '40a493': VR.CS,\n '40a494': VR.CS,\n '40a496': VR.CS,\n '40a504': VR.SQ,\n '40a525': VR.SQ,\n '40a600': VR.CS,\n '40a601': VR.CS,\n '40a603': VR.CS,\n '40a730': VR.SQ,\n '40a731': VR.SQ,\n '40a732': VR.SQ,\n '40a744': VR.SQ,\n '40a992': VR.ST,\n '40b020': VR.SQ,\n '40db00': VR.CS,\n '40db06': VR.DT,\n '40db07': VR.DT,\n '40db0b': VR.CS,\n '40db0c': VR.UI,\n '40db0d': VR.UI,\n '40db73': VR.UL,\n '40e001': VR.ST,\n '40e004': VR.DT,\n '40e006': VR.SQ,\n '40e008': VR.SQ,\n '40e010': VR.UR,\n '40e011': VR.UI,\n '40e020': VR.CS,\n '40e021': VR.SQ,\n '40e022': VR.SQ,\n '40e023': VR.SQ,\n '40e024': VR.SQ,\n '40e025': VR.SQ,\n '40e030': VR.UI,\n '40e031': VR.UI,\n '420010': VR.ST,\n '420011': VR.OB,\n '420012': VR.LO,\n '420013': VR.SQ,\n '420014': VR.LO,\n '440001': VR.ST,\n '440002': VR.CS,\n '440003': VR.LT,\n '440004': VR.DT,\n '440007': VR.SQ,\n '440008': VR.LO,\n '440009': VR.LT,\n '44000a': VR.LO,\n '44000b': VR.DT,\n '440010': VR.DT,\n '440011': VR.LO,\n '440012': VR.LO,\n '440013': VR.SQ,\n '440019': VR.SQ,\n '440100': VR.SQ,\n '440101': VR.SQ,\n '440102': VR.UI,\n '440103': VR.SQ,\n '440104': VR.DT,\n '440105': VR.DT,\n '440106': VR.UT,\n '440107': VR.SQ,\n '440108': VR.UI,\n '440109': VR.SQ,\n '44010a': VR.SQ,\n '460012': VR.LO,\n '460014': VR.SQ,\n '460015': VR.SQ,\n '460016': VR.SQ,\n '460018': VR.SQ,\n '460028': VR.SQ,\n '460030': VR.FD,\n '460032': VR.CS,\n '460034': VR.FD,\n '460036': VR.CS,\n '460038': VR.CS,\n '460040': VR.FD,\n '460042': VR.FD,\n '460044': VR.FD,\n '460046': VR.FD,\n '460050': VR.SQ,\n '460052': VR.SQ,\n '460060': VR.FD,\n '460062': VR.FD,\n '460063': VR.FD,\n '460064': VR.FD,\n '460070': VR.SQ,\n '460071': VR.SQ,\n '460074': VR.SQ,\n '460075': VR.FD,\n '460076': VR.FD,\n '460077': VR.FD,\n '460080': VR.SQ,\n '460092': VR.CS,\n '460094': VR.CS,\n '460095': VR.CS,\n '460097': VR.SQ,\n '460098': VR.SQ,\n '460100': VR.SQ,\n '460101': VR.SQ,\n '460102': VR.SQ,\n '460104': VR.FD,\n '460106': VR.FD,\n '460121': VR.SQ,\n '460122': VR.SQ,\n '460123': VR.SQ,\n '460124': VR.SQ,\n '460125': VR.CS,\n '460135': VR.SS,\n '460137': VR.FD,\n '460139': VR.LO,\n '460145': VR.SQ,\n '460146': VR.FD,\n '460147': VR.FD,\n '460201': VR.CS,\n '460202': VR.FL,\n '460203': VR.FL,\n '460204': VR.FL,\n '460205': VR.FL,\n '460207': VR.SQ,\n '460208': VR.IS,\n '460210': VR.SQ,\n '460211': VR.SQ,\n '460212': VR.FL,\n '460213': VR.FL,\n '460215': VR.SQ,\n '460218': VR.SQ,\n '460220': VR.FL,\n '460224': VR.FL,\n '460227': VR.FL,\n '460230': VR.FL,\n '460232': VR.FL,\n '460234': VR.FL,\n '460236': VR.FL,\n '460238': VR.FL,\n '460242': VR.CS,\n '460244': VR.SQ,\n '460247': VR.FL,\n '460248': VR.CS,\n '460249': VR.FL,\n '460250': VR.FL,\n '460251': VR.FL,\n '460252': VR.FL,\n '460253': VR.FL,\n '480001': VR.FL,\n '480002': VR.FL,\n '480003': VR.FL,\n '480006': VR.UL,\n '480007': VR.UL,\n '480008': VR.SQ,\n '480010': VR.CS,\n '480011': VR.CS,\n '480012': VR.CS,\n '480013': VR.US,\n '480014': VR.FL,\n '480015': VR.US,\n '480100': VR.SQ,\n '480102': VR.DS,\n '480105': VR.SQ,\n '480106': VR.SH,\n '480107': VR.ST,\n '480108': VR.SQ,\n '480110': VR.SQ,\n '480111': VR.DS,\n '480112': VR.DS,\n '480113': VR.DS,\n '480120': VR.SQ,\n '480200': VR.SQ,\n '480201': VR.US,\n '480202': VR.US,\n '480207': VR.SQ,\n '48021a': VR.SQ,\n '48021e': VR.SL,\n '48021f': VR.SL,\n '480301': VR.CS,\n '500004': VR.CS,\n '500010': VR.SQ,\n '500012': VR.SQ,\n '500013': VR.FD,\n '500014': VR.DS,\n '500015': VR.FD,\n '500016': VR.DS,\n '500017': VR.CS,\n '500018': VR.DS,\n '500019': VR.DS,\n '50001a': VR.CS,\n '50001b': VR.LO,\n '50001c': VR.FD,\n '50001d': VR.FD,\n '50001e': VR.LO,\n '500020': VR.LO,\n '520001': VR.FL,\n '520002': VR.FD,\n '520003': VR.FD,\n '520004': VR.FD,\n '520006': VR.CS,\n '520007': VR.FD,\n '520008': VR.FD,\n '520009': VR.FD,\n '520011': VR.FD,\n '520012': VR.US,\n '520013': VR.FD,\n '520014': VR.FD,\n '520016': VR.SQ,\n '520025': VR.SQ,\n '520026': VR.CS,\n '520027': VR.SQ,\n '520028': VR.FD,\n '520029': VR.SQ,\n '520030': VR.SS,\n '520031': VR.CS,\n '520033': VR.FD,\n '520034': VR.FD,\n '520036': VR.US,\n '520038': VR.US,\n '520039': VR.CS,\n '52003a': VR.CS,\n '540010': VR.US,\n '540011': VR.US,\n '540012': VR.SQ,\n '540013': VR.SQ,\n '540014': VR.DS,\n '540015': VR.DS,\n '540016': VR.SQ,\n '540017': VR.IS,\n '540018': VR.SH,\n '540020': VR.US,\n '540021': VR.US,\n '540022': VR.SQ,\n '540030': VR.US,\n '540031': VR.US,\n '540032': VR.SQ,\n '540033': VR.US,\n '540036': VR.IS,\n '540038': VR.IS,\n '540039': VR.CS,\n '540050': VR.US,\n '540051': VR.US,\n '540052': VR.SQ,\n '540053': VR.US,\n '540060': VR.US,\n '540061': VR.US,\n '540062': VR.SQ,\n '540063': VR.SQ,\n '540070': VR.US,\n '540071': VR.US,\n '540072': VR.SQ,\n '540073': VR.DS,\n '540080': VR.US,\n '540081': VR.US,\n '540090': VR.US,\n '540100': VR.US,\n '540101': VR.US,\n '540200': VR.DS,\n '540202': VR.CS,\n '540210': VR.IS,\n '540211': VR.US,\n '540220': VR.SQ,\n '540222': VR.SQ,\n '540300': VR.SQ,\n '540302': VR.SQ,\n '540304': VR.SQ,\n '540306': VR.SQ,\n '540308': VR.US,\n '540400': VR.SH,\n '540410': VR.SQ,\n '540412': VR.SQ,\n '540414': VR.SQ,\n '540500': VR.CS,\n '540501': VR.CS,\n '541000': VR.CS,\n '541001': VR.CS,\n '541002': VR.CS,\n '541004': VR.CS,\n '541006': VR.CS,\n '541100': VR.CS,\n '541101': VR.LO,\n '541102': VR.CS,\n '541103': VR.LO,\n '541104': VR.LO,\n '541105': VR.LO,\n '541200': VR.DS,\n '541201': VR.IS,\n '541202': VR.IS,\n '541203': VR.DS,\n '541210': VR.DS,\n '541220': VR.CS,\n '541300': VR.DS,\n '541310': VR.IS,\n '541311': VR.IS,\n '541320': VR.DS,\n '541321': VR.DS,\n '541322': VR.DS,\n '541323': VR.DS,\n '541324': VR.DS,\n '541330': VR.US,\n '541400': VR.CS,\n '541401': VR.CS,\n '603000': VR.SQ,\n '603002': VR.US,\n '603004': VR.SS,\n '603006': VR.SS,\n '603008': VR.US,\n '603010': VR.LO,\n '603020': VR.UL,\n '620001': VR.CS,\n '620002': VR.SQ,\n '620003': VR.SQ,\n '620004': VR.US,\n '620005': VR.LO,\n '620006': VR.ST,\n '620007': VR.SQ,\n '620008': VR.CS,\n '620009': VR.LO,\n '62000a': VR.SQ,\n '62000b': VR.US,\n '62000c': VR.US,\n '62000d': VR.US,\n '62000e': VR.US,\n '62000f': VR.SQ,\n '620010': VR.CS,\n '620011': VR.SQ,\n '620012': VR.SQ,\n '620020': VR.UT,\n '620021': VR.UI,\n '640002': VR.SQ,\n '640003': VR.UI,\n '640005': VR.SQ,\n '640007': VR.UL,\n '640008': VR.FD,\n '640009': VR.OF,\n '64000f': VR.SQ,\n '640010': VR.SQ,\n '660001': VR.UL,\n '660002': VR.SQ,\n '660003': VR.UL,\n '660004': VR.LT,\n '660009': VR.CS,\n '66000a': VR.FL,\n '66000b': VR.LO,\n '66000c': VR.FL,\n '66000d': VR.CS,\n '66000e': VR.CS,\n '660010': VR.CS,\n '660011': VR.SQ,\n '660012': VR.SQ,\n '660013': VR.SQ,\n '660015': VR.UL,\n '660016': VR.OF,\n '660017': VR.FL,\n '660018': VR.FL,\n '660019': VR.FL,\n '66001a': VR.FL,\n '66001b': VR.FL,\n '66001c': VR.FL,\n '66001e': VR.UL,\n '66001f': VR.US,\n '660020': VR.FL,\n '660021': VR.OF,\n '660023': VR.OW,\n '660024': VR.OW,\n '660025': VR.OW,\n '660026': VR.SQ,\n '660027': VR.SQ,\n '660028': VR.SQ,\n '660029': VR.OW,\n '66002a': VR.UL,\n '66002b': VR.SQ,\n '66002c': VR.UL,\n '66002d': VR.SQ,\n '66002e': VR.SQ,\n '66002f': VR.SQ,\n '660030': VR.SQ,\n '660031': VR.LO,\n '660032': VR.LT,\n '660034': VR.SQ,\n '660035': VR.SQ,\n '660036': VR.LO,\n '660037': VR.FL,\n '660038': VR.FL,\n '660040': VR.OL,\n '660041': VR.OL,\n '660042': VR.OL,\n '660043': VR.OL,\n '660101': VR.SQ,\n '660102': VR.SQ,\n '660103': VR.OW,\n '660104': VR.SQ,\n '660105': VR.UL,\n '660106': VR.LO,\n '660107': VR.UT,\n '660108': VR.SQ,\n '660121': VR.SQ,\n '660124': VR.SQ,\n '660125': VR.OF,\n '660129': VR.OL,\n '660130': VR.SQ,\n '660132': VR.SQ,\n '660133': VR.SQ,\n '660134': VR.SQ,\n '686210': VR.LO,\n '686221': VR.LO,\n '686222': VR.SQ,\n '686223': VR.CS,\n '686224': VR.SQ,\n '686225': VR.SQ,\n '686226': VR.DT,\n '686230': VR.SQ,\n '686260': VR.SQ,\n '686265': VR.SQ,\n '686270': VR.DT,\n '686280': VR.ST,\n '6862a0': VR.SQ,\n '6862a5': VR.FD,\n '6862c0': VR.SQ,\n '6862d0': VR.US,\n '6862d5': VR.LO,\n '6862e0': VR.SQ,\n '6862f0': VR.SQ,\n '6862f2': VR.FD,\n '686300': VR.OB,\n '686310': VR.US,\n '686320': VR.SQ,\n '686330': VR.US,\n '686340': VR.LO,\n '686345': VR.ST,\n '686346': VR.FD,\n '686347': VR.FD,\n '686350': VR.US,\n '686360': VR.SQ,\n '686380': VR.LO,\n '686390': VR.FD,\n '6863a0': VR.SQ,\n '6863a4': VR.SQ,\n '6863a8': VR.SQ,\n '6863ac': VR.SQ,\n '6863b0': VR.SQ,\n '6863c0': VR.US,\n '6863d0': VR.LO,\n '6863e0': VR.SQ,\n '6863f0': VR.US,\n '686400': VR.SQ,\n '686410': VR.US,\n '686420': VR.CS,\n '686430': VR.SQ,\n '686440': VR.US,\n '686450': VR.FD,\n '686460': VR.FD,\n '686470': VR.SQ,\n '686490': VR.FD,\n '6864a0': VR.FD,\n '6864c0': VR.FD,\n '6864d0': VR.FD,\n '6864f0': VR.FD,\n '686500': VR.SQ,\n '686510': VR.SQ,\n '686520': VR.SQ,\n '686530': VR.US,\n '686540': VR.LO,\n '686545': VR.SQ,\n '686550': VR.SQ,\n '686560': VR.FD,\n '686590': VR.FD,\n '6865a0': VR.SQ,\n '6865b0': VR.FD,\n '6865d0': VR.FD,\n '6865e0': VR.SQ,\n '6865f0': VR.FD,\n '686610': VR.FD,\n '686620': VR.FD,\n '700001': VR.SQ,\n '700002': VR.CS,\n '700003': VR.CS,\n '700004': VR.CS,\n '700005': VR.CS,\n '700006': VR.ST,\n '700008': VR.SQ,\n '700009': VR.SQ,\n '700010': VR.FL,\n '700011': VR.FL,\n '700012': VR.CS,\n '700014': VR.FL,\n '700015': VR.CS,\n '700020': VR.US,\n '700021': VR.US,\n '700022': VR.FL,\n '700023': VR.CS,\n '700024': VR.CS,\n '700040': VR.IS,\n '700041': VR.CS,\n '700042': VR.US,\n '700050': VR.US,\n '700051': VR.US,\n '700052': VR.SL,\n '700053': VR.SL,\n '70005a': VR.SQ,\n '700060': VR.SQ,\n '700062': VR.IS,\n '700066': VR.US,\n '700067': VR.US,\n '700068': VR.LO,\n '700080': VR.CS,\n '700081': VR.LO,\n '700082': VR.DA,\n '700083': VR.TM,\n '700084': VR.PN,\n '700086': VR.SQ,\n '700087': VR.SQ,\n '700100': VR.CS,\n '700101': VR.DS,\n '700102': VR.IS,\n '700103': VR.FL,\n '700207': VR.LO,\n '700208': VR.ST,\n '700209': VR.SQ,\n '700226': VR.UL,\n '700227': VR.LO,\n '700228': VR.CS,\n '700229': VR.LO,\n '700230': VR.FD,\n '700231': VR.SQ,\n '700232': VR.SQ,\n '700233': VR.SQ,\n '700234': VR.SQ,\n '700241': VR.US,\n '700242': VR.CS,\n '700243': VR.CS,\n '700244': VR.CS,\n '700245': VR.FL,\n '700246': VR.FL,\n '700247': VR.US,\n '700248': VR.CS,\n '700249': VR.CS,\n '700250': VR.CS,\n '700251': VR.US,\n '700252': VR.US,\n '700253': VR.FL,\n '700254': VR.CS,\n '700255': VR.UL,\n '700256': VR.OB,\n '700257': VR.CS,\n '700258': VR.FL,\n '700261': VR.FL,\n '700262': VR.FL,\n '700273': VR.FL,\n '700274': VR.CS,\n '700278': VR.CS,\n '700279': VR.CS,\n '700282': VR.CS,\n '700284': VR.FL,\n '700285': VR.FL,\n '700287': VR.SQ,\n '700288': VR.FL,\n '700289': VR.SH,\n '700294': VR.CS,\n '700295': VR.UL,\n '700306': VR.CS,\n '700308': VR.SQ,\n '700309': VR.SQ,\n '70030a': VR.SQ,\n '70030b': VR.FD,\n '70030c': VR.CS,\n '70030d': VR.SQ,\n '70030f': VR.ST,\n '700310': VR.SH,\n '700311': VR.SQ,\n '700312': VR.FD,\n '700314': VR.SQ,\n '700318': VR.SQ,\n '70031a': VR.UI,\n '70031b': VR.UI,\n '70031c': VR.SQ,\n '70031e': VR.SQ,\n '70031f': VR.SQ,\n '700401': VR.US,\n '700402': VR.SQ,\n '700403': VR.FL,\n '700404': VR.SQ,\n '700405': VR.CS,\n '701101': VR.UI,\n '701102': VR.UI,\n '701103': VR.US,\n '701104': VR.SQ,\n '701201': VR.SQ,\n '701202': VR.CS,\n '701203': VR.US,\n '701204': VR.CS,\n '701205': VR.US,\n '701206': VR.CS,\n '701207': VR.US,\n '701208': VR.CS,\n '701209': VR.UI,\n '70120a': VR.SQ,\n '70120b': VR.CS,\n '70120c': VR.US,\n '70120d': VR.CS,\n '701301': VR.SQ,\n '701302': VR.CS,\n '701303': VR.FD,\n '701304': VR.SQ,\n '701305': VR.FD,\n '701306': VR.FD,\n '701309': VR.US,\n '701501': VR.CS,\n '701502': VR.CS,\n '701503': VR.FD,\n '701505': VR.FD,\n '701507': VR.FD,\n '701508': VR.FD,\n '70150c': VR.UL,\n '70150d': VR.OD,\n '701511': VR.FD,\n '701512': VR.FD,\n '701602': VR.CS,\n '701603': VR.FD,\n '701604': VR.FD,\n '701605': VR.FD,\n '701606': VR.FD,\n '701607': VR.FD,\n '701701': VR.CS,\n '701702': VR.FD,\n '701703': VR.FD,\n '701704': VR.FD,\n '701705': VR.FD,\n '701706': VR.FD,\n '701801': VR.SQ,\n '701802': VR.CS,\n '701803': VR.SQ,\n '701804': VR.US,\n '701805': VR.SQ,\n '701806': VR.SQ,\n '701807': VR.US,\n '701808': VR.OB,\n '701901': VR.SQ,\n '701903': VR.SQ,\n '701904': VR.UI,\n '701905': VR.SQ,\n '701907': VR.CS,\n '701a01': VR.CS,\n '701a03': VR.FD,\n '701a04': VR.SQ,\n '701a05': VR.FD,\n '701a06': VR.FD,\n '701a07': VR.OD,\n '701a08': VR.SQ,\n '701a09': VR.LO,\n '701b01': VR.SQ,\n '701b02': VR.US,\n '701b03': VR.SQ,\n '701b04': VR.SQ,\n '701b06': VR.CS,\n '701b07': VR.CS,\n '701b08': VR.CS,\n '701b11': VR.SQ,\n '701b12': VR.SQ,\n '701b13': VR.CS,\n '701b14': VR.FD,\n '720002': VR.SH,\n '720004': VR.LO,\n '720006': VR.CS,\n '720008': VR.LO,\n '72000a': VR.DT,\n '72000c': VR.SQ,\n '72000e': VR.SQ,\n '720010': VR.LO,\n '720012': VR.SQ,\n '720014': VR.US,\n '720020': VR.SQ,\n '720022': VR.SQ,\n '720024': VR.CS,\n '720026': VR.AT,\n '720028': VR.US,\n '720030': VR.SQ,\n '720032': VR.US,\n '720034': VR.CS,\n '720038': VR.US,\n '72003a': VR.CS,\n '72003c': VR.SS,\n '72003e': VR.SQ,\n '720040': VR.LO,\n '720050': VR.CS,\n '720052': VR.AT,\n '720054': VR.LO,\n '720056': VR.LO,\n '72005e': VR.AE,\n '72005f': VR.AS,\n '720060': VR.AT,\n '720061': VR.DA,\n '720062': VR.CS,\n '720063': VR.DT,\n '720064': VR.IS,\n '720065': VR.OB,\n '720066': VR.LO,\n '720067': VR.OF,\n '720068': VR.LT,\n '720069': VR.OW,\n '72006a': VR.PN,\n '72006b': VR.TM,\n '72006c': VR.SH,\n '72006d': VR.UN,\n '72006e': VR.ST,\n '72006f': VR.UC,\n '720070': VR.UT,\n '720071': VR.UR,\n '720072': VR.DS,\n '720073': VR.OD,\n '720074': VR.FD,\n '720075': VR.OL,\n '720076': VR.FL,\n '720078': VR.UL,\n '72007a': VR.US,\n '72007c': VR.SL,\n '72007e': VR.SS,\n '72007f': VR.UI,\n '720080': VR.SQ,\n '720100': VR.US,\n '720102': VR.SQ,\n '720104': VR.US,\n '720106': VR.US,\n '720108': VR.FD,\n '72010a': VR.US,\n '72010c': VR.US,\n '72010e': VR.US,\n '720200': VR.SQ,\n '720202': VR.US,\n '720203': VR.LO,\n '720204': VR.US,\n '720206': VR.LO,\n '720208': VR.CS,\n '720210': VR.SQ,\n '720212': VR.US,\n '720214': VR.SQ,\n '720216': VR.US,\n '720218': VR.US,\n '720300': VR.SQ,\n '720302': VR.US,\n '720304': VR.CS,\n '720306': VR.US,\n '720308': VR.US,\n '720310': VR.CS,\n '720312': VR.CS,\n '720314': VR.US,\n '720316': VR.CS,\n '720318': VR.US,\n '720320': VR.US,\n '720330': VR.FD,\n '720400': VR.SQ,\n '720402': VR.CS,\n '720404': VR.CS,\n '720406': VR.CS,\n '720420': VR.US,\n '720421': VR.US,\n '720422': VR.SQ,\n '720424': VR.SQ,\n '720427': VR.SQ,\n '720430': VR.SQ,\n '720432': VR.US,\n '720434': VR.CS,\n '720500': VR.CS,\n '720510': VR.CS,\n '720512': VR.FD,\n '720514': VR.FD,\n '720516': VR.CS,\n '720520': VR.CS,\n '720600': VR.SQ,\n '720602': VR.CS,\n '720604': VR.CS,\n '720700': VR.CS,\n '720702': VR.CS,\n '720704': VR.CS,\n '720705': VR.SQ,\n '720706': VR.CS,\n '720710': VR.CS,\n '720712': VR.CS,\n '720714': VR.CS,\n '720716': VR.CS,\n '720717': VR.CS,\n '720718': VR.CS,\n '740120': VR.FD,\n '740121': VR.FD,\n '741000': VR.CS,\n '741002': VR.SQ,\n '741004': VR.DS,\n '741006': VR.ST,\n '741007': VR.SQ,\n '741008': VR.SQ,\n '74100a': VR.UR,\n '74100c': VR.LO,\n '74100e': VR.SQ,\n '741020': VR.SQ,\n '741022': VR.CS,\n '741024': VR.IS,\n '741025': VR.CS,\n '741026': VR.FD,\n '741027': VR.FD,\n '741028': VR.FD,\n '74102a': VR.FD,\n '74102b': VR.FD,\n '74102c': VR.FD,\n '74102d': VR.FD,\n '741030': VR.SQ,\n '741032': VR.CS,\n '741034': VR.CS,\n '741036': VR.CS,\n '741038': VR.DS,\n '74103a': VR.DS,\n '741040': VR.SQ,\n '741042': VR.SQ,\n '741044': VR.SQ,\n '741046': VR.SQ,\n '741048': VR.SQ,\n '74104a': VR.SQ,\n '74104c': VR.SQ,\n '74104e': VR.SQ,\n '741050': VR.SQ,\n '741052': VR.AT,\n '741054': VR.UL,\n '741056': VR.LO,\n '741057': VR.IS,\n '741200': VR.CS,\n '741202': VR.LO,\n '741204': VR.LO,\n '741210': VR.SQ,\n '741212': VR.SQ,\n '741216': VR.SQ,\n '741220': VR.SQ,\n '741222': VR.LO,\n '741224': VR.SQ,\n '741230': VR.LO,\n '741234': VR.AE,\n '741236': VR.AE,\n '741238': VR.LT,\n '741242': VR.CS,\n '741244': VR.CS,\n '741246': VR.CS,\n '741324': VR.UL,\n '741338': VR.FD,\n '74133a': VR.FD,\n '741401': VR.SQ,\n '741402': VR.DS,\n '741403': VR.DS,\n '741404': VR.IS,\n '741405': VR.SQ,\n '741406': VR.IS,\n '741407': VR.DS,\n '741408': VR.DS,\n '741409': VR.SQ,\n '74140a': VR.CS,\n '74140b': VR.LO,\n '74140c': VR.IS,\n '74140d': VR.SQ,\n '74140e': VR.SQ,\n '760001': VR.LO,\n '760003': VR.LO,\n '760006': VR.LO,\n '760008': VR.SQ,\n '76000a': VR.CS,\n '76000c': VR.SQ,\n '76000e': VR.SQ,\n '760010': VR.SQ,\n '760020': VR.SQ,\n '760030': VR.LO,\n '760032': VR.SQ,\n '760034': VR.SQ,\n '760036': VR.CS,\n '760038': VR.CS,\n '760040': VR.SQ,\n '760055': VR.US,\n '760060': VR.SQ,\n '760070': VR.US,\n '760080': VR.US,\n '760090': VR.US,\n '7600a0': VR.US,\n '7600b0': VR.US,\n '7600c0': VR.US,\n '780001': VR.LO,\n '780010': VR.ST,\n '780020': VR.LO,\n '780024': VR.LO,\n '780026': VR.SQ,\n '780028': VR.SQ,\n '78002a': VR.SQ,\n '78002e': VR.US,\n '780050': VR.FD,\n '780060': VR.FD,\n '780070': VR.SQ,\n '780090': VR.FD,\n '7800a0': VR.FD,\n '7800b0': VR.SQ,\n '7800b2': VR.LO,\n '7800b4': VR.SQ,\n '7800b6': VR.US,\n '7800b8': VR.US,\n '800001': VR.SQ,\n '800002': VR.SQ,\n '800003': VR.SQ,\n '800004': VR.FD,\n '800005': VR.FD,\n '800006': VR.US,\n '800007': VR.US,\n '800008': VR.SQ,\n '800009': VR.SH,\n '800010': VR.OF,\n '800011': VR.OF,\n '800012': VR.SQ,\n '800013': VR.SQ,\n '820001': VR.CS,\n '820003': VR.UT,\n '820004': VR.SQ,\n '820005': VR.SQ,\n '820006': VR.UL,\n '820007': VR.SQ,\n '820008': VR.CS,\n '82000a': VR.UT,\n '82000c': VR.SQ,\n '820010': VR.SQ,\n '820016': VR.LO,\n '820017': VR.SQ,\n '820018': VR.LO,\n '820019': VR.LO,\n '820021': VR.SQ,\n '820022': VR.SQ,\n '820023': VR.LO,\n '820032': VR.CS,\n '820033': VR.UT,\n '820034': VR.SQ,\n '820035': VR.SQ,\n '820036': VR.CS,\n '820037': VR.UT,\n '820038': VR.CS,\n '880130': VR.SH,\n '880140': VR.UI,\n '880200': VR.SQ,\n '880904': VR.LO,\n '880906': VR.ST,\n '880910': VR.LO,\n '880912': VR.LO,\n '1000410': VR.CS,\n '1000420': VR.DT,\n '1000424': VR.LT,\n '1000426': VR.LO,\n '4000005': VR.US,\n '4000010': VR.UI,\n '4000015': VR.CS,\n '4000020': VR.AT,\n '4000100': VR.UI,\n '4000105': VR.DT,\n '4000110': VR.CS,\n '4000115': VR.OB,\n '4000120': VR.OB,\n '4000305': VR.CS,\n '4000310': VR.OB,\n '4000401': VR.SQ,\n '4000402': VR.SQ,\n '4000403': VR.SQ,\n '4000404': VR.OB,\n '4000500': VR.SQ,\n '4000510': VR.UI,\n '4000520': VR.OB,\n '4000550': VR.SQ,\n '4000561': VR.SQ,\n '4000562': VR.DT,\n '4000563': VR.LO,\n '4000564': VR.LO,\n '4000565': VR.CS,\n '10000000': VR.US,\n '10000001': VR.US,\n '10000002': VR.US,\n '10000003': VR.US,\n '10000004': VR.US,\n '10000005': VR.US,\n '10100000': VR.US,\n '20000010': VR.IS,\n '2000001e': VR.SQ,\n '20000020': VR.CS,\n '20000030': VR.CS,\n '20000040': VR.CS,\n '20000050': VR.LO,\n '20000060': VR.IS,\n '20000061': VR.IS,\n '20000062': VR.CS,\n '20000063': VR.CS,\n '20000065': VR.CS,\n '20000067': VR.CS,\n '20000069': VR.CS,\n '2000006a': VR.CS,\n '200000a0': VR.US,\n '200000a1': VR.US,\n '200000a2': VR.SQ,\n '200000a4': VR.SQ,\n '200000a8': VR.SQ,\n '20000500': VR.SQ,\n '20000510': VR.SQ,\n '20100010': VR.ST,\n '20100030': VR.CS,\n '20100040': VR.CS,\n '20100050': VR.CS,\n '20100052': VR.CS,\n '20100054': VR.CS,\n '20100060': VR.CS,\n '20100080': VR.CS,\n '201000a6': VR.CS,\n '201000a7': VR.CS,\n '201000a8': VR.CS,\n '201000a9': VR.CS,\n '20100100': VR.CS,\n '20100110': VR.CS,\n '20100120': VR.US,\n '20100130': VR.US,\n '20100140': VR.CS,\n '20100150': VR.ST,\n '20100152': VR.LT,\n '20100154': VR.IS,\n '2010015e': VR.US,\n '20100160': VR.US,\n '20100376': VR.DS,\n '20100500': VR.SQ,\n '20100510': VR.SQ,\n '20100520': VR.SQ,\n '20200010': VR.US,\n '20200020': VR.CS,\n '20200030': VR.DS,\n '20200040': VR.CS,\n '20200050': VR.CS,\n '202000a0': VR.CS,\n '202000a2': VR.CS,\n '20200110': VR.SQ,\n '20200111': VR.SQ,\n '20200130': VR.SQ,\n '20200140': VR.SQ,\n '20300010': VR.US,\n '20300020': VR.LO,\n '20400010': VR.SQ,\n '20400011': VR.US,\n '20400020': VR.SQ,\n '20400060': VR.CS,\n '20400070': VR.CS,\n '20400072': VR.CS,\n '20400074': VR.US,\n '20400080': VR.CS,\n '20400082': VR.CS,\n '20400090': VR.CS,\n '20400100': VR.CS,\n '20400500': VR.SQ,\n '20500010': VR.SQ,\n '20500020': VR.CS,\n '20500500': VR.SQ,\n '21000010': VR.SH,\n '21000020': VR.CS,\n '21000030': VR.CS,\n '21000040': VR.DA,\n '21000050': VR.TM,\n '21000070': VR.AE,\n '21000140': VR.AE,\n '21000160': VR.SH,\n '21000170': VR.IS,\n '21000500': VR.SQ,\n '21100010': VR.CS,\n '21100020': VR.CS,\n '21100030': VR.LO,\n '21100099': VR.SH,\n '21200010': VR.CS,\n '21200050': VR.SQ,\n '21200070': VR.SQ,\n '21300010': VR.SQ,\n '21300015': VR.SQ,\n '21300030': VR.SQ,\n '21300040': VR.SQ,\n '21300050': VR.SQ,\n '21300060': VR.SQ,\n '21300080': VR.SQ,\n '213000a0': VR.SQ,\n '213000c0': VR.SQ,\n '22000001': VR.CS,\n '22000002': VR.UT,\n '22000003': VR.CS,\n '22000004': VR.LT,\n '22000005': VR.LT,\n '22000006': VR.CS,\n '22000007': VR.CS,\n '22000008': VR.CS,\n '22000009': VR.CS,\n '2200000a': VR.CS,\n '2200000b': VR.US,\n '2200000c': VR.LO,\n '2200000d': VR.SQ,\n '2200000e': VR.AT,\n '2200000f': VR.CS,\n '22000020': VR.CS,\n '30020002': VR.SH,\n '30020003': VR.LO,\n '30020004': VR.ST,\n '3002000a': VR.CS,\n '3002000c': VR.CS,\n '3002000d': VR.DS,\n '3002000e': VR.DS,\n '30020010': VR.DS,\n '30020011': VR.DS,\n '30020012': VR.DS,\n '30020020': VR.SH,\n '30020022': VR.DS,\n '30020024': VR.DS,\n '30020026': VR.DS,\n '30020028': VR.DS,\n '30020029': VR.IS,\n '30020030': VR.SQ,\n '30020032': VR.DS,\n '30020034': VR.DS,\n '30020040': VR.SQ,\n '30020041': VR.CS,\n '30020042': VR.DS,\n '30020050': VR.SQ,\n '30020051': VR.CS,\n '30020052': VR.SH,\n '30040001': VR.CS,\n '30040002': VR.CS,\n '30040004': VR.CS,\n '30040005': VR.CS,\n '30040006': VR.LO,\n '30040008': VR.DS,\n '3004000a': VR.CS,\n '3004000c': VR.DS,\n '3004000e': VR.DS,\n '30040010': VR.SQ,\n '30040012': VR.DS,\n '30040014': VR.CS,\n '30040040': VR.DS,\n '30040042': VR.DS,\n '30040050': VR.SQ,\n '30040052': VR.DS,\n '30040054': VR.CS,\n '30040056': VR.IS,\n '30040058': VR.DS,\n '30040060': VR.SQ,\n '30040062': VR.CS,\n '30040070': VR.DS,\n '30040072': VR.DS,\n '30040074': VR.DS,\n '30060002': VR.SH,\n '30060004': VR.LO,\n '30060006': VR.ST,\n '30060008': VR.DA,\n '30060009': VR.TM,\n '30060010': VR.SQ,\n '30060012': VR.SQ,\n '30060014': VR.SQ,\n '30060016': VR.SQ,\n '30060018': VR.SQ,\n '30060020': VR.SQ,\n '30060022': VR.IS,\n '30060024': VR.UI,\n '30060026': VR.LO,\n '30060028': VR.ST,\n '3006002a': VR.IS,\n '3006002c': VR.DS,\n '30060030': VR.SQ,\n '30060033': VR.CS,\n '30060036': VR.CS,\n '30060038': VR.LO,\n '30060039': VR.SQ,\n '30060040': VR.SQ,\n '30060042': VR.CS,\n '30060044': VR.DS,\n '30060045': VR.DS,\n '30060046': VR.IS,\n '30060048': VR.IS,\n '30060049': VR.IS,\n '30060050': VR.DS,\n '30060080': VR.SQ,\n '30060082': VR.IS,\n '30060084': VR.IS,\n '30060085': VR.SH,\n '30060086': VR.SQ,\n '30060088': VR.ST,\n '300600a0': VR.SQ,\n '300600a4': VR.CS,\n '300600a6': VR.PN,\n '300600b0': VR.SQ,\n '300600b2': VR.CS,\n '300600b4': VR.DS,\n '300600b6': VR.SQ,\n '300600b7': VR.US,\n '300600b8': VR.FL,\n '300600b9': VR.SQ,\n '300600c0': VR.SQ,\n '300600c2': VR.UI,\n '300600c4': VR.CS,\n '300600c6': VR.DS,\n '300600c8': VR.LO,\n '30080010': VR.SQ,\n '30080012': VR.ST,\n '30080014': VR.CS,\n '30080016': VR.DS,\n '30080020': VR.SQ,\n '30080021': VR.SQ,\n '30080022': VR.IS,\n '30080024': VR.DA,\n '30080025': VR.TM,\n '3008002a': VR.CS,\n '3008002b': VR.SH,\n '3008002c': VR.CS,\n '30080030': VR.SQ,\n '30080032': VR.DS,\n '30080033': VR.DS,\n '30080036': VR.DS,\n '30080037': VR.DS,\n '3008003a': VR.DS,\n '3008003b': VR.DS,\n '30080040': VR.SQ,\n '30080041': VR.SQ,\n '30080042': VR.DS,\n '30080044': VR.DS,\n '30080045': VR.FL,\n '30080046': VR.FL,\n '30080047': VR.FL,\n '30080048': VR.DS,\n '30080050': VR.SQ,\n '30080052': VR.DS,\n '30080054': VR.DA,\n '30080056': VR.DA,\n '3008005a': VR.IS,\n '30080060': VR.SQ,\n '30080061': VR.AT,\n '30080062': VR.AT,\n '30080063': VR.IS,\n '30080064': VR.IS,\n '30080065': VR.AT,\n '30080066': VR.ST,\n '30080067': VR.US,\n '30080068': VR.SQ,\n '3008006a': VR.FL,\n '30080070': VR.SQ,\n '30080072': VR.IS,\n '30080074': VR.ST,\n '30080076': VR.DS,\n '30080078': VR.DS,\n '3008007a': VR.DS,\n '30080080': VR.SQ,\n '30080082': VR.IS,\n '30080090': VR.SQ,\n '30080092': VR.IS,\n '300800a0': VR.SQ,\n '300800b0': VR.SQ,\n '300800c0': VR.SQ,\n '300800d0': VR.SQ,\n '300800e0': VR.SQ,\n '300800f0': VR.SQ,\n '300800f2': VR.SQ,\n '300800f4': VR.SQ,\n '300800f6': VR.SQ,\n '30080100': VR.SQ,\n '30080105': VR.LO,\n '30080110': VR.SQ,\n '30080116': VR.CS,\n '30080120': VR.SQ,\n '30080122': VR.IS,\n '30080130': VR.SQ,\n '30080132': VR.DS,\n '30080134': VR.DS,\n '30080136': VR.IS,\n '30080138': VR.IS,\n '3008013a': VR.DS,\n '3008013c': VR.DS,\n '30080140': VR.SQ,\n '30080142': VR.IS,\n '30080150': VR.SQ,\n '30080152': VR.IS,\n '30080160': VR.SQ,\n '30080162': VR.DA,\n '30080164': VR.TM,\n '30080166': VR.DA,\n '30080168': VR.TM,\n '30080171': VR.SQ,\n '30080172': VR.US,\n '30080173': VR.SQ,\n '30080200': VR.CS,\n '30080202': VR.ST,\n '30080220': VR.SQ,\n '30080223': VR.IS,\n '30080224': VR.CS,\n '30080230': VR.CS,\n '30080240': VR.SQ,\n '30080250': VR.DA,\n '30080251': VR.TM,\n '300a0002': VR.SH,\n '300a0003': VR.LO,\n '300a0004': VR.ST,\n '300a0006': VR.DA,\n '300a0007': VR.TM,\n '300a0009': VR.LO,\n '300a000a': VR.CS,\n '300a000b': VR.LO,\n '300a000c': VR.CS,\n '300a000e': VR.ST,\n '300a0010': VR.SQ,\n '300a0012': VR.IS,\n '300a0013': VR.UI,\n '300a0014': VR.CS,\n '300a0015': VR.CS,\n '300a0016': VR.LO,\n '300a0018': VR.DS,\n '300a001a': VR.DS,\n '300a0020': VR.CS,\n '300a0021': VR.DS,\n '300a0022': VR.DS,\n '300a0023': VR.DS,\n '300a0025': VR.DS,\n '300a0026': VR.DS,\n '300a0027': VR.DS,\n '300a0028': VR.DS,\n '300a002a': VR.DS,\n '300a002b': VR.DS,\n '300a002c': VR.DS,\n '300a002d': VR.DS,\n '300a0040': VR.SQ,\n '300a0042': VR.IS,\n '300a0043': VR.SH,\n '300a0044': VR.DS,\n '300a0046': VR.DS,\n '300a0048': VR.SQ,\n '300a004a': VR.DS,\n '300a004b': VR.FL,\n '300a004c': VR.DS,\n '300a004e': VR.DS,\n '300a004f': VR.FL,\n '300a0050': VR.FL,\n '300a0051': VR.DS,\n '300a0052': VR.DS,\n '300a0053': VR.DS,\n '300a0055': VR.CS,\n '300a0070': VR.SQ,\n '300a0071': VR.IS,\n '300a0072': VR.LO,\n '300a0078': VR.IS,\n '300a0079': VR.IS,\n '300a007a': VR.IS,\n '300a007b': VR.LT,\n '300a0080': VR.IS,\n '300a0082': VR.DS,\n '300a0083': VR.UI,\n '300a0084': VR.DS,\n '300a0086': VR.DS,\n '300a0088': VR.FL,\n '300a0089': VR.FL,\n '300a008a': VR.FL,\n '300a008b': VR.CS,\n '300a008c': VR.SQ,\n '300a008d': VR.FL,\n '300a008e': VR.FL,\n '300a008f': VR.FL,\n '300a0090': VR.CS,\n '300a0091': VR.DS,\n '300a0092': VR.CS,\n '300a0093': VR.CS,\n '300a00a0': VR.IS,\n '300a00a2': VR.DS,\n '300a00a4': VR.DS,\n '300a00b0': VR.SQ,\n '300a00b2': VR.SH,\n '300a00b3': VR.CS,\n '300a00b4': VR.DS,\n '300a00b6': VR.SQ,\n '300a00b8': VR.CS,\n '300a00ba': VR.DS,\n '300a00bb': VR.FL,\n '300a00bc': VR.IS,\n '300a00be': VR.DS,\n '300a00c0': VR.IS,\n '300a00c2': VR.LO,\n '300a00c3': VR.ST,\n '300a00c4': VR.CS,\n '300a00c5': VR.FD,\n '300a00c6': VR.CS,\n '300a00c7': VR.CS,\n '300a00c8': VR.IS,\n '300a00ca': VR.SQ,\n '300a00cc': VR.LO,\n '300a00ce': VR.CS,\n '300a00d0': VR.IS,\n '300a00d1': VR.SQ,\n '300a00d2': VR.IS,\n '300a00d3': VR.CS,\n '300a00d4': VR.SH,\n '300a00d5': VR.IS,\n '300a00d6': VR.DS,\n '300a00d7': VR.FL,\n '300a00d8': VR.DS,\n '300a00d9': VR.FL,\n '300a00da': VR.DS,\n '300a00db': VR.FL,\n '300a00dc': VR.SH,\n '300a00dd': VR.ST,\n '300a00de': VR.DS,\n '300a00e0': VR.IS,\n '300a00e1': VR.SH,\n '300a00e2': VR.DS,\n '300a00e3': VR.SQ,\n '300a00e4': VR.IS,\n '300a00e5': VR.SH,\n '300a00e6': VR.DS,\n '300a00e7': VR.IS,\n '300a00e8': VR.IS,\n '300a00e9': VR.DS,\n '300a00ea': VR.DS,\n '300a00eb': VR.DS,\n '300a00ec': VR.DS,\n '300a00ed': VR.IS,\n '300a00ee': VR.CS,\n '300a00ef': VR.SH,\n '300a00f0': VR.IS,\n '300a00f2': VR.DS,\n '300a00f3': VR.FL,\n '300a00f4': VR.SQ,\n '300a00f5': VR.SH,\n '300a00f6': VR.DS,\n '300a00f7': VR.FL,\n '300a00f8': VR.CS,\n '300a00f9': VR.LO,\n '300a00fa': VR.CS,\n '300a00fb': VR.CS,\n '300a00fc': VR.IS,\n '300a00fe': VR.LO,\n '300a0100': VR.DS,\n '300a0102': VR.DS,\n '300a0104': VR.IS,\n '300a0106': VR.DS,\n '300a0107': VR.SQ,\n '300a0108': VR.SH,\n '300a0109': VR.CS,\n '300a010a': VR.LO,\n '300a010c': VR.DS,\n '300a010e': VR.DS,\n '300a0110': VR.IS,\n '300a0111': VR.SQ,\n '300a0112': VR.IS,\n '300a0114': VR.DS,\n '300a0115': VR.DS,\n '300a0116': VR.SQ,\n '300a0118': VR.CS,\n '300a011a': VR.SQ,\n '300a011c': VR.DS,\n '300a011e': VR.DS,\n '300a011f': VR.CS,\n '300a0120': VR.DS,\n '300a0121': VR.CS,\n '300a0122': VR.DS,\n '300a0123': VR.CS,\n '300a0124': VR.DS,\n '300a0125': VR.DS,\n '300a0126': VR.CS,\n '300a0128': VR.DS,\n '300a0129': VR.DS,\n '300a012a': VR.DS,\n '300a012c': VR.DS,\n '300a012e': VR.DS,\n '300a0130': VR.DS,\n '300a0131': VR.FL,\n '300a0132': VR.FL,\n '300a0133': VR.FL,\n '300a0134': VR.DS,\n '300a0140': VR.FL,\n '300a0142': VR.CS,\n '300a0144': VR.FL,\n '300a0146': VR.CS,\n '300a0148': VR.FL,\n '300a014a': VR.FL,\n '300a014c': VR.CS,\n '300a014e': VR.FL,\n '300a0150': VR.CS,\n '300a0151': VR.DS,\n '300a0152': VR.DS,\n '300a0153': VR.DS,\n '300a0154': VR.DS,\n '300a0155': VR.DS,\n '300a0180': VR.SQ,\n '300a0182': VR.IS,\n '300a0183': VR.LO,\n '300a0184': VR.LO,\n '300a0190': VR.SQ,\n '300a0192': VR.CS,\n '300a0194': VR.SH,\n '300a0196': VR.ST,\n '300a0198': VR.SH,\n '300a0199': VR.FL,\n '300a019a': VR.FL,\n '300a01a0': VR.SQ,\n '300a01a2': VR.CS,\n '300a01a4': VR.SH,\n '300a01a6': VR.ST,\n '300a01a8': VR.SH,\n '300a01b0': VR.CS,\n '300a01b2': VR.ST,\n '300a01b4': VR.SQ,\n '300a01b6': VR.CS,\n '300a01b8': VR.SH,\n '300a01ba': VR.ST,\n '300a01bc': VR.DS,\n '300a01d0': VR.ST,\n '300a01d2': VR.DS,\n '300a01d4': VR.DS,\n '300a01d6': VR.DS,\n '300a0200': VR.CS,\n '300a0202': VR.CS,\n '300a0206': VR.SQ,\n '300a0210': VR.SQ,\n '300a0212': VR.IS,\n '300a0214': VR.CS,\n '300a0216': VR.LO,\n '300a0218': VR.DS,\n '300a021a': VR.DS,\n '300a021b': VR.SH,\n '300a021c': VR.LO,\n '300a0222': VR.DS,\n '300a0224': VR.DS,\n '300a0226': VR.LO,\n '300a0228': VR.DS,\n '300a0229': VR.CS,\n '300a022a': VR.DS,\n '300a022b': VR.DS,\n '300a022c': VR.DA,\n '300a022e': VR.TM,\n '300a0230': VR.SQ,\n '300a0232': VR.CS,\n '300a0234': VR.IS,\n '300a0236': VR.LO,\n '300a0238': VR.LO,\n '300a0240': VR.IS,\n '300a0242': VR.SH,\n '300a0244': VR.LO,\n '300a0250': VR.DS,\n '300a0260': VR.SQ,\n '300a0262': VR.IS,\n '300a0263': VR.SH,\n '300a0264': VR.CS,\n '300a0266': VR.LO,\n '300a026a': VR.DS,\n '300a026c': VR.DS,\n '300a0271': VR.DS,\n '300a0272': VR.DS,\n '300a0273': VR.SH,\n '300a0274': VR.DS,\n '300a0280': VR.SQ,\n '300a0282': VR.IS,\n '300a0284': VR.DS,\n '300a0286': VR.DS,\n '300a0288': VR.CS,\n '300a028a': VR.IS,\n '300a028c': VR.DS,\n '300a0290': VR.IS,\n '300a0291': VR.SH,\n '300a0292': VR.CS,\n '300a0294': VR.LO,\n '300a0296': VR.DS,\n '300a0298': VR.LO,\n '300a029c': VR.DS,\n '300a029e': VR.DS,\n '300a02a0': VR.DS,\n '300a02a2': VR.IS,\n '300a02a4': VR.DS,\n '300a02b0': VR.SQ,\n '300a02b2': VR.IS,\n '300a02b3': VR.SH,\n '300a02b4': VR.LO,\n '300a02b8': VR.DS,\n '300a02ba': VR.DS,\n '300a02c8': VR.DS,\n '300a02d0': VR.SQ,\n '300a02d2': VR.DS,\n '300a02d4': VR.DS,\n '300a02d6': VR.DS,\n '300a02e0': VR.CS,\n '300a02e1': VR.CS,\n '300a02e2': VR.DS,\n '300a02e3': VR.FL,\n '300a02e4': VR.FL,\n '300a02e5': VR.FL,\n '300a02e6': VR.FL,\n '300a02e7': VR.FL,\n '300a02e8': VR.FL,\n '300a02ea': VR.SQ,\n '300a02eb': VR.LT,\n '300a0302': VR.IS,\n '300a0304': VR.IS,\n '300a0306': VR.SS,\n '300a0308': VR.CS,\n '300a0309': VR.CS,\n '300a030a': VR.FL,\n '300a030c': VR.SQ,\n '300a030d': VR.FL,\n '300a030f': VR.SH,\n '300a0312': VR.IS,\n '300a0314': VR.SQ,\n '300a0316': VR.IS,\n '300a0318': VR.SH,\n '300a0320': VR.CS,\n '300a0322': VR.LO,\n '300a0330': VR.IS,\n '300a0332': VR.SQ,\n '300a0334': VR.IS,\n '300a0336': VR.SH,\n '300a0338': VR.CS,\n '300a033a': VR.LO,\n '300a033c': VR.FL,\n '300a0340': VR.IS,\n '300a0342': VR.SQ,\n '300a0344': VR.IS,\n '300a0346': VR.SH,\n '300a0348': VR.CS,\n '300a034a': VR.LO,\n '300a034c': VR.SH,\n '300a0350': VR.CS,\n '300a0352': VR.SH,\n '300a0354': VR.LO,\n '300a0355': VR.LO,\n '300a0356': VR.FL,\n '300a0358': VR.FL,\n '300a035a': VR.FL,\n '300a0360': VR.SQ,\n '300a0362': VR.LO,\n '300a0364': VR.FL,\n '300a0366': VR.FL,\n '300a0370': VR.SQ,\n '300a0372': VR.LO,\n '300a0374': VR.FL,\n '300a0380': VR.SQ,\n '300a0382': VR.FL,\n '300a0384': VR.FL,\n '300a0386': VR.FL,\n '300a0388': VR.FL,\n '300a038a': VR.FL,\n '300a038f': VR.FL,\n '300a0390': VR.SH,\n '300a0391': VR.IS,\n '300a0392': VR.IS,\n '300a0393': VR.CS,\n '300a0394': VR.FL,\n '300a0395': VR.CS,\n '300a0396': VR.FL,\n '300a0398': VR.FL,\n '300a039a': VR.IS,\n '300a03a0': VR.SQ,\n '300a03a2': VR.SQ,\n '300a03a4': VR.SQ,\n '300a03a6': VR.SQ,\n '300a03a8': VR.SQ,\n '300a03aa': VR.SQ,\n '300a03ac': VR.SQ,\n '300a0401': VR.SQ,\n '300a0402': VR.ST,\n '300a0410': VR.SQ,\n '300a0412': VR.FL,\n '300a0420': VR.SQ,\n '300a0421': VR.SH,\n '300a0422': VR.ST,\n '300a0423': VR.CS,\n '300a0424': VR.IS,\n '300a0425': VR.FL,\n '300a0431': VR.SQ,\n '300a0432': VR.CS,\n '300a0433': VR.FL,\n '300a0434': VR.FL,\n '300a0435': VR.FL,\n '300a0436': VR.FL,\n '300a0440': VR.IS,\n '300a0441': VR.SQ,\n '300a0442': VR.DS,\n '300a0443': VR.US,\n '300a0450': VR.SQ,\n '300a0451': VR.CS,\n '300a0452': VR.CS,\n '300a0453': VR.SQ,\n '300a0501': VR.FL,\n '300a0502': VR.FL,\n '300a0503': VR.FL,\n '300a0504': VR.FL,\n '300a0505': VR.SQ,\n '300a0506': VR.SQ,\n '300a0507': VR.FL,\n '300a0508': VR.FL,\n '300a0509': VR.FL,\n '300a0510': VR.FL,\n '300a0511': VR.CS,\n '300a0512': VR.CS,\n '300c0002': VR.SQ,\n '300c0004': VR.SQ,\n '300c0006': VR.IS,\n '300c0007': VR.IS,\n '300c0008': VR.DS,\n '300c0009': VR.DS,\n '300c000a': VR.SQ,\n '300c000c': VR.IS,\n '300c000e': VR.IS,\n '300c0020': VR.SQ,\n '300c0022': VR.IS,\n '300c0040': VR.SQ,\n '300c0042': VR.SQ,\n '300c0050': VR.SQ,\n '300c0051': VR.IS,\n '300c0055': VR.SQ,\n '300c0060': VR.SQ,\n '300c006a': VR.IS,\n '300c0080': VR.SQ,\n '300c00a0': VR.IS,\n '300c00b0': VR.SQ,\n '300c00c0': VR.IS,\n '300c00d0': VR.IS,\n '300c00e0': VR.IS,\n '300c00f0': VR.IS,\n '300c00f2': VR.SQ,\n '300c00f4': VR.IS,\n '300c00f6': VR.IS,\n '300c0100': VR.IS,\n '300c0102': VR.IS,\n '300c0104': VR.IS,\n '300c0111': VR.SQ,\n '300c0112': VR.CS,\n '300c0113': VR.LO,\n '300e0002': VR.CS,\n '300e0004': VR.DA,\n '300e0005': VR.TM,\n '300e0008': VR.PN,\n '40000010': VR.LT,\n '40004000': VR.LT,\n '40080040': VR.SH,\n '40080042': VR.LO,\n '40080050': VR.SQ,\n '400800ff': VR.CS,\n '40080100': VR.DA,\n '40080101': VR.TM,\n '40080102': VR.PN,\n '40080103': VR.LO,\n '40080108': VR.DA,\n '40080109': VR.TM,\n '4008010a': VR.PN,\n '4008010b': VR.ST,\n '4008010c': VR.PN,\n '40080111': VR.SQ,\n '40080112': VR.DA,\n '40080113': VR.TM,\n '40080114': VR.PN,\n '40080115': VR.LT,\n '40080117': VR.SQ,\n '40080118': VR.SQ,\n '40080119': VR.PN,\n '4008011a': VR.LO,\n '40080200': VR.SH,\n '40080202': VR.LO,\n '40080210': VR.CS,\n '40080212': VR.CS,\n '40080300': VR.ST,\n '40084000': VR.ST,\n '40100001': VR.CS,\n '40100002': VR.CS,\n '40100004': VR.SQ,\n '40101001': VR.SQ,\n '40101004': VR.FL,\n '40101005': VR.FL,\n '40101006': VR.OB,\n '40101007': VR.SH,\n '40101008': VR.CS,\n '40101009': VR.CS,\n '4010100a': VR.SQ,\n '40101010': VR.US,\n '40101011': VR.SQ,\n '40101012': VR.CS,\n '40101013': VR.LT,\n '40101014': VR.CS,\n '40101015': VR.CS,\n '40101016': VR.FL,\n '40101017': VR.FL,\n '40101018': VR.FL,\n '40101019': VR.FL,\n '4010101a': VR.SH,\n '4010101b': VR.FL,\n '4010101c': VR.FL,\n '4010101d': VR.FL,\n '4010101e': VR.SH,\n '4010101f': VR.SH,\n '40101020': VR.CS,\n '40101021': VR.CS,\n '40101023': VR.FL,\n '40101024': VR.CS,\n '40101025': VR.DT,\n '40101026': VR.DT,\n '40101027': VR.CS,\n '40101028': VR.CS,\n '40101029': VR.LO,\n '4010102a': VR.SH,\n '4010102b': VR.DT,\n '40101031': VR.CS,\n '40101033': VR.US,\n '40101034': VR.US,\n '40101037': VR.SQ,\n '40101038': VR.SQ,\n '40101039': VR.CS,\n '4010103a': VR.CS,\n '40101041': VR.DT,\n '40101042': VR.CS,\n '40101043': VR.FL,\n '40101044': VR.CS,\n '40101045': VR.SQ,\n '40101046': VR.CS,\n '40101047': VR.SQ,\n '40101048': VR.CS,\n '40101051': VR.LO,\n '40101052': VR.SH,\n '40101053': VR.LO,\n '40101054': VR.SH,\n '40101055': VR.SH,\n '40101056': VR.CS,\n '40101058': VR.SH,\n '40101059': VR.CS,\n '40101060': VR.FL,\n '40101061': VR.FL,\n '40101062': VR.FL,\n '40101064': VR.SQ,\n '40101067': VR.CS,\n '40101068': VR.LT,\n '40101069': VR.FL,\n '4010106c': VR.OB,\n '4010106d': VR.CS,\n '4010106e': VR.CS,\n '4010106f': VR.SQ,\n '40101070': VR.CS,\n '40101071': VR.SQ,\n '40101072': VR.SQ,\n '40101073': VR.FD,\n '40101075': VR.DS,\n '40101076': VR.SQ,\n '40101077': VR.SQ,\n '40101078': VR.ST,\n '40101079': VR.SQ,\n '4010107a': VR.FL,\n '4010107b': VR.SQ,\n '4010107c': VR.CS,\n '4010107d': VR.SQ,\n '4010107e': VR.DS,\n '4ffe0001': VR.SQ,\n '50000005': VR.US,\n '50000010': VR.US,\n '50000020': VR.CS,\n '50000022': VR.LO,\n '50000030': VR.SH,\n '50000040': VR.SH,\n '50000103': VR.US,\n '50000104': VR.US,\n '50000105': VR.US,\n '50000106': VR.SH,\n '50000110': VR.US,\n '50000112': VR.US,\n '50000114': VR.US,\n '50001001': VR.CS,\n '50002000': VR.US,\n '50002002': VR.US,\n '50002004': VR.US,\n '50002006': VR.UL,\n '50002008': VR.UL,\n '5000200a': VR.UL,\n '5000200c': VR.OW,\n '5000200e': VR.LT,\n '50002500': VR.LO,\n '50002600': VR.SQ,\n '50002610': VR.US,\n '50003000': VR.OW,\n '52009229': VR.SQ,\n '52009230': VR.SQ,\n '54000100': VR.SQ,\n '54000110': VR.OW,\n '54000112': VR.OW,\n '54001004': VR.US,\n '54001006': VR.CS,\n '5400100a': VR.OW,\n '54001010': VR.OW,\n '56000010': VR.OF,\n '56000020': VR.OF,\n '60000010': VR.US,\n '60000011': VR.US,\n '60000012': VR.US,\n '60000015': VR.IS,\n '60000022': VR.LO,\n '60000040': VR.CS,\n '60000045': VR.LO,\n '60000050': VR.SS,\n '60000051': VR.US,\n '60000052': VR.US,\n '60000060': VR.CS,\n '60000061': VR.SH,\n '60000062': VR.SH,\n '60000063': VR.CS,\n '60000066': VR.AT,\n '60000068': VR.US,\n '60000069': VR.US,\n '60000100': VR.US,\n '60000102': VR.US,\n '60000110': VR.CS,\n '60000200': VR.US,\n '60000800': VR.CS,\n '60000802': VR.US,\n '60000803': VR.AT,\n '60000804': VR.US,\n '60001001': VR.CS,\n '60001100': VR.US,\n '60001101': VR.US,\n '60001102': VR.US,\n '60001103': VR.US,\n '60001200': VR.US,\n '60001201': VR.US,\n '60001202': VR.US,\n '60001203': VR.US,\n '60001301': VR.IS,\n '60001302': VR.DS,\n '60001303': VR.DS,\n '60001500': VR.LO,\n '60003000': VR.OW,\n '60004000': VR.LT,\n '7f000010': VR.OW,\n '7f000011': VR.US,\n '7f000020': VR.OW,\n '7f000030': VR.OW,\n '7f000040': VR.OW,\n '7fe00008': VR.OF,\n '7fe00009': VR.OD,\n '7fe00010': VR.OW,\n '7fe00020': VR.OW,\n '7fe00030': VR.OW,\n '7fe00040': VR.OW,\n fffafffa: VR.SQ,\n fffcfffc: VR.OB,\n };\n}\n","import { tagToString } from './base';\nimport { Lookup } from './lookup';\nimport { TagPath, TagPathItem, TagPathItemEnd, TagPathSequence, TagPathSequenceEnd, TagPathTag } from './tag-path';\nimport { TagPathLike } from './tag-path-like';\n\ntype ItemPath = TagPathItem | TagPathItemEnd;\n\nexport class TagTree extends TagPathLike<TagTree> {\n public static fromTag(tag: number): TagTreeTag {\n return emptyTagTree.thenTag(tag);\n }\n public static fromAnyItem(tag: number): TagTreeAnyItem {\n return emptyTagTree.thenAnyItem(tag);\n }\n public static fromItem(tag: number, item: number): TagTreeItem {\n return emptyTagTree.thenItem(tag, item);\n }\n\n public static fromPath(tagPath: TagPath): TagTree {\n let root: TagTree;\n const p = tagPath.head();\n if (p instanceof TagPathTag) {\n root = TagTree.fromTag(p.tag());\n } else if (p instanceof TagPathItem) {\n root = TagTree.fromItem(p.tag(), p.item);\n } else if (p instanceof TagPathItemEnd) {\n root = TagTree.fromItem(p.tag(), p.item);\n } else if (p instanceof TagPathSequence) {\n root = TagTree.fromAnyItem(p.tag());\n } else if (p instanceof TagPathSequenceEnd) {\n root = TagTree.fromAnyItem(p.tag());\n } else {\n root = emptyTagTree;\n }\n return tagPath\n .drop(1)\n .toList()\n .reduce((t, p1) => {\n if (t instanceof TagTreeTrunk && p1 instanceof TagPathTag) {\n return t.thenTag(p1.tag());\n }\n if (t instanceof TagTreeTrunk && p1 instanceof TagPathItem) {\n return t.thenItem(p1.tag(), p1.item);\n }\n if (t instanceof TagTreeTrunk && p1 instanceof TagPathItemEnd) {\n return t.thenItem(p1.tag(), p1.item);\n }\n if (t instanceof TagTreeTrunk && p1 instanceof TagPathSequence) {\n return t.thenAnyItem(p1.tag());\n }\n if (t instanceof TagTreeTrunk && p1 instanceof TagPathSequenceEnd) {\n return t.thenAnyItem(p1.tag());\n }\n return t;\n }, root);\n }\n\n public static parse(str: string): TagTree {\n const isSeq = (s: string): boolean => s[s.length - 1] === ']';\n const indexPart = (s: string): string => s.substring(s.lastIndexOf('[') + 1, s.length - 1);\n const tagPart = (s: string): string => s.substring(0, s.indexOf('['));\n const parseTag = (s: string): number => {\n const tag = Lookup.tagOf(s);\n if (!tag) {\n if (s.length === 11 && s[0] === '(' && s[5] === ',' && s[10] === ')') {\n const i = parseInt(s.substring(1, 5) + s.substring(6, 10), 16);\n if (!isNaN(i)) {\n return i;\n }\n }\n throw Error(s + ' is not a tag or name string');\n }\n return tag;\n };\n const parseIndex = (s: string): number | undefined => {\n if (s === '*') {\n return undefined;\n }\n const i = parseInt(s, 10);\n if (isNaN(i)) {\n throw Error(s + ' is not a number');\n }\n return i;\n };\n const createTag = (s: string): TagTreeTag => TagTree.fromTag(parseTag(s));\n const addTag = (s: string, path: TagTreeTrunk): TagTreeTag => path.thenTag(parseTag(s));\n const createSeq = (s: string): TagTreeTrunk => {\n const tag = parseTag(tagPart(s));\n const index = parseIndex(indexPart(s));\n return index === undefined ? TagTree.fromAnyItem(tag) : TagTree.fromItem(tag, index);\n };\n const addSeq = (s: string, path: TagTreeTrunk): TagTreeTrunk => {\n const tag = parseTag(tagPart(s));\n const index = parseIndex(indexPart(s));\n return index === undefined ? path.thenAnyItem(tag) : path.thenItem(tag, index);\n };\n\n const tags = str.indexOf('.') > 0 ? str.split('.') : [str];\n const seqTags = tags.length > 1 ? tags.slice(0, tags.length - 1) : []; // list of sequence tags, if any\n const lastTag = tags[tags.length - 1]; // tag or sequence\n try {\n const first = seqTags.length > 0 ? seqTags[0] : undefined;\n if (first) {\n const tree = seqTags\n .slice(1, seqTags.length)\n .reduce((tr: TagTreeTrunk, tag: string) => addSeq(tag, tr), createSeq(first));\n if (tree !== undefined) {\n return isSeq(lastTag) ? addSeq(lastTag, tree) : addTag(lastTag, tree);\n }\n return isSeq(lastTag) ? createSeq(lastTag) : createTag(lastTag);\n }\n return createTag(lastTag);\n } catch (error) {\n throw Error('Tag tree could not be parsed: ' + error.message);\n }\n }\n\n private tagVal: number;\n private previousVal: TagTreeTrunk;\n constructor(tag: number, previous: TagTreeTrunk) {\n super();\n this.tagVal = tag;\n this.previousVal = previous;\n }\n\n public tag(): number {\n return this.tagVal;\n }\n\n public previous(): TagTreeTrunk {\n return this.previousVal;\n }\n\n public isEmpty(): boolean {\n return this === (emptyTagTree as TagTree);\n }\n\n public isEqualTo(that: TagTree): boolean {\n if (this.isEmpty() && that.isEmpty()) {\n return true;\n }\n if (this instanceof TagTreeTag && that instanceof TagTreeTag) {\n return this.tag() === that.tag() && this.previous().isEqualTo(that.previous());\n }\n if (this instanceof TagTreeItem && that instanceof TagTreeItem) {\n return this.tag() === that.tag() && this.item === that.item && this.previous().isEqualTo(that.previous());\n }\n if (this instanceof TagTreeAnyItem && that instanceof TagTreeAnyItem) {\n return this.tag() === that.tag() && this.previous().isEqualTo(that.previous());\n }\n return false;\n }\n\n public isPath(): boolean {\n if (this.isEmpty()) {\n return true;\n }\n if (this instanceof TagTreeAnyItem) {\n return false;\n }\n return this.previous().isPath();\n }\n\n public hasPath(tagPath: TagPath): boolean {\n if (this.isEmpty() && tagPath.isEmpty()) {\n return true;\n }\n if (this instanceof TagTreeTag && tagPath instanceof TagPathTag) {\n return this.tag() === tagPath.tag() && this.previous().hasPath(tagPath.previous());\n }\n if (this instanceof TagTreeItem && 'item' in tagPath) {\n return (\n this.item === (tagPath as ItemPath).item &&\n this.tag() === (tagPath as ItemPath).tag() &&\n this.previous().hasPath((tagPath as ItemPath).previous())\n );\n }\n if (this instanceof TagTreeAnyItem && 'item' in tagPath) {\n return (\n this.tag() === (tagPath as ItemPath).tag() && this.previous().hasPath((tagPath as ItemPath).previous())\n );\n }\n if (this instanceof TagTreeAnyItem && tagPath instanceof TagPathSequence) {\n return this.tag() === tagPath.tag() && this.previous().hasPath(tagPath.previous());\n }\n if (this instanceof TagTreeAnyItem && tagPath instanceof TagPathSequenceEnd) {\n return this.tag() === tagPath.tag() && this.previous().hasPath(tagPath.previous());\n }\n return false;\n }\n\n public hasTrunk(tagPath: TagPath): boolean {\n if (this.depth() >= tagPath.depth()) {\n const thisList = this.toList();\n const thatList = tagPath.toList();\n\n for (let i = 0; i < Math.min(thisList.length, thatList.length); i++) {\n const t = thisList[i];\n const p = thatList[i];\n\n let check = false;\n if (p.isEmpty()) {\n check = true;\n } else if (t instanceof TagTreeItem && 'item' in p) {\n check = t.tag() === (p as ItemPath).tag() && t.item === (p as ItemPath).item;\n } else if (t instanceof TagTreeItem && p instanceof TagPathSequence) {\n check = t.tag() === p.tag();\n } else if (t instanceof TagTreeItem && p instanceof TagPathSequenceEnd) {\n check = t.tag() === p.tag();\n } else if (t instanceof TagTreeAnyItem && (p as ItemPath).item !== undefined) {\n check = t.tag() === p.tag();\n } else if (t instanceof TagTreeAnyItem && p instanceof TagPathSequence) {\n check = t.tag() === p.tag();\n } else if (t instanceof TagTreeAnyItem && p instanceof TagPathSequenceEnd) {\n check = t.tag() === p.tag();\n } else if (t instanceof TagTreeTag && p instanceof TagPathTag) {\n check = t.tag() === p.tag();\n }\n if (!check) {\n return false;\n }\n }\n return true;\n } else {\n return false;\n }\n }\n\n public isTrunkOf(tagPath: TagPath): boolean {\n if (this.depth() <= tagPath.depth()) {\n const thisList = this.toList();\n const thatList = tagPath.toList();\n\n for (let i = 0; i < Math.min(thisList.length, thatList.length); i++) {\n const t = thisList[i];\n const p = thatList[i];\n\n let check = false;\n if (p.isEmpty()) {\n check = true;\n } else if (t instanceof TagTreeItem && 'item' in p) {\n check = t.tag() === (p as ItemPath).tag() && t.item === (p as ItemPath).item;\n } else if (t instanceof TagTreeAnyItem && 'item' in p) {\n check = t.tag() === (p as ItemPath).tag();\n } else if (t instanceof TagTreeAnyItem && p instanceof TagPathSequence) {\n check = t.tag() === p.tag();\n } else if (t instanceof TagTreeAnyItem && p instanceof TagPathSequenceEnd) {\n check = t.tag() === p.tag();\n } else if (t instanceof TagTreeTag && p instanceof TagPathTag) {\n check = t.tag() === p.tag();\n }\n if (!check) {\n return false;\n }\n }\n return true;\n } else {\n return false;\n }\n }\n\n public hasTwig(tagPath: TagPath): boolean {\n let check = false;\n if (this.isEmpty() && tagPath.isEmpty()) {\n check = true;\n } else if (this instanceof TagTreeAnyItem && 'item' in tagPath) {\n check = this.tag() === (tagPath as ItemPath).tag();\n } else if (this instanceof TagTreeAnyItem && tagPath instanceof TagPathSequence) {\n check = this.tag() === tagPath.tag();\n } else if (this instanceof TagTreeAnyItem && tagPath instanceof TagPathSequenceEnd) {\n check = this.tag() === tagPath.tag();\n } else if (this instanceof TagTreeItem && 'item' in tagPath) {\n check = this.tag() === (tagPath as ItemPath).tag() && this.item === (tagPath as ItemPath).item;\n } else if (this instanceof TagTreeTag && tagPath instanceof TagPathTag) {\n check = this.tag() === tagPath.tag();\n }\n\n if (tagPath.previous().isEmpty()) {\n return check;\n } else if (this.previous().isEmpty()) {\n return false;\n }\n return check && this.previous().hasTwig(tagPath.previous());\n }\n\n public drop(n: number): TagTree {\n const dropRec = (tree: TagTree, i: number): TagTree => {\n if (i < 0) {\n return emptyTagTree;\n }\n if (i === 0) {\n if (tree.isEmpty()) {\n return emptyTagTree;\n }\n if (tree instanceof TagTreeItem) {\n return TagTree.fromItem(tree.tag(), tree.item);\n }\n if (tree instanceof TagTreeAnyItem) {\n return TagTree.fromAnyItem(tree.tag());\n }\n return TagTree.fromTag(tree.tag());\n }\n const t = dropRec(tree.previous(), i - 1);\n if (tree instanceof TagTreeItem) {\n return (t as TagTreeTrunk).thenItem(tree.tag(), tree.item);\n }\n if (tree instanceof TagTreeAnyItem) {\n return (t as TagTreeTrunk).thenAnyItem(tree.tag());\n }\n if (tree instanceof TagTreeTag) {\n return (t as TagTreeTrunk).thenTag(tree.tag());\n }\n return emptyTagTree;\n };\n return dropRec(this, this.depth() - n - 1);\n }\n\n public toNamedString(lookup: boolean): string {\n const toTagString = (tag: number): string => {\n if (lookup) {\n const keyword = Lookup.keywordOf(tag);\n if (keyword) {\n return keyword;\n }\n }\n return tagToString(tag);\n };\n const toTagTreeString = (tree: TagTree, tail: string): string => {\n const itemIndexSuffix =\n tree instanceof TagTreeAnyItem ? '[*]' : 'item' in tree ? '[' + (tree as unknown as ItemPath).item + ']' : '';\n const head = toTagString(tree.tag()) + itemIndexSuffix;\n const part = head + tail;\n return tree.isRoot() ? part : toTagTreeString(tree.previous(), '.' + part);\n };\n return this.isEmpty() ? '<empty tree>' : toTagTreeString(this, '');\n }\n}\n\nexport class TagTreeTrunk extends TagTree {\n public thenTag(tag: number): TagTreeTag {\n return new TagTreeTag(tag, this);\n }\n public thenAnyItem(tag: number): TagTreeAnyItem {\n return new TagTreeAnyItem(tag, this);\n }\n public thenItem(tag: number, item: number): TagTreeItem {\n return new TagTreeItem(tag, item, this);\n }\n}\n\nclass EmptyTagTree extends TagTreeTrunk {\n public tag(): number {\n throw Error('Empty tag tree');\n }\n public previous(): TagTreeTrunk {\n return emptyTagTree;\n }\n}\nexport const emptyTagTree = new EmptyTagTree(-1, null);\n\nexport class TagTreeTag extends TagTree {\n constructor(tag: number, previous: TagTreeTrunk) {\n super(tag, previous);\n }\n}\n\nexport class TagTreeAnyItem extends TagTreeTrunk {\n constructor(tag: number, previous: TagTreeTrunk) {\n super(tag, previous);\n }\n}\n\nexport class TagTreeItem extends TagTreeTrunk {\n constructor(tag: number, public readonly item: number, previous: TagTreeTrunk) {\n super(tag, previous);\n }\n}\n","export const Tag: { [key: string]: number } = {\n // command elements\n CommandGroupLength: 0x00000000,\n AffectedSOPClassUID: 0x00000002,\n RequestedSOPClassUID: 0x00000003,\n CommandField: 0x00000100,\n MessageID: 0x00000110,\n MessageIDBeingRespondedTo: 0x00000120,\n MoveDestination: 0x00000600,\n Priority: 0x00000700,\n CommandDataSetType: 0x00000800,\n Status: 0x00000900,\n OffendingElement: 0x00000901,\n ErrorComment: 0x00000902,\n ErrorID: 0x00000903,\n AffectedSOPInstanceUID: 0x00001000,\n RequestedSOPInstanceUID: 0x00001001,\n EventTypeID: 0x00001002,\n AttributeIdentifierList: 0x00001005,\n ActionTypeID: 0x00001008,\n NumberOfRemainingSuboperations: 0x00001020,\n NumberOfCompletedSuboperations: 0x00001021,\n NumberOfFailedSuboperations: 0x00001022,\n NumberOfWarningSuboperations: 0x00001023,\n MoveOriginatorApplicationEntityTitle: 0x00001030,\n MoveOriginatorMessageID: 0x00001031,\n\n // file meta elements\n FileMetaInformationGroupLength: 0x00020000,\n FileMetaInformationVersion: 0x00020001,\n MediaStorageSOPClassUID: 0x00020002,\n MediaStorageSOPInstanceUID: 0x00020003,\n TransferSyntaxUID: 0x00020010,\n ImplementationClassUID: 0x00020012,\n ImplementationVersionName: 0x00020013,\n SourceApplicationEntityTitle: 0x00020016,\n SendingApplicationEntityTitle: 0x00020017,\n ReceivingApplicationEntityTitle: 0x00020018,\n PrivateInformationCreatorUID: 0x00020100,\n PrivateInformation: 0x00020102,\n\n // directory elements\n FileSetID: 0x00041130,\n FileSetDescriptorFileID: 0x00041141,\n SpecificCharacterSetOfFileSetDescriptorFile: 0x00041142,\n OffsetOfTheFirstDirectoryRecordOfTheRootDirectoryEntity: 0x00041200,\n OffsetOfTheLastDirectoryRecordOfTheRootDirectoryEntity: 0x00041202,\n FileSetConsistencyFlag: 0x00041212,\n DirectoryRecordSequence: 0x00041220,\n OffsetOfTheNextDirectoryRecord: 0x00041400,\n RecordInUseFlag: 0x00041410,\n OffsetOfReferencedLowerLevelDirectoryEntity: 0x00041420,\n DirectoryRecordType: 0x00041430,\n PrivateRecordUID: 0x00041432,\n ReferencedFileID: 0x00041500,\n MRDRDirectoryRecordOffset: 0x00041504, // retired\n ReferencedSOPClassUIDInFile: 0x00041510,\n ReferencedSOPInstanceUIDInFile: 0x00041511,\n ReferencedTransferSyntaxUIDInFile: 0x00041512,\n ReferencedRelatedGeneralSOPClassUIDInFile: 0x0004151a,\n NumberOfReferences: 0x00041600, // retired\n\n // data elements\n LengthToEnd: 0x00080001, // retired\n SpecificCharacterSet: 0x00080005,\n LanguageCodeSequence: 0x00080006,\n ImageType: 0x00080008,\n RecognitionCode: 0x00080010, // retired\n InstanceCreationDate: 0x00080012,\n InstanceCreationTime: 0x00080013,\n InstanceCreatorUID: 0x00080014,\n InstanceCoercionDateTime: 0x00080015,\n SOPClassUID: 0x00080016,\n SOPInstanceUID: 0x00080018,\n RelatedGeneralSOPClassUID: 0x0008001a,\n OriginalSpecializedSOPClassUID: 0x0008001b,\n StudyDate: 0x00080020,\n SeriesDate: 0x00080021,\n AcquisitionDate: 0x00080022,\n ContentDate: 0x00080023,\n OverlayDate: 0x00080024, // retired\n CurveDate: 0x00080025, // retired\n AcquisitionDateTime: 0x0008002a,\n StudyTime: 0x00080030,\n SeriesTime: 0x00080031,\n AcquisitionTime: 0x00080032,\n ContentTime: 0x00080033,\n OverlayTime: 0x00080034, // retired\n CurveTime: 0x00080035, // retired\n DataSetType: 0x00080040, // retired\n DataSetSubtype: 0x00080041, // retired\n NuclearMedicineSeriesType: 0x00080042, // retired\n AccessionNumber: 0x00080050,\n IssuerOfAccessionNumberSequence: 0x00080051,\n QueryRetrieveLevel: 0x00080052,\n QueryRetrieveView: 0x00080053,\n RetrieveAETitle: 0x00080054,\n StationAETitle: 0x00080055,\n InstanceAvailability: 0x00080056,\n FailedSOPInstanceUIDList: 0x00080058,\n Modality: 0x00080060,\n ModalitiesInStudy: 0x00080061,\n SOPClassesInStudy: 0x00080062,\n AnatomicRegionsInStudyCodeSequence: 0x00080063,\n ConversionType: 0x00080064,\n PresentationIntentType: 0x00080068,\n Manufacturer: 0x00080070,\n InstitutionName: 0x00080080,\n InstitutionAddress: 0x00080081,\n InstitutionCodeSequence: 0x00080082,\n ReferringPhysicianName: 0x00080090,\n ReferringPhysicianAddress: 0x00080092,\n ReferringPhysicianTelephoneNumbers: 0x00080094,\n ReferringPhysicianIdentificationSequence: 0x00080096,\n ConsultingPhysicianName: 0x0008009c,\n ConsultingPhysicianIdentificationSequence: 0x0008009d,\n CodeValue: 0x00080100,\n ExtendedCodeValue: 0x00080101,\n CodingSchemeDesignator: 0x00080102,\n CodingSchemeVersion: 0x00080103,\n CodeMeaning: 0x00080104,\n MappingResource: 0x00080105,\n ContextGroupVersion: 0x00080106,\n ContextGroupLocalVersion: 0x00080107,\n ExtendedCodeMeaning: 0x00080108,\n CodingSchemeResourcesSequence: 0x00080109,\n CodingSchemeURLType: 0x0008010a,\n ContextGroupExtensionFlag: 0x0008010b,\n CodingSchemeUID: 0x0008010c,\n ContextGroupExtensionCreatorUID: 0x0008010d,\n CodingSchemeURL: 0x0008010e,\n ContextIdentifier: 0x0008010f,\n CodingSchemeIdentificationSequence: 0x00080110,\n CodingSchemeRegistry: 0x00080112,\n CodingSchemeExternalID: 0x00080114,\n CodingSchemeName: 0x00080115,\n CodingSchemeResponsibleOrganization: 0x00080116,\n ContextUID: 0x00080117,\n MappingResourceUID: 0x00080118,\n LongCodeValue: 0x00080119,\n URNCodeValue: 0x00080120,\n EquivalentCodeSequence: 0x00080121,\n MappingResourceName: 0x00080122,\n ContextGroupIdentificationSequence: 0x00080123,\n MappingResourceIdentificationSequence: 0x00080124,\n TimezoneOffsetFromUTC: 0x00080201,\n ResponsibleGroupCodeSequence: 0x00080220,\n EquipmentModality: 0x00080221,\n ManufacturerRelatedModelGroup: 0x00080222,\n PrivateDataElementCharacteristicsSequence: 0x00080300,\n PrivateGroupReference: 0x00080301,\n PrivateCreatorReference: 0x00080302,\n BlockIdentifyingInformationStatus: 0x00080303,\n NonidentifyingPrivateElements: 0x00080304,\n IdentifyingPrivateElements: 0x00080306,\n DeidentificationActionSequence: 0x00080305,\n DeidentificationAction: 0x00080307,\n PrivateDataElement: 0x00080308,\n PrivateDataElementValueMultiplicity: 0x00080309,\n PrivateDataElementValueRepresentation: 0x0008030a,\n PrivateDataElementNumberOfItems: 0x0008030b,\n PrivateDataElementName: 0x0008030c,\n PrivateDataElementKeyword: 0x0008030d,\n PrivateDataElementDescription: 0x0008030e,\n PrivateDataElementEncoding: 0x0008030f,\n PrivateDataElementDefinitionSequence: 0x00080310,\n NetworkID: 0x00081000, // retired\n StationName: 0x00081010,\n StudyDescription: 0x00081030,\n ProcedureCodeSequence: 0x00081032,\n SeriesDescription: 0x0008103e,\n SeriesDescriptionCodeSequence: 0x0008103f,\n InstitutionalDepartmentName: 0x00081040,\n PhysiciansOfRecord: 0x00081048,\n PhysiciansOfRecordIdentificationSequence: 0x00081049,\n PerformingPhysicianName: 0x00081050,\n PerformingPhysicianIdentificationSequence: 0x00081052,\n NameOfPhysiciansReadingStudy: 0x00081060,\n PhysiciansReadingStudyIdentificationSequence: 0x00081062,\n OperatorsName: 0x00081070,\n OperatorIdentificationSequence: 0x00081072,\n AdmittingDiagnosesDescription: 0x00081080,\n AdmittingDiagnosesCodeSequence: 0x00081084,\n ManufacturerModelName: 0x00081090,\n ReferencedResultsSequence: 0x00081100, // retired\n ReferencedStudySequence: 0x00081110,\n ReferencedPerformedProcedureStepSequence: 0x00081111,\n ReferencedSeriesSequence: 0x00081115,\n ReferencedPatientSequence: 0x00081120,\n ReferencedVisitSequence: 0x00081125,\n ReferencedOverlaySequence: 0x00081130, // retired\n ReferencedStereometricInstanceSequence: 0x00081134,\n ReferencedWaveformSequence: 0x0008113a,\n ReferencedImageSequence: 0x00081140,\n ReferencedCurveSequence: 0x00081145, // retired\n ReferencedInstanceSequence: 0x0008114a,\n ReferencedRealWorldValueMappingInstanceSequence: 0x0008114b,\n ReferencedSOPClassUID: 0x00081150,\n ReferencedSOPInstanceUID: 0x00081155,\n DefinitionSourceSequence: 0x00081156,\n SOPClassesSupported: 0x0008115a,\n ReferencedFrameNumber: 0x00081160,\n SimpleFrameList: 0x00081161,\n CalculatedFrameList: 0x00081162,\n TimeRange: 0x00081163,\n FrameExtractionSequence: 0x00081164,\n MultiFrameSourceSOPInstanceUID: 0x00081167,\n RetrieveURL: 0x00081190,\n TransactionUID: 0x00081195,\n WarningReason: 0x00081196,\n FailureReason: 0x00081197,\n FailedSOPSequence: 0x00081198,\n ReferencedSOPSequence: 0x00081199,\n OtherFailuresSequence: 0x0008119a,\n StudiesContainingOtherReferencedInstancesSequence: 0x00081200,\n RelatedSeriesSequence: 0x00081250,\n LossyImageCompressionRetired: 0x00082110, // retired\n DerivationDescription: 0x00082111,\n SourceImageSequence: 0x00082112,\n StageName: 0x00082120,\n StageNumber: 0x00082122,\n NumberOfStages: 0x00082124,\n ViewName: 0x00082127,\n ViewNumber: 0x00082128,\n NumberOfEventTimers: 0x00082129,\n NumberOfViewsInStage: 0x0008212a,\n EventElapsedTimes: 0x00082130,\n EventTimerNames: 0x00082132,\n EventTimerSequence: 0x00082133,\n EventTimeOffset: 0x00082134,\n EventCodeSequence: 0x00082135,\n StartTrim: 0x00082142,\n StopTrim: 0x00082143,\n RecommendedDisplayFrameRate: 0x00082144,\n TransducerPosition: 0x00082200, // retired\n TransducerOrientation: 0x00082204, // retired\n AnatomicStructure: 0x00082208, // retired\n AnatomicRegionSequence: 0x00082218,\n AnatomicRegionModifierSequence: 0x00082220,\n PrimaryAnatomicStructureSequence: 0x00082228,\n AnatomicStructureSpaceOrRegionSequence: 0x00082229, // retired\n PrimaryAnatomicStructureModifierSequence: 0x00082230,\n TransducerPositionSequence: 0x00082240, // retired\n TransducerPositionModifierSequence: 0x00082242, // retired\n TransducerOrientationSequence: 0x00082244, // retired\n TransducerOrientationModifierSequence: 0x00082246, // retired\n AnatomicStructureSpaceOrRegionCodeSequenceTrial: 0x00082251, // retired\n AnatomicPortalOfEntranceCodeSequenceTrial: 0x00082253, // retired\n AnatomicApproachDirectionCodeSequenceTrial: 0x00082255, // retired\n AnatomicPerspectiveDescriptionTrial: 0x00082256, // retired\n AnatomicPerspectiveCodeSequenceTrial: 0x00082257, // retired\n AnatomicLocationOfExaminingInstrumentDescriptionTrial: 0x00082258, // retired\n AnatomicLocationOfExaminingInstrumentCodeSequenceTrial: 0x00082259, // retired\n AnatomicStructureSpaceOrRegionModifierCodeSequenceTrial: 0x0008225a, // retired\n OnAxisBackgroundAnatomicStructureCodeSequenceTrial: 0x0008225c, // retired\n AlternateRepresentationSequence: 0x00083001,\n IrradiationEventUID: 0x00083010,\n SourceIrradiationEventSequence: 0x00083011,\n RadiopharmaceuticalAdministrationEventUID: 0x00083012,\n IdentifyingComments: 0x00084000, // retired\n FrameType: 0x00089007,\n ReferencedImageEvidenceSequence: 0x00089092,\n ReferencedRawDataSequence: 0x00089121,\n CreatorVersionUID: 0x00089123,\n DerivationImageSequence: 0x00089124,\n SourceImageEvidenceSequence: 0x00089154,\n PixelPresentation: 0x00089205,\n VolumetricProperties: 0x00089206,\n VolumeBasedCalculationTechnique: 0x00089207,\n ComplexImageComponent: 0x00089208,\n AcquisitionContrast: 0x00089209,\n DerivationCodeSequence: 0x00089215,\n ReferencedPresentationStateSequence: 0x00089237,\n ReferencedOtherPlaneSequence: 0x00089410,\n FrameDisplaySequence: 0x00089458,\n RecommendedDisplayFrameRateInFloat: 0x00089459,\n SkipFrameRangeFlag: 0x00089460,\n PatientName: 0x00100010,\n PatientID: 0x00100020,\n IssuerOfPatientID: 0x00100021,\n TypeOfPatientID: 0x00100022,\n IssuerOfPatientIDQualifiersSequence: 0x00100024,\n SourcePatientGroupIdentificationSequence: 0x00100026,\n GroupOfPatientsIdentificationSequence: 0x00100027,\n SubjectRelativePositionInImage: 0x00100028,\n PatientBirthDate: 0x00100030,\n PatientBirthTime: 0x00100032,\n PatientBirthDateInAlternativeCalendar: 0x00100033,\n PatientDeathDateInAlternativeCalendar: 0x00100034,\n PatientAlternativeCalendar: 0x00100035,\n PatientSex: 0x00100040,\n PatientInsurancePlanCodeSequence: 0x00100050,\n PatientPrimaryLanguageCodeSequence: 0x00100101,\n PatientPrimaryLanguageModifierCodeSequence: 0x00100102,\n QualityControlSubject: 0x00100200,\n QualityControlSubjectTypeCodeSequence: 0x00100201,\n StrainDescription: 0x00100212,\n StrainNomenclature: 0x00100213,\n StrainStockNumber: 0x00100214,\n StrainSourceRegistryCodeSequence: 0x00100215,\n StrainStockSequence: 0x00100216,\n StrainSource: 0x00100217,\n StrainAdditionalInformation: 0x00100218,\n StrainCodeSequence: 0x00100219,\n GeneticModificationsSequence: 0x00100221,\n GeneticModificationsDescription: 0x00100222,\n GeneticModificationsNomenclature: 0x00100223,\n GeneticModificationsCodeSequence: 0x00100229,\n OtherPatientIDs: 0x00101000, // retired\n OtherPatientNames: 0x00101001,\n OtherPatientIDsSequence: 0x00101002,\n PatientBirthName: 0x00101005,\n PatientAge: 0x00101010,\n PatientSize: 0x00101020,\n PatientSizeCodeSequence: 0x00101021,\n PatientBodyMassIndex: 0x00101022,\n MeasuredAPDimension: 0x00101023,\n MeasuredLateralDimension: 0x00101024,\n PatientWeight: 0x00101030,\n PatientAddress: 0x00101040,\n InsurancePlanIdentification: 0x00101050, // retired\n PatientMotherBirthName: 0x00101060,\n MilitaryRank: 0x00101080,\n BranchOfService: 0x00101081,\n MedicalRecordLocator: 0x00101090, // retired\n ReferencedPatientPhotoSequence: 0x00101100,\n MedicalAlerts: 0x00102000,\n Allergies: 0x00102110,\n CountryOfResidence: 0x00102150,\n RegionOfResidence: 0x00102152,\n PatientTelephoneNumbers: 0x00102154,\n PatientTelecomInformation: 0x00102155,\n EthnicGroup: 0x00102160,\n Occupation: 0x00102180,\n SmokingStatus: 0x001021a0,\n AdditionalPatientHistory: 0x001021b0,\n PregnancyStatus: 0x001021c0,\n LastMenstrualDate: 0x001021d0,\n PatientReligiousPreference: 0x001021f0,\n PatientSpeciesDescription: 0x00102201,\n PatientSpeciesCodeSequence: 0x00102202,\n PatientSexNeutered: 0x00102203,\n AnatomicalOrientationType: 0x00102210,\n PatientBreedDescription: 0x00102292,\n PatientBreedCodeSequence: 0x00102293,\n BreedRegistrationSequence: 0x00102294,\n BreedRegistrationNumber: 0x00102295,\n BreedRegistryCodeSequence: 0x00102296,\n ResponsiblePerson: 0x00102297,\n ResponsiblePersonRole: 0x00102298,\n ResponsibleOrganization: 0x00102299,\n PatientComments: 0x00104000,\n ExaminedBodyThickness: 0x00109431,\n ClinicalTrialSponsorName: 0x00120010,\n ClinicalTrialProtocolID: 0x00120020,\n ClinicalTrialProtocolName: 0x00120021,\n ClinicalTrialSiteID: 0x00120030,\n ClinicalTrialSiteName: 0x00120031,\n ClinicalTrialSubjectID: 0x00120040,\n ClinicalTrialSubjectReadingID: 0x00120042,\n ClinicalTrialTimePointID: 0x00120050,\n ClinicalTrialTimePointDescription: 0x00120051,\n LongitudinalTemporalOffsetFromEvent: 0x00120052,\n LongitudinalTemporalEventType: 0x00120053,\n ClinicalTrialCoordinatingCenterName: 0x00120060,\n PatientIdentityRemoved: 0x00120062,\n DeidentificationMethod: 0x00120063,\n DeidentificationMethodCodeSequence: 0x00120064,\n ClinicalTrialSeriesID: 0x00120071,\n ClinicalTrialSeriesDescription: 0x00120072,\n ClinicalTrialProtocolEthicsCommitteeName: 0x00120081,\n ClinicalTrialProtocolEthicsCommitteeApprovalNumber: 0x00120082,\n ConsentForClinicalTrialUseSequence: 0x00120083,\n DistributionType: 0x00120084,\n ConsentForDistributionFlag: 0x00120085,\n EthicsCommitteeApprovalEffectivenessStartDate: 0x00120086,\n EthicsCommitteeApprovalEffectivenessEndDate: 0x00120087,\n CADFileFormat: 0x00140023, // retired\n ComponentReferenceSystem: 0x00140024, // retired\n ComponentManufacturingProcedure: 0x00140025,\n ComponentManufacturer: 0x00140028,\n MaterialThickness: 0x00140030,\n MaterialPipeDiameter: 0x00140032,\n MaterialIsolationDiameter: 0x00140034,\n MaterialGrade: 0x00140042,\n MaterialPropertiesDescription: 0x00140044,\n MaterialPropertiesFileFormatRetired: 0x00140045, // retired\n MaterialNotes: 0x00140046,\n ComponentShape: 0x00140050,\n CurvatureType: 0x00140052,\n OuterDiameter: 0x00140054,\n InnerDiameter: 0x00140056,\n ComponentWelderIDs: 0x00140100,\n SecondaryApprovalStatus: 0x00140101,\n SecondaryReviewDate: 0x00140102,\n SecondaryReviewTime: 0x00140103,\n SecondaryReviewerName: 0x00140104,\n RepairID: 0x00140105,\n MultipleComponentApprovalSequence: 0x00140106,\n OtherApprovalStatus: 0x00140107,\n OtherSecondaryApprovalStatus: 0x00140108,\n ActualEnvironmentalConditions: 0x00141010,\n ExpiryDate: 0x00141020,\n EnvironmentalConditions: 0x00141040,\n EvaluatorSequence: 0x00142002,\n EvaluatorNumber: 0x00142004,\n EvaluatorName: 0x00142006,\n EvaluationAttempt: 0x00142008,\n IndicationSequence: 0x00142012,\n IndicationNumber: 0x00142014,\n IndicationLabel: 0x00142016,\n IndicationDescription: 0x00142018,\n IndicationType: 0x0014201a,\n IndicationDisposition: 0x0014201c,\n IndicationROISequence: 0x0014201e,\n IndicationPhysicalPropertySequence: 0x00142030,\n PropertyLabel: 0x00142032,\n CoordinateSystemNumberOfAxes: 0x00142202,\n CoordinateSystemAxesSequence: 0x00142204,\n CoordinateSystemAxisDescription: 0x00142206,\n CoordinateSystemDataSetMapping: 0x00142208,\n CoordinateSystemAxisNumber: 0x0014220a,\n CoordinateSystemAxisType: 0x0014220c,\n CoordinateSystemAxisUnits: 0x0014220e,\n CoordinateSystemAxisValues: 0x00142210,\n CoordinateSystemTransformSequence: 0x00142220,\n TransformDescription: 0x00142222,\n TransformNumberOfAxes: 0x00142224,\n TransformOrderOfAxes: 0x00142226,\n TransformedAxisUnits: 0x00142228,\n CoordinateSystemTransformRotationAndScaleMatrix: 0x0014222a,\n CoordinateSystemTransformTranslationMatrix: 0x0014222c,\n InternalDetectorFrameTime: 0x00143011,\n NumberOfFramesIntegrated: 0x00143012,\n DetectorTemperatureSequence: 0x00143020,\n SensorName: 0x00143022,\n HorizontalOffsetOfSensor: 0x00143024,\n VerticalOffsetOfSensor: 0x00143026,\n SensorTemperature: 0x00143028,\n DarkCurrentSequence: 0x00143040,\n DarkCurrentCounts: 0x00143050,\n GainCorrectionReferenceSequence: 0x00143060,\n AirCounts: 0x00143070,\n KVUsedInGainCalibration: 0x00143071,\n MAUsedInGainCalibration: 0x00143072,\n NumberOfFramesUsedForIntegration: 0x00143073,\n FilterMaterialUsedInGainCalibration: 0x00143074,\n FilterThicknessUsedInGainCalibration: 0x00143075,\n DateOfGainCalibration: 0x00143076,\n TimeOfGainCalibration: 0x00143077,\n BadPixelImage: 0x00143080,\n CalibrationNotes: 0x00143099,\n PulserEquipmentSequence: 0x00144002,\n PulserType: 0x00144004,\n PulserNotes: 0x00144006,\n ReceiverEquipmentSequence: 0x00144008,\n AmplifierType: 0x0014400a,\n ReceiverNotes: 0x0014400c,\n PreAmplifierEquipmentSequence: 0x0014400e,\n PreAmplifierNotes: 0x0014400f,\n TransmitTransducerSequence: 0x00144010,\n ReceiveTransducerSequence: 0x00144011,\n NumberOfElements: 0x00144012,\n ElementShape: 0x00144013,\n ElementDimensionA: 0x00144014,\n ElementDimensionB: 0x00144015,\n ElementPitchA: 0x00144016,\n MeasuredBeamDimensionA: 0x00144017,\n MeasuredBeamDimensionB: 0x00144018,\n LocationOfMeasuredBeamDiameter: 0x00144019,\n NominalFrequency: 0x0014401a,\n MeasuredCenterFrequency: 0x0014401b,\n MeasuredBandwidth: 0x0014401c,\n ElementPitchB: 0x0014401d,\n PulserSettingsSequence: 0x00144020,\n PulseWidth: 0x00144022,\n ExcitationFrequency: 0x00144024,\n ModulationType: 0x00144026,\n Damping: 0x00144028,\n ReceiverSettingsSequence: 0x00144030,\n AcquiredSoundpathLength: 0x00144031,\n AcquisitionCompressionType: 0x00144032,\n AcquisitionSampleSize: 0x00144033,\n RectifierSmoothing: 0x00144034,\n DACSequence: 0x00144035,\n DACType: 0x00144036,\n DACGainPoints: 0x00144038,\n DACTimePoints: 0x0014403a,\n DACAmplitude: 0x0014403c,\n PreAmplifierSettingsSequence: 0x00144040,\n TransmitTransducerSettingsSequence: 0x00144050,\n ReceiveTransducerSettingsSequence: 0x00144051,\n IncidentAngle: 0x00144052,\n CouplingTechnique: 0x00144054,\n CouplingMedium: 0x00144056,\n CouplingVelocity: 0x00144057,\n ProbeCenterLocationX: 0x00144058,\n ProbeCenterLocationZ: 0x00144059,\n SoundPathLength: 0x0014405a,\n DelayLawIdentifier: 0x0014405c,\n GateSettingsSequence: 0x00144060,\n GateThreshold: 0x00144062,\n VelocityOfSound: 0x00144064,\n CalibrationSettingsSequence: 0x00144070,\n CalibrationProcedure: 0x00144072,\n ProcedureVersion: 0x00144074,\n ProcedureCreationDate: 0x00144076,\n ProcedureExpirationDate: 0x00144078,\n ProcedureLastModifiedDate: 0x0014407a,\n CalibrationTime: 0x0014407c,\n CalibrationDate: 0x0014407e,\n ProbeDriveEquipmentSequence: 0x00144080,\n DriveType: 0x00144081,\n ProbeDriveNotes: 0x00144082,\n DriveProbeSequence: 0x00144083,\n ProbeInductance: 0x00144084,\n ProbeResistance: 0x00144085,\n ReceiveProbeSequence: 0x00144086,\n ProbeDriveSettingsSequence: 0x00144087,\n BridgeResistors: 0x00144088,\n ProbeOrientationAngle: 0x00144089,\n UserSelectedGainY: 0x0014408b,\n UserSelectedPhase: 0x0014408c,\n UserSelectedOffsetX: 0x0014408d,\n UserSelectedOffsetY: 0x0014408e,\n ChannelSettingsSequence: 0x00144091,\n ChannelThreshold: 0x00144092,\n ScannerSettingsSequence: 0x0014409a,\n ScanProcedure: 0x0014409b,\n TranslationRateX: 0x0014409c,\n TranslationRateY: 0x0014409d,\n ChannelOverlap: 0x0014409f,\n ImageQualityIndicatorType: 0x001440a0,\n ImageQualityIndicatorMaterial: 0x001440a1,\n ImageQualityIndicatorSize: 0x001440a2,\n LINACEnergy: 0x00145002,\n LINACOutput: 0x00145004,\n ActiveAperture: 0x00145100,\n TotalAperture: 0x00145101,\n ApertureElevation: 0x00145102,\n MainLobeAngle: 0x00145103,\n MainRoofAngle: 0x00145104,\n ConnectorType: 0x00145105,\n WedgeModelNumber: 0x00145106,\n WedgeAngleFloat: 0x00145107,\n WedgeRoofAngle: 0x00145108,\n WedgeElement1Position: 0x00145109,\n WedgeMaterialVelocity: 0x0014510a,\n WedgeMaterial: 0x0014510b,\n WedgeOffsetZ: 0x0014510c,\n WedgeOriginOffsetX: 0x0014510d,\n WedgeTimeDelay: 0x0014510e,\n WedgeName: 0x0014510f,\n WedgeManufacturerName: 0x00145110,\n WedgeDescription: 0x00145111,\n NominalBeamAngle: 0x00145112,\n WedgeOffsetX: 0x00145113,\n WedgeOffsetY: 0x00145114,\n WedgeTotalLength: 0x00145115,\n WedgeInContactLength: 0x00145116,\n WedgeFrontGap: 0x00145117,\n WedgeTotalHeight: 0x00145118,\n WedgeFrontHeight: 0x00145119,\n WedgeRearHeight: 0x0014511a,\n WedgeTotalWidth: 0x0014511b,\n WedgeInContactWidth: 0x0014511c,\n WedgeChamferHeight: 0x0014511d,\n WedgeCurve: 0x0014511e,\n RadiusAlongWedge: 0x0014511f,\n ContrastBolusAgent: 0x00180010,\n ContrastBolusAgentSequence: 0x00180012,\n ContrastBolusT1Relaxivity: 0x00180013,\n ContrastBolusAdministrationRouteSequence: 0x00180014,\n BodyPartExamined: 0x00180015,\n ScanningSequence: 0x00180020,\n SequenceVariant: 0x00180021,\n ScanOptions: 0x00180022,\n MRAcquisitionType: 0x00180023,\n SequenceName: 0x00180024,\n AngioFlag: 0x00180025,\n InterventionDrugInformationSequence: 0x00180026,\n InterventionDrugStopTime: 0x00180027,\n InterventionDrugDose: 0x00180028,\n InterventionDrugCodeSequence: 0x00180029,\n AdditionalDrugSequence: 0x0018002a,\n Radionuclide: 0x00180030, // retired\n Radiopharmaceutical: 0x00180031,\n EnergyWindowCenterline: 0x00180032, // retired\n EnergyWindowTotalWidth: 0x00180033, // retired\n InterventionDrugName: 0x00180034,\n InterventionDrugStartTime: 0x00180035,\n InterventionSequence: 0x00180036,\n TherapyType: 0x00180037, // retired\n InterventionStatus: 0x00180038,\n TherapyDescription: 0x00180039, // retired\n InterventionDescription: 0x0018003a,\n CineRate: 0x00180040,\n InitialCineRunState: 0x00180042,\n SliceThickness: 0x00180050,\n KVP: 0x00180060,\n CountsAccumulated: 0x00180070,\n AcquisitionTerminationCondition: 0x00180071,\n EffectiveDuration: 0x00180072,\n AcquisitionStartCondition: 0x00180073,\n AcquisitionStartConditionData: 0x00180074,\n AcquisitionTerminationConditionData: 0x00180075,\n RepetitionTime: 0x00180080,\n EchoTime: 0x00180081,\n InversionTime: 0x00180082,\n NumberOfAverages: 0x00180083,\n ImagingFrequency: 0x00180084,\n ImagedNucleus: 0x00180085,\n EchoNumbers: 0x00180086,\n MagneticFieldStrength: 0x00180087,\n SpacingBetweenSlices: 0x00180088,\n NumberOfPhaseEncodingSteps: 0x00180089,\n DataCollectionDiameter: 0x00180090,\n EchoTrainLength: 0x00180091,\n PercentSampling: 0x00180093,\n PercentPhaseFieldOfView: 0x00180094,\n PixelBandwidth: 0x00180095,\n DeviceSerialNumber: 0x00181000,\n DeviceUID: 0x00181002,\n DeviceID: 0x00181003,\n PlateID: 0x00181004,\n GeneratorID: 0x00181005,\n GridID: 0x00181006,\n CassetteID: 0x00181007,\n GantryID: 0x00181008,\n UniqueDeviceIdentifier: 0x00181009,\n UDISequence: 0x0018100a,\n SecondaryCaptureDeviceID: 0x00181010,\n HardcopyCreationDeviceID: 0x00181011, // retired\n DateOfSecondaryCapture: 0x00181012,\n TimeOfSecondaryCapture: 0x00181014,\n SecondaryCaptureDeviceManufacturer: 0x00181016,\n HardcopyDeviceManufacturer: 0x00181017, // retired\n SecondaryCaptureDeviceManufacturerModelName: 0x00181018,\n SecondaryCaptureDeviceSoftwareVersions: 0x00181019,\n HardcopyDeviceSoftwareVersion: 0x0018101a, // retired\n HardcopyDeviceManufacturerModelName: 0x0018101b, // retired\n SoftwareVersions: 0x00181020,\n VideoImageFormatAcquired: 0x00181022,\n DigitalImageFormatAcquired: 0x00181023,\n ProtocolName: 0x00181030,\n ContrastBolusRoute: 0x00181040,\n ContrastBolusVolume: 0x00181041,\n ContrastBolusStartTime: 0x00181042,\n ContrastBolusStopTime: 0x00181043,\n ContrastBolusTotalDose: 0x00181044,\n SyringeCounts: 0x00181045,\n ContrastFlowRate: 0x00181046,\n ContrastFlowDuration: 0x00181047,\n ContrastBolusIngredient: 0x00181048,\n ContrastBolusIngredientConcentration: 0x00181049,\n SpatialResolution: 0x00181050,\n TriggerTime: 0x00181060,\n TriggerSourceOrType: 0x00181061,\n NominalInterval: 0x00181062,\n FrameTime: 0x00181063,\n CardiacFramingType: 0x00181064,\n FrameTimeVector: 0x00181065,\n FrameDelay: 0x00181066,\n ImageTriggerDelay: 0x00181067,\n MultiplexGroupTimeOffset: 0x00181068,\n TriggerTimeOffset: 0x00181069,\n SynchronizationTrigger: 0x0018106a,\n SynchronizationChannel: 0x0018106c,\n TriggerSamplePosition: 0x0018106e,\n RadiopharmaceuticalRoute: 0x00181070,\n RadiopharmaceuticalVolume: 0x00181071,\n RadiopharmaceuticalStartTime: 0x00181072,\n RadiopharmaceuticalStopTime: 0x00181073,\n RadionuclideTotalDose: 0x00181074,\n RadionuclideHalfLife: 0x00181075,\n RadionuclidePositronFraction: 0x00181076,\n RadiopharmaceuticalSpecificActivity: 0x00181077,\n RadiopharmaceuticalStartDateTime: 0x00181078,\n RadiopharmaceuticalStopDateTime: 0x00181079,\n BeatRejectionFlag: 0x00181080,\n LowRRValue: 0x00181081,\n HighRRValue: 0x00181082,\n IntervalsAcquired: 0x00181083,\n IntervalsRejected: 0x00181084,\n PVCRejection: 0x00181085,\n SkipBeats: 0x00181086,\n HeartRate: 0x00181088,\n CardiacNumberOfImages: 0x00181090,\n TriggerWindow: 0x00181094,\n ReconstructionDiameter: 0x00181100,\n DistanceSourceToDetector: 0x00181110,\n DistanceSourceToPatient: 0x00181111,\n EstimatedRadiographicMagnificationFactor: 0x00181114,\n GantryDetectorTilt: 0x00181120,\n GantryDetectorSlew: 0x00181121,\n TableHeight: 0x00181130,\n TableTraverse: 0x00181131,\n TableMotion: 0x00181134,\n TableVerticalIncrement: 0x00181135,\n TableLateralIncrement: 0x00181136,\n TableLongitudinalIncrement: 0x00181137,\n TableAngle: 0x00181138,\n TableType: 0x0018113a,\n RotationDirection: 0x00181140,\n AngularPosition: 0x00181141, // retired\n RadialPosition: 0x00181142,\n ScanArc: 0x00181143,\n AngularStep: 0x00181144,\n CenterOfRotationOffset: 0x00181145,\n RotationOffset: 0x00181146, // retired\n FieldOfViewShape: 0x00181147,\n FieldOfViewDimensions: 0x00181149,\n ExposureTime: 0x00181150,\n XRayTubeCurrent: 0x00181151,\n Exposure: 0x00181152,\n ExposureInuAs: 0x00181153,\n AveragePulseWidth: 0x00181154,\n RadiationSetting: 0x00181155,\n RectificationType: 0x00181156,\n RadiationMode: 0x0018115a,\n ImageAndFluoroscopyAreaDoseProduct: 0x0018115e,\n FilterType: 0x00181160,\n TypeOfFilters: 0x00181161,\n IntensifierSize: 0x00181162,\n ImagerPixelSpacing: 0x00181164,\n Grid: 0x00181166,\n GeneratorPower: 0x00181170,\n CollimatorGridName: 0x00181180,\n CollimatorType: 0x00181181,\n FocalDistance: 0x00181182,\n XFocusCenter: 0x00181183,\n YFocusCenter: 0x00181184,\n FocalSpots: 0x00181190,\n AnodeTargetMaterial: 0x00181191,\n BodyPartThickness: 0x001811a0,\n CompressionForce: 0x001811a2,\n CompressionPressure: 0x001811a3,\n PaddleDescription: 0x001811a4,\n CompressionContactArea: 0x001811a5,\n DateOfLastCalibration: 0x00181200,\n TimeOfLastCalibration: 0x00181201,\n DateTimeOfLastCalibration: 0x00181202,\n ConvolutionKernel: 0x00181210,\n UpperLowerPixelValues: 0x00181240, // retired\n ActualFrameDuration: 0x00181242,\n CountRate: 0x00181243,\n PreferredPlaybackSequencing: 0x00181244,\n ReceiveCoilName: 0x00181250,\n TransmitCoilName: 0x00181251,\n PlateType: 0x00181260,\n PhosphorType: 0x00181261,\n WaterEquivalentDiameter: 0x00181271,\n WaterEquivalentDiameterCalculationMethodCodeSequence: 0x00181272,\n ScanVelocity: 0x00181300,\n WholeBodyTechnique: 0x00181301,\n ScanLength: 0x00181302,\n AcquisitionMatrix: 0x00181310,\n InPlanePhaseEncodingDirection: 0x00181312,\n FlipAngle: 0x00181314,\n VariableFlipAngleFlag: 0x00181315,\n SAR: 0x00181316,\n dBdt: 0x00181318,\n B1rms: 0x00181320,\n AcquisitionDeviceProcessingDescription: 0x00181400,\n AcquisitionDeviceProcessingCode: 0x00181401,\n CassetteOrientation: 0x00181402,\n CassetteSize: 0x00181403,\n ExposuresOnPlate: 0x00181404,\n RelativeXRayExposure: 0x00181405,\n ExposureIndex: 0x00181411,\n TargetExposureIndex: 0x00181412,\n DeviationIndex: 0x00181413,\n ColumnAngulation: 0x00181450,\n TomoLayerHeight: 0x00181460,\n TomoAngle: 0x00181470,\n TomoTime: 0x00181480,\n TomoType: 0x00181490,\n TomoClass: 0x00181491,\n NumberOfTomosynthesisSourceImages: 0x00181495,\n PositionerMotion: 0x00181500,\n PositionerType: 0x00181508,\n PositionerPrimaryAngle: 0x00181510,\n PositionerSecondaryAngle: 0x00181511,\n PositionerPrimaryAngleIncrement: 0x00181520,\n PositionerSecondaryAngleIncrement: 0x00181521,\n DetectorPrimaryAngle: 0x00181530,\n DetectorSecondaryAngle: 0x00181531,\n ShutterShape: 0x00181600,\n ShutterLeftVerticalEdge: 0x00181602,\n ShutterRightVerticalEdge: 0x00181604,\n ShutterUpperHorizontalEdge: 0x00181606,\n ShutterLowerHorizontalEdge: 0x00181608,\n CenterOfCircularShutter: 0x00181610,\n RadiusOfCircularShutter: 0x00181612,\n VerticesOfThePolygonalShutter: 0x00181620,\n ShutterPresentationValue: 0x00181622,\n ShutterOverlayGroup: 0x00181623,\n ShutterPresentationColorCIELabValue: 0x00181624,\n CollimatorShape: 0x00181700,\n CollimatorLeftVerticalEdge: 0x00181702,\n CollimatorRightVerticalEdge: 0x00181704,\n CollimatorUpperHorizontalEdge: 0x00181706,\n CollimatorLowerHorizontalEdge: 0x00181708,\n CenterOfCircularCollimator: 0x00181710,\n RadiusOfCircularCollimator: 0x00181712,\n VerticesOfThePolygonalCollimator: 0x00181720,\n AcquisitionTimeSynchronized: 0x00181800,\n TimeSource: 0x00181801,\n TimeDistributionProtocol: 0x00181802,\n NTPSourceAddress: 0x00181803,\n PageNumberVector: 0x00182001,\n FrameLabelVector: 0x00182002,\n FramePrimaryAngleVector: 0x00182003,\n FrameSecondaryAngleVector: 0x00182004,\n SliceLocationVector: 0x00182005,\n DisplayWindowLabelVector: 0x00182006,\n NominalScannedPixelSpacing: 0x00182010,\n DigitizingDeviceTransportDirection: 0x00182020,\n RotationOfScannedFilm: 0x00182030,\n BiopsyTargetSequence: 0x00182041,\n TargetUID: 0x00182042,\n LocalizingCursorPosition: 0x00182043,\n CalculatedTargetPosition: 0x00182044,\n TargetLabel: 0x00182045,\n DisplayedZValue: 0x00182046,\n IVUSAcquisition: 0x00183100,\n IVUSPullbackRate: 0x00183101,\n IVUSGatedRate: 0x00183102,\n IVUSPullbackStartFrameNumber: 0x00183103,\n IVUSPullbackStopFrameNumber: 0x00183104,\n LesionNumber: 0x00183105,\n AcquisitionComments: 0x00184000, // retired\n OutputPower: 0x00185000,\n TransducerData: 0x00185010,\n FocusDepth: 0x00185012,\n ProcessingFunction: 0x00185020,\n PostprocessingFunction: 0x00185021, // retired\n MechanicalIndex: 0x00185022,\n BoneThermalIndex: 0x00185024,\n CranialThermalIndex: 0x00185026,\n SoftTissueThermalIndex: 0x00185027,\n SoftTissueFocusThermalIndex: 0x00185028,\n SoftTissueSurfaceThermalIndex: 0x00185029,\n DynamicRange: 0x00185030, // retired\n TotalGain: 0x00185040, // retired\n DepthOfScanField: 0x00185050,\n PatientPosition: 0x00185100,\n ViewPosition: 0x00185101,\n ProjectionEponymousNameCodeSequence: 0x00185104,\n ImageTransformationMatrix: 0x00185210, // retired\n ImageTranslationVector: 0x00185212, // retired\n Sensitivity: 0x00186000,\n SequenceOfUltrasoundRegions: 0x00186011,\n RegionSpatialFormat: 0x00186012,\n RegionDataType: 0x00186014,\n RegionFlags: 0x00186016,\n RegionLocationMinX0: 0x00186018,\n RegionLocationMinY0: 0x0018601a,\n RegionLocationMaxX1: 0x0018601c,\n RegionLocationMaxY1: 0x0018601e,\n ReferencePixelX0: 0x00186020,\n ReferencePixelY0: 0x00186022,\n PhysicalUnitsXDirection: 0x00186024,\n PhysicalUnitsYDirection: 0x00186026,\n ReferencePixelPhysicalValueX: 0x00186028,\n ReferencePixelPhysicalValueY: 0x0018602a,\n PhysicalDeltaX: 0x0018602c,\n PhysicalDeltaY: 0x0018602e,\n TransducerFrequency: 0x00186030,\n TransducerType: 0x00186031,\n PulseRepetitionFrequency: 0x00186032,\n DopplerCorrectionAngle: 0x00186034,\n SteeringAngle: 0x00186036,\n DopplerSampleVolumeXPositionRetired: 0x00186038, // retired\n DopplerSampleVolumeXPosition: 0x00186039,\n DopplerSampleVolumeYPositionRetired: 0x0018603a, // retired\n DopplerSampleVolumeYPosition: 0x0018603b,\n TMLinePositionX0Retired: 0x0018603c, // retired\n TMLinePositionX0: 0x0018603d,\n TMLinePositionY0Retired: 0x0018603e, // retired\n TMLinePositionY0: 0x0018603f,\n TMLinePositionX1Retired: 0x00186040, // retired\n TMLinePositionX1: 0x00186041,\n TMLinePositionY1Retired: 0x00186042, // retired\n TMLinePositionY1: 0x00186043,\n PixelComponentOrganization: 0x00186044,\n PixelComponentMask: 0x00186046,\n PixelComponentRangeStart: 0x00186048,\n PixelComponentRangeStop: 0x0018604a,\n PixelComponentPhysicalUnits: 0x0018604c,\n PixelComponentDataType: 0x0018604e,\n NumberOfTableBreakPoints: 0x00186050,\n TableOfXBreakPoints: 0x00186052,\n TableOfYBreakPoints: 0x00186054,\n NumberOfTableEntries: 0x00186056,\n TableOfPixelValues: 0x00186058,\n TableOfParameterValues: 0x0018605a,\n RWaveTimeVector: 0x00186060,\n DetectorConditionsNominalFlag: 0x00187000,\n DetectorTemperature: 0x00187001,\n DetectorType: 0x00187004,\n DetectorConfiguration: 0x00187005,\n DetectorDescription: 0x00187006,\n DetectorMode: 0x00187008,\n DetectorID: 0x0018700a,\n DateOfLastDetectorCalibration: 0x0018700c,\n TimeOfLastDetectorCalibration: 0x0018700e,\n ExposuresOnDetectorSinceLastCalibration: 0x00187010,\n ExposuresOnDetectorSinceManufactured: 0x00187011,\n DetectorTimeSinceLastExposure: 0x00187012,\n DetectorActiveTime: 0x00187014,\n DetectorActivationOffsetFromExposure: 0x00187016,\n DetectorBinning: 0x0018701a,\n DetectorElementPhysicalSize: 0x00187020,\n DetectorElementSpacing: 0x00187022,\n DetectorActiveShape: 0x00187024,\n DetectorActiveDimensions: 0x00187026,\n DetectorActiveOrigin: 0x00187028,\n DetectorManufacturerName: 0x0018702a,\n DetectorManufacturerModelName: 0x0018702b,\n FieldOfViewOrigin: 0x00187030,\n FieldOfViewRotation: 0x00187032,\n FieldOfViewHorizontalFlip: 0x00187034,\n PixelDataAreaOriginRelativeToFOV: 0x00187036,\n PixelDataAreaRotationAngleRelativeToFOV: 0x00187038,\n GridAbsorbingMaterial: 0x00187040,\n GridSpacingMaterial: 0x00187041,\n GridThickness: 0x00187042,\n GridPitch: 0x00187044,\n GridAspectRatio: 0x00187046,\n GridPeriod: 0x00187048,\n GridFocalDistance: 0x0018704c,\n FilterMaterial: 0x00187050,\n FilterThicknessMinimum: 0x00187052,\n FilterThicknessMaximum: 0x00187054,\n FilterBeamPathLengthMinimum: 0x00187056,\n FilterBeamPathLengthMaximum: 0x00187058,\n ExposureControlMode: 0x00187060,\n ExposureControlModeDescription: 0x00187062,\n ExposureStatus: 0x00187064,\n PhototimerSetting: 0x00187065,\n ExposureTimeInuS: 0x00188150,\n XRayTubeCurrentInuA: 0x00188151,\n ContentQualification: 0x00189004,\n PulseSequenceName: 0x00189005,\n MRImagingModifierSequence: 0x00189006,\n EchoPulseSequence: 0x00189008,\n InversionRecovery: 0x00189009,\n FlowCompensation: 0x00189010,\n MultipleSpinEcho: 0x00189011,\n MultiPlanarExcitation: 0x00189012,\n PhaseContrast: 0x00189014,\n TimeOfFlightContrast: 0x00189015,\n Spoiling: 0x00189016,\n SteadyStatePulseSequence: 0x00189017,\n EchoPlanarPulseSequence: 0x00189018,\n TagAngleFirstAxis: 0x00189019,\n MagnetizationTransfer: 0x00189020,\n T2Preparation: 0x00189021,\n BloodSignalNulling: 0x00189022,\n SaturationRecovery: 0x00189024,\n SpectrallySelectedSuppression: 0x00189025,\n SpectrallySelectedExcitation: 0x00189026,\n SpatialPresaturation: 0x00189027,\n Tagging: 0x00189028,\n OversamplingPhase: 0x00189029,\n TagSpacingFirstDimension: 0x00189030,\n GeometryOfKSpaceTraversal: 0x00189032,\n SegmentedKSpaceTraversal: 0x00189033,\n RectilinearPhaseEncodeReordering: 0x00189034,\n TagThickness: 0x00189035,\n PartialFourierDirection: 0x00189036,\n CardiacSynchronizationTechnique: 0x00189037,\n ReceiveCoilManufacturerName: 0x00189041,\n MRReceiveCoilSequence: 0x00189042,\n ReceiveCoilType: 0x00189043,\n QuadratureReceiveCoil: 0x00189044,\n MultiCoilDefinitionSequence: 0x00189045,\n MultiCoilConfiguration: 0x00189046,\n MultiCoilElementName: 0x00189047,\n MultiCoilElementUsed: 0x00189048,\n MRTransmitCoilSequence: 0x00189049,\n TransmitCoilManufacturerName: 0x00189050,\n TransmitCoilType: 0x00189051,\n SpectralWidth: 0x00189052,\n ChemicalShiftReference: 0x00189053,\n VolumeLocalizationTechnique: 0x00189054,\n MRAcquisitionFrequencyEncodingSteps: 0x00189058,\n Decoupling: 0x00189059,\n DecoupledNucleus: 0x00189060,\n DecouplingFrequency: 0x00189061,\n DecouplingMethod: 0x00189062,\n DecouplingChemicalShiftReference: 0x00189063,\n KSpaceFiltering: 0x00189064,\n TimeDomainFiltering: 0x00189065,\n NumberOfZeroFills: 0x00189066,\n BaselineCorrection: 0x00189067,\n ParallelReductionFactorInPlane: 0x00189069,\n CardiacRRIntervalSpecified: 0x00189070,\n AcquisitionDuration: 0x00189073,\n FrameAcquisitionDateTime: 0x00189074,\n DiffusionDirectionality: 0x00189075,\n DiffusionGradientDirectionSequence: 0x00189076,\n ParallelAcquisition: 0x00189077,\n ParallelAcquisitionTechnique: 0x00189078,\n InversionTimes: 0x00189079,\n MetaboliteMapDescription: 0x00189080,\n PartialFourier: 0x00189081,\n EffectiveEchoTime: 0x00189082,\n MetaboliteMapCodeSequence: 0x00189083,\n ChemicalShiftSequence: 0x00189084,\n CardiacSignalSource: 0x00189085,\n DiffusionBValue: 0x00189087,\n DiffusionGradientOrientation: 0x00189089,\n VelocityEncodingDirection: 0x00189090,\n VelocityEncodingMinimumValue: 0x00189091,\n VelocityEncodingAcquisitionSequence: 0x00189092,\n NumberOfKSpaceTrajectories: 0x00189093,\n CoverageOfKSpace: 0x00189094,\n SpectroscopyAcquisitionPhaseRows: 0x00189095,\n ParallelReductionFactorInPlaneRetired: 0x00189096, // retired\n TransmitterFrequency: 0x00189098,\n ResonantNucleus: 0x00189100,\n FrequencyCorrection: 0x00189101,\n MRSpectroscopyFOVGeometrySequence: 0x00189103,\n SlabThickness: 0x00189104,\n SlabOrientation: 0x00189105,\n MidSlabPosition: 0x00189106,\n MRSpatialSaturationSequence: 0x00189107,\n MRTimingAndRelatedParametersSequence: 0x00189112,\n MREchoSequence: 0x00189114,\n MRModifierSequence: 0x00189115,\n MRDiffusionSequence: 0x00189117,\n CardiacSynchronizationSequence: 0x00189118,\n MRAveragesSequence: 0x00189119,\n MRFOVGeometrySequence: 0x00189125,\n VolumeLocalizationSequence: 0x00189126,\n SpectroscopyAcquisitionDataColumns: 0x00189127,\n DiffusionAnisotropyType: 0x00189147,\n FrameReferenceDateTime: 0x00189151,\n MRMetaboliteMapSequence: 0x00189152,\n ParallelReductionFactorOutOfPlane: 0x00189155,\n SpectroscopyAcquisitionOutOfPlanePhaseSteps: 0x00189159,\n BulkMotionStatus: 0x00189166, // retired\n ParallelReductionFactorSecondInPlane: 0x00189168,\n CardiacBeatRejectionTechnique: 0x00189169,\n RespiratoryMotionCompensationTechnique: 0x00189170,\n RespiratorySignalSource: 0x00189171,\n BulkMotionCompensationTechnique: 0x00189172,\n BulkMotionSignalSource: 0x00189173,\n ApplicableSafetyStandardAgency: 0x00189174,\n ApplicableSafetyStandardDescription: 0x00189175,\n OperatingModeSequence: 0x00189176,\n OperatingModeType: 0x00189177,\n OperatingMode: 0x00189178,\n SpecificAbsorptionRateDefinition: 0x00189179,\n GradientOutputType: 0x00189180,\n SpecificAbsorptionRateValue: 0x00189181,\n GradientOutput: 0x00189182,\n FlowCompensationDirection: 0x00189183,\n TaggingDelay: 0x00189184,\n RespiratoryMotionCompensationTechniqueDescription: 0x00189185,\n RespiratorySignalSourceID: 0x00189186,\n ChemicalShiftMinimumIntegrationLimitInHz: 0x00189195, // retired\n ChemicalShiftMaximumIntegrationLimitInHz: 0x00189196, // retired\n MRVelocityEncodingSequence: 0x00189197,\n FirstOrderPhaseCorrection: 0x00189198,\n WaterReferencedPhaseCorrection: 0x00189199,\n MRSpectroscopyAcquisitionType: 0x00189200,\n RespiratoryCyclePosition: 0x00189214,\n VelocityEncodingMaximumValue: 0x00189217,\n TagSpacingSecondDimension: 0x00189218,\n TagAngleSecondAxis: 0x00189219,\n FrameAcquisitionDuration: 0x00189220,\n MRImageFrameTypeSequence: 0x00189226,\n MRSpectroscopyFrameTypeSequence: 0x00189227,\n MRAcquisitionPhaseEncodingStepsInPlane: 0x00189231,\n MRAcquisitionPhaseEncodingStepsOutOfPlane: 0x00189232,\n SpectroscopyAcquisitionPhaseColumns: 0x00189234,\n CardiacCyclePosition: 0x00189236,\n SpecificAbsorptionRateSequence: 0x00189239,\n RFEchoTrainLength: 0x00189240,\n GradientEchoTrainLength: 0x00189241,\n ArterialSpinLabelingContrast: 0x00189250,\n MRArterialSpinLabelingSequence: 0x00189251,\n ASLTechniqueDescription: 0x00189252,\n ASLSlabNumber: 0x00189253,\n ASLSlabThickness: 0x00189254,\n ASLSlabOrientation: 0x00189255,\n ASLMidSlabPosition: 0x00189256,\n ASLContext: 0x00189257,\n ASLPulseTrainDuration: 0x00189258,\n ASLCrusherFlag: 0x00189259,\n ASLCrusherFlowLimit: 0x0018925a,\n ASLCrusherDescription: 0x0018925b,\n ASLBolusCutoffFlag: 0x0018925c,\n ASLBolusCutoffTimingSequence: 0x0018925d,\n ASLBolusCutoffTechnique: 0x0018925e,\n ASLBolusCutoffDelayTime: 0x0018925f,\n ASLSlabSequence: 0x00189260,\n ChemicalShiftMinimumIntegrationLimitInppm: 0x00189295,\n ChemicalShiftMaximumIntegrationLimitInppm: 0x00189296,\n WaterReferenceAcquisition: 0x00189297,\n EchoPeakPosition: 0x00189298,\n CTAcquisitionTypeSequence: 0x00189301,\n AcquisitionType: 0x00189302,\n TubeAngle: 0x00189303,\n CTAcquisitionDetailsSequence: 0x00189304,\n RevolutionTime: 0x00189305,\n SingleCollimationWidth: 0x00189306,\n TotalCollimationWidth: 0x00189307,\n CTTableDynamicsSequence: 0x00189308,\n TableSpeed: 0x00189309,\n TableFeedPerRotation: 0x00189310,\n SpiralPitchFactor: 0x00189311,\n CTGeometrySequence: 0x00189312,\n DataCollectionCenterPatient: 0x00189313,\n CTReconstructionSequence: 0x00189314,\n ReconstructionAlgorithm: 0x00189315,\n ConvolutionKernelGroup: 0x00189316,\n ReconstructionFieldOfView: 0x00189317,\n ReconstructionTargetCenterPatient: 0x00189318,\n ReconstructionAngle: 0x00189319,\n ImageFilter: 0x00189320,\n CTExposureSequence: 0x00189321,\n ReconstructionPixelSpacing: 0x00189322,\n ExposureModulationType: 0x00189323,\n EstimatedDoseSaving: 0x00189324,\n CTXRayDetailsSequence: 0x00189325,\n CTPositionSequence: 0x00189326,\n TablePosition: 0x00189327,\n ExposureTimeInms: 0x00189328,\n CTImageFrameTypeSequence: 0x00189329,\n XRayTubeCurrentInmA: 0x00189330,\n ExposureInmAs: 0x00189332,\n ConstantVolumeFlag: 0x00189333,\n FluoroscopyFlag: 0x00189334,\n DistanceSourceToDataCollectionCenter: 0x00189335,\n ContrastBolusAgentNumber: 0x00189337,\n ContrastBolusIngredientCodeSequence: 0x00189338,\n ContrastAdministrationProfileSequence: 0x00189340,\n ContrastBolusUsageSequence: 0x00189341,\n ContrastBolusAgentAdministered: 0x00189342,\n ContrastBolusAgentDetected: 0x00189343,\n ContrastBolusAgentPhase: 0x00189344,\n CTDIvol: 0x00189345,\n CTDIPhantomTypeCodeSequence: 0x00189346,\n CalciumScoringMassFactorPatient: 0x00189351,\n CalciumScoringMassFactorDevice: 0x00189352,\n EnergyWeightingFactor: 0x00189353,\n CTAdditionalXRaySourceSequence: 0x00189360,\n ProjectionPixelCalibrationSequence: 0x00189401,\n DistanceSourceToIsocenter: 0x00189402,\n DistanceObjectToTableTop: 0x00189403,\n ObjectPixelSpacingInCenterOfBeam: 0x00189404,\n PositionerPositionSequence: 0x00189405,\n TablePositionSequence: 0x00189406,\n CollimatorShapeSequence: 0x00189407,\n PlanesInAcquisition: 0x00189410,\n XAXRFFrameCharacteristicsSequence: 0x00189412,\n FrameAcquisitionSequence: 0x00189417,\n XRayReceptorType: 0x00189420,\n AcquisitionProtocolName: 0x00189423,\n AcquisitionProtocolDescription: 0x00189424,\n ContrastBolusIngredientOpaque: 0x00189425,\n DistanceReceptorPlaneToDetectorHousing: 0x00189426,\n IntensifierActiveShape: 0x00189427,\n IntensifierActiveDimensions: 0x00189428,\n PhysicalDetectorSize: 0x00189429,\n PositionOfIsocenterProjection: 0x00189430,\n FieldOfViewSequence: 0x00189432,\n FieldOfViewDescription: 0x00189433,\n ExposureControlSensingRegionsSequence: 0x00189434,\n ExposureControlSensingRegionShape: 0x00189435,\n ExposureControlSensingRegionLeftVerticalEdge: 0x00189436,\n ExposureControlSensingRegionRightVerticalEdge: 0x00189437,\n ExposureControlSensingRegionUpperHorizontalEdge: 0x00189438,\n ExposureControlSensingRegionLowerHorizontalEdge: 0x00189439,\n CenterOfCircularExposureControlSensingRegion: 0x00189440,\n RadiusOfCircularExposureControlSensingRegion: 0x00189441,\n VerticesOfThePolygonalExposureControlSensingRegion: 0x00189442,\n ColumnAngulationPatient: 0x00189447,\n BeamAngle: 0x00189449,\n FrameDetectorParametersSequence: 0x00189451,\n CalculatedAnatomyThickness: 0x00189452,\n CalibrationSequence: 0x00189455,\n ObjectThicknessSequence: 0x00189456,\n PlaneIdentification: 0x00189457,\n FieldOfViewDimensionsInFloat: 0x00189461,\n IsocenterReferenceSystemSequence: 0x00189462,\n PositionerIsocenterPrimaryAngle: 0x00189463,\n PositionerIsocenterSecondaryAngle: 0x00189464,\n PositionerIsocenterDetectorRotationAngle: 0x00189465,\n TableXPositionToIsocenter: 0x00189466,\n TableYPositionToIsocenter: 0x00189467,\n TableZPositionToIsocenter: 0x00189468,\n TableHorizontalRotationAngle: 0x00189469,\n TableHeadTiltAngle: 0x00189470,\n TableCradleTiltAngle: 0x00189471,\n FrameDisplayShutterSequence: 0x00189472,\n AcquiredImageAreaDoseProduct: 0x00189473,\n CArmPositionerTabletopRelationship: 0x00189474,\n XRayGeometrySequence: 0x00189476,\n IrradiationEventIdentificationSequence: 0x00189477,\n XRay3DFrameTypeSequence: 0x00189504,\n ContributingSourcesSequence: 0x00189506,\n XRay3DAcquisitionSequence: 0x00189507,\n PrimaryPositionerScanArc: 0x00189508,\n SecondaryPositionerScanArc: 0x00189509,\n PrimaryPositionerScanStartAngle: 0x00189510,\n SecondaryPositionerScanStartAngle: 0x00189511,\n PrimaryPositionerIncrement: 0x00189514,\n SecondaryPositionerIncrement: 0x00189515,\n StartAcquisitionDateTime: 0x00189516,\n EndAcquisitionDateTime: 0x00189517,\n PrimaryPositionerIncrementSign: 0x00189518,\n SecondaryPositionerIncrementSign: 0x00189519,\n ApplicationName: 0x00189524,\n ApplicationVersion: 0x00189525,\n ApplicationManufacturer: 0x00189526,\n AlgorithmType: 0x00189527,\n AlgorithmDescription: 0x00189528,\n XRay3DReconstructionSequence: 0x00189530,\n ReconstructionDescription: 0x00189531,\n PerProjectionAcquisitionSequence: 0x00189538,\n DetectorPositionSequence: 0x00189541,\n XRayAcquisitionDoseSequence: 0x00189542,\n XRaySourceIsocenterPrimaryAngle: 0x00189543,\n XRaySourceIsocenterSecondaryAngle: 0x00189544,\n BreastSupportIsocenterPrimaryAngle: 0x00189545,\n BreastSupportIsocenterSecondaryAngle: 0x00189546,\n BreastSupportXPositionToIsocenter: 0x00189547,\n BreastSupportYPositionToIsocenter: 0x00189548,\n BreastSupportZPositionToIsocenter: 0x00189549,\n DetectorIsocenterPrimaryAngle: 0x00189550,\n DetectorIsocenterSecondaryAngle: 0x00189551,\n DetectorXPositionToIsocenter: 0x00189552,\n DetectorYPositionToIsocenter: 0x00189553,\n DetectorZPositionToIsocenter: 0x00189554,\n XRayGridSequence: 0x00189555,\n XRayFilterSequence: 0x00189556,\n DetectorActiveAreaTLHCPosition: 0x00189557,\n DetectorActiveAreaOrientation: 0x00189558,\n PositionerPrimaryAngleDirection: 0x00189559,\n DiffusionBMatrixSequence: 0x00189601,\n DiffusionBValueXX: 0x00189602,\n DiffusionBValueXY: 0x00189603,\n DiffusionBValueXZ: 0x00189604,\n DiffusionBValueYY: 0x00189605,\n DiffusionBValueYZ: 0x00189606,\n DiffusionBValueZZ: 0x00189607,\n FunctionalMRSequence: 0x00189621,\n FunctionalSettlingPhaseFramesPresent: 0x00189622,\n FunctionalSyncPulse: 0x00189623,\n SettlingPhaseFrame: 0x00189624,\n DecayCorrectionDateTime: 0x00189701,\n StartDensityThreshold: 0x00189715,\n StartRelativeDensityDifferenceThreshold: 0x00189716,\n StartCardiacTriggerCountThreshold: 0x00189717,\n StartRespiratoryTriggerCountThreshold: 0x00189718,\n TerminationCountsThreshold: 0x00189719,\n TerminationDensityThreshold: 0x00189720,\n TerminationRelativeDensityThreshold: 0x00189721,\n TerminationTimeThreshold: 0x00189722,\n TerminationCardiacTriggerCountThreshold: 0x00189723,\n TerminationRespiratoryTriggerCountThreshold: 0x00189724,\n DetectorGeometry: 0x00189725,\n TransverseDetectorSeparation: 0x00189726,\n AxialDetectorDimension: 0x00189727,\n RadiopharmaceuticalAgentNumber: 0x00189729,\n PETFrameAcquisitionSequence: 0x00189732,\n PETDetectorMotionDetailsSequence: 0x00189733,\n PETTableDynamicsSequence: 0x00189734,\n PETPositionSequence: 0x00189735,\n PETFrameCorrectionFactorsSequence: 0x00189736,\n RadiopharmaceuticalUsageSequence: 0x00189737,\n AttenuationCorrectionSource: 0x00189738,\n NumberOfIterations: 0x00189739,\n NumberOfSubsets: 0x00189740,\n PETReconstructionSequence: 0x00189749,\n PETFrameTypeSequence: 0x00189751,\n TimeOfFlightInformationUsed: 0x00189755,\n ReconstructionType: 0x00189756,\n DecayCorrected: 0x00189758,\n AttenuationCorrected: 0x00189759,\n ScatterCorrected: 0x00189760,\n DeadTimeCorrected: 0x00189761,\n GantryMotionCorrected: 0x00189762,\n PatientMotionCorrected: 0x00189763,\n CountLossNormalizationCorrected: 0x00189764,\n RandomsCorrected: 0x00189765,\n NonUniformRadialSamplingCorrected: 0x00189766,\n SensitivityCalibrated: 0x00189767,\n DetectorNormalizationCorrection: 0x00189768,\n IterativeReconstructionMethod: 0x00189769,\n AttenuationCorrectionTemporalRelationship: 0x00189770,\n PatientPhysiologicalStateSequence: 0x00189771,\n PatientPhysiologicalStateCodeSequence: 0x00189772,\n DepthsOfFocus: 0x00189801,\n ExcludedIntervalsSequence: 0x00189803,\n ExclusionStartDateTime: 0x00189804,\n ExclusionDuration: 0x00189805,\n USImageDescriptionSequence: 0x00189806,\n ImageDataTypeSequence: 0x00189807,\n DataType: 0x00189808,\n TransducerScanPatternCodeSequence: 0x00189809,\n AliasedDataType: 0x0018980b,\n PositionMeasuringDeviceUsed: 0x0018980c,\n TransducerGeometryCodeSequence: 0x0018980d,\n TransducerBeamSteeringCodeSequence: 0x0018980e,\n TransducerApplicationCodeSequence: 0x0018980f,\n ZeroVelocityPixelValue: 0x00189810,\n ReferenceLocationLabel: 0x00189900,\n ReferenceLocationDescription: 0x00189901,\n ReferenceBasisCodeSequence: 0x00189902,\n ReferenceGeometryCodeSequence: 0x00189903,\n OffsetDistance: 0x00189904,\n OffsetDirection: 0x00189905,\n PotentialScheduledProtocolCodeSequence: 0x00189906,\n PotentialRequestedProcedureCodeSequence: 0x00189907,\n PotentialReasonsForProcedure: 0x00189908,\n PotentialReasonsForProcedureCodeSequence: 0x00189909,\n PotentialDiagnosticTasks: 0x0018990a,\n ContraindicationsCodeSequence: 0x0018990b,\n ReferencedDefinedProtocolSequence: 0x0018990c,\n ReferencedPerformedProtocolSequence: 0x0018990d,\n PredecessorProtocolSequence: 0x0018990e,\n ProtocolPlanningInformation: 0x0018990f,\n ProtocolDesignRationale: 0x00189910,\n PatientSpecificationSequence: 0x00189911,\n ModelSpecificationSequence: 0x00189912,\n ParametersSpecificationSequence: 0x00189913,\n InstructionSequence: 0x00189914,\n InstructionIndex: 0x00189915,\n InstructionText: 0x00189916,\n InstructionDescription: 0x00189917,\n InstructionPerformedFlag: 0x00189918,\n InstructionPerformedDateTime: 0x00189919,\n InstructionPerformanceComment: 0x0018991a,\n PatientPositioningInstructionSequence: 0x0018991b,\n PositioningMethodCodeSequence: 0x0018991c,\n PositioningLandmarkSequence: 0x0018991d,\n TargetFrameOfReferenceUID: 0x0018991e,\n AcquisitionProtocolElementSpecificationSequence: 0x0018991f,\n AcquisitionProtocolElementSequence: 0x00189920,\n ProtocolElementNumber: 0x00189921,\n ProtocolElementName: 0x00189922,\n ProtocolElementCharacteristicsSummary: 0x00189923,\n ProtocolElementPurpose: 0x00189924,\n AcquisitionMotion: 0x00189930,\n AcquisitionStartLocationSequence: 0x00189931,\n AcquisitionEndLocationSequence: 0x00189932,\n ReconstructionProtocolElementSpecificationSequence: 0x00189933,\n ReconstructionProtocolElementSequence: 0x00189934,\n StorageProtocolElementSpecificationSequence: 0x00189935,\n StorageProtocolElementSequence: 0x00189936,\n RequestedSeriesDescription: 0x00189937,\n SourceAcquisitionProtocolElementNumber: 0x00189938,\n SourceAcquisitionBeamNumber: 0x00189939,\n SourceReconstructionProtocolElementNumber: 0x0018993a,\n ReconstructionStartLocationSequence: 0x0018993b,\n ReconstructionEndLocationSequence: 0x0018993c,\n ReconstructionAlgorithmSequence: 0x0018993d,\n ReconstructionTargetCenterLocationSequence: 0x0018993e,\n ImageFilterDescription: 0x00189941,\n CTDIvolNotificationTrigger: 0x00189942,\n DLPNotificationTrigger: 0x00189943,\n AutoKVPSelectionType: 0x00189944,\n AutoKVPUpperBound: 0x00189945,\n AutoKVPLowerBound: 0x00189946,\n ProtocolDefinedPatientPosition: 0x00189947,\n ContributingEquipmentSequence: 0x0018a001,\n ContributionDateTime: 0x0018a002,\n ContributionDescription: 0x0018a003,\n StudyInstanceUID: 0x0020000d,\n SeriesInstanceUID: 0x0020000e,\n StudyID: 0x00200010,\n SeriesNumber: 0x00200011,\n AcquisitionNumber: 0x00200012,\n InstanceNumber: 0x00200013,\n IsotopeNumber: 0x00200014, // retired\n PhaseNumber: 0x00200015, // retired\n IntervalNumber: 0x00200016, // retired\n TimeSlotNumber: 0x00200017, // retired\n AngleNumber: 0x00200018, // retired\n ItemNumber: 0x00200019,\n PatientOrientation: 0x00200020,\n OverlayNumber: 0x00200022, // retired\n CurveNumber: 0x00200024, // retired\n LUTNumber: 0x00200026, // retired\n ImagePosition: 0x00200030, // retired\n ImagePositionPatient: 0x00200032,\n ImageOrientation: 0x00200035, // retired\n ImageOrientationPatient: 0x00200037,\n Location: 0x00200050, // retired\n FrameOfReferenceUID: 0x00200052,\n Laterality: 0x00200060,\n ImageLaterality: 0x00200062,\n ImageGeometryType: 0x00200070, // retired\n MaskingImage: 0x00200080, // retired\n ReportNumber: 0x002000aa, // retired\n TemporalPositionIdentifier: 0x00200100,\n NumberOfTemporalPositions: 0x00200105,\n TemporalResolution: 0x00200110,\n SynchronizationFrameOfReferenceUID: 0x00200200,\n SOPInstanceUIDOfConcatenationSource: 0x00200242,\n SeriesInStudy: 0x00201000, // retired\n AcquisitionsInSeries: 0x00201001, // retired\n ImagesInAcquisition: 0x00201002,\n ImagesInSeries: 0x00201003, // retired\n AcquisitionsInStudy: 0x00201004, // retired\n ImagesInStudy: 0x00201005, // retired\n Reference: 0x00201020, // retired\n TargetPositionReferenceIndicator: 0x0020103f,\n PositionReferenceIndicator: 0x00201040,\n SliceLocation: 0x00201041,\n OtherStudyNumbers: 0x00201070, // retired\n NumberOfPatientRelatedStudies: 0x00201200,\n NumberOfPatientRelatedSeries: 0x00201202,\n NumberOfPatientRelatedInstances: 0x00201204,\n NumberOfStudyRelatedSeries: 0x00201206,\n NumberOfStudyRelatedInstances: 0x00201208,\n NumberOfSeriesRelatedInstances: 0x00201209,\n SourceImageIDs: 0x00203100, // retired\n ModifyingDeviceID: 0x00203401, // retired\n ModifiedImageID: 0x00203402, // retired\n ModifiedImageDate: 0x00203403, // retired\n ModifyingDeviceManufacturer: 0x00203404, // retired\n ModifiedImageTime: 0x00203405, // retired\n ModifiedImageDescription: 0x00203406, // retired\n ImageComments: 0x00204000,\n OriginalImageIdentification: 0x00205000, // retired\n OriginalImageIdentificationNomenclature: 0x00205002, // retired\n StackID: 0x00209056,\n InStackPositionNumber: 0x00209057,\n FrameAnatomySequence: 0x00209071,\n FrameLaterality: 0x00209072,\n FrameContentSequence: 0x00209111,\n PlanePositionSequence: 0x00209113,\n PlaneOrientationSequence: 0x00209116,\n TemporalPositionIndex: 0x00209128,\n NominalCardiacTriggerDelayTime: 0x00209153,\n NominalCardiacTriggerTimePriorToRPeak: 0x00209154,\n ActualCardiacTriggerTimePriorToRPeak: 0x00209155,\n FrameAcquisitionNumber: 0x00209156,\n DimensionIndexValues: 0x00209157,\n FrameComments: 0x00209158,\n ConcatenationUID: 0x00209161,\n InConcatenationNumber: 0x00209162,\n InConcatenationTotalNumber: 0x00209163,\n DimensionOrganizationUID: 0x00209164,\n DimensionIndexPointer: 0x00209165,\n FunctionalGroupPointer: 0x00209167,\n UnassignedSharedConvertedAttributesSequence: 0x00209170,\n UnassignedPerFrameConvertedAttributesSequence: 0x00209171,\n ConversionSourceAttributesSequence: 0x00209172,\n DimensionIndexPrivateCreator: 0x00209213,\n DimensionOrganizationSequence: 0x00209221,\n DimensionIndexSequence: 0x00209222,\n ConcatenationFrameOffsetNumber: 0x00209228,\n FunctionalGroupPrivateCreator: 0x00209238,\n NominalPercentageOfCardiacPhase: 0x00209241,\n NominalPercentageOfRespiratoryPhase: 0x00209245,\n StartingRespiratoryAmplitude: 0x00209246,\n StartingRespiratoryPhase: 0x00209247,\n EndingRespiratoryAmplitude: 0x00209248,\n EndingRespiratoryPhase: 0x00209249,\n RespiratoryTriggerType: 0x00209250,\n RRIntervalTimeNominal: 0x00209251,\n ActualCardiacTriggerDelayTime: 0x00209252,\n RespiratorySynchronizationSequence: 0x00209253,\n RespiratoryIntervalTime: 0x00209254,\n NominalRespiratoryTriggerDelayTime: 0x00209255,\n RespiratoryTriggerDelayThreshold: 0x00209256,\n ActualRespiratoryTriggerDelayTime: 0x00209257,\n ImagePositionVolume: 0x00209301,\n ImageOrientationVolume: 0x00209302,\n UltrasoundAcquisitionGeometry: 0x00209307,\n ApexPosition: 0x00209308,\n VolumeToTransducerMappingMatrix: 0x00209309,\n VolumeToTableMappingMatrix: 0x0020930a,\n VolumeToTransducerRelationship: 0x0020930b,\n PatientFrameOfReferenceSource: 0x0020930c,\n TemporalPositionTimeOffset: 0x0020930d,\n PlanePositionVolumeSequence: 0x0020930e,\n PlaneOrientationVolumeSequence: 0x0020930f,\n TemporalPositionSequence: 0x00209310,\n DimensionOrganizationType: 0x00209311,\n VolumeFrameOfReferenceUID: 0x00209312,\n TableFrameOfReferenceUID: 0x00209313,\n DimensionDescriptionLabel: 0x00209421,\n PatientOrientationInFrameSequence: 0x00209450,\n FrameLabel: 0x00209453,\n AcquisitionIndex: 0x00209518,\n ContributingSOPInstancesReferenceSequence: 0x00209529,\n ReconstructionIndex: 0x00209536,\n LightPathFilterPassThroughWavelength: 0x00220001,\n LightPathFilterPassBand: 0x00220002,\n ImagePathFilterPassThroughWavelength: 0x00220003,\n ImagePathFilterPassBand: 0x00220004,\n PatientEyeMovementCommanded: 0x00220005,\n PatientEyeMovementCommandCodeSequence: 0x00220006,\n SphericalLensPower: 0x00220007,\n CylinderLensPower: 0x00220008,\n CylinderAxis: 0x00220009,\n EmmetropicMagnification: 0x0022000a,\n IntraOcularPressure: 0x0022000b,\n HorizontalFieldOfView: 0x0022000c,\n PupilDilated: 0x0022000d,\n DegreeOfDilation: 0x0022000e,\n StereoBaselineAngle: 0x00220010,\n StereoBaselineDisplacement: 0x00220011,\n StereoHorizontalPixelOffset: 0x00220012,\n StereoVerticalPixelOffset: 0x00220013,\n StereoRotation: 0x00220014,\n AcquisitionDeviceTypeCodeSequence: 0x00220015,\n IlluminationTypeCodeSequence: 0x00220016,\n LightPathFilterTypeStackCodeSequence: 0x00220017,\n ImagePathFilterTypeStackCodeSequence: 0x00220018,\n LensesCodeSequence: 0x00220019,\n ChannelDescriptionCodeSequence: 0x0022001a,\n RefractiveStateSequence: 0x0022001b,\n MydriaticAgentCodeSequence: 0x0022001c,\n RelativeImagePositionCodeSequence: 0x0022001d,\n CameraAngleOfView: 0x0022001e,\n StereoPairsSequence: 0x00220020,\n LeftImageSequence: 0x00220021,\n RightImageSequence: 0x00220022,\n StereoPairsPresent: 0x00220028,\n AxialLengthOfTheEye: 0x00220030,\n OphthalmicFrameLocationSequence: 0x00220031,\n ReferenceCoordinates: 0x00220032,\n DepthSpatialResolution: 0x00220035,\n MaximumDepthDistortion: 0x00220036,\n AlongScanSpatialResolution: 0x00220037,\n MaximumAlongScanDistortion: 0x00220038,\n OphthalmicImageOrientation: 0x00220039,\n DepthOfTransverseImage: 0x00220041,\n MydriaticAgentConcentrationUnitsSequence: 0x00220042,\n AcrossScanSpatialResolution: 0x00220048,\n MaximumAcrossScanDistortion: 0x00220049,\n MydriaticAgentConcentration: 0x0022004e,\n IlluminationWaveLength: 0x00220055,\n IlluminationPower: 0x00220056,\n IlluminationBandwidth: 0x00220057,\n MydriaticAgentSequence: 0x00220058,\n OphthalmicAxialMeasurementsRightEyeSequence: 0x00221007,\n OphthalmicAxialMeasurementsLeftEyeSequence: 0x00221008,\n OphthalmicAxialMeasurementsDeviceType: 0x00221009,\n OphthalmicAxialLengthMeasurementsType: 0x00221010,\n OphthalmicAxialLengthSequence: 0x00221012,\n OphthalmicAxialLength: 0x00221019,\n LensStatusCodeSequence: 0x00221024,\n VitreousStatusCodeSequence: 0x00221025,\n IOLFormulaCodeSequence: 0x00221028,\n IOLFormulaDetail: 0x00221029,\n KeratometerIndex: 0x00221033,\n SourceOfOphthalmicAxialLengthCodeSequence: 0x00221035,\n TargetRefraction: 0x00221037,\n RefractiveProcedureOccurred: 0x00221039,\n RefractiveSurgeryTypeCodeSequence: 0x00221040,\n OphthalmicUltrasoundMethodCodeSequence: 0x00221044,\n OphthalmicAxialLengthMeasurementsSequence: 0x00221050,\n IOLPower: 0x00221053,\n PredictedRefractiveError: 0x00221054,\n OphthalmicAxialLengthVelocity: 0x00221059,\n LensStatusDescription: 0x00221065,\n VitreousStatusDescription: 0x00221066,\n IOLPowerSequence: 0x00221090,\n LensConstantSequence: 0x00221092,\n IOLManufacturer: 0x00221093,\n LensConstantDescription: 0x00221094, // retired\n ImplantName: 0x00221095,\n KeratometryMeasurementTypeCodeSequence: 0x00221096,\n ImplantPartNumber: 0x00221097,\n ReferencedOphthalmicAxialMeasurementsSequence: 0x00221100,\n OphthalmicAxialLengthMeasurementsSegmentNameCodeSequence: 0x00221101,\n RefractiveErrorBeforeRefractiveSurgeryCodeSequence: 0x00221103,\n IOLPowerForExactEmmetropia: 0x00221121,\n IOLPowerForExactTargetRefraction: 0x00221122,\n AnteriorChamberDepthDefinitionCodeSequence: 0x00221125,\n LensThicknessSequence: 0x00221127,\n AnteriorChamberDepthSequence: 0x00221128,\n LensThickness: 0x00221130,\n AnteriorChamberDepth: 0x00221131,\n SourceOfLensThicknessDataCodeSequence: 0x00221132,\n SourceOfAnteriorChamberDepthDataCodeSequence: 0x00221133,\n SourceOfRefractiveMeasurementsSequence: 0x00221134,\n SourceOfRefractiveMeasurementsCodeSequence: 0x00221135,\n OphthalmicAxialLengthMeasurementModified: 0x00221140,\n OphthalmicAxialLengthDataSourceCodeSequence: 0x00221150,\n OphthalmicAxialLengthAcquisitionMethodCodeSequence: 0x00221153, // retired\n SignalToNoiseRatio: 0x00221155,\n OphthalmicAxialLengthDataSourceDescription: 0x00221159,\n OphthalmicAxialLengthMeasurementsTotalLengthSequence: 0x00221210,\n OphthalmicAxialLengthMeasurementsSegmentalLengthSequence: 0x00221211,\n OphthalmicAxialLengthMeasurementsLengthSummationSequence: 0x00221212,\n UltrasoundOphthalmicAxialLengthMeasurementsSequence: 0x00221220,\n OpticalOphthalmicAxialLengthMeasurementsSequence: 0x00221225,\n UltrasoundSelectedOphthalmicAxialLengthSequence: 0x00221230,\n OphthalmicAxialLengthSelectionMethodCodeSequence: 0x00221250,\n OpticalSelectedOphthalmicAxialLengthSequence: 0x00221255,\n SelectedSegmentalOphthalmicAxialLengthSequence: 0x00221257,\n SelectedTotalOphthalmicAxialLengthSequence: 0x00221260,\n OphthalmicAxialLengthQualityMetricSequence: 0x00221262,\n OphthalmicAxialLengthQualityMetricTypeCodeSequence: 0x00221265, // retired\n OphthalmicAxialLengthQualityMetricTypeDescription: 0x00221273, // retired\n IntraocularLensCalculationsRightEyeSequence: 0x00221300,\n IntraocularLensCalculationsLeftEyeSequence: 0x00221310,\n ReferencedOphthalmicAxialLengthMeasurementQCImageSequence: 0x00221330,\n OphthalmicMappingDeviceType: 0x00221415,\n AcquisitionMethodCodeSequence: 0x00221420,\n AcquisitionMethodAlgorithmSequence: 0x00221423,\n OphthalmicThicknessMapTypeCodeSequence: 0x00221436,\n OphthalmicThicknessMappingNormalsSequence: 0x00221443,\n RetinalThicknessDefinitionCodeSequence: 0x00221445,\n PixelValueMappingToCodedConceptSequence: 0x00221450,\n MappedPixelValue: 0x00221452,\n PixelValueMappingExplanation: 0x00221454,\n OphthalmicThicknessMapQualityThresholdSequence: 0x00221458,\n OphthalmicThicknessMapThresholdQualityRating: 0x00221460,\n AnatomicStructureReferencePoint: 0x00221463,\n RegistrationToLocalizerSequence: 0x00221465,\n RegisteredLocalizerUnits: 0x00221466,\n RegisteredLocalizerTopLeftHandCorner: 0x00221467,\n RegisteredLocalizerBottomRightHandCorner: 0x00221468,\n OphthalmicThicknessMapQualityRatingSequence: 0x00221470,\n RelevantOPTAttributesSequence: 0x00221472,\n TransformationMethodCodeSequence: 0x00221512,\n TransformationAlgorithmSequence: 0x00221513,\n OphthalmicAxialLengthMethod: 0x00221515,\n OphthalmicFOV: 0x00221517,\n TwoDimensionalToThreeDimensionalMapSequence: 0x00221518,\n WideFieldOphthalmicPhotographyQualityRatingSequence: 0x00221525,\n WideFieldOphthalmicPhotographyQualityThresholdSequence: 0x00221526,\n WideFieldOphthalmicPhotographyThresholdQualityRating: 0x00221527,\n XCoordinatesCenterPixelViewAngle: 0x00221528,\n YCoordinatesCenterPixelViewAngle: 0x00221529,\n NumberOfMapPoints: 0x00221530,\n TwoDimensionalToThreeDimensionalMapData: 0x00221531,\n DerivationAlgorithmSequence: 0x00221612,\n OphthalmicImageTypeCodeSequence: 0x00221615,\n OphthalmicImageTypeDescription: 0x00221616,\n ScanPatternTypeCodeSequence: 0x00221618,\n ReferencedSurfaceMeshIdentificationSequence: 0x00221620,\n OphthalmicVolumetricPropertiesFlag: 0x00221622,\n OphthalmicAnatomicReferencePointXCoordinate: 0x00221624,\n OphthalmicAnatomicReferencePointYCoordinate: 0x00221626,\n OphthalmicEnFaceImageQualityRatingSequence: 0x00221628,\n QualityThreshold: 0x00221630,\n OCTBscanAnalysisAcquisitionParametersSequence: 0x00221640,\n NumberofBscansPerFrame: 0x00221642,\n BscanSlabThickness: 0x00221643,\n DistanceBetweenBscanSlabs: 0x00221644,\n BscanCycleTime: 0x00221645,\n BscanCycleTimeVector: 0x00221646,\n AscanRate: 0x00221649,\n BscanRate: 0x00221650,\n SurfaceMeshZPixelOffset: 0x00221658,\n VisualFieldHorizontalExtent: 0x00240010,\n VisualFieldVerticalExtent: 0x00240011,\n VisualFieldShape: 0x00240012,\n ScreeningTestModeCodeSequence: 0x00240016,\n MaximumStimulusLuminance: 0x00240018,\n BackgroundLuminance: 0x00240020,\n StimulusColorCodeSequence: 0x00240021,\n BackgroundIlluminationColorCodeSequence: 0x00240024,\n StimulusArea: 0x00240025,\n StimulusPresentationTime: 0x00240028,\n FixationSequence: 0x00240032,\n FixationMonitoringCodeSequence: 0x00240033,\n VisualFieldCatchTrialSequence: 0x00240034,\n FixationCheckedQuantity: 0x00240035,\n PatientNotProperlyFixatedQuantity: 0x00240036,\n PresentedVisualStimuliDataFlag: 0x00240037,\n NumberOfVisualStimuli: 0x00240038,\n ExcessiveFixationLossesDataFlag: 0x00240039,\n ExcessiveFixationLosses: 0x00240040,\n StimuliRetestingQuantity: 0x00240042,\n CommentsOnPatientPerformanceOfVisualField: 0x00240044,\n FalseNegativesEstimateFlag: 0x00240045,\n FalseNegativesEstimate: 0x00240046,\n NegativeCatchTrialsQuantity: 0x00240048,\n FalseNegativesQuantity: 0x00240050,\n ExcessiveFalseNegativesDataFlag: 0x00240051,\n ExcessiveFalseNegatives: 0x00240052,\n FalsePositivesEstimateFlag: 0x00240053,\n FalsePositivesEstimate: 0x00240054,\n CatchTrialsDataFlag: 0x00240055,\n PositiveCatchTrialsQuantity: 0x00240056,\n TestPointNormalsDataFlag: 0x00240057,\n TestPointNormalsSequence: 0x00240058,\n GlobalDeviationProbabilityNormalsFlag: 0x00240059,\n FalsePositivesQuantity: 0x00240060,\n ExcessiveFalsePositivesDataFlag: 0x00240061,\n ExcessiveFalsePositives: 0x00240062,\n VisualFieldTestNormalsFlag: 0x00240063,\n ResultsNormalsSequence: 0x00240064,\n AgeCorrectedSensitivityDeviationAlgorithmSequence: 0x00240065,\n GlobalDeviationFromNormal: 0x00240066,\n GeneralizedDefectSensitivityDeviationAlgorithmSequence: 0x00240067,\n LocalizedDeviationFromNormal: 0x00240068,\n PatientReliabilityIndicator: 0x00240069,\n VisualFieldMeanSensitivity: 0x00240070,\n GlobalDeviationProbability: 0x00240071,\n LocalDeviationProbabilityNormalsFlag: 0x00240072,\n LocalizedDeviationProbability: 0x00240073,\n ShortTermFluctuationCalculated: 0x00240074,\n ShortTermFluctuation: 0x00240075,\n ShortTermFluctuationProbabilityCalculated: 0x00240076,\n ShortTermFluctuationProbability: 0x00240077,\n CorrectedLocalizedDeviationFromNormalCalculated: 0x00240078,\n CorrectedLocalizedDeviationFromNormal: 0x00240079,\n CorrectedLocalizedDeviationFromNormalProbabilityCalculated: 0x00240080,\n CorrectedLocalizedDeviationFromNormalProbability: 0x00240081,\n GlobalDeviationProbabilitySequence: 0x00240083,\n LocalizedDeviationProbabilitySequence: 0x00240085,\n FovealSensitivityMeasured: 0x00240086,\n FovealSensitivity: 0x00240087,\n VisualFieldTestDuration: 0x00240088,\n VisualFieldTestPointSequence: 0x00240089,\n VisualFieldTestPointXCoordinate: 0x00240090,\n VisualFieldTestPointYCoordinate: 0x00240091,\n AgeCorrectedSensitivityDeviationValue: 0x00240092,\n StimulusResults: 0x00240093,\n SensitivityValue: 0x00240094,\n RetestStimulusSeen: 0x00240095,\n RetestSensitivityValue: 0x00240096,\n VisualFieldTestPointNormalsSequence: 0x00240097,\n QuantifiedDefect: 0x00240098,\n AgeCorrectedSensitivityDeviationProbabilityValue: 0x00240100,\n GeneralizedDefectCorrectedSensitivityDeviationFlag: 0x00240102,\n GeneralizedDefectCorrectedSensitivityDeviationValue: 0x00240103,\n GeneralizedDefectCorrectedSensitivityDeviationProbabilityValue: 0x00240104,\n MinimumSensitivityValue: 0x00240105,\n BlindSpotLocalized: 0x00240106,\n BlindSpotXCoordinate: 0x00240107,\n BlindSpotYCoordinate: 0x00240108,\n VisualAcuityMeasurementSequence: 0x00240110,\n RefractiveParametersUsedOnPatientSequence: 0x00240112,\n MeasurementLaterality: 0x00240113,\n OphthalmicPatientClinicalInformationLeftEyeSequence: 0x00240114,\n OphthalmicPatientClinicalInformationRightEyeSequence: 0x00240115,\n FovealPointNormativeDataFlag: 0x00240117,\n FovealPointProbabilityValue: 0x00240118,\n ScreeningBaselineMeasured: 0x00240120,\n ScreeningBaselineMeasuredSequence: 0x00240122,\n ScreeningBaselineType: 0x00240124,\n ScreeningBaselineValue: 0x00240126,\n AlgorithmSource: 0x00240202,\n DataSetName: 0x00240306,\n DataSetVersion: 0x00240307,\n DataSetSource: 0x00240308,\n DataSetDescription: 0x00240309,\n VisualFieldTestReliabilityGlobalIndexSequence: 0x00240317,\n VisualFieldGlobalResultsIndexSequence: 0x00240320,\n DataObservationSequence: 0x00240325,\n IndexNormalsFlag: 0x00240338,\n IndexProbability: 0x00240341,\n IndexProbabilitySequence: 0x00240344,\n SamplesPerPixel: 0x00280002,\n SamplesPerPixelUsed: 0x00280003,\n PhotometricInterpretation: 0x00280004,\n ImageDimensions: 0x00280005, // retired\n PlanarConfiguration: 0x00280006,\n NumberOfFrames: 0x00280008,\n FrameIncrementPointer: 0x00280009,\n FrameDimensionPointer: 0x0028000a,\n Rows: 0x00280010,\n Columns: 0x00280011,\n Planes: 0x00280012, // retired\n UltrasoundColorDataPresent: 0x00280014,\n PixelSpacing: 0x00280030,\n ZoomFactor: 0x00280031,\n ZoomCenter: 0x00280032,\n PixelAspectRatio: 0x00280034,\n ImageFormat: 0x00280040, // retired\n ManipulatedImage: 0x00280050, // retired\n CorrectedImage: 0x00280051,\n CompressionRecognitionCode: 0x0028005f, // retired\n CompressionCode: 0x00280060, // retired\n CompressionOriginator: 0x00280061, // retired\n CompressionLabel: 0x00280062, // retired\n CompressionDescription: 0x00280063, // retired\n CompressionSequence: 0x00280065, // retired\n CompressionStepPointers: 0x00280066, // retired\n RepeatInterval: 0x00280068, // retired\n BitsGrouped: 0x00280069, // retired\n PerimeterTable: 0x00280070, // retired\n PerimeterValue: 0x00280071, // retired\n PredictorRows: 0x00280080, // retired\n PredictorColumns: 0x00280081, // retired\n PredictorConstants: 0x00280082, // retired\n BlockedPixels: 0x00280090, // retired\n BlockRows: 0x00280091, // retired\n BlockColumns: 0x00280092, // retired\n RowOverlap: 0x00280093, // retired\n ColumnOverlap: 0x00280094, // retired\n BitsAllocated: 0x00280100,\n BitsStored: 0x00280101,\n HighBit: 0x00280102,\n PixelRepresentation: 0x00280103,\n SmallestValidPixelValue: 0x00280104, // retired\n LargestValidPixelValue: 0x00280105, // retired\n SmallestImagePixelValue: 0x00280106,\n LargestImagePixelValue: 0x00280107,\n SmallestPixelValueInSeries: 0x00280108,\n LargestPixelValueInSeries: 0x00280109,\n SmallestImagePixelValueInPlane: 0x00280110, // retired\n LargestImagePixelValueInPlane: 0x00280111, // retired\n PixelPaddingValue: 0x00280120,\n PixelPaddingRangeLimit: 0x00280121,\n FloatPixelPaddingValue: 0x00280122,\n DoubleFloatPixelPaddingValue: 0x00280123,\n FloatPixelPaddingRangeLimit: 0x00280124,\n DoubleFloatPixelPaddingRangeLimit: 0x00280125,\n ImageLocation: 0x00280200, // retired\n QualityControlImage: 0x00280300,\n BurnedInAnnotation: 0x00280301,\n RecognizableVisualFeatures: 0x00280302,\n LongitudinalTemporalInformationModified: 0x00280303,\n ReferencedColorPaletteInstanceUID: 0x00280304,\n TransformLabel: 0x00280400, // retired\n TransformVersionNumber: 0x00280401, // retired\n NumberOfTransformSteps: 0x00280402, // retired\n SequenceOfCompressedData: 0x00280403, // retired\n DetailsOfCoefficients: 0x00280404, // retired\n RowsForNthOrderCoefficients: 0x00280400, // retired\n ColumnsForNthOrderCoefficients: 0x00280401, // retired\n CoefficientCoding: 0x00280402, // retired\n CoefficientCodingPointers: 0x00280403, // retired\n DCTLabel: 0x00280700, // retired\n DataBlockDescription: 0x00280701, // retired\n DataBlock: 0x00280702, // retired\n NormalizationFactorFormat: 0x00280710, // retired\n ZonalMapNumberFormat: 0x00280720, // retired\n ZonalMapLocation: 0x00280721, // retired\n ZonalMapFormat: 0x00280722, // retired\n AdaptiveMapFormat: 0x00280730, // retired\n CodeNumberFormat: 0x00280740, // retired\n CodeLabel: 0x00280800, // retired\n NumberOfTables: 0x00280802, // retired\n CodeTableLocation: 0x00280803, // retired\n BitsForCodeWord: 0x00280804, // retired\n ImageDataLocation: 0x00280808, // retired\n PixelSpacingCalibrationType: 0x00280a02,\n PixelSpacingCalibrationDescription: 0x00280a04,\n PixelIntensityRelationship: 0x00281040,\n PixelIntensityRelationshipSign: 0x00281041,\n WindowCenter: 0x00281050,\n WindowWidth: 0x00281051,\n RescaleIntercept: 0x00281052,\n RescaleSlope: 0x00281053,\n RescaleType: 0x00281054,\n WindowCenterWidthExplanation: 0x00281055,\n VOILUTFunction: 0x00281056,\n GrayScale: 0x00281080, // retired\n RecommendedViewingMode: 0x00281090,\n GrayLookupTableDescriptor: 0x00281100, // retired\n RedPaletteColorLookupTableDescriptor: 0x00281101,\n GreenPaletteColorLookupTableDescriptor: 0x00281102,\n BluePaletteColorLookupTableDescriptor: 0x00281103,\n AlphaPaletteColorLookupTableDescriptor: 0x00281104,\n LargeRedPaletteColorLookupTableDescriptor: 0x00281111, // retired\n LargeGreenPaletteColorLookupTableDescriptor: 0x00281112, // retired\n LargeBluePaletteColorLookupTableDescriptor: 0x00281113, // retired\n PaletteColorLookupTableUID: 0x00281199,\n GrayLookupTableData: 0x00281200, // retired\n RedPaletteColorLookupTableData: 0x00281201,\n GreenPaletteColorLookupTableData: 0x00281202,\n BluePaletteColorLookupTableData: 0x00281203,\n AlphaPaletteColorLookupTableData: 0x00281204,\n LargeRedPaletteColorLookupTableData: 0x00281211, // retired\n LargeGreenPaletteColorLookupTableData: 0x00281212, // retired\n LargeBluePaletteColorLookupTableData: 0x00281213, // retired\n LargePaletteColorLookupTableUID: 0x00281214, // retired\n SegmentedRedPaletteColorLookupTableData: 0x00281221,\n SegmentedGreenPaletteColorLookupTableData: 0x00281222,\n SegmentedBluePaletteColorLookupTableData: 0x00281223,\n SegmentedAlphaPaletteColorLookupTableData: 0x00281224,\n StoredValueColorRangeSequence: 0x00281230,\n MinimumStoredValueMapped: 0x00281231,\n MaximumStoredValueMapped: 0x00281232,\n BreastImplantPresent: 0x00281300,\n PartialView: 0x00281350,\n PartialViewDescription: 0x00281351,\n PartialViewCodeSequence: 0x00281352,\n SpatialLocationsPreserved: 0x0028135a,\n DataFrameAssignmentSequence: 0x00281401,\n DataPathAssignment: 0x00281402,\n BitsMappedToColorLookupTable: 0x00281403,\n BlendingLUT1Sequence: 0x00281404,\n BlendingLUT1TransferFunction: 0x00281405,\n BlendingWeightConstant: 0x00281406,\n BlendingLookupTableDescriptor: 0x00281407,\n BlendingLookupTableData: 0x00281408,\n EnhancedPaletteColorLookupTableSequence: 0x0028140b,\n BlendingLUT2Sequence: 0x0028140c,\n BlendingLUT2TransferFunction: 0x0028140d,\n DataPathID: 0x0028140e,\n RGBLUTTransferFunction: 0x0028140f,\n AlphaLUTTransferFunction: 0x00281410,\n ICCProfile: 0x00282000,\n ColorSpace: 0x00282002,\n LossyImageCompression: 0x00282110,\n LossyImageCompressionRatio: 0x00282112,\n LossyImageCompressionMethod: 0x00282114,\n ModalityLUTSequence: 0x00283000,\n LUTDescriptor: 0x00283002,\n LUTExplanation: 0x00283003,\n ModalityLUTType: 0x00283004,\n LUTData: 0x00283006,\n VOILUTSequence: 0x00283010,\n SoftcopyVOILUTSequence: 0x00283110,\n ImagePresentationComments: 0x00284000, // retired\n BiPlaneAcquisitionSequence: 0x00285000, // retired\n RepresentativeFrameNumber: 0x00286010,\n FrameNumbersOfInterest: 0x00286020,\n FrameOfInterestDescription: 0x00286022,\n FrameOfInterestType: 0x00286023,\n MaskPointers: 0x00286030, // retired\n RWavePointer: 0x00286040,\n MaskSubtractionSequence: 0x00286100,\n MaskOperation: 0x00286101,\n ApplicableFrameRange: 0x00286102,\n MaskFrameNumbers: 0x00286110,\n ContrastFrameAveraging: 0x00286112,\n MaskSubPixelShift: 0x00286114,\n TIDOffset: 0x00286120,\n MaskOperationExplanation: 0x00286190,\n EquipmentAdministratorSequence: 0x00287000,\n NumberOfDisplaySubsystems: 0x00287001,\n CurrentConfigurationID: 0x00287002,\n DisplaySubsystemID: 0x00287003,\n DisplaySubsystemName: 0x00287004,\n DisplaySubsystemDescription: 0x00287005,\n SystemStatus: 0x00287006,\n SystemStatusComment: 0x00287007,\n TargetLuminanceCharacteristicsSequence: 0x00287008,\n LuminanceCharacteristicsID: 0x00287009,\n DisplaySubsystemConfigurationSequence: 0x0028700a,\n ConfigurationID: 0x0028700b,\n ConfigurationName: 0x0028700c,\n ConfigurationDescription: 0x0028700d,\n ReferencedTargetLuminanceCharacteristicsID: 0x0028700e,\n QAResultsSequence: 0x0028700f,\n DisplaySubsystemQAResultsSequence: 0x00287010,\n ConfigurationQAResultsSequence: 0x00287011,\n MeasurementEquipmentSequence: 0x00287012,\n MeasurementFunctions: 0x00287013,\n MeasurementEquipmentType: 0x00287014,\n VisualEvaluationResultSequence: 0x00287015,\n DisplayCalibrationResultSequence: 0x00287016,\n DDLValue: 0x00287017,\n CIExyWhitePoint: 0x00287018,\n DisplayFunctionType: 0x00287019,\n GammaValue: 0x0028701a,\n NumberOfLuminancePoints: 0x0028701b,\n LuminanceResponseSequence: 0x0028701c,\n TargetMinimumLuminance: 0x0028701d,\n TargetMaximumLuminance: 0x0028701e,\n LuminanceValue: 0x0028701f,\n LuminanceResponseDescription: 0x00287020,\n WhitePointFlag: 0x00287021,\n DisplayDeviceTypeCodeSequence: 0x00287022,\n DisplaySubsystemSequence: 0x00287023,\n LuminanceResultSequence: 0x00287024,\n AmbientLightValueSource: 0x00287025,\n MeasuredCharacteristics: 0x00287026,\n LuminanceUniformityResultSequence: 0x00287027,\n VisualEvaluationTestSequence: 0x00287028,\n TestResult: 0x00287029,\n TestResultComment: 0x0028702a,\n TestImageValidation: 0x0028702b,\n TestPatternCodeSequence: 0x0028702c,\n MeasurementPatternCodeSequence: 0x0028702d,\n VisualEvaluationMethodCodeSequence: 0x0028702e,\n PixelDataProviderURL: 0x00287fe0,\n DataPointRows: 0x00289001,\n DataPointColumns: 0x00289002,\n SignalDomainColumns: 0x00289003,\n LargestMonochromePixelValue: 0x00289099, // retired\n DataRepresentation: 0x00289108,\n PixelMeasuresSequence: 0x00289110,\n FrameVOILUTSequence: 0x00289132,\n PixelValueTransformationSequence: 0x00289145,\n SignalDomainRows: 0x00289235,\n DisplayFilterPercentage: 0x00289411,\n FramePixelShiftSequence: 0x00289415,\n SubtractionItemID: 0x00289416,\n PixelIntensityRelationshipLUTSequence: 0x00289422,\n FramePixelDataPropertiesSequence: 0x00289443,\n GeometricalProperties: 0x00289444,\n GeometricMaximumDistortion: 0x00289445,\n ImageProcessingApplied: 0x00289446,\n MaskSelectionMode: 0x00289454,\n LUTFunction: 0x00289474,\n MaskVisibilityPercentage: 0x00289478,\n PixelShiftSequence: 0x00289501,\n RegionPixelShiftSequence: 0x00289502,\n VerticesOfTheRegion: 0x00289503,\n MultiFramePresentationSequence: 0x00289505,\n PixelShiftFrameRange: 0x00289506,\n LUTFrameRange: 0x00289507,\n ImageToEquipmentMappingMatrix: 0x00289520,\n EquipmentCoordinateSystemIdentification: 0x00289537,\n StudyStatusID: 0x0032000a, // retired\n StudyPriorityID: 0x0032000c, // retired\n StudyIDIssuer: 0x00320012, // retired\n StudyVerifiedDate: 0x00320032, // retired\n StudyVerifiedTime: 0x00320033, // retired\n StudyReadDate: 0x00320034, // retired\n StudyReadTime: 0x00320035, // retired\n ScheduledStudyStartDate: 0x00321000, // retired\n ScheduledStudyStartTime: 0x00321001, // retired\n ScheduledStudyStopDate: 0x00321010, // retired\n ScheduledStudyStopTime: 0x00321011, // retired\n ScheduledStudyLocation: 0x00321020, // retired\n ScheduledStudyLocationAETitle: 0x00321021, // retired\n ReasonForStudy: 0x00321030, // retired\n RequestingPhysicianIdentificationSequence: 0x00321031,\n RequestingPhysician: 0x00321032,\n RequestingService: 0x00321033,\n RequestingServiceCodeSequence: 0x00321034,\n StudyArrivalDate: 0x00321040, // retired\n StudyArrivalTime: 0x00321041, // retired\n StudyCompletionDate: 0x00321050, // retired\n StudyCompletionTime: 0x00321051, // retired\n StudyComponentStatusID: 0x00321055, // retired\n RequestedProcedureDescription: 0x00321060,\n RequestedProcedureCodeSequence: 0x00321064,\n RequestedContrastAgent: 0x00321070,\n StudyComments: 0x00324000, // retired\n ReferencedPatientAliasSequence: 0x00380004,\n VisitStatusID: 0x00380008,\n AdmissionID: 0x00380010,\n IssuerOfAdmissionID: 0x00380011, // retired\n IssuerOfAdmissionIDSequence: 0x00380014,\n RouteOfAdmissions: 0x00380016,\n ScheduledAdmissionDate: 0x0038001a, // retired\n ScheduledAdmissionTime: 0x0038001b, // retired\n ScheduledDischargeDate: 0x0038001c, // retired\n ScheduledDischargeTime: 0x0038001d, // retired\n ScheduledPatientInstitutionResidence: 0x0038001e, // retired\n AdmittingDate: 0x00380020,\n AdmittingTime: 0x00380021,\n DischargeDate: 0x00380030, // retired\n DischargeTime: 0x00380032, // retired\n DischargeDiagnosisDescription: 0x00380040, // retired\n DischargeDiagnosisCodeSequence: 0x00380044, // retired\n SpecialNeeds: 0x00380050,\n ServiceEpisodeID: 0x00380060,\n IssuerOfServiceEpisodeID: 0x00380061, // retired\n ServiceEpisodeDescription: 0x00380062,\n IssuerOfServiceEpisodeIDSequence: 0x00380064,\n PertinentDocumentsSequence: 0x00380100,\n PertinentResourcesSequence: 0x00380101,\n ResourceDescription: 0x00380102,\n CurrentPatientLocation: 0x00380300,\n PatientInstitutionResidence: 0x00380400,\n PatientState: 0x00380500,\n PatientClinicalTrialParticipationSequence: 0x00380502,\n VisitComments: 0x00384000,\n WaveformOriginality: 0x003a0004,\n NumberOfWaveformChannels: 0x003a0005,\n NumberOfWaveformSamples: 0x003a0010,\n SamplingFrequency: 0x003a001a,\n MultiplexGroupLabel: 0x003a0020,\n ChannelDefinitionSequence: 0x003a0200,\n WaveformChannelNumber: 0x003a0202,\n ChannelLabel: 0x003a0203,\n ChannelStatus: 0x003a0205,\n ChannelSourceSequence: 0x003a0208,\n ChannelSourceModifiersSequence: 0x003a0209,\n SourceWaveformSequence: 0x003a020a,\n ChannelDerivationDescription: 0x003a020c,\n ChannelSensitivity: 0x003a0210,\n ChannelSensitivityUnitsSequence: 0x003a0211,\n ChannelSensitivityCorrectionFactor: 0x003a0212,\n ChannelBaseline: 0x003a0213,\n ChannelTimeSkew: 0x003a0214,\n ChannelSampleSkew: 0x003a0215,\n ChannelOffset: 0x003a0218,\n WaveformBitsStored: 0x003a021a,\n FilterLowFrequency: 0x003a0220,\n FilterHighFrequency: 0x003a0221,\n NotchFilterFrequency: 0x003a0222,\n NotchFilterBandwidth: 0x003a0223,\n WaveformDataDisplayScale: 0x003a0230,\n WaveformDisplayBackgroundCIELabValue: 0x003a0231,\n WaveformPresentationGroupSequence: 0x003a0240,\n PresentationGroupNumber: 0x003a0241,\n ChannelDisplaySequence: 0x003a0242,\n ChannelRecommendedDisplayCIELabValue: 0x003a0244,\n ChannelPosition: 0x003a0245,\n DisplayShadingFlag: 0x003a0246,\n FractionalChannelDisplayScale: 0x003a0247,\n AbsoluteChannelDisplayScale: 0x003a0248,\n MultiplexedAudioChannelsDescriptionCodeSequence: 0x003a0300,\n ChannelIdentificationCode: 0x003a0301,\n ChannelMode: 0x003a0302,\n ScheduledStationAETitle: 0x00400001,\n ScheduledProcedureStepStartDate: 0x00400002,\n ScheduledProcedureStepStartTime: 0x00400003,\n ScheduledProcedureStepEndDate: 0x00400004,\n ScheduledProcedureStepEndTime: 0x00400005,\n ScheduledPerformingPhysicianName: 0x00400006,\n ScheduledProcedureStepDescription: 0x00400007,\n ScheduledProtocolCodeSequence: 0x00400008,\n ScheduledProcedureStepID: 0x00400009,\n StageCodeSequence: 0x0040000a,\n ScheduledPerformingPhysicianIdentificationSequence: 0x0040000b,\n ScheduledStationName: 0x00400010,\n ScheduledProcedureStepLocation: 0x00400011,\n PreMedication: 0x00400012,\n ScheduledProcedureStepStatus: 0x00400020,\n OrderPlacerIdentifierSequence: 0x00400026,\n OrderFillerIdentifierSequence: 0x00400027,\n LocalNamespaceEntityID: 0x00400031,\n UniversalEntityID: 0x00400032,\n UniversalEntityIDType: 0x00400033,\n IdentifierTypeCode: 0x00400035,\n AssigningFacilitySequence: 0x00400036,\n AssigningJurisdictionCodeSequence: 0x00400039,\n AssigningAgencyOrDepartmentCodeSequence: 0x0040003a,\n ScheduledProcedureStepSequence: 0x00400100,\n ReferencedNonImageCompositeSOPInstanceSequence: 0x00400220,\n PerformedStationAETitle: 0x00400241,\n PerformedStationName: 0x00400242,\n PerformedLocation: 0x00400243,\n PerformedProcedureStepStartDate: 0x00400244,\n PerformedProcedureStepStartTime: 0x00400245,\n PerformedProcedureStepEndDate: 0x00400250,\n PerformedProcedureStepEndTime: 0x00400251,\n PerformedProcedureStepStatus: 0x00400252,\n PerformedProcedureStepID: 0x00400253,\n PerformedProcedureStepDescription: 0x00400254,\n PerformedProcedureTypeDescription: 0x00400255,\n PerformedProtocolCodeSequence: 0x00400260,\n PerformedProtocolType: 0x00400261,\n ScheduledStepAttributesSequence: 0x00400270,\n RequestAttributesSequence: 0x00400275,\n CommentsOnThePerformedProcedureStep: 0x00400280,\n PerformedProcedureStepDiscontinuationReasonCodeSequence: 0x00400281,\n QuantitySequence: 0x00400293,\n Quantity: 0x00400294,\n MeasuringUnitsSequence: 0x00400295,\n BillingItemSequence: 0x00400296,\n TotalTimeOfFluoroscopy: 0x00400300, // retired\n TotalNumberOfExposures: 0x00400301, // retired\n EntranceDose: 0x00400302,\n ExposedArea: 0x00400303,\n DistanceSourceToEntrance: 0x00400306,\n DistanceSourceToSupport: 0x00400307, // retired\n ExposureDoseSequence: 0x0040030e, // retired\n CommentsOnRadiationDose: 0x00400310,\n XRayOutput: 0x00400312,\n HalfValueLayer: 0x00400314,\n OrganDose: 0x00400316,\n OrganExposed: 0x00400318,\n BillingProcedureStepSequence: 0x00400320,\n FilmConsumptionSequence: 0x00400321,\n BillingSuppliesAndDevicesSequence: 0x00400324,\n ReferencedProcedureStepSequence: 0x00400330, // retired\n PerformedSeriesSequence: 0x00400340,\n CommentsOnTheScheduledProcedureStep: 0x00400400,\n ProtocolContextSequence: 0x00400440,\n ContentItemModifierSequence: 0x00400441,\n ScheduledSpecimenSequence: 0x00400500,\n SpecimenAccessionNumber: 0x0040050a, // retired\n ContainerIdentifier: 0x00400512,\n IssuerOfTheContainerIdentifierSequence: 0x00400513,\n AlternateContainerIdentifierSequence: 0x00400515,\n ContainerTypeCodeSequence: 0x00400518,\n ContainerDescription: 0x0040051a,\n ContainerComponentSequence: 0x00400520,\n SpecimenSequence: 0x00400550, // retired\n SpecimenIdentifier: 0x00400551,\n SpecimenDescriptionSequenceTrial: 0x00400552, // retired\n SpecimenDescriptionTrial: 0x00400553, // retired\n SpecimenUID: 0x00400554,\n AcquisitionContextSequence: 0x00400555,\n AcquisitionContextDescription: 0x00400556,\n SpecimenTypeCodeSequence: 0x0040059a,\n SpecimenDescriptionSequence: 0x00400560,\n IssuerOfTheSpecimenIdentifierSequence: 0x00400562,\n SpecimenShortDescription: 0x00400600,\n SpecimenDetailedDescription: 0x00400602,\n SpecimenPreparationSequence: 0x00400610,\n SpecimenPreparationStepContentItemSequence: 0x00400612,\n SpecimenLocalizationContentItemSequence: 0x00400620,\n SlideIdentifier: 0x004006fa, // retired\n ImageCenterPointCoordinatesSequence: 0x0040071a,\n XOffsetInSlideCoordinateSystem: 0x0040072a,\n YOffsetInSlideCoordinateSystem: 0x0040073a,\n ZOffsetInSlideCoordinateSystem: 0x0040074a,\n PixelSpacingSequence: 0x004008d8, // retired\n CoordinateSystemAxisCodeSequence: 0x004008da, // retired\n MeasurementUnitsCodeSequence: 0x004008ea,\n VitalStainCodeSequenceTrial: 0x004009f8, // retired\n RequestedProcedureID: 0x00401001,\n ReasonForTheRequestedProcedure: 0x00401002,\n RequestedProcedurePriority: 0x00401003,\n PatientTransportArrangements: 0x00401004,\n RequestedProcedureLocation: 0x00401005,\n PlacerOrderNumberProcedure: 0x00401006, // retired\n FillerOrderNumberProcedure: 0x00401007, // retired\n ConfidentialityCode: 0x00401008,\n ReportingPriority: 0x00401009,\n ReasonForRequestedProcedureCodeSequence: 0x0040100a,\n NamesOfIntendedRecipientsOfResults: 0x00401010,\n IntendedRecipientsOfResultsIdentificationSequence: 0x00401011,\n ReasonForPerformedProcedureCodeSequence: 0x00401012,\n RequestedProcedureDescriptionTrial: 0x00401060, // retired\n PersonIdentificationCodeSequence: 0x00401101,\n PersonAddress: 0x00401102,\n PersonTelephoneNumbers: 0x00401103,\n PersonTelecomInformation: 0x00401104,\n RequestedProcedureComments: 0x00401400,\n ReasonForTheImagingServiceRequest: 0x00402001, // retired\n IssueDateOfImagingServiceRequest: 0x00402004,\n IssueTimeOfImagingServiceRequest: 0x00402005,\n PlacerOrderNumberImagingServiceRequestRetired: 0x00402006, // retired\n FillerOrderNumberImagingServiceRequestRetired: 0x00402007, // retired\n OrderEnteredBy: 0x00402008,\n OrderEntererLocation: 0x00402009,\n OrderCallbackPhoneNumber: 0x00402010,\n OrderCallbackTelecomInformation: 0x00402011,\n PlacerOrderNumberImagingServiceRequest: 0x00402016,\n FillerOrderNumberImagingServiceRequest: 0x00402017,\n ImagingServiceRequestComments: 0x00402400,\n ConfidentialityConstraintOnPatientDataDescription: 0x00403001,\n GeneralPurposeScheduledProcedureStepStatus: 0x00404001, // retired\n GeneralPurposePerformedProcedureStepStatus: 0x00404002, // retired\n GeneralPurposeScheduledProcedureStepPriority: 0x00404003, // retired\n ScheduledProcessingApplicationsCodeSequence: 0x00404004, // retired\n ScheduledProcedureStepStartDateTime: 0x00404005,\n MultipleCopiesFlag: 0x00404006, // retired\n PerformedProcessingApplicationsCodeSequence: 0x00404007, // retired\n HumanPerformerCodeSequence: 0x00404009,\n ScheduledProcedureStepModificationDateTime: 0x00404010,\n ExpectedCompletionDateTime: 0x00404011,\n ResultingGeneralPurposePerformedProcedureStepsSequence: 0x00404015, // retired\n ReferencedGeneralPurposeScheduledProcedureStepSequence: 0x00404016, // retired\n ScheduledWorkitemCodeSequence: 0x00404018,\n PerformedWorkitemCodeSequence: 0x00404019,\n InputAvailabilityFlag: 0x00404020, // retired\n InputInformationSequence: 0x00404021,\n RelevantInformationSequence: 0x00404022, // retired\n ReferencedGeneralPurposeScheduledProcedureStepTransactionUID: 0x00404023, // retired\n ScheduledStationNameCodeSequence: 0x00404025,\n ScheduledStationClassCodeSequence: 0x00404026,\n ScheduledStationGeographicLocationCodeSequence: 0x00404027,\n PerformedStationNameCodeSequence: 0x00404028,\n PerformedStationClassCodeSequence: 0x00404029,\n PerformedStationGeographicLocationCodeSequence: 0x00404030,\n RequestedSubsequentWorkitemCodeSequence: 0x00404031, // retired\n NonDICOMOutputCodeSequence: 0x00404032, // retired\n OutputInformationSequence: 0x00404033,\n ScheduledHumanPerformersSequence: 0x00404034,\n ActualHumanPerformersSequence: 0x00404035,\n HumanPerformerOrganization: 0x00404036,\n HumanPerformerName: 0x00404037,\n RawDataHandling: 0x00404040,\n InputReadinessState: 0x00404041,\n PerformedProcedureStepStartDateTime: 0x00404050,\n PerformedProcedureStepEndDateTime: 0x00404051,\n ProcedureStepCancellationDateTime: 0x00404052,\n OutputDestinationSequence: 0x00404070,\n DICOMStorageSequence: 0x00404071,\n STOWRSStorageSequence: 0x00404072,\n StorageURL: 0x00404073,\n XDSStorageSequence: 0x00404074,\n EntranceDoseInmGy: 0x00408302,\n EntranceDoseDerivation: 0x00408303,\n ParametricMapFrameTypeSequence: 0x00409092,\n ReferencedImageRealWorldValueMappingSequence: 0x00409094,\n RealWorldValueMappingSequence: 0x00409096,\n PixelValueMappingCodeSequence: 0x00409098,\n LUTLabel: 0x00409210,\n RealWorldValueLastValueMapped: 0x00409211,\n RealWorldValueLUTData: 0x00409212,\n DoubleFloatRealWorldValueLastValueMapped: 0x00409213,\n DoubleFloatRealWorldValueFirstValueMapped: 0x00409214,\n RealWorldValueFirstValueMapped: 0x00409216,\n QuantityDefinitionSequence: 0x00409220,\n RealWorldValueIntercept: 0x00409224,\n RealWorldValueSlope: 0x00409225,\n FindingsFlagTrial: 0x0040a007, // retired\n RelationshipType: 0x0040a010,\n FindingsSequenceTrial: 0x0040a020, // retired\n FindingsGroupUIDTrial: 0x0040a021, // retired\n ReferencedFindingsGroupUIDTrial: 0x0040a022, // retired\n FindingsGroupRecordingDateTrial: 0x0040a023, // retired\n FindingsGroupRecordingTimeTrial: 0x0040a024, // retired\n FindingsSourceCategoryCodeSequenceTrial: 0x0040a026, // retired\n VerifyingOrganization: 0x0040a027,\n DocumentingOrganizationIdentifierCodeSequenceTrial: 0x0040a028, // retired\n VerificationDateTime: 0x0040a030,\n ObservationDateTime: 0x0040a032,\n ValueType: 0x0040a040,\n ConceptNameCodeSequence: 0x0040a043,\n MeasurementPrecisionDescriptionTrial: 0x0040a047, // retired\n ContinuityOfContent: 0x0040a050,\n UrgencyOrPriorityAlertsTrial: 0x0040a057, // retired\n SequencingIndicatorTrial: 0x0040a060, // retired\n DocumentIdentifierCodeSequenceTrial: 0x0040a066, // retired\n DocumentAuthorTrial: 0x0040a067, // retired\n DocumentAuthorIdentifierCodeSequenceTrial: 0x0040a068, // retired\n IdentifierCodeSequenceTrial: 0x0040a070, // retired\n VerifyingObserverSequence: 0x0040a073,\n ObjectBinaryIdentifierTrial: 0x0040a074, // retired\n VerifyingObserverName: 0x0040a075,\n DocumentingObserverIdentifierCodeSequenceTrial: 0x0040a076, // retired\n AuthorObserverSequence: 0x0040a078,\n ParticipantSequence: 0x0040a07a,\n CustodialOrganizationSequence: 0x0040a07c,\n ParticipationType: 0x0040a080,\n ParticipationDateTime: 0x0040a082,\n ObserverType: 0x0040a084,\n ProcedureIdentifierCodeSequenceTrial: 0x0040a085, // retired\n VerifyingObserverIdentificationCodeSequence: 0x0040a088,\n ObjectDirectoryBinaryIdentifierTrial: 0x0040a089, // retired\n EquivalentCDADocumentSequence: 0x0040a090, // retired\n ReferencedWaveformChannels: 0x0040a0b0,\n DateOfDocumentOrVerbalTransactionTrial: 0x0040a110, // retired\n TimeOfDocumentCreationOrVerbalTransactionTrial: 0x0040a112, // retired\n DateTime: 0x0040a120,\n Date: 0x0040a121,\n Time: 0x0040a122,\n PersonName: 0x0040a123,\n UID: 0x0040a124,\n ReportStatusIDTrial: 0x0040a125, // retired\n TemporalRangeType: 0x0040a130,\n ReferencedSamplePositions: 0x0040a132,\n ReferencedFrameNumbers: 0x0040a136,\n ReferencedTimeOffsets: 0x0040a138,\n ReferencedDateTime: 0x0040a13a,\n TextValue: 0x0040a160,\n FloatingPointValue: 0x0040a161,\n RationalNumeratorValue: 0x0040a162,\n RationalDenominatorValue: 0x0040a163,\n ObservationCategoryCodeSequenceTrial: 0x0040a167, // retired\n ConceptCodeSequence: 0x0040a168,\n BibliographicCitationTrial: 0x0040a16a, // retired\n PurposeOfReferenceCodeSequence: 0x0040a170,\n ObservationUID: 0x0040a171,\n ReferencedObservationUIDTrial: 0x0040a172, // retired\n ReferencedObservationClassTrial: 0x0040a173, // retired\n ReferencedObjectObservationClassTrial: 0x0040a174, // retired\n AnnotationGroupNumber: 0x0040a180,\n ObservationDateTrial: 0x0040a192, // retired\n ObservationTimeTrial: 0x0040a193, // retired\n MeasurementAutomationTrial: 0x0040a194, // retired\n ModifierCodeSequence: 0x0040a195,\n IdentificationDescriptionTrial: 0x0040a224, // retired\n CoordinatesSetGeometricTypeTrial: 0x0040a290, // retired\n AlgorithmCodeSequenceTrial: 0x0040a296, // retired\n AlgorithmDescriptionTrial: 0x0040a297, // retired\n PixelCoordinatesSetTrial: 0x0040a29a, // retired\n MeasuredValueSequence: 0x0040a300,\n NumericValueQualifierCodeSequence: 0x0040a301,\n CurrentObserverTrial: 0x0040a307, // retired\n NumericValue: 0x0040a30a,\n ReferencedAccessionSequenceTrial: 0x0040a313, // retired\n ReportStatusCommentTrial: 0x0040a33a, // retired\n ProcedureContextSequenceTrial: 0x0040a340, // retired\n VerbalSourceTrial: 0x0040a352, // retired\n AddressTrial: 0x0040a353, // retired\n TelephoneNumberTrial: 0x0040a354, // retired\n VerbalSourceIdentifierCodeSequenceTrial: 0x0040a358, // retired\n PredecessorDocumentsSequence: 0x0040a360,\n ReferencedRequestSequence: 0x0040a370,\n PerformedProcedureCodeSequence: 0x0040a372,\n CurrentRequestedProcedureEvidenceSequence: 0x0040a375,\n ReportDetailSequenceTrial: 0x0040a380, // retired\n PertinentOtherEvidenceSequence: 0x0040a385,\n HL7StructuredDocumentReferenceSequence: 0x0040a390,\n ObservationSubjectUIDTrial: 0x0040a402, // retired\n ObservationSubjectClassTrial: 0x0040a403, // retired\n ObservationSubjectTypeCodeSequenceTrial: 0x0040a404, // retired\n CompletionFlag: 0x0040a491,\n CompletionFlagDescription: 0x0040a492,\n VerificationFlag: 0x0040a493,\n ArchiveRequested: 0x0040a494,\n PreliminaryFlag: 0x0040a496,\n ContentTemplateSequence: 0x0040a504,\n IdenticalDocumentsSequence: 0x0040a525,\n ObservationSubjectContextFlagTrial: 0x0040a600, // retired\n ObserverContextFlagTrial: 0x0040a601, // retired\n ProcedureContextFlagTrial: 0x0040a603, // retired\n ContentSequence: 0x0040a730,\n RelationshipSequenceTrial: 0x0040a731, // retired\n RelationshipTypeCodeSequenceTrial: 0x0040a732, // retired\n LanguageCodeSequenceTrial: 0x0040a744, // retired\n UniformResourceLocatorTrial: 0x0040a992, // retired\n WaveformAnnotationSequence: 0x0040b020,\n TemplateIdentifier: 0x0040db00,\n TemplateVersion: 0x0040db06, // retired\n TemplateLocalVersion: 0x0040db07, // retired\n TemplateExtensionFlag: 0x0040db0b, // retired\n TemplateExtensionOrganizationUID: 0x0040db0c, // retired\n TemplateExtensionCreatorUID: 0x0040db0d, // retired\n ReferencedContentItemIdentifier: 0x0040db73,\n HL7InstanceIdentifier: 0x0040e001,\n HL7DocumentEffectiveTime: 0x0040e004,\n HL7DocumentTypeCodeSequence: 0x0040e006,\n DocumentClassCodeSequence: 0x0040e008,\n RetrieveURI: 0x0040e010,\n RetrieveLocationUID: 0x0040e011,\n TypeOfInstances: 0x0040e020,\n DICOMRetrievalSequence: 0x0040e021,\n DICOMMediaRetrievalSequence: 0x0040e022,\n WADORetrievalSequence: 0x0040e023,\n XDSRetrievalSequence: 0x0040e024,\n WADORSRetrievalSequence: 0x0040e025,\n RepositoryUniqueID: 0x0040e030,\n HomeCommunityID: 0x0040e031,\n DocumentTitle: 0x00420010,\n EncapsulatedDocument: 0x00420011,\n MIMETypeOfEncapsulatedDocument: 0x00420012,\n SourceInstanceSequence: 0x00420013,\n ListOfMIMETypes: 0x00420014,\n ProductPackageIdentifier: 0x00440001,\n SubstanceAdministrationApproval: 0x00440002,\n ApprovalStatusFurtherDescription: 0x00440003,\n ApprovalStatusDateTime: 0x00440004,\n ProductTypeCodeSequence: 0x00440007,\n ProductName: 0x00440008,\n ProductDescription: 0x00440009,\n ProductLotIdentifier: 0x0044000a,\n ProductExpirationDateTime: 0x0044000b,\n SubstanceAdministrationDateTime: 0x00440010,\n SubstanceAdministrationNotes: 0x00440011,\n SubstanceAdministrationDeviceID: 0x00440012,\n ProductParameterSequence: 0x00440013,\n SubstanceAdministrationParameterSequence: 0x00440019,\n ApprovalSequence: 0x00440100,\n AssertionCodeSequence: 0x00440101,\n AssertionUID: 0x00440102,\n AsserterIdentificationSequence: 0x00440103,\n AssertionDateTime: 0x00440104,\n AssertionExpirationDateTime: 0x00440105,\n AssertionComments: 0x00440106,\n RelatedAssertionSequence: 0x00440107,\n ReferencedAssertionUID: 0x00440108,\n ApprovalSubjectSequence: 0x00440109,\n OrganizationalRoleCodeSequence: 0x0044010a,\n LensDescription: 0x00460012,\n RightLensSequence: 0x00460014,\n LeftLensSequence: 0x00460015,\n UnspecifiedLateralityLensSequence: 0x00460016,\n CylinderSequence: 0x00460018,\n PrismSequence: 0x00460028,\n HorizontalPrismPower: 0x00460030,\n HorizontalPrismBase: 0x00460032,\n VerticalPrismPower: 0x00460034,\n VerticalPrismBase: 0x00460036,\n LensSegmentType: 0x00460038,\n OpticalTransmittance: 0x00460040,\n ChannelWidth: 0x00460042,\n PupilSize: 0x00460044,\n CornealSize: 0x00460046,\n AutorefractionRightEyeSequence: 0x00460050,\n AutorefractionLeftEyeSequence: 0x00460052,\n DistancePupillaryDistance: 0x00460060,\n NearPupillaryDistance: 0x00460062,\n IntermediatePupillaryDistance: 0x00460063,\n OtherPupillaryDistance: 0x00460064,\n KeratometryRightEyeSequence: 0x00460070,\n KeratometryLeftEyeSequence: 0x00460071,\n SteepKeratometricAxisSequence: 0x00460074,\n RadiusOfCurvature: 0x00460075,\n KeratometricPower: 0x00460076,\n KeratometricAxis: 0x00460077,\n FlatKeratometricAxisSequence: 0x00460080,\n BackgroundColor: 0x00460092,\n Optotype: 0x00460094,\n OptotypePresentation: 0x00460095,\n SubjectiveRefractionRightEyeSequence: 0x00460097,\n SubjectiveRefractionLeftEyeSequence: 0x00460098,\n AddNearSequence: 0x00460100,\n AddIntermediateSequence: 0x00460101,\n AddOtherSequence: 0x00460102,\n AddPower: 0x00460104,\n ViewingDistance: 0x00460106,\n VisualAcuityTypeCodeSequence: 0x00460121,\n VisualAcuityRightEyeSequence: 0x00460122,\n VisualAcuityLeftEyeSequence: 0x00460123,\n VisualAcuityBothEyesOpenSequence: 0x00460124,\n ViewingDistanceType: 0x00460125,\n VisualAcuityModifiers: 0x00460135,\n DecimalVisualAcuity: 0x00460137,\n OptotypeDetailedDefinition: 0x00460139,\n ReferencedRefractiveMeasurementsSequence: 0x00460145,\n SpherePower: 0x00460146,\n CylinderPower: 0x00460147,\n CornealTopographySurface: 0x00460201,\n CornealVertexLocation: 0x00460202,\n PupilCentroidXCoordinate: 0x00460203,\n PupilCentroidYCoordinate: 0x00460204,\n EquivalentPupilRadius: 0x00460205,\n CornealTopographyMapTypeCodeSequence: 0x00460207,\n VerticesOfTheOutlineOfPupil: 0x00460208,\n CornealTopographyMappingNormalsSequence: 0x00460210,\n MaximumCornealCurvatureSequence: 0x00460211,\n MaximumCornealCurvature: 0x00460212,\n MaximumCornealCurvatureLocation: 0x00460213,\n MinimumKeratometricSequence: 0x00460215,\n SimulatedKeratometricCylinderSequence: 0x00460218,\n AverageCornealPower: 0x00460220,\n CornealISValue: 0x00460224,\n AnalyzedArea: 0x00460227,\n SurfaceRegularityIndex: 0x00460230,\n SurfaceAsymmetryIndex: 0x00460232,\n CornealEccentricityIndex: 0x00460234,\n KeratoconusPredictionIndex: 0x00460236,\n DecimalPotentialVisualAcuity: 0x00460238,\n CornealTopographyMapQualityEvaluation: 0x00460242,\n SourceImageCornealProcessedDataSequence: 0x00460244,\n CornealPointLocation: 0x00460247,\n CornealPointEstimated: 0x00460248,\n AxialPower: 0x00460249,\n TangentialPower: 0x00460250,\n RefractivePower: 0x00460251,\n RelativeElevation: 0x00460252,\n CornealWavefront: 0x00460253,\n ImagedVolumeWidth: 0x00480001,\n ImagedVolumeHeight: 0x00480002,\n ImagedVolumeDepth: 0x00480003,\n TotalPixelMatrixColumns: 0x00480006,\n TotalPixelMatrixRows: 0x00480007,\n TotalPixelMatrixOriginSequence: 0x00480008,\n SpecimenLabelInImage: 0x00480010,\n FocusMethod: 0x00480011,\n ExtendedDepthOfField: 0x00480012,\n NumberOfFocalPlanes: 0x00480013,\n DistanceBetweenFocalPlanes: 0x00480014,\n RecommendedAbsentPixelCIELabValue: 0x00480015,\n IlluminatorTypeCodeSequence: 0x00480100,\n ImageOrientationSlide: 0x00480102,\n OpticalPathSequence: 0x00480105,\n OpticalPathIdentifier: 0x00480106,\n OpticalPathDescription: 0x00480107,\n IlluminationColorCodeSequence: 0x00480108,\n SpecimenReferenceSequence: 0x00480110,\n CondenserLensPower: 0x00480111,\n ObjectiveLensPower: 0x00480112,\n ObjectiveLensNumericalAperture: 0x00480113,\n PaletteColorLookupTableSequence: 0x00480120,\n ReferencedImageNavigationSequence: 0x00480200,\n TopLeftHandCornerOfLocalizerArea: 0x00480201,\n BottomRightHandCornerOfLocalizerArea: 0x00480202,\n OpticalPathIdentificationSequence: 0x00480207,\n PlanePositionSlideSequence: 0x0048021a,\n ColumnPositionInTotalImagePixelMatrix: 0x0048021e,\n RowPositionInTotalImagePixelMatrix: 0x0048021f,\n PixelOriginInterpretation: 0x00480301,\n CalibrationImage: 0x00500004,\n DeviceSequence: 0x00500010,\n ContainerComponentTypeCodeSequence: 0x00500012,\n ContainerComponentThickness: 0x00500013,\n DeviceLength: 0x00500014,\n ContainerComponentWidth: 0x00500015,\n DeviceDiameter: 0x00500016,\n DeviceDiameterUnits: 0x00500017,\n DeviceVolume: 0x00500018,\n InterMarkerDistance: 0x00500019,\n ContainerComponentMaterial: 0x0050001a,\n ContainerComponentID: 0x0050001b,\n ContainerComponentLength: 0x0050001c,\n ContainerComponentDiameter: 0x0050001d,\n ContainerComponentDescription: 0x0050001e,\n DeviceDescription: 0x00500020,\n ContrastBolusIngredientPercentByVolume: 0x00520001,\n OCTFocalDistance: 0x00520002,\n BeamSpotSize: 0x00520003,\n EffectiveRefractiveIndex: 0x00520004,\n OCTAcquisitionDomain: 0x00520006,\n OCTOpticalCenterWavelength: 0x00520007,\n AxialResolution: 0x00520008,\n RangingDepth: 0x00520009,\n ALineRate: 0x00520011,\n ALinesPerFrame: 0x00520012,\n CatheterRotationalRate: 0x00520013,\n ALinePixelSpacing: 0x00520014,\n ModeOfPercutaneousAccessSequence: 0x00520016,\n IntravascularOCTFrameTypeSequence: 0x00520025,\n OCTZOffsetApplied: 0x00520026,\n IntravascularFrameContentSequence: 0x00520027,\n IntravascularLongitudinalDistance: 0x00520028,\n IntravascularOCTFrameContentSequence: 0x00520029,\n OCTZOffsetCorrection: 0x00520030,\n CatheterDirectionOfRotation: 0x00520031,\n SeamLineLocation: 0x00520033,\n FirstALineLocation: 0x00520034,\n SeamLineIndex: 0x00520036,\n NumberOfPaddedALines: 0x00520038,\n InterpolationType: 0x00520039,\n RefractiveIndexApplied: 0x0052003a,\n EnergyWindowVector: 0x00540010,\n NumberOfEnergyWindows: 0x00540011,\n EnergyWindowInformationSequence: 0x00540012,\n EnergyWindowRangeSequence: 0x00540013,\n EnergyWindowLowerLimit: 0x00540014,\n EnergyWindowUpperLimit: 0x00540015,\n RadiopharmaceuticalInformationSequence: 0x00540016,\n ResidualSyringeCounts: 0x00540017,\n EnergyWindowName: 0x00540018,\n DetectorVector: 0x00540020,\n NumberOfDetectors: 0x00540021,\n DetectorInformationSequence: 0x00540022,\n PhaseVector: 0x00540030,\n NumberOfPhases: 0x00540031,\n PhaseInformationSequence: 0x00540032,\n NumberOfFramesInPhase: 0x00540033,\n PhaseDelay: 0x00540036,\n PauseBetweenFrames: 0x00540038,\n PhaseDescription: 0x00540039,\n RotationVector: 0x00540050,\n NumberOfRotations: 0x00540051,\n RotationInformationSequence: 0x00540052,\n NumberOfFramesInRotation: 0x00540053,\n RRIntervalVector: 0x00540060,\n NumberOfRRIntervals: 0x00540061,\n GatedInformationSequence: 0x00540062,\n DataInformationSequence: 0x00540063,\n TimeSlotVector: 0x00540070,\n NumberOfTimeSlots: 0x00540071,\n TimeSlotInformationSequence: 0x00540072,\n TimeSlotTime: 0x00540073,\n SliceVector: 0x00540080,\n NumberOfSlices: 0x00540081,\n AngularViewVector: 0x00540090,\n TimeSliceVector: 0x00540100,\n NumberOfTimeSlices: 0x00540101,\n StartAngle: 0x00540200,\n TypeOfDetectorMotion: 0x00540202,\n TriggerVector: 0x00540210,\n NumberOfTriggersInPhase: 0x00540211,\n ViewCodeSequence: 0x00540220,\n ViewModifierCodeSequence: 0x00540222,\n RadionuclideCodeSequence: 0x00540300,\n AdministrationRouteCodeSequence: 0x00540302,\n RadiopharmaceuticalCodeSequence: 0x00540304,\n CalibrationDataSequence: 0x00540306,\n EnergyWindowNumber: 0x00540308,\n ImageID: 0x00540400,\n PatientOrientationCodeSequence: 0x00540410,\n PatientOrientationModifierCodeSequence: 0x00540412,\n PatientGantryRelationshipCodeSequence: 0x00540414,\n SliceProgressionDirection: 0x00540500,\n ScanProgressionDirection: 0x00540501,\n SeriesType: 0x00541000,\n Units: 0x00541001,\n CountsSource: 0x00541002,\n ReprojectionMethod: 0x00541004,\n SUVType: 0x00541006,\n RandomsCorrectionMethod: 0x00541100,\n AttenuationCorrectionMethod: 0x00541101,\n DecayCorrection: 0x00541102,\n ReconstructionMethod: 0x00541103,\n DetectorLinesOfResponseUsed: 0x00541104,\n ScatterCorrectionMethod: 0x00541105,\n AxialAcceptance: 0x00541200,\n AxialMash: 0x00541201,\n TransverseMash: 0x00541202,\n DetectorElementSize: 0x00541203,\n CoincidenceWindowWidth: 0x00541210,\n SecondaryCountsType: 0x00541220,\n FrameReferenceTime: 0x00541300,\n PrimaryPromptsCountsAccumulated: 0x00541310,\n SecondaryCountsAccumulated: 0x00541311,\n SliceSensitivityFactor: 0x00541320,\n DecayFactor: 0x00541321,\n DoseCalibrationFactor: 0x00541322,\n ScatterFractionFactor: 0x00541323,\n DeadTimeFactor: 0x00541324,\n ImageIndex: 0x00541330,\n CountsIncluded: 0x00541400, // retired\n DeadTimeCorrectionFlag: 0x00541401, // retired\n HistogramSequence: 0x00603000,\n HistogramNumberOfBins: 0x00603002,\n HistogramFirstBinValue: 0x00603004,\n HistogramLastBinValue: 0x00603006,\n HistogramBinWidth: 0x00603008,\n HistogramExplanation: 0x00603010,\n HistogramData: 0x00603020,\n SegmentationType: 0x00620001,\n SegmentSequence: 0x00620002,\n SegmentedPropertyCategoryCodeSequence: 0x00620003,\n SegmentNumber: 0x00620004,\n SegmentLabel: 0x00620005,\n SegmentDescription: 0x00620006,\n SegmentationAlgorithmIdentificationSequence: 0x00620007,\n SegmentAlgorithmType: 0x00620008,\n SegmentAlgorithmName: 0x00620009,\n SegmentIdentificationSequence: 0x0062000a,\n ReferencedSegmentNumber: 0x0062000b,\n RecommendedDisplayGrayscaleValue: 0x0062000c,\n RecommendedDisplayCIELabValue: 0x0062000d,\n MaximumFractionalValue: 0x0062000e,\n SegmentedPropertyTypeCodeSequence: 0x0062000f,\n SegmentationFractionalType: 0x00620010,\n SegmentedPropertyTypeModifierCodeSequence: 0x00620011,\n UsedSegmentsSequence: 0x00620012,\n TrackingID: 0x00620020,\n TrackingUID: 0x00620021,\n DeformableRegistrationSequence: 0x00640002,\n SourceFrameOfReferenceUID: 0x00640003,\n DeformableRegistrationGridSequence: 0x00640005,\n GridDimensions: 0x00640007,\n GridResolution: 0x00640008,\n VectorGridData: 0x00640009,\n PreDeformationMatrixRegistrationSequence: 0x0064000f,\n PostDeformationMatrixRegistrationSequence: 0x00640010,\n NumberOfSurfaces: 0x00660001,\n SurfaceSequence: 0x00660002,\n SurfaceNumber: 0x00660003,\n SurfaceComments: 0x00660004,\n SurfaceProcessing: 0x00660009,\n SurfaceProcessingRatio: 0x0066000a,\n SurfaceProcessingDescription: 0x0066000b,\n RecommendedPresentationOpacity: 0x0066000c,\n RecommendedPresentationType: 0x0066000d,\n FiniteVolume: 0x0066000e,\n Manifold: 0x00660010,\n SurfacePointsSequence: 0x00660011,\n SurfacePointsNormalsSequence: 0x00660012,\n SurfaceMeshPrimitivesSequence: 0x00660013,\n NumberOfSurfacePoints: 0x00660015,\n PointCoordinatesData: 0x00660016,\n PointPositionAccuracy: 0x00660017,\n MeanPointDistance: 0x00660018,\n MaximumPointDistance: 0x00660019,\n PointsBoundingBoxCoordinates: 0x0066001a,\n AxisOfRotation: 0x0066001b,\n CenterOfRotation: 0x0066001c,\n NumberOfVectors: 0x0066001e,\n VectorDimensionality: 0x0066001f,\n VectorAccuracy: 0x00660020,\n VectorCoordinateData: 0x00660021,\n TrianglePointIndexList: 0x00660023, // retired\n EdgePointIndexList: 0x00660024, // retired\n VertexPointIndexList: 0x00660025, // retired\n TriangleStripSequence: 0x00660026,\n TriangleFanSequence: 0x00660027,\n LineSequence: 0x00660028,\n PrimitivePointIndexList: 0x00660029, // retired\n SurfaceCount: 0x0066002a,\n ReferencedSurfaceSequence: 0x0066002b,\n ReferencedSurfaceNumber: 0x0066002c,\n SegmentSurfaceGenerationAlgorithmIdentificationSequence: 0x0066002d,\n SegmentSurfaceSourceInstanceSequence: 0x0066002e,\n AlgorithmFamilyCodeSequence: 0x0066002f,\n AlgorithmNameCodeSequence: 0x00660030,\n AlgorithmVersion: 0x00660031,\n AlgorithmParameters: 0x00660032,\n FacetSequence: 0x00660034,\n SurfaceProcessingAlgorithmIdentificationSequence: 0x00660035,\n AlgorithmName: 0x00660036,\n RecommendedPointRadius: 0x00660037,\n RecommendedLineThickness: 0x00660038,\n LongPrimitivePointIndexList: 0x00660040,\n LongTrianglePointIndexList: 0x00660041,\n LongEdgePointIndexList: 0x00660042,\n LongVertexPointIndexList: 0x00660043,\n TrackSetSequence: 0x00660101,\n TrackSequence: 0x00660102,\n RecommendedDisplayCIELabValueList: 0x00660103,\n TrackingAlgorithmIdentificationSequence: 0x00660104,\n TrackSetNumber: 0x00660105,\n TrackSetLabel: 0x00660106,\n TrackSetDescription: 0x00660107,\n TrackSetAnatomicalTypeCodeSequence: 0x00660108,\n MeasurementsSequence: 0x00660121,\n TrackSetStatisticsSequence: 0x00660124,\n FloatingPointValues: 0x00660125,\n TrackPointIndexList: 0x00660129,\n TrackStatisticsSequence: 0x00660130,\n MeasurementValuesSequence: 0x00660132,\n DiffusionAcquisitionCodeSequence: 0x00660133,\n DiffusionModelCodeSequence: 0x00660134,\n ImplantSize: 0x00686210,\n ImplantTemplateVersion: 0x00686221,\n ReplacedImplantTemplateSequence: 0x00686222,\n ImplantType: 0x00686223,\n DerivationImplantTemplateSequence: 0x00686224,\n OriginalImplantTemplateSequence: 0x00686225,\n EffectiveDateTime: 0x00686226,\n ImplantTargetAnatomySequence: 0x00686230,\n InformationFromManufacturerSequence: 0x00686260,\n NotificationFromManufacturerSequence: 0x00686265,\n InformationIssueDateTime: 0x00686270,\n InformationSummary: 0x00686280,\n ImplantRegulatoryDisapprovalCodeSequence: 0x006862a0,\n OverallTemplateSpatialTolerance: 0x006862a5,\n HPGLDocumentSequence: 0x006862c0,\n HPGLDocumentID: 0x006862d0,\n HPGLDocumentLabel: 0x006862d5,\n ViewOrientationCodeSequence: 0x006862e0,\n ViewOrientationModifierCodeSequence: 0x006862f0,\n HPGLDocumentScaling: 0x006862f2,\n HPGLDocument: 0x00686300,\n HPGLContourPenNumber: 0x00686310,\n HPGLPenSequence: 0x00686320,\n HPGLPenNumber: 0x00686330,\n HPGLPenLabel: 0x00686340,\n HPGLPenDescription: 0x00686345,\n RecommendedRotationPoint: 0x00686346,\n BoundingRectangle: 0x00686347,\n ImplantTemplate3DModelSurfaceNumber: 0x00686350,\n SurfaceModelDescriptionSequence: 0x00686360,\n SurfaceModelLabel: 0x00686380,\n SurfaceModelScalingFactor: 0x00686390,\n MaterialsCodeSequence: 0x006863a0,\n CoatingMaterialsCodeSequence: 0x006863a4,\n ImplantTypeCodeSequence: 0x006863a8,\n FixationMethodCodeSequence: 0x006863ac,\n MatingFeatureSetsSequence: 0x006863b0,\n MatingFeatureSetID: 0x006863c0,\n MatingFeatureSetLabel: 0x006863d0,\n MatingFeatureSequence: 0x006863e0,\n MatingFeatureID: 0x006863f0,\n MatingFeatureDegreeOfFreedomSequence: 0x00686400,\n DegreeOfFreedomID: 0x00686410,\n DegreeOfFreedomType: 0x00686420,\n TwoDMatingFeatureCoordinatesSequence: 0x00686430,\n ReferencedHPGLDocumentID: 0x00686440,\n TwoDMatingPoint: 0x00686450,\n TwoDMatingAxes: 0x00686460,\n TwoDDegreeOfFreedomSequence: 0x00686470,\n ThreeDDegreeOfFreedomAxis: 0x00686490,\n RangeOfFreedom: 0x006864a0,\n ThreeDMatingPoint: 0x006864c0,\n ThreeDMatingAxes: 0x006864d0,\n TwoDDegreeOfFreedomAxis: 0x006864f0,\n PlanningLandmarkPointSequence: 0x00686500,\n PlanningLandmarkLineSequence: 0x00686510,\n PlanningLandmarkPlaneSequence: 0x00686520,\n PlanningLandmarkID: 0x00686530,\n PlanningLandmarkDescription: 0x00686540,\n PlanningLandmarkIdentificationCodeSequence: 0x00686545,\n TwoDPointCoordinatesSequence: 0x00686550,\n TwoDPointCoordinates: 0x00686560,\n ThreeDPointCoordinates: 0x00686590,\n TwoDLineCoordinatesSequence: 0x006865a0,\n TwoDLineCoordinates: 0x006865b0,\n ThreeDLineCoordinates: 0x006865d0,\n TwoDPlaneCoordinatesSequence: 0x006865e0,\n TwoDPlaneIntersection: 0x006865f0,\n ThreeDPlaneOrigin: 0x00686610,\n ThreeDPlaneNormal: 0x00686620,\n GraphicAnnotationSequence: 0x00700001,\n GraphicLayer: 0x00700002,\n BoundingBoxAnnotationUnits: 0x00700003,\n AnchorPointAnnotationUnits: 0x00700004,\n GraphicAnnotationUnits: 0x00700005,\n UnformattedTextValue: 0x00700006,\n TextObjectSequence: 0x00700008,\n GraphicObjectSequence: 0x00700009,\n BoundingBoxTopLeftHandCorner: 0x00700010,\n BoundingBoxBottomRightHandCorner: 0x00700011,\n BoundingBoxTextHorizontalJustification: 0x00700012,\n AnchorPoint: 0x00700014,\n AnchorPointVisibility: 0x00700015,\n GraphicDimensions: 0x00700020,\n NumberOfGraphicPoints: 0x00700021,\n GraphicData: 0x00700022,\n GraphicType: 0x00700023,\n GraphicFilled: 0x00700024,\n ImageRotationRetired: 0x00700040, // retired\n ImageHorizontalFlip: 0x00700041,\n ImageRotation: 0x00700042,\n DisplayedAreaTopLeftHandCornerTrial: 0x00700050, // retired\n DisplayedAreaBottomRightHandCornerTrial: 0x00700051, // retired\n DisplayedAreaTopLeftHandCorner: 0x00700052,\n DisplayedAreaBottomRightHandCorner: 0x00700053,\n DisplayedAreaSelectionSequence: 0x0070005a,\n GraphicLayerSequence: 0x00700060,\n GraphicLayerOrder: 0x00700062,\n GraphicLayerRecommendedDisplayGrayscaleValue: 0x00700066,\n GraphicLayerRecommendedDisplayRGBValue: 0x00700067, // retired\n GraphicLayerDescription: 0x00700068,\n ContentLabel: 0x00700080,\n ContentDescription: 0x00700081,\n PresentationCreationDate: 0x00700082,\n PresentationCreationTime: 0x00700083,\n ContentCreatorName: 0x00700084,\n ContentCreatorIdentificationCodeSequence: 0x00700086,\n AlternateContentDescriptionSequence: 0x00700087,\n PresentationSizeMode: 0x00700100,\n PresentationPixelSpacing: 0x00700101,\n PresentationPixelAspectRatio: 0x00700102,\n PresentationPixelMagnificationRatio: 0x00700103,\n GraphicGroupLabel: 0x00700207,\n GraphicGroupDescription: 0x00700208,\n CompoundGraphicSequence: 0x00700209,\n CompoundGraphicInstanceID: 0x00700226,\n FontName: 0x00700227,\n FontNameType: 0x00700228,\n CSSFontName: 0x00700229,\n RotationAngle: 0x00700230,\n TextStyleSequence: 0x00700231,\n LineStyleSequence: 0x00700232,\n FillStyleSequence: 0x00700233,\n GraphicGroupSequence: 0x00700234,\n TextColorCIELabValue: 0x00700241,\n HorizontalAlignment: 0x00700242,\n VerticalAlignment: 0x00700243,\n ShadowStyle: 0x00700244,\n ShadowOffsetX: 0x00700245,\n ShadowOffsetY: 0x00700246,\n ShadowColorCIELabValue: 0x00700247,\n Underlined: 0x00700248,\n Bold: 0x00700249,\n Italic: 0x00700250,\n PatternOnColorCIELabValue: 0x00700251,\n PatternOffColorCIELabValue: 0x00700252,\n LineThickness: 0x00700253,\n LineDashingStyle: 0x00700254,\n LinePattern: 0x00700255,\n FillPattern: 0x00700256,\n FillMode: 0x00700257,\n ShadowOpacity: 0x00700258,\n GapLength: 0x00700261,\n DiameterOfVisibility: 0x00700262,\n RotationPoint: 0x00700273,\n TickAlignment: 0x00700274,\n ShowTickLabel: 0x00700278,\n TickLabelAlignment: 0x00700279,\n CompoundGraphicUnits: 0x00700282,\n PatternOnOpacity: 0x00700284,\n PatternOffOpacity: 0x00700285,\n MajorTicksSequence: 0x00700287,\n TickPosition: 0x00700288,\n TickLabel: 0x00700289,\n CompoundGraphicType: 0x00700294,\n GraphicGroupID: 0x00700295,\n ShapeType: 0x00700306,\n RegistrationSequence: 0x00700308,\n MatrixRegistrationSequence: 0x00700309,\n MatrixSequence: 0x0070030a,\n FrameOfReferenceToDisplayedCoordinateSystemTransformationMatrix: 0x0070030b,\n FrameOfReferenceTransformationMatrixType: 0x0070030c,\n RegistrationTypeCodeSequence: 0x0070030d,\n FiducialDescription: 0x0070030f,\n FiducialIdentifier: 0x00700310,\n FiducialIdentifierCodeSequence: 0x00700311,\n ContourUncertaintyRadius: 0x00700312,\n UsedFiducialsSequence: 0x00700314,\n GraphicCoordinatesDataSequence: 0x00700318,\n FiducialUID: 0x0070031a,\n ReferencedFiducialUID: 0x0070031b,\n FiducialSetSequence: 0x0070031c,\n FiducialSequence: 0x0070031e,\n FiducialsPropertyCategoryCodeSequence: 0x0070031f,\n GraphicLayerRecommendedDisplayCIELabValue: 0x00700401,\n BlendingSequence: 0x00700402,\n RelativeOpacity: 0x00700403,\n ReferencedSpatialRegistrationSequence: 0x00700404,\n BlendingPosition: 0x00700405,\n PresentationDisplayCollectionUID: 0x00701101,\n PresentationSequenceCollectionUID: 0x00701102,\n PresentationSequencePositionIndex: 0x00701103,\n RenderedImageReferenceSequence: 0x00701104,\n VolumetricPresentationStateInputSequence: 0x00701201,\n PresentationInputType: 0x00701202,\n InputSequencePositionIndex: 0x00701203,\n Crop: 0x00701204,\n CroppingSpecificationIndex: 0x00701205,\n CompositingMethod: 0x00701206, // retired\n VolumetricPresentationInputNumber: 0x00701207,\n ImageVolumeGeometry: 0x00701208,\n VolumetricPresentationInputSetUID: 0x00701209,\n VolumetricPresentationInputSetSequence: 0x0070120a,\n GlobalCrop: 0x0070120b,\n GlobalCroppingSpecificationIndex: 0x0070120c,\n RenderingMethod: 0x0070120d,\n VolumeCroppingSequence: 0x00701301,\n VolumeCroppingMethod: 0x00701302,\n BoundingBoxCrop: 0x00701303,\n ObliqueCroppingPlaneSequence: 0x00701304,\n Plane: 0x00701305,\n PlaneNormal: 0x00701306,\n CroppingSpecificationNumber: 0x00701309,\n MultiPlanarReconstructionStyle: 0x00701501,\n MPRThicknessType: 0x00701502,\n MPRSlabThickness: 0x00701503,\n MPRTopLeftHandCorner: 0x00701505,\n MPRViewWidthDirection: 0x00701507,\n MPRViewWidth: 0x00701508,\n NumberOfVolumetricCurvePoints: 0x0070150c,\n VolumetricCurvePoints: 0x0070150d,\n MPRViewHeightDirection: 0x00701511,\n MPRViewHeight: 0x00701512,\n RenderProjection: 0x00701602,\n ViewpointPosition: 0x00701603,\n ViewpointLookAtPoint: 0x00701604,\n ViewpointUpDirection: 0x00701605,\n RenderFieldOfView: 0x00701606,\n SamplingStepSize: 0x00701607,\n ShadingStyle: 0x00701701,\n AmbientReflectionIntensity: 0x00701702,\n LightDirection: 0x00701703,\n DiffuseReflectionIntensity: 0x00701704,\n SpecularReflectionIntensity: 0x00701705,\n Shininess: 0x00701706,\n PresentationStateClassificationComponentSequence: 0x00701801,\n ComponentType: 0x00701802,\n ComponentInputSequence: 0x00701803,\n VolumetricPresentationInputIndex: 0x00701804,\n PresentationStateCompositorComponentSequence: 0x00701805,\n WeightingTransferFunctionSequence: 0x00701806,\n WeightingLookupTableDescriptor: 0x00701807,\n WeightingLookupTableData: 0x00701808,\n VolumetricAnnotationSequence: 0x00701901,\n ReferencedStructuredContextSequence: 0x00701903,\n ReferencedContentItem: 0x00701904,\n VolumetricPresentationInputAnnotationSequence: 0x00701905,\n AnnotationClipping: 0x00701907,\n PresentationAnimationStyle: 0x00701a01,\n RecommendedAnimationRate: 0x00701a03,\n AnimationCurveSequence: 0x00701a04,\n AnimationStepSize: 0x00701a05,\n SwivelRange: 0x00701a06,\n VolumetricCurveUpDirections: 0x00701a07,\n VolumeStreamSequence: 0x00701a08,\n RGBATransferFunctionDescription: 0x00701a09,\n AdvancedBlendingSequence: 0x00701b01,\n BlendingInputNumber: 0x00701b02,\n BlendingDisplayInputSequence: 0x00701b03,\n BlendingDisplaySequence: 0x00701b04,\n BlendingMode: 0x00701b06,\n TimeSeriesBlending: 0x00701b07,\n GeometryForDisplay: 0x00701b08,\n ThresholdSequence: 0x00701b11,\n ThresholdValueSequence: 0x00701b12,\n ThresholdType: 0x00701b13,\n ThresholdValue: 0x00701b14,\n HangingProtocolName: 0x00720002,\n HangingProtocolDescription: 0x00720004,\n HangingProtocolLevel: 0x00720006,\n HangingProtocolCreator: 0x00720008,\n HangingProtocolCreationDateTime: 0x0072000a,\n HangingProtocolDefinitionSequence: 0x0072000c,\n HangingProtocolUserIdentificationCodeSequence: 0x0072000e,\n HangingProtocolUserGroupName: 0x00720010,\n SourceHangingProtocolSequence: 0x00720012,\n NumberOfPriorsReferenced: 0x00720014,\n ImageSetsSequence: 0x00720020,\n ImageSetSelectorSequence: 0x00720022,\n ImageSetSelectorUsageFlag: 0x00720024,\n SelectorAttribute: 0x00720026,\n SelectorValueNumber: 0x00720028,\n TimeBasedImageSetsSequence: 0x00720030,\n ImageSetNumber: 0x00720032,\n ImageSetSelectorCategory: 0x00720034,\n RelativeTime: 0x00720038,\n RelativeTimeUnits: 0x0072003a,\n AbstractPriorValue: 0x0072003c,\n AbstractPriorCodeSequence: 0x0072003e,\n ImageSetLabel: 0x00720040,\n SelectorAttributeVR: 0x00720050,\n SelectorSequencePointer: 0x00720052,\n SelectorSequencePointerPrivateCreator: 0x00720054,\n SelectorAttributePrivateCreator: 0x00720056,\n SelectorAEValue: 0x0072005e,\n SelectorASValue: 0x0072005f,\n SelectorATValue: 0x00720060,\n SelectorDAValue: 0x00720061,\n SelectorCSValue: 0x00720062,\n SelectorDTValue: 0x00720063,\n SelectorISValue: 0x00720064,\n SelectorOBValue: 0x00720065,\n SelectorLOValue: 0x00720066,\n SelectorOFValue: 0x00720067,\n SelectorLTValue: 0x00720068,\n SelectorOWValue: 0x00720069,\n SelectorPNValue: 0x0072006a,\n SelectorTMValue: 0x0072006b,\n SelectorSHValue: 0x0072006c,\n SelectorUNValue: 0x0072006d,\n SelectorSTValue: 0x0072006e,\n SelectorUCValue: 0x0072006f,\n SelectorUTValue: 0x00720070,\n SelectorURValue: 0x00720071,\n SelectorDSValue: 0x00720072,\n SelectorODValue: 0x00720073,\n SelectorFDValue: 0x00720074,\n SelectorOLValue: 0x00720075,\n SelectorFLValue: 0x00720076,\n SelectorULValue: 0x00720078,\n SelectorUSValue: 0x0072007a,\n SelectorSLValue: 0x0072007c,\n SelectorSSValue: 0x0072007e,\n SelectorUIValue: 0x0072007f,\n SelectorCodeSequenceValue: 0x00720080,\n NumberOfScreens: 0x00720100,\n NominalScreenDefinitionSequence: 0x00720102,\n NumberOfVerticalPixels: 0x00720104,\n NumberOfHorizontalPixels: 0x00720106,\n DisplayEnvironmentSpatialPosition: 0x00720108,\n ScreenMinimumGrayscaleBitDepth: 0x0072010a,\n ScreenMinimumColorBitDepth: 0x0072010c,\n ApplicationMaximumRepaintTime: 0x0072010e,\n DisplaySetsSequence: 0x00720200,\n DisplaySetNumber: 0x00720202,\n DisplaySetLabel: 0x00720203,\n DisplaySetPresentationGroup: 0x00720204,\n DisplaySetPresentationGroupDescription: 0x00720206,\n PartialDataDisplayHandling: 0x00720208,\n SynchronizedScrollingSequence: 0x00720210,\n DisplaySetScrollingGroup: 0x00720212,\n NavigationIndicatorSequence: 0x00720214,\n NavigationDisplaySet: 0x00720216,\n ReferenceDisplaySets: 0x00720218,\n ImageBoxesSequence: 0x00720300,\n ImageBoxNumber: 0x00720302,\n ImageBoxLayoutType: 0x00720304,\n ImageBoxTileHorizontalDimension: 0x00720306,\n ImageBoxTileVerticalDimension: 0x00720308,\n ImageBoxScrollDirection: 0x00720310,\n ImageBoxSmallScrollType: 0x00720312,\n ImageBoxSmallScrollAmount: 0x00720314,\n ImageBoxLargeScrollType: 0x00720316,\n ImageBoxLargeScrollAmount: 0x00720318,\n ImageBoxOverlapPriority: 0x00720320,\n CineRelativeToRealTime: 0x00720330,\n FilterOperationsSequence: 0x00720400,\n FilterByCategory: 0x00720402,\n FilterByAttributePresence: 0x00720404,\n FilterByOperator: 0x00720406,\n StructuredDisplayBackgroundCIELabValue: 0x00720420,\n EmptyImageBoxCIELabValue: 0x00720421,\n StructuredDisplayImageBoxSequence: 0x00720422,\n StructuredDisplayTextBoxSequence: 0x00720424,\n ReferencedFirstFrameSequence: 0x00720427,\n ImageBoxSynchronizationSequence: 0x00720430,\n SynchronizedImageBoxList: 0x00720432,\n TypeOfSynchronization: 0x00720434,\n BlendingOperationType: 0x00720500,\n ReformattingOperationType: 0x00720510,\n ReformattingThickness: 0x00720512,\n ReformattingInterval: 0x00720514,\n ReformattingOperationInitialViewDirection: 0x00720516,\n ThreeDRenderingType: 0x00720520,\n SortingOperationsSequence: 0x00720600,\n SortByCategory: 0x00720602,\n SortingDirection: 0x00720604,\n DisplaySetPatientOrientation: 0x00720700,\n VOIType: 0x00720702,\n PseudoColorType: 0x00720704,\n PseudoColorPaletteInstanceReferenceSequence: 0x00720705,\n ShowGrayscaleInverted: 0x00720706,\n ShowImageTrueSizeFlag: 0x00720710,\n ShowGraphicAnnotationFlag: 0x00720712,\n ShowPatientDemographicsFlag: 0x00720714,\n ShowAcquisitionTechniquesFlag: 0x00720716,\n DisplaySetHorizontalJustification: 0x00720717,\n DisplaySetVerticalJustification: 0x00720718,\n ContinuationStartMeterset: 0x00740120,\n ContinuationEndMeterset: 0x00740121,\n ProcedureStepState: 0x00741000,\n ProcedureStepProgressInformationSequence: 0x00741002,\n ProcedureStepProgress: 0x00741004,\n ProcedureStepProgressDescription: 0x00741006,\n ProcedureStepProgressParametersSequence: 0x00741007,\n ProcedureStepCommunicationsURISequence: 0x00741008,\n ContactURI: 0x0074100a,\n ContactDisplayName: 0x0074100c,\n ProcedureStepDiscontinuationReasonCodeSequence: 0x0074100e,\n BeamTaskSequence: 0x00741020,\n BeamTaskType: 0x00741022,\n BeamOrderIndexTrial: 0x00741024, // retired\n AutosequenceFlag: 0x00741025,\n TableTopVerticalAdjustedPosition: 0x00741026,\n TableTopLongitudinalAdjustedPosition: 0x00741027,\n TableTopLateralAdjustedPosition: 0x00741028,\n PatientSupportAdjustedAngle: 0x0074102a,\n TableTopEccentricAdjustedAngle: 0x0074102b,\n TableTopPitchAdjustedAngle: 0x0074102c,\n TableTopRollAdjustedAngle: 0x0074102d,\n DeliveryVerificationImageSequence: 0x00741030,\n VerificationImageTiming: 0x00741032,\n DoubleExposureFlag: 0x00741034,\n DoubleExposureOrdering: 0x00741036,\n DoubleExposureMetersetTrial: 0x00741038, // retired\n DoubleExposureFieldDeltaTrial: 0x0074103a, // retired\n RelatedReferenceRTImageSequence: 0x00741040,\n GeneralMachineVerificationSequence: 0x00741042,\n ConventionalMachineVerificationSequence: 0x00741044,\n IonMachineVerificationSequence: 0x00741046,\n FailedAttributesSequence: 0x00741048,\n OverriddenAttributesSequence: 0x0074104a,\n ConventionalControlPointVerificationSequence: 0x0074104c,\n IonControlPointVerificationSequence: 0x0074104e,\n AttributeOccurrenceSequence: 0x00741050,\n AttributeOccurrencePointer: 0x00741052,\n AttributeItemSelector: 0x00741054,\n AttributeOccurrencePrivateCreator: 0x00741056,\n SelectorSequencePointerItems: 0x00741057,\n ScheduledProcedureStepPriority: 0x00741200,\n WorklistLabel: 0x00741202,\n ProcedureStepLabel: 0x00741204,\n ScheduledProcessingParametersSequence: 0x00741210,\n PerformedProcessingParametersSequence: 0x00741212,\n UnifiedProcedureStepPerformedProcedureSequence: 0x00741216,\n RelatedProcedureStepSequence: 0x00741220, // retired\n ProcedureStepRelationshipType: 0x00741222, // retired\n ReplacedProcedureStepSequence: 0x00741224,\n DeletionLock: 0x00741230,\n ReceivingAE: 0x00741234,\n RequestingAE: 0x00741236,\n ReasonForCancellation: 0x00741238,\n SCPStatus: 0x00741242,\n SubscriptionListStatus: 0x00741244,\n UnifiedProcedureStepListStatus: 0x00741246,\n BeamOrderIndex: 0x00741324,\n DoubleExposureMeterset: 0x00741338,\n DoubleExposureFieldDelta: 0x0074133a,\n BrachyTaskSequence: 0x00741401,\n ContinuationStartTotalReferenceAirKerma: 0x00741402,\n ContinuationEndTotalReferenceAirKerma: 0x00741403,\n ContinuationPulseNumber: 0x00741404,\n ChannelDeliveryOrderSequence: 0x00741405,\n ReferencedChannelNumber: 0x00741406,\n StartCumulativeTimeWeight: 0x00741407,\n EndCumulativeTimeWeight: 0x00741408,\n OmittedChannelSequence: 0x00741409,\n ReasonForChannelOmission: 0x0074140a,\n ReasonForChannelOmissionDescription: 0x0074140b,\n ChannelDeliveryOrderIndex: 0x0074140c,\n ChannelDeliveryContinuationSequence: 0x0074140d,\n OmittedApplicationSetupSequence: 0x0074140e,\n ImplantAssemblyTemplateName: 0x00760001,\n ImplantAssemblyTemplateIssuer: 0x00760003,\n ImplantAssemblyTemplateVersion: 0x00760006,\n ReplacedImplantAssemblyTemplateSequence: 0x00760008,\n ImplantAssemblyTemplateType: 0x0076000a,\n OriginalImplantAssemblyTemplateSequence: 0x0076000c,\n DerivationImplantAssemblyTemplateSequence: 0x0076000e,\n ImplantAssemblyTemplateTargetAnatomySequence: 0x00760010,\n ProcedureTypeCodeSequence: 0x00760020,\n SurgicalTechnique: 0x00760030,\n ComponentTypesSequence: 0x00760032,\n ComponentTypeCodeSequence: 0x00760034,\n ExclusiveComponentType: 0x00760036,\n MandatoryComponentType: 0x00760038,\n ComponentSequence: 0x00760040,\n ComponentID: 0x00760055,\n ComponentAssemblySequence: 0x00760060,\n Component1ReferencedID: 0x00760070,\n Component1ReferencedMatingFeatureSetID: 0x00760080,\n Component1ReferencedMatingFeatureID: 0x00760090,\n Component2ReferencedID: 0x007600a0,\n Component2ReferencedMatingFeatureSetID: 0x007600b0,\n Component2ReferencedMatingFeatureID: 0x007600c0,\n ImplantTemplateGroupName: 0x00780001,\n ImplantTemplateGroupDescription: 0x00780010,\n ImplantTemplateGroupIssuer: 0x00780020,\n ImplantTemplateGroupVersion: 0x00780024,\n ReplacedImplantTemplateGroupSequence: 0x00780026,\n ImplantTemplateGroupTargetAnatomySequence: 0x00780028,\n ImplantTemplateGroupMembersSequence: 0x0078002a,\n ImplantTemplateGroupMemberID: 0x0078002e,\n ThreeDImplantTemplateGroupMemberMatchingPoint: 0x00780050,\n ThreeDImplantTemplateGroupMemberMatchingAxes: 0x00780060,\n ImplantTemplateGroupMemberMatching2DCoordinatesSequence: 0x00780070,\n TwoDImplantTemplateGroupMemberMatchingPoint: 0x00780090,\n TwoDImplantTemplateGroupMemberMatchingAxes: 0x007800a0,\n ImplantTemplateGroupVariationDimensionSequence: 0x007800b0,\n ImplantTemplateGroupVariationDimensionName: 0x007800b2,\n ImplantTemplateGroupVariationDimensionRankSequence: 0x007800b4,\n ReferencedImplantTemplateGroupMemberID: 0x007800b6,\n ImplantTemplateGroupVariationDimensionRank: 0x007800b8,\n SurfaceScanAcquisitionTypeCodeSequence: 0x00800001,\n SurfaceScanModeCodeSequence: 0x00800002,\n RegistrationMethodCodeSequence: 0x00800003,\n ShotDurationTime: 0x00800004,\n ShotOffsetTime: 0x00800005,\n SurfacePointPresentationValueData: 0x00800006,\n SurfacePointColorCIELabValueData: 0x00800007,\n UVMappingSequence: 0x00800008,\n TextureLabel: 0x00800009,\n UValueData: 0x00800010,\n VValueData: 0x00800011,\n ReferencedTextureSequence: 0x00800012,\n ReferencedSurfaceDataSequence: 0x00800013,\n AssessmentSummary: 0x00820001,\n AssessmentSummaryDescription: 0x00820003,\n AssessedSOPInstanceSequence: 0x00820004,\n ReferencedComparisonSOPInstanceSequence: 0x00820005,\n NumberOfAssessmentObservations: 0x00820006,\n AssessmentObservationsSequence: 0x00820007,\n ObservationSignificance: 0x00820008,\n ObservationDescription: 0x0082000a,\n StructuredConstraintObservationSequence: 0x0082000c,\n AssessedAttributeValueSequence: 0x00820010,\n AssessmentSetID: 0x00820016,\n AssessmentRequesterSequence: 0x00820017,\n SelectorAttributeName: 0x00820018,\n SelectorAttributeKeyword: 0x00820019,\n AssessmentTypeCodeSequence: 0x00820021,\n ObservationBasisCodeSequence: 0x00820022,\n AssessmentLabel: 0x00820023,\n ConstraintType: 0x00820032,\n SpecificationSelectionGuidance: 0x00820033,\n ConstraintValueSequence: 0x00820034,\n RecommendedDefaultValueSequence: 0x00820035,\n ConstraintViolationSignificance: 0x00820036,\n ConstraintViolationCondition: 0x00820037,\n ModifiableConstraintFlag: 0x00820038,\n StorageMediaFileSetID: 0x00880130,\n StorageMediaFileSetUID: 0x00880140,\n IconImageSequence: 0x00880200,\n TopicTitle: 0x00880904, // retired\n TopicSubject: 0x00880906, // retired\n TopicAuthor: 0x00880910, // retired\n TopicKeywords: 0x00880912, // retired\n SOPInstanceStatus: 0x01000410,\n SOPAuthorizationDateTime: 0x01000420,\n SOPAuthorizationComment: 0x01000424,\n AuthorizationEquipmentCertificationNumber: 0x01000426,\n MACIDNumber: 0x04000005,\n MACCalculationTransferSyntaxUID: 0x04000010,\n MACAlgorithm: 0x04000015,\n DataElementsSigned: 0x04000020,\n DigitalSignatureUID: 0x04000100,\n DigitalSignatureDateTime: 0x04000105,\n CertificateType: 0x04000110,\n CertificateOfSigner: 0x04000115,\n Signature: 0x04000120,\n CertifiedTimestampType: 0x04000305,\n CertifiedTimestamp: 0x04000310,\n DigitalSignaturePurposeCodeSequence: 0x04000401,\n ReferencedDigitalSignatureSequence: 0x04000402,\n ReferencedSOPInstanceMACSequence: 0x04000403,\n MAC: 0x04000404,\n EncryptedAttributesSequence: 0x04000500,\n EncryptedContentTransferSyntaxUID: 0x04000510,\n EncryptedContent: 0x04000520,\n ModifiedAttributesSequence: 0x04000550,\n OriginalAttributesSequence: 0x04000561,\n AttributeModificationDateTime: 0x04000562,\n ModifyingSystem: 0x04000563,\n SourceOfPreviousValues: 0x04000564,\n ReasonForTheAttributeModification: 0x04000565,\n EscapeTriplet: 0x10000000, // retired\n RunLengthTriplet: 0x10000001, // retired\n HuffmanTableSize: 0x10000002, // retired\n HuffmanTableTriplet: 0x10000003, // retired\n ShiftTableSize: 0x10000004, // retired\n ShiftTableTriplet: 0x10000005, // retired\n ZonalMap: 0x10100000, // retired\n NumberOfCopies: 0x20000010,\n PrinterConfigurationSequence: 0x2000001e,\n PrintPriority: 0x20000020,\n MediumType: 0x20000030,\n FilmDestination: 0x20000040,\n FilmSessionLabel: 0x20000050,\n MemoryAllocation: 0x20000060,\n MaximumMemoryAllocation: 0x20000061,\n ColorImagePrintingFlag: 0x20000062, // retired\n CollationFlag: 0x20000063, // retired\n AnnotationFlag: 0x20000065, // retired\n ImageOverlayFlag: 0x20000067, // retired\n PresentationLUTFlag: 0x20000069, // retired\n ImageBoxPresentationLUTFlag: 0x2000006a, // retired\n MemoryBitDepth: 0x200000a0,\n PrintingBitDepth: 0x200000a1,\n MediaInstalledSequence: 0x200000a2,\n OtherMediaAvailableSequence: 0x200000a4,\n SupportedImageDisplayFormatsSequence: 0x200000a8,\n ReferencedFilmBoxSequence: 0x20000500,\n ReferencedStoredPrintSequence: 0x20000510, // retired\n ImageDisplayFormat: 0x20100010,\n AnnotationDisplayFormatID: 0x20100030,\n FilmOrientation: 0x20100040,\n FilmSizeID: 0x20100050,\n PrinterResolutionID: 0x20100052,\n DefaultPrinterResolutionID: 0x20100054,\n MagnificationType: 0x20100060,\n SmoothingType: 0x20100080,\n DefaultMagnificationType: 0x201000a6,\n OtherMagnificationTypesAvailable: 0x201000a7,\n DefaultSmoothingType: 0x201000a8,\n OtherSmoothingTypesAvailable: 0x201000a9,\n BorderDensity: 0x20100100,\n EmptyImageDensity: 0x20100110,\n MinDensity: 0x20100120,\n MaxDensity: 0x20100130,\n Trim: 0x20100140,\n ConfigurationInformation: 0x20100150,\n ConfigurationInformationDescription: 0x20100152,\n MaximumCollatedFilms: 0x20100154,\n Illumination: 0x2010015e,\n ReflectedAmbientLight: 0x20100160,\n PrinterPixelSpacing: 0x20100376,\n ReferencedFilmSessionSequence: 0x20100500,\n ReferencedImageBoxSequence: 0x20100510,\n ReferencedBasicAnnotationBoxSequence: 0x20100520,\n ImageBoxPosition: 0x20200010,\n Polarity: 0x20200020,\n RequestedImageSize: 0x20200030,\n RequestedDecimateCropBehavior: 0x20200040,\n RequestedResolutionID: 0x20200050,\n RequestedImageSizeFlag: 0x202000a0,\n DecimateCropResult: 0x202000a2,\n BasicGrayscaleImageSequence: 0x20200110,\n BasicColorImageSequence: 0x20200111,\n ReferencedImageOverlayBoxSequence: 0x20200130, // retired\n ReferencedVOILUTBoxSequence: 0x20200140, // retired\n AnnotationPosition: 0x20300010,\n TextString: 0x20300020,\n ReferencedOverlayPlaneSequence: 0x20400010, // retired\n ReferencedOverlayPlaneGroups: 0x20400011, // retired\n OverlayPixelDataSequence: 0x20400020, // retired\n OverlayMagnificationType: 0x20400060, // retired\n OverlaySmoothingType: 0x20400070, // retired\n OverlayOrImageMagnification: 0x20400072, // retired\n MagnifyToNumberOfColumns: 0x20400074, // retired\n OverlayForegroundDensity: 0x20400080, // retired\n OverlayBackgroundDensity: 0x20400082, // retired\n OverlayMode: 0x20400090, // retired\n ThresholdDensity: 0x20400100, // retired\n ReferencedImageBoxSequenceRetired: 0x20400500, // retired\n PresentationLUTSequence: 0x20500010,\n PresentationLUTShape: 0x20500020,\n ReferencedPresentationLUTSequence: 0x20500500,\n PrintJobID: 0x21000010, // retired\n ExecutionStatus: 0x21000020,\n ExecutionStatusInfo: 0x21000030,\n CreationDate: 0x21000040,\n CreationTime: 0x21000050,\n Originator: 0x21000070,\n DestinationAE: 0x21000140,\n OwnerID: 0x21000160,\n NumberOfFilms: 0x21000170,\n ReferencedPrintJobSequencePullStoredPrint: 0x21000500, // retired\n PrinterStatus: 0x21100010,\n PrinterStatusInfo: 0x21100020,\n PrinterName: 0x21100030,\n PrintQueueID: 0x21100099, // retired\n QueueStatus: 0x21200010, // retired\n PrintJobDescriptionSequence: 0x21200050, // retired\n ReferencedPrintJobSequence: 0x21200070, // retired\n PrintManagementCapabilitiesSequence: 0x21300010, // retired\n PrinterCharacteristicsSequence: 0x21300015, // retired\n FilmBoxContentSequence: 0x21300030, // retired\n ImageBoxContentSequence: 0x21300040, // retired\n AnnotationContentSequence: 0x21300050, // retired\n ImageOverlayBoxContentSequence: 0x21300060, // retired\n PresentationLUTContentSequence: 0x21300080, // retired\n ProposedStudySequence: 0x213000a0, // retired\n OriginalImageSequence: 0x213000c0, // retired\n LabelUsingInformationExtractedFromInstances: 0x22000001,\n LabelText: 0x22000002,\n LabelStyleSelection: 0x22000003,\n MediaDisposition: 0x22000004,\n BarcodeValue: 0x22000005,\n BarcodeSymbology: 0x22000006,\n AllowMediaSplitting: 0x22000007,\n IncludeNonDICOMObjects: 0x22000008,\n IncludeDisplayApplication: 0x22000009,\n PreserveCompositeInstancesAfterMediaCreation: 0x2200000a,\n TotalNumberOfPiecesOfMediaCreated: 0x2200000b,\n RequestedMediaApplicationProfile: 0x2200000c,\n ReferencedStorageMediaSequence: 0x2200000d,\n FailureAttributes: 0x2200000e,\n AllowLossyCompression: 0x2200000f,\n RequestPriority: 0x22000020,\n RTImageLabel: 0x30020002,\n RTImageName: 0x30020003,\n RTImageDescription: 0x30020004,\n ReportedValuesOrigin: 0x3002000a,\n RTImagePlane: 0x3002000c,\n XRayImageReceptorTranslation: 0x3002000d,\n XRayImageReceptorAngle: 0x3002000e,\n RTImageOrientation: 0x30020010,\n ImagePlanePixelSpacing: 0x30020011,\n RTImagePosition: 0x30020012,\n RadiationMachineName: 0x30020020,\n RadiationMachineSAD: 0x30020022,\n RadiationMachineSSD: 0x30020024,\n RTImageSID: 0x30020026,\n SourceToReferenceObjectDistance: 0x30020028,\n FractionNumber: 0x30020029,\n ExposureSequence: 0x30020030,\n MetersetExposure: 0x30020032,\n DiaphragmPosition: 0x30020034,\n FluenceMapSequence: 0x30020040,\n FluenceDataSource: 0x30020041,\n FluenceDataScale: 0x30020042,\n PrimaryFluenceModeSequence: 0x30020050,\n FluenceMode: 0x30020051,\n FluenceModeID: 0x30020052,\n DVHType: 0x30040001,\n DoseUnits: 0x30040002,\n DoseType: 0x30040004,\n SpatialTransformOfDose: 0x30040005,\n DoseComment: 0x30040006,\n NormalizationPoint: 0x30040008,\n DoseSummationType: 0x3004000a,\n GridFrameOffsetVector: 0x3004000c,\n DoseGridScaling: 0x3004000e,\n RTDoseROISequence: 0x30040010,\n DoseValue: 0x30040012,\n TissueHeterogeneityCorrection: 0x30040014,\n DVHNormalizationPoint: 0x30040040,\n DVHNormalizationDoseValue: 0x30040042,\n DVHSequence: 0x30040050,\n DVHDoseScaling: 0x30040052,\n DVHVolumeUnits: 0x30040054,\n DVHNumberOfBins: 0x30040056,\n DVHData: 0x30040058,\n DVHReferencedROISequence: 0x30040060,\n DVHROIContributionType: 0x30040062,\n DVHMinimumDose: 0x30040070,\n DVHMaximumDose: 0x30040072,\n DVHMeanDose: 0x30040074,\n StructureSetLabel: 0x30060002,\n StructureSetName: 0x30060004,\n StructureSetDescription: 0x30060006,\n StructureSetDate: 0x30060008,\n StructureSetTime: 0x30060009,\n ReferencedFrameOfReferenceSequence: 0x30060010,\n RTReferencedStudySequence: 0x30060012,\n RTReferencedSeriesSequence: 0x30060014,\n ContourImageSequence: 0x30060016,\n PredecessorStructureSetSequence: 0x30060018,\n StructureSetROISequence: 0x30060020,\n ROINumber: 0x30060022,\n ReferencedFrameOfReferenceUID: 0x30060024,\n ROIName: 0x30060026,\n ROIDescription: 0x30060028,\n ROIDisplayColor: 0x3006002a,\n ROIVolume: 0x3006002c,\n RTRelatedROISequence: 0x30060030,\n RTROIRelationship: 0x30060033,\n ROIGenerationAlgorithm: 0x30060036,\n ROIGenerationDescription: 0x30060038,\n ROIContourSequence: 0x30060039,\n ContourSequence: 0x30060040,\n ContourGeometricType: 0x30060042,\n ContourSlabThickness: 0x30060044,\n ContourOffsetVector: 0x30060045,\n NumberOfContourPoints: 0x30060046,\n ContourNumber: 0x30060048,\n AttachedContours: 0x30060049,\n ContourData: 0x30060050,\n RTROIObservationsSequence: 0x30060080,\n ObservationNumber: 0x30060082,\n ReferencedROINumber: 0x30060084,\n ROIObservationLabel: 0x30060085,\n RTROIIdentificationCodeSequence: 0x30060086,\n ROIObservationDescription: 0x30060088,\n RelatedRTROIObservationsSequence: 0x300600a0,\n RTROIInterpretedType: 0x300600a4,\n ROIInterpreter: 0x300600a6,\n ROIPhysicalPropertiesSequence: 0x300600b0,\n ROIPhysicalProperty: 0x300600b2,\n ROIPhysicalPropertyValue: 0x300600b4,\n ROIElementalCompositionSequence: 0x300600b6,\n ROIElementalCompositionAtomicNumber: 0x300600b7,\n ROIElementalCompositionAtomicMassFraction: 0x300600b8,\n AdditionalRTROIIdentificationCodeSequence: 0x300600b9, // retired\n FrameOfReferenceRelationshipSequence: 0x300600c0, // retired\n RelatedFrameOfReferenceUID: 0x300600c2, // retired\n FrameOfReferenceTransformationType: 0x300600c4, // retired\n FrameOfReferenceTransformationMatrix: 0x300600c6,\n FrameOfReferenceTransformationComment: 0x300600c8,\n MeasuredDoseReferenceSequence: 0x30080010,\n MeasuredDoseDescription: 0x30080012,\n MeasuredDoseType: 0x30080014,\n MeasuredDoseValue: 0x30080016,\n TreatmentSessionBeamSequence: 0x30080020,\n TreatmentSessionIonBeamSequence: 0x30080021,\n CurrentFractionNumber: 0x30080022,\n TreatmentControlPointDate: 0x30080024,\n TreatmentControlPointTime: 0x30080025,\n TreatmentTerminationStatus: 0x3008002a,\n TreatmentTerminationCode: 0x3008002b,\n TreatmentVerificationStatus: 0x3008002c,\n ReferencedTreatmentRecordSequence: 0x30080030,\n SpecifiedPrimaryMeterset: 0x30080032,\n SpecifiedSecondaryMeterset: 0x30080033,\n DeliveredPrimaryMeterset: 0x30080036,\n DeliveredSecondaryMeterset: 0x30080037,\n SpecifiedTreatmentTime: 0x3008003a,\n DeliveredTreatmentTime: 0x3008003b,\n ControlPointDeliverySequence: 0x30080040,\n IonControlPointDeliverySequence: 0x30080041,\n SpecifiedMeterset: 0x30080042,\n DeliveredMeterset: 0x30080044,\n MetersetRateSet: 0x30080045,\n MetersetRateDelivered: 0x30080046,\n ScanSpotMetersetsDelivered: 0x30080047,\n DoseRateDelivered: 0x30080048,\n TreatmentSummaryCalculatedDoseReferenceSequence: 0x30080050,\n CumulativeDoseToDoseReference: 0x30080052,\n FirstTreatmentDate: 0x30080054,\n MostRecentTreatmentDate: 0x30080056,\n NumberOfFractionsDelivered: 0x3008005a,\n OverrideSequence: 0x30080060,\n ParameterSequencePointer: 0x30080061,\n OverrideParameterPointer: 0x30080062,\n ParameterItemIndex: 0x30080063,\n MeasuredDoseReferenceNumber: 0x30080064,\n ParameterPointer: 0x30080065,\n OverrideReason: 0x30080066,\n ParameterValueNumber: 0x30080067,\n CorrectedParameterSequence: 0x30080068,\n CorrectionValue: 0x3008006a,\n CalculatedDoseReferenceSequence: 0x30080070,\n CalculatedDoseReferenceNumber: 0x30080072,\n CalculatedDoseReferenceDescription: 0x30080074,\n CalculatedDoseReferenceDoseValue: 0x30080076,\n StartMeterset: 0x30080078,\n EndMeterset: 0x3008007a,\n ReferencedMeasuredDoseReferenceSequence: 0x30080080,\n ReferencedMeasuredDoseReferenceNumber: 0x30080082,\n ReferencedCalculatedDoseReferenceSequence: 0x30080090,\n ReferencedCalculatedDoseReferenceNumber: 0x30080092,\n BeamLimitingDeviceLeafPairsSequence: 0x300800a0,\n RecordedWedgeSequence: 0x300800b0,\n RecordedCompensatorSequence: 0x300800c0,\n RecordedBlockSequence: 0x300800d0,\n TreatmentSummaryMeasuredDoseReferenceSequence: 0x300800e0,\n RecordedSnoutSequence: 0x300800f0,\n RecordedRangeShifterSequence: 0x300800f2,\n RecordedLateralSpreadingDeviceSequence: 0x300800f4,\n RecordedRangeModulatorSequence: 0x300800f6,\n RecordedSourceSequence: 0x30080100,\n SourceSerialNumber: 0x30080105,\n TreatmentSessionApplicationSetupSequence: 0x30080110,\n ApplicationSetupCheck: 0x30080116,\n RecordedBrachyAccessoryDeviceSequence: 0x30080120,\n ReferencedBrachyAccessoryDeviceNumber: 0x30080122,\n RecordedChannelSequence: 0x30080130,\n SpecifiedChannelTotalTime: 0x30080132,\n DeliveredChannelTotalTime: 0x30080134,\n SpecifiedNumberOfPulses: 0x30080136,\n DeliveredNumberOfPulses: 0x30080138,\n SpecifiedPulseRepetitionInterval: 0x3008013a,\n DeliveredPulseRepetitionInterval: 0x3008013c,\n RecordedSourceApplicatorSequence: 0x30080140,\n ReferencedSourceApplicatorNumber: 0x30080142,\n RecordedChannelShieldSequence: 0x30080150,\n ReferencedChannelShieldNumber: 0x30080152,\n BrachyControlPointDeliveredSequence: 0x30080160,\n SafePositionExitDate: 0x30080162,\n SafePositionExitTime: 0x30080164,\n SafePositionReturnDate: 0x30080166,\n SafePositionReturnTime: 0x30080168,\n PulseSpecificBrachyControlPointDeliveredSequence: 0x30080171,\n PulseNumber: 0x30080172,\n BrachyPulseControlPointDeliveredSequence: 0x30080173,\n CurrentTreatmentStatus: 0x30080200,\n TreatmentStatusComment: 0x30080202,\n FractionGroupSummarySequence: 0x30080220,\n ReferencedFractionNumber: 0x30080223,\n FractionGroupType: 0x30080224,\n BeamStopperPosition: 0x30080230,\n FractionStatusSummarySequence: 0x30080240,\n TreatmentDate: 0x30080250,\n TreatmentTime: 0x30080251,\n RTPlanLabel: 0x300a0002,\n RTPlanName: 0x300a0003,\n RTPlanDescription: 0x300a0004,\n RTPlanDate: 0x300a0006,\n RTPlanTime: 0x300a0007,\n TreatmentProtocols: 0x300a0009,\n PlanIntent: 0x300a000a,\n TreatmentSites: 0x300a000b,\n RTPlanGeometry: 0x300a000c,\n PrescriptionDescription: 0x300a000e,\n DoseReferenceSequence: 0x300a0010,\n DoseReferenceNumber: 0x300a0012,\n DoseReferenceUID: 0x300a0013,\n DoseReferenceStructureType: 0x300a0014,\n NominalBeamEnergyUnit: 0x300a0015,\n DoseReferenceDescription: 0x300a0016,\n DoseReferencePointCoordinates: 0x300a0018,\n NominalPriorDose: 0x300a001a,\n DoseReferenceType: 0x300a0020,\n ConstraintWeight: 0x300a0021,\n DeliveryWarningDose: 0x300a0022,\n DeliveryMaximumDose: 0x300a0023,\n TargetMinimumDose: 0x300a0025,\n TargetPrescriptionDose: 0x300a0026,\n TargetMaximumDose: 0x300a0027,\n TargetUnderdoseVolumeFraction: 0x300a0028,\n OrganAtRiskFullVolumeDose: 0x300a002a,\n OrganAtRiskLimitDose: 0x300a002b,\n OrganAtRiskMaximumDose: 0x300a002c,\n OrganAtRiskOverdoseVolumeFraction: 0x300a002d,\n ToleranceTableSequence: 0x300a0040,\n ToleranceTableNumber: 0x300a0042,\n ToleranceTableLabel: 0x300a0043,\n GantryAngleTolerance: 0x300a0044,\n BeamLimitingDeviceAngleTolerance: 0x300a0046,\n BeamLimitingDeviceToleranceSequence: 0x300a0048,\n BeamLimitingDevicePositionTolerance: 0x300a004a,\n SnoutPositionTolerance: 0x300a004b,\n PatientSupportAngleTolerance: 0x300a004c,\n TableTopEccentricAngleTolerance: 0x300a004e,\n TableTopPitchAngleTolerance: 0x300a004f,\n TableTopRollAngleTolerance: 0x300a0050,\n TableTopVerticalPositionTolerance: 0x300a0051,\n TableTopLongitudinalPositionTolerance: 0x300a0052,\n TableTopLateralPositionTolerance: 0x300a0053,\n RTPlanRelationship: 0x300a0055,\n FractionGroupSequence: 0x300a0070,\n FractionGroupNumber: 0x300a0071,\n FractionGroupDescription: 0x300a0072,\n NumberOfFractionsPlanned: 0x300a0078,\n NumberOfFractionPatternDigitsPerDay: 0x300a0079,\n RepeatFractionCycleLength: 0x300a007a,\n FractionPattern: 0x300a007b,\n NumberOfBeams: 0x300a0080,\n BeamDoseSpecificationPoint: 0x300a0082,\n ReferencedDoseReferenceUID: 0x300a0083,\n BeamDose: 0x300a0084,\n BeamMeterset: 0x300a0086,\n BeamDosePointDepth: 0x300a0088,\n BeamDosePointEquivalentDepth: 0x300a0089,\n BeamDosePointSSD: 0x300a008a,\n BeamDoseMeaning: 0x300a008b,\n BeamDoseVerificationControlPointSequence: 0x300a008c,\n AverageBeamDosePointDepth: 0x300a008d, // retired\n AverageBeamDosePointEquivalentDepth: 0x300a008e, // retired\n AverageBeamDosePointSSD: 0x300a008f, // retired\n BeamDoseType: 0x300a0090,\n AlternateBeamDose: 0x300a0091,\n AlternateBeamDoseType: 0x300a0092,\n DepthValueAveragingFlag: 0x300a0093,\n NumberOfBrachyApplicationSetups: 0x300a00a0,\n BrachyApplicationSetupDoseSpecificationPoint: 0x300a00a2,\n BrachyApplicationSetupDose: 0x300a00a4,\n BeamSequence: 0x300a00b0,\n TreatmentMachineName: 0x300a00b2,\n PrimaryDosimeterUnit: 0x300a00b3,\n SourceAxisDistance: 0x300a00b4,\n BeamLimitingDeviceSequence: 0x300a00b6,\n RTBeamLimitingDeviceType: 0x300a00b8,\n SourceToBeamLimitingDeviceDistance: 0x300a00ba,\n IsocenterToBeamLimitingDeviceDistance: 0x300a00bb,\n NumberOfLeafJawPairs: 0x300a00bc,\n LeafPositionBoundaries: 0x300a00be,\n BeamNumber: 0x300a00c0,\n BeamName: 0x300a00c2,\n BeamDescription: 0x300a00c3,\n BeamType: 0x300a00c4,\n BeamDeliveryDurationLimit: 0x300a00c5,\n RadiationType: 0x300a00c6,\n HighDoseTechniqueType: 0x300a00c7,\n ReferenceImageNumber: 0x300a00c8,\n PlannedVerificationImageSequence: 0x300a00ca,\n ImagingDeviceSpecificAcquisitionParameters: 0x300a00cc,\n TreatmentDeliveryType: 0x300a00ce,\n NumberOfWedges: 0x300a00d0,\n WedgeSequence: 0x300a00d1,\n WedgeNumber: 0x300a00d2,\n WedgeType: 0x300a00d3,\n WedgeID: 0x300a00d4,\n WedgeAngle: 0x300a00d5,\n WedgeFactor: 0x300a00d6,\n TotalWedgeTrayWaterEquivalentThickness: 0x300a00d7,\n WedgeOrientation: 0x300a00d8,\n IsocenterToWedgeTrayDistance: 0x300a00d9,\n SourceToWedgeTrayDistance: 0x300a00da,\n WedgeThinEdgePosition: 0x300a00db,\n BolusID: 0x300a00dc,\n BolusDescription: 0x300a00dd,\n EffectiveWedgeAngle: 0x300a00de,\n NumberOfCompensators: 0x300a00e0,\n MaterialID: 0x300a00e1,\n TotalCompensatorTrayFactor: 0x300a00e2,\n CompensatorSequence: 0x300a00e3,\n CompensatorNumber: 0x300a00e4,\n CompensatorID: 0x300a00e5,\n SourceToCompensatorTrayDistance: 0x300a00e6,\n CompensatorRows: 0x300a00e7,\n CompensatorColumns: 0x300a00e8,\n CompensatorPixelSpacing: 0x300a00e9,\n CompensatorPosition: 0x300a00ea,\n CompensatorTransmissionData: 0x300a00eb,\n CompensatorThicknessData: 0x300a00ec,\n NumberOfBoli: 0x300a00ed,\n CompensatorType: 0x300a00ee,\n CompensatorTrayID: 0x300a00ef,\n NumberOfBlocks: 0x300a00f0,\n TotalBlockTrayFactor: 0x300a00f2,\n TotalBlockTrayWaterEquivalentThickness: 0x300a00f3,\n BlockSequence: 0x300a00f4,\n BlockTrayID: 0x300a00f5,\n SourceToBlockTrayDistance: 0x300a00f6,\n IsocenterToBlockTrayDistance: 0x300a00f7,\n BlockType: 0x300a00f8,\n AccessoryCode: 0x300a00f9,\n BlockDivergence: 0x300a00fa,\n BlockMountingPosition: 0x300a00fb,\n BlockNumber: 0x300a00fc,\n BlockName: 0x300a00fe,\n BlockThickness: 0x300a0100,\n BlockTransmission: 0x300a0102,\n BlockNumberOfPoints: 0x300a0104,\n BlockData: 0x300a0106,\n ApplicatorSequence: 0x300a0107,\n ApplicatorID: 0x300a0108,\n ApplicatorType: 0x300a0109,\n ApplicatorDescription: 0x300a010a,\n CumulativeDoseReferenceCoefficient: 0x300a010c,\n FinalCumulativeMetersetWeight: 0x300a010e,\n NumberOfControlPoints: 0x300a0110,\n ControlPointSequence: 0x300a0111,\n ControlPointIndex: 0x300a0112,\n NominalBeamEnergy: 0x300a0114,\n DoseRateSet: 0x300a0115,\n WedgePositionSequence: 0x300a0116,\n WedgePosition: 0x300a0118,\n BeamLimitingDevicePositionSequence: 0x300a011a,\n LeafJawPositions: 0x300a011c,\n GantryAngle: 0x300a011e,\n GantryRotationDirection: 0x300a011f,\n BeamLimitingDeviceAngle: 0x300a0120,\n BeamLimitingDeviceRotationDirection: 0x300a0121,\n PatientSupportAngle: 0x300a0122,\n PatientSupportRotationDirection: 0x300a0123,\n TableTopEccentricAxisDistance: 0x300a0124,\n TableTopEccentricAngle: 0x300a0125,\n TableTopEccentricRotationDirection: 0x300a0126,\n TableTopVerticalPosition: 0x300a0128,\n TableTopLongitudinalPosition: 0x300a0129,\n TableTopLateralPosition: 0x300a012a,\n IsocenterPosition: 0x300a012c,\n SurfaceEntryPoint: 0x300a012e,\n SourceToSurfaceDistance: 0x300a0130,\n AverageBeamDosePointSourceToExternalContourDistance: 0x300a0131,\n SourceToExternalContourDistance: 0x300a0132,\n ExternalContourEntryPoint: 0x300a0133,\n CumulativeMetersetWeight: 0x300a0134,\n TableTopPitchAngle: 0x300a0140,\n TableTopPitchRotationDirection: 0x300a0142,\n TableTopRollAngle: 0x300a0144,\n TableTopRollRotationDirection: 0x300a0146,\n HeadFixationAngle: 0x300a0148,\n GantryPitchAngle: 0x300a014a,\n GantryPitchRotationDirection: 0x300a014c,\n GantryPitchAngleTolerance: 0x300a014e,\n FixationEye: 0x300a0150,\n ChairHeadFramePosition: 0x300a0151,\n HeadFixationAngleTolerance: 0x300a0152,\n ChairHeadFramePositionTolerance: 0x300a0153,\n FixationLightAzimuthalAngleTolerance: 0x300a0154,\n FixationLightPolarAngleTolerance: 0x300a0155,\n PatientSetupSequence: 0x300a0180,\n PatientSetupNumber: 0x300a0182,\n PatientSetupLabel: 0x300a0183,\n PatientAdditionalPosition: 0x300a0184,\n FixationDeviceSequence: 0x300a0190,\n FixationDeviceType: 0x300a0192,\n FixationDeviceLabel: 0x300a0194,\n FixationDeviceDescription: 0x300a0196,\n FixationDevicePosition: 0x300a0198,\n FixationDevicePitchAngle: 0x300a0199,\n FixationDeviceRollAngle: 0x300a019a,\n ShieldingDeviceSequence: 0x300a01a0,\n ShieldingDeviceType: 0x300a01a2,\n ShieldingDeviceLabel: 0x300a01a4,\n ShieldingDeviceDescription: 0x300a01a6,\n ShieldingDevicePosition: 0x300a01a8,\n SetupTechnique: 0x300a01b0,\n SetupTechniqueDescription: 0x300a01b2,\n SetupDeviceSequence: 0x300a01b4,\n SetupDeviceType: 0x300a01b6,\n SetupDeviceLabel: 0x300a01b8,\n SetupDeviceDescription: 0x300a01ba,\n SetupDeviceParameter: 0x300a01bc,\n SetupReferenceDescription: 0x300a01d0,\n TableTopVerticalSetupDisplacement: 0x300a01d2,\n TableTopLongitudinalSetupDisplacement: 0x300a01d4,\n TableTopLateralSetupDisplacement: 0x300a01d6,\n BrachyTreatmentTechnique: 0x300a0200,\n BrachyTreatmentType: 0x300a0202,\n TreatmentMachineSequence: 0x300a0206,\n SourceSequence: 0x300a0210,\n SourceNumber: 0x300a0212,\n SourceType: 0x300a0214,\n SourceManufacturer: 0x300a0216,\n ActiveSourceDiameter: 0x300a0218,\n ActiveSourceLength: 0x300a021a,\n SourceModelID: 0x300a021b,\n SourceDescription: 0x300a021c,\n SourceEncapsulationNominalThickness: 0x300a0222,\n SourceEncapsulationNominalTransmission: 0x300a0224,\n SourceIsotopeName: 0x300a0226,\n SourceIsotopeHalfLife: 0x300a0228,\n SourceStrengthUnits: 0x300a0229,\n ReferenceAirKermaRate: 0x300a022a,\n SourceStrength: 0x300a022b,\n SourceStrengthReferenceDate: 0x300a022c,\n SourceStrengthReferenceTime: 0x300a022e,\n ApplicationSetupSequence: 0x300a0230,\n ApplicationSetupType: 0x300a0232,\n ApplicationSetupNumber: 0x300a0234,\n ApplicationSetupName: 0x300a0236,\n ApplicationSetupManufacturer: 0x300a0238,\n TemplateNumber: 0x300a0240,\n TemplateType: 0x300a0242,\n TemplateName: 0x300a0244,\n TotalReferenceAirKerma: 0x300a0250,\n BrachyAccessoryDeviceSequence: 0x300a0260,\n BrachyAccessoryDeviceNumber: 0x300a0262,\n BrachyAccessoryDeviceID: 0x300a0263,\n BrachyAccessoryDeviceType: 0x300a0264,\n BrachyAccessoryDeviceName: 0x300a0266,\n BrachyAccessoryDeviceNominalThickness: 0x300a026a,\n BrachyAccessoryDeviceNominalTransmission: 0x300a026c,\n ChannelEffectiveLength: 0x300a0271,\n ChannelInnerLength: 0x300a0272,\n AfterloaderChannelID: 0x300a0273,\n SourceApplicatorTipLength: 0x300a0274,\n ChannelSequence: 0x300a0280,\n ChannelNumber: 0x300a0282,\n ChannelLength: 0x300a0284,\n ChannelTotalTime: 0x300a0286,\n SourceMovementType: 0x300a0288,\n NumberOfPulses: 0x300a028a,\n PulseRepetitionInterval: 0x300a028c,\n SourceApplicatorNumber: 0x300a0290,\n SourceApplicatorID: 0x300a0291,\n SourceApplicatorType: 0x300a0292,\n SourceApplicatorName: 0x300a0294,\n SourceApplicatorLength: 0x300a0296,\n SourceApplicatorManufacturer: 0x300a0298,\n SourceApplicatorWallNominalThickness: 0x300a029c,\n SourceApplicatorWallNominalTransmission: 0x300a029e,\n SourceApplicatorStepSize: 0x300a02a0,\n TransferTubeNumber: 0x300a02a2,\n TransferTubeLength: 0x300a02a4,\n ChannelShieldSequence: 0x300a02b0,\n ChannelShieldNumber: 0x300a02b2,\n ChannelShieldID: 0x300a02b3,\n ChannelShieldName: 0x300a02b4,\n ChannelShieldNominalThickness: 0x300a02b8,\n ChannelShieldNominalTransmission: 0x300a02ba,\n FinalCumulativeTimeWeight: 0x300a02c8,\n BrachyControlPointSequence: 0x300a02d0,\n ControlPointRelativePosition: 0x300a02d2,\n ControlPoint3DPosition: 0x300a02d4,\n CumulativeTimeWeight: 0x300a02d6,\n CompensatorDivergence: 0x300a02e0,\n CompensatorMountingPosition: 0x300a02e1,\n SourceToCompensatorDistance: 0x300a02e2,\n TotalCompensatorTrayWaterEquivalentThickness: 0x300a02e3,\n IsocenterToCompensatorTrayDistance: 0x300a02e4,\n CompensatorColumnOffset: 0x300a02e5,\n IsocenterToCompensatorDistances: 0x300a02e6,\n CompensatorRelativeStoppingPowerRatio: 0x300a02e7,\n CompensatorMillingToolDiameter: 0x300a02e8,\n IonRangeCompensatorSequence: 0x300a02ea,\n CompensatorDescription: 0x300a02eb,\n RadiationMassNumber: 0x300a0302,\n RadiationAtomicNumber: 0x300a0304,\n RadiationChargeState: 0x300a0306,\n ScanMode: 0x300a0308,\n ModulatedScanModeType: 0x300a0309,\n VirtualSourceAxisDistances: 0x300a030a,\n SnoutSequence: 0x300a030c,\n SnoutPosition: 0x300a030d,\n SnoutID: 0x300a030f,\n NumberOfRangeShifters: 0x300a0312,\n RangeShifterSequence: 0x300a0314,\n RangeShifterNumber: 0x300a0316,\n RangeShifterID: 0x300a0318,\n RangeShifterType: 0x300a0320,\n RangeShifterDescription: 0x300a0322,\n NumberOfLateralSpreadingDevices: 0x300a0330,\n LateralSpreadingDeviceSequence: 0x300a0332,\n LateralSpreadingDeviceNumber: 0x300a0334,\n LateralSpreadingDeviceID: 0x300a0336,\n LateralSpreadingDeviceType: 0x300a0338,\n LateralSpreadingDeviceDescription: 0x300a033a,\n LateralSpreadingDeviceWaterEquivalentThickness: 0x300a033c,\n NumberOfRangeModulators: 0x300a0340,\n RangeModulatorSequence: 0x300a0342,\n RangeModulatorNumber: 0x300a0344,\n RangeModulatorID: 0x300a0346,\n RangeModulatorType: 0x300a0348,\n RangeModulatorDescription: 0x300a034a,\n BeamCurrentModulationID: 0x300a034c,\n PatientSupportType: 0x300a0350,\n PatientSupportID: 0x300a0352,\n PatientSupportAccessoryCode: 0x300a0354,\n TrayAccessoryCode: 0x300a0355,\n FixationLightAzimuthalAngle: 0x300a0356,\n FixationLightPolarAngle: 0x300a0358,\n MetersetRate: 0x300a035a,\n RangeShifterSettingsSequence: 0x300a0360,\n RangeShifterSetting: 0x300a0362,\n IsocenterToRangeShifterDistance: 0x300a0364,\n RangeShifterWaterEquivalentThickness: 0x300a0366,\n LateralSpreadingDeviceSettingsSequence: 0x300a0370,\n LateralSpreadingDeviceSetting: 0x300a0372,\n IsocenterToLateralSpreadingDeviceDistance: 0x300a0374,\n RangeModulatorSettingsSequence: 0x300a0380,\n RangeModulatorGatingStartValue: 0x300a0382,\n RangeModulatorGatingStopValue: 0x300a0384,\n RangeModulatorGatingStartWaterEquivalentThickness: 0x300a0386,\n RangeModulatorGatingStopWaterEquivalentThickness: 0x300a0388,\n IsocenterToRangeModulatorDistance: 0x300a038a,\n ScanSpotTimeOffset: 0x300a038f,\n ScanSpotTuneID: 0x300a0390,\n ScanSpotPrescribedIndices: 0x300a0391,\n NumberOfScanSpotPositions: 0x300a0392,\n ScanSpotReordered: 0x300a0393,\n ScanSpotPositionMap: 0x300a0394,\n ScanSpotReorderingAllowed: 0x300a0395,\n ScanSpotMetersetWeights: 0x300a0396,\n ScanningSpotSize: 0x300a0398,\n NumberOfPaintings: 0x300a039a,\n IonToleranceTableSequence: 0x300a03a0,\n IonBeamSequence: 0x300a03a2,\n IonBeamLimitingDeviceSequence: 0x300a03a4,\n IonBlockSequence: 0x300a03a6,\n IonControlPointSequence: 0x300a03a8,\n IonWedgeSequence: 0x300a03aa,\n IonWedgePositionSequence: 0x300a03ac,\n ReferencedSetupImageSequence: 0x300a0401,\n SetupImageComment: 0x300a0402,\n MotionSynchronizationSequence: 0x300a0410,\n ControlPointOrientation: 0x300a0412,\n GeneralAccessorySequence: 0x300a0420,\n GeneralAccessoryID: 0x300a0421,\n GeneralAccessoryDescription: 0x300a0422,\n GeneralAccessoryType: 0x300a0423,\n GeneralAccessoryNumber: 0x300a0424,\n SourceToGeneralAccessoryDistance: 0x300a0425,\n ApplicatorGeometrySequence: 0x300a0431,\n ApplicatorApertureShape: 0x300a0432,\n ApplicatorOpening: 0x300a0433,\n ApplicatorOpeningX: 0x300a0434,\n ApplicatorOpeningY: 0x300a0435,\n SourceToApplicatorMountingPositionDistance: 0x300a0436,\n NumberOfBlockSlabItems: 0x300a0440,\n BlockSlabSequence: 0x300a0441,\n BlockSlabThickness: 0x300a0442,\n BlockSlabNumber: 0x300a0443,\n DeviceMotionControlSequence: 0x300a0450,\n DeviceMotionExecutionMode: 0x300a0451,\n DeviceMotionObservationMode: 0x300a0452,\n DeviceMotionParameterCodeSequence: 0x300a0453,\n DistalDepthFraction: 0x300a0501,\n DistalDepth: 0x300a0502,\n NominalRangeModulationFractions: 0x300a0503,\n NominalRangeModulatedRegionDepths: 0x300a0504,\n DepthDoseParametersSequence: 0x300a0505,\n DeliveredDepthDoseParametersSequence: 0x300a0506,\n DeliveredDistalDepthFraction: 0x300a0507,\n DeliveredDistalDepth: 0x300a0508,\n DeliveredNominalRangeModulationFractions: 0x300a0509,\n DeliveredNominalRangeModulatedRegionDepths: 0x300a0510,\n DeliveredReferenceDoseDefinition: 0x300a0511,\n ReferenceDoseDefinition: 0x300a0512,\n ReferencedRTPlanSequence: 0x300c0002,\n ReferencedBeamSequence: 0x300c0004,\n ReferencedBeamNumber: 0x300c0006,\n ReferencedReferenceImageNumber: 0x300c0007,\n StartCumulativeMetersetWeight: 0x300c0008,\n EndCumulativeMetersetWeight: 0x300c0009,\n ReferencedBrachyApplicationSetupSequence: 0x300c000a,\n ReferencedBrachyApplicationSetupNumber: 0x300c000c,\n ReferencedSourceNumber: 0x300c000e,\n ReferencedFractionGroupSequence: 0x300c0020,\n ReferencedFractionGroupNumber: 0x300c0022,\n ReferencedVerificationImageSequence: 0x300c0040,\n ReferencedReferenceImageSequence: 0x300c0042,\n ReferencedDoseReferenceSequence: 0x300c0050,\n ReferencedDoseReferenceNumber: 0x300c0051,\n BrachyReferencedDoseReferenceSequence: 0x300c0055,\n ReferencedStructureSetSequence: 0x300c0060,\n ReferencedPatientSetupNumber: 0x300c006a,\n ReferencedDoseSequence: 0x300c0080,\n ReferencedToleranceTableNumber: 0x300c00a0,\n ReferencedBolusSequence: 0x300c00b0,\n ReferencedWedgeNumber: 0x300c00c0,\n ReferencedCompensatorNumber: 0x300c00d0,\n ReferencedBlockNumber: 0x300c00e0,\n ReferencedControlPointIndex: 0x300c00f0,\n ReferencedControlPointSequence: 0x300c00f2,\n ReferencedStartControlPointIndex: 0x300c00f4,\n ReferencedStopControlPointIndex: 0x300c00f6,\n ReferencedRangeShifterNumber: 0x300c0100,\n ReferencedLateralSpreadingDeviceNumber: 0x300c0102,\n ReferencedRangeModulatorNumber: 0x300c0104,\n OmittedBeamTaskSequence: 0x300c0111,\n ReasonForOmission: 0x300c0112,\n ReasonForOmissionDescription: 0x300c0113,\n ApprovalStatus: 0x300e0002,\n ReviewDate: 0x300e0004,\n ReviewTime: 0x300e0005,\n ReviewerName: 0x300e0008,\n Arbitrary: 0x40000010, // retired\n TextComments: 0x40004000, // retired\n ResultsID: 0x40080040, // retired\n ResultsIDIssuer: 0x40080042, // retired\n ReferencedInterpretationSequence: 0x40080050, // retired\n ReportProductionStatusTrial: 0x400800ff, // retired\n InterpretationRecordedDate: 0x40080100, // retired\n InterpretationRecordedTime: 0x40080101, // retired\n InterpretationRecorder: 0x40080102, // retired\n ReferenceToRecordedSound: 0x40080103, // retired\n InterpretationTranscriptionDate: 0x40080108, // retired\n InterpretationTranscriptionTime: 0x40080109, // retired\n InterpretationTranscriber: 0x4008010a, // retired\n InterpretationText: 0x4008010b, // retired\n InterpretationAuthor: 0x4008010c, // retired\n InterpretationApproverSequence: 0x40080111, // retired\n InterpretationApprovalDate: 0x40080112, // retired\n InterpretationApprovalTime: 0x40080113, // retired\n PhysicianApprovingInterpretation: 0x40080114, // retired\n InterpretationDiagnosisDescription: 0x40080115, // retired\n InterpretationDiagnosisCodeSequence: 0x40080117, // retired\n ResultsDistributionListSequence: 0x40080118, // retired\n DistributionName: 0x40080119, // retired\n DistributionAddress: 0x4008011a, // retired\n InterpretationID: 0x40080200, // retired\n InterpretationIDIssuer: 0x40080202, // retired\n InterpretationTypeID: 0x40080210, // retired\n InterpretationStatusID: 0x40080212, // retired\n Impressions: 0x40080300, // retired\n ResultsComments: 0x40084000, // retired\n LowEnergyDetectors: 0x40100001,\n HighEnergyDetectors: 0x40100002,\n DetectorGeometrySequence: 0x40100004,\n ThreatROIVoxelSequence: 0x40101001,\n ThreatROIBase: 0x40101004,\n ThreatROIExtents: 0x40101005,\n ThreatROIBitmap: 0x40101006,\n RouteSegmentID: 0x40101007,\n GantryType: 0x40101008,\n OOIOwnerType: 0x40101009,\n RouteSegmentSequence: 0x4010100a,\n PotentialThreatObjectID: 0x40101010,\n ThreatSequence: 0x40101011,\n ThreatCategory: 0x40101012,\n ThreatCategoryDescription: 0x40101013,\n ATDAbilityAssessment: 0x40101014,\n ATDAssessmentFlag: 0x40101015,\n ATDAssessmentProbability: 0x40101016,\n Mass: 0x40101017,\n Density: 0x40101018,\n ZEffective: 0x40101019,\n BoardingPassID: 0x4010101a,\n CenterOfMass: 0x4010101b,\n CenterOfPTO: 0x4010101c,\n BoundingPolygon: 0x4010101d,\n RouteSegmentStartLocationID: 0x4010101e,\n RouteSegmentEndLocationID: 0x4010101f,\n RouteSegmentLocationIDType: 0x40101020,\n AbortReason: 0x40101021,\n VolumeOfPTO: 0x40101023,\n AbortFlag: 0x40101024,\n RouteSegmentStartTime: 0x40101025,\n RouteSegmentEndTime: 0x40101026,\n TDRType: 0x40101027,\n InternationalRouteSegment: 0x40101028,\n ThreatDetectionAlgorithmandVersion: 0x40101029,\n AssignedLocation: 0x4010102a,\n AlarmDecisionTime: 0x4010102b,\n AlarmDecision: 0x40101031,\n NumberOfTotalObjects: 0x40101033,\n NumberOfAlarmObjects: 0x40101034,\n PTORepresentationSequence: 0x40101037,\n ATDAssessmentSequence: 0x40101038,\n TIPType: 0x40101039,\n DICOSVersion: 0x4010103a,\n OOIOwnerCreationTime: 0x40101041,\n OOIType: 0x40101042,\n OOISize: 0x40101043,\n AcquisitionStatus: 0x40101044,\n BasisMaterialsCodeSequence: 0x40101045,\n PhantomType: 0x40101046,\n OOIOwnerSequence: 0x40101047,\n ScanType: 0x40101048,\n ItineraryID: 0x40101051,\n ItineraryIDType: 0x40101052,\n ItineraryIDAssigningAuthority: 0x40101053,\n RouteID: 0x40101054,\n RouteIDAssigningAuthority: 0x40101055,\n InboundArrivalType: 0x40101056,\n CarrierID: 0x40101058,\n CarrierIDAssigningAuthority: 0x40101059,\n SourceOrientation: 0x40101060,\n SourcePosition: 0x40101061,\n BeltHeight: 0x40101062,\n AlgorithmRoutingCodeSequence: 0x40101064,\n TransportClassification: 0x40101067,\n OOITypeDescriptor: 0x40101068,\n TotalProcessingTime: 0x40101069,\n DetectorCalibrationData: 0x4010106c,\n AdditionalScreeningPerformed: 0x4010106d,\n AdditionalInspectionSelectionCriteria: 0x4010106e,\n AdditionalInspectionMethodSequence: 0x4010106f,\n AITDeviceType: 0x40101070,\n QRMeasurementsSequence: 0x40101071,\n TargetMaterialSequence: 0x40101072,\n SNRThreshold: 0x40101073,\n ImageScaleRepresentation: 0x40101075,\n ReferencedPTOSequence: 0x40101076,\n ReferencedTDRInstanceSequence: 0x40101077,\n PTOLocationDescription: 0x40101078,\n AnomalyLocatorIndicatorSequence: 0x40101079,\n AnomalyLocatorIndicator: 0x4010107a,\n PTORegionSequence: 0x4010107b,\n InspectionSelectionCriteria: 0x4010107c,\n SecondaryInspectionMethodSequence: 0x4010107d,\n PRCSToRCSOrientation: 0x4010107e,\n MACParametersSequence: 0x4ffe0001,\n CurveDimensions: 0x50000005, // retired\n NumberOfPoints: 0x50000010, // retired\n TypeOfData: 0x50000020, // retired\n CurveDescription: 0x50000022, // retired\n AxisUnits: 0x50000030, // retired\n AxisLabels: 0x50000040, // retired\n DataValueRepresentation: 0x50000103, // retired\n MinimumCoordinateValue: 0x50000104, // retired\n MaximumCoordinateValue: 0x50000105, // retired\n CurveRange: 0x50000106, // retired\n CurveDataDescriptor: 0x50000110, // retired\n CoordinateStartValue: 0x50000112, // retired\n CoordinateStepValue: 0x50000114, // retired\n CurveActivationLayer: 0x50001001, // retired\n AudioType: 0x50002000, // retired\n AudioSampleFormat: 0x50002002, // retired\n NumberOfChannels: 0x50002004, // retired\n NumberOfSamples: 0x50002006, // retired\n SampleRate: 0x50002008, // retired\n TotalTime: 0x5000200a, // retired\n AudioSampleData: 0x5000200c, // retired\n AudioComments: 0x5000200e, // retired\n CurveLabel: 0x50002500, // retired\n CurveReferencedOverlaySequence: 0x50002600, // retired\n CurveReferencedOverlayGroup: 0x50002610, // retired\n CurveData: 0x50003000, // retired\n SharedFunctionalGroupsSequence: 0x52009229,\n PerFrameFunctionalGroupsSequence: 0x52009230,\n WaveformSequence: 0x54000100,\n ChannelMinimumValue: 0x54000110,\n ChannelMaximumValue: 0x54000112,\n WaveformBitsAllocated: 0x54001004,\n WaveformSampleInterpretation: 0x54001006,\n WaveformPaddingValue: 0x5400100a,\n WaveformData: 0x54001010,\n FirstOrderPhaseCorrectionAngle: 0x56000010,\n SpectroscopyData: 0x56000020,\n OverlayRows: 0x60000010,\n OverlayColumns: 0x60000011,\n OverlayPlanes: 0x60000012, // retired\n NumberOfFramesInOverlay: 0x60000015,\n OverlayDescription: 0x60000022,\n OverlayType: 0x60000040,\n OverlaySubtype: 0x60000045,\n OverlayOrigin: 0x60000050,\n ImageFrameOrigin: 0x60000051,\n OverlayPlaneOrigin: 0x60000052, // retired\n OverlayCompressionCode: 0x60000060, // retired\n OverlayCompressionOriginator: 0x60000061, // retired\n OverlayCompressionLabel: 0x60000062, // retired\n OverlayCompressionDescription: 0x60000063, // retired\n OverlayCompressionStepPointers: 0x60000066, // retired\n OverlayRepeatInterval: 0x60000068, // retired\n OverlayBitsGrouped: 0x60000069, // retired\n OverlayBitsAllocated: 0x60000100,\n OverlayBitPosition: 0x60000102,\n OverlayFormat: 0x60000110, // retired\n OverlayLocation: 0x60000200, // retired\n OverlayCodeLabel: 0x60000800, // retired\n OverlayNumberOfTables: 0x60000802, // retired\n OverlayCodeTableLocation: 0x60000803, // retired\n OverlayBitsForCodeWord: 0x60000804, // retired\n OverlayActivationLayer: 0x60001001,\n OverlayDescriptorGray: 0x60001100, // retired\n OverlayDescriptorRed: 0x60001101, // retired\n OverlayDescriptorGreen: 0x60001102, // retired\n OverlayDescriptorBlue: 0x60001103, // retired\n OverlaysGray: 0x60001200, // retired\n OverlaysRed: 0x60001201, // retired\n OverlaysGreen: 0x60001202, // retired\n OverlaysBlue: 0x60001203, // retired\n ROIArea: 0x60001301,\n ROIMean: 0x60001302,\n ROIStandardDeviation: 0x60001303,\n OverlayLabel: 0x60001500,\n OverlayData: 0x60003000,\n OverlayComments: 0x60004000, // retired\n FloatPixelData: 0x7fe00008,\n DoubleFloatPixelData: 0x7fe00009,\n PixelData: 0x7fe00010,\n CoefficientsSDVN: 0x7fe00020, // retired\n CoefficientsSDHN: 0x7fe00030, // retired\n CoefficientsSDDN: 0x7fe00040, // retired\n VariablePixelData: 0x7f000010, // retired\n VariableNextDataGroup: 0x7f000011, // retired\n VariableCoefficientsSDVN: 0x7f000020, // retired\n VariableCoefficientsSDHN: 0x7f000030, // retired\n VariableCoefficientsSDDN: 0x7f000040, // retired\n DigitalSignaturesSequence: 0xfffafffa,\n DataSetTrailingPadding: 0xfffcfffc,\n Item: 0xfffee000,\n ItemDelimitationItem: 0xfffee00d,\n SequenceDelimitationItem: 0xfffee0dd,\n\n // private tags\n PhilipsSUVScaleFactor: 0x70531000,\n PhilipsActivityConcentrationFactor: 0x70531009,\n PhilipsCreatorDataElements: 0x70530010,\n};\n","export class UIDToName {\n public static nameOf(uid: string): string {\n return UIDToName.dict[uid];\n }\n\n private static dict: { [key: string]: string } = {\n '1.2.840.10008.1.1': 'Verification SOP Class',\n '1.2.840.10008.1.2': 'Implicit VR Little Endian',\n '1.2.840.10008.1.2.1': 'Explicit VR Little Endian',\n '1.2.840.10008.1.2.1.99': 'Deflated Explicit VR Little Endian',\n '1.2.840.10008.1.2.2': 'Explicit VR Big Endian (Retired,',\n '1.2.840.10008.1.2.4.50': 'JPEG Baseline (Process 1,',\n '1.2.840.10008.1.2.4.51': 'JPEG Extended (Process 2 & 4,',\n '1.2.840.10008.1.2.4.52': 'JPEG Extended (Process 3 & 5, (Retired,',\n '1.2.840.10008.1.2.4.53': 'JPEG Spectral Selection, Non-Hierarchical (Process 6 & 8, (Retired,',\n '1.2.840.10008.1.2.4.54': 'JPEG Spectral Selection, Non-Hierarchical (Process 7 & 9, (Retired,',\n '1.2.840.10008.1.2.4.55': 'JPEG Full Progression, Non-Hierarchical (Process 10 & 12, (Retired,',\n '1.2.840.10008.1.2.4.56': 'JPEG Full Progression, Non-Hierarchical (Process 11 & 13, (Retired,',\n '1.2.840.10008.1.2.4.57': 'JPEG Lossless, Non-Hierarchical (Process 14,',\n '1.2.840.10008.1.2.4.58': 'JPEG Lossless, Non-Hierarchical (Process 15, (Retired,',\n '1.2.840.10008.1.2.4.59': 'JPEG Extended, Hierarchical (Process 16 & 18, (Retired,',\n '1.2.840.10008.1.2.4.60': 'JPEG Extended, Hierarchical (Process 17 & 19, (Retired,',\n '1.2.840.10008.1.2.4.61': 'JPEG Spectral Selection, Hierarchical (Process 20 & 22, (Retired,',\n '1.2.840.10008.1.2.4.62': 'JPEG Spectral Selection, Hierarchical (Process 21 & 23, (Retired,',\n '1.2.840.10008.1.2.4.63': 'JPEG Full Progression, Hierarchical (Process 24 & 26, (Retired,',\n '1.2.840.10008.1.2.4.64': 'JPEG Full Progression, Hierarchical (Process 25 & 27, (Retired,',\n '1.2.840.10008.1.2.4.65': 'JPEG Lossless, Hierarchical (Process 28, (Retired,',\n '1.2.840.10008.1.2.4.66': 'JPEG Lossless, Hierarchical (Process 29, (Retired,',\n '1.2.840.10008.1.2.4.70':\n 'JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1],',\n '1.2.840.10008.1.2.4.80': 'JPEG-LS Lossless Image Compression',\n '1.2.840.10008.1.2.4.81': 'JPEG-LS Lossy (Near-Lossless, Image Compression',\n '1.2.840.10008.1.2.4.90': 'JPEG 2000 Image Compression (Lossless Only,',\n '1.2.840.10008.1.2.4.91': 'JPEG 2000 Image Compression',\n '1.2.840.10008.1.2.4.92': 'JPEG 2000 Part 2 Multi-component Image Compression (Lossless Only,',\n '1.2.840.10008.1.2.4.93': 'JPEG 2000 Part 2 Multi-component Image Compression',\n '1.2.840.10008.1.2.4.94': 'JPIP Referenced',\n '1.2.840.10008.1.2.4.95': 'JPIP Referenced Deflate',\n '1.2.840.10008.1.2.4.100': 'MPEG2 Main Profile / Main Level',\n '1.2.840.10008.1.2.4.101': 'MPEG2 Main Profile / High Level',\n '1.2.840.10008.1.2.4.102': 'MPEG-4 AVC/H.264 High Profile / Level 4.1',\n '1.2.840.10008.1.2.4.103': 'MPEG-4 AVC/H.264 BD-compatible High Profile / Level 4.1',\n '1.2.840.10008.1.2.4.104': 'MPEG-4 AVC/H.264 High Profile / Level 4.2 For 2D Video',\n '1.2.840.10008.1.2.4.105': 'MPEG-4 AVC/H.264 High Profile / Level 4.2 For 3D Video',\n '1.2.840.10008.1.2.4.106': 'MPEG-4 AVC/H.264 Stereo High Profile / Level 4.2',\n '1.2.840.10008.1.2.4.107': 'HEVC/H.265 Main Profile / Level 5.1',\n '1.2.840.10008.1.2.4.108': 'HEVC/H.265 Main 10 Profile / Level 5.1',\n '1.2.840.10008.1.2.5': 'RLE Lossless',\n '1.2.840.10008.1.2.6.1': 'RFC 2557 MIME encapsulation (Retired,',\n '1.2.840.10008.1.2.6.2': 'XML Encoding (Retired,',\n '1.2.840.10008.1.3.10': 'Media Storage Directory Storage',\n '1.2.840.10008.1.4.1.1': 'Talairach Brain Atlas Frame of Reference',\n '1.2.840.10008.1.4.1.2': 'SPM2 T1 Frame of Reference',\n '1.2.840.10008.1.4.1.3': 'SPM2 T2 Frame of Reference',\n '1.2.840.10008.1.4.1.4': 'SPM2 PD Frame of Reference',\n '1.2.840.10008.1.4.1.5': 'SPM2 EPI Frame of Reference',\n '1.2.840.10008.1.4.1.6': 'SPM2 FIL T1 Frame of Reference',\n '1.2.840.10008.1.4.1.7': 'SPM2 PET Frame of Reference',\n '1.2.840.10008.1.4.1.8': 'SPM2 TRANSM Frame of Reference',\n '1.2.840.10008.1.4.1.9': 'SPM2 SPECT Frame of Reference',\n '1.2.840.10008.1.4.1.10': 'SPM2 GRAY Frame of Reference',\n '1.2.840.10008.1.4.1.11': 'SPM2 WHITE Frame of Reference',\n '1.2.840.10008.1.4.1.12': 'SPM2 CSF Frame of Reference',\n '1.2.840.10008.1.4.1.13': 'SPM2 BRAINMASK Frame of Reference',\n '1.2.840.10008.1.4.1.14': 'SPM2 AVG305T1 Frame of Reference',\n '1.2.840.10008.1.4.1.15': 'SPM2 AVG152T1 Frame of Reference',\n '1.2.840.10008.1.4.1.16': 'SPM2 AVG152T2 Frame of Reference',\n '1.2.840.10008.1.4.1.17': 'SPM2 AVG152PD Frame of Reference',\n '1.2.840.10008.1.4.1.18': 'SPM2 SINGLESUBJT1 Frame of Reference',\n '1.2.840.10008.1.4.2.1': 'ICBM 452 T1 Frame of Reference',\n '1.2.840.10008.1.4.2.2': 'ICBM Single Subject MRI Frame of Reference',\n '1.2.840.10008.1.5.1': 'Hot Iron Color Palette SOP Instance',\n '1.2.840.10008.1.5.2': 'PET Color Palette SOP Instance',\n '1.2.840.10008.1.5.3': 'Hot Metal Blue Color Palette SOP Instance',\n '1.2.840.10008.1.5.4': 'PET 20 Step Color Palette SOP Instance',\n '1.2.840.10008.1.5.5': 'Spring Color Palette SOP Instance',\n '1.2.840.10008.1.5.6': 'Summer Color Palette SOP Instance',\n '1.2.840.10008.1.5.7': 'Fall Color Palette SOP Instance',\n '1.2.840.10008.1.5.8': 'Winter Color Palette SOP Instance',\n '1.2.840.10008.1.9': 'Basic Study Content Notification SOP Class (Retired,',\n '1.2.840.10008.1.20': 'Papyrus 3 Implicit VR Little Endian (Retired,',\n '1.2.840.10008.1.20.1': 'Storage Commitment Push Model SOP Class',\n '1.2.840.10008.1.20.1.1': 'Storage Commitment Push Model SOP Instance',\n '1.2.840.10008.1.20.2': 'Storage Commitment Pull Model SOP Class (Retired,',\n '1.2.840.10008.1.20.2.1': 'Storage Commitment Pull Model SOP Instance (Retired,',\n '1.2.840.10008.1.40': 'Procedural Event Logging SOP Class',\n '1.2.840.10008.1.40.1': 'Procedural Event Logging SOP Instance',\n '1.2.840.10008.1.42': 'Substance Administration Logging SOP Class',\n '1.2.840.10008.1.42.1': 'Substance Administration Logging SOP Instance',\n '1.2.840.10008.2.6.1': 'DICOM UID Registry',\n '1.2.840.10008.2.16.4': 'DICOM Controlled Terminology',\n '1.2.840.10008.2.16.5': 'Adult Mouse Anatomy Ontology',\n '1.2.840.10008.2.16.6': 'Uberon Ontology',\n '1.2.840.10008.2.16.7': 'Integrated Taxonomic Information System',\n '1.2.840.10008.2.16.8': 'Mouse Genome Initiative (MGI,',\n '1.2.840.10008.2.16.9': 'PubChem Compound CID',\n '1.2.840.10008.2.16.10': 'ICD-11',\n '1.2.840.10008.2.16.11': 'New York University Melanoma Clinical Cooperative Group',\n '1.2.840.10008.2.16.12':\n 'Mayo Clinic Non-radiological Images Specific Body Structure Anatomical Surface Region Guide',\n '1.2.840.10008.2.16.13': 'Image Biomarker Standardisation Initiative',\n '1.2.840.10008.2.16.14': 'Radiomics Ontology',\n '1.2.840.10008.3.1.1.1': 'DICOM Application Context Name',\n '1.2.840.10008.3.1.2.1.1': 'Detached Patient Management SOP Class (Retired,',\n '1.2.840.10008.3.1.2.1.4': 'Detached Patient Management Meta SOP Class (Retired,',\n '1.2.840.10008.3.1.2.2.1': 'Detached Visit Management SOP Class (Retired,',\n '1.2.840.10008.3.1.2.3.1': 'Detached Study Management SOP Class (Retired,',\n '1.2.840.10008.3.1.2.3.2': 'Study Component Management SOP Class (Retired,',\n '1.2.840.10008.3.1.2.3.3': 'Modality Performed Procedure Step SOP Class',\n '1.2.840.10008.3.1.2.3.4': 'Modality Performed Procedure Step Retrieve SOP Class',\n '1.2.840.10008.3.1.2.3.5': 'Modality Performed Procedure Step Notification SOP Class',\n '1.2.840.10008.3.1.2.5.1': 'Detached Results Management SOP Class (Retired,',\n '1.2.840.10008.3.1.2.5.4': 'Detached Results Management Meta SOP Class (Retired,',\n '1.2.840.10008.3.1.2.5.5': 'Detached Study Management Meta SOP Class (Retired,',\n '1.2.840.10008.3.1.2.6.1': 'Detached Interpretation Management SOP Class (Retired,',\n '1.2.840.10008.4.2': 'Storage Service Class',\n '1.2.840.10008.5.1.1.1': 'Basic Film Session SOP Class',\n '1.2.840.10008.5.1.1.2': 'Basic Film Box SOP Class',\n '1.2.840.10008.5.1.1.4': 'Basic Grayscale Image Box SOP Class',\n '1.2.840.10008.5.1.1.4.1': 'Basic Color Image Box SOP Class',\n '1.2.840.10008.5.1.1.4.2': 'Referenced Image Box SOP Class (Retired,',\n '1.2.840.10008.5.1.1.9': 'Basic Grayscale Print Management Meta SOP Class',\n '1.2.840.10008.5.1.1.9.1': 'Referenced Grayscale Print Management Meta SOP Class (Retired,',\n '1.2.840.10008.5.1.1.14': 'Print Job SOP Class',\n '1.2.840.10008.5.1.1.15': 'Basic Annotation Box SOP Class',\n '1.2.840.10008.5.1.1.16': 'Printer SOP Class',\n '1.2.840.10008.5.1.1.16.376': 'Printer Configuration Retrieval SOP Class',\n '1.2.840.10008.5.1.1.17': 'Printer SOP Instance',\n '1.2.840.10008.5.1.1.17.376': 'Printer Configuration Retrieval SOP Instance',\n '1.2.840.10008.5.1.1.18': 'Basic Color Print Management Meta SOP Class',\n '1.2.840.10008.5.1.1.18.1': 'Referenced Color Print Management Meta SOP Class (Retired,',\n '1.2.840.10008.5.1.1.22': 'VOI LUT Box SOP Class',\n '1.2.840.10008.5.1.1.23': 'Presentation LUT SOP Class',\n '1.2.840.10008.5.1.1.24': 'Image Overlay Box SOP Class (Retired,',\n '1.2.840.10008.5.1.1.24.1': 'Basic Print Image Overlay Box SOP Class (Retired,',\n '1.2.840.10008.5.1.1.25': 'Print Queue SOP Instance (Retired,',\n '1.2.840.10008.5.1.1.26': 'Print Queue Management SOP Class (Retired,',\n '1.2.840.10008.5.1.1.27': 'Stored Print Storage SOP Class (Retired,',\n '1.2.840.10008.5.1.1.29': 'Hardcopy Grayscale Image Storage SOP Class (Retired,',\n '1.2.840.10008.5.1.1.30': 'Hardcopy Color Image Storage SOP Class (Retired,',\n '1.2.840.10008.5.1.1.31': 'Pull Print Request SOP Class (Retired,',\n '1.2.840.10008.5.1.1.32': 'Pull Stored Print Management Meta SOP Class (Retired,',\n '1.2.840.10008.5.1.1.33': 'Media Creation Management SOP Class UID',\n '1.2.840.10008.5.1.1.40': 'Display System SOP Class',\n '1.2.840.10008.5.1.1.40.1': 'Display System SOP Instance',\n '1.2.840.10008.5.1.4.1.1.1': 'Computed Radiography Image Storage',\n '1.2.840.10008.5.1.4.1.1.1.1': 'Digital X-Ray Image Storage - For Presentation',\n '1.2.840.10008.5.1.4.1.1.1.1.1': 'Digital X-Ray Image Storage - For Processing',\n '1.2.840.10008.5.1.4.1.1.1.2': 'Digital Mammography X-Ray Image Storage - For Presentation',\n '1.2.840.10008.5.1.4.1.1.1.2.1': 'Digital Mammography X-Ray Image Storage - For Processing',\n '1.2.840.10008.5.1.4.1.1.1.3': 'Digital Intra-Oral X-Ray Image Storage - For Presentation',\n '1.2.840.10008.5.1.4.1.1.1.3.1': 'Digital Intra-Oral X-Ray Image Storage - For Processing',\n '1.2.840.10008.5.1.4.1.1.2': 'CT Image Storage',\n '1.2.840.10008.5.1.4.1.1.2.1': 'Enhanced CT Image Storage',\n '1.2.840.10008.5.1.4.1.1.2.2': 'Legacy Converted Enhanced CT Image Storage',\n '1.2.840.10008.5.1.4.1.1.3': 'Ultrasound Multi-frame Image Storage (Retired,',\n '1.2.840.10008.5.1.4.1.1.3.1': 'Ultrasound Multi-frame Image Storage',\n '1.2.840.10008.5.1.4.1.1.4': 'MR Image Storage',\n '1.2.840.10008.5.1.4.1.1.4.1': 'Enhanced MR Image Storage',\n '1.2.840.10008.5.1.4.1.1.4.2': 'MR Spectroscopy Storage',\n '1.2.840.10008.5.1.4.1.1.4.3': 'Enhanced MR Color Image Storage',\n '1.2.840.10008.5.1.4.1.1.4.4': 'Legacy Converted Enhanced MR Image Storage',\n '1.2.840.10008.5.1.4.1.1.5': 'Nuclear Medicine Image Storage (Retired,',\n '1.2.840.10008.5.1.4.1.1.6': 'Ultrasound Image Storage (Retired,',\n '1.2.840.10008.5.1.4.1.1.6.1': 'Ultrasound Image Storage',\n '1.2.840.10008.5.1.4.1.1.6.2': 'Enhanced US Volume Storage',\n '1.2.840.10008.5.1.4.1.1.7': 'Secondary Capture Image Storage',\n '1.2.840.10008.5.1.4.1.1.7.1': 'Multi-frame Single Bit Secondary Capture Image Storage',\n '1.2.840.10008.5.1.4.1.1.7.2': 'Multi-frame Grayscale Byte Secondary Capture Image Storage',\n '1.2.840.10008.5.1.4.1.1.7.3': 'Multi-frame Grayscale Word Secondary Capture Image Storage',\n '1.2.840.10008.5.1.4.1.1.7.4': 'Multi-frame True Color Secondary Capture Image Storage',\n '1.2.840.10008.5.1.4.1.1.8': 'Standalone Overlay Storage (Retired,',\n '1.2.840.10008.5.1.4.1.1.9': 'Standalone Curve Storage (Retired,',\n '1.2.840.10008.5.1.4.1.1.9.1': 'Waveform Storage - Trial (Retired,',\n '1.2.840.10008.5.1.4.1.1.9.1.1': '12-lead ECG Waveform Storage',\n '1.2.840.10008.5.1.4.1.1.9.1.2': 'General ECG Waveform Storage',\n '1.2.840.10008.5.1.4.1.1.9.1.3': 'Ambulatory ECG Waveform Storage',\n '1.2.840.10008.5.1.4.1.1.9.2.1': 'Hemodynamic Waveform Storage',\n '1.2.840.10008.5.1.4.1.1.9.3.1': 'Cardiac Electrophysiology Waveform Storage',\n '1.2.840.10008.5.1.4.1.1.9.4.1': 'Basic Voice Audio Waveform Storage',\n '1.2.840.10008.5.1.4.1.1.9.4.2': 'General Audio Waveform Storage',\n '1.2.840.10008.5.1.4.1.1.9.5.1': 'Arterial Pulse Waveform Storage',\n '1.2.840.10008.5.1.4.1.1.9.6.1': 'Respiratory Waveform Storage',\n '1.2.840.10008.5.1.4.1.1.10': 'Standalone Modality LUT Storage (Retired,',\n '1.2.840.10008.5.1.4.1.1.11': 'Standalone VOI LUT Storage (Retired,',\n '1.2.840.10008.5.1.4.1.1.11.1': 'Grayscale Softcopy Presentation State Storage',\n '1.2.840.10008.5.1.4.1.1.11.2': 'Color Softcopy Presentation State Storage',\n '1.2.840.10008.5.1.4.1.1.11.3': 'Pseudo-Color Softcopy Presentation State Storage',\n '1.2.840.10008.5.1.4.1.1.11.4': 'Blending Softcopy Presentation State Storage',\n '1.2.840.10008.5.1.4.1.1.11.5': 'XA/XRF Grayscale Softcopy Presentation State Storage',\n '1.2.840.10008.5.1.4.1.1.11.6': 'Grayscale Planar MPR Volumetric Presentation State Storage',\n '1.2.840.10008.5.1.4.1.1.11.7': 'Compositing Planar MPR Volumetric Presentation State Storage',\n '1.2.840.10008.5.1.4.1.1.11.8': 'Advanced Blending Presentation State Storage',\n '1.2.840.10008.5.1.4.1.1.11.9': 'Volume Rendering Volumetric Presentation State Storage',\n '1.2.840.10008.5.1.4.1.1.11.10': 'Segmented Volume Rendering Volumetric Presentation State Storage',\n '1.2.840.10008.5.1.4.1.1.11.11': 'Multiple Volume Rendering Volumetric Presentation State Storage',\n '1.2.840.10008.5.1.4.1.1.12.1': 'X-Ray Angiographic Image Storage',\n '1.2.840.10008.5.1.4.1.1.12.1.1': 'Enhanced XA Image Storage',\n '1.2.840.10008.5.1.4.1.1.12.2': 'X-Ray Radiofluoroscopic Image Storage',\n '1.2.840.10008.5.1.4.1.1.12.2.1': 'Enhanced XRF Image Storage',\n '1.2.840.10008.5.1.4.1.1.12.3': 'X-Ray Angiographic Bi-Plane Image Storage (Retired,',\n '1.2.840.10008.5.1.4.1.1.12.77': '(Retired,',\n '1.2.840.10008.5.1.4.1.1.13.1.1': 'X-Ray 3D Angiographic Image Storage',\n '1.2.840.10008.5.1.4.1.1.13.1.2': 'X-Ray 3D Craniofacial Image Storage',\n '1.2.840.10008.5.1.4.1.1.13.1.3': 'Breast Tomosynthesis Image Storage',\n '1.2.840.10008.5.1.4.1.1.13.1.4': 'Breast Projection X-Ray Image Storage - For Presentation',\n '1.2.840.10008.5.1.4.1.1.13.1.5': 'Breast Projection X-Ray Image Storage - For Processing',\n '1.2.840.10008.5.1.4.1.1.14.1': 'Intravascular Optical Coherence Tomography Image Storage - For Presentation',\n '1.2.840.10008.5.1.4.1.1.14.2': 'Intravascular Optical Coherence Tomography Image Storage - For Processing',\n '1.2.840.10008.5.1.4.1.1.20': 'Nuclear Medicine Image Storage',\n '1.2.840.10008.5.1.4.1.1.30': 'Parametric Map Storage',\n '1.2.840.10008.5.1.4.1.1.40': '(Retired,',\n '1.2.840.10008.5.1.4.1.1.66': 'Raw Data Storage',\n '1.2.840.10008.5.1.4.1.1.66.1': 'Spatial Registration Storage',\n '1.2.840.10008.5.1.4.1.1.66.2': 'Spatial Fiducials Storage',\n '1.2.840.10008.5.1.4.1.1.66.3': 'Deformable Spatial Registration Storage',\n '1.2.840.10008.5.1.4.1.1.66.4': 'Segmentation Storage',\n '1.2.840.10008.5.1.4.1.1.66.5': 'Surface Segmentation Storage',\n '1.2.840.10008.5.1.4.1.1.66.6': 'Tractography Results Storage',\n '1.2.840.10008.5.1.4.1.1.67': 'Real World Value Mapping Storage',\n '1.2.840.10008.5.1.4.1.1.68.1': 'Surface Scan Mesh Storage',\n '1.2.840.10008.5.1.4.1.1.68.2': 'Surface Scan Point Cloud Storage',\n '1.2.840.10008.5.1.4.1.1.77.1': 'VL Image Storage - Trial (Retired,',\n '1.2.840.10008.5.1.4.1.1.77.2': 'VL Multi-frame Image Storage - Trial (Retired,',\n '1.2.840.10008.5.1.4.1.1.77.1.1': 'VL Endoscopic Image Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.1.1': 'Video Endoscopic Image Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.2': 'VL Microscopic Image Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.2.1': 'Video Microscopic Image Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.3': 'VL Slide-Coordinates Microscopic Image Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.4': 'VL Photographic Image Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.4.1': 'Video Photographic Image Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.5.1': 'Ophthalmic Photography 8 Bit Image Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.5.2': 'Ophthalmic Photography 16 Bit Image Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.5.3': 'Stereometric Relationship Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.5.4': 'Ophthalmic Tomography Image Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.5.5': 'Wide Field Ophthalmic Photography Stereographic Projection Image Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.5.6': 'Wide Field Ophthalmic Photography 3D Coordinates Image Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.5.7': 'Ophthalmic Optical Coherence Tomography En Face Image Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.5.8': 'Ophthalmic Optical Coherence Tomography B-scan Volume Analysis Storage',\n '1.2.840.10008.5.1.4.1.1.77.1.6': 'VL Whole Slide Microscopy Image Storage',\n '1.2.840.10008.5.1.4.1.1.78.1': 'Lensometry Measurements Storage',\n '1.2.840.10008.5.1.4.1.1.78.2': 'Autorefraction Measurements Storage',\n '1.2.840.10008.5.1.4.1.1.78.3': 'Keratometry Measurements Storage',\n '1.2.840.10008.5.1.4.1.1.78.4': 'Subjective Refraction Measurements Storage',\n '1.2.840.10008.5.1.4.1.1.78.5': 'Visual Acuity Measurements Storage',\n '1.2.840.10008.5.1.4.1.1.78.6': 'Spectacle Prescription Report Storage',\n '1.2.840.10008.5.1.4.1.1.78.7': 'Ophthalmic Axial Measurements Storage',\n '1.2.840.10008.5.1.4.1.1.78.8': 'Intraocular Lens Calculations Storage',\n '1.2.840.10008.5.1.4.1.1.79.1': 'Macular Grid Thickness and Volume Report Storage',\n '1.2.840.10008.5.1.4.1.1.80.1': 'Ophthalmic Visual Field Static Perimetry Measurements Storage',\n '1.2.840.10008.5.1.4.1.1.81.1': 'Ophthalmic Thickness Map Storage',\n '1.2.840.10008.5.1.4.1.1.82.1': 'Corneal Topography Map Storage',\n '1.2.840.10008.5.1.4.1.1.88.1': 'Text SR Storage - Trial (Retired,',\n '1.2.840.10008.5.1.4.1.1.88.2': 'Audio SR Storage - Trial (Retired,',\n '1.2.840.10008.5.1.4.1.1.88.3': 'Detail SR Storage - Trial (Retired,',\n '1.2.840.10008.5.1.4.1.1.88.4': 'Comprehensive SR Storage - Trial (Retired,',\n '1.2.840.10008.5.1.4.1.1.88.11': 'Basic Text SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.22': 'Enhanced SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.33': 'Comprehensive SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.34': 'Comprehensive 3D SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.35': 'Extensible SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.40': 'Procedure Log Storage',\n '1.2.840.10008.5.1.4.1.1.88.50': 'Mammography CAD SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.59': 'Key Object Selection Document Storage',\n '1.2.840.10008.5.1.4.1.1.88.65': 'Chest CAD SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.67': 'X-Ray Radiation Dose SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.68': 'Radiopharmaceutical Radiation Dose SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.69': 'Colon CAD SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.70': 'Implantation Plan SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.71': 'Acquisition Context SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.72': 'Simplified Adult Echo SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.73': 'Patient Radiation Dose SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.74': 'Planned Imaging Agent Administration SR Storage',\n '1.2.840.10008.5.1.4.1.1.88.75': 'Performed Imaging Agent Administration SR Storage',\n '1.2.840.10008.5.1.4.1.1.90.1': 'Content Assessment Results Storage',\n '1.2.840.10008.5.1.4.1.1.104.1': 'Encapsulated PDF Storage',\n '1.2.840.10008.5.1.4.1.1.104.2': 'Encapsulated CDA Storage',\n '1.2.840.10008.5.1.4.1.1.104.3': 'Encapsulated STL Storage',\n '1.2.840.10008.5.1.4.1.1.128': 'Positron Emission Tomography Image Storage',\n '1.2.840.10008.5.1.4.1.1.128.1': 'Legacy Converted Enhanced PET Image Storage',\n '1.2.840.10008.5.1.4.1.1.129': 'Standalone PET Curve Storage (Retired,',\n '1.2.840.10008.5.1.4.1.1.130': 'Enhanced PET Image Storage',\n '1.2.840.10008.5.1.4.1.1.131': 'Basic Structured Display Storage',\n '1.2.840.10008.5.1.4.1.1.200.1': 'CT Defined Procedure Protocol Storage',\n '1.2.840.10008.5.1.4.1.1.200.2': 'CT Performed Procedure Protocol Storage',\n '1.2.840.10008.5.1.4.1.1.200.3': 'Protocol Approval Storage',\n '1.2.840.10008.5.1.4.1.1.200.4': 'Protocol Approval Information Model - FIND',\n '1.2.840.10008.5.1.4.1.1.200.5': 'Protocol Approval Information Model - MOVE',\n '1.2.840.10008.5.1.4.1.1.200.6': 'Protocol Approval Information Model - GET',\n '1.2.840.10008.5.1.4.1.1.481.1': 'RT Image Storage',\n '1.2.840.10008.5.1.4.1.1.481.2': 'RT Dose Storage',\n '1.2.840.10008.5.1.4.1.1.481.3': 'RT Structure Set Storage',\n '1.2.840.10008.5.1.4.1.1.481.4': 'RT Beams Treatment Record Storage',\n '1.2.840.10008.5.1.4.1.1.481.5': 'RT Plan Storage',\n '1.2.840.10008.5.1.4.1.1.481.6': 'RT Brachy Treatment Record Storage',\n '1.2.840.10008.5.1.4.1.1.481.7': 'RT Treatment Summary Record Storage',\n '1.2.840.10008.5.1.4.1.1.481.8': 'RT Ion Plan Storage',\n '1.2.840.10008.5.1.4.1.1.481.9': 'RT Ion Beams Treatment Record Storage',\n '1.2.840.10008.5.1.4.1.1.481.10': 'RT Physician Intent Storage',\n '1.2.840.10008.5.1.4.1.1.481.11': 'RT Segment Annotation Storage',\n '1.2.840.10008.5.1.4.1.1.501.1': 'DICOS CT Image Storage',\n '1.2.840.10008.5.1.4.1.1.501.2.1': 'DICOS Digital X-Ray Image Storage - For Presentation',\n '1.2.840.10008.5.1.4.1.1.501.2.2': 'DICOS Digital X-Ray Image Storage - For Processing',\n '1.2.840.10008.5.1.4.1.1.501.3': 'DICOS Threat Detection Report Storage',\n '1.2.840.10008.5.1.4.1.1.501.4': 'DICOS 2D AIT Storage',\n '1.2.840.10008.5.1.4.1.1.501.5': 'DICOS 3D AIT Storage',\n '1.2.840.10008.5.1.4.1.1.501.6': 'DICOS Quadrupole Resonance (QR, Storage',\n '1.2.840.10008.5.1.4.1.1.601.1': 'Eddy Current Image Storage',\n '1.2.840.10008.5.1.4.1.1.601.2': 'Eddy Current Multi-frame Image Storage',\n '1.2.840.10008.5.1.4.1.2.1.1': 'Patient Root Query/Retrieve Information Model - FIND',\n '1.2.840.10008.5.1.4.1.2.1.2': 'Patient Root Query/Retrieve Information Model - MOVE',\n '1.2.840.10008.5.1.4.1.2.1.3': 'Patient Root Query/Retrieve Information Model - GET',\n '1.2.840.10008.5.1.4.1.2.2.1': 'Study Root Query/Retrieve Information Model - FIND',\n '1.2.840.10008.5.1.4.1.2.2.2': 'Study Root Query/Retrieve Information Model - MOVE',\n '1.2.840.10008.5.1.4.1.2.2.3': 'Study Root Query/Retrieve Information Model - GET',\n '1.2.840.10008.5.1.4.1.2.3.1': 'Patient/Study Only Query/Retrieve Information Model - FIND (Retired,',\n '1.2.840.10008.5.1.4.1.2.3.2': 'Patient/Study Only Query/Retrieve Information Model - MOVE (Retired,',\n '1.2.840.10008.5.1.4.1.2.3.3': 'Patient/Study Only Query/Retrieve Information Model - GET (Retired,',\n '1.2.840.10008.5.1.4.1.2.4.2': 'Composite Instance Root Retrieve - MOVE',\n '1.2.840.10008.5.1.4.1.2.4.3': 'Composite Instance Root Retrieve - GET',\n '1.2.840.10008.5.1.4.1.2.5.3': 'Composite Instance Retrieve Without Bulk Data - GET',\n '1.2.840.10008.5.1.4.20.1': 'Defined Procedure Protocol Information Model - FIND',\n '1.2.840.10008.5.1.4.20.2': 'Defined Procedure Protocol Information Model - MOVE',\n '1.2.840.10008.5.1.4.20.3': 'Defined Procedure Protocol Information Model - GET',\n '1.2.840.10008.5.1.4.31': 'Modality Worklist Information Model - FIND',\n '1.2.840.10008.5.1.4.32': 'General Purpose Worklist Management Meta SOP Class (Retired,',\n '1.2.840.10008.5.1.4.32.1': 'General Purpose Worklist Information Model - FIND (Retired,',\n '1.2.840.10008.5.1.4.32.2': 'General Purpose Scheduled Procedure Step SOP Class (Retired,',\n '1.2.840.10008.5.1.4.32.3': 'General Purpose Performed Procedure Step SOP Class (Retired,',\n '1.2.840.10008.5.1.4.33': 'Instance Availability Notification SOP Class',\n '1.2.840.10008.5.1.4.34.1': 'RT Beams Delivery Instruction Storage - Trial (Retired,',\n '1.2.840.10008.5.1.4.34.2': 'RT Conventional Machine Verification - Trial (Retired,',\n '1.2.840.10008.5.1.4.34.3': 'RT Ion Machine Verification - Trial (Retired,',\n '1.2.840.10008.5.1.4.34.4': 'Unified Worklist and Procedure Step Service Class - Trial (Retired,',\n '1.2.840.10008.5.1.4.34.4.1': 'Unified Procedure Step - Push SOP Class - Trial (Retired,',\n '1.2.840.10008.5.1.4.34.4.2': 'Unified Procedure Step - Watch SOP Class - Trial (Retired,',\n '1.2.840.10008.5.1.4.34.4.3': 'Unified Procedure Step - Pull SOP Class - Trial (Retired,',\n '1.2.840.10008.5.1.4.34.4.4': 'Unified Procedure Step - Event SOP Class - Trial (Retired,',\n '1.2.840.10008.5.1.4.34.5': 'UPS Global Subscription SOP Instance',\n '1.2.840.10008.5.1.4.34.5.1': 'UPS Filtered Global Subscription SOP Instance',\n '1.2.840.10008.5.1.4.34.6': 'Unified Worklist and Procedure Step Service Class',\n '1.2.840.10008.5.1.4.34.6.1': 'Unified Procedure Step - Push SOP Class',\n '1.2.840.10008.5.1.4.34.6.2': 'Unified Procedure Step - Watch SOP Class',\n '1.2.840.10008.5.1.4.34.6.3': 'Unified Procedure Step - Pull SOP Class',\n '1.2.840.10008.5.1.4.34.6.4': 'Unified Procedure Step - Event SOP Class',\n '1.2.840.10008.5.1.4.34.7': 'RT Beams Delivery Instruction Storage',\n '1.2.840.10008.5.1.4.34.8': 'RT Conventional Machine Verification',\n '1.2.840.10008.5.1.4.34.9': 'RT Ion Machine Verification',\n '1.2.840.10008.5.1.4.34.10': 'RT Brachy Application Setup Delivery Instruction Storage',\n '1.2.840.10008.5.1.4.37.1': 'General Relevant Patient Information Query',\n '1.2.840.10008.5.1.4.37.2': 'Breast Imaging Relevant Patient Information Query',\n '1.2.840.10008.5.1.4.37.3': 'Cardiac Relevant Patient Information Query',\n '1.2.840.10008.5.1.4.38.1': 'Hanging Protocol Storage',\n '1.2.840.10008.5.1.4.38.2': 'Hanging Protocol Information Model - FIND',\n '1.2.840.10008.5.1.4.38.3': 'Hanging Protocol Information Model - MOVE',\n '1.2.840.10008.5.1.4.38.4': 'Hanging Protocol Information Model - GET',\n '1.2.840.10008.5.1.4.39.1': 'Color Palette Storage',\n '1.2.840.10008.5.1.4.39.2': 'Color Palette Query/Retrieve Information Model - FIND',\n '1.2.840.10008.5.1.4.39.3': 'Color Palette Query/Retrieve Information Model - MOVE',\n '1.2.840.10008.5.1.4.39.4': 'Color Palette Query/Retrieve Information Model - GET',\n '1.2.840.10008.5.1.4.41': 'Product Characteristics Query SOP Class',\n '1.2.840.10008.5.1.4.42': 'Substance Approval Query SOP Class',\n '1.2.840.10008.5.1.4.43.1': 'Generic Implant Template Storage',\n '1.2.840.10008.5.1.4.43.2': 'Generic Implant Template Information Model - FIND',\n '1.2.840.10008.5.1.4.43.3': 'Generic Implant Template Information Model - MOVE',\n '1.2.840.10008.5.1.4.43.4': 'Generic Implant Template Information Model - GET',\n '1.2.840.10008.5.1.4.44.1': 'Implant Assembly Template Storage',\n '1.2.840.10008.5.1.4.44.2': 'Implant Assembly Template Information Model - FIND',\n '1.2.840.10008.5.1.4.44.3': 'Implant Assembly Template Information Model - MOVE',\n '1.2.840.10008.5.1.4.44.4': 'Implant Assembly Template Information Model - GET',\n '1.2.840.10008.5.1.4.45.1': 'Implant Template Group Storage',\n '1.2.840.10008.5.1.4.45.2': 'Implant Template Group Information Model - FIND',\n '1.2.840.10008.5.1.4.45.3': 'Implant Template Group Information Model - MOVE',\n '1.2.840.10008.5.1.4.45.4': 'Implant Template Group Information Model - GET',\n '1.2.840.10008.7.1.1': 'Native DICOM Model',\n '1.2.840.10008.7.1.2': 'Abstract Multi-Dimensional Image Model',\n '1.2.840.10008.8.1.1': 'DICOM Content Mapping Resource',\n '1.2.840.10008.15.0.3.1': 'dicom​Device​Name',\n '1.2.840.10008.15.0.3.2': 'dicom​Description',\n '1.2.840.10008.15.0.3.3': 'dicom​Manufacturer',\n '1.2.840.10008.15.0.3.4': 'dicom​Manufacturer​Model​Name',\n '1.2.840.10008.15.0.3.5': 'dicom​Software​Version',\n '1.2.840.10008.15.0.3.6': 'dicom​Vendor​Data',\n '1.2.840.10008.15.0.3.7': 'dicomAE​Title',\n '1.2.840.10008.15.0.3.8': 'dicom​Network​Connection​Reference',\n '1.2.840.10008.15.0.3.9': 'dicom​Application​Cluster',\n '1.2.840.10008.15.0.3.10': 'dicom​Association​Initiator',\n '1.2.840.10008.15.0.3.11': 'dicom​Association​Acceptor',\n '1.2.840.10008.15.0.3.12': 'dicom​Hostname',\n '1.2.840.10008.15.0.3.13': 'dicom​Port',\n '1.2.840.10008.15.0.3.14': 'dicomSOP​Class',\n '1.2.840.10008.15.0.3.15': 'dicom​Transfer​Role',\n '1.2.840.10008.15.0.3.16': 'dicom​Transfer​Syntax',\n '1.2.840.10008.15.0.3.17': 'dicom​Primary​Device​Type',\n '1.2.840.10008.15.0.3.18': 'dicom​Related​Device​Reference',\n '1.2.840.10008.15.0.3.19': 'dicom​Preferred​CalledAE​Title',\n '1.2.840.10008.15.0.3.20': 'dicomTLS​Cyphersuite',\n '1.2.840.10008.15.0.3.21': 'dicom​Authorized​Node​Certificate​Reference',\n '1.2.840.10008.15.0.3.22': 'dicom​This​Node​Certificate​Reference',\n '1.2.840.10008.15.0.3.23': 'dicom​Installed',\n '1.2.840.10008.15.0.3.24': 'dicom​Station​Name',\n '1.2.840.10008.15.0.3.25': 'dicom​Device​Serial​Number',\n '1.2.840.10008.15.0.3.26': 'dicom​Institution​Name',\n '1.2.840.10008.15.0.3.27': 'dicom​Institution​Address',\n '1.2.840.10008.15.0.3.28': 'dicom​Institution​Department​Name',\n '1.2.840.10008.15.0.3.29': 'dicom​Issuer​OfPatientID',\n '1.2.840.10008.15.0.3.30': 'dicom​Preferred​CallingAE​Title',\n '1.2.840.10008.15.0.3.31': 'dicom​Supported​Character​Set',\n '1.2.840.10008.15.0.4.1': 'dicom​Configuration​Root',\n '1.2.840.10008.15.0.4.2': 'dicom​Devices​Root',\n '1.2.840.10008.15.0.4.3': 'dicom​UniqueAE​Titles​Registry​Root',\n '1.2.840.10008.15.0.4.4': 'dicom​Device',\n '1.2.840.10008.15.0.4.5': 'dicom​NetworkAE',\n '1.2.840.10008.15.0.4.6': 'dicom​Network​Connection',\n '1.2.840.10008.15.0.4.7': 'dicom​UniqueAE​Title',\n '1.2.840.10008.15.0.4.8': 'dicom​Transfer​Capability',\n '1.2.840.10008.15.1.1': 'Universal Coordinated Time',\n };\n}\n","export const UID: { [key: string]: string } = {\n VerificationSOPClass: '1.2.840.10008.1.1',\n ImplicitVRLittleEndian: '1.2.840.10008.1.2',\n ExplicitVRLittleEndian: '1.2.840.10008.1.2.1',\n DeflatedExplicitVRLittleEndian: '1.2.840.10008.1.2.1.99',\n ExplicitVRBigEndianRetired: '1.2.840.10008.1.2.2', // retired\n JPEGBaselineProcess1: '1.2.840.10008.1.2.4.50',\n JPEGExtendedProcess24: '1.2.840.10008.1.2.4.51',\n JPEGExtendedProcess35Retired: '1.2.840.10008.1.2.4.52', // retired\n JPEGSpectralSelectionNonHierarchicalProcess68Retired: '1.2.840.10008.1.2.4.53', // retired\n JPEGSpectralSelectionNonHierarchicalProcess79Retired: '1.2.840.10008.1.2.4.54', // retired\n JPEGFullProgressionNonHierarchicalProcess1012Retired: '1.2.840.10008.1.2.4.55', // retired\n JPEGFullProgressionNonHierarchicalProcess1113Retired: '1.2.840.10008.1.2.4.56', // retired\n JPEGLosslessNonHierarchicalProcess14: '1.2.840.10008.1.2.4.57',\n JPEGLosslessNonHierarchicalProcess15Retired: '1.2.840.10008.1.2.4.58', // retired\n JPEGExtendedHierarchicalProcess1618Retired: '1.2.840.10008.1.2.4.59', // retired\n JPEGExtendedHierarchicalProcess1719Retired: '1.2.840.10008.1.2.4.60', // retired\n JPEGSpectralSelectionHierarchicalProcess2022Retired: '1.2.840.10008.1.2.4.61', // retired\n JPEGSpectralSelectionHierarchicalProcess2123Retired: '1.2.840.10008.1.2.4.62', // retired\n JPEGFullProgressionHierarchicalProcess2426Retired: '1.2.840.10008.1.2.4.63', // retired\n JPEGFullProgressionHierarchicalProcess2527Retired: '1.2.840.10008.1.2.4.64', // retired\n JPEGLosslessHierarchicalProcess28Retired: '1.2.840.10008.1.2.4.65', // retired\n JPEGLosslessHierarchicalProcess29Retired: '1.2.840.10008.1.2.4.66', // retired\n JPEGLosslessNonHierarchicalFirstOrderPredictionProcess14SelectionValue1: '1.2.840.10008.1.2.4.70',\n JPEGLSLosslessImageCompression: '1.2.840.10008.1.2.4.80',\n JPEGLSLossyNearLosslessImageCompression: '1.2.840.10008.1.2.4.81',\n JPEG2000ImageCompressionLosslessOnly: '1.2.840.10008.1.2.4.90',\n JPEG2000ImageCompression: '1.2.840.10008.1.2.4.91',\n JPEG2000Part2MulticomponentImageCompressionLosslessOnly: '1.2.840.10008.1.2.4.92',\n JPEG2000Part2MulticomponentImageCompression: '1.2.840.10008.1.2.4.93',\n JPIPReferenced: '1.2.840.10008.1.2.4.94',\n JPIPReferencedDeflate: '1.2.840.10008.1.2.4.95',\n MPEG2MainProfileMainLevel: '1.2.840.10008.1.2.4.100',\n MPEG2MainProfileHighLevel: '1.2.840.10008.1.2.4.101',\n MPEG4AVCH264HighProfileLevel41: '1.2.840.10008.1.2.4.102',\n MPEG4AVCH264BDcompatibleHighProfileLevel41: '1.2.840.10008.1.2.4.103',\n MPEG4AVCH264HighProfileLevel42For2DVideo: '1.2.840.10008.1.2.4.104',\n MPEG4AVCH264HighProfileLevel42For3DVideo: '1.2.840.10008.1.2.4.105',\n MPEG4AVCH264StereoHighProfileLevel42: '1.2.840.10008.1.2.4.106',\n HEVCH265MainProfileLevel51: '1.2.840.10008.1.2.4.107',\n HEVCH265Main10ProfileLevel51: '1.2.840.10008.1.2.4.108',\n RLELossless: '1.2.840.10008.1.2.5',\n RFC2557MIMEencapsulation: '1.2.840.10008.1.2.6.1',\n XMLEncoding: '1.2.840.10008.1.2.6.2',\n MediaStorageDirectoryStorage: '1.2.840.10008.1.3.10',\n TalairachBrainAtlasFrameofReference: '1.2.840.10008.1.4.1.1',\n SPM2T1FrameofReference: '1.2.840.10008.1.4.1.2',\n SPM2T2FrameofReference: '1.2.840.10008.1.4.1.3',\n SPM2PDFrameofReference: '1.2.840.10008.1.4.1.4',\n SPM2EPIFrameofReference: '1.2.840.10008.1.4.1.5',\n SPM2FILT1FrameofReference: '1.2.840.10008.1.4.1.6',\n SPM2PETFrameofReference: '1.2.840.10008.1.4.1.7',\n SPM2TRANSMFrameofReference: '1.2.840.10008.1.4.1.8',\n SPM2SPECTFrameofReference: '1.2.840.10008.1.4.1.9',\n SPM2GRAYFrameofReference: '1.2.840.10008.1.4.1.10',\n SPM2WHITEFrameofReference: '1.2.840.10008.1.4.1.11',\n SPM2CSFFrameofReference: '1.2.840.10008.1.4.1.12',\n SPM2BRAINMASKFrameofReference: '1.2.840.10008.1.4.1.13',\n SPM2AVG305T1FrameofReference: '1.2.840.10008.1.4.1.14',\n SPM2AVG152T1FrameofReference: '1.2.840.10008.1.4.1.15',\n SPM2AVG152T2FrameofReference: '1.2.840.10008.1.4.1.16',\n SPM2AVG152PDFrameofReference: '1.2.840.10008.1.4.1.17',\n SPM2SINGLESUBJT1FrameofReference: '1.2.840.10008.1.4.1.18',\n ICBM452T1FrameofReference: '1.2.840.10008.1.4.2.1',\n ICBMSingleSubjectMRIFrameofReference: '1.2.840.10008.1.4.2.2',\n HotIronColorPaletteSOPInstance: '1.2.840.10008.1.5.1',\n PETColorPaletteSOPInstance: '1.2.840.10008.1.5.2',\n HotMetalBlueColorPaletteSOPInstance: '1.2.840.10008.1.5.3',\n PET20StepColorPaletteSOPInstance: '1.2.840.10008.1.5.4',\n SpringColorPaletteSOPInstance: '1.2.840.10008.1.5.5',\n SummerColorPaletteSOPInstance: '1.2.840.10008.1.5.6',\n FallColorPaletteSOPInstance: '1.2.840.10008.1.5.7',\n WinterColorPaletteSOPInstance: '1.2.840.10008.1.5.8',\n BasicStudyContentNotificationSOPClassRetired: '1.2.840.10008.1.9', // retired\n Papyrus3ImplicitVRLittleEndianRetired: '1.2.840.10008.1.20', // retired\n StorageCommitmentPushModelSOPClass: '1.2.840.10008.1.20.1',\n StorageCommitmentPushModelSOPInstance: '1.2.840.10008.1.20.1.1',\n StorageCommitmentPullModelSOPClassRetired: '1.2.840.10008.1.20.2', // retired\n StorageCommitmentPullModelSOPInstanceRetired: '1.2.840.10008.1.20.2.1', // retired\n ProceduralEventLoggingSOPClass: '1.2.840.10008.1.40',\n ProceduralEventLoggingSOPInstance: '1.2.840.10008.1.40.1',\n SubstanceAdministrationLoggingSOPClass: '1.2.840.10008.1.42',\n SubstanceAdministrationLoggingSOPInstance: '1.2.840.10008.1.42.1',\n DICOMUIDRegistry: '1.2.840.10008.2.6.1',\n DICOMControlledTerminology: '1.2.840.10008.2.16.4',\n AdultMouseAnatomyOntology: '1.2.840.10008.2.16.5',\n UberonOntology: '1.2.840.10008.2.16.6',\n IntegratedTaxonomicInformationSystemITISTaxonomicSerialNumberTSN: '1.2.840.10008.2.16.7',\n MouseGenomeInitiativeMGI: '1.2.840.10008.2.16.8',\n PubChemCompoundCID: '1.2.840.10008.2.16.9',\n DICOMApplicationContextName: '1.2.840.10008.3.1.1.1',\n DetachedPatientManagementSOPClassRetired: '1.2.840.10008.3.1.2.1.1', // retired\n DetachedPatientManagementMetaSOPClassRetired: '1.2.840.10008.3.1.2.1.4', // retired\n DetachedVisitManagementSOPClassRetired: '1.2.840.10008.3.1.2.2.1', // retired\n DetachedStudyManagementSOPClassRetired: '1.2.840.10008.3.1.2.3.1', // retired\n StudyComponentManagementSOPClassRetired: '1.2.840.10008.3.1.2.3.2', // retired\n ModalityPerformedProcedureStepSOPClass: '1.2.840.10008.3.1.2.3.3',\n ModalityPerformedProcedureStepRetrieveSOPClass: '1.2.840.10008.3.1.2.3.4',\n ModalityPerformedProcedureStepNotificationSOPClass: '1.2.840.10008.3.1.2.3.5',\n DetachedResultsManagementSOPClassRetired: '1.2.840.10008.3.1.2.5.1', // retired\n DetachedResultsManagementMetaSOPClassRetired: '1.2.840.10008.3.1.2.5.4', // retired\n DetachedStudyManagementMetaSOPClassRetired: '1.2.840.10008.3.1.2.5.5', // retired\n DetachedInterpretationManagementSOPClassRetired: '1.2.840.10008.3.1.2.6.1', // retired\n StorageServiceClass: '1.2.840.10008.4.2',\n BasicFilmSessionSOPClass: '1.2.840.10008.5.1.1.1',\n BasicFilmBoxSOPClass: '1.2.840.10008.5.1.1.2',\n BasicGrayscaleImageBoxSOPClass: '1.2.840.10008.5.1.1.4',\n BasicColorImageBoxSOPClass: '1.2.840.10008.5.1.1.4.1',\n ReferencedImageBoxSOPClassRetired: '1.2.840.10008.5.1.1.4.2', // retired\n BasicGrayscalePrintManagementMetaSOPClass: '1.2.840.10008.5.1.1.9',\n ReferencedGrayscalePrintManagementMetaSOPClassRetired: '1.2.840.10008.5.1.1.9.1', // retired\n PrintJobSOPClass: '1.2.840.10008.5.1.1.14',\n BasicAnnotationBoxSOPClass: '1.2.840.10008.5.1.1.15',\n PrinterSOPClass: '1.2.840.10008.5.1.1.16',\n PrinterConfigurationRetrievalSOPClass: '1.2.840.10008.5.1.1.16.376',\n PrinterSOPInstance: '1.2.840.10008.5.1.1.17',\n PrinterConfigurationRetrievalSOPInstance: '1.2.840.10008.5.1.1.17.376',\n BasicColorPrintManagementMetaSOPClass: '1.2.840.10008.5.1.1.18',\n ReferencedColorPrintManagementMetaSOPClassRetired: '1.2.840.10008.5.1.1.18.1', // retired\n VOILUTBoxSOPClass: '1.2.840.10008.5.1.1.22',\n PresentationLUTSOPClass: '1.2.840.10008.5.1.1.23',\n ImageOverlayBoxSOPClassRetired: '1.2.840.10008.5.1.1.24', // retired\n BasicPrintImageOverlayBoxSOPClassRetired: '1.2.840.10008.5.1.1.24.1', // retired\n PrintQueueSOPInstanceRetired: '1.2.840.10008.5.1.1.25', // retired\n PrintQueueManagementSOPClassRetired: '1.2.840.10008.5.1.1.26', // retired\n StoredPrintStorageSOPClassRetired: '1.2.840.10008.5.1.1.27', // retired\n HardcopyGrayscaleImageStorageSOPClassRetired: '1.2.840.10008.5.1.1.29', // retired\n HardcopyColorImageStorageSOPClassRetired: '1.2.840.10008.5.1.1.30', // retired\n PullPrintRequestSOPClassRetired: '1.2.840.10008.5.1.1.31', // retired\n PullStoredPrintManagementMetaSOPClassRetired: '1.2.840.10008.5.1.1.32', // retired\n MediaCreationManagementSOPClassUID: '1.2.840.10008.5.1.1.33',\n DisplaySystemSOPClass: '1.2.840.10008.5.1.1.40',\n DisplaySystemSOPInstance: '1.2.840.10008.5.1.1.40.1',\n ComputedRadiographyImageStorage: '1.2.840.10008.5.1.4.1.1.1',\n DigitalXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.1.1',\n DigitalXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.1.1.1',\n DigitalMammographyXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.1.2',\n DigitalMammographyXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.1.2.1',\n DigitalIntraOralXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.1.3',\n DigitalIntraOralXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.1.3.1',\n CTImageStorage: '1.2.840.10008.5.1.4.1.1.2',\n EnhancedCTImageStorage: '1.2.840.10008.5.1.4.1.1.2.1',\n LegacyConvertedEnhancedCTImageStorage: '1.2.840.10008.5.1.4.1.1.2.2',\n UltrasoundMultiframeImageStorageRetired: '1.2.840.10008.5.1.4.1.1.3', // retired\n UltrasoundMultiframeImageStorage: '1.2.840.10008.5.1.4.1.1.3.1',\n MRImageStorage: '1.2.840.10008.5.1.4.1.1.4',\n EnhancedMRImageStorage: '1.2.840.10008.5.1.4.1.1.4.1',\n MRSpectroscopyStorage: '1.2.840.10008.5.1.4.1.1.4.2',\n EnhancedMRColorImageStorage: '1.2.840.10008.5.1.4.1.1.4.3',\n LegacyConvertedEnhancedMRImageStorage: '1.2.840.10008.5.1.4.1.1.4.4',\n NuclearMedicineImageStorageRetired: '1.2.840.10008.5.1.4.1.1.5', // retired\n UltrasoundImageStorageRetired: '1.2.840.10008.5.1.4.1.1.6', // retired\n UltrasoundImageStorage: '1.2.840.10008.5.1.4.1.1.6.1',\n EnhancedUSVolumeStorage: '1.2.840.10008.5.1.4.1.1.6.2',\n SecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7',\n MultiframeSingleBitSecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7.1',\n MultiframeGrayscaleByteSecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7.2',\n MultiframeGrayscaleWordSecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7.3',\n MultiframeTrueColorSecondaryCaptureImageStorage: '1.2.840.10008.5.1.4.1.1.7.4',\n StandaloneOverlayStorageRetired: '1.2.840.10008.5.1.4.1.1.8', // retired\n StandaloneCurveStorageRetired: '1.2.840.10008.5.1.4.1.1.9', // retired\n WaveformStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.9.1', // retired\n TwelveleadECGWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.1.1',\n GeneralECGWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.1.2',\n AmbulatoryECGWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.1.3',\n HemodynamicWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.2.1',\n CardiacElectrophysiologyWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.3.1',\n BasicVoiceAudioWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.4.1',\n GeneralAudioWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.4.2',\n ArterialPulseWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.5.1',\n RespiratoryWaveformStorage: '1.2.840.10008.5.1.4.1.1.9.6.1',\n StandaloneModalityLUTStorageRetired: '1.2.840.10008.5.1.4.1.1.10', // retired\n StandaloneVOILUTStorageRetired: '1.2.840.10008.5.1.4.1.1.11', // retired\n GrayscaleSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.1',\n ColorSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.2',\n PseudoColorSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.3',\n BlendingSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.4',\n XAXRFGrayscaleSoftcopyPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.5',\n GrayscalePlanarMPRVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.6',\n CompositingPlanarMPRVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.7',\n AdvancedBlendingPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.8',\n VolumeRenderingVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.9',\n SegmentedVolumeRenderingVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.10',\n MultipleVolumeRenderingVolumetricPresentationStateStorage: '1.2.840.10008.5.1.4.1.1.11.11',\n XRayAngiographicImageStorage: '1.2.840.10008.5.1.4.1.1.12.1',\n EnhancedXAImageStorage: '1.2.840.10008.5.1.4.1.1.12.1.1',\n XRayRadiofluoroscopicImageStorage: '1.2.840.10008.5.1.4.1.1.12.2',\n EnhancedXRFImageStorage: '1.2.840.10008.5.1.4.1.1.12.2.1',\n XRayAngiographicBiPlaneImageStorageRetired: '1.2.840.10008.5.1.4.1.1.12.3', // retired\n XRay3DAngiographicImageStorage: '1.2.840.10008.5.1.4.1.1.13.1.1',\n XRay3DCraniofacialImageStorage: '1.2.840.10008.5.1.4.1.1.13.1.2',\n BreastTomosynthesisImageStorage: '1.2.840.10008.5.1.4.1.1.13.1.3',\n BreastProjectionXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.13.1.4',\n BreastProjectionXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.13.1.5',\n IntravascularOpticalCoherenceTomographyImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.14.1',\n IntravascularOpticalCoherenceTomographyImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.14.2',\n NuclearMedicineImageStorage: '1.2.840.10008.5.1.4.1.1.20',\n ParametricMapStorage: '1.2.840.10008.5.1.4.1.1.30',\n RawDataStorage: '1.2.840.10008.5.1.4.1.1.66',\n SpatialRegistrationStorage: '1.2.840.10008.5.1.4.1.1.66.1',\n SpatialFiducialsStorage: '1.2.840.10008.5.1.4.1.1.66.2',\n DeformableSpatialRegistrationStorage: '1.2.840.10008.5.1.4.1.1.66.3',\n SegmentationStorage: '1.2.840.10008.5.1.4.1.1.66.4',\n SurfaceSegmentationStorage: '1.2.840.10008.5.1.4.1.1.66.5',\n TractographyResultsStorage: '1.2.840.10008.5.1.4.1.1.66.6',\n RealWorldValueMappingStorage: '1.2.840.10008.5.1.4.1.1.67',\n SurfaceScanMeshStorage: '1.2.840.10008.5.1.4.1.1.68.1',\n SurfaceScanPointCloudStorage: '1.2.840.10008.5.1.4.1.1.68.2',\n VLImageStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.77.1', // retired\n VLMultiframeImageStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.77.2', // retired\n VLEndoscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.1',\n VideoEndoscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.1.1',\n VLMicroscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.2',\n VideoMicroscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.2.1',\n VLSlideCoordinatesMicroscopicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.3',\n VLPhotographicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.4',\n VideoPhotographicImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.4.1',\n OphthalmicPhotography8BitImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.1',\n OphthalmicPhotography16BitImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.2',\n StereometricRelationshipStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.3',\n OphthalmicTomographyImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.4',\n WideFieldOphthalmicPhotographyStereographicProjectionImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.5',\n WideFieldOphthalmicPhotography3DCoordinatesImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.6',\n OphthalmicOpticalCoherenceTomographyEnFaceImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.7',\n OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage: '1.2.840.10008.5.1.4.1.1.77.1.5.8',\n VLWholeSlideMicroscopyImageStorage: '1.2.840.10008.5.1.4.1.1.77.1.6',\n LensometryMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.1',\n AutorefractionMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.2',\n KeratometryMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.3',\n SubjectiveRefractionMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.4',\n VisualAcuityMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.5',\n SpectaclePrescriptionReportStorage: '1.2.840.10008.5.1.4.1.1.78.6',\n OphthalmicAxialMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.78.7',\n IntraocularLensCalculationsStorage: '1.2.840.10008.5.1.4.1.1.78.8',\n MacularGridThicknessandVolumeReportStorage: '1.2.840.10008.5.1.4.1.1.79.1',\n OphthalmicVisualFieldStaticPerimetryMeasurementsStorage: '1.2.840.10008.5.1.4.1.1.80.1',\n OphthalmicThicknessMapStorage: '1.2.840.10008.5.1.4.1.1.81.1',\n CornealTopographyMapStorage: '1.2.840.10008.5.1.4.1.1.82.1',\n TextSRStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.88.1', // retired\n AudioSRStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.88.2', // retired\n DetailSRStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.88.3', // retired\n ComprehensiveSRStorageTrialRetired: '1.2.840.10008.5.1.4.1.1.88.4', // retired\n BasicTextSRStorage: '1.2.840.10008.5.1.4.1.1.88.11',\n EnhancedSRStorage: '1.2.840.10008.5.1.4.1.1.88.22',\n ComprehensiveSRStorage: '1.2.840.10008.5.1.4.1.1.88.33',\n Comprehensive3DSRStorage: '1.2.840.10008.5.1.4.1.1.88.34',\n ExtensibleSRStorage: '1.2.840.10008.5.1.4.1.1.88.35',\n ProcedureLogStorage: '1.2.840.10008.5.1.4.1.1.88.40',\n MammographyCADSRStorage: '1.2.840.10008.5.1.4.1.1.88.50',\n KeyObjectSelectionDocumentStorage: '1.2.840.10008.5.1.4.1.1.88.59',\n ChestCADSRStorage: '1.2.840.10008.5.1.4.1.1.88.65',\n XRayRadiationDoseSRStorage: '1.2.840.10008.5.1.4.1.1.88.67',\n RadiopharmaceuticalRadiationDoseSRStorage: '1.2.840.10008.5.1.4.1.1.88.68',\n ColonCADSRStorage: '1.2.840.10008.5.1.4.1.1.88.69',\n ImplantationPlanSRStorage: '1.2.840.10008.5.1.4.1.1.88.70',\n AcquisitionContextSRStorage: '1.2.840.10008.5.1.4.1.1.88.71',\n SimplifiedAdultEchoSRStorage: '1.2.840.10008.5.1.4.1.1.88.72',\n PatientRadiationDoseSRStorage: '1.2.840.10008.5.1.4.1.1.88.73',\n ContentAssessmentResultsStorage: '1.2.840.10008.5.1.4.1.1.90.1',\n EncapsulatedPDFStorage: '1.2.840.10008.5.1.4.1.1.104.1',\n EncapsulatedCDAStorage: '1.2.840.10008.5.1.4.1.1.104.2',\n PositronEmissionTomographyImageStorage: '1.2.840.10008.5.1.4.1.1.128',\n LegacyConvertedEnhancedPETImageStorage: '1.2.840.10008.5.1.4.1.1.128.1',\n StandalonePETCurveStorageRetired: '1.2.840.10008.5.1.4.1.1.129', // retired\n EnhancedPETImageStorage: '1.2.840.10008.5.1.4.1.1.130',\n BasicStructuredDisplayStorage: '1.2.840.10008.5.1.4.1.1.131',\n CTDefinedProcedureProtocolStorage: '1.2.840.10008.5.1.4.1.1.200.1',\n CTPerformedProcedureProtocolStorage: '1.2.840.10008.5.1.4.1.1.200.2',\n ProtocolApprovalStorage: '1.2.840.10008.5.1.4.1.1.200.3',\n ProtocolApprovalInformationModelFIND: '1.2.840.10008.5.1.4.1.1.200.4',\n ProtocolApprovalInformationModelMOVE: '1.2.840.10008.5.1.4.1.1.200.5',\n ProtocolApprovalInformationModelGET: '1.2.840.10008.5.1.4.1.1.200.6',\n RTImageStorage: '1.2.840.10008.5.1.4.1.1.481.1',\n RTDoseStorage: '1.2.840.10008.5.1.4.1.1.481.2',\n RTStructureSetStorage: '1.2.840.10008.5.1.4.1.1.481.3',\n RTBeamsTreatmentRecordStorage: '1.2.840.10008.5.1.4.1.1.481.4',\n RTPlanStorage: '1.2.840.10008.5.1.4.1.1.481.5',\n RTBrachyTreatmentRecordStorage: '1.2.840.10008.5.1.4.1.1.481.6',\n RTTreatmentSummaryRecordStorage: '1.2.840.10008.5.1.4.1.1.481.7',\n RTIonPlanStorage: '1.2.840.10008.5.1.4.1.1.481.8',\n RTIonBeamsTreatmentRecordStorage: '1.2.840.10008.5.1.4.1.1.481.9',\n DICOSCTImageStorage: '1.2.840.10008.5.1.4.1.1.501.1',\n DICOSDigitalXRayImageStorageForPresentation: '1.2.840.10008.5.1.4.1.1.501.2.1',\n DICOSDigitalXRayImageStorageForProcessing: '1.2.840.10008.5.1.4.1.1.501.2.2',\n DICOSThreatDetectionReportStorage: '1.2.840.10008.5.1.4.1.1.501.3',\n DICOS2DAITStorage: '1.2.840.10008.5.1.4.1.1.501.4',\n DICOS3DAITStorage: '1.2.840.10008.5.1.4.1.1.501.5',\n DICOSQuadrupoleResonanceQRStorage: '1.2.840.10008.5.1.4.1.1.501.6',\n EddyCurrentImageStorage: '1.2.840.10008.5.1.4.1.1.601.1',\n EddyCurrentMultiframeImageStorage: '1.2.840.10008.5.1.4.1.1.601.2',\n PatientRootQueryRetrieveInformationModelFIND: '1.2.840.10008.5.1.4.1.2.1.1',\n PatientRootQueryRetrieveInformationModelMOVE: '1.2.840.10008.5.1.4.1.2.1.2',\n PatientRootQueryRetrieveInformationModelGET: '1.2.840.10008.5.1.4.1.2.1.3',\n StudyRootQueryRetrieveInformationModelFIND: '1.2.840.10008.5.1.4.1.2.2.1',\n StudyRootQueryRetrieveInformationModelMOVE: '1.2.840.10008.5.1.4.1.2.2.2',\n StudyRootQueryRetrieveInformationModelGET: '1.2.840.10008.5.1.4.1.2.2.3',\n PatientStudyOnlyQueryRetrieveInformationModelFINDRetired: '1.2.840.10008.5.1.4.1.2.3.1', // retired\n PatientStudyOnlyQueryRetrieveInformationModelMOVERetired: '1.2.840.10008.5.1.4.1.2.3.2', // retired\n PatientStudyOnlyQueryRetrieveInformationModelGETRetired: '1.2.840.10008.5.1.4.1.2.3.3', // retired\n CompositeInstanceRootRetrieveMOVE: '1.2.840.10008.5.1.4.1.2.4.2',\n CompositeInstanceRootRetrieveGET: '1.2.840.10008.5.1.4.1.2.4.3',\n CompositeInstanceRetrieveWithoutBulkDataGET: '1.2.840.10008.5.1.4.1.2.5.3',\n DefinedProcedureProtocolInformationModelFIND: '1.2.840.10008.5.1.4.20.1',\n DefinedProcedureProtocolInformationModelMOVE: '1.2.840.10008.5.1.4.20.2',\n DefinedProcedureProtocolInformationModelGET: '1.2.840.10008.5.1.4.20.3',\n ModalityWorklistInformationModelFIND: '1.2.840.10008.5.1.4.31',\n GeneralPurposeWorklistManagementMetaSOPClassRetired: '1.2.840.10008.5.1.4.32', // retired\n GeneralPurposeWorklistInformationModelFINDRetired: '1.2.840.10008.5.1.4.32.1', // retired\n GeneralPurposeScheduledProcedureStepSOPClassRetired: '1.2.840.10008.5.1.4.32.2', // retired\n GeneralPurposePerformedProcedureStepSOPClassRetired: '1.2.840.10008.5.1.4.32.3', // retired\n InstanceAvailabilityNotificationSOPClass: '1.2.840.10008.5.1.4.33',\n RTBeamsDeliveryInstructionStorageTrialRetired: '1.2.840.10008.5.1.4.34.1', // retired\n RTConventionalMachineVerificationTrialRetired: '1.2.840.10008.5.1.4.34.2', // retired\n RTIonMachineVerificationTrialRetired: '1.2.840.10008.5.1.4.34.3', // retired\n UnifiedWorklistandProcedureStepServiceClassTrialRetired: '1.2.840.10008.5.1.4.34.4', // retired\n UnifiedProcedureStepPushSOPClassTrialRetired: '1.2.840.10008.5.1.4.34.4.1', // retired\n UnifiedProcedureStepWatchSOPClassTrialRetired: '1.2.840.10008.5.1.4.34.4.2', // retired\n UnifiedProcedureStepPullSOPClassTrialRetired: '1.2.840.10008.5.1.4.34.4.3', // retired\n UnifiedProcedureStepEventSOPClassTrialRetired: '1.2.840.10008.5.1.4.34.4.4', // retired\n UPSGlobalSubscriptionSOPInstance: '1.2.840.10008.5.1.4.34.5',\n UPSFilteredGlobalSubscriptionSOPInstance: '1.2.840.10008.5.1.4.34.5.1',\n UnifiedWorklistandProcedureStepServiceClass: '1.2.840.10008.5.1.4.34.6',\n UnifiedProcedureStepPushSOPClass: '1.2.840.10008.5.1.4.34.6.1',\n UnifiedProcedureStepWatchSOPClass: '1.2.840.10008.5.1.4.34.6.2',\n UnifiedProcedureStepPullSOPClass: '1.2.840.10008.5.1.4.34.6.3',\n UnifiedProcedureStepEventSOPClass: '1.2.840.10008.5.1.4.34.6.4',\n RTBeamsDeliveryInstructionStorage: '1.2.840.10008.5.1.4.34.7',\n RTConventionalMachineVerification: '1.2.840.10008.5.1.4.34.8',\n RTIonMachineVerification: '1.2.840.10008.5.1.4.34.9',\n RTBrachyApplicationSetupDeliveryInstructionStorage: '1.2.840.10008.5.1.4.34.10',\n GeneralRelevantPatientInformationQuery: '1.2.840.10008.5.1.4.37.1',\n BreastImagingRelevantPatientInformationQuery: '1.2.840.10008.5.1.4.37.2',\n CardiacRelevantPatientInformationQuery: '1.2.840.10008.5.1.4.37.3',\n HangingProtocolStorage: '1.2.840.10008.5.1.4.38.1',\n HangingProtocolInformationModelFIND: '1.2.840.10008.5.1.4.38.2',\n HangingProtocolInformationModelMOVE: '1.2.840.10008.5.1.4.38.3',\n HangingProtocolInformationModelGET: '1.2.840.10008.5.1.4.38.4',\n ColorPaletteStorage: '1.2.840.10008.5.1.4.39.1',\n ColorPaletteQueryRetrieveInformationModelFIND: '1.2.840.10008.5.1.4.39.2',\n ColorPaletteQueryRetrieveInformationModelMOVE: '1.2.840.10008.5.1.4.39.3',\n ColorPaletteQueryRetrieveInformationModelGET: '1.2.840.10008.5.1.4.39.4',\n ProductCharacteristicsQuerySOPClass: '1.2.840.10008.5.1.4.41',\n SubstanceApprovalQuerySOPClass: '1.2.840.10008.5.1.4.42',\n GenericImplantTemplateStorage: '1.2.840.10008.5.1.4.43.1',\n GenericImplantTemplateInformationModelFIND: '1.2.840.10008.5.1.4.43.2',\n GenericImplantTemplateInformationModelMOVE: '1.2.840.10008.5.1.4.43.3',\n GenericImplantTemplateInformationModelGET: '1.2.840.10008.5.1.4.43.4',\n ImplantAssemblyTemplateStorage: '1.2.840.10008.5.1.4.44.1',\n ImplantAssemblyTemplateInformationModelFIND: '1.2.840.10008.5.1.4.44.2',\n ImplantAssemblyTemplateInformationModelMOVE: '1.2.840.10008.5.1.4.44.3',\n ImplantAssemblyTemplateInformationModelGET: '1.2.840.10008.5.1.4.44.4',\n ImplantTemplateGroupStorage: '1.2.840.10008.5.1.4.45.1',\n ImplantTemplateGroupInformationModelFIND: '1.2.840.10008.5.1.4.45.2',\n ImplantTemplateGroupInformationModelMOVE: '1.2.840.10008.5.1.4.45.3',\n ImplantTemplateGroupInformationModelGET: '1.2.840.10008.5.1.4.45.4',\n NativeDICOMModel: '1.2.840.10008.7.1.1',\n AbstractMultiDimensionalImageModel: '1.2.840.10008.7.1.2',\n DICOMContentMappingResource: '1.2.840.10008.8.1.1',\n dicomDeviceName: '1.2.840.10008.15.0.3.1',\n dicomDescription: '1.2.840.10008.15.0.3.2',\n dicomManufacturer: '1.2.840.10008.15.0.3.3',\n dicomManufacturerModelName: '1.2.840.10008.15.0.3.4',\n dicomSoftwareVersion: '1.2.840.10008.15.0.3.5',\n dicomVendorData: '1.2.840.10008.15.0.3.6',\n dicomAETitle: '1.2.840.10008.15.0.3.7',\n dicomNetworkConnectionReference: '1.2.840.10008.15.0.3.8',\n dicomApplicationCluster: '1.2.840.10008.15.0.3.9',\n dicomAssociationInitiator: '1.2.840.10008.15.0.3.10',\n dicomAssociationAcceptor: '1.2.840.10008.15.0.3.11',\n dicomHostname: '1.2.840.10008.15.0.3.12',\n dicomPort: '1.2.840.10008.15.0.3.13',\n dicomSOPClass: '1.2.840.10008.15.0.3.14',\n dicomTransferRole: '1.2.840.10008.15.0.3.15',\n dicomTransferSyntax: '1.2.840.10008.15.0.3.16',\n dicomPrimaryDeviceType: '1.2.840.10008.15.0.3.17',\n dicomRelatedDeviceReference: '1.2.840.10008.15.0.3.18',\n dicomPreferredCalledAETitle: '1.2.840.10008.15.0.3.19',\n dicomTLSCyphersuite: '1.2.840.10008.15.0.3.20',\n dicomAuthorizedNodeCertificateReference: '1.2.840.10008.15.0.3.21',\n dicomThisNodeCertificateReference: '1.2.840.10008.15.0.3.22',\n dicomInstalled: '1.2.840.10008.15.0.3.23',\n dicomStationName: '1.2.840.10008.15.0.3.24',\n dicomDeviceSerialNumber: '1.2.840.10008.15.0.3.25',\n dicomInstitutionName: '1.2.840.10008.15.0.3.26',\n dicomInstitutionAddress: '1.2.840.10008.15.0.3.27',\n dicomInstitutionDepartmentName: '1.2.840.10008.15.0.3.28',\n dicomIssuerOfPatientID: '1.2.840.10008.15.0.3.29',\n dicomPreferredCallingAETitle: '1.2.840.10008.15.0.3.30',\n dicomSupportedCharacterSet: '1.2.840.10008.15.0.3.31',\n dicomConfigurationRoot: '1.2.840.10008.15.0.4.1',\n dicomDevicesRoot: '1.2.840.10008.15.0.4.2',\n dicomUniqueAETitlesRegistryRoot: '1.2.840.10008.15.0.4.3',\n dicomDevice: '1.2.840.10008.15.0.4.4',\n dicomNetworkAE: '1.2.840.10008.15.0.4.5',\n dicomNetworkConnection: '1.2.840.10008.15.0.4.6',\n dicomUniqueAETitle: '1.2.840.10008.15.0.4.7',\n dicomTransferCapability: '1.2.840.10008.15.0.4.8',\n UniversalCoordinatedTime: '1.2.840.10008.15.1.1',\n};\n","import {\n ChronoField,\n DateTimeFormatter,\n DateTimeFormatterBuilder,\n LocalDate,\n LocalTime,\n ResolverStyle,\n ZonedDateTime,\n ZoneId,\n ZoneOffset,\n} from 'js-joda';\nimport {\n bytesToDouble,\n bytesToFloat,\n bytesToInt,\n bytesToShort,\n bytesToTag,\n bytesToUInt,\n bytesToUShort,\n concat,\n concatv,\n doubleToBytes,\n emptyBuffer,\n floatToBytes,\n intToBytes,\n multiValueDelimiter,\n padToEvenLength,\n shortToBytes,\n systemZone,\n tagToBytes,\n tagToString,\n trim,\n} from './base';\nimport { CharacterSets, defaultCharacterSet } from './character-sets';\nimport { VR } from './vr';\nimport { PersonName, ComponentGroup } from './person-name';\n\nexport class Value {\n public static fromString(vr: VR, value: string, bigEndian = false): Value {\n return create(stringBytes(vr, value, bigEndian), vr);\n }\n\n public static fromStrings(vr: VR, values: string[], bigEndian = false): Value {\n return create(\n combine(\n values.map((v) => stringBytes(vr, v, bigEndian)),\n vr,\n ),\n vr,\n );\n }\n\n public static fromBuffer(vr: VR, buffer: Buffer): Value {\n return create(buffer, vr);\n }\n\n public static fromBytes(vr: VR, bytes: number[]): Value {\n return Value.fromBuffer(vr, Buffer.from(bytes));\n }\n\n public static fromNumber(vr: VR, value: number, bigEndian = false): Value {\n return create(numberBytes(vr, value, bigEndian), vr);\n }\n public static fromNumbers(vr: VR, values: number[], bigEndian = false): Value {\n return create(\n combine(\n values.map((v) => numberBytes(vr, v, bigEndian)),\n vr,\n ),\n vr,\n );\n }\n\n public static fromDate(vr: VR, value: LocalDate): Value {\n return create(dateBytes(vr, value), vr);\n }\n public static fromDates(vr: VR, values: LocalDate[]): Value {\n return create(\n combine(\n values.map((v) => dateBytes(vr, v)),\n vr,\n ),\n vr,\n );\n }\n\n public static fromTime(vr: VR, value: LocalTime): Value {\n return create(timeBytes(vr, value), vr);\n }\n public static fromTimes(vr: VR, values: LocalTime[]): Value {\n return create(\n combine(\n values.map((v) => timeBytes(vr, v)),\n vr,\n ),\n vr,\n );\n }\n\n public static fromDateTime(vr: VR, value: ZonedDateTime): Value {\n return create(dateTimeBytes(vr, value), vr);\n }\n public static fromDateTimes(vr: VR, values: ZonedDateTime[]): Value {\n return create(\n combine(\n values.map((v) => dateTimeBytes(vr, v)),\n vr,\n ),\n vr,\n );\n }\n\n public static fromPersonName(vr: VR, value: PersonName): Value {\n return Value.fromBuffer(vr, personNameBytes(vr, value));\n }\n public static fromPersonNames(vr: VR, values: PersonName[]): Value {\n return Value.fromBuffer(\n vr,\n combine(\n values.map((v) => personNameBytes(vr, v)),\n vr,\n ),\n );\n }\n\n public static fromURL(vr: VR, value: URL): Value {\n return create(urlBytes(vr, value), vr);\n }\n\n public static empty(): Value {\n return new Value(emptyBuffer);\n }\n\n private static headOption<T>(array: T[]): T {\n return array.length > 0 ? array[0] : undefined;\n }\n\n public length: number;\n\n constructor(public readonly bytes: Buffer) {\n this.length = bytes.length;\n }\n\n public toStrings(vr: VR, bigEndian = false, characterSets: CharacterSets = defaultCharacterSet): string[] {\n if (this.length === 0) {\n return [];\n }\n if (vr === VR.AT) {\n return parseAT(this.bytes, bigEndian).map(tagToString);\n }\n if (vr === VR.FL) {\n return parseFL(this.bytes, bigEndian).map((v) => v.toString());\n }\n if (vr === VR.FD) {\n return parseFD(this.bytes, bigEndian).map((v) => v.toString());\n }\n if (vr === VR.SS) {\n return parseSS(this.bytes, bigEndian).map((v) => v.toString());\n }\n if (vr === VR.SL) {\n return parseSL(this.bytes, bigEndian).map((v) => v.toString());\n }\n if (vr === VR.SV) {\n return parseSV(this.bytes, bigEndian).map((v) => v.toString());\n }\n if (vr === VR.US) {\n return parseUS(this.bytes, bigEndian).map((v) => v.toString());\n }\n if (vr === VR.UL) {\n return parseUL(this.bytes, bigEndian).map((v) => v.toString());\n }\n if (vr === VR.UV) {\n return parseSV(this.bytes, bigEndian).map((v) => v.toString());\n }\n if (vr === VR.OB) {\n return [this.bytes.length + ' bytes'];\n }\n if (vr === VR.OW) {\n return [this.bytes.length / 2 + ' words'];\n }\n if (vr === VR.OL) {\n return [this.bytes.length / 4 + ' longs'];\n }\n if (vr === VR.OV) {\n return [this.bytes.length / 8 + ' very longs'];\n }\n if (vr === VR.OF) {\n return [this.bytes.length / 4 + ' floats'];\n }\n if (vr === VR.OD) {\n return [this.bytes.length / 8 + ' doubles'];\n }\n if (vr === VR.ST || vr === VR.LT || vr === VR.UT) {\n return [trimTrailing(characterSets.decode(this.bytes, vr), vr.paddingByte)];\n }\n if (vr === VR.LO || vr === VR.SH || vr === VR.UC) {\n return splitString(characterSets.decode(this.bytes, vr));\n }\n if (vr == VR.PN) {\n return splitString(characterSets.decode(this.bytes, vr)).map(trim);\n }\n return splitString(this.bytes.toString()).map(trim);\n }\n\n public toSingleString(vr: VR, bigEndian = false, characterSets = defaultCharacterSet): string {\n const strings = this.toStrings(vr, bigEndian, characterSets);\n return strings.length === 0 ? '' : strings.join(multiValueDelimiter);\n }\n\n public toNumbers(vr: VR, bigEndian = false): number[] {\n if (this.length === 0) {\n return [];\n }\n if (vr === VR.AT) {\n return parseAT(this.bytes, bigEndian);\n }\n if (vr === VR.DS) {\n return parseDS(this.bytes).filter((n) => !isNaN(n));\n }\n if (vr === VR.FL) {\n return parseFL(this.bytes, bigEndian);\n }\n if (vr === VR.FD) {\n return parseFD(this.bytes, bigEndian);\n }\n if (vr === VR.IS) {\n return parseIS(this.bytes).filter((n) => !isNaN(n));\n }\n if (vr === VR.SL) {\n return parseSL(this.bytes, bigEndian);\n }\n if (vr === VR.SS) {\n return parseSS(this.bytes, bigEndian);\n }\n if (vr === VR.UL) {\n return parseUL(this.bytes, bigEndian);\n }\n if (vr === VR.US) {\n return parseUS(this.bytes, bigEndian);\n }\n return [];\n }\n\n public toDates(vr: VR = VR.DA): LocalDate[] {\n if (vr === VR.DA) {\n return parseDA(this.bytes);\n }\n if (vr === VR.DT) {\n return parseDT(this.bytes, systemZone).map((dt) => dt.toLocalDate());\n }\n return [];\n }\n\n public toTimes(vr: VR = VR.TM): LocalTime[] {\n if (vr === VR.DT) {\n return parseDT(this.bytes, systemZone).map((dt) => dt.toLocalTime());\n }\n if (vr === VR.TM) {\n return parseTM(this.bytes);\n }\n return [];\n }\n\n public toDateTimes(vr: VR = VR.DT, zone: ZoneId = systemZone): ZonedDateTime[] {\n if (vr === VR.DA) {\n return parseDA(this.bytes).map((da) => da.atStartOfDay(zone));\n }\n if (vr === VR.DT) {\n return parseDT(this.bytes, zone);\n }\n return [];\n }\n\n public toPersonNames(vr: VR = VR.PN, characterSets: CharacterSets = defaultCharacterSet): PersonName[] {\n if (vr === VR.PN) {\n return parsePN(this.bytes, characterSets);\n }\n return [];\n }\n\n public toURL(vr: VR = VR.UR): URL {\n if (vr === VR.UR) {\n return parseUR(this.bytes);\n }\n return undefined;\n }\n\n public toString(vr: VR, bigEndian = false, characterSets: CharacterSets = defaultCharacterSet): string {\n return Value.headOption(this.toStrings(vr, bigEndian, characterSets));\n }\n public toNumber(vr: VR, bigEndian = false): number {\n return Value.headOption(this.toNumbers(vr, bigEndian));\n }\n public toDate(vr?: VR): LocalDate {\n return Value.headOption(this.toDates(vr));\n }\n public toTime(vr?: VR): LocalTime {\n return Value.headOption(this.toTimes(vr));\n }\n public toDateTime(vr?: VR, zone?: ZoneId): ZonedDateTime {\n return Value.headOption(this.toDateTimes(vr, zone));\n }\n\n public toPersonName(vr: VR = VR.PN, characterSets: CharacterSets = defaultCharacterSet): PersonName {\n return Value.headOption(this.toPersonNames(vr, characterSets));\n }\n\n public append(bytes: Buffer): Value {\n return new Value(concat(this.bytes, bytes));\n }\n\n public ensurePadding(vr: VR): Value {\n return Value.fromBuffer(vr, this.bytes);\n }\n}\n\nfunction trimTrailing(s: string, paddingByte: number): string {\n let index = s.length;\n while (index > 0 && s.charCodeAt(index - 1) <= paddingByte) {\n index -= 1;\n }\n return s.substring(0, index);\n}\n\nfunction combine(values: Buffer[], vr: VR): Buffer {\n if (\n vr === VR.AT ||\n vr === VR.FL ||\n vr === VR.FD ||\n vr === VR.SL ||\n vr === VR.SS ||\n vr === VR.UL ||\n vr === VR.US ||\n vr === VR.OB ||\n vr === VR.OW ||\n vr === VR.OL ||\n vr === VR.OF ||\n vr === VR.OD\n ) {\n return values.reduce(concat, emptyBuffer);\n }\n const delim = Buffer.from('\\\\');\n return values.reduce((prev, curr) => concatv(prev, delim, curr));\n}\n\nfunction create(bytes: Buffer, vr?: VR): Value {\n return vr ? new Value(padToEvenLength(bytes, vr)) : new Value(bytes);\n}\n\nfunction stringBytes(vr: VR, value: string, bigEndian = false): Buffer {\n if (vr === VR.AT) {\n return tagToBytes(parseInt(value, 16), bigEndian);\n }\n if (vr === VR.FL) {\n return floatToBytes(parseFloat(value), bigEndian);\n }\n if (vr === VR.FD) {\n return doubleToBytes(parseFloat(value), bigEndian);\n }\n if (vr === VR.SL) {\n return intToBytes(parseInt(value, 10), bigEndian);\n }\n if (vr === VR.SS) {\n return shortToBytes(parseInt(value, 10), bigEndian);\n }\n if (vr === VR.UL) {\n return intToBytes(parseInt(value, 10), bigEndian);\n }\n if (vr === VR.US) {\n return shortToBytes(parseInt(value, 10), bigEndian);\n }\n if (vr === VR.OB || vr === VR.OW || vr === VR.OL || vr === VR.OF || vr === VR.OD) {\n throw Error('Cannot create binary array from string');\n }\n return Buffer.from(value);\n}\n\nfunction numberBytes(vr: VR, value: number, bigEndian = false): Buffer {\n if (vr === VR.AT) {\n return tagToBytes(value, bigEndian);\n }\n if (vr === VR.FL) {\n return floatToBytes(value, bigEndian);\n }\n if (vr === VR.FD) {\n return doubleToBytes(value, bigEndian);\n }\n if (vr === VR.SL) {\n return intToBytes(value, bigEndian);\n }\n if (vr === VR.SS) {\n return shortToBytes(value, bigEndian);\n }\n if (vr === VR.UL) {\n return intToBytes(value, bigEndian);\n }\n if (vr === VR.US) {\n return shortToBytes(value, bigEndian);\n }\n if (vr === VR.AT) {\n return tagToBytes(value, bigEndian);\n }\n if (vr === VR.OB || vr === VR.OW || vr === VR.OL || vr === VR.OF || vr === VR.OD) {\n throw Error('Cannot create value of VR ' + vr + ' from int');\n }\n return Buffer.from(value + '');\n}\n\nfunction dateBytes(vr: VR, value: LocalDate): Buffer {\n if (\n vr === VR.AT ||\n vr === VR.FL ||\n vr === VR.FD ||\n vr === VR.SL ||\n vr === VR.SS ||\n vr === VR.UL ||\n vr === VR.US ||\n vr === VR.OB ||\n vr === VR.OW ||\n vr === VR.OL ||\n vr === VR.OF ||\n vr === VR.OD\n ) {\n throw Error('Cannot create value of VR ' + vr + ' from date');\n }\n return Buffer.from(formatDate(value));\n}\n\nfunction timeBytes(vr: VR, value: LocalTime): Buffer {\n if (\n vr === VR.AT ||\n vr === VR.FL ||\n vr === VR.FD ||\n vr === VR.SL ||\n vr === VR.SS ||\n vr === VR.UL ||\n vr === VR.US ||\n vr === VR.OB ||\n vr === VR.OW ||\n vr === VR.OL ||\n vr === VR.OF ||\n vr === VR.OD\n ) {\n throw Error('Cannot create value of VR ' + vr + ' from time');\n }\n return Buffer.from(formatTime(value));\n}\n\nfunction dateTimeBytes(vr: VR, value: ZonedDateTime): Buffer {\n if (\n vr === VR.AT ||\n vr === VR.FL ||\n vr === VR.FD ||\n vr === VR.SL ||\n vr === VR.SS ||\n vr === VR.UL ||\n vr === VR.US ||\n vr === VR.OB ||\n vr === VR.OW ||\n vr === VR.OL ||\n vr === VR.OF ||\n vr === VR.OD\n ) {\n throw Error('Cannot create value of VR ' + vr + ' from date-time');\n }\n return Buffer.from(formatDateTime(value));\n}\n\nfunction personNameBytes(vr: VR, value: PersonName): Buffer {\n if (vr === VR.PN) {\n return Buffer.from(value.toString());\n }\n throw Error('Cannot create value of VR ' + vr + ' from person name');\n}\n\nfunction urlBytes(vr: VR, value: URL): Buffer {\n if (vr === VR.UR) {\n return Buffer.from(value.toString());\n }\n throw Error('Cannot create value of VR ' + vr + ' from URL');\n}\n\nfunction chunk(arr: Buffer, len: number): Buffer[] {\n const chunks = [];\n const n = arr.length;\n let i = 0;\n while (i < n) {\n chunks.push(arr.slice(i, (i += len)));\n }\n return chunks;\n}\n\nfunction splitFixed(bytes: Buffer, size: number): Buffer[] {\n return chunk(bytes, size).filter((g) => g.length === size);\n}\nfunction splitString(s: string): string[] {\n return s.split(multiValueDelimiter);\n}\n\nfunction parseAT(value: Buffer, bigEndian = false): number[] {\n return splitFixed(value, 4).map((b) => bytesToTag(b, bigEndian));\n}\nfunction parseSL(value: Buffer, bigEndian = false): number[] {\n return splitFixed(value, 4).map((b) => bytesToInt(b, bigEndian));\n}\nfunction parseSV(value: Buffer, bigEndian = false): number[] {\n return splitFixed(value, 8).map((b) => bytesToFloat(b, bigEndian));\n}\nfunction parseSS(value: Buffer, bigEndian = false): number[] {\n return splitFixed(value, 2).map((b) => bytesToShort(b, bigEndian));\n}\nfunction parseUL(value: Buffer, bigEndian = false): number[] {\n return splitFixed(value, 4).map((b) => bytesToUInt(b, bigEndian));\n}\nfunction parseUS(value: Buffer, bigEndian = false): number[] {\n return splitFixed(value, 2).map((b) => bytesToUShort(b, bigEndian));\n}\nfunction parseFL(value: Buffer, bigEndian = false): number[] {\n return splitFixed(value, 4).map((b) => bytesToFloat(b, bigEndian));\n}\nfunction parseFD(value: Buffer, bigEndian = false): number[] {\n return splitFixed(value, 8).map((b) => bytesToDouble(b, bigEndian));\n}\nfunction parseDS(value: Buffer): number[] {\n return splitString(value.toString())\n .map(trim)\n .map((s) => parseFloat(s));\n}\nfunction parseIS(value: Buffer): number[] {\n return splitString(value.toString())\n .map(trim)\n .map((s) => parseInt(s, 10));\n}\nfunction parseDA(value: Buffer): LocalDate[] {\n return splitString(value.toString())\n .map(parseDate)\n .filter((d) => d !== undefined);\n}\nfunction parseTM(value: Buffer): LocalTime[] {\n return splitString(value.toString())\n .map(parseTime)\n .filter((d) => d !== undefined);\n}\nfunction parseDT(value: Buffer, zone: ZoneId): ZonedDateTime[] {\n return splitString(value.toString())\n .map((s) => parseDateTime(s, zone))\n .filter((d) => d !== undefined);\n}\nfunction parsePN(value: Buffer, characterSets: CharacterSets): PersonName[] {\n return splitString(characterSets.decode(value, VR.PN))\n .map(trim)\n .map((s) => parsePersonName(s));\n}\nfunction parseUR(value: Buffer): URL {\n return parseURL(value.toString().trim());\n}\n\nconst dateFormat1 = DateTimeFormatter.ofPattern('uuuuMMdd');\nconst dateFormat2 = DateTimeFormatter.ofPattern(\"uuuu'.'MM'.'dd\");\nconst timeFormat = new DateTimeFormatterBuilder()\n .appendPattern(\"HH[[':']mm[[':']ss[\")\n .appendFraction(ChronoField.MICRO_OF_SECOND, 1, 6, true)\n .appendPattern(']]]')\n .toFormatter(ResolverStyle.LENIENT);\nconst timeFormatForEncoding = DateTimeFormatter.ofPattern(\"HHmmss'.'SSSSSS\");\nconst dateTimeFormatForEncoding = DateTimeFormatter.ofPattern(\"uuuuMMddHHmmss'.'SSSSSSZ\");\n\nfunction formatDate(date: LocalDate): string {\n return date.format(dateFormat1);\n}\nfunction formatTime(time: LocalTime): string {\n return time.format(timeFormatForEncoding);\n}\nfunction formatDateTime(dateTime: ZonedDateTime): string {\n return dateTime.format(dateTimeFormatForEncoding);\n}\n\nfunction parseDate(s: string): LocalDate {\n const trimmed = s.trim();\n try {\n return LocalDate.parse(trimmed, dateFormat1);\n } catch (error) {\n try {\n return LocalDate.parse(trimmed, dateFormat2);\n } catch (error) {\n return undefined;\n }\n }\n}\n\nfunction parseTime(s: string): LocalTime {\n try {\n return LocalTime.parse(s.trim(), timeFormat);\n } catch (error) {\n return undefined;\n }\n}\n\nfunction parseDateTime(s: string, zone: ZoneId = systemZone): ZonedDateTime {\n try {\n s = s.trim();\n let len = s.length;\n\n if (len < 4) {\n throw Error('Malformed date-time, must at least include year.');\n }\n\n // parse zone if present and trim this part from string\n const zoneStart = Math.max(s.indexOf('+'), s.indexOf('-'));\n if (zoneStart >= 4 && s.length === zoneStart + 5) {\n const signString = s.substring(zoneStart, zoneStart + 1);\n const zoneString = s.substring(zoneStart + 1, zoneStart + 5);\n zone = ZoneOffset.ofHoursMinutes(\n parseInt(signString + zoneString.substring(0, 2), 10),\n parseInt(signString + zoneString.substring(2, 4), 10),\n );\n s = s.substring(0, zoneStart);\n len = s.length;\n } else if (zoneStart >= 0) {\n throw Error('Malformed date-time. Zone is present but misplaced or not of length 5');\n }\n\n const validLengths = [4, 6, 8, 10, 12, 14, 16, 17, 18, 19, 20, 21];\n if (validLengths.indexOf(len) < 0) {\n throw Error('Malformed date-time, invalid length ' + len);\n }\n\n const year = parseInt(s.substring(0, 4), 10);\n let month = 1;\n let dayOfMonth = 1;\n let hour = 0;\n let minute = 0;\n let second = 0;\n let nanoOfSecond = 0;\n if (len >= 6) {\n month = parseInt(s.substring(4, 6), 10);\n if (len >= 8) {\n dayOfMonth = parseInt(s.substring(6, 8), 10);\n if (len >= 10) {\n hour = parseInt(s.substring(8, 10), 10);\n if (len >= 12) {\n minute = parseInt(s.substring(10, 12), 10);\n if (len >= 14) {\n second = parseInt(s.substring(12, 14), 10);\n if (s.charAt(14) === '.' && len >= 15) {\n const end = Math.min(len, 21);\n const precision = end - 15;\n const exponent = 9 - precision;\n nanoOfSecond = parseInt(s.substring(15, end), 10) * Math.pow(10, exponent);\n }\n }\n }\n }\n }\n }\n\n return ZonedDateTime.of(year, month, dayOfMonth, hour, minute, second, nanoOfSecond, zone);\n } catch (error) {\n return undefined;\n }\n}\n\nexport function parsePersonName(s: string): PersonName {\n function ensureLength(ss: string[], n: number): string[] {\n return ss.concat(new Array(Math.max(0, n - ss.length)).fill(''));\n }\n\n function transpose(matrix: string[][]): string[][] {\n return matrix[0].map((_, i) => matrix.map((col) => col[i]));\n }\n\n const matrix = ensureLength(s.split(/=/), 3)\n .map(trim)\n .map((s1) => ensureLength(s1.split(/\\^/), 5));\n const comps = transpose(matrix).map((c) => new ComponentGroup(c[0], c[1], c[2]));\n return new PersonName(comps[0], comps[1], comps[2], comps[3], comps[4]);\n}\n\nfunction parseURL(s: string): URL {\n try {\n return new URL(s);\n } catch (error) {\n return undefined;\n }\n}\n","export class VR {\n public static AE = new VR('AE', 0x4145, 8, 0x20);\n public static AS = new VR('AS', 0x4153, 8, 0x20);\n public static AT = new VR('AT', 0x4154, 8, 0);\n public static CS = new VR('CS', 0x4353, 8, 0x20);\n public static DA = new VR('DA', 0x4441, 8, 0x20);\n public static DS = new VR('DS', 0x4453, 8, 0x20);\n public static DT = new VR('DT', 0x4454, 8, 0x20);\n public static FD = new VR('FD', 0x4644, 8, 0);\n public static FL = new VR('FL', 0x464c, 8, 0);\n public static IS = new VR('IS', 0x4953, 8, 0x20);\n public static LO = new VR('LO', 0x4c4f, 8, 0x20);\n public static LT = new VR('LT', 0x4c54, 8, 0x20);\n public static OB = new VR('OB', 0x4f42, 12, 0);\n public static OD = new VR('OD', 0x4f44, 12, 0);\n public static OF = new VR('OF', 0x4f46, 12, 0);\n public static OL = new VR('OL', 0x4f4c, 12, 0);\n public static OV = new VR('OV', 0x4f56, 12, 0);\n public static OW = new VR('OW', 0x4f57, 12, 0);\n public static PN = new VR('PN', 0x504e, 8, 0x20);\n public static SH = new VR('SH', 0x5348, 8, 0x20);\n public static SL = new VR('SL', 0x534c, 8, 0);\n public static SQ = new VR('SQ', 0x5351, 12, 0);\n public static SS = new VR('SS', 0x5353, 8, 0);\n public static ST = new VR('ST', 0x5354, 8, 0x20);\n public static SV = new VR('SV', 0x5356, 12, 0);\n public static TM = new VR('TM', 0x544d, 8, 0x20);\n public static UC = new VR('UC', 0x5543, 12, 0x20);\n public static UI = new VR('UI', 0x5549, 8, 0);\n public static UL = new VR('UL', 0x554c, 8, 0);\n public static UN = new VR('UN', 0x554e, 12, 0);\n public static UR = new VR('UR', 0x5552, 12, 0x20);\n public static US = new VR('US', 0x5553, 8, 0);\n public static UT = new VR('UT', 0x5554, 12, 0x20);\n public static UV = new VR('UV', 0x5556, 12, 0);\n\n public static values = [\n VR.AE,\n VR.AS,\n VR.AT,\n VR.CS,\n VR.DA,\n VR.DS,\n VR.DT,\n VR.FD,\n VR.FL,\n VR.IS,\n VR.LO,\n VR.LT,\n VR.OB,\n VR.OD,\n VR.OF,\n VR.OL,\n VR.OV,\n VR.OW,\n VR.PN,\n VR.SH,\n VR.SL,\n VR.SQ,\n VR.SS,\n VR.ST,\n VR.SV,\n VR.TM,\n VR.UC,\n VR.UI,\n VR.UL,\n VR.UN,\n VR.UR,\n VR.US,\n VR.UT,\n VR.UV,\n ];\n\n public static valueOf(code: number): VR {\n return VR.map.get(code);\n }\n\n private static map: Map<number, VR> = VR.values.reduce((m: Map<number, VR>, vr: VR) => {\n m.set(vr.code, vr);\n return m;\n }, new Map<number, VR>());\n\n constructor(\n public readonly name: string,\n public readonly code: number,\n public readonly headerLength: number,\n public readonly paddingByte: number,\n ) {}\n}\n","module.exports = require(\"dicom-character-set\");","module.exports = require(\"js-joda\");","module.exports = require(\"multipipe\");","module.exports = require(\"uuid\");","module.exports = require(\"stream\");","module.exports = require(\"zlib\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/index.ts\");\n",""],"names":[],"sourceRoot":""}