@atomicfinance/types 4.2.8 → 4.3.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 (665) hide show
  1. package/.turbo/turbo-build.log +5 -4
  2. package/.turbo/turbo-lint.log +5 -0
  3. package/.turbo/turbo-test.log +0 -0
  4. package/.yalc/@node-dlc/bitcoin/.nyc_output/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
  5. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/982e80bf-a70c-452f-b63d-d749ae385531.json +1 -0
  6. package/.yalc/@node-dlc/bitcoin/.nyc_output/processinfo/index.json +1 -0
  7. package/.yalc/@node-dlc/bitcoin/README.md +11 -0
  8. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/amount.spec.ts +330 -0
  9. package/.yalc/@node-dlc/bitcoin/__tests__/bitcoin/value.spec.ts +320 -0
  10. package/.yalc/@node-dlc/bitcoin/__tests__/tsconfig.json +8 -0
  11. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Amount.ts.html +290 -0
  12. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58.ts.html +269 -0
  13. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Base58Check.ts.html +182 -0
  14. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinError.ts.html +173 -0
  15. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/BitcoinErrorCode.ts.html +110 -0
  16. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashByteOrder.ts.html +143 -0
  17. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/HashValue.ts.html +350 -0
  18. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LexicographicalSorters.ts.html +191 -0
  19. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/LockTime.ts.html +386 -0
  20. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OpCodes.ts.html +437 -0
  21. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/OutPoint.ts.html +383 -0
  22. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Script.ts.html +1607 -0
  23. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Sequence.ts.html +713 -0
  24. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/SigHashType.ts.html +137 -0
  25. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Stack.ts.html +323 -0
  26. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TimeLockMode.ts.html +128 -0
  27. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Tx.ts.html +1520 -0
  28. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxBuilder.ts.html +971 -0
  29. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxIn.ts.html +425 -0
  30. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/TxOut.ts.html +341 -0
  31. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Value.ts.html +683 -0
  32. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Wif.ts.html +311 -0
  33. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/Witness.ts.html +275 -0
  34. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/base.css +224 -0
  35. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/block-navigation.js +79 -0
  36. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/favicon.png +0 -0
  37. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.html +126 -0
  38. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/index.ts.html +164 -0
  39. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.css +1 -0
  40. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/prettify.js +2 -0
  41. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  42. package/.yalc/@node-dlc/bitcoin/coverage/lcov-report/sorter.js +170 -0
  43. package/.yalc/@node-dlc/bitcoin/coverage/lcov.info +123 -0
  44. package/.yalc/@node-dlc/bitcoin/dist/Amount.d.ts +48 -0
  45. package/.yalc/@node-dlc/bitcoin/dist/Amount.js +68 -0
  46. package/.yalc/@node-dlc/bitcoin/dist/Amount.js.map +1 -0
  47. package/.yalc/@node-dlc/bitcoin/dist/Base58.d.ts +22 -0
  48. package/.yalc/@node-dlc/bitcoin/dist/Base58.js +62 -0
  49. package/.yalc/@node-dlc/bitcoin/dist/Base58.js.map +1 -0
  50. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.d.ts +14 -0
  51. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js +36 -0
  52. package/.yalc/@node-dlc/bitcoin/dist/Base58Check.js.map +1 -0
  53. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.d.ts +6 -0
  54. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js +36 -0
  55. package/.yalc/@node-dlc/bitcoin/dist/BitcoinError.js.map +1 -0
  56. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.d.ts +10 -0
  57. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js +15 -0
  58. package/.yalc/@node-dlc/bitcoin/dist/BitcoinErrorCode.js.map +1 -0
  59. package/.yalc/@node-dlc/bitcoin/dist/Block.d.ts +19 -0
  60. package/.yalc/@node-dlc/bitcoin/dist/Block.js +3 -0
  61. package/.yalc/@node-dlc/bitcoin/dist/Block.js.map +1 -0
  62. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.d.ts +20 -0
  63. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js +25 -0
  64. package/.yalc/@node-dlc/bitcoin/dist/HashByteOrder.js.map +1 -0
  65. package/.yalc/@node-dlc/bitcoin/dist/HashValue.d.ts +55 -0
  66. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js +82 -0
  67. package/.yalc/@node-dlc/bitcoin/dist/HashValue.js.map +1 -0
  68. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.d.ts +3 -0
  69. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js +3 -0
  70. package/.yalc/@node-dlc/bitcoin/dist/ICloneable.js.map +1 -0
  71. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.d.ts +18 -0
  72. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js +41 -0
  73. package/.yalc/@node-dlc/bitcoin/dist/LexicographicalSorters.js.map +1 -0
  74. package/.yalc/@node-dlc/bitcoin/dist/LockTime.d.ts +61 -0
  75. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js +94 -0
  76. package/.yalc/@node-dlc/bitcoin/dist/LockTime.js.map +1 -0
  77. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.d.ts +102 -0
  78. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js +116 -0
  79. package/.yalc/@node-dlc/bitcoin/dist/OpCodes.js.map +1 -0
  80. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.d.ts +57 -0
  81. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js +88 -0
  82. package/.yalc/@node-dlc/bitcoin/dist/OutPoint.js.map +1 -0
  83. package/.yalc/@node-dlc/bitcoin/dist/Script.d.ts +185 -0
  84. package/.yalc/@node-dlc/bitcoin/dist/Script.js +404 -0
  85. package/.yalc/@node-dlc/bitcoin/dist/Script.js.map +1 -0
  86. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.d.ts +3 -0
  87. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js +3 -0
  88. package/.yalc/@node-dlc/bitcoin/dist/ScriptCmd.js.map +1 -0
  89. package/.yalc/@node-dlc/bitcoin/dist/Sequence.d.ts +116 -0
  90. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js +187 -0
  91. package/.yalc/@node-dlc/bitcoin/dist/Sequence.js.map +1 -0
  92. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.d.ts +7 -0
  93. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js +27 -0
  94. package/.yalc/@node-dlc/bitcoin/dist/SigHashType.js.map +1 -0
  95. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.d.ts +5 -0
  96. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js +3 -0
  97. package/.yalc/@node-dlc/bitcoin/dist/SizeResult.js.map +1 -0
  98. package/.yalc/@node-dlc/bitcoin/dist/Sorter.d.ts +1 -0
  99. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js +3 -0
  100. package/.yalc/@node-dlc/bitcoin/dist/Sorter.js.map +1 -0
  101. package/.yalc/@node-dlc/bitcoin/dist/Stack.d.ts +15 -0
  102. package/.yalc/@node-dlc/bitcoin/dist/Stack.js +77 -0
  103. package/.yalc/@node-dlc/bitcoin/dist/Stack.js.map +1 -0
  104. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.d.ts +15 -0
  105. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js +20 -0
  106. package/.yalc/@node-dlc/bitcoin/dist/TimeLockMode.js.map +1 -0
  107. package/.yalc/@node-dlc/bitcoin/dist/Tx.d.ts +150 -0
  108. package/.yalc/@node-dlc/bitcoin/dist/Tx.js +408 -0
  109. package/.yalc/@node-dlc/bitcoin/dist/Tx.js.map +1 -0
  110. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.d.ts +110 -0
  111. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js +238 -0
  112. package/.yalc/@node-dlc/bitcoin/dist/TxBuilder.js.map +1 -0
  113. package/.yalc/@node-dlc/bitcoin/dist/TxIn.d.ts +71 -0
  114. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js +79 -0
  115. package/.yalc/@node-dlc/bitcoin/dist/TxIn.js.map +1 -0
  116. package/.yalc/@node-dlc/bitcoin/dist/TxOut.d.ts +57 -0
  117. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js +68 -0
  118. package/.yalc/@node-dlc/bitcoin/dist/TxOut.js.map +1 -0
  119. package/.yalc/@node-dlc/bitcoin/dist/Value.d.ts +122 -0
  120. package/.yalc/@node-dlc/bitcoin/dist/Value.js +180 -0
  121. package/.yalc/@node-dlc/bitcoin/dist/Value.js.map +1 -0
  122. package/.yalc/@node-dlc/bitcoin/dist/Wif.d.ts +41 -0
  123. package/.yalc/@node-dlc/bitcoin/dist/Wif.js +62 -0
  124. package/.yalc/@node-dlc/bitcoin/dist/Wif.js.map +1 -0
  125. package/.yalc/@node-dlc/bitcoin/dist/Witness.d.ts +41 -0
  126. package/.yalc/@node-dlc/bitcoin/dist/Witness.js +63 -0
  127. package/.yalc/@node-dlc/bitcoin/dist/Witness.js.map +1 -0
  128. package/.yalc/@node-dlc/bitcoin/dist/index.d.ts +28 -0
  129. package/.yalc/@node-dlc/bitcoin/dist/index.js +45 -0
  130. package/.yalc/@node-dlc/bitcoin/dist/index.js.map +1 -0
  131. package/.yalc/@node-dlc/bitcoin/lib/Amount.ts +70 -0
  132. package/.yalc/@node-dlc/bitcoin/lib/Base58.ts +63 -0
  133. package/.yalc/@node-dlc/bitcoin/lib/Base58Check.ts +34 -0
  134. package/.yalc/@node-dlc/bitcoin/lib/BitcoinError.ts +31 -0
  135. package/.yalc/@node-dlc/bitcoin/lib/BitcoinErrorCode.ts +10 -0
  136. package/.yalc/@node-dlc/bitcoin/lib/Block.ts +20 -0
  137. package/.yalc/@node-dlc/bitcoin/lib/HashByteOrder.ts +21 -0
  138. package/.yalc/@node-dlc/bitcoin/lib/HashValue.ts +90 -0
  139. package/.yalc/@node-dlc/bitcoin/lib/ICloneable.ts +3 -0
  140. package/.yalc/@node-dlc/bitcoin/lib/LexicographicalSorters.ts +37 -0
  141. package/.yalc/@node-dlc/bitcoin/lib/LockTime.ts +102 -0
  142. package/.yalc/@node-dlc/bitcoin/lib/OpCodes.ts +119 -0
  143. package/.yalc/@node-dlc/bitcoin/lib/OutPoint.ts +101 -0
  144. package/.yalc/@node-dlc/bitcoin/lib/Script.ts +509 -0
  145. package/.yalc/@node-dlc/bitcoin/lib/ScriptCmd.ts +3 -0
  146. package/.yalc/@node-dlc/bitcoin/lib/Sequence.ts +211 -0
  147. package/.yalc/@node-dlc/bitcoin/lib/SigHashType.ts +19 -0
  148. package/.yalc/@node-dlc/bitcoin/lib/SizeResult.ts +5 -0
  149. package/.yalc/@node-dlc/bitcoin/lib/Sorter.ts +1 -0
  150. package/.yalc/@node-dlc/bitcoin/lib/Stack.ts +81 -0
  151. package/.yalc/@node-dlc/bitcoin/lib/TimeLockMode.ts +16 -0
  152. package/.yalc/@node-dlc/bitcoin/lib/Tx.ts +480 -0
  153. package/.yalc/@node-dlc/bitcoin/lib/TxBuilder.ts +297 -0
  154. package/.yalc/@node-dlc/bitcoin/lib/TxIn.ts +115 -0
  155. package/.yalc/@node-dlc/bitcoin/lib/TxOut.ts +87 -0
  156. package/.yalc/@node-dlc/bitcoin/lib/Value.ts +201 -0
  157. package/.yalc/@node-dlc/bitcoin/lib/Wif.ts +77 -0
  158. package/.yalc/@node-dlc/bitcoin/lib/Witness.ts +65 -0
  159. package/.yalc/@node-dlc/bitcoin/lib/index.ts +28 -0
  160. package/.yalc/@node-dlc/bitcoin/package.json +31 -0
  161. package/.yalc/@node-dlc/bitcoin/tsconfig.json +8 -0
  162. package/.yalc/@node-dlc/bitcoin/yalc.sig +1 -0
  163. package/.yalc/@node-dlc/messaging/.nyc_output/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
  164. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/83d37f9d-cecf-4c52-a753-115ff80bbca0.json +1 -0
  165. package/.yalc/@node-dlc/messaging/.nyc_output/processinfo/index.json +1 -0
  166. package/.yalc/@node-dlc/messaging/README.md +24 -0
  167. package/.yalc/@node-dlc/messaging/__tests__/_test-utils.ts +13 -0
  168. package/.yalc/@node-dlc/messaging/__tests__/chain/ChainManager.spec.ts +178 -0
  169. package/.yalc/@node-dlc/messaging/__tests__/compatibility/dlcspecs-compatibility.spec.ts +439 -0
  170. package/.yalc/@node-dlc/messaging/__tests__/compatibility/rust-dlc-cross-language.spec.ts +255 -0
  171. package/.yalc/@node-dlc/messaging/__tests__/compatibility/true-serialization-compatibility.spec.ts +342 -0
  172. package/.yalc/@node-dlc/messaging/__tests__/dlc_message_test.json +155 -0
  173. package/.yalc/@node-dlc/messaging/__tests__/irc/IrcMessage.spec.ts +94 -0
  174. package/.yalc/@node-dlc/messaging/__tests__/messages/AddressCache.spec.ts +79 -0
  175. package/.yalc/@node-dlc/messaging/__tests__/messages/BatchFundingGroup.spec.ts +72 -0
  176. package/.yalc/@node-dlc/messaging/__tests__/messages/CetAdaptorSignatures.spec.ts +57 -0
  177. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractDescriptor.spec.ts +266 -0
  178. package/.yalc/@node-dlc/messaging/__tests__/messages/ContractInfo.spec.ts +419 -0
  179. package/.yalc/@node-dlc/messaging/__tests__/messages/DigitDecompositionEventDescriptor.spec.ts +59 -0
  180. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcAccept.spec.ts +314 -0
  181. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcCancel.spec.ts +42 -0
  182. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcClose.spec.ts +315 -0
  183. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcInput.spec.ts +111 -0
  184. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcOffer.spec.ts +589 -0
  185. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcSign.spec.ts +118 -0
  186. package/.yalc/@node-dlc/messaging/__tests__/messages/DlcTransactions.spec.ts +157 -0
  187. package/.yalc/@node-dlc/messaging/__tests__/messages/EnumEventDescriptor.spec.ts +50 -0
  188. package/.yalc/@node-dlc/messaging/__tests__/messages/EventDescriptor.spec.ts +93 -0
  189. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingInput.spec.ts +169 -0
  190. package/.yalc/@node-dlc/messaging/__tests__/messages/FundingSignatures.spec.ts +83 -0
  191. package/.yalc/@node-dlc/messaging/__tests__/messages/NegotiationFields.spec.ts +328 -0
  192. package/.yalc/@node-dlc/messaging/__tests__/messages/NodeAnnouncementMessage.spec.ts +115 -0
  193. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAnnouncement.spec.ts +415 -0
  194. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleAttestation.spec.ts +324 -0
  195. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEvent.spec.ts +143 -0
  196. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleEventContainer.spec.ts +95 -0
  197. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleIdentifier.spec.ts +48 -0
  198. package/.yalc/@node-dlc/messaging/__tests__/messages/OracleInfo.spec.ts +116 -0
  199. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderAccept.spec.ts +75 -0
  200. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderNegotiationFields.spec.ts +299 -0
  201. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderOffer.spec.ts +121 -0
  202. package/.yalc/@node-dlc/messaging/__tests__/messages/OrderPositionInfo.spec.ts +75 -0
  203. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutCurvePiece.spec.ts +220 -0
  204. package/.yalc/@node-dlc/messaging/__tests__/messages/PayoutFunction.spec.ts +101 -0
  205. package/.yalc/@node-dlc/messaging/__tests__/messages/RoundingIntervals.spec.ts +75 -0
  206. package/.yalc/@node-dlc/messaging/__tests__/serialize/F64.spec.ts +261 -0
  207. package/.yalc/@node-dlc/messaging/__tests__/tsconfig.json +8 -0
  208. package/.yalc/@node-dlc/messaging/coverage/lcov-report/base.css +224 -0
  209. package/.yalc/@node-dlc/messaging/coverage/lcov-report/block-navigation.js +79 -0
  210. package/.yalc/@node-dlc/messaging/coverage/lcov-report/favicon.png +0 -0
  211. package/.yalc/@node-dlc/messaging/coverage/lcov-report/index.html +201 -0
  212. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/MessageType.ts.html +500 -0
  213. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainManager.ts.html +1061 -0
  214. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/ChainMemoryStore.ts.html +182 -0
  215. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/chain/index.html +126 -0
  216. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/Address.ts.html +272 -0
  217. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/domain/index.html +111 -0
  218. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.html +141 -0
  219. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/index.ts.html +215 -0
  220. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/IrcMessage.ts.html +563 -0
  221. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/irc/index.html +111 -0
  222. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/AddressCache.ts.html +302 -0
  223. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/BatchFundingGroup.ts.html +503 -0
  224. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignatures.ts.html +347 -0
  225. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CetAdaptorSignaturesV0.ts.html +356 -0
  226. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/CloseTLV.ts.html +344 -0
  227. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractDescriptor.ts.html +1031 -0
  228. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ContractInfo.ts.html +1397 -0
  229. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcAccept.ts.html +1997 -0
  230. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCancel.ts.html +251 -0
  231. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcClose.ts.html +995 -0
  232. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcCloseMetadata.ts.html +434 -0
  233. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcIds.ts.html +281 -0
  234. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInfo.ts.html +323 -0
  235. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcInput.ts.html +581 -0
  236. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcMessage.ts.html +341 -0
  237. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcOffer.ts.html +2075 -0
  238. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcSign.ts.html +1157 -0
  239. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/DlcTransactions.ts.html +719 -0
  240. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/EventDescriptor.ts.html +962 -0
  241. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingInput.ts.html +860 -0
  242. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignatures.ts.html +374 -0
  243. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/FundingSignaturesV0.ts.html +344 -0
  244. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NegotiationFields.ts.html +848 -0
  245. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/NodeAnnouncementMessage.ts.html +515 -0
  246. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncement.ts.html +608 -0
  247. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAnnouncementV0.ts.html +383 -0
  248. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestation.ts.html +956 -0
  249. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleAttestationV0.ts.html +479 -0
  250. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEvent.ts.html +830 -0
  251. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainer.ts.html +347 -0
  252. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventContainerV0.ts.html +347 -0
  253. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleEventV0.ts.html +503 -0
  254. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifier.ts.html +314 -0
  255. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleIdentifierV0.ts.html +314 -0
  256. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfo.ts.html +1658 -0
  257. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OracleInfoV0.ts.html +308 -0
  258. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderAccept.ts.html +602 -0
  259. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderIrcInfo.ts.html +380 -0
  260. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderMetadata.ts.html +437 -0
  261. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderNegotiationFields.ts.html +710 -0
  262. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderOffer.ts.html +1334 -0
  263. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/OrderPositionInfo.ts.html +521 -0
  264. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutCurvePiece.ts.html +1442 -0
  265. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/PayoutFunction.ts.html +806 -0
  266. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervals.ts.html +464 -0
  267. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/RoundingIntervalsV0.ts.html +428 -0
  268. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/ScriptWitnessV0.ts.html +269 -0
  269. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/messages/index.html +651 -0
  270. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/F64.ts.html +1091 -0
  271. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/deserializeTlv.ts.html +125 -0
  272. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/getTlv.ts.html +143 -0
  273. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/serialize/index.html +141 -0
  274. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/util.ts.html +191 -0
  275. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/index.html +111 -0
  276. package/.yalc/@node-dlc/messaging/coverage/lcov-report/lib/validation/validate.ts.html +182 -0
  277. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.css +1 -0
  278. package/.yalc/@node-dlc/messaging/coverage/lcov-report/prettify.js +2 -0
  279. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  280. package/.yalc/@node-dlc/messaging/coverage/lcov-report/sorter.js +170 -0
  281. package/.yalc/@node-dlc/messaging/coverage/lcov.info +5617 -0
  282. package/.yalc/@node-dlc/messaging/dist/MessageType.d.ts +101 -0
  283. package/.yalc/@node-dlc/messaging/dist/MessageType.js +118 -0
  284. package/.yalc/@node-dlc/messaging/dist/MessageType.js.map +1 -0
  285. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.d.ts +50 -0
  286. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js +212 -0
  287. package/.yalc/@node-dlc/messaging/dist/chain/ChainManager.js.map +1 -0
  288. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.d.ts +14 -0
  289. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js +28 -0
  290. package/.yalc/@node-dlc/messaging/dist/chain/ChainMemoryStore.js.map +1 -0
  291. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.d.ts +11 -0
  292. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js +3 -0
  293. package/.yalc/@node-dlc/messaging/dist/chain/DlcStore.js.map +1 -0
  294. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.d.ts +48 -0
  295. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js +3 -0
  296. package/.yalc/@node-dlc/messaging/dist/chain/IChainFilterChainClient.js.map +1 -0
  297. package/.yalc/@node-dlc/messaging/dist/domain/Address.d.ts +24 -0
  298. package/.yalc/@node-dlc/messaging/dist/domain/Address.js +46 -0
  299. package/.yalc/@node-dlc/messaging/dist/domain/Address.js.map +1 -0
  300. package/.yalc/@node-dlc/messaging/dist/index.d.ts +45 -0
  301. package/.yalc/@node-dlc/messaging/dist/index.js +64 -0
  302. package/.yalc/@node-dlc/messaging/dist/index.js.map +1 -0
  303. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.d.ts +43 -0
  304. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js +116 -0
  305. package/.yalc/@node-dlc/messaging/dist/irc/IrcMessage.js.map +1 -0
  306. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.d.ts +15 -0
  307. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js +51 -0
  308. package/.yalc/@node-dlc/messaging/dist/messages/AddressCache.js.map +1 -0
  309. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.d.ts +61 -0
  310. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js +113 -0
  311. package/.yalc/@node-dlc/messaging/dist/messages/BatchFundingGroup.js.map +1 -0
  312. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.d.ts +40 -0
  313. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js +67 -0
  314. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignatures.js.map +1 -0
  315. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.d.ts +42 -0
  316. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js +68 -0
  317. package/.yalc/@node-dlc/messaging/dist/messages/CetAdaptorSignaturesV0.js.map +1 -0
  318. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.d.ts +38 -0
  319. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js +59 -0
  320. package/.yalc/@node-dlc/messaging/dist/messages/CloseTLV.js.map +1 -0
  321. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.d.ts +121 -0
  322. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js +221 -0
  323. package/.yalc/@node-dlc/messaging/dist/messages/ContractDescriptor.js.map +1 -0
  324. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.d.ts +135 -0
  325. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js +308 -0
  326. package/.yalc/@node-dlc/messaging/dist/messages/ContractInfo.js.map +1 -0
  327. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.d.ts +160 -0
  328. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js +469 -0
  329. package/.yalc/@node-dlc/messaging/dist/messages/DlcAccept.js.map +1 -0
  330. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.d.ts +31 -0
  331. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js +51 -0
  332. package/.yalc/@node-dlc/messaging/dist/messages/DlcCancel.js.map +1 -0
  333. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.d.ts +68 -0
  334. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js +214 -0
  335. package/.yalc/@node-dlc/messaging/dist/messages/DlcClose.js.map +1 -0
  336. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.d.ts +44 -0
  337. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js +74 -0
  338. package/.yalc/@node-dlc/messaging/dist/messages/DlcCloseMetadata.js.map +1 -0
  339. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.d.ts +26 -0
  340. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js +58 -0
  341. package/.yalc/@node-dlc/messaging/dist/messages/DlcIds.js.map +1 -0
  342. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.d.ts +31 -0
  343. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js +61 -0
  344. package/.yalc/@node-dlc/messaging/dist/messages/DlcInfo.js.map +1 -0
  345. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.d.ts +56 -0
  346. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js +135 -0
  347. package/.yalc/@node-dlc/messaging/dist/messages/DlcInput.js.map +1 -0
  348. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.d.ts +23 -0
  349. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js +54 -0
  350. package/.yalc/@node-dlc/messaging/dist/messages/DlcMessage.js.map +1 -0
  351. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.d.ts +146 -0
  352. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js +463 -0
  353. package/.yalc/@node-dlc/messaging/dist/messages/DlcOffer.js.map +1 -0
  354. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.d.ts +96 -0
  355. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js +275 -0
  356. package/.yalc/@node-dlc/messaging/dist/messages/DlcSign.js.map +1 -0
  357. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.d.ts +69 -0
  358. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js +149 -0
  359. package/.yalc/@node-dlc/messaging/dist/messages/DlcTransactions.js.map +1 -0
  360. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.d.ts +107 -0
  361. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js +212 -0
  362. package/.yalc/@node-dlc/messaging/dist/messages/EventDescriptor.js.map +1 -0
  363. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.d.ts +69 -0
  364. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js +193 -0
  365. package/.yalc/@node-dlc/messaging/dist/messages/FundingInput.js.map +1 -0
  366. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.d.ts +36 -0
  367. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js +78 -0
  368. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignatures.js.map +1 -0
  369. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.d.ts +34 -0
  370. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js +72 -0
  371. package/.yalc/@node-dlc/messaging/dist/messages/FundingSignaturesV0.js.map +1 -0
  372. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.d.ts +6 -0
  373. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js +3 -0
  374. package/.yalc/@node-dlc/messaging/dist/messages/IWireMessage.js.map +1 -0
  375. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.d.ts +86 -0
  376. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js +189 -0
  377. package/.yalc/@node-dlc/messaging/dist/messages/NegotiationFields.js.map +1 -0
  378. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.d.ts +57 -0
  379. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js +127 -0
  380. package/.yalc/@node-dlc/messaging/dist/messages/NodeAnnouncementMessage.js.map +1 -0
  381. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.d.ts +76 -0
  382. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js +131 -0
  383. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncement.js.map +1 -0
  384. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.d.ts +47 -0
  385. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js +76 -0
  386. package/.yalc/@node-dlc/messaging/dist/messages/OracleAnnouncementV0.js.map +1 -0
  387. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.d.ts +68 -0
  388. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js +239 -0
  389. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestation.js.map +1 -0
  390. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.d.ts +48 -0
  391. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js +100 -0
  392. package/.yalc/@node-dlc/messaging/dist/messages/OracleAttestationV0.js.map +1 -0
  393. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.d.ts +90 -0
  394. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js +189 -0
  395. package/.yalc/@node-dlc/messaging/dist/messages/OracleEvent.js.map +1 -0
  396. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.d.ts +32 -0
  397. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js +67 -0
  398. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainer.js.map +1 -0
  399. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.d.ts +32 -0
  400. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js +67 -0
  401. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventContainerV0.js.map +1 -0
  402. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.d.ts +54 -0
  403. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js +100 -0
  404. package/.yalc/@node-dlc/messaging/dist/messages/OracleEventV0.js.map +1 -0
  405. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.d.ts +32 -0
  406. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js +58 -0
  407. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifier.js.map +1 -0
  408. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.d.ts +32 -0
  409. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js +58 -0
  410. package/.yalc/@node-dlc/messaging/dist/messages/OracleIdentifierV0.js.map +1 -0
  411. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.d.ts +163 -0
  412. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js +393 -0
  413. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfo.js.map +1 -0
  414. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.d.ts +35 -0
  415. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js +58 -0
  416. package/.yalc/@node-dlc/messaging/dist/messages/OracleInfoV0.js.map +1 -0
  417. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.d.ts +66 -0
  418. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js +140 -0
  419. package/.yalc/@node-dlc/messaging/dist/messages/OrderAccept.js.map +1 -0
  420. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.d.ts +42 -0
  421. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js +74 -0
  422. package/.yalc/@node-dlc/messaging/dist/messages/OrderIrcInfo.js.map +1 -0
  423. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.d.ts +56 -0
  424. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js +87 -0
  425. package/.yalc/@node-dlc/messaging/dist/messages/OrderMetadata.js.map +1 -0
  426. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.d.ts +81 -0
  427. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js +161 -0
  428. package/.yalc/@node-dlc/messaging/dist/messages/OrderNegotiationFields.js.map +1 -0
  429. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.d.ts +97 -0
  430. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js +296 -0
  431. package/.yalc/@node-dlc/messaging/dist/messages/OrderOffer.js.map +1 -0
  432. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.d.ts +44 -0
  433. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js +111 -0
  434. package/.yalc/@node-dlc/messaging/dist/messages/OrderPositionInfo.js.map +1 -0
  435. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.d.ts +129 -0
  436. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js +332 -0
  437. package/.yalc/@node-dlc/messaging/dist/messages/PayoutCurvePiece.js.map +1 -0
  438. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.d.ts +66 -0
  439. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js +173 -0
  440. package/.yalc/@node-dlc/messaging/dist/messages/PayoutFunction.js.map +1 -0
  441. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.d.ts +52 -0
  442. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js +96 -0
  443. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervals.js.map +1 -0
  444. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.d.ts +47 -0
  445. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js +86 -0
  446. package/.yalc/@node-dlc/messaging/dist/messages/RoundingIntervalsV0.js.map +1 -0
  447. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.d.ts +29 -0
  448. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js +50 -0
  449. package/.yalc/@node-dlc/messaging/dist/messages/ScriptWitnessV0.js.map +1 -0
  450. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.d.ts +15 -0
  451. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js +32 -0
  452. package/.yalc/@node-dlc/messaging/dist/messages/Tlv.js.map +1 -0
  453. package/.yalc/@node-dlc/messaging/dist/serialize/F64.d.ts +146 -0
  454. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js +294 -0
  455. package/.yalc/@node-dlc/messaging/dist/serialize/F64.js.map +1 -0
  456. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.d.ts +9 -0
  457. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js +11 -0
  458. package/.yalc/@node-dlc/messaging/dist/serialize/deserializeTlv.js.map +1 -0
  459. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.d.ts +4 -0
  460. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js +23 -0
  461. package/.yalc/@node-dlc/messaging/dist/serialize/getTlv.js.map +1 -0
  462. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.d.ts +8 -0
  463. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js +33 -0
  464. package/.yalc/@node-dlc/messaging/dist/serialize/readTlvs.js.map +1 -0
  465. package/.yalc/@node-dlc/messaging/dist/util.d.ts +13 -0
  466. package/.yalc/@node-dlc/messaging/dist/util.js +42 -0
  467. package/.yalc/@node-dlc/messaging/dist/util.js.map +1 -0
  468. package/.yalc/@node-dlc/messaging/dist/validation/validate.d.ts +4 -0
  469. package/.yalc/@node-dlc/messaging/dist/validation/validate.js +31 -0
  470. package/.yalc/@node-dlc/messaging/dist/validation/validate.js.map +1 -0
  471. package/.yalc/@node-dlc/messaging/lib/MessageType.ts +140 -0
  472. package/.yalc/@node-dlc/messaging/lib/chain/ChainManager.ts +327 -0
  473. package/.yalc/@node-dlc/messaging/lib/chain/ChainMemoryStore.ts +34 -0
  474. package/.yalc/@node-dlc/messaging/lib/chain/DlcStore.ts +11 -0
  475. package/.yalc/@node-dlc/messaging/lib/chain/IChainFilterChainClient.ts +57 -0
  476. package/.yalc/@node-dlc/messaging/lib/domain/Address.ts +64 -0
  477. package/.yalc/@node-dlc/messaging/lib/index.ts +45 -0
  478. package/.yalc/@node-dlc/messaging/lib/irc/IrcMessage.ts +161 -0
  479. package/.yalc/@node-dlc/messaging/lib/messages/AddressCache.ts +74 -0
  480. package/.yalc/@node-dlc/messaging/lib/messages/BatchFundingGroup.ts +141 -0
  481. package/.yalc/@node-dlc/messaging/lib/messages/CetAdaptorSignatures.ts +89 -0
  482. package/.yalc/@node-dlc/messaging/lib/messages/ContractDescriptor.ts +317 -0
  483. package/.yalc/@node-dlc/messaging/lib/messages/ContractInfo.ts +439 -0
  484. package/.yalc/@node-dlc/messaging/lib/messages/DlcAccept.ts +639 -0
  485. package/.yalc/@node-dlc/messaging/lib/messages/DlcCancel.ts +57 -0
  486. package/.yalc/@node-dlc/messaging/lib/messages/DlcClose.ts +305 -0
  487. package/.yalc/@node-dlc/messaging/lib/messages/DlcCloseMetadata.ts +118 -0
  488. package/.yalc/@node-dlc/messaging/lib/messages/DlcIds.ts +67 -0
  489. package/.yalc/@node-dlc/messaging/lib/messages/DlcInfo.ts +81 -0
  490. package/.yalc/@node-dlc/messaging/lib/messages/DlcInput.ts +167 -0
  491. package/.yalc/@node-dlc/messaging/lib/messages/DlcMessage.ts +87 -0
  492. package/.yalc/@node-dlc/messaging/lib/messages/DlcOffer.ts +665 -0
  493. package/.yalc/@node-dlc/messaging/lib/messages/DlcSign.ts +359 -0
  494. package/.yalc/@node-dlc/messaging/lib/messages/DlcTransactions.ts +213 -0
  495. package/.yalc/@node-dlc/messaging/lib/messages/EventDescriptor.ts +294 -0
  496. package/.yalc/@node-dlc/messaging/lib/messages/FundingInput.ts +260 -0
  497. package/.yalc/@node-dlc/messaging/lib/messages/FundingSignatures.ts +98 -0
  498. package/.yalc/@node-dlc/messaging/lib/messages/IWireMessage.ts +6 -0
  499. package/.yalc/@node-dlc/messaging/lib/messages/NegotiationFields.ts +256 -0
  500. package/.yalc/@node-dlc/messaging/lib/messages/NodeAnnouncementMessage.ts +145 -0
  501. package/.yalc/@node-dlc/messaging/lib/messages/OracleAnnouncement.ts +176 -0
  502. package/.yalc/@node-dlc/messaging/lib/messages/OracleAttestation.ts +292 -0
  503. package/.yalc/@node-dlc/messaging/lib/messages/OracleEvent.ts +250 -0
  504. package/.yalc/@node-dlc/messaging/lib/messages/OracleEventContainer.ts +89 -0
  505. package/.yalc/@node-dlc/messaging/lib/messages/OracleIdentifier.ts +78 -0
  506. package/.yalc/@node-dlc/messaging/lib/messages/OracleInfo.ts +526 -0
  507. package/.yalc/@node-dlc/messaging/lib/messages/OrderAccept.ts +174 -0
  508. package/.yalc/@node-dlc/messaging/lib/messages/OrderIrcInfo.ts +100 -0
  509. package/.yalc/@node-dlc/messaging/lib/messages/OrderMetadata.ts +119 -0
  510. package/.yalc/@node-dlc/messaging/lib/messages/OrderNegotiationFields.ts +210 -0
  511. package/.yalc/@node-dlc/messaging/lib/messages/OrderOffer.ts +418 -0
  512. package/.yalc/@node-dlc/messaging/lib/messages/OrderPositionInfo.ts +147 -0
  513. package/.yalc/@node-dlc/messaging/lib/messages/PayoutCurvePiece.ts +454 -0
  514. package/.yalc/@node-dlc/messaging/lib/messages/PayoutFunction.ts +242 -0
  515. package/.yalc/@node-dlc/messaging/lib/messages/RoundingIntervals.ts +128 -0
  516. package/.yalc/@node-dlc/messaging/lib/messages/ScriptWitnessV0.ts +63 -0
  517. package/.yalc/@node-dlc/messaging/lib/messages/Tlv.ts +40 -0
  518. package/.yalc/@node-dlc/messaging/lib/serialize/F64.ts +337 -0
  519. package/.yalc/@node-dlc/messaging/lib/serialize/deserializeTlv.ts +15 -0
  520. package/.yalc/@node-dlc/messaging/lib/serialize/getTlv.ts +21 -0
  521. package/.yalc/@node-dlc/messaging/lib/serialize/readTlvs.ts +37 -0
  522. package/.yalc/@node-dlc/messaging/lib/util.ts +37 -0
  523. package/.yalc/@node-dlc/messaging/lib/validation/validate.ts +34 -0
  524. package/.yalc/@node-dlc/messaging/package.json +42 -0
  525. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_3_test.json +212 -0
  526. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_3_of_5_test.json +470 -0
  527. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_3_of_5_test.json +1519 -0
  528. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_5_of_5_test.json +547 -0
  529. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_3_of_5_test.json +4763 -0
  530. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_and_numerical_with_diff_5_of_5_test.json +2171 -0
  531. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/enum_single_oracle_test.json +166 -0
  532. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_hyperbola_test.json +504 -0
  533. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/single_oracle_numerical_test.json +264 -0
  534. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_five_oracle_numerical_with_diff_test.json +4384 -0
  535. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_test.json +326 -0
  536. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/three_of_three_oracle_numerical_with_diff_test.json +654 -0
  537. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_test.json +1140 -0
  538. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs/two_of_five_oracle_numerical_with_diff_test.json +2224 -0
  539. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_3_test.json +210 -0
  540. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_3_of_5_test.json +468 -0
  541. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_3_of_5_test.json +1517 -0
  542. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_5_of_5_test.json +545 -0
  543. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_3_of_5_test.json +4761 -0
  544. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_and_numerical_with_diff_5_of_5_test.json +2169 -0
  545. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/enum_single_oracle_test.json +164 -0
  546. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_hyperbola_test.json +502 -0
  547. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/single_oracle_numerical_test.json +262 -0
  548. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_five_oracle_numerical_with_diff_test.json +4382 -0
  549. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_test.json +324 -0
  550. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/three_of_three_oracle_numerical_with_diff_test.json +652 -0
  551. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_test.json +1138 -0
  552. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250718_132453/two_of_five_oracle_numerical_with_diff_test.json +2222 -0
  553. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_3_test.json +212 -0
  554. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_3_of_5_test.json +470 -0
  555. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_3_of_5_test.json +1519 -0
  556. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_5_of_5_test.json +547 -0
  557. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_3_of_5_test.json +4763 -0
  558. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_and_numerical_with_diff_5_of_5_test.json +2171 -0
  559. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/enum_single_oracle_test.json +166 -0
  560. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_hyperbola_test.json +504 -0
  561. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/single_oracle_numerical_test.json +264 -0
  562. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_five_oracle_numerical_with_diff_test.json +4384 -0
  563. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_test.json +326 -0
  564. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/three_of_three_oracle_numerical_with_diff_test.json +654 -0
  565. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_test.json +1140 -0
  566. package/.yalc/@node-dlc/messaging/test_vectors/dlcspecs_backup_20250719_185952/two_of_five_oracle_numerical_with_diff_test.json +2224 -0
  567. package/.yalc/@node-dlc/messaging/test_vectors/oracle/external_oracle_announcements.json +0 -0
  568. package/.yalc/@node-dlc/messaging/test_vectors/oracle/oracle_message_test_vectors.json +115 -0
  569. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/accept_msg.json +1465 -0
  570. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test.json +12362 -0
  571. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_fee_test_scripts.json +57 -0
  572. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_test.json +2766 -0
  573. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/dlc_tx_test.json +2899 -0
  574. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg.json +163 -0
  575. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/offer_msg_disjoint.json +352 -0
  576. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_chunk_msg.json +12635 -0
  577. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/segment_start_msg.json +4022 -0
  578. package/.yalc/@node-dlc/messaging/test_vectors/rust-dlc/sign_msg.json +383 -0
  579. package/.yalc/@node-dlc/messaging/tsconfig.json +7 -0
  580. package/.yalc/@node-dlc/messaging/yalc.sig +1 -0
  581. package/.yalc/@node-dlc/noise/.eslintrc +6 -0
  582. package/.yalc/@node-dlc/noise/.nyc_output/cce169d2-1730-4a39-9e05-4edcd8b14961.json +1 -0
  583. package/.yalc/@node-dlc/noise/.nyc_output/processinfo/cce169d2-1730-4a39-9e05-4edcd8b14961.json +1 -0
  584. package/.yalc/@node-dlc/noise/.nyc_output/processinfo/index.json +1 -0
  585. package/.yalc/@node-dlc/noise/README.md +165 -0
  586. package/.yalc/@node-dlc/noise/__integration__/ping-pong.spec.ts +85 -0
  587. package/.yalc/@node-dlc/noise/__tests__/noise-server.spec.ts +82 -0
  588. package/.yalc/@node-dlc/noise/__tests__/noise-socket.spec.ts +574 -0
  589. package/.yalc/@node-dlc/noise/__tests__/noise-state.spec.ts +485 -0
  590. package/.yalc/@node-dlc/noise/coverage/lcov-report/base.css +224 -0
  591. package/.yalc/@node-dlc/noise/coverage/lcov-report/block-navigation.js +79 -0
  592. package/.yalc/@node-dlc/noise/coverage/lcov-report/favicon.png +0 -0
  593. package/.yalc/@node-dlc/noise/coverage/lcov-report/handshake-state.ts.html +230 -0
  594. package/.yalc/@node-dlc/noise/coverage/lcov-report/index.html +201 -0
  595. package/.yalc/@node-dlc/noise/coverage/lcov-report/index.ts.html +344 -0
  596. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-error.ts.html +89 -0
  597. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-server.ts.html +485 -0
  598. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-socket.ts.html +1223 -0
  599. package/.yalc/@node-dlc/noise/coverage/lcov-report/noise-state.ts.html +1523 -0
  600. package/.yalc/@node-dlc/noise/coverage/lcov-report/prettify.css +1 -0
  601. package/.yalc/@node-dlc/noise/coverage/lcov-report/prettify.js +2 -0
  602. package/.yalc/@node-dlc/noise/coverage/lcov-report/read-state.ts.html +95 -0
  603. package/.yalc/@node-dlc/noise/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  604. package/.yalc/@node-dlc/noise/coverage/lcov-report/sorter.js +170 -0
  605. package/.yalc/@node-dlc/noise/coverage/lcov.info +565 -0
  606. package/.yalc/@node-dlc/noise/dist/handshake-state.d.ts +46 -0
  607. package/.yalc/@node-dlc/noise/dist/handshake-state.js +51 -0
  608. package/.yalc/@node-dlc/noise/dist/handshake-state.js.map +1 -0
  609. package/.yalc/@node-dlc/noise/dist/index.d.ts +46 -0
  610. package/.yalc/@node-dlc/noise/dist/index.js +69 -0
  611. package/.yalc/@node-dlc/noise/dist/index.js.map +1 -0
  612. package/.yalc/@node-dlc/noise/dist/noise-error.d.ts +3 -0
  613. package/.yalc/@node-dlc/noise/dist/noise-error.js +11 -0
  614. package/.yalc/@node-dlc/noise/dist/noise-error.js.map +1 -0
  615. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.d.ts +23 -0
  616. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.js +3 -0
  617. package/.yalc/@node-dlc/noise/dist/noise-server-listen-options.js.map +1 -0
  618. package/.yalc/@node-dlc/noise/dist/noise-server-options.d.ts +13 -0
  619. package/.yalc/@node-dlc/noise/dist/noise-server-options.js +3 -0
  620. package/.yalc/@node-dlc/noise/dist/noise-server-options.js.map +1 -0
  621. package/.yalc/@node-dlc/noise/dist/noise-server.d.ts +71 -0
  622. package/.yalc/@node-dlc/noise/dist/noise-server.js +125 -0
  623. package/.yalc/@node-dlc/noise/dist/noise-server.js.map +1 -0
  624. package/.yalc/@node-dlc/noise/dist/noise-socket-options.d.ts +28 -0
  625. package/.yalc/@node-dlc/noise/dist/noise-socket-options.js +3 -0
  626. package/.yalc/@node-dlc/noise/dist/noise-socket-options.js.map +1 -0
  627. package/.yalc/@node-dlc/noise/dist/noise-socket.d.ts +98 -0
  628. package/.yalc/@node-dlc/noise/dist/noise-socket.js +278 -0
  629. package/.yalc/@node-dlc/noise/dist/noise-socket.js.map +1 -0
  630. package/.yalc/@node-dlc/noise/dist/noise-state-options.d.ts +16 -0
  631. package/.yalc/@node-dlc/noise/dist/noise-state-options.js +3 -0
  632. package/.yalc/@node-dlc/noise/dist/noise-state-options.js.map +1 -0
  633. package/.yalc/@node-dlc/noise/dist/noise-state.d.ts +164 -0
  634. package/.yalc/@node-dlc/noise/dist/noise-state.js +304 -0
  635. package/.yalc/@node-dlc/noise/dist/noise-state.js.map +1 -0
  636. package/.yalc/@node-dlc/noise/dist/read-state.d.ts +5 -0
  637. package/.yalc/@node-dlc/noise/dist/read-state.js +10 -0
  638. package/.yalc/@node-dlc/noise/dist/read-state.js.map +1 -0
  639. package/.yalc/@node-dlc/noise/lib/handshake-state.ts +50 -0
  640. package/.yalc/@node-dlc/noise/lib/index.ts +88 -0
  641. package/.yalc/@node-dlc/noise/lib/noise-error.ts +3 -0
  642. package/.yalc/@node-dlc/noise/lib/noise-server-listen-options.ts +25 -0
  643. package/.yalc/@node-dlc/noise/lib/noise-server-options.ts +13 -0
  644. package/.yalc/@node-dlc/noise/lib/noise-server.ts +135 -0
  645. package/.yalc/@node-dlc/noise/lib/noise-socket-options.ts +32 -0
  646. package/.yalc/@node-dlc/noise/lib/noise-socket.ts +381 -0
  647. package/.yalc/@node-dlc/noise/lib/noise-state-options.ts +18 -0
  648. package/.yalc/@node-dlc/noise/lib/noise-state.ts +481 -0
  649. package/.yalc/@node-dlc/noise/lib/read-state.ts +5 -0
  650. package/.yalc/@node-dlc/noise/package.json +35 -0
  651. package/.yalc/@node-dlc/noise/tsconfig-build.json +7 -0
  652. package/.yalc/@node-dlc/noise/tsconfig.json +4 -0
  653. package/.yalc/@node-dlc/noise/yalc.sig +1 -0
  654. package/CHANGELOG.md +6 -0
  655. package/dist/ddk.d.ts +4 -4
  656. package/dist/dlc.d.ts +2 -1
  657. package/dist/dlc.js +2 -0
  658. package/dist/dlc.js.map +1 -1
  659. package/dist/network-utils.d.ts +10 -0
  660. package/dist/network-utils.js +34 -0
  661. package/dist/network-utils.js.map +1 -0
  662. package/lib/ddk.ts +4 -0
  663. package/lib/dlc.ts +3 -0
  664. package/package.json +1 -1
  665. package/yalc.lock +20 -0
@@ -0,0 +1,1997 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for lib/messages/DlcAccept.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">lib/messages</a> DlcAccept.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">87.62% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>177/202</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">57.14% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>52/91</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">82.76% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>24/29</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">87.44% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>174/199</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ </div>
58
+ <div class='status-line high'></div>
59
+ <pre><table class="coverage">
60
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
+ <a name='L2'></a><a href='#L2'>2</a>
62
+ <a name='L3'></a><a href='#L3'>3</a>
63
+ <a name='L4'></a><a href='#L4'>4</a>
64
+ <a name='L5'></a><a href='#L5'>5</a>
65
+ <a name='L6'></a><a href='#L6'>6</a>
66
+ <a name='L7'></a><a href='#L7'>7</a>
67
+ <a name='L8'></a><a href='#L8'>8</a>
68
+ <a name='L9'></a><a href='#L9'>9</a>
69
+ <a name='L10'></a><a href='#L10'>10</a>
70
+ <a name='L11'></a><a href='#L11'>11</a>
71
+ <a name='L12'></a><a href='#L12'>12</a>
72
+ <a name='L13'></a><a href='#L13'>13</a>
73
+ <a name='L14'></a><a href='#L14'>14</a>
74
+ <a name='L15'></a><a href='#L15'>15</a>
75
+ <a name='L16'></a><a href='#L16'>16</a>
76
+ <a name='L17'></a><a href='#L17'>17</a>
77
+ <a name='L18'></a><a href='#L18'>18</a>
78
+ <a name='L19'></a><a href='#L19'>19</a>
79
+ <a name='L20'></a><a href='#L20'>20</a>
80
+ <a name='L21'></a><a href='#L21'>21</a>
81
+ <a name='L22'></a><a href='#L22'>22</a>
82
+ <a name='L23'></a><a href='#L23'>23</a>
83
+ <a name='L24'></a><a href='#L24'>24</a>
84
+ <a name='L25'></a><a href='#L25'>25</a>
85
+ <a name='L26'></a><a href='#L26'>26</a>
86
+ <a name='L27'></a><a href='#L27'>27</a>
87
+ <a name='L28'></a><a href='#L28'>28</a>
88
+ <a name='L29'></a><a href='#L29'>29</a>
89
+ <a name='L30'></a><a href='#L30'>30</a>
90
+ <a name='L31'></a><a href='#L31'>31</a>
91
+ <a name='L32'></a><a href='#L32'>32</a>
92
+ <a name='L33'></a><a href='#L33'>33</a>
93
+ <a name='L34'></a><a href='#L34'>34</a>
94
+ <a name='L35'></a><a href='#L35'>35</a>
95
+ <a name='L36'></a><a href='#L36'>36</a>
96
+ <a name='L37'></a><a href='#L37'>37</a>
97
+ <a name='L38'></a><a href='#L38'>38</a>
98
+ <a name='L39'></a><a href='#L39'>39</a>
99
+ <a name='L40'></a><a href='#L40'>40</a>
100
+ <a name='L41'></a><a href='#L41'>41</a>
101
+ <a name='L42'></a><a href='#L42'>42</a>
102
+ <a name='L43'></a><a href='#L43'>43</a>
103
+ <a name='L44'></a><a href='#L44'>44</a>
104
+ <a name='L45'></a><a href='#L45'>45</a>
105
+ <a name='L46'></a><a href='#L46'>46</a>
106
+ <a name='L47'></a><a href='#L47'>47</a>
107
+ <a name='L48'></a><a href='#L48'>48</a>
108
+ <a name='L49'></a><a href='#L49'>49</a>
109
+ <a name='L50'></a><a href='#L50'>50</a>
110
+ <a name='L51'></a><a href='#L51'>51</a>
111
+ <a name='L52'></a><a href='#L52'>52</a>
112
+ <a name='L53'></a><a href='#L53'>53</a>
113
+ <a name='L54'></a><a href='#L54'>54</a>
114
+ <a name='L55'></a><a href='#L55'>55</a>
115
+ <a name='L56'></a><a href='#L56'>56</a>
116
+ <a name='L57'></a><a href='#L57'>57</a>
117
+ <a name='L58'></a><a href='#L58'>58</a>
118
+ <a name='L59'></a><a href='#L59'>59</a>
119
+ <a name='L60'></a><a href='#L60'>60</a>
120
+ <a name='L61'></a><a href='#L61'>61</a>
121
+ <a name='L62'></a><a href='#L62'>62</a>
122
+ <a name='L63'></a><a href='#L63'>63</a>
123
+ <a name='L64'></a><a href='#L64'>64</a>
124
+ <a name='L65'></a><a href='#L65'>65</a>
125
+ <a name='L66'></a><a href='#L66'>66</a>
126
+ <a name='L67'></a><a href='#L67'>67</a>
127
+ <a name='L68'></a><a href='#L68'>68</a>
128
+ <a name='L69'></a><a href='#L69'>69</a>
129
+ <a name='L70'></a><a href='#L70'>70</a>
130
+ <a name='L71'></a><a href='#L71'>71</a>
131
+ <a name='L72'></a><a href='#L72'>72</a>
132
+ <a name='L73'></a><a href='#L73'>73</a>
133
+ <a name='L74'></a><a href='#L74'>74</a>
134
+ <a name='L75'></a><a href='#L75'>75</a>
135
+ <a name='L76'></a><a href='#L76'>76</a>
136
+ <a name='L77'></a><a href='#L77'>77</a>
137
+ <a name='L78'></a><a href='#L78'>78</a>
138
+ <a name='L79'></a><a href='#L79'>79</a>
139
+ <a name='L80'></a><a href='#L80'>80</a>
140
+ <a name='L81'></a><a href='#L81'>81</a>
141
+ <a name='L82'></a><a href='#L82'>82</a>
142
+ <a name='L83'></a><a href='#L83'>83</a>
143
+ <a name='L84'></a><a href='#L84'>84</a>
144
+ <a name='L85'></a><a href='#L85'>85</a>
145
+ <a name='L86'></a><a href='#L86'>86</a>
146
+ <a name='L87'></a><a href='#L87'>87</a>
147
+ <a name='L88'></a><a href='#L88'>88</a>
148
+ <a name='L89'></a><a href='#L89'>89</a>
149
+ <a name='L90'></a><a href='#L90'>90</a>
150
+ <a name='L91'></a><a href='#L91'>91</a>
151
+ <a name='L92'></a><a href='#L92'>92</a>
152
+ <a name='L93'></a><a href='#L93'>93</a>
153
+ <a name='L94'></a><a href='#L94'>94</a>
154
+ <a name='L95'></a><a href='#L95'>95</a>
155
+ <a name='L96'></a><a href='#L96'>96</a>
156
+ <a name='L97'></a><a href='#L97'>97</a>
157
+ <a name='L98'></a><a href='#L98'>98</a>
158
+ <a name='L99'></a><a href='#L99'>99</a>
159
+ <a name='L100'></a><a href='#L100'>100</a>
160
+ <a name='L101'></a><a href='#L101'>101</a>
161
+ <a name='L102'></a><a href='#L102'>102</a>
162
+ <a name='L103'></a><a href='#L103'>103</a>
163
+ <a name='L104'></a><a href='#L104'>104</a>
164
+ <a name='L105'></a><a href='#L105'>105</a>
165
+ <a name='L106'></a><a href='#L106'>106</a>
166
+ <a name='L107'></a><a href='#L107'>107</a>
167
+ <a name='L108'></a><a href='#L108'>108</a>
168
+ <a name='L109'></a><a href='#L109'>109</a>
169
+ <a name='L110'></a><a href='#L110'>110</a>
170
+ <a name='L111'></a><a href='#L111'>111</a>
171
+ <a name='L112'></a><a href='#L112'>112</a>
172
+ <a name='L113'></a><a href='#L113'>113</a>
173
+ <a name='L114'></a><a href='#L114'>114</a>
174
+ <a name='L115'></a><a href='#L115'>115</a>
175
+ <a name='L116'></a><a href='#L116'>116</a>
176
+ <a name='L117'></a><a href='#L117'>117</a>
177
+ <a name='L118'></a><a href='#L118'>118</a>
178
+ <a name='L119'></a><a href='#L119'>119</a>
179
+ <a name='L120'></a><a href='#L120'>120</a>
180
+ <a name='L121'></a><a href='#L121'>121</a>
181
+ <a name='L122'></a><a href='#L122'>122</a>
182
+ <a name='L123'></a><a href='#L123'>123</a>
183
+ <a name='L124'></a><a href='#L124'>124</a>
184
+ <a name='L125'></a><a href='#L125'>125</a>
185
+ <a name='L126'></a><a href='#L126'>126</a>
186
+ <a name='L127'></a><a href='#L127'>127</a>
187
+ <a name='L128'></a><a href='#L128'>128</a>
188
+ <a name='L129'></a><a href='#L129'>129</a>
189
+ <a name='L130'></a><a href='#L130'>130</a>
190
+ <a name='L131'></a><a href='#L131'>131</a>
191
+ <a name='L132'></a><a href='#L132'>132</a>
192
+ <a name='L133'></a><a href='#L133'>133</a>
193
+ <a name='L134'></a><a href='#L134'>134</a>
194
+ <a name='L135'></a><a href='#L135'>135</a>
195
+ <a name='L136'></a><a href='#L136'>136</a>
196
+ <a name='L137'></a><a href='#L137'>137</a>
197
+ <a name='L138'></a><a href='#L138'>138</a>
198
+ <a name='L139'></a><a href='#L139'>139</a>
199
+ <a name='L140'></a><a href='#L140'>140</a>
200
+ <a name='L141'></a><a href='#L141'>141</a>
201
+ <a name='L142'></a><a href='#L142'>142</a>
202
+ <a name='L143'></a><a href='#L143'>143</a>
203
+ <a name='L144'></a><a href='#L144'>144</a>
204
+ <a name='L145'></a><a href='#L145'>145</a>
205
+ <a name='L146'></a><a href='#L146'>146</a>
206
+ <a name='L147'></a><a href='#L147'>147</a>
207
+ <a name='L148'></a><a href='#L148'>148</a>
208
+ <a name='L149'></a><a href='#L149'>149</a>
209
+ <a name='L150'></a><a href='#L150'>150</a>
210
+ <a name='L151'></a><a href='#L151'>151</a>
211
+ <a name='L152'></a><a href='#L152'>152</a>
212
+ <a name='L153'></a><a href='#L153'>153</a>
213
+ <a name='L154'></a><a href='#L154'>154</a>
214
+ <a name='L155'></a><a href='#L155'>155</a>
215
+ <a name='L156'></a><a href='#L156'>156</a>
216
+ <a name='L157'></a><a href='#L157'>157</a>
217
+ <a name='L158'></a><a href='#L158'>158</a>
218
+ <a name='L159'></a><a href='#L159'>159</a>
219
+ <a name='L160'></a><a href='#L160'>160</a>
220
+ <a name='L161'></a><a href='#L161'>161</a>
221
+ <a name='L162'></a><a href='#L162'>162</a>
222
+ <a name='L163'></a><a href='#L163'>163</a>
223
+ <a name='L164'></a><a href='#L164'>164</a>
224
+ <a name='L165'></a><a href='#L165'>165</a>
225
+ <a name='L166'></a><a href='#L166'>166</a>
226
+ <a name='L167'></a><a href='#L167'>167</a>
227
+ <a name='L168'></a><a href='#L168'>168</a>
228
+ <a name='L169'></a><a href='#L169'>169</a>
229
+ <a name='L170'></a><a href='#L170'>170</a>
230
+ <a name='L171'></a><a href='#L171'>171</a>
231
+ <a name='L172'></a><a href='#L172'>172</a>
232
+ <a name='L173'></a><a href='#L173'>173</a>
233
+ <a name='L174'></a><a href='#L174'>174</a>
234
+ <a name='L175'></a><a href='#L175'>175</a>
235
+ <a name='L176'></a><a href='#L176'>176</a>
236
+ <a name='L177'></a><a href='#L177'>177</a>
237
+ <a name='L178'></a><a href='#L178'>178</a>
238
+ <a name='L179'></a><a href='#L179'>179</a>
239
+ <a name='L180'></a><a href='#L180'>180</a>
240
+ <a name='L181'></a><a href='#L181'>181</a>
241
+ <a name='L182'></a><a href='#L182'>182</a>
242
+ <a name='L183'></a><a href='#L183'>183</a>
243
+ <a name='L184'></a><a href='#L184'>184</a>
244
+ <a name='L185'></a><a href='#L185'>185</a>
245
+ <a name='L186'></a><a href='#L186'>186</a>
246
+ <a name='L187'></a><a href='#L187'>187</a>
247
+ <a name='L188'></a><a href='#L188'>188</a>
248
+ <a name='L189'></a><a href='#L189'>189</a>
249
+ <a name='L190'></a><a href='#L190'>190</a>
250
+ <a name='L191'></a><a href='#L191'>191</a>
251
+ <a name='L192'></a><a href='#L192'>192</a>
252
+ <a name='L193'></a><a href='#L193'>193</a>
253
+ <a name='L194'></a><a href='#L194'>194</a>
254
+ <a name='L195'></a><a href='#L195'>195</a>
255
+ <a name='L196'></a><a href='#L196'>196</a>
256
+ <a name='L197'></a><a href='#L197'>197</a>
257
+ <a name='L198'></a><a href='#L198'>198</a>
258
+ <a name='L199'></a><a href='#L199'>199</a>
259
+ <a name='L200'></a><a href='#L200'>200</a>
260
+ <a name='L201'></a><a href='#L201'>201</a>
261
+ <a name='L202'></a><a href='#L202'>202</a>
262
+ <a name='L203'></a><a href='#L203'>203</a>
263
+ <a name='L204'></a><a href='#L204'>204</a>
264
+ <a name='L205'></a><a href='#L205'>205</a>
265
+ <a name='L206'></a><a href='#L206'>206</a>
266
+ <a name='L207'></a><a href='#L207'>207</a>
267
+ <a name='L208'></a><a href='#L208'>208</a>
268
+ <a name='L209'></a><a href='#L209'>209</a>
269
+ <a name='L210'></a><a href='#L210'>210</a>
270
+ <a name='L211'></a><a href='#L211'>211</a>
271
+ <a name='L212'></a><a href='#L212'>212</a>
272
+ <a name='L213'></a><a href='#L213'>213</a>
273
+ <a name='L214'></a><a href='#L214'>214</a>
274
+ <a name='L215'></a><a href='#L215'>215</a>
275
+ <a name='L216'></a><a href='#L216'>216</a>
276
+ <a name='L217'></a><a href='#L217'>217</a>
277
+ <a name='L218'></a><a href='#L218'>218</a>
278
+ <a name='L219'></a><a href='#L219'>219</a>
279
+ <a name='L220'></a><a href='#L220'>220</a>
280
+ <a name='L221'></a><a href='#L221'>221</a>
281
+ <a name='L222'></a><a href='#L222'>222</a>
282
+ <a name='L223'></a><a href='#L223'>223</a>
283
+ <a name='L224'></a><a href='#L224'>224</a>
284
+ <a name='L225'></a><a href='#L225'>225</a>
285
+ <a name='L226'></a><a href='#L226'>226</a>
286
+ <a name='L227'></a><a href='#L227'>227</a>
287
+ <a name='L228'></a><a href='#L228'>228</a>
288
+ <a name='L229'></a><a href='#L229'>229</a>
289
+ <a name='L230'></a><a href='#L230'>230</a>
290
+ <a name='L231'></a><a href='#L231'>231</a>
291
+ <a name='L232'></a><a href='#L232'>232</a>
292
+ <a name='L233'></a><a href='#L233'>233</a>
293
+ <a name='L234'></a><a href='#L234'>234</a>
294
+ <a name='L235'></a><a href='#L235'>235</a>
295
+ <a name='L236'></a><a href='#L236'>236</a>
296
+ <a name='L237'></a><a href='#L237'>237</a>
297
+ <a name='L238'></a><a href='#L238'>238</a>
298
+ <a name='L239'></a><a href='#L239'>239</a>
299
+ <a name='L240'></a><a href='#L240'>240</a>
300
+ <a name='L241'></a><a href='#L241'>241</a>
301
+ <a name='L242'></a><a href='#L242'>242</a>
302
+ <a name='L243'></a><a href='#L243'>243</a>
303
+ <a name='L244'></a><a href='#L244'>244</a>
304
+ <a name='L245'></a><a href='#L245'>245</a>
305
+ <a name='L246'></a><a href='#L246'>246</a>
306
+ <a name='L247'></a><a href='#L247'>247</a>
307
+ <a name='L248'></a><a href='#L248'>248</a>
308
+ <a name='L249'></a><a href='#L249'>249</a>
309
+ <a name='L250'></a><a href='#L250'>250</a>
310
+ <a name='L251'></a><a href='#L251'>251</a>
311
+ <a name='L252'></a><a href='#L252'>252</a>
312
+ <a name='L253'></a><a href='#L253'>253</a>
313
+ <a name='L254'></a><a href='#L254'>254</a>
314
+ <a name='L255'></a><a href='#L255'>255</a>
315
+ <a name='L256'></a><a href='#L256'>256</a>
316
+ <a name='L257'></a><a href='#L257'>257</a>
317
+ <a name='L258'></a><a href='#L258'>258</a>
318
+ <a name='L259'></a><a href='#L259'>259</a>
319
+ <a name='L260'></a><a href='#L260'>260</a>
320
+ <a name='L261'></a><a href='#L261'>261</a>
321
+ <a name='L262'></a><a href='#L262'>262</a>
322
+ <a name='L263'></a><a href='#L263'>263</a>
323
+ <a name='L264'></a><a href='#L264'>264</a>
324
+ <a name='L265'></a><a href='#L265'>265</a>
325
+ <a name='L266'></a><a href='#L266'>266</a>
326
+ <a name='L267'></a><a href='#L267'>267</a>
327
+ <a name='L268'></a><a href='#L268'>268</a>
328
+ <a name='L269'></a><a href='#L269'>269</a>
329
+ <a name='L270'></a><a href='#L270'>270</a>
330
+ <a name='L271'></a><a href='#L271'>271</a>
331
+ <a name='L272'></a><a href='#L272'>272</a>
332
+ <a name='L273'></a><a href='#L273'>273</a>
333
+ <a name='L274'></a><a href='#L274'>274</a>
334
+ <a name='L275'></a><a href='#L275'>275</a>
335
+ <a name='L276'></a><a href='#L276'>276</a>
336
+ <a name='L277'></a><a href='#L277'>277</a>
337
+ <a name='L278'></a><a href='#L278'>278</a>
338
+ <a name='L279'></a><a href='#L279'>279</a>
339
+ <a name='L280'></a><a href='#L280'>280</a>
340
+ <a name='L281'></a><a href='#L281'>281</a>
341
+ <a name='L282'></a><a href='#L282'>282</a>
342
+ <a name='L283'></a><a href='#L283'>283</a>
343
+ <a name='L284'></a><a href='#L284'>284</a>
344
+ <a name='L285'></a><a href='#L285'>285</a>
345
+ <a name='L286'></a><a href='#L286'>286</a>
346
+ <a name='L287'></a><a href='#L287'>287</a>
347
+ <a name='L288'></a><a href='#L288'>288</a>
348
+ <a name='L289'></a><a href='#L289'>289</a>
349
+ <a name='L290'></a><a href='#L290'>290</a>
350
+ <a name='L291'></a><a href='#L291'>291</a>
351
+ <a name='L292'></a><a href='#L292'>292</a>
352
+ <a name='L293'></a><a href='#L293'>293</a>
353
+ <a name='L294'></a><a href='#L294'>294</a>
354
+ <a name='L295'></a><a href='#L295'>295</a>
355
+ <a name='L296'></a><a href='#L296'>296</a>
356
+ <a name='L297'></a><a href='#L297'>297</a>
357
+ <a name='L298'></a><a href='#L298'>298</a>
358
+ <a name='L299'></a><a href='#L299'>299</a>
359
+ <a name='L300'></a><a href='#L300'>300</a>
360
+ <a name='L301'></a><a href='#L301'>301</a>
361
+ <a name='L302'></a><a href='#L302'>302</a>
362
+ <a name='L303'></a><a href='#L303'>303</a>
363
+ <a name='L304'></a><a href='#L304'>304</a>
364
+ <a name='L305'></a><a href='#L305'>305</a>
365
+ <a name='L306'></a><a href='#L306'>306</a>
366
+ <a name='L307'></a><a href='#L307'>307</a>
367
+ <a name='L308'></a><a href='#L308'>308</a>
368
+ <a name='L309'></a><a href='#L309'>309</a>
369
+ <a name='L310'></a><a href='#L310'>310</a>
370
+ <a name='L311'></a><a href='#L311'>311</a>
371
+ <a name='L312'></a><a href='#L312'>312</a>
372
+ <a name='L313'></a><a href='#L313'>313</a>
373
+ <a name='L314'></a><a href='#L314'>314</a>
374
+ <a name='L315'></a><a href='#L315'>315</a>
375
+ <a name='L316'></a><a href='#L316'>316</a>
376
+ <a name='L317'></a><a href='#L317'>317</a>
377
+ <a name='L318'></a><a href='#L318'>318</a>
378
+ <a name='L319'></a><a href='#L319'>319</a>
379
+ <a name='L320'></a><a href='#L320'>320</a>
380
+ <a name='L321'></a><a href='#L321'>321</a>
381
+ <a name='L322'></a><a href='#L322'>322</a>
382
+ <a name='L323'></a><a href='#L323'>323</a>
383
+ <a name='L324'></a><a href='#L324'>324</a>
384
+ <a name='L325'></a><a href='#L325'>325</a>
385
+ <a name='L326'></a><a href='#L326'>326</a>
386
+ <a name='L327'></a><a href='#L327'>327</a>
387
+ <a name='L328'></a><a href='#L328'>328</a>
388
+ <a name='L329'></a><a href='#L329'>329</a>
389
+ <a name='L330'></a><a href='#L330'>330</a>
390
+ <a name='L331'></a><a href='#L331'>331</a>
391
+ <a name='L332'></a><a href='#L332'>332</a>
392
+ <a name='L333'></a><a href='#L333'>333</a>
393
+ <a name='L334'></a><a href='#L334'>334</a>
394
+ <a name='L335'></a><a href='#L335'>335</a>
395
+ <a name='L336'></a><a href='#L336'>336</a>
396
+ <a name='L337'></a><a href='#L337'>337</a>
397
+ <a name='L338'></a><a href='#L338'>338</a>
398
+ <a name='L339'></a><a href='#L339'>339</a>
399
+ <a name='L340'></a><a href='#L340'>340</a>
400
+ <a name='L341'></a><a href='#L341'>341</a>
401
+ <a name='L342'></a><a href='#L342'>342</a>
402
+ <a name='L343'></a><a href='#L343'>343</a>
403
+ <a name='L344'></a><a href='#L344'>344</a>
404
+ <a name='L345'></a><a href='#L345'>345</a>
405
+ <a name='L346'></a><a href='#L346'>346</a>
406
+ <a name='L347'></a><a href='#L347'>347</a>
407
+ <a name='L348'></a><a href='#L348'>348</a>
408
+ <a name='L349'></a><a href='#L349'>349</a>
409
+ <a name='L350'></a><a href='#L350'>350</a>
410
+ <a name='L351'></a><a href='#L351'>351</a>
411
+ <a name='L352'></a><a href='#L352'>352</a>
412
+ <a name='L353'></a><a href='#L353'>353</a>
413
+ <a name='L354'></a><a href='#L354'>354</a>
414
+ <a name='L355'></a><a href='#L355'>355</a>
415
+ <a name='L356'></a><a href='#L356'>356</a>
416
+ <a name='L357'></a><a href='#L357'>357</a>
417
+ <a name='L358'></a><a href='#L358'>358</a>
418
+ <a name='L359'></a><a href='#L359'>359</a>
419
+ <a name='L360'></a><a href='#L360'>360</a>
420
+ <a name='L361'></a><a href='#L361'>361</a>
421
+ <a name='L362'></a><a href='#L362'>362</a>
422
+ <a name='L363'></a><a href='#L363'>363</a>
423
+ <a name='L364'></a><a href='#L364'>364</a>
424
+ <a name='L365'></a><a href='#L365'>365</a>
425
+ <a name='L366'></a><a href='#L366'>366</a>
426
+ <a name='L367'></a><a href='#L367'>367</a>
427
+ <a name='L368'></a><a href='#L368'>368</a>
428
+ <a name='L369'></a><a href='#L369'>369</a>
429
+ <a name='L370'></a><a href='#L370'>370</a>
430
+ <a name='L371'></a><a href='#L371'>371</a>
431
+ <a name='L372'></a><a href='#L372'>372</a>
432
+ <a name='L373'></a><a href='#L373'>373</a>
433
+ <a name='L374'></a><a href='#L374'>374</a>
434
+ <a name='L375'></a><a href='#L375'>375</a>
435
+ <a name='L376'></a><a href='#L376'>376</a>
436
+ <a name='L377'></a><a href='#L377'>377</a>
437
+ <a name='L378'></a><a href='#L378'>378</a>
438
+ <a name='L379'></a><a href='#L379'>379</a>
439
+ <a name='L380'></a><a href='#L380'>380</a>
440
+ <a name='L381'></a><a href='#L381'>381</a>
441
+ <a name='L382'></a><a href='#L382'>382</a>
442
+ <a name='L383'></a><a href='#L383'>383</a>
443
+ <a name='L384'></a><a href='#L384'>384</a>
444
+ <a name='L385'></a><a href='#L385'>385</a>
445
+ <a name='L386'></a><a href='#L386'>386</a>
446
+ <a name='L387'></a><a href='#L387'>387</a>
447
+ <a name='L388'></a><a href='#L388'>388</a>
448
+ <a name='L389'></a><a href='#L389'>389</a>
449
+ <a name='L390'></a><a href='#L390'>390</a>
450
+ <a name='L391'></a><a href='#L391'>391</a>
451
+ <a name='L392'></a><a href='#L392'>392</a>
452
+ <a name='L393'></a><a href='#L393'>393</a>
453
+ <a name='L394'></a><a href='#L394'>394</a>
454
+ <a name='L395'></a><a href='#L395'>395</a>
455
+ <a name='L396'></a><a href='#L396'>396</a>
456
+ <a name='L397'></a><a href='#L397'>397</a>
457
+ <a name='L398'></a><a href='#L398'>398</a>
458
+ <a name='L399'></a><a href='#L399'>399</a>
459
+ <a name='L400'></a><a href='#L400'>400</a>
460
+ <a name='L401'></a><a href='#L401'>401</a>
461
+ <a name='L402'></a><a href='#L402'>402</a>
462
+ <a name='L403'></a><a href='#L403'>403</a>
463
+ <a name='L404'></a><a href='#L404'>404</a>
464
+ <a name='L405'></a><a href='#L405'>405</a>
465
+ <a name='L406'></a><a href='#L406'>406</a>
466
+ <a name='L407'></a><a href='#L407'>407</a>
467
+ <a name='L408'></a><a href='#L408'>408</a>
468
+ <a name='L409'></a><a href='#L409'>409</a>
469
+ <a name='L410'></a><a href='#L410'>410</a>
470
+ <a name='L411'></a><a href='#L411'>411</a>
471
+ <a name='L412'></a><a href='#L412'>412</a>
472
+ <a name='L413'></a><a href='#L413'>413</a>
473
+ <a name='L414'></a><a href='#L414'>414</a>
474
+ <a name='L415'></a><a href='#L415'>415</a>
475
+ <a name='L416'></a><a href='#L416'>416</a>
476
+ <a name='L417'></a><a href='#L417'>417</a>
477
+ <a name='L418'></a><a href='#L418'>418</a>
478
+ <a name='L419'></a><a href='#L419'>419</a>
479
+ <a name='L420'></a><a href='#L420'>420</a>
480
+ <a name='L421'></a><a href='#L421'>421</a>
481
+ <a name='L422'></a><a href='#L422'>422</a>
482
+ <a name='L423'></a><a href='#L423'>423</a>
483
+ <a name='L424'></a><a href='#L424'>424</a>
484
+ <a name='L425'></a><a href='#L425'>425</a>
485
+ <a name='L426'></a><a href='#L426'>426</a>
486
+ <a name='L427'></a><a href='#L427'>427</a>
487
+ <a name='L428'></a><a href='#L428'>428</a>
488
+ <a name='L429'></a><a href='#L429'>429</a>
489
+ <a name='L430'></a><a href='#L430'>430</a>
490
+ <a name='L431'></a><a href='#L431'>431</a>
491
+ <a name='L432'></a><a href='#L432'>432</a>
492
+ <a name='L433'></a><a href='#L433'>433</a>
493
+ <a name='L434'></a><a href='#L434'>434</a>
494
+ <a name='L435'></a><a href='#L435'>435</a>
495
+ <a name='L436'></a><a href='#L436'>436</a>
496
+ <a name='L437'></a><a href='#L437'>437</a>
497
+ <a name='L438'></a><a href='#L438'>438</a>
498
+ <a name='L439'></a><a href='#L439'>439</a>
499
+ <a name='L440'></a><a href='#L440'>440</a>
500
+ <a name='L441'></a><a href='#L441'>441</a>
501
+ <a name='L442'></a><a href='#L442'>442</a>
502
+ <a name='L443'></a><a href='#L443'>443</a>
503
+ <a name='L444'></a><a href='#L444'>444</a>
504
+ <a name='L445'></a><a href='#L445'>445</a>
505
+ <a name='L446'></a><a href='#L446'>446</a>
506
+ <a name='L447'></a><a href='#L447'>447</a>
507
+ <a name='L448'></a><a href='#L448'>448</a>
508
+ <a name='L449'></a><a href='#L449'>449</a>
509
+ <a name='L450'></a><a href='#L450'>450</a>
510
+ <a name='L451'></a><a href='#L451'>451</a>
511
+ <a name='L452'></a><a href='#L452'>452</a>
512
+ <a name='L453'></a><a href='#L453'>453</a>
513
+ <a name='L454'></a><a href='#L454'>454</a>
514
+ <a name='L455'></a><a href='#L455'>455</a>
515
+ <a name='L456'></a><a href='#L456'>456</a>
516
+ <a name='L457'></a><a href='#L457'>457</a>
517
+ <a name='L458'></a><a href='#L458'>458</a>
518
+ <a name='L459'></a><a href='#L459'>459</a>
519
+ <a name='L460'></a><a href='#L460'>460</a>
520
+ <a name='L461'></a><a href='#L461'>461</a>
521
+ <a name='L462'></a><a href='#L462'>462</a>
522
+ <a name='L463'></a><a href='#L463'>463</a>
523
+ <a name='L464'></a><a href='#L464'>464</a>
524
+ <a name='L465'></a><a href='#L465'>465</a>
525
+ <a name='L466'></a><a href='#L466'>466</a>
526
+ <a name='L467'></a><a href='#L467'>467</a>
527
+ <a name='L468'></a><a href='#L468'>468</a>
528
+ <a name='L469'></a><a href='#L469'>469</a>
529
+ <a name='L470'></a><a href='#L470'>470</a>
530
+ <a name='L471'></a><a href='#L471'>471</a>
531
+ <a name='L472'></a><a href='#L472'>472</a>
532
+ <a name='L473'></a><a href='#L473'>473</a>
533
+ <a name='L474'></a><a href='#L474'>474</a>
534
+ <a name='L475'></a><a href='#L475'>475</a>
535
+ <a name='L476'></a><a href='#L476'>476</a>
536
+ <a name='L477'></a><a href='#L477'>477</a>
537
+ <a name='L478'></a><a href='#L478'>478</a>
538
+ <a name='L479'></a><a href='#L479'>479</a>
539
+ <a name='L480'></a><a href='#L480'>480</a>
540
+ <a name='L481'></a><a href='#L481'>481</a>
541
+ <a name='L482'></a><a href='#L482'>482</a>
542
+ <a name='L483'></a><a href='#L483'>483</a>
543
+ <a name='L484'></a><a href='#L484'>484</a>
544
+ <a name='L485'></a><a href='#L485'>485</a>
545
+ <a name='L486'></a><a href='#L486'>486</a>
546
+ <a name='L487'></a><a href='#L487'>487</a>
547
+ <a name='L488'></a><a href='#L488'>488</a>
548
+ <a name='L489'></a><a href='#L489'>489</a>
549
+ <a name='L490'></a><a href='#L490'>490</a>
550
+ <a name='L491'></a><a href='#L491'>491</a>
551
+ <a name='L492'></a><a href='#L492'>492</a>
552
+ <a name='L493'></a><a href='#L493'>493</a>
553
+ <a name='L494'></a><a href='#L494'>494</a>
554
+ <a name='L495'></a><a href='#L495'>495</a>
555
+ <a name='L496'></a><a href='#L496'>496</a>
556
+ <a name='L497'></a><a href='#L497'>497</a>
557
+ <a name='L498'></a><a href='#L498'>498</a>
558
+ <a name='L499'></a><a href='#L499'>499</a>
559
+ <a name='L500'></a><a href='#L500'>500</a>
560
+ <a name='L501'></a><a href='#L501'>501</a>
561
+ <a name='L502'></a><a href='#L502'>502</a>
562
+ <a name='L503'></a><a href='#L503'>503</a>
563
+ <a name='L504'></a><a href='#L504'>504</a>
564
+ <a name='L505'></a><a href='#L505'>505</a>
565
+ <a name='L506'></a><a href='#L506'>506</a>
566
+ <a name='L507'></a><a href='#L507'>507</a>
567
+ <a name='L508'></a><a href='#L508'>508</a>
568
+ <a name='L509'></a><a href='#L509'>509</a>
569
+ <a name='L510'></a><a href='#L510'>510</a>
570
+ <a name='L511'></a><a href='#L511'>511</a>
571
+ <a name='L512'></a><a href='#L512'>512</a>
572
+ <a name='L513'></a><a href='#L513'>513</a>
573
+ <a name='L514'></a><a href='#L514'>514</a>
574
+ <a name='L515'></a><a href='#L515'>515</a>
575
+ <a name='L516'></a><a href='#L516'>516</a>
576
+ <a name='L517'></a><a href='#L517'>517</a>
577
+ <a name='L518'></a><a href='#L518'>518</a>
578
+ <a name='L519'></a><a href='#L519'>519</a>
579
+ <a name='L520'></a><a href='#L520'>520</a>
580
+ <a name='L521'></a><a href='#L521'>521</a>
581
+ <a name='L522'></a><a href='#L522'>522</a>
582
+ <a name='L523'></a><a href='#L523'>523</a>
583
+ <a name='L524'></a><a href='#L524'>524</a>
584
+ <a name='L525'></a><a href='#L525'>525</a>
585
+ <a name='L526'></a><a href='#L526'>526</a>
586
+ <a name='L527'></a><a href='#L527'>527</a>
587
+ <a name='L528'></a><a href='#L528'>528</a>
588
+ <a name='L529'></a><a href='#L529'>529</a>
589
+ <a name='L530'></a><a href='#L530'>530</a>
590
+ <a name='L531'></a><a href='#L531'>531</a>
591
+ <a name='L532'></a><a href='#L532'>532</a>
592
+ <a name='L533'></a><a href='#L533'>533</a>
593
+ <a name='L534'></a><a href='#L534'>534</a>
594
+ <a name='L535'></a><a href='#L535'>535</a>
595
+ <a name='L536'></a><a href='#L536'>536</a>
596
+ <a name='L537'></a><a href='#L537'>537</a>
597
+ <a name='L538'></a><a href='#L538'>538</a>
598
+ <a name='L539'></a><a href='#L539'>539</a>
599
+ <a name='L540'></a><a href='#L540'>540</a>
600
+ <a name='L541'></a><a href='#L541'>541</a>
601
+ <a name='L542'></a><a href='#L542'>542</a>
602
+ <a name='L543'></a><a href='#L543'>543</a>
603
+ <a name='L544'></a><a href='#L544'>544</a>
604
+ <a name='L545'></a><a href='#L545'>545</a>
605
+ <a name='L546'></a><a href='#L546'>546</a>
606
+ <a name='L547'></a><a href='#L547'>547</a>
607
+ <a name='L548'></a><a href='#L548'>548</a>
608
+ <a name='L549'></a><a href='#L549'>549</a>
609
+ <a name='L550'></a><a href='#L550'>550</a>
610
+ <a name='L551'></a><a href='#L551'>551</a>
611
+ <a name='L552'></a><a href='#L552'>552</a>
612
+ <a name='L553'></a><a href='#L553'>553</a>
613
+ <a name='L554'></a><a href='#L554'>554</a>
614
+ <a name='L555'></a><a href='#L555'>555</a>
615
+ <a name='L556'></a><a href='#L556'>556</a>
616
+ <a name='L557'></a><a href='#L557'>557</a>
617
+ <a name='L558'></a><a href='#L558'>558</a>
618
+ <a name='L559'></a><a href='#L559'>559</a>
619
+ <a name='L560'></a><a href='#L560'>560</a>
620
+ <a name='L561'></a><a href='#L561'>561</a>
621
+ <a name='L562'></a><a href='#L562'>562</a>
622
+ <a name='L563'></a><a href='#L563'>563</a>
623
+ <a name='L564'></a><a href='#L564'>564</a>
624
+ <a name='L565'></a><a href='#L565'>565</a>
625
+ <a name='L566'></a><a href='#L566'>566</a>
626
+ <a name='L567'></a><a href='#L567'>567</a>
627
+ <a name='L568'></a><a href='#L568'>568</a>
628
+ <a name='L569'></a><a href='#L569'>569</a>
629
+ <a name='L570'></a><a href='#L570'>570</a>
630
+ <a name='L571'></a><a href='#L571'>571</a>
631
+ <a name='L572'></a><a href='#L572'>572</a>
632
+ <a name='L573'></a><a href='#L573'>573</a>
633
+ <a name='L574'></a><a href='#L574'>574</a>
634
+ <a name='L575'></a><a href='#L575'>575</a>
635
+ <a name='L576'></a><a href='#L576'>576</a>
636
+ <a name='L577'></a><a href='#L577'>577</a>
637
+ <a name='L578'></a><a href='#L578'>578</a>
638
+ <a name='L579'></a><a href='#L579'>579</a>
639
+ <a name='L580'></a><a href='#L580'>580</a>
640
+ <a name='L581'></a><a href='#L581'>581</a>
641
+ <a name='L582'></a><a href='#L582'>582</a>
642
+ <a name='L583'></a><a href='#L583'>583</a>
643
+ <a name='L584'></a><a href='#L584'>584</a>
644
+ <a name='L585'></a><a href='#L585'>585</a>
645
+ <a name='L586'></a><a href='#L586'>586</a>
646
+ <a name='L587'></a><a href='#L587'>587</a>
647
+ <a name='L588'></a><a href='#L588'>588</a>
648
+ <a name='L589'></a><a href='#L589'>589</a>
649
+ <a name='L590'></a><a href='#L590'>590</a>
650
+ <a name='L591'></a><a href='#L591'>591</a>
651
+ <a name='L592'></a><a href='#L592'>592</a>
652
+ <a name='L593'></a><a href='#L593'>593</a>
653
+ <a name='L594'></a><a href='#L594'>594</a>
654
+ <a name='L595'></a><a href='#L595'>595</a>
655
+ <a name='L596'></a><a href='#L596'>596</a>
656
+ <a name='L597'></a><a href='#L597'>597</a>
657
+ <a name='L598'></a><a href='#L598'>598</a>
658
+ <a name='L599'></a><a href='#L599'>599</a>
659
+ <a name='L600'></a><a href='#L600'>600</a>
660
+ <a name='L601'></a><a href='#L601'>601</a>
661
+ <a name='L602'></a><a href='#L602'>602</a>
662
+ <a name='L603'></a><a href='#L603'>603</a>
663
+ <a name='L604'></a><a href='#L604'>604</a>
664
+ <a name='L605'></a><a href='#L605'>605</a>
665
+ <a name='L606'></a><a href='#L606'>606</a>
666
+ <a name='L607'></a><a href='#L607'>607</a>
667
+ <a name='L608'></a><a href='#L608'>608</a>
668
+ <a name='L609'></a><a href='#L609'>609</a>
669
+ <a name='L610'></a><a href='#L610'>610</a>
670
+ <a name='L611'></a><a href='#L611'>611</a>
671
+ <a name='L612'></a><a href='#L612'>612</a>
672
+ <a name='L613'></a><a href='#L613'>613</a>
673
+ <a name='L614'></a><a href='#L614'>614</a>
674
+ <a name='L615'></a><a href='#L615'>615</a>
675
+ <a name='L616'></a><a href='#L616'>616</a>
676
+ <a name='L617'></a><a href='#L617'>617</a>
677
+ <a name='L618'></a><a href='#L618'>618</a>
678
+ <a name='L619'></a><a href='#L619'>619</a>
679
+ <a name='L620'></a><a href='#L620'>620</a>
680
+ <a name='L621'></a><a href='#L621'>621</a>
681
+ <a name='L622'></a><a href='#L622'>622</a>
682
+ <a name='L623'></a><a href='#L623'>623</a>
683
+ <a name='L624'></a><a href='#L624'>624</a>
684
+ <a name='L625'></a><a href='#L625'>625</a>
685
+ <a name='L626'></a><a href='#L626'>626</a>
686
+ <a name='L627'></a><a href='#L627'>627</a>
687
+ <a name='L628'></a><a href='#L628'>628</a>
688
+ <a name='L629'></a><a href='#L629'>629</a>
689
+ <a name='L630'></a><a href='#L630'>630</a>
690
+ <a name='L631'></a><a href='#L631'>631</a>
691
+ <a name='L632'></a><a href='#L632'>632</a>
692
+ <a name='L633'></a><a href='#L633'>633</a>
693
+ <a name='L634'></a><a href='#L634'>634</a>
694
+ <a name='L635'></a><a href='#L635'>635</a>
695
+ <a name='L636'></a><a href='#L636'>636</a>
696
+ <a name='L637'></a><a href='#L637'>637</a>
697
+ <a name='L638'></a><a href='#L638'>638</a>
698
+ <a name='L639'></a><a href='#L639'>639</a>
699
+ <a name='L640'></a><a href='#L640'>640</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
700
+ <span class="cline-any cline-yes">1x</span>
701
+ <span class="cline-any cline-yes">1x</span>
702
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
+ <span class="cline-any cline-yes">1x</span>
704
+ <span class="cline-any cline-yes">1x</span>
705
+ <span class="cline-any cline-neutral">&nbsp;</span>
706
+ <span class="cline-any cline-yes">1x</span>
707
+ <span class="cline-any cline-yes">1x</span>
708
+ <span class="cline-any cline-yes">1x</span>
709
+ <span class="cline-any cline-yes">1x</span>
710
+ <span class="cline-any cline-yes">1x</span>
711
+ <span class="cline-any cline-yes">1x</span>
712
+ <span class="cline-any cline-neutral">&nbsp;</span>
713
+ <span class="cline-any cline-neutral">&nbsp;</span>
714
+ <span class="cline-any cline-neutral">&nbsp;</span>
715
+ <span class="cline-any cline-neutral">&nbsp;</span>
716
+ <span class="cline-any cline-yes">1x</span>
717
+ <span class="cline-any cline-yes">1x</span>
718
+ <span class="cline-any cline-neutral">&nbsp;</span>
719
+ <span class="cline-any cline-neutral">&nbsp;</span>
720
+ <span class="cline-any cline-neutral">&nbsp;</span>
721
+ <span class="cline-any cline-neutral">&nbsp;</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-neutral">&nbsp;</span>
724
+ <span class="cline-any cline-neutral">&nbsp;</span>
725
+ <span class="cline-any cline-neutral">&nbsp;</span>
726
+ <span class="cline-any cline-neutral">&nbsp;</span>
727
+ <span class="cline-any cline-neutral">&nbsp;</span>
728
+ <span class="cline-any cline-neutral">&nbsp;</span>
729
+ <span class="cline-any cline-neutral">&nbsp;</span>
730
+ <span class="cline-any cline-neutral">&nbsp;</span>
731
+ <span class="cline-any cline-yes">1x</span>
732
+ <span class="cline-any cline-yes">1x</span>
733
+ <span class="cline-any cline-neutral">&nbsp;</span>
734
+ <span class="cline-any cline-neutral">&nbsp;</span>
735
+ <span class="cline-any cline-neutral">&nbsp;</span>
736
+ <span class="cline-any cline-neutral">&nbsp;</span>
737
+ <span class="cline-any cline-neutral">&nbsp;</span>
738
+ <span class="cline-any cline-neutral">&nbsp;</span>
739
+ <span class="cline-any cline-neutral">&nbsp;</span>
740
+ <span class="cline-any cline-neutral">&nbsp;</span>
741
+ <span class="cline-any cline-yes">30x</span>
742
+ <span class="cline-any cline-neutral">&nbsp;</span>
743
+ <span class="cline-any cline-neutral">&nbsp;</span>
744
+ <span class="cline-any cline-yes">30x</span>
745
+ <span class="cline-any cline-yes">30x</span>
746
+ <span class="cline-any cline-neutral">&nbsp;</span>
747
+ <span class="cline-any cline-neutral">&nbsp;</span>
748
+ <span class="cline-any cline-yes">30x</span>
749
+ <span class="cline-any cline-no">&nbsp;</span>
750
+ <span class="cline-any cline-neutral">&nbsp;</span>
751
+ <span class="cline-any cline-neutral">&nbsp;</span>
752
+ <span class="cline-any cline-neutral">&nbsp;</span>
753
+ <span class="cline-any cline-yes">30x</span>
754
+ <span class="cline-any cline-yes">30x</span>
755
+ <span class="cline-any cline-yes">30x</span>
756
+ <span class="cline-any cline-neutral">&nbsp;</span>
757
+ <span class="cline-any cline-no">&nbsp;</span>
758
+ <span class="cline-any cline-neutral">&nbsp;</span>
759
+ <span class="cline-any cline-neutral">&nbsp;</span>
760
+ <span class="cline-any cline-neutral">&nbsp;</span>
761
+ <span class="cline-any cline-neutral">&nbsp;</span>
762
+ <span class="cline-any cline-yes">30x</span>
763
+ <span class="cline-any cline-neutral">&nbsp;</span>
764
+ <span class="cline-any cline-yes">30x</span>
765
+ <span class="cline-any cline-neutral">&nbsp;</span>
766
+ <span class="cline-any cline-neutral">&nbsp;</span>
767
+ <span class="cline-any cline-neutral">&nbsp;</span>
768
+ <span class="cline-any cline-neutral">&nbsp;</span>
769
+ <span class="cline-any cline-neutral">&nbsp;</span>
770
+ <span class="cline-any cline-neutral">&nbsp;</span>
771
+ <span class="cline-any cline-yes">30x</span>
772
+ <span class="cline-any cline-neutral">&nbsp;</span>
773
+ <span class="cline-any cline-neutral">&nbsp;</span>
774
+ <span class="cline-any cline-neutral">&nbsp;</span>
775
+ <span class="cline-any cline-neutral">&nbsp;</span>
776
+ <span class="cline-any cline-neutral">&nbsp;</span>
777
+ <span class="cline-any cline-neutral">&nbsp;</span>
778
+ <span class="cline-any cline-yes">30x</span>
779
+ <span class="cline-any cline-neutral">&nbsp;</span>
780
+ <span class="cline-any cline-neutral">&nbsp;</span>
781
+ <span class="cline-any cline-neutral">&nbsp;</span>
782
+ <span class="cline-any cline-yes">30x</span>
783
+ <span class="cline-any cline-neutral">&nbsp;</span>
784
+ <span class="cline-any cline-neutral">&nbsp;</span>
785
+ <span class="cline-any cline-neutral">&nbsp;</span>
786
+ <span class="cline-any cline-yes">30x</span>
787
+ <span class="cline-any cline-neutral">&nbsp;</span>
788
+ <span class="cline-any cline-neutral">&nbsp;</span>
789
+ <span class="cline-any cline-neutral">&nbsp;</span>
790
+ <span class="cline-any cline-yes">30x</span>
791
+ <span class="cline-any cline-neutral">&nbsp;</span>
792
+ <span class="cline-any cline-neutral">&nbsp;</span>
793
+ <span class="cline-any cline-neutral">&nbsp;</span>
794
+ <span class="cline-any cline-yes">30x</span>
795
+ <span class="cline-any cline-neutral">&nbsp;</span>
796
+ <span class="cline-any cline-neutral">&nbsp;</span>
797
+ <span class="cline-any cline-neutral">&nbsp;</span>
798
+ <span class="cline-any cline-neutral">&nbsp;</span>
799
+ <span class="cline-any cline-yes">30x</span>
800
+ <span class="cline-any cline-neutral">&nbsp;</span>
801
+ <span class="cline-any cline-neutral">&nbsp;</span>
802
+ <span class="cline-any cline-neutral">&nbsp;</span>
803
+ <span class="cline-any cline-neutral">&nbsp;</span>
804
+ <span class="cline-any cline-yes">30x</span>
805
+ <span class="cline-any cline-neutral">&nbsp;</span>
806
+ <span class="cline-any cline-neutral">&nbsp;</span>
807
+ <span class="cline-any cline-neutral">&nbsp;</span>
808
+ <span class="cline-any cline-neutral">&nbsp;</span>
809
+ <span class="cline-any cline-yes">30x</span>
810
+ <span class="cline-any cline-yes">30x</span>
811
+ <span class="cline-any cline-neutral">&nbsp;</span>
812
+ <span class="cline-any cline-neutral">&nbsp;</span>
813
+ <span class="cline-any cline-yes">30x</span>
814
+ <span class="cline-any cline-no">&nbsp;</span>
815
+ <span class="cline-any cline-neutral">&nbsp;</span>
816
+ <span class="cline-any cline-neutral">&nbsp;</span>
817
+ <span class="cline-any cline-neutral">&nbsp;</span>
818
+ <span class="cline-any cline-neutral">&nbsp;</span>
819
+ <span class="cline-any cline-yes">30x</span>
820
+ <span class="cline-any cline-neutral">&nbsp;</span>
821
+ <span class="cline-any cline-neutral">&nbsp;</span>
822
+ <span class="cline-any cline-neutral">&nbsp;</span>
823
+ <span class="cline-any cline-neutral">&nbsp;</span>
824
+ <span class="cline-any cline-neutral">&nbsp;</span>
825
+ <span class="cline-any cline-neutral">&nbsp;</span>
826
+ <span class="cline-any cline-neutral">&nbsp;</span>
827
+ <span class="cline-any cline-neutral">&nbsp;</span>
828
+ <span class="cline-any cline-neutral">&nbsp;</span>
829
+ <span class="cline-any cline-neutral">&nbsp;</span>
830
+ <span class="cline-any cline-yes">30x</span>
831
+ <span class="cline-any cline-neutral">&nbsp;</span>
832
+ <span class="cline-any cline-yes">30x</span>
833
+ <span class="cline-any cline-neutral">&nbsp;</span>
834
+ <span class="cline-any cline-neutral">&nbsp;</span>
835
+ <span class="cline-any cline-neutral">&nbsp;</span>
836
+ <span class="cline-any cline-neutral">&nbsp;</span>
837
+ <span class="cline-any cline-neutral">&nbsp;</span>
838
+ <span class="cline-any cline-neutral">&nbsp;</span>
839
+ <span class="cline-any cline-neutral">&nbsp;</span>
840
+ <span class="cline-any cline-neutral">&nbsp;</span>
841
+ <span class="cline-any cline-neutral">&nbsp;</span>
842
+ <span class="cline-any cline-neutral">&nbsp;</span>
843
+ <span class="cline-any cline-neutral">&nbsp;</span>
844
+ <span class="cline-any cline-yes">30x</span>
845
+ <span class="cline-any cline-neutral">&nbsp;</span>
846
+ <span class="cline-any cline-yes">30x</span>
847
+ <span class="cline-any cline-neutral">&nbsp;</span>
848
+ <span class="cline-any cline-neutral">&nbsp;</span>
849
+ <span class="cline-any cline-neutral">&nbsp;</span>
850
+ <span class="cline-any cline-neutral">&nbsp;</span>
851
+ <span class="cline-any cline-yes">30x</span>
852
+ <span class="cline-any cline-neutral">&nbsp;</span>
853
+ <span class="cline-any cline-neutral">&nbsp;</span>
854
+ <span class="cline-any cline-yes">30x</span>
855
+ <span class="cline-any cline-neutral">&nbsp;</span>
856
+ <span class="cline-any cline-neutral">&nbsp;</span>
857
+ <span class="cline-any cline-yes">5110x</span>
858
+ <span class="cline-any cline-yes">5110x</span>
859
+ <span class="cline-any cline-neutral">&nbsp;</span>
860
+ <span class="cline-any cline-neutral">&nbsp;</span>
861
+ <span class="cline-any cline-neutral">&nbsp;</span>
862
+ <span class="cline-any cline-neutral">&nbsp;</span>
863
+ <span class="cline-any cline-neutral">&nbsp;</span>
864
+ <span class="cline-any cline-neutral">&nbsp;</span>
865
+ <span class="cline-any cline-neutral">&nbsp;</span>
866
+ <span class="cline-any cline-yes">30x</span>
867
+ <span class="cline-any cline-neutral">&nbsp;</span>
868
+ <span class="cline-any cline-neutral">&nbsp;</span>
869
+ <span class="cline-any cline-neutral">&nbsp;</span>
870
+ <span class="cline-any cline-neutral">&nbsp;</span>
871
+ <span class="cline-any cline-neutral">&nbsp;</span>
872
+ <span class="cline-any cline-neutral">&nbsp;</span>
873
+ <span class="cline-any cline-neutral">&nbsp;</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-neutral">&nbsp;</span>
876
+ <span class="cline-any cline-neutral">&nbsp;</span>
877
+ <span class="cline-any cline-no">&nbsp;</span>
878
+ <span class="cline-any cline-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-neutral">&nbsp;</span>
880
+ <span class="cline-any cline-neutral">&nbsp;</span>
881
+ <span class="cline-any cline-neutral">&nbsp;</span>
882
+ <span class="cline-any cline-neutral">&nbsp;</span>
883
+ <span class="cline-any cline-neutral">&nbsp;</span>
884
+ <span class="cline-any cline-neutral">&nbsp;</span>
885
+ <span class="cline-any cline-yes">54x</span>
886
+ <span class="cline-any cline-yes">54x</span>
887
+ <span class="cline-any cline-neutral">&nbsp;</span>
888
+ <span class="cline-any cline-yes">54x</span>
889
+ <span class="cline-any cline-neutral">&nbsp;</span>
890
+ <span class="cline-any cline-neutral">&nbsp;</span>
891
+ <span class="cline-any cline-yes">54x</span>
892
+ <span class="cline-any cline-yes">54x</span>
893
+ <span class="cline-any cline-yes">54x</span>
894
+ <span class="cline-any cline-yes">54x</span>
895
+ <span class="cline-any cline-yes">54x</span>
896
+ <span class="cline-any cline-yes">54x</span>
897
+ <span class="cline-any cline-yes">54x</span>
898
+ <span class="cline-any cline-neutral">&nbsp;</span>
899
+ <span class="cline-any cline-neutral">&nbsp;</span>
900
+ <span class="cline-any cline-yes">54x</span>
901
+ <span class="cline-any cline-yes">54x</span>
902
+ <span class="cline-any cline-neutral">&nbsp;</span>
903
+ <span class="cline-any cline-yes">54x</span>
904
+ <span class="cline-any cline-neutral">&nbsp;</span>
905
+ <span class="cline-any cline-neutral">&nbsp;</span>
906
+ <span class="cline-any cline-yes">54x</span>
907
+ <span class="cline-any cline-neutral">&nbsp;</span>
908
+ <span class="cline-any cline-neutral">&nbsp;</span>
909
+ <span class="cline-any cline-yes">54x</span>
910
+ <span class="cline-any cline-yes">54x</span>
911
+ <span class="cline-any cline-neutral">&nbsp;</span>
912
+ <span class="cline-any cline-neutral">&nbsp;</span>
913
+ <span class="cline-any cline-yes">54x</span>
914
+ <span class="cline-any cline-yes">54x</span>
915
+ <span class="cline-any cline-yes">54x</span>
916
+ <span class="cline-any cline-neutral">&nbsp;</span>
917
+ <span class="cline-any cline-yes">54x</span>
918
+ <span class="cline-any cline-neutral">&nbsp;</span>
919
+ <span class="cline-any cline-yes">52x</span>
920
+ <span class="cline-any cline-neutral">&nbsp;</span>
921
+ <span class="cline-any cline-neutral">&nbsp;</span>
922
+ <span class="cline-any cline-neutral">&nbsp;</span>
923
+ <span class="cline-any cline-neutral">&nbsp;</span>
924
+ <span class="cline-any cline-yes">52x</span>
925
+ <span class="cline-any cline-yes">52x</span>
926
+ <span class="cline-any cline-neutral">&nbsp;</span>
927
+ <span class="cline-any cline-yes">2x</span>
928
+ <span class="cline-any cline-neutral">&nbsp;</span>
929
+ <span class="cline-any cline-neutral">&nbsp;</span>
930
+ <span class="cline-any cline-yes">54x</span>
931
+ <span class="cline-any cline-neutral">&nbsp;</span>
932
+ <span class="cline-any cline-neutral">&nbsp;</span>
933
+ <span class="cline-any cline-neutral">&nbsp;</span>
934
+ <span class="cline-any cline-neutral">&nbsp;</span>
935
+ <span class="cline-any cline-yes">54x</span>
936
+ <span class="cline-any cline-neutral">&nbsp;</span>
937
+ <span class="cline-any cline-yes">54x</span>
938
+ <span class="cline-any cline-neutral">&nbsp;</span>
939
+ <span class="cline-any cline-neutral">&nbsp;</span>
940
+ <span class="cline-any cline-yes">54x</span>
941
+ <span class="cline-any cline-yes">54x</span>
942
+ <span class="cline-any cline-yes">54x</span>
943
+ <span class="cline-any cline-yes">54x</span>
944
+ <span class="cline-any cline-no">&nbsp;</span>
945
+ <span class="cline-any cline-neutral">&nbsp;</span>
946
+ <span class="cline-any cline-neutral">&nbsp;</span>
947
+ <span class="cline-any cline-neutral">&nbsp;</span>
948
+ <span class="cline-any cline-neutral">&nbsp;</span>
949
+ <span class="cline-any cline-neutral">&nbsp;</span>
950
+ <span class="cline-any cline-neutral">&nbsp;</span>
951
+ <span class="cline-any cline-yes">54x</span>
952
+ <span class="cline-any cline-yes">213x</span>
953
+ <span class="cline-any cline-yes">213x</span>
954
+ <span class="cline-any cline-yes">213x</span>
955
+ <span class="cline-any cline-neutral">&nbsp;</span>
956
+ <span class="cline-any cline-yes">213x</span>
957
+ <span class="cline-any cline-neutral">&nbsp;</span>
958
+ <span class="cline-any cline-no">&nbsp;</span>
959
+ <span class="cline-any cline-no">&nbsp;</span>
960
+ <span class="cline-any cline-neutral">&nbsp;</span>
961
+ <span class="cline-any cline-no">&nbsp;</span>
962
+ <span class="cline-any cline-neutral">&nbsp;</span>
963
+ <span class="cline-any cline-neutral">&nbsp;</span>
964
+ <span class="cline-any cline-no">&nbsp;</span>
965
+ <span class="cline-any cline-neutral">&nbsp;</span>
966
+ <span class="cline-any cline-neutral">&nbsp;</span>
967
+ <span class="cline-any cline-yes">213x</span>
968
+ <span class="cline-any cline-yes">3x</span>
969
+ <span class="cline-any cline-neutral">&nbsp;</span>
970
+ <span class="cline-any cline-yes">213x</span>
971
+ <span class="cline-any cline-yes">213x</span>
972
+ <span class="cline-any cline-neutral">&nbsp;</span>
973
+ <span class="cline-any cline-neutral">&nbsp;</span>
974
+ <span class="cline-any cline-neutral">&nbsp;</span>
975
+ <span class="cline-any cline-neutral">&nbsp;</span>
976
+ <span class="cline-any cline-neutral">&nbsp;</span>
977
+ <span class="cline-any cline-neutral">&nbsp;</span>
978
+ <span class="cline-any cline-neutral">&nbsp;</span>
979
+ <span class="cline-any cline-neutral">&nbsp;</span>
980
+ <span class="cline-any cline-neutral">&nbsp;</span>
981
+ <span class="cline-any cline-neutral">&nbsp;</span>
982
+ <span class="cline-any cline-neutral">&nbsp;</span>
983
+ <span class="cline-any cline-neutral">&nbsp;</span>
984
+ <span class="cline-any cline-yes">54x</span>
985
+ <span class="cline-any cline-yes">1x</span>
986
+ <span class="cline-any cline-neutral">&nbsp;</span>
987
+ <span class="cline-any cline-neutral">&nbsp;</span>
988
+ <span class="cline-any cline-yes">54x</span>
989
+ <span class="cline-any cline-neutral">&nbsp;</span>
990
+ <span class="cline-any cline-neutral">&nbsp;</span>
991
+ <span class="cline-any cline-neutral">&nbsp;</span>
992
+ <span class="cline-any cline-neutral">&nbsp;</span>
993
+ <span class="cline-any cline-neutral">&nbsp;</span>
994
+ <span class="cline-any cline-yes">107x</span>
995
+ <span class="cline-any cline-neutral">&nbsp;</span>
996
+ <span class="cline-any cline-neutral">&nbsp;</span>
997
+ <span class="cline-any cline-yes">107x</span>
998
+ <span class="cline-any cline-neutral">&nbsp;</span>
999
+ <span class="cline-any cline-neutral">&nbsp;</span>
1000
+ <span class="cline-any cline-neutral">&nbsp;</span>
1001
+ <span class="cline-any cline-neutral">&nbsp;</span>
1002
+ <span class="cline-any cline-neutral">&nbsp;</span>
1003
+ <span class="cline-any cline-neutral">&nbsp;</span>
1004
+ <span class="cline-any cline-neutral">&nbsp;</span>
1005
+ <span class="cline-any cline-neutral">&nbsp;</span>
1006
+ <span class="cline-any cline-neutral">&nbsp;</span>
1007
+ <span class="cline-any cline-neutral">&nbsp;</span>
1008
+ <span class="cline-any cline-neutral">&nbsp;</span>
1009
+ <span class="cline-any cline-neutral">&nbsp;</span>
1010
+ <span class="cline-any cline-yes">107x</span>
1011
+ <span class="cline-any cline-neutral">&nbsp;</span>
1012
+ <span class="cline-any cline-neutral">&nbsp;</span>
1013
+ <span class="cline-any cline-neutral">&nbsp;</span>
1014
+ <span class="cline-any cline-neutral">&nbsp;</span>
1015
+ <span class="cline-any cline-neutral">&nbsp;</span>
1016
+ <span class="cline-any cline-neutral">&nbsp;</span>
1017
+ <span class="cline-any cline-neutral">&nbsp;</span>
1018
+ <span class="cline-any cline-neutral">&nbsp;</span>
1019
+ <span class="cline-any cline-neutral">&nbsp;</span>
1020
+ <span class="cline-any cline-neutral">&nbsp;</span>
1021
+ <span class="cline-any cline-neutral">&nbsp;</span>
1022
+ <span class="cline-any cline-neutral">&nbsp;</span>
1023
+ <span class="cline-any cline-neutral">&nbsp;</span>
1024
+ <span class="cline-any cline-neutral">&nbsp;</span>
1025
+ <span class="cline-any cline-neutral">&nbsp;</span>
1026
+ <span class="cline-any cline-neutral">&nbsp;</span>
1027
+ <span class="cline-any cline-neutral">&nbsp;</span>
1028
+ <span class="cline-any cline-neutral">&nbsp;</span>
1029
+ <span class="cline-any cline-neutral">&nbsp;</span>
1030
+ <span class="cline-any cline-neutral">&nbsp;</span>
1031
+ <span class="cline-any cline-neutral">&nbsp;</span>
1032
+ <span class="cline-any cline-yes">107x</span>
1033
+ <span class="cline-any cline-neutral">&nbsp;</span>
1034
+ <span class="cline-any cline-neutral">&nbsp;</span>
1035
+ <span class="cline-any cline-neutral">&nbsp;</span>
1036
+ <span class="cline-any cline-neutral">&nbsp;</span>
1037
+ <span class="cline-any cline-neutral">&nbsp;</span>
1038
+ <span class="cline-any cline-neutral">&nbsp;</span>
1039
+ <span class="cline-any cline-yes">4x</span>
1040
+ <span class="cline-any cline-neutral">&nbsp;</span>
1041
+ <span class="cline-any cline-neutral">&nbsp;</span>
1042
+ <span class="cline-any cline-neutral">&nbsp;</span>
1043
+ <span class="cline-any cline-neutral">&nbsp;</span>
1044
+ <span class="cline-any cline-neutral">&nbsp;</span>
1045
+ <span class="cline-any cline-neutral">&nbsp;</span>
1046
+ <span class="cline-any cline-neutral">&nbsp;</span>
1047
+ <span class="cline-any cline-yes">7x</span>
1048
+ <span class="cline-any cline-neutral">&nbsp;</span>
1049
+ <span class="cline-any cline-neutral">&nbsp;</span>
1050
+ <span class="cline-any cline-neutral">&nbsp;</span>
1051
+ <span class="cline-any cline-neutral">&nbsp;</span>
1052
+ <span class="cline-any cline-neutral">&nbsp;</span>
1053
+ <span class="cline-any cline-neutral">&nbsp;</span>
1054
+ <span class="cline-any cline-neutral">&nbsp;</span>
1055
+ <span class="cline-any cline-neutral">&nbsp;</span>
1056
+ <span class="cline-any cline-no">&nbsp;</span>
1057
+ <span class="cline-any cline-neutral">&nbsp;</span>
1058
+ <span class="cline-any cline-neutral">&nbsp;</span>
1059
+ <span class="cline-any cline-no">&nbsp;</span>
1060
+ <span class="cline-any cline-no">&nbsp;</span>
1061
+ <span class="cline-any cline-no">&nbsp;</span>
1062
+ <span class="cline-any cline-neutral">&nbsp;</span>
1063
+ <span class="cline-any cline-no">&nbsp;</span>
1064
+ <span class="cline-any cline-neutral">&nbsp;</span>
1065
+ <span class="cline-any cline-neutral">&nbsp;</span>
1066
+ <span class="cline-any cline-neutral">&nbsp;</span>
1067
+ <span class="cline-any cline-neutral">&nbsp;</span>
1068
+ <span class="cline-any cline-neutral">&nbsp;</span>
1069
+ <span class="cline-any cline-neutral">&nbsp;</span>
1070
+ <span class="cline-any cline-neutral">&nbsp;</span>
1071
+ <span class="cline-any cline-neutral">&nbsp;</span>
1072
+ <span class="cline-any cline-neutral">&nbsp;</span>
1073
+ <span class="cline-any cline-neutral">&nbsp;</span>
1074
+ <span class="cline-any cline-neutral">&nbsp;</span>
1075
+ <span class="cline-any cline-neutral">&nbsp;</span>
1076
+ <span class="cline-any cline-neutral">&nbsp;</span>
1077
+ <span class="cline-any cline-neutral">&nbsp;</span>
1078
+ <span class="cline-any cline-neutral">&nbsp;</span>
1079
+ <span class="cline-any cline-yes">8x</span>
1080
+ <span class="cline-any cline-no">&nbsp;</span>
1081
+ <span class="cline-any cline-neutral">&nbsp;</span>
1082
+ <span class="cline-any cline-neutral">&nbsp;</span>
1083
+ <span class="cline-any cline-neutral">&nbsp;</span>
1084
+ <span class="cline-any cline-neutral">&nbsp;</span>
1085
+ <span class="cline-any cline-neutral">&nbsp;</span>
1086
+ <span class="cline-any cline-yes">8x</span>
1087
+ <span class="cline-any cline-no">&nbsp;</span>
1088
+ <span class="cline-any cline-neutral">&nbsp;</span>
1089
+ <span class="cline-any cline-neutral">&nbsp;</span>
1090
+ <span class="cline-any cline-neutral">&nbsp;</span>
1091
+ <span class="cline-any cline-yes">8x</span>
1092
+ <span class="cline-any cline-yes">8x</span>
1093
+ <span class="cline-any cline-neutral">&nbsp;</span>
1094
+ <span class="cline-any cline-yes">1x</span>
1095
+ <span class="cline-any cline-neutral">&nbsp;</span>
1096
+ <span class="cline-any cline-neutral">&nbsp;</span>
1097
+ <span class="cline-any cline-yes">7x</span>
1098
+ <span class="cline-any cline-yes">7x</span>
1099
+ <span class="cline-any cline-neutral">&nbsp;</span>
1100
+ <span class="cline-any cline-yes">1x</span>
1101
+ <span class="cline-any cline-neutral">&nbsp;</span>
1102
+ <span class="cline-any cline-neutral">&nbsp;</span>
1103
+ <span class="cline-any cline-neutral">&nbsp;</span>
1104
+ <span class="cline-any cline-neutral">&nbsp;</span>
1105
+ <span class="cline-any cline-neutral">&nbsp;</span>
1106
+ <span class="cline-any cline-yes">6x</span>
1107
+ <span class="cline-any cline-yes">5x</span>
1108
+ <span class="cline-any cline-yes">1x</span>
1109
+ <span class="cline-any cline-neutral">&nbsp;</span>
1110
+ <span class="cline-any cline-neutral">&nbsp;</span>
1111
+ <span class="cline-any cline-yes">1x</span>
1112
+ <span class="cline-any cline-neutral">&nbsp;</span>
1113
+ <span class="cline-any cline-neutral">&nbsp;</span>
1114
+ <span class="cline-any cline-neutral">&nbsp;</span>
1115
+ <span class="cline-any cline-yes">4x</span>
1116
+ <span class="cline-any cline-yes">3x</span>
1117
+ <span class="cline-any cline-neutral">&nbsp;</span>
1118
+ <span class="cline-any cline-neutral">&nbsp;</span>
1119
+ <span class="cline-any cline-yes">4x</span>
1120
+ <span class="cline-any cline-yes">1x</span>
1121
+ <span class="cline-any cline-neutral">&nbsp;</span>
1122
+ <span class="cline-any cline-neutral">&nbsp;</span>
1123
+ <span class="cline-any cline-neutral">&nbsp;</span>
1124
+ <span class="cline-any cline-yes">3x</span>
1125
+ <span class="cline-any cline-neutral">&nbsp;</span>
1126
+ <span class="cline-any cline-neutral">&nbsp;</span>
1127
+ <span class="cline-any cline-yes">2x</span>
1128
+ <span class="cline-any cline-no">&nbsp;</span>
1129
+ <span class="cline-any cline-no">&nbsp;</span>
1130
+ <span class="cline-any cline-neutral">&nbsp;</span>
1131
+ <span class="cline-any cline-neutral">&nbsp;</span>
1132
+ <span class="cline-any cline-yes">2x</span>
1133
+ <span class="cline-any cline-neutral">&nbsp;</span>
1134
+ <span class="cline-any cline-neutral">&nbsp;</span>
1135
+ <span class="cline-any cline-yes">2x</span>
1136
+ <span class="cline-any cline-yes">1x</span>
1137
+ <span class="cline-any cline-neutral">&nbsp;</span>
1138
+ <span class="cline-any cline-neutral">&nbsp;</span>
1139
+ <span class="cline-any cline-neutral">&nbsp;</span>
1140
+ <span class="cline-any cline-neutral">&nbsp;</span>
1141
+ <span class="cline-any cline-neutral">&nbsp;</span>
1142
+ <span class="cline-any cline-no">&nbsp;</span>
1143
+ <span class="cline-any cline-no">&nbsp;</span>
1144
+ <span class="cline-any cline-neutral">&nbsp;</span>
1145
+ <span class="cline-any cline-neutral">&nbsp;</span>
1146
+ <span class="cline-any cline-neutral">&nbsp;</span>
1147
+ <span class="cline-any cline-neutral">&nbsp;</span>
1148
+ <span class="cline-any cline-neutral">&nbsp;</span>
1149
+ <span class="cline-any cline-neutral">&nbsp;</span>
1150
+ <span class="cline-any cline-neutral">&nbsp;</span>
1151
+ <span class="cline-any cline-neutral">&nbsp;</span>
1152
+ <span class="cline-any cline-neutral">&nbsp;</span>
1153
+ <span class="cline-any cline-yes">17x</span>
1154
+ <span class="cline-any cline-neutral">&nbsp;</span>
1155
+ <span class="cline-any cline-yes">17x</span>
1156
+ <span class="cline-any cline-neutral">&nbsp;</span>
1157
+ <span class="cline-any cline-neutral">&nbsp;</span>
1158
+ <span class="cline-any cline-neutral">&nbsp;</span>
1159
+ <span class="cline-any cline-neutral">&nbsp;</span>
1160
+ <span class="cline-any cline-neutral">&nbsp;</span>
1161
+ <span class="cline-any cline-neutral">&nbsp;</span>
1162
+ <span class="cline-any cline-yes">17x</span>
1163
+ <span class="cline-any cline-neutral">&nbsp;</span>
1164
+ <span class="cline-any cline-neutral">&nbsp;</span>
1165
+ <span class="cline-any cline-neutral">&nbsp;</span>
1166
+ <span class="cline-any cline-neutral">&nbsp;</span>
1167
+ <span class="cline-any cline-neutral">&nbsp;</span>
1168
+ <span class="cline-any cline-neutral">&nbsp;</span>
1169
+ <span class="cline-any cline-neutral">&nbsp;</span>
1170
+ <span class="cline-any cline-neutral">&nbsp;</span>
1171
+ <span class="cline-any cline-neutral">&nbsp;</span>
1172
+ <span class="cline-any cline-neutral">&nbsp;</span>
1173
+ <span class="cline-any cline-neutral">&nbsp;</span>
1174
+ <span class="cline-any cline-neutral">&nbsp;</span>
1175
+ <span class="cline-any cline-neutral">&nbsp;</span>
1176
+ <span class="cline-any cline-yes">60x</span>
1177
+ <span class="cline-any cline-yes">60x</span>
1178
+ <span class="cline-any cline-neutral">&nbsp;</span>
1179
+ <span class="cline-any cline-neutral">&nbsp;</span>
1180
+ <span class="cline-any cline-yes">60x</span>
1181
+ <span class="cline-any cline-yes">60x</span>
1182
+ <span class="cline-any cline-yes">60x</span>
1183
+ <span class="cline-any cline-yes">60x</span>
1184
+ <span class="cline-any cline-yes">60x</span>
1185
+ <span class="cline-any cline-yes">60x</span>
1186
+ <span class="cline-any cline-yes">60x</span>
1187
+ <span class="cline-any cline-neutral">&nbsp;</span>
1188
+ <span class="cline-any cline-neutral">&nbsp;</span>
1189
+ <span class="cline-any cline-yes">60x</span>
1190
+ <span class="cline-any cline-neutral">&nbsp;</span>
1191
+ <span class="cline-any cline-yes">60x</span>
1192
+ <span class="cline-any cline-neutral">&nbsp;</span>
1193
+ <span class="cline-any cline-yes">60x</span>
1194
+ <span class="cline-any cline-neutral">&nbsp;</span>
1195
+ <span class="cline-any cline-neutral">&nbsp;</span>
1196
+ <span class="cline-any cline-yes">60x</span>
1197
+ <span class="cline-any cline-yes">60x</span>
1198
+ <span class="cline-any cline-yes">60x</span>
1199
+ <span class="cline-any cline-yes">60x</span>
1200
+ <span class="cline-any cline-yes">60x</span>
1201
+ <span class="cline-any cline-neutral">&nbsp;</span>
1202
+ <span class="cline-any cline-neutral">&nbsp;</span>
1203
+ <span class="cline-any cline-yes">60x</span>
1204
+ <span class="cline-any cline-no">&nbsp;</span>
1205
+ <span class="cline-any cline-no">&nbsp;</span>
1206
+ <span class="cline-any cline-neutral">&nbsp;</span>
1207
+ <span class="cline-any cline-yes">60x</span>
1208
+ <span class="cline-any cline-neutral">&nbsp;</span>
1209
+ <span class="cline-any cline-neutral">&nbsp;</span>
1210
+ <span class="cline-any cline-neutral">&nbsp;</span>
1211
+ <span class="cline-any cline-yes">60x</span>
1212
+ <span class="cline-any cline-no">&nbsp;</span>
1213
+ <span class="cline-any cline-no">&nbsp;</span>
1214
+ <span class="cline-any cline-neutral">&nbsp;</span>
1215
+ <span class="cline-any cline-neutral">&nbsp;</span>
1216
+ <span class="cline-any cline-neutral">&nbsp;</span>
1217
+ <span class="cline-any cline-yes">60x</span>
1218
+ <span class="cline-any cline-yes">1x</span>
1219
+ <span class="cline-any cline-yes">71x</span>
1220
+ <span class="cline-any cline-neutral">&nbsp;</span>
1221
+ <span class="cline-any cline-neutral">&nbsp;</span>
1222
+ <span class="cline-any cline-neutral">&nbsp;</span>
1223
+ <span class="cline-any cline-yes">60x</span>
1224
+ <span class="cline-any cline-neutral">&nbsp;</span>
1225
+ <span class="cline-any cline-neutral">&nbsp;</span>
1226
+ <span class="cline-any cline-neutral">&nbsp;</span>
1227
+ <span class="cline-any cline-yes">1x</span>
1228
+ <span class="cline-any cline-neutral">&nbsp;</span>
1229
+ <span class="cline-any cline-neutral">&nbsp;</span>
1230
+ <span class="cline-any cline-neutral">&nbsp;</span>
1231
+ <span class="cline-any cline-neutral">&nbsp;</span>
1232
+ <span class="cline-any cline-neutral">&nbsp;</span>
1233
+ <span class="cline-any cline-neutral">&nbsp;</span>
1234
+ <span class="cline-any cline-neutral">&nbsp;</span>
1235
+ <span class="cline-any cline-neutral">&nbsp;</span>
1236
+ <span class="cline-any cline-neutral">&nbsp;</span>
1237
+ <span class="cline-any cline-neutral">&nbsp;</span>
1238
+ <span class="cline-any cline-neutral">&nbsp;</span>
1239
+ <span class="cline-any cline-neutral">&nbsp;</span>
1240
+ <span class="cline-any cline-neutral">&nbsp;</span>
1241
+ <span class="cline-any cline-neutral">&nbsp;</span>
1242
+ <span class="cline-any cline-neutral">&nbsp;</span>
1243
+ <span class="cline-any cline-yes">1x</span>
1244
+ <span class="cline-any cline-neutral">&nbsp;</span>
1245
+ <span class="cline-any cline-yes">1x</span>
1246
+ <span class="cline-any cline-yes">1x</span>
1247
+ <span class="cline-any cline-yes">1x</span>
1248
+ <span class="cline-any cline-yes">1x</span>
1249
+ <span class="cline-any cline-yes">1x</span>
1250
+ <span class="cline-any cline-yes">1x</span>
1251
+ <span class="cline-any cline-yes">1x</span>
1252
+ <span class="cline-any cline-yes">1x</span>
1253
+ <span class="cline-any cline-yes">1x</span>
1254
+ <span class="cline-any cline-yes">1x</span>
1255
+ <span class="cline-any cline-yes">1x</span>
1256
+ <span class="cline-any cline-neutral">&nbsp;</span>
1257
+ <span class="cline-any cline-neutral">&nbsp;</span>
1258
+ <span class="cline-any cline-neutral">&nbsp;</span>
1259
+ <span class="cline-any cline-neutral">&nbsp;</span>
1260
+ <span class="cline-any cline-neutral">&nbsp;</span>
1261
+ <span class="cline-any cline-neutral">&nbsp;</span>
1262
+ <span class="cline-any cline-neutral">&nbsp;</span>
1263
+ <span class="cline-any cline-neutral">&nbsp;</span>
1264
+ <span class="cline-any cline-neutral">&nbsp;</span>
1265
+ <span class="cline-any cline-neutral">&nbsp;</span>
1266
+ <span class="cline-any cline-neutral">&nbsp;</span>
1267
+ <span class="cline-any cline-neutral">&nbsp;</span>
1268
+ <span class="cline-any cline-neutral">&nbsp;</span>
1269
+ <span class="cline-any cline-neutral">&nbsp;</span>
1270
+ <span class="cline-any cline-neutral">&nbsp;</span>
1271
+ <span class="cline-any cline-neutral">&nbsp;</span>
1272
+ <span class="cline-any cline-neutral">&nbsp;</span>
1273
+ <span class="cline-any cline-neutral">&nbsp;</span>
1274
+ <span class="cline-any cline-neutral">&nbsp;</span>
1275
+ <span class="cline-any cline-neutral">&nbsp;</span>
1276
+ <span class="cline-any cline-neutral">&nbsp;</span>
1277
+ <span class="cline-any cline-neutral">&nbsp;</span>
1278
+ <span class="cline-any cline-neutral">&nbsp;</span>
1279
+ <span class="cline-any cline-neutral">&nbsp;</span>
1280
+ <span class="cline-any cline-neutral">&nbsp;</span>
1281
+ <span class="cline-any cline-neutral">&nbsp;</span>
1282
+ <span class="cline-any cline-neutral">&nbsp;</span>
1283
+ <span class="cline-any cline-yes">1x</span>
1284
+ <span class="cline-any cline-yes">2x</span>
1285
+ <span class="cline-any cline-neutral">&nbsp;</span>
1286
+ <span class="cline-any cline-neutral">&nbsp;</span>
1287
+ <span class="cline-any cline-neutral">&nbsp;</span>
1288
+ <span class="cline-any cline-neutral">&nbsp;</span>
1289
+ <span class="cline-any cline-neutral">&nbsp;</span>
1290
+ <span class="cline-any cline-neutral">&nbsp;</span>
1291
+ <span class="cline-any cline-yes">4x</span>
1292
+ <span class="cline-any cline-neutral">&nbsp;</span>
1293
+ <span class="cline-any cline-neutral">&nbsp;</span>
1294
+ <span class="cline-any cline-neutral">&nbsp;</span>
1295
+ <span class="cline-any cline-neutral">&nbsp;</span>
1296
+ <span class="cline-any cline-neutral">&nbsp;</span>
1297
+ <span class="cline-any cline-neutral">&nbsp;</span>
1298
+ <span class="cline-any cline-neutral">&nbsp;</span>
1299
+ <span class="cline-any cline-no">&nbsp;</span>
1300
+ <span class="cline-any cline-neutral">&nbsp;</span>
1301
+ <span class="cline-any cline-neutral">&nbsp;</span>
1302
+ <span class="cline-any cline-neutral">&nbsp;</span>
1303
+ <span class="cline-any cline-neutral">&nbsp;</span>
1304
+ <span class="cline-any cline-neutral">&nbsp;</span>
1305
+ <span class="cline-any cline-neutral">&nbsp;</span>
1306
+ <span class="cline-any cline-neutral">&nbsp;</span>
1307
+ <span class="cline-any cline-yes">3x</span>
1308
+ <span class="cline-any cline-neutral">&nbsp;</span>
1309
+ <span class="cline-any cline-yes">3x</span>
1310
+ <span class="cline-any cline-neutral">&nbsp;</span>
1311
+ <span class="cline-any cline-yes">3x</span>
1312
+ <span class="cline-any cline-yes">6x</span>
1313
+ <span class="cline-any cline-neutral">&nbsp;</span>
1314
+ <span class="cline-any cline-yes">6x</span>
1315
+ <span class="cline-any cline-yes">6x</span>
1316
+ <span class="cline-any cline-neutral">&nbsp;</span>
1317
+ <span class="cline-any cline-yes">3x</span>
1318
+ <span class="cline-any cline-neutral">&nbsp;</span>
1319
+ <span class="cline-any cline-neutral">&nbsp;</span>
1320
+ <span class="cline-any cline-neutral">&nbsp;</span>
1321
+ <span class="cline-any cline-neutral">&nbsp;</span>
1322
+ <span class="cline-any cline-neutral">&nbsp;</span>
1323
+ <span class="cline-any cline-neutral">&nbsp;</span>
1324
+ <span class="cline-any cline-neutral">&nbsp;</span>
1325
+ <span class="cline-any cline-neutral">&nbsp;</span>
1326
+ <span class="cline-any cline-yes">1x</span>
1327
+ <span class="cline-any cline-yes">1x</span>
1328
+ <span class="cline-any cline-yes">1x</span>
1329
+ <span class="cline-any cline-yes">1x</span>
1330
+ <span class="cline-any cline-yes">2x</span>
1331
+ <span class="cline-any cline-yes">2x</span>
1332
+ <span class="cline-any cline-yes">2x</span>
1333
+ <span class="cline-any cline-yes">2x</span>
1334
+ <span class="cline-any cline-neutral">&nbsp;</span>
1335
+ <span class="cline-any cline-yes">1x</span>
1336
+ <span class="cline-any cline-neutral">&nbsp;</span>
1337
+ <span class="cline-any cline-neutral">&nbsp;</span>
1338
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Script } from '@node-dlc/bitcoin';
1339
+ import { BufferReader, BufferWriter } from '@node-dlc/bufio';
1340
+ import { hash160 } from '@node-dlc/crypto';
1341
+ import { BitcoinNetwork } from 'bitcoin-networks';
1342
+ import { address } from 'bitcoinjs-lib';
1343
+ import secp256k1 from 'secp256k1';
1344
+ &nbsp;
1345
+ import { MessageType, PROTOCOL_VERSION } from '../MessageType';
1346
+ import { deserializeTlv } from '../serialize/deserializeTlv';
1347
+ import { getTlv } from '../serialize/getTlv';
1348
+ import { bigIntToNumber, toBigInt } from '../util';
1349
+ import { BatchFundingGroup } from './BatchFundingGroup';
1350
+ import {
1351
+ CetAdaptorSignatures,
1352
+ ICetAdaptorSignaturesJSON,
1353
+ } from './CetAdaptorSignatures';
1354
+ import { IDlcMessage } from './DlcMessage';
1355
+ import { FundingInput, IFundingInputJSON } from './FundingInput';
1356
+ import {
1357
+ INegotiationFieldsV0JSON,
1358
+ INegotiationFieldsV1JSON,
1359
+ INegotiationFieldsV2JSON,
1360
+ NegotiationFields,
1361
+ } from './NegotiationFields';
1362
+ &nbsp;
1363
+ /**
1364
+ * DlcAccept contains information about a node and indicates its
1365
+ * acceptance of the new DLC, as well as its CET and refund
1366
+ * transaction signatures. This is the second step toward creating
1367
+ * the funding transaction and closing transactions.
1368
+ * Updated to support dlcspecs PR #163 format.
1369
+ */
1370
+ export class DlcAccept implements IDlcMessage {
1371
+ public static type = MessageType.DlcAccept;
1372
+ &nbsp;
1373
+ /**
1374
+ * Creates a DlcAccept from JSON data (e.g., from test vectors)
1375
+ * Handles both our internal format and external test vector formats
1376
+ * @param json JSON object representing a DLC accept
1377
+ */
1378
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
1379
+ public static fromJSON(json: any): DlcAccept {
1380
+ const instance = new DlcAccept();
1381
+ &nbsp;
1382
+ // Helper function to parse DER-encoded signature and extract raw r,s values (64 bytes total)
1383
+ const parseDerSignature = (hexSig: string): Buffer =&gt; {
1384
+ const sigBuffer = Buffer.from(hexSig, 'hex');
1385
+ &nbsp;
1386
+ // If it's already 64 bytes, assume it's raw
1387
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (sigBuffer.length === 64) {
1388
+ <span class="cstat-no" title="statement not covered" > return sigBuffer;</span>
1389
+ }
1390
+ &nbsp;
1391
+ // Use secp256k1.signatureImport to parse DER signature
1392
+ try {
1393
+ const rawSig = secp256k1.signatureImport(sigBuffer);
1394
+ return Buffer.from(rawSig);
1395
+ } catch (ex) {
1396
+ <span class="cstat-no" title="statement not covered" > throw new Error(`Invalid DER signature: ${ex.message}`);</span>
1397
+ }
1398
+ };
1399
+ &nbsp;
1400
+ // Handle both internal and external field naming conventions
1401
+ instance.protocolVersion =
1402
+ json.protocolVersion || <span class="branch-1 cbranch-no" title="branch not covered" >json.protocol_version </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >PROTOCOL_VERSION;</span>
1403
+ instance.temporaryContractId = Buffer.from(
1404
+ json.temporaryContractId ||
1405
+ <span class="branch-1 cbranch-no" title="branch not covered" > json.tempContractId </span>||
1406
+ <span class="branch-2 cbranch-no" title="branch not covered" > json.temporary_contract_id,</span>
1407
+ 'hex',
1408
+ );
1409
+ &nbsp;
1410
+ instance.acceptCollateral = toBigInt(
1411
+ json.acceptCollateral ||
1412
+ <span class="branch-1 cbranch-no" title="branch not covered" > json.acceptCollateralSatoshis </span>||
1413
+ <span class="branch-2 cbranch-no" title="branch not covered" > json.accept_collateral,</span>
1414
+ );
1415
+ &nbsp;
1416
+ // Handle field name variations between formats
1417
+ instance.fundingPubkey = Buffer.from(
1418
+ json.fundingPubkey || <span class="branch-1 cbranch-no" title="branch not covered" >json.fundingPubKey </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >json.funding_pubkey,</span>
1419
+ 'hex',
1420
+ );
1421
+ instance.payoutSpk = Buffer.from(
1422
+ json.payoutSpk || <span class="branch-1 cbranch-no" title="branch not covered" >json.payoutSPK </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >json.payout_spk,</span>
1423
+ 'hex',
1424
+ );
1425
+ instance.payoutSerialId = toBigInt(
1426
+ json.payoutSerialId || <span class="branch-1 cbranch-no" title="branch not covered" >json.payout_serial_id,</span>
1427
+ );
1428
+ &nbsp;
1429
+ instance.changeSpk = Buffer.from(
1430
+ json.changeSpk || <span class="branch-1 cbranch-no" title="branch not covered" >json.changeSPK </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >json.change_spk,</span>
1431
+ 'hex',
1432
+ );
1433
+ instance.changeSerialId = toBigInt(
1434
+ json.changeSerialId || <span class="branch-1 cbranch-no" title="branch not covered" >json.change_serial_id,</span>
1435
+ );
1436
+ &nbsp;
1437
+ // Parse FundingInputs
1438
+ instance.fundingInputs = DlcAccept.parseFundingInputsFromJSON(
1439
+ json.fundingInputs || <span class="branch-1 cbranch-no" title="branch not covered" >json.funding_inputs </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >[],</span>
1440
+ );
1441
+ &nbsp;
1442
+ // Parse CET adaptor signatures
1443
+ instance.cetAdaptorSignatures = DlcAccept.parseCetAdaptorSignaturesFromJSON(
1444
+ json.cetAdaptorSignatures || <span class="branch-1 cbranch-no" title="branch not covered" >json.cet_adaptor_signatures,</span>
1445
+ );
1446
+ &nbsp;
1447
+ // Parse refund signature - handle DER encoding
1448
+ const refundSigHex = json.refundSignature || <span class="branch-1 cbranch-no" title="branch not covered" >json.refund_signature;</span>
1449
+ instance.refundSignature = parseDerSignature(refundSigHex);
1450
+ &nbsp;
1451
+ // Parse optional negotiation fields
1452
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (json.negotiationFields || json.negotiation_fields) {
1453
+ <span class="cstat-no" title="statement not covered" > instance.negotiationFields = DlcAccept.parseNegotiationFieldsFromJSON(</span>
1454
+ json.negotiationFields || json.negotiation_fields,
1455
+ );
1456
+ }
1457
+ &nbsp;
1458
+ return instance;
1459
+ }
1460
+ &nbsp;
1461
+ /**
1462
+ * Parses FundingInputs from JSON
1463
+ * @param fundingInputsJson Array of JSON objects representing funding inputs
1464
+ */
1465
+ private static parseFundingInputsFromJSON(
1466
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1467
+ fundingInputsJson: any[],
1468
+ ): FundingInput[] {
1469
+ return fundingInputsJson.map((inputJson) =&gt; {
1470
+ // Use the existing FundingInput.fromJSON method which handles all the field mapping correctly
1471
+ return FundingInput.fromJSON(inputJson) as FundingInput;
1472
+ });
1473
+ }
1474
+ &nbsp;
1475
+ /**
1476
+ * Parses CetAdaptorSignatures from JSON
1477
+ * @param cetSigsJson JSON object representing CET adaptor signatures
1478
+ */
1479
+ private static parseCetAdaptorSignaturesFromJSON(
1480
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1481
+ cetSigsJson: any,
1482
+ ): CetAdaptorSignatures {
1483
+ const instance = new CetAdaptorSignatures();
1484
+ &nbsp;
1485
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (
1486
+ cetSigsJson.ecdsaAdaptorSignatures ||
1487
+ <span class="branch-1 cbranch-no" title="branch not covered" > cetSigsJson.ecdsa_adaptor_signatures</span>
1488
+ ) {
1489
+ const ecdsaSigs =
1490
+ cetSigsJson.ecdsaAdaptorSignatures ||
1491
+ <span class="branch-1 cbranch-no" title="branch not covered" > cetSigsJson.ecdsa_adaptor_signatures;</span>
1492
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1493
+ instance.sigs = ecdsaSigs.map((sig: any) =&gt; {
1494
+ // The test vectors use 'signature' field, but our internal format uses encryptedSig/dleqProof
1495
+ // Adaptor signatures have different format than regular ECDSA (65 bytes + 97 bytes)
1496
+ const sigBuffer = Buffer.from(sig.signature, 'hex');
1497
+ return {
1498
+ encryptedSig: sigBuffer.slice(0, 65), // First 65 bytes
1499
+ dleqProof:
1500
+ sigBuffer.length &gt; 65 ? sigBuffer.slice(65, 162) : <span class="branch-1 cbranch-no" title="branch not covered" >Buffer.alloc(97),</span> // Next 97 bytes or empty
1501
+ };
1502
+ });
1503
+ }
1504
+ &nbsp;
1505
+ return instance;
1506
+ }
1507
+ &nbsp;
1508
+ /**
1509
+ * Parses NegotiationFields from JSON
1510
+ * @param negotiationJson JSON object representing negotiation fields
1511
+ */
1512
+ private <span class="fstat-no" title="function not covered" >static </span>parseNegotiationFieldsFromJSON(
1513
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1514
+ negotiationJson: any,
1515
+ ): NegotiationFields {
1516
+ <span class="cstat-no" title="statement not covered" > return NegotiationFields.fromJSON(negotiationJson);</span>
1517
+ }
1518
+ &nbsp;
1519
+ /**
1520
+ * Deserializes an accept_dlc message
1521
+ * @param buf
1522
+ */
1523
+ public static deserialize(buf: Buffer, parseCets = true): DlcAccept {
1524
+ const instance = new DlcAccept();
1525
+ const reader = new BufferReader(buf);
1526
+ &nbsp;
1527
+ reader.readUInt16BE(); // read type
1528
+ &nbsp;
1529
+ // New fields as per dlcspecs PR #163
1530
+ instance.protocolVersion = reader.readUInt32BE();
1531
+ instance.temporaryContractId = reader.readBytes(32);
1532
+ instance.acceptCollateral = reader.readUInt64BE();
1533
+ instance.fundingPubkey = reader.readBytes(33);
1534
+ const payoutSpkLen = reader.readUInt16BE();
1535
+ instance.payoutSpk = reader.readBytes(payoutSpkLen);
1536
+ instance.payoutSerialId = reader.readUInt64BE();
1537
+ &nbsp;
1538
+ // Changed from u16 to bigsize as per dlcspecs PR #163
1539
+ const fundingInputsLen = Number(reader.readBigSize());
1540
+ for (let i = 0; i &lt; fundingInputsLen; i++) {
1541
+ // FundingInput body is serialized directly without TLV wrapper in rust-dlc format
1542
+ const fundingInput = FundingInput.deserializeBody(
1543
+ reader.buffer.subarray(reader.position),
1544
+ );
1545
+ instance.fundingInputs.push(fundingInput);
1546
+ &nbsp;
1547
+ // Skip past the FundingInput we just read
1548
+ const fundingInputLength = fundingInput.serializeBody().length;
1549
+ reader.position += fundingInputLength;
1550
+ }
1551
+ &nbsp;
1552
+ const changeSpkLen = reader.readUInt16BE();
1553
+ instance.changeSpk = reader.readBytes(changeSpkLen);
1554
+ instance.changeSerialId = reader.readUInt64BE();
1555
+ &nbsp;
1556
+ if (parseCets) {
1557
+ // Read CET adaptor signatures directly to match serialize format (no TLV wrapping)
1558
+ instance.cetAdaptorSignatures = CetAdaptorSignatures.deserialize(
1559
+ reader.buffer.subarray(reader.position),
1560
+ );
1561
+ &nbsp;
1562
+ // Skip past the CET adaptor signatures we just read
1563
+ const cetLength = instance.cetAdaptorSignatures.serialize().length;
1564
+ reader.position += cetLength;
1565
+ } else {
1566
+ instance.cetAdaptorSignatures = new CetAdaptorSignatures();
1567
+ }
1568
+ &nbsp;
1569
+ instance.refundSignature = reader.readBytes(64);
1570
+ &nbsp;
1571
+ // negotiation_fields is now optional as per dlcspecs PR #163
1572
+ // Check if there's enough data left for the new format fields (backward compatibility)
1573
+ // The old format ends exactly after refundSignature. If there's more data, it should be new format.
1574
+ const remainingBytes = reader.buffer.length - reader.position;
1575
+ &nbsp;
1576
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (remainingBytes &gt; 0) {
1577
+ // Only try to parse new fields if we have a reasonable amount of extra data
1578
+ // A single stray byte is likely not valid new format data
1579
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (remainingBytes &gt;= 1) {
1580
+ try {
1581
+ const hasNegotiationFields = reader.readUInt8();
1582
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (hasNegotiationFields === 0x01) {
1583
+ <span class="cstat-no" title="statement not covered" > instance.negotiationFields = NegotiationFields.deserialize(</span>
1584
+ getTlv(reader),
1585
+ );
1586
+ }
1587
+ &nbsp;
1588
+ // Parse TLV stream as per dlcspecs PR #163
1589
+ // Only continue if there's still data left after the hasNegotiationFields flag
1590
+ while (reader.position &lt; reader.buffer.length) {
1591
+ const buf = getTlv(reader);
1592
+ const tlvReader = new BufferReader(buf);
1593
+ const { type } = deserializeTlv(tlvReader);
1594
+ &nbsp;
1595
+ switch (Number(type)) {
1596
+ <span class="branch-0 cbranch-no" title="branch not covered" > case MessageType.BatchFundingGroup:</span>
1597
+ <span class="cstat-no" title="statement not covered" > if (!instance.batchFundingGroups) {</span>
1598
+ <span class="cstat-no" title="statement not covered" > instance.batchFundingGroups = [];</span>
1599
+ }
1600
+ <span class="cstat-no" title="statement not covered" > instance.batchFundingGroups.push(</span>
1601
+ BatchFundingGroup.deserialize(buf),
1602
+ );
1603
+ <span class="cstat-no" title="statement not covered" > break;</span>
1604
+ default:
1605
+ // Store unknown TLVs for future compatibility
1606
+ if (!instance.unknownTlvs) {
1607
+ instance.unknownTlvs = [];
1608
+ }
1609
+ instance.unknownTlvs.push({ type: Number(type), data: buf });
1610
+ break;
1611
+ }
1612
+ }
1613
+ } catch (error) {
1614
+ // If parsing new format fails, assume it's old format and ignore the extra bytes
1615
+ // This provides backward compatibility for malformed or old format data
1616
+ // Silently ignore parsing errors for backward compatibility
1617
+ }
1618
+ }
1619
+ }
1620
+ &nbsp;
1621
+ // Auto-detect single funded DLCs based on minimal acceptCollateral
1622
+ // In single funded DLCs, acceptCollateral is typically 0 or very small
1623
+ if (instance.acceptCollateral === BigInt(0)) {
1624
+ instance.singleFunded = true;
1625
+ }
1626
+ &nbsp;
1627
+ return instance;
1628
+ }
1629
+ &nbsp;
1630
+ /**
1631
+ * The type for accept_dlc message. accept_dlc = 42780
1632
+ */
1633
+ public type = DlcAccept.type;
1634
+ &nbsp;
1635
+ // New fields as per dlcspecs PR #163
1636
+ public protocolVersion: number = PROTOCOL_VERSION; // Default to current protocol version
1637
+ &nbsp;
1638
+ // Existing fields
1639
+ public temporaryContractId: Buffer;
1640
+ &nbsp;
1641
+ public acceptCollateral: bigint;
1642
+ &nbsp;
1643
+ public fundingPubkey: Buffer;
1644
+ &nbsp;
1645
+ public payoutSpk: Buffer;
1646
+ &nbsp;
1647
+ public payoutSerialId: bigint;
1648
+ &nbsp;
1649
+ public fundingInputs: FundingInput[] = [];
1650
+ &nbsp;
1651
+ public changeSpk: Buffer;
1652
+ &nbsp;
1653
+ public changeSerialId: bigint;
1654
+ &nbsp;
1655
+ public cetAdaptorSignatures: CetAdaptorSignatures;
1656
+ &nbsp;
1657
+ public refundSignature: Buffer;
1658
+ &nbsp;
1659
+ // negotiation_fields is now optional
1660
+ public negotiationFields?: NegotiationFields;
1661
+ &nbsp;
1662
+ public batchFundingGroups?: BatchFundingGroup[];
1663
+ &nbsp;
1664
+ // Store unknown TLVs for forward compatibility
1665
+ public unknownTlvs?: Array&lt;{ type: number; data: Buffer }&gt;;
1666
+ &nbsp;
1667
+ /**
1668
+ * Flag to indicate if this is a single funded DLC
1669
+ * In single funded DLCs, the acceptor provides minimal or no collateral
1670
+ */
1671
+ public singleFunded = false;
1672
+ &nbsp;
1673
+ /**
1674
+ * Marks this DLC accept as single funded
1675
+ * For single funded DLCs, acceptCollateral is typically 0 or minimal
1676
+ */
1677
+ public markAsSingleFunded(): void {
1678
+ this.singleFunded = true;
1679
+ }
1680
+ &nbsp;
1681
+ /**
1682
+ * Checks if this DLC accept is for a single funded DLC
1683
+ * @returns True if this is a single funded DLC
1684
+ */
1685
+ public isSingleFunded(): boolean {
1686
+ return this.singleFunded;
1687
+ }
1688
+ &nbsp;
1689
+ /**
1690
+ * Get funding, change and payout address from DlcAccept
1691
+ * @param network Bitcoin Network
1692
+ * @returns {IDlcAcceptAddresses}
1693
+ */
1694
+ public <span class="fstat-no" title="function not covered" >getAddresses(</span>network: BitcoinNetwork): IDlcAcceptAddresses {
1695
+ const fundingSPK = <span class="cstat-no" title="statement not covered" >Script.p2wpkhLock(hash160(this.fundingPubkey))</span>
1696
+ .serialize()
1697
+ .slice(1);
1698
+ const fundingAddress = <span class="cstat-no" title="statement not covered" >address.fromOutputScript(fundingSPK, network);</span>
1699
+ const changeAddress = <span class="cstat-no" title="statement not covered" >address.fromOutputScript(this.changeSpk, network);</span>
1700
+ const payoutAddress = <span class="cstat-no" title="statement not covered" >address.fromOutputScript(this.payoutSpk, network);</span>
1701
+ &nbsp;
1702
+ <span class="cstat-no" title="statement not covered" > return {</span>
1703
+ fundingAddress,
1704
+ changeAddress,
1705
+ payoutAddress,
1706
+ };
1707
+ }
1708
+ &nbsp;
1709
+ /**
1710
+ * Validates correctness of all fields
1711
+ * Updated validation rules as per dlcspecs PR #163
1712
+ * https://github.com/discreetlogcontracts/dlcspecs/blob/master/Protocol.md#the-accept_dlc-message
1713
+ * @throws Will throw an error if validation fails
1714
+ */
1715
+ public validate(): void {
1716
+ // 1. Type is set automatically in class
1717
+ // 2. protocol_version validation
1718
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.protocolVersion !== PROTOCOL_VERSION) {
1719
+ <span class="cstat-no" title="statement not covered" > throw new Error(</span>
1720
+ `Unsupported protocol version: ${this.protocolVersion}, expected: ${PROTOCOL_VERSION}`,
1721
+ );
1722
+ }
1723
+ &nbsp;
1724
+ // 3. temporary_contract_id must match the one from offer_dlc
1725
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.temporaryContractId || this.temporaryContractId.length !== 32) {
1726
+ <span class="cstat-no" title="statement not covered" > throw new Error('temporaryContractId must be 32 bytes');</span>
1727
+ }
1728
+ &nbsp;
1729
+ // 4. payout_spk and change_spk must be standard script pubkeys
1730
+ try {
1731
+ address.fromOutputScript(this.payoutSpk);
1732
+ } catch (e) {
1733
+ throw new Error('payoutSpk is invalid');
1734
+ }
1735
+ &nbsp;
1736
+ try {
1737
+ address.fromOutputScript(this.changeSpk);
1738
+ } catch (e) {
1739
+ throw new Error('changeSpk is invalid');
1740
+ }
1741
+ &nbsp;
1742
+ // 5. funding_pubkey must be a valid secp256k1 pubkey in compressed format
1743
+ // https://github.com/bitcoin/bips/blob/master/bip-0137.mediawiki#background-on-ecdsa-signatures
1744
+ &nbsp;
1745
+ if (secp256k1.publicKeyVerify(Buffer.from(this.fundingPubkey))) {
1746
+ if (this.fundingPubkey[0] != 0x02 &amp;&amp; this.fundingPubkey[0] != 0x03) {
1747
+ throw new Error('fundingPubkey must be in compressed format');
1748
+ }
1749
+ } else {
1750
+ throw new Error('fundingPubkey is not a valid secp256k1 key');
1751
+ }
1752
+ &nbsp;
1753
+ // 6. inputSerialId must be unique for each input
1754
+ const inputSerialIds = this.fundingInputs.map(
1755
+ (input: FundingInput) =&gt; input.inputSerialId,
1756
+ );
1757
+ &nbsp;
1758
+ if (new Set(inputSerialIds).size !== inputSerialIds.length) {
1759
+ throw new Error('inputSerialIds must be unique');
1760
+ }
1761
+ &nbsp;
1762
+ // 7. Ensure funding inputs are segwit
1763
+ this.fundingInputs.forEach((input: FundingInput) =&gt; input.validate());
1764
+ &nbsp;
1765
+ // 8. validate funding amount
1766
+ const fundingAmount = this.fundingInputs.reduce(<span class="fstat-no" title="function not covered" >(a</span>cc, fundingInput) =&gt; {
1767
+ const input = <span class="cstat-no" title="statement not covered" >fundingInput as FundingInput;</span>
1768
+ <span class="cstat-no" title="statement not covered" > return acc + input.prevTx.outputs[input.prevTxVout].value.sats;</span>
1769
+ }, BigInt(0));
1770
+ &nbsp;
1771
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.isSingleFunded()) {
1772
+ // For single funded DLCs, acceptor may provide minimal or no collateral
1773
+ // fundingAmount should be &gt;= acceptCollateral (allowing for 0 collateral case)
1774
+ if (this.acceptCollateral &gt; 0 &amp;&amp; fundingAmount &lt; this.acceptCollateral) {
1775
+ throw new Error(
1776
+ 'For single funded DLCs, fundingAmount must be at least acceptCollateral',
1777
+ );
1778
+ }
1779
+ } else {
1780
+ // For regular DLCs, funding amount must be greater than accept collateral
1781
+ <span class="cstat-no" title="statement not covered" > if (this.acceptCollateral &gt;= fundingAmount) {</span>
1782
+ <span class="cstat-no" title="statement not covered" > throw new Error('fundingAmount must be greater than acceptCollateral');</span>
1783
+ }
1784
+ }
1785
+ }
1786
+ &nbsp;
1787
+ /**
1788
+ * Converts accept_dlc to JSON (canonical rust-dlc format)
1789
+ */
1790
+ public toJSON(): IDlcAcceptJSON {
1791
+ // Convert raw signature back to DER format for canonical rust-dlc JSON
1792
+ const derRefundSignature = secp256k1.signatureExport(this.refundSignature);
1793
+ &nbsp;
1794
+ return {
1795
+ protocolVersion: this.protocolVersion,
1796
+ temporaryContractId: this.temporaryContractId.toString('hex'),
1797
+ acceptCollateral: bigIntToNumber(this.acceptCollateral),
1798
+ fundingPubkey: this.fundingPubkey.toString('hex'), // lowercase 'k'
1799
+ payoutSpk: this.payoutSpk.toString('hex'), // lowercase
1800
+ payoutSerialId: bigIntToNumber(this.payoutSerialId),
1801
+ fundingInputs: this.fundingInputs.map((input) =&gt; input.toJSON()),
1802
+ changeSpk: this.changeSpk.toString('hex'), // lowercase
1803
+ changeSerialId: bigIntToNumber(this.changeSerialId),
1804
+ cetAdaptorSignatures: this.cetAdaptorSignatures.toJSON(),
1805
+ refundSignature: Buffer.from(derRefundSignature).toString('hex'),
1806
+ negotiationFields: this.negotiationFields?.toJSON(),
1807
+ };
1808
+ }
1809
+ &nbsp;
1810
+ /**
1811
+ * Serializes the accept_dlc message into a Buffer
1812
+ * Updated serialization format as per dlcspecs PR #163
1813
+ */
1814
+ public serialize(): Buffer {
1815
+ const writer = new BufferWriter();
1816
+ writer.writeUInt16BE(this.type);
1817
+ &nbsp;
1818
+ // New fields as per dlcspecs PR #163
1819
+ writer.writeUInt32BE(this.protocolVersion);
1820
+ writer.writeBytes(this.temporaryContractId);
1821
+ writer.writeUInt64BE(this.acceptCollateral);
1822
+ writer.writeBytes(this.fundingPubkey);
1823
+ writer.writeUInt16BE(this.payoutSpk.length);
1824
+ writer.writeBytes(this.payoutSpk);
1825
+ writer.writeUInt64BE(this.payoutSerialId);
1826
+ &nbsp;
1827
+ // Changed from u16 to bigsize as per dlcspecs PR #163
1828
+ writer.writeBigSize(this.fundingInputs.length);
1829
+ &nbsp;
1830
+ for (const fundingInput of this.fundingInputs) {
1831
+ // Use serializeBody() to match rust-dlc behavior - funding inputs in vec are serialized without TLV wrapper
1832
+ writer.writeBytes(fundingInput.serializeBody());
1833
+ }
1834
+ &nbsp;
1835
+ writer.writeUInt16BE(this.changeSpk.length);
1836
+ writer.writeBytes(this.changeSpk);
1837
+ writer.writeUInt64BE(this.changeSerialId);
1838
+ writer.writeBytes(this.cetAdaptorSignatures.serialize());
1839
+ writer.writeBytes(this.refundSignature);
1840
+ &nbsp;
1841
+ // negotiation_fields is now optional as per dlcspecs PR #163
1842
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.negotiationFields) {
1843
+ <span class="cstat-no" title="statement not covered" > writer.writeUInt8(0x01); </span>// present
1844
+ <span class="cstat-no" title="statement not covered" > writer.writeBytes(this.negotiationFields.serialize());</span>
1845
+ } else {
1846
+ writer.writeUInt8(0x00); // absent
1847
+ }
1848
+ &nbsp;
1849
+ // TLV stream as per dlcspecs PR #163
1850
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.batchFundingGroups)
1851
+ <span class="cstat-no" title="statement not covered" > this.batchFundingGroups.forEach(<span class="fstat-no" title="function not covered" >(f</span>undingInfo) =&gt;</span>
1852
+ <span class="cstat-no" title="statement not covered" > writer.writeBytes(fundingInfo.serialize()),</span>
1853
+ );
1854
+ &nbsp;
1855
+ // Write unknown TLVs for forward compatibility
1856
+ if (this.unknownTlvs) {
1857
+ this.unknownTlvs.forEach((tlv) =&gt; {
1858
+ writer.writeBytes(tlv.data);
1859
+ });
1860
+ }
1861
+ &nbsp;
1862
+ return writer.toBuffer();
1863
+ }
1864
+ &nbsp;
1865
+ public withoutSigs(): DlcAcceptWithoutSigs {
1866
+ return new DlcAcceptWithoutSigs(
1867
+ this.protocolVersion,
1868
+ this.temporaryContractId,
1869
+ this.acceptCollateral,
1870
+ this.fundingPubkey,
1871
+ this.payoutSpk,
1872
+ this.payoutSerialId,
1873
+ this.fundingInputs,
1874
+ this.changeSpk,
1875
+ this.changeSerialId,
1876
+ this.negotiationFields,
1877
+ this.batchFundingGroups,
1878
+ );
1879
+ }
1880
+ }
1881
+ &nbsp;
1882
+ export class DlcAcceptWithoutSigs {
1883
+ constructor(
1884
+ readonly protocolVersion: number,
1885
+ readonly temporaryContractId: Buffer,
1886
+ readonly acceptCollateral: bigint,
1887
+ readonly fundingPubkey: Buffer,
1888
+ readonly payoutSpk: Buffer,
1889
+ readonly payoutSerialId: bigint,
1890
+ readonly fundingInputs: FundingInput[],
1891
+ readonly changeSpk: Buffer,
1892
+ readonly changeSerialId: bigint,
1893
+ readonly negotiationFields?: NegotiationFields,
1894
+ readonly batchFundingGroups?: BatchFundingGroup[],
1895
+ ) {}
1896
+ }
1897
+ &nbsp;
1898
+ export interface IDlcAcceptJSON {
1899
+ protocolVersion: number;
1900
+ temporaryContractId: string;
1901
+ acceptCollateral: number;
1902
+ fundingPubkey: string;
1903
+ payoutSpk: string;
1904
+ payoutSerialId: number;
1905
+ fundingInputs: IFundingInputJSON[];
1906
+ changeSpk: string;
1907
+ changeSerialId: number;
1908
+ cetAdaptorSignatures: ICetAdaptorSignaturesJSON;
1909
+ refundSignature: string;
1910
+ negotiationFields?: // Now optional
1911
+ | INegotiationFieldsV0JSON
1912
+ | INegotiationFieldsV1JSON
1913
+ | INegotiationFieldsV2JSON;
1914
+ }
1915
+ &nbsp;
1916
+ export interface IDlcAcceptAddresses {
1917
+ fundingAddress: string;
1918
+ changeAddress: string;
1919
+ payoutAddress: string;
1920
+ }
1921
+ &nbsp;
1922
+ export class DlcAcceptContainer {
1923
+ private accepts: DlcAccept[] = [];
1924
+ &nbsp;
1925
+ /**
1926
+ * Adds a DlcAccept to the container.
1927
+ * @param accept The DlcAccept to add.
1928
+ */
1929
+ public addAccept(accept: DlcAccept): void {
1930
+ this.accepts.push(accept);
1931
+ }
1932
+ &nbsp;
1933
+ /**
1934
+ * Returns all DlcAccepts in the container.
1935
+ * @returns An array of DlcAccept instances.
1936
+ */
1937
+ public <span class="fstat-no" title="function not covered" >getAccepts(</span>): DlcAccept[] {
1938
+ <span class="cstat-no" title="statement not covered" > return this.accepts;</span>
1939
+ }
1940
+ &nbsp;
1941
+ /**
1942
+ * Serializes all DlcAccepts in the container to a Buffer.
1943
+ * @returns A Buffer containing the serialized DlcAccepts.
1944
+ */
1945
+ public serialize(): Buffer {
1946
+ const writer = new BufferWriter();
1947
+ // Write the number of accepts in the container first.
1948
+ writer.writeBigSize(this.accepts.length);
1949
+ // Serialize each accept and write it.
1950
+ this.accepts.forEach((accept) =&gt; {
1951
+ const serializedAccept = accept.serialize();
1952
+ // Optionally, write the length of the serialized accept for easier deserialization.
1953
+ writer.writeBigSize(serializedAccept.length);
1954
+ writer.writeBytes(serializedAccept);
1955
+ });
1956
+ return writer.toBuffer();
1957
+ }
1958
+ &nbsp;
1959
+ /**
1960
+ * Deserializes a Buffer into a DlcAcceptContainer with DlcAccepts.
1961
+ * @param buf The Buffer to deserialize.
1962
+ * @returns A DlcAcceptContainer instance.
1963
+ */
1964
+ public static deserialize(buf: Buffer, parseCets = true): DlcAcceptContainer {
1965
+ const reader = new BufferReader(buf);
1966
+ const container = new DlcAcceptContainer();
1967
+ const acceptsCount = reader.readBigSize();
1968
+ for (let i = 0; i &lt; acceptsCount; i++) {
1969
+ const acceptLength = reader.readBigSize();
1970
+ const acceptBuf = reader.readBytes(Number(acceptLength));
1971
+ const accept = DlcAccept.deserialize(acceptBuf, parseCets);
1972
+ container.addAccept(accept);
1973
+ }
1974
+ return container;
1975
+ }
1976
+ }
1977
+ &nbsp;</pre></td></tr></table></pre>
1978
+
1979
+ <div class='push'></div><!-- for sticky footer -->
1980
+ </div><!-- /wrapper -->
1981
+ <div class='footer quiet pad2 space-top1 center small'>
1982
+ Code coverage generated by
1983
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1984
+ at Sat Jul 19 2025 20:06:33 GMT-0700 (Pacific Daylight Saving Time)
1985
+ </div>
1986
+ </div>
1987
+ <script src="../../prettify.js"></script>
1988
+ <script>
1989
+ window.onload = function () {
1990
+ prettyPrint();
1991
+ };
1992
+ </script>
1993
+ <script src="../../sorter.js"></script>
1994
+ <script src="../../block-navigation.js"></script>
1995
+ </body>
1996
+ </html>
1997
+