@sidhujag/sysweb3-keyring 1.0.544 → 1.0.547

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 (212) hide show
  1. package/coverage/clover.xml +2875 -0
  2. package/coverage/coverage-final.json +29468 -0
  3. package/coverage/lcov-report/base.css +354 -0
  4. package/coverage/lcov-report/block-navigation.js +85 -0
  5. package/coverage/lcov-report/favicon.png +0 -0
  6. package/coverage/lcov-report/index.html +320 -0
  7. package/coverage/lcov-report/prettify.css +101 -0
  8. package/coverage/lcov-report/prettify.js +1008 -0
  9. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  10. package/coverage/lcov-report/sorter.js +191 -0
  11. package/coverage/lcov-report/src/index.html +276 -0
  12. package/coverage/lcov-report/src/index.ts.html +114 -0
  13. package/coverage/lcov-report/src/initial-state.ts.html +558 -0
  14. package/coverage/lcov-report/src/keyring-manager.ts.html +6279 -0
  15. package/coverage/lcov-report/src/ledger/bitcoin_client/index.html +178 -0
  16. package/coverage/lcov-report/src/ledger/bitcoin_client/index.ts.html +144 -0
  17. package/coverage/lcov-report/src/ledger/bitcoin_client/lib/appClient.ts.html +1560 -0
  18. package/coverage/lcov-report/src/ledger/bitcoin_client/lib/bip32.ts.html +276 -0
  19. package/coverage/lcov-report/src/ledger/bitcoin_client/lib/buffertools.ts.html +495 -0
  20. package/coverage/lcov-report/src/ledger/bitcoin_client/lib/clientCommands.ts.html +1138 -0
  21. package/coverage/lcov-report/src/ledger/bitcoin_client/lib/index.html +363 -0
  22. package/coverage/lcov-report/src/ledger/bitcoin_client/lib/merkelizedPsbt.ts.html +289 -0
  23. package/coverage/lcov-report/src/ledger/bitcoin_client/lib/merkle.ts.html +486 -0
  24. package/coverage/lcov-report/src/ledger/bitcoin_client/lib/merkleMap.ts.html +240 -0
  25. package/coverage/lcov-report/src/ledger/bitcoin_client/lib/policy.ts.html +342 -0
  26. package/coverage/lcov-report/src/ledger/bitcoin_client/lib/psbtv2.ts.html +2388 -0
  27. package/coverage/lcov-report/src/ledger/bitcoin_client/lib/varint.ts.html +453 -0
  28. package/coverage/lcov-report/src/ledger/consts.ts.html +177 -0
  29. package/coverage/lcov-report/src/ledger/index.html +216 -0
  30. package/coverage/lcov-report/src/ledger/index.ts.html +1371 -0
  31. package/coverage/lcov-report/src/ledger/utils.ts.html +102 -0
  32. package/coverage/lcov-report/src/signers.ts.html +591 -0
  33. package/coverage/lcov-report/src/storage.ts.html +198 -0
  34. package/coverage/lcov-report/src/transactions/ethereum.ts.html +5826 -0
  35. package/coverage/lcov-report/src/transactions/index.html +216 -0
  36. package/coverage/lcov-report/src/transactions/index.ts.html +93 -0
  37. package/coverage/lcov-report/src/transactions/syscoin.ts.html +1521 -0
  38. package/coverage/lcov-report/src/trezor/index.html +176 -0
  39. package/coverage/lcov-report/src/trezor/index.ts.html +2655 -0
  40. package/coverage/lcov-report/src/types.ts.html +1443 -0
  41. package/coverage/lcov-report/src/utils/derivation-paths.ts.html +486 -0
  42. package/coverage/lcov-report/src/utils/index.html +196 -0
  43. package/coverage/lcov-report/src/utils/psbt.ts.html +159 -0
  44. package/coverage/lcov-report/test/helpers/constants.ts.html +627 -0
  45. package/coverage/lcov-report/test/helpers/index.html +176 -0
  46. package/coverage/lcov.info +4832 -0
  47. package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/appClient.js +1 -124
  48. package/dist/cjs/ledger/bitcoin_client/lib/appClient.js.map +1 -0
  49. package/{cjs → dist/cjs}/transactions/ethereum.js +24 -11
  50. package/dist/cjs/transactions/ethereum.js.map +1 -0
  51. package/dist/package.json +50 -0
  52. package/{types → dist/types}/ledger/bitcoin_client/lib/appClient.d.ts +0 -6
  53. package/examples/basic-usage.js +140 -0
  54. package/jest.config.js +32 -0
  55. package/package.json +31 -13
  56. package/readme.md +201 -0
  57. package/src/declare.d.ts +7 -0
  58. package/src/errorUtils.ts +83 -0
  59. package/src/hardware-wallet-manager.ts +655 -0
  60. package/src/index.ts +12 -0
  61. package/src/initial-state.ts +108 -0
  62. package/src/keyring-manager.ts +2698 -0
  63. package/src/ledger/bitcoin_client/index.ts +19 -0
  64. package/src/ledger/bitcoin_client/lib/appClient.ts +405 -0
  65. package/src/ledger/bitcoin_client/lib/bip32.ts +61 -0
  66. package/src/ledger/bitcoin_client/lib/buffertools.ts +134 -0
  67. package/src/ledger/bitcoin_client/lib/clientCommands.ts +356 -0
  68. package/src/ledger/bitcoin_client/lib/constants.ts +12 -0
  69. package/src/ledger/bitcoin_client/lib/merkelizedPsbt.ts +65 -0
  70. package/src/ledger/bitcoin_client/lib/merkle.ts +136 -0
  71. package/src/ledger/bitcoin_client/lib/merkleMap.ts +49 -0
  72. package/src/ledger/bitcoin_client/lib/policy.ts +91 -0
  73. package/src/ledger/bitcoin_client/lib/psbtv2.ts +768 -0
  74. package/src/ledger/bitcoin_client/lib/varint.ts +120 -0
  75. package/src/ledger/consts.ts +3 -0
  76. package/src/ledger/index.ts +685 -0
  77. package/src/ledger/types.ts +74 -0
  78. package/src/network-utils.ts +99 -0
  79. package/src/providers.ts +345 -0
  80. package/src/signers.ts +158 -0
  81. package/src/storage.ts +63 -0
  82. package/src/transactions/__tests__/integration.test.ts +303 -0
  83. package/src/transactions/__tests__/syscoin.test.ts +409 -0
  84. package/src/transactions/ethereum.ts +2503 -0
  85. package/src/transactions/index.ts +2 -0
  86. package/src/transactions/syscoin.ts +542 -0
  87. package/src/trezor/index.ts +1050 -0
  88. package/src/types.ts +366 -0
  89. package/src/utils/derivation-paths.ts +133 -0
  90. package/src/utils/psbt.ts +24 -0
  91. package/src/utils.ts +191 -0
  92. package/test/README.md +158 -0
  93. package/test/__mocks__/ledger-mock.js +20 -0
  94. package/test/__mocks__/trezor-mock.js +75 -0
  95. package/test/cleanup-summary.md +167 -0
  96. package/test/helpers/README.md +78 -0
  97. package/test/helpers/constants.ts +79 -0
  98. package/test/helpers/setup.ts +714 -0
  99. package/test/integration/import-validation.spec.ts +588 -0
  100. package/test/unit/hardware/ledger.spec.ts +869 -0
  101. package/test/unit/hardware/trezor.spec.ts +828 -0
  102. package/test/unit/keyring-manager/account-management.spec.ts +970 -0
  103. package/test/unit/keyring-manager/import-watchonly.spec.ts +181 -0
  104. package/test/unit/keyring-manager/import-wif.spec.ts +126 -0
  105. package/test/unit/keyring-manager/initialization.spec.ts +782 -0
  106. package/test/unit/keyring-manager/key-derivation.spec.ts +996 -0
  107. package/test/unit/keyring-manager/security.spec.ts +505 -0
  108. package/test/unit/keyring-manager/state-management.spec.ts +375 -0
  109. package/test/unit/network/network-management.spec.ts +372 -0
  110. package/test/unit/transactions/ethereum-transactions.spec.ts +382 -0
  111. package/test/unit/transactions/syscoin-transactions.spec.ts +615 -0
  112. package/tsconfig.json +14 -0
  113. package/cjs/ledger/bitcoin_client/lib/appClient.js.map +0 -1
  114. package/cjs/transactions/ethereum.js.map +0 -1
  115. /package/{README.md → dist/README.md} +0 -0
  116. /package/{cjs → dist/cjs}/errorUtils.js +0 -0
  117. /package/{cjs → dist/cjs}/errorUtils.js.map +0 -0
  118. /package/{cjs → dist/cjs}/hardware-wallet-manager.js +0 -0
  119. /package/{cjs → dist/cjs}/hardware-wallet-manager.js.map +0 -0
  120. /package/{cjs → dist/cjs}/index.js +0 -0
  121. /package/{cjs → dist/cjs}/index.js.map +0 -0
  122. /package/{cjs → dist/cjs}/initial-state.js +0 -0
  123. /package/{cjs → dist/cjs}/initial-state.js.map +0 -0
  124. /package/{cjs → dist/cjs}/keyring-manager.js +0 -0
  125. /package/{cjs → dist/cjs}/keyring-manager.js.map +0 -0
  126. /package/{cjs → dist/cjs}/ledger/bitcoin_client/index.js +0 -0
  127. /package/{cjs → dist/cjs}/ledger/bitcoin_client/index.js.map +0 -0
  128. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/bip32.js +0 -0
  129. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/bip32.js.map +0 -0
  130. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/buffertools.js +0 -0
  131. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/buffertools.js.map +0 -0
  132. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/clientCommands.js +0 -0
  133. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/clientCommands.js.map +0 -0
  134. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/constants.js +0 -0
  135. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/constants.js.map +0 -0
  136. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/merkelizedPsbt.js +0 -0
  137. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/merkelizedPsbt.js.map +0 -0
  138. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/merkle.js +0 -0
  139. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/merkle.js.map +0 -0
  140. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/merkleMap.js +0 -0
  141. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/merkleMap.js.map +0 -0
  142. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/policy.js +0 -0
  143. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/policy.js.map +0 -0
  144. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/psbtv2.js +0 -0
  145. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/psbtv2.js.map +0 -0
  146. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/varint.js +0 -0
  147. /package/{cjs → dist/cjs}/ledger/bitcoin_client/lib/varint.js.map +0 -0
  148. /package/{cjs → dist/cjs}/ledger/consts.js +0 -0
  149. /package/{cjs → dist/cjs}/ledger/consts.js.map +0 -0
  150. /package/{cjs → dist/cjs}/ledger/index.js +0 -0
  151. /package/{cjs → dist/cjs}/ledger/index.js.map +0 -0
  152. /package/{cjs → dist/cjs}/ledger/types.js +0 -0
  153. /package/{cjs → dist/cjs}/ledger/types.js.map +0 -0
  154. /package/{cjs → dist/cjs}/network-utils.js +0 -0
  155. /package/{cjs → dist/cjs}/network-utils.js.map +0 -0
  156. /package/{cjs → dist/cjs}/providers.js +0 -0
  157. /package/{cjs → dist/cjs}/providers.js.map +0 -0
  158. /package/{cjs → dist/cjs}/signers.js +0 -0
  159. /package/{cjs → dist/cjs}/signers.js.map +0 -0
  160. /package/{cjs → dist/cjs}/storage.js +0 -0
  161. /package/{cjs → dist/cjs}/storage.js.map +0 -0
  162. /package/{cjs → dist/cjs}/transactions/__tests__/integration.test.js +0 -0
  163. /package/{cjs → dist/cjs}/transactions/__tests__/integration.test.js.map +0 -0
  164. /package/{cjs → dist/cjs}/transactions/__tests__/syscoin.test.js +0 -0
  165. /package/{cjs → dist/cjs}/transactions/__tests__/syscoin.test.js.map +0 -0
  166. /package/{cjs → dist/cjs}/transactions/index.js +0 -0
  167. /package/{cjs → dist/cjs}/transactions/index.js.map +0 -0
  168. /package/{cjs → dist/cjs}/transactions/syscoin.js +0 -0
  169. /package/{cjs → dist/cjs}/transactions/syscoin.js.map +0 -0
  170. /package/{cjs → dist/cjs}/trezor/index.js +0 -0
  171. /package/{cjs → dist/cjs}/trezor/index.js.map +0 -0
  172. /package/{cjs → dist/cjs}/types.js +0 -0
  173. /package/{cjs → dist/cjs}/types.js.map +0 -0
  174. /package/{cjs → dist/cjs}/utils/derivation-paths.js +0 -0
  175. /package/{cjs → dist/cjs}/utils/derivation-paths.js.map +0 -0
  176. /package/{cjs → dist/cjs}/utils/psbt.js +0 -0
  177. /package/{cjs → dist/cjs}/utils/psbt.js.map +0 -0
  178. /package/{cjs → dist/cjs}/utils.js +0 -0
  179. /package/{cjs → dist/cjs}/utils.js.map +0 -0
  180. /package/{types → dist/types}/errorUtils.d.ts +0 -0
  181. /package/{types → dist/types}/hardware-wallet-manager.d.ts +0 -0
  182. /package/{types → dist/types}/index.d.ts +0 -0
  183. /package/{types → dist/types}/initial-state.d.ts +0 -0
  184. /package/{types → dist/types}/keyring-manager.d.ts +0 -0
  185. /package/{types → dist/types}/ledger/bitcoin_client/index.d.ts +0 -0
  186. /package/{types → dist/types}/ledger/bitcoin_client/lib/bip32.d.ts +0 -0
  187. /package/{types → dist/types}/ledger/bitcoin_client/lib/buffertools.d.ts +0 -0
  188. /package/{types → dist/types}/ledger/bitcoin_client/lib/clientCommands.d.ts +0 -0
  189. /package/{types → dist/types}/ledger/bitcoin_client/lib/constants.d.ts +0 -0
  190. /package/{types → dist/types}/ledger/bitcoin_client/lib/merkelizedPsbt.d.ts +0 -0
  191. /package/{types → dist/types}/ledger/bitcoin_client/lib/merkle.d.ts +0 -0
  192. /package/{types → dist/types}/ledger/bitcoin_client/lib/merkleMap.d.ts +0 -0
  193. /package/{types → dist/types}/ledger/bitcoin_client/lib/policy.d.ts +0 -0
  194. /package/{types → dist/types}/ledger/bitcoin_client/lib/psbtv2.d.ts +0 -0
  195. /package/{types → dist/types}/ledger/bitcoin_client/lib/varint.d.ts +0 -0
  196. /package/{types → dist/types}/ledger/consts.d.ts +0 -0
  197. /package/{types → dist/types}/ledger/index.d.ts +0 -0
  198. /package/{types → dist/types}/ledger/types.d.ts +0 -0
  199. /package/{types → dist/types}/network-utils.d.ts +0 -0
  200. /package/{types → dist/types}/providers.d.ts +0 -0
  201. /package/{types → dist/types}/signers.d.ts +0 -0
  202. /package/{types → dist/types}/storage.d.ts +0 -0
  203. /package/{types → dist/types}/transactions/__tests__/integration.test.d.ts +0 -0
  204. /package/{types → dist/types}/transactions/__tests__/syscoin.test.d.ts +0 -0
  205. /package/{types → dist/types}/transactions/ethereum.d.ts +0 -0
  206. /package/{types → dist/types}/transactions/index.d.ts +0 -0
  207. /package/{types → dist/types}/transactions/syscoin.d.ts +0 -0
  208. /package/{types → dist/types}/trezor/index.d.ts +0 -0
  209. /package/{types → dist/types}/types.d.ts +0 -0
  210. /package/{types → dist/types}/utils/derivation-paths.d.ts +0 -0
  211. /package/{types → dist/types}/utils/psbt.d.ts +0 -0
  212. /package/{types → dist/types}/utils.d.ts +0 -0
@@ -0,0 +1,1443 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <title>Code coverage report for src/types.ts</title>
5
+ <meta charset="utf-8" />
6
+ <link rel="stylesheet" href="../prettify.css" />
7
+ <link rel="stylesheet" href="../base.css" />
8
+ <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
9
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
10
+ <style type="text/css">
11
+ .coverage-summary .sorter {
12
+ background-image: url(../sort-arrow-sprite.png);
13
+ }
14
+ </style>
15
+ </head>
16
+
17
+ <body>
18
+ <div class="wrapper">
19
+ <div class="pad1">
20
+ <h1>
21
+ <a href="../index.html">All files</a> /
22
+ <a href="index.html">src</a> types.ts
23
+ </h1>
24
+ <div class="clearfix">
25
+ <div class="fl pad1y space-right2">
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class="fraction">6/6</span>
29
+ </div>
30
+
31
+ <div class="fl pad1y space-right2">
32
+ <span class="strong">100% </span>
33
+ <span class="quiet">Branches</span>
34
+ <span class="fraction">2/2</span>
35
+ </div>
36
+
37
+ <div class="fl pad1y space-right2">
38
+ <span class="strong">100% </span>
39
+ <span class="quiet">Functions</span>
40
+ <span class="fraction">1/1</span>
41
+ </div>
42
+
43
+ <div class="fl pad1y space-right2">
44
+ <span class="strong">100% </span>
45
+ <span class="quiet">Lines</span>
46
+ <span class="fraction">6/6</span>
47
+ </div>
48
+ </div>
49
+ <p class="quiet">
50
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block,
51
+ <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
52
+ </p>
53
+ <template id="filterTemplate">
54
+ <div class="quiet">
55
+ Filter:
56
+ <input type="search" id="fileSearch" />
57
+ </div>
58
+ </template>
59
+ </div>
60
+ <div class="status-line high"></div>
61
+ <pre><table class="coverage">
62
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
63
+ <a name='L2'></a><a href='#L2'>2</a>
64
+ <a name='L3'></a><a href='#L3'>3</a>
65
+ <a name='L4'></a><a href='#L4'>4</a>
66
+ <a name='L5'></a><a href='#L5'>5</a>
67
+ <a name='L6'></a><a href='#L6'>6</a>
68
+ <a name='L7'></a><a href='#L7'>7</a>
69
+ <a name='L8'></a><a href='#L8'>8</a>
70
+ <a name='L9'></a><a href='#L9'>9</a>
71
+ <a name='L10'></a><a href='#L10'>10</a>
72
+ <a name='L11'></a><a href='#L11'>11</a>
73
+ <a name='L12'></a><a href='#L12'>12</a>
74
+ <a name='L13'></a><a href='#L13'>13</a>
75
+ <a name='L14'></a><a href='#L14'>14</a>
76
+ <a name='L15'></a><a href='#L15'>15</a>
77
+ <a name='L16'></a><a href='#L16'>16</a>
78
+ <a name='L17'></a><a href='#L17'>17</a>
79
+ <a name='L18'></a><a href='#L18'>18</a>
80
+ <a name='L19'></a><a href='#L19'>19</a>
81
+ <a name='L20'></a><a href='#L20'>20</a>
82
+ <a name='L21'></a><a href='#L21'>21</a>
83
+ <a name='L22'></a><a href='#L22'>22</a>
84
+ <a name='L23'></a><a href='#L23'>23</a>
85
+ <a name='L24'></a><a href='#L24'>24</a>
86
+ <a name='L25'></a><a href='#L25'>25</a>
87
+ <a name='L26'></a><a href='#L26'>26</a>
88
+ <a name='L27'></a><a href='#L27'>27</a>
89
+ <a name='L28'></a><a href='#L28'>28</a>
90
+ <a name='L29'></a><a href='#L29'>29</a>
91
+ <a name='L30'></a><a href='#L30'>30</a>
92
+ <a name='L31'></a><a href='#L31'>31</a>
93
+ <a name='L32'></a><a href='#L32'>32</a>
94
+ <a name='L33'></a><a href='#L33'>33</a>
95
+ <a name='L34'></a><a href='#L34'>34</a>
96
+ <a name='L35'></a><a href='#L35'>35</a>
97
+ <a name='L36'></a><a href='#L36'>36</a>
98
+ <a name='L37'></a><a href='#L37'>37</a>
99
+ <a name='L38'></a><a href='#L38'>38</a>
100
+ <a name='L39'></a><a href='#L39'>39</a>
101
+ <a name='L40'></a><a href='#L40'>40</a>
102
+ <a name='L41'></a><a href='#L41'>41</a>
103
+ <a name='L42'></a><a href='#L42'>42</a>
104
+ <a name='L43'></a><a href='#L43'>43</a>
105
+ <a name='L44'></a><a href='#L44'>44</a>
106
+ <a name='L45'></a><a href='#L45'>45</a>
107
+ <a name='L46'></a><a href='#L46'>46</a>
108
+ <a name='L47'></a><a href='#L47'>47</a>
109
+ <a name='L48'></a><a href='#L48'>48</a>
110
+ <a name='L49'></a><a href='#L49'>49</a>
111
+ <a name='L50'></a><a href='#L50'>50</a>
112
+ <a name='L51'></a><a href='#L51'>51</a>
113
+ <a name='L52'></a><a href='#L52'>52</a>
114
+ <a name='L53'></a><a href='#L53'>53</a>
115
+ <a name='L54'></a><a href='#L54'>54</a>
116
+ <a name='L55'></a><a href='#L55'>55</a>
117
+ <a name='L56'></a><a href='#L56'>56</a>
118
+ <a name='L57'></a><a href='#L57'>57</a>
119
+ <a name='L58'></a><a href='#L58'>58</a>
120
+ <a name='L59'></a><a href='#L59'>59</a>
121
+ <a name='L60'></a><a href='#L60'>60</a>
122
+ <a name='L61'></a><a href='#L61'>61</a>
123
+ <a name='L62'></a><a href='#L62'>62</a>
124
+ <a name='L63'></a><a href='#L63'>63</a>
125
+ <a name='L64'></a><a href='#L64'>64</a>
126
+ <a name='L65'></a><a href='#L65'>65</a>
127
+ <a name='L66'></a><a href='#L66'>66</a>
128
+ <a name='L67'></a><a href='#L67'>67</a>
129
+ <a name='L68'></a><a href='#L68'>68</a>
130
+ <a name='L69'></a><a href='#L69'>69</a>
131
+ <a name='L70'></a><a href='#L70'>70</a>
132
+ <a name='L71'></a><a href='#L71'>71</a>
133
+ <a name='L72'></a><a href='#L72'>72</a>
134
+ <a name='L73'></a><a href='#L73'>73</a>
135
+ <a name='L74'></a><a href='#L74'>74</a>
136
+ <a name='L75'></a><a href='#L75'>75</a>
137
+ <a name='L76'></a><a href='#L76'>76</a>
138
+ <a name='L77'></a><a href='#L77'>77</a>
139
+ <a name='L78'></a><a href='#L78'>78</a>
140
+ <a name='L79'></a><a href='#L79'>79</a>
141
+ <a name='L80'></a><a href='#L80'>80</a>
142
+ <a name='L81'></a><a href='#L81'>81</a>
143
+ <a name='L82'></a><a href='#L82'>82</a>
144
+ <a name='L83'></a><a href='#L83'>83</a>
145
+ <a name='L84'></a><a href='#L84'>84</a>
146
+ <a name='L85'></a><a href='#L85'>85</a>
147
+ <a name='L86'></a><a href='#L86'>86</a>
148
+ <a name='L87'></a><a href='#L87'>87</a>
149
+ <a name='L88'></a><a href='#L88'>88</a>
150
+ <a name='L89'></a><a href='#L89'>89</a>
151
+ <a name='L90'></a><a href='#L90'>90</a>
152
+ <a name='L91'></a><a href='#L91'>91</a>
153
+ <a name='L92'></a><a href='#L92'>92</a>
154
+ <a name='L93'></a><a href='#L93'>93</a>
155
+ <a name='L94'></a><a href='#L94'>94</a>
156
+ <a name='L95'></a><a href='#L95'>95</a>
157
+ <a name='L96'></a><a href='#L96'>96</a>
158
+ <a name='L97'></a><a href='#L97'>97</a>
159
+ <a name='L98'></a><a href='#L98'>98</a>
160
+ <a name='L99'></a><a href='#L99'>99</a>
161
+ <a name='L100'></a><a href='#L100'>100</a>
162
+ <a name='L101'></a><a href='#L101'>101</a>
163
+ <a name='L102'></a><a href='#L102'>102</a>
164
+ <a name='L103'></a><a href='#L103'>103</a>
165
+ <a name='L104'></a><a href='#L104'>104</a>
166
+ <a name='L105'></a><a href='#L105'>105</a>
167
+ <a name='L106'></a><a href='#L106'>106</a>
168
+ <a name='L107'></a><a href='#L107'>107</a>
169
+ <a name='L108'></a><a href='#L108'>108</a>
170
+ <a name='L109'></a><a href='#L109'>109</a>
171
+ <a name='L110'></a><a href='#L110'>110</a>
172
+ <a name='L111'></a><a href='#L111'>111</a>
173
+ <a name='L112'></a><a href='#L112'>112</a>
174
+ <a name='L113'></a><a href='#L113'>113</a>
175
+ <a name='L114'></a><a href='#L114'>114</a>
176
+ <a name='L115'></a><a href='#L115'>115</a>
177
+ <a name='L116'></a><a href='#L116'>116</a>
178
+ <a name='L117'></a><a href='#L117'>117</a>
179
+ <a name='L118'></a><a href='#L118'>118</a>
180
+ <a name='L119'></a><a href='#L119'>119</a>
181
+ <a name='L120'></a><a href='#L120'>120</a>
182
+ <a name='L121'></a><a href='#L121'>121</a>
183
+ <a name='L122'></a><a href='#L122'>122</a>
184
+ <a name='L123'></a><a href='#L123'>123</a>
185
+ <a name='L124'></a><a href='#L124'>124</a>
186
+ <a name='L125'></a><a href='#L125'>125</a>
187
+ <a name='L126'></a><a href='#L126'>126</a>
188
+ <a name='L127'></a><a href='#L127'>127</a>
189
+ <a name='L128'></a><a href='#L128'>128</a>
190
+ <a name='L129'></a><a href='#L129'>129</a>
191
+ <a name='L130'></a><a href='#L130'>130</a>
192
+ <a name='L131'></a><a href='#L131'>131</a>
193
+ <a name='L132'></a><a href='#L132'>132</a>
194
+ <a name='L133'></a><a href='#L133'>133</a>
195
+ <a name='L134'></a><a href='#L134'>134</a>
196
+ <a name='L135'></a><a href='#L135'>135</a>
197
+ <a name='L136'></a><a href='#L136'>136</a>
198
+ <a name='L137'></a><a href='#L137'>137</a>
199
+ <a name='L138'></a><a href='#L138'>138</a>
200
+ <a name='L139'></a><a href='#L139'>139</a>
201
+ <a name='L140'></a><a href='#L140'>140</a>
202
+ <a name='L141'></a><a href='#L141'>141</a>
203
+ <a name='L142'></a><a href='#L142'>142</a>
204
+ <a name='L143'></a><a href='#L143'>143</a>
205
+ <a name='L144'></a><a href='#L144'>144</a>
206
+ <a name='L145'></a><a href='#L145'>145</a>
207
+ <a name='L146'></a><a href='#L146'>146</a>
208
+ <a name='L147'></a><a href='#L147'>147</a>
209
+ <a name='L148'></a><a href='#L148'>148</a>
210
+ <a name='L149'></a><a href='#L149'>149</a>
211
+ <a name='L150'></a><a href='#L150'>150</a>
212
+ <a name='L151'></a><a href='#L151'>151</a>
213
+ <a name='L152'></a><a href='#L152'>152</a>
214
+ <a name='L153'></a><a href='#L153'>153</a>
215
+ <a name='L154'></a><a href='#L154'>154</a>
216
+ <a name='L155'></a><a href='#L155'>155</a>
217
+ <a name='L156'></a><a href='#L156'>156</a>
218
+ <a name='L157'></a><a href='#L157'>157</a>
219
+ <a name='L158'></a><a href='#L158'>158</a>
220
+ <a name='L159'></a><a href='#L159'>159</a>
221
+ <a name='L160'></a><a href='#L160'>160</a>
222
+ <a name='L161'></a><a href='#L161'>161</a>
223
+ <a name='L162'></a><a href='#L162'>162</a>
224
+ <a name='L163'></a><a href='#L163'>163</a>
225
+ <a name='L164'></a><a href='#L164'>164</a>
226
+ <a name='L165'></a><a href='#L165'>165</a>
227
+ <a name='L166'></a><a href='#L166'>166</a>
228
+ <a name='L167'></a><a href='#L167'>167</a>
229
+ <a name='L168'></a><a href='#L168'>168</a>
230
+ <a name='L169'></a><a href='#L169'>169</a>
231
+ <a name='L170'></a><a href='#L170'>170</a>
232
+ <a name='L171'></a><a href='#L171'>171</a>
233
+ <a name='L172'></a><a href='#L172'>172</a>
234
+ <a name='L173'></a><a href='#L173'>173</a>
235
+ <a name='L174'></a><a href='#L174'>174</a>
236
+ <a name='L175'></a><a href='#L175'>175</a>
237
+ <a name='L176'></a><a href='#L176'>176</a>
238
+ <a name='L177'></a><a href='#L177'>177</a>
239
+ <a name='L178'></a><a href='#L178'>178</a>
240
+ <a name='L179'></a><a href='#L179'>179</a>
241
+ <a name='L180'></a><a href='#L180'>180</a>
242
+ <a name='L181'></a><a href='#L181'>181</a>
243
+ <a name='L182'></a><a href='#L182'>182</a>
244
+ <a name='L183'></a><a href='#L183'>183</a>
245
+ <a name='L184'></a><a href='#L184'>184</a>
246
+ <a name='L185'></a><a href='#L185'>185</a>
247
+ <a name='L186'></a><a href='#L186'>186</a>
248
+ <a name='L187'></a><a href='#L187'>187</a>
249
+ <a name='L188'></a><a href='#L188'>188</a>
250
+ <a name='L189'></a><a href='#L189'>189</a>
251
+ <a name='L190'></a><a href='#L190'>190</a>
252
+ <a name='L191'></a><a href='#L191'>191</a>
253
+ <a name='L192'></a><a href='#L192'>192</a>
254
+ <a name='L193'></a><a href='#L193'>193</a>
255
+ <a name='L194'></a><a href='#L194'>194</a>
256
+ <a name='L195'></a><a href='#L195'>195</a>
257
+ <a name='L196'></a><a href='#L196'>196</a>
258
+ <a name='L197'></a><a href='#L197'>197</a>
259
+ <a name='L198'></a><a href='#L198'>198</a>
260
+ <a name='L199'></a><a href='#L199'>199</a>
261
+ <a name='L200'></a><a href='#L200'>200</a>
262
+ <a name='L201'></a><a href='#L201'>201</a>
263
+ <a name='L202'></a><a href='#L202'>202</a>
264
+ <a name='L203'></a><a href='#L203'>203</a>
265
+ <a name='L204'></a><a href='#L204'>204</a>
266
+ <a name='L205'></a><a href='#L205'>205</a>
267
+ <a name='L206'></a><a href='#L206'>206</a>
268
+ <a name='L207'></a><a href='#L207'>207</a>
269
+ <a name='L208'></a><a href='#L208'>208</a>
270
+ <a name='L209'></a><a href='#L209'>209</a>
271
+ <a name='L210'></a><a href='#L210'>210</a>
272
+ <a name='L211'></a><a href='#L211'>211</a>
273
+ <a name='L212'></a><a href='#L212'>212</a>
274
+ <a name='L213'></a><a href='#L213'>213</a>
275
+ <a name='L214'></a><a href='#L214'>214</a>
276
+ <a name='L215'></a><a href='#L215'>215</a>
277
+ <a name='L216'></a><a href='#L216'>216</a>
278
+ <a name='L217'></a><a href='#L217'>217</a>
279
+ <a name='L218'></a><a href='#L218'>218</a>
280
+ <a name='L219'></a><a href='#L219'>219</a>
281
+ <a name='L220'></a><a href='#L220'>220</a>
282
+ <a name='L221'></a><a href='#L221'>221</a>
283
+ <a name='L222'></a><a href='#L222'>222</a>
284
+ <a name='L223'></a><a href='#L223'>223</a>
285
+ <a name='L224'></a><a href='#L224'>224</a>
286
+ <a name='L225'></a><a href='#L225'>225</a>
287
+ <a name='L226'></a><a href='#L226'>226</a>
288
+ <a name='L227'></a><a href='#L227'>227</a>
289
+ <a name='L228'></a><a href='#L228'>228</a>
290
+ <a name='L229'></a><a href='#L229'>229</a>
291
+ <a name='L230'></a><a href='#L230'>230</a>
292
+ <a name='L231'></a><a href='#L231'>231</a>
293
+ <a name='L232'></a><a href='#L232'>232</a>
294
+ <a name='L233'></a><a href='#L233'>233</a>
295
+ <a name='L234'></a><a href='#L234'>234</a>
296
+ <a name='L235'></a><a href='#L235'>235</a>
297
+ <a name='L236'></a><a href='#L236'>236</a>
298
+ <a name='L237'></a><a href='#L237'>237</a>
299
+ <a name='L238'></a><a href='#L238'>238</a>
300
+ <a name='L239'></a><a href='#L239'>239</a>
301
+ <a name='L240'></a><a href='#L240'>240</a>
302
+ <a name='L241'></a><a href='#L241'>241</a>
303
+ <a name='L242'></a><a href='#L242'>242</a>
304
+ <a name='L243'></a><a href='#L243'>243</a>
305
+ <a name='L244'></a><a href='#L244'>244</a>
306
+ <a name='L245'></a><a href='#L245'>245</a>
307
+ <a name='L246'></a><a href='#L246'>246</a>
308
+ <a name='L247'></a><a href='#L247'>247</a>
309
+ <a name='L248'></a><a href='#L248'>248</a>
310
+ <a name='L249'></a><a href='#L249'>249</a>
311
+ <a name='L250'></a><a href='#L250'>250</a>
312
+ <a name='L251'></a><a href='#L251'>251</a>
313
+ <a name='L252'></a><a href='#L252'>252</a>
314
+ <a name='L253'></a><a href='#L253'>253</a>
315
+ <a name='L254'></a><a href='#L254'>254</a>
316
+ <a name='L255'></a><a href='#L255'>255</a>
317
+ <a name='L256'></a><a href='#L256'>256</a>
318
+ <a name='L257'></a><a href='#L257'>257</a>
319
+ <a name='L258'></a><a href='#L258'>258</a>
320
+ <a name='L259'></a><a href='#L259'>259</a>
321
+ <a name='L260'></a><a href='#L260'>260</a>
322
+ <a name='L261'></a><a href='#L261'>261</a>
323
+ <a name='L262'></a><a href='#L262'>262</a>
324
+ <a name='L263'></a><a href='#L263'>263</a>
325
+ <a name='L264'></a><a href='#L264'>264</a>
326
+ <a name='L265'></a><a href='#L265'>265</a>
327
+ <a name='L266'></a><a href='#L266'>266</a>
328
+ <a name='L267'></a><a href='#L267'>267</a>
329
+ <a name='L268'></a><a href='#L268'>268</a>
330
+ <a name='L269'></a><a href='#L269'>269</a>
331
+ <a name='L270'></a><a href='#L270'>270</a>
332
+ <a name='L271'></a><a href='#L271'>271</a>
333
+ <a name='L272'></a><a href='#L272'>272</a>
334
+ <a name='L273'></a><a href='#L273'>273</a>
335
+ <a name='L274'></a><a href='#L274'>274</a>
336
+ <a name='L275'></a><a href='#L275'>275</a>
337
+ <a name='L276'></a><a href='#L276'>276</a>
338
+ <a name='L277'></a><a href='#L277'>277</a>
339
+ <a name='L278'></a><a href='#L278'>278</a>
340
+ <a name='L279'></a><a href='#L279'>279</a>
341
+ <a name='L280'></a><a href='#L280'>280</a>
342
+ <a name='L281'></a><a href='#L281'>281</a>
343
+ <a name='L282'></a><a href='#L282'>282</a>
344
+ <a name='L283'></a><a href='#L283'>283</a>
345
+ <a name='L284'></a><a href='#L284'>284</a>
346
+ <a name='L285'></a><a href='#L285'>285</a>
347
+ <a name='L286'></a><a href='#L286'>286</a>
348
+ <a name='L287'></a><a href='#L287'>287</a>
349
+ <a name='L288'></a><a href='#L288'>288</a>
350
+ <a name='L289'></a><a href='#L289'>289</a>
351
+ <a name='L290'></a><a href='#L290'>290</a>
352
+ <a name='L291'></a><a href='#L291'>291</a>
353
+ <a name='L292'></a><a href='#L292'>292</a>
354
+ <a name='L293'></a><a href='#L293'>293</a>
355
+ <a name='L294'></a><a href='#L294'>294</a>
356
+ <a name='L295'></a><a href='#L295'>295</a>
357
+ <a name='L296'></a><a href='#L296'>296</a>
358
+ <a name='L297'></a><a href='#L297'>297</a>
359
+ <a name='L298'></a><a href='#L298'>298</a>
360
+ <a name='L299'></a><a href='#L299'>299</a>
361
+ <a name='L300'></a><a href='#L300'>300</a>
362
+ <a name='L301'></a><a href='#L301'>301</a>
363
+ <a name='L302'></a><a href='#L302'>302</a>
364
+ <a name='L303'></a><a href='#L303'>303</a>
365
+ <a name='L304'></a><a href='#L304'>304</a>
366
+ <a name='L305'></a><a href='#L305'>305</a>
367
+ <a name='L306'></a><a href='#L306'>306</a>
368
+ <a name='L307'></a><a href='#L307'>307</a>
369
+ <a name='L308'></a><a href='#L308'>308</a>
370
+ <a name='L309'></a><a href='#L309'>309</a>
371
+ <a name='L310'></a><a href='#L310'>310</a>
372
+ <a name='L311'></a><a href='#L311'>311</a>
373
+ <a name='L312'></a><a href='#L312'>312</a>
374
+ <a name='L313'></a><a href='#L313'>313</a>
375
+ <a name='L314'></a><a href='#L314'>314</a>
376
+ <a name='L315'></a><a href='#L315'>315</a>
377
+ <a name='L316'></a><a href='#L316'>316</a>
378
+ <a name='L317'></a><a href='#L317'>317</a>
379
+ <a name='L318'></a><a href='#L318'>318</a>
380
+ <a name='L319'></a><a href='#L319'>319</a>
381
+ <a name='L320'></a><a href='#L320'>320</a>
382
+ <a name='L321'></a><a href='#L321'>321</a>
383
+ <a name='L322'></a><a href='#L322'>322</a>
384
+ <a name='L323'></a><a href='#L323'>323</a>
385
+ <a name='L324'></a><a href='#L324'>324</a>
386
+ <a name='L325'></a><a href='#L325'>325</a>
387
+ <a name='L326'></a><a href='#L326'>326</a>
388
+ <a name='L327'></a><a href='#L327'>327</a>
389
+ <a name='L328'></a><a href='#L328'>328</a>
390
+ <a name='L329'></a><a href='#L329'>329</a>
391
+ <a name='L330'></a><a href='#L330'>330</a>
392
+ <a name='L331'></a><a href='#L331'>331</a>
393
+ <a name='L332'></a><a href='#L332'>332</a>
394
+ <a name='L333'></a><a href='#L333'>333</a>
395
+ <a name='L334'></a><a href='#L334'>334</a>
396
+ <a name='L335'></a><a href='#L335'>335</a>
397
+ <a name='L336'></a><a href='#L336'>336</a>
398
+ <a name='L337'></a><a href='#L337'>337</a>
399
+ <a name='L338'></a><a href='#L338'>338</a>
400
+ <a name='L339'></a><a href='#L339'>339</a>
401
+ <a name='L340'></a><a href='#L340'>340</a>
402
+ <a name='L341'></a><a href='#L341'>341</a>
403
+ <a name='L342'></a><a href='#L342'>342</a>
404
+ <a name='L343'></a><a href='#L343'>343</a>
405
+ <a name='L344'></a><a href='#L344'>344</a>
406
+ <a name='L345'></a><a href='#L345'>345</a>
407
+ <a name='L346'></a><a href='#L346'>346</a>
408
+ <a name='L347'></a><a href='#L347'>347</a>
409
+ <a name='L348'></a><a href='#L348'>348</a>
410
+ <a name='L349'></a><a href='#L349'>349</a>
411
+ <a name='L350'></a><a href='#L350'>350</a>
412
+ <a name='L351'></a><a href='#L351'>351</a>
413
+ <a name='L352'></a><a href='#L352'>352</a>
414
+ <a name='L353'></a><a href='#L353'>353</a>
415
+ <a name='L354'></a><a href='#L354'>354</a>
416
+ <a name='L355'></a><a href='#L355'>355</a>
417
+ <a name='L356'></a><a href='#L356'>356</a>
418
+ <a name='L357'></a><a href='#L357'>357</a>
419
+ <a name='L358'></a><a href='#L358'>358</a>
420
+ <a name='L359'></a><a href='#L359'>359</a>
421
+ <a name='L360'></a><a href='#L360'>360</a>
422
+ <a name='L361'></a><a href='#L361'>361</a>
423
+ <a name='L362'></a><a href='#L362'>362</a>
424
+ <a name='L363'></a><a href='#L363'>363</a>
425
+ <a name='L364'></a><a href='#L364'>364</a>
426
+ <a name='L365'></a><a href='#L365'>365</a>
427
+ <a name='L366'></a><a href='#L366'>366</a>
428
+ <a name='L367'></a><a href='#L367'>367</a>
429
+ <a name='L368'></a><a href='#L368'>368</a>
430
+ <a name='L369'></a><a href='#L369'>369</a>
431
+ <a name='L370'></a><a href='#L370'>370</a>
432
+ <a name='L371'></a><a href='#L371'>371</a>
433
+ <a name='L372'></a><a href='#L372'>372</a>
434
+ <a name='L373'></a><a href='#L373'>373</a>
435
+ <a name='L374'></a><a href='#L374'>374</a>
436
+ <a name='L375'></a><a href='#L375'>375</a>
437
+ <a name='L376'></a><a href='#L376'>376</a>
438
+ <a name='L377'></a><a href='#L377'>377</a>
439
+ <a name='L378'></a><a href='#L378'>378</a>
440
+ <a name='L379'></a><a href='#L379'>379</a>
441
+ <a name='L380'></a><a href='#L380'>380</a>
442
+ <a name='L381'></a><a href='#L381'>381</a>
443
+ <a name='L382'></a><a href='#L382'>382</a>
444
+ <a name='L383'></a><a href='#L383'>383</a>
445
+ <a name='L384'></a><a href='#L384'>384</a>
446
+ <a name='L385'></a><a href='#L385'>385</a>
447
+ <a name='L386'></a><a href='#L386'>386</a>
448
+ <a name='L387'></a><a href='#L387'>387</a>
449
+ <a name='L388'></a><a href='#L388'>388</a>
450
+ <a name='L389'></a><a href='#L389'>389</a>
451
+ <a name='L390'></a><a href='#L390'>390</a>
452
+ <a name='L391'></a><a href='#L391'>391</a>
453
+ <a name='L392'></a><a href='#L392'>392</a>
454
+ <a name='L393'></a><a href='#L393'>393</a>
455
+ <a name='L394'></a><a href='#L394'>394</a>
456
+ <a name='L395'></a><a href='#L395'>395</a>
457
+ <a name='L396'></a><a href='#L396'>396</a>
458
+ <a name='L397'></a><a href='#L397'>397</a>
459
+ <a name='L398'></a><a href='#L398'>398</a>
460
+ <a name='L399'></a><a href='#L399'>399</a>
461
+ <a name='L400'></a><a href='#L400'>400</a>
462
+ <a name='L401'></a><a href='#L401'>401</a>
463
+ <a name='L402'></a><a href='#L402'>402</a>
464
+ <a name='L403'></a><a href='#L403'>403</a>
465
+ <a name='L404'></a><a href='#L404'>404</a>
466
+ <a name='L405'></a><a href='#L405'>405</a>
467
+ <a name='L406'></a><a href='#L406'>406</a>
468
+ <a name='L407'></a><a href='#L407'>407</a>
469
+ <a name='L408'></a><a href='#L408'>408</a>
470
+ <a name='L409'></a><a href='#L409'>409</a>
471
+ <a name='L410'></a><a href='#L410'>410</a>
472
+ <a name='L411'></a><a href='#L411'>411</a>
473
+ <a name='L412'></a><a href='#L412'>412</a>
474
+ <a name='L413'></a><a href='#L413'>413</a>
475
+ <a name='L414'></a><a href='#L414'>414</a>
476
+ <a name='L415'></a><a href='#L415'>415</a>
477
+ <a name='L416'></a><a href='#L416'>416</a>
478
+ <a name='L417'></a><a href='#L417'>417</a>
479
+ <a name='L418'></a><a href='#L418'>418</a>
480
+ <a name='L419'></a><a href='#L419'>419</a>
481
+ <a name='L420'></a><a href='#L420'>420</a>
482
+ <a name='L421'></a><a href='#L421'>421</a>
483
+ <a name='L422'></a><a href='#L422'>422</a>
484
+ <a name='L423'></a><a href='#L423'>423</a>
485
+ <a name='L424'></a><a href='#L424'>424</a>
486
+ <a name='L425'></a><a href='#L425'>425</a>
487
+ <a name='L426'></a><a href='#L426'>426</a>
488
+ <a name='L427'></a><a href='#L427'>427</a>
489
+ <a name='L428'></a><a href='#L428'>428</a>
490
+ <a name='L429'></a><a href='#L429'>429</a>
491
+ <a name='L430'></a><a href='#L430'>430</a>
492
+ <a name='L431'></a><a href='#L431'>431</a>
493
+ <a name='L432'></a><a href='#L432'>432</a>
494
+ <a name='L433'></a><a href='#L433'>433</a>
495
+ <a name='L434'></a><a href='#L434'>434</a>
496
+ <a name='L435'></a><a href='#L435'>435</a>
497
+ <a name='L436'></a><a href='#L436'>436</a>
498
+ <a name='L437'></a><a href='#L437'>437</a>
499
+ <a name='L438'></a><a href='#L438'>438</a>
500
+ <a name='L439'></a><a href='#L439'>439</a>
501
+ <a name='L440'></a><a href='#L440'>440</a>
502
+ <a name='L441'></a><a href='#L441'>441</a>
503
+ <a name='L442'></a><a href='#L442'>442</a>
504
+ <a name='L443'></a><a href='#L443'>443</a>
505
+ <a name='L444'></a><a href='#L444'>444</a>
506
+ <a name='L445'></a><a href='#L445'>445</a>
507
+ <a name='L446'></a><a href='#L446'>446</a>
508
+ <a name='L447'></a><a href='#L447'>447</a>
509
+ <a name='L448'></a><a href='#L448'>448</a>
510
+ <a name='L449'></a><a href='#L449'>449</a>
511
+ <a name='L450'></a><a href='#L450'>450</a>
512
+ <a name='L451'></a><a href='#L451'>451</a>
513
+ <a name='L452'></a><a href='#L452'>452</a>
514
+ <a name='L453'></a><a href='#L453'>453</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
515
+ <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-neutral">&nbsp;</span>
517
+ <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-neutral">&nbsp;</span>
519
+ <span class="cline-any cline-neutral">&nbsp;</span>
520
+ <span class="cline-any cline-neutral">&nbsp;</span>
521
+ <span class="cline-any cline-neutral">&nbsp;</span>
522
+ <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-neutral">&nbsp;</span>
524
+ <span class="cline-any cline-neutral">&nbsp;</span>
525
+ <span class="cline-any cline-neutral">&nbsp;</span>
526
+ <span class="cline-any cline-neutral">&nbsp;</span>
527
+ <span class="cline-any cline-yes">2x</span>
528
+ <span class="cline-any cline-neutral">&nbsp;</span>
529
+ <span class="cline-any cline-neutral">&nbsp;</span>
530
+ <span class="cline-any cline-neutral">&nbsp;</span>
531
+ <span class="cline-any cline-neutral">&nbsp;</span>
532
+ <span class="cline-any cline-neutral">&nbsp;</span>
533
+ <span class="cline-any cline-neutral">&nbsp;</span>
534
+ <span class="cline-any cline-neutral">&nbsp;</span>
535
+ <span class="cline-any cline-neutral">&nbsp;</span>
536
+ <span class="cline-any cline-neutral">&nbsp;</span>
537
+ <span class="cline-any cline-neutral">&nbsp;</span>
538
+ <span class="cline-any cline-neutral">&nbsp;</span>
539
+ <span class="cline-any cline-neutral">&nbsp;</span>
540
+ <span class="cline-any cline-neutral">&nbsp;</span>
541
+ <span class="cline-any cline-neutral">&nbsp;</span>
542
+ <span class="cline-any cline-neutral">&nbsp;</span>
543
+ <span class="cline-any cline-neutral">&nbsp;</span>
544
+ <span class="cline-any cline-neutral">&nbsp;</span>
545
+ <span class="cline-any cline-neutral">&nbsp;</span>
546
+ <span class="cline-any cline-neutral">&nbsp;</span>
547
+ <span class="cline-any cline-neutral">&nbsp;</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
549
+ <span class="cline-any cline-neutral">&nbsp;</span>
550
+ <span class="cline-any cline-neutral">&nbsp;</span>
551
+ <span class="cline-any cline-neutral">&nbsp;</span>
552
+ <span class="cline-any cline-neutral">&nbsp;</span>
553
+ <span class="cline-any cline-neutral">&nbsp;</span>
554
+ <span class="cline-any cline-neutral">&nbsp;</span>
555
+ <span class="cline-any cline-neutral">&nbsp;</span>
556
+ <span class="cline-any cline-neutral">&nbsp;</span>
557
+ <span class="cline-any cline-neutral">&nbsp;</span>
558
+ <span class="cline-any cline-neutral">&nbsp;</span>
559
+ <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-neutral">&nbsp;</span>
561
+ <span class="cline-any cline-neutral">&nbsp;</span>
562
+ <span class="cline-any cline-neutral">&nbsp;</span>
563
+ <span class="cline-any cline-neutral">&nbsp;</span>
564
+ <span class="cline-any cline-neutral">&nbsp;</span>
565
+ <span class="cline-any cline-neutral">&nbsp;</span>
566
+ <span class="cline-any cline-neutral">&nbsp;</span>
567
+ <span class="cline-any cline-neutral">&nbsp;</span>
568
+ <span class="cline-any cline-neutral">&nbsp;</span>
569
+ <span class="cline-any cline-neutral">&nbsp;</span>
570
+ <span class="cline-any cline-neutral">&nbsp;</span>
571
+ <span class="cline-any cline-neutral">&nbsp;</span>
572
+ <span class="cline-any cline-neutral">&nbsp;</span>
573
+ <span class="cline-any cline-neutral">&nbsp;</span>
574
+ <span class="cline-any cline-neutral">&nbsp;</span>
575
+ <span class="cline-any cline-neutral">&nbsp;</span>
576
+ <span class="cline-any cline-neutral">&nbsp;</span>
577
+ <span class="cline-any cline-neutral">&nbsp;</span>
578
+ <span class="cline-any cline-neutral">&nbsp;</span>
579
+ <span class="cline-any cline-neutral">&nbsp;</span>
580
+ <span class="cline-any cline-neutral">&nbsp;</span>
581
+ <span class="cline-any cline-neutral">&nbsp;</span>
582
+ <span class="cline-any cline-neutral">&nbsp;</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
584
+ <span class="cline-any cline-neutral">&nbsp;</span>
585
+ <span class="cline-any cline-neutral">&nbsp;</span>
586
+ <span class="cline-any cline-neutral">&nbsp;</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-neutral">&nbsp;</span>
589
+ <span class="cline-any cline-neutral">&nbsp;</span>
590
+ <span class="cline-any cline-neutral">&nbsp;</span>
591
+ <span class="cline-any cline-neutral">&nbsp;</span>
592
+ <span class="cline-any cline-neutral">&nbsp;</span>
593
+ <span class="cline-any cline-neutral">&nbsp;</span>
594
+ <span class="cline-any cline-neutral">&nbsp;</span>
595
+ <span class="cline-any cline-neutral">&nbsp;</span>
596
+ <span class="cline-any cline-neutral">&nbsp;</span>
597
+ <span class="cline-any cline-neutral">&nbsp;</span>
598
+ <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-neutral">&nbsp;</span>
602
+ <span class="cline-any cline-neutral">&nbsp;</span>
603
+ <span class="cline-any cline-neutral">&nbsp;</span>
604
+ <span class="cline-any cline-neutral">&nbsp;</span>
605
+ <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
607
+ <span class="cline-any cline-neutral">&nbsp;</span>
608
+ <span class="cline-any cline-neutral">&nbsp;</span>
609
+ <span class="cline-any cline-neutral">&nbsp;</span>
610
+ <span class="cline-any cline-neutral">&nbsp;</span>
611
+ <span class="cline-any cline-neutral">&nbsp;</span>
612
+ <span class="cline-any cline-neutral">&nbsp;</span>
613
+ <span class="cline-any cline-neutral">&nbsp;</span>
614
+ <span class="cline-any cline-neutral">&nbsp;</span>
615
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-neutral">&nbsp;</span>
617
+ <span class="cline-any cline-neutral">&nbsp;</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-neutral">&nbsp;</span>
620
+ <span class="cline-any cline-neutral">&nbsp;</span>
621
+ <span class="cline-any cline-neutral">&nbsp;</span>
622
+ <span class="cline-any cline-neutral">&nbsp;</span>
623
+ <span class="cline-any cline-neutral">&nbsp;</span>
624
+ <span class="cline-any cline-neutral">&nbsp;</span>
625
+ <span class="cline-any cline-neutral">&nbsp;</span>
626
+ <span class="cline-any cline-neutral">&nbsp;</span>
627
+ <span class="cline-any cline-neutral">&nbsp;</span>
628
+ <span class="cline-any cline-neutral">&nbsp;</span>
629
+ <span class="cline-any cline-neutral">&nbsp;</span>
630
+ <span class="cline-any cline-neutral">&nbsp;</span>
631
+ <span class="cline-any cline-neutral">&nbsp;</span>
632
+ <span class="cline-any cline-neutral">&nbsp;</span>
633
+ <span class="cline-any cline-neutral">&nbsp;</span>
634
+ <span class="cline-any cline-neutral">&nbsp;</span>
635
+ <span class="cline-any cline-neutral">&nbsp;</span>
636
+ <span class="cline-any cline-neutral">&nbsp;</span>
637
+ <span class="cline-any cline-neutral">&nbsp;</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-neutral">&nbsp;</span>
640
+ <span class="cline-any cline-neutral">&nbsp;</span>
641
+ <span class="cline-any cline-neutral">&nbsp;</span>
642
+ <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-neutral">&nbsp;</span>
644
+ <span class="cline-any cline-neutral">&nbsp;</span>
645
+ <span class="cline-any cline-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-neutral">&nbsp;</span>
648
+ <span class="cline-any cline-neutral">&nbsp;</span>
649
+ <span class="cline-any cline-neutral">&nbsp;</span>
650
+ <span class="cline-any cline-neutral">&nbsp;</span>
651
+ <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-neutral">&nbsp;</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-neutral">&nbsp;</span>
655
+ <span class="cline-any cline-neutral">&nbsp;</span>
656
+ <span class="cline-any cline-neutral">&nbsp;</span>
657
+ <span class="cline-any cline-neutral">&nbsp;</span>
658
+ <span class="cline-any cline-neutral">&nbsp;</span>
659
+ <span class="cline-any cline-neutral">&nbsp;</span>
660
+ <span class="cline-any cline-neutral">&nbsp;</span>
661
+ <span class="cline-any cline-neutral">&nbsp;</span>
662
+ <span class="cline-any cline-neutral">&nbsp;</span>
663
+ <span class="cline-any cline-neutral">&nbsp;</span>
664
+ <span class="cline-any cline-neutral">&nbsp;</span>
665
+ <span class="cline-any cline-neutral">&nbsp;</span>
666
+ <span class="cline-any cline-neutral">&nbsp;</span>
667
+ <span class="cline-any cline-neutral">&nbsp;</span>
668
+ <span class="cline-any cline-neutral">&nbsp;</span>
669
+ <span class="cline-any cline-neutral">&nbsp;</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span>
671
+ <span class="cline-any cline-neutral">&nbsp;</span>
672
+ <span class="cline-any cline-neutral">&nbsp;</span>
673
+ <span class="cline-any cline-neutral">&nbsp;</span>
674
+ <span class="cline-any cline-neutral">&nbsp;</span>
675
+ <span class="cline-any cline-neutral">&nbsp;</span>
676
+ <span class="cline-any cline-neutral">&nbsp;</span>
677
+ <span class="cline-any cline-neutral">&nbsp;</span>
678
+ <span class="cline-any cline-neutral">&nbsp;</span>
679
+ <span class="cline-any cline-neutral">&nbsp;</span>
680
+ <span class="cline-any cline-neutral">&nbsp;</span>
681
+ <span class="cline-any cline-neutral">&nbsp;</span>
682
+ <span class="cline-any cline-neutral">&nbsp;</span>
683
+ <span class="cline-any cline-neutral">&nbsp;</span>
684
+ <span class="cline-any cline-neutral">&nbsp;</span>
685
+ <span class="cline-any cline-neutral">&nbsp;</span>
686
+ <span class="cline-any cline-neutral">&nbsp;</span>
687
+ <span class="cline-any cline-neutral">&nbsp;</span>
688
+ <span class="cline-any cline-neutral">&nbsp;</span>
689
+ <span class="cline-any cline-neutral">&nbsp;</span>
690
+ <span class="cline-any cline-neutral">&nbsp;</span>
691
+ <span class="cline-any cline-neutral">&nbsp;</span>
692
+ <span class="cline-any cline-neutral">&nbsp;</span>
693
+ <span class="cline-any cline-neutral">&nbsp;</span>
694
+ <span class="cline-any cline-neutral">&nbsp;</span>
695
+ <span class="cline-any cline-neutral">&nbsp;</span>
696
+ <span class="cline-any cline-neutral">&nbsp;</span>
697
+ <span class="cline-any cline-neutral">&nbsp;</span>
698
+ <span class="cline-any cline-neutral">&nbsp;</span>
699
+ <span class="cline-any cline-neutral">&nbsp;</span>
700
+ <span class="cline-any cline-neutral">&nbsp;</span>
701
+ <span class="cline-any cline-neutral">&nbsp;</span>
702
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
+ <span class="cline-any cline-neutral">&nbsp;</span>
704
+ <span class="cline-any cline-neutral">&nbsp;</span>
705
+ <span class="cline-any cline-neutral">&nbsp;</span>
706
+ <span class="cline-any cline-neutral">&nbsp;</span>
707
+ <span class="cline-any cline-neutral">&nbsp;</span>
708
+ <span class="cline-any cline-neutral">&nbsp;</span>
709
+ <span class="cline-any cline-neutral">&nbsp;</span>
710
+ <span class="cline-any cline-neutral">&nbsp;</span>
711
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
717
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
732
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</span>
745
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
749
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
754
+ <span class="cline-any cline-neutral">&nbsp;</span>
755
+ <span class="cline-any cline-neutral">&nbsp;</span>
756
+ <span class="cline-any cline-neutral">&nbsp;</span>
757
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
763
+ <span class="cline-any cline-neutral">&nbsp;</span>
764
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</span>
810
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
814
+ <span class="cline-any cline-neutral">&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-yes">2x</span>
818
+ <span class="cline-any cline-yes">2x</span>
819
+ <span class="cline-any cline-yes">2x</span>
820
+ <span class="cline-any cline-yes">2x</span>
821
+ <span class="cline-any cline-yes">2x</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-neutral">&nbsp;</span>
831
+ <span class="cline-any cline-neutral">&nbsp;</span>
832
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
845
+ <span class="cline-any cline-neutral">&nbsp;</span>
846
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</span>
858
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&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-neutral">&nbsp;</span>
886
+ <span class="cline-any cline-neutral">&nbsp;</span>
887
+ <span class="cline-any cline-neutral">&nbsp;</span>
888
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
892
+ <span class="cline-any cline-neutral">&nbsp;</span>
893
+ <span class="cline-any cline-neutral">&nbsp;</span>
894
+ <span class="cline-any cline-neutral">&nbsp;</span>
895
+ <span class="cline-any cline-neutral">&nbsp;</span>
896
+ <span class="cline-any cline-neutral">&nbsp;</span>
897
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
901
+ <span class="cline-any cline-neutral">&nbsp;</span>
902
+ <span class="cline-any cline-neutral">&nbsp;</span>
903
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</span>
910
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
914
+ <span class="cline-any cline-neutral">&nbsp;</span>
915
+ <span class="cline-any cline-neutral">&nbsp;</span>
916
+ <span class="cline-any cline-neutral">&nbsp;</span>
917
+ <span class="cline-any cline-neutral">&nbsp;</span>
918
+ <span class="cline-any cline-neutral">&nbsp;</span>
919
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
925
+ <span class="cline-any cline-neutral">&nbsp;</span>
926
+ <span class="cline-any cline-neutral">&nbsp;</span>
927
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</span>
936
+ <span class="cline-any cline-neutral">&nbsp;</span>
937
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
941
+ <span class="cline-any cline-neutral">&nbsp;</span>
942
+ <span class="cline-any cline-neutral">&nbsp;</span>
943
+ <span class="cline-any cline-neutral">&nbsp;</span>
944
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
952
+ <span class="cline-any cline-neutral">&nbsp;</span>
953
+ <span class="cline-any cline-neutral">&nbsp;</span>
954
+ <span class="cline-any cline-neutral">&nbsp;</span>
955
+ <span class="cline-any cline-neutral">&nbsp;</span>
956
+ <span class="cline-any cline-neutral">&nbsp;</span>
957
+ <span class="cline-any cline-neutral">&nbsp;</span>
958
+ <span class="cline-any cline-neutral">&nbsp;</span>
959
+ <span class="cline-any cline-neutral">&nbsp;</span>
960
+ <span class="cline-any cline-neutral">&nbsp;</span>
961
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
965
+ <span class="cline-any cline-neutral">&nbsp;</span>
966
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { TransactionResponse } from '@ethersproject/abstract-provider';
967
+ import { TypedData, TypedMessage } from 'eth-sig-util';
968
+ import { ethers, BigNumber, BigNumberish } from 'ethers';
969
+ import { CustomJsonRpcProvider, CustomL2JsonRpcProvider } from 'providers';
970
+ import {
971
+ EncryptedKeystoreV3Json,
972
+ Sign,
973
+ SignedTransaction,
974
+ TransactionConfig,
975
+ } from 'web3-core';
976
+ &nbsp;
977
+ import { LedgerKeyring } from './ledger';
978
+ import { TrezorKeyring } from './trezor';
979
+ import { INetwork, INetworkType } from '@pollum-io/sysweb3-network';
980
+ import { ITxid } from '@pollum-io/sysweb3-utils';
981
+ &nbsp;
982
+ export interface ITrezorWallet {
983
+ createHardwareWallet: () =&gt; Promise&lt;IKeyringAccountState&gt;;
984
+ }
985
+ &nbsp;
986
+ export interface ISendTransaction {
987
+ amount: number;
988
+ gasLimit?: number;
989
+ gasPrice?: number;
990
+ receivingAddress: string;
991
+ sender: string;
992
+ token?: any;
993
+ }
994
+ export type SimpleTransactionRequest = {
995
+ accessList?: ethers.utils.AccessListish;
996
+ ccipReadEnabled?: boolean;
997
+ chainId: number;
998
+ customData?: Record&lt;string, any&gt;;
999
+ data?: ethers.BytesLike;
1000
+ &nbsp;
1001
+ from: string;
1002
+ gasLimit?: ethers.BigNumberish;
1003
+ gasPrice?: ethers.BigNumberish;
1004
+ &nbsp;
1005
+ maxFeePerGas: ethers.BigNumberish;
1006
+ maxPriorityFeePerGas: ethers.BigNumberish;
1007
+ &nbsp;
1008
+ nonce?: ethers.BigNumberish;
1009
+ r?: string;
1010
+ &nbsp;
1011
+ s?: string;
1012
+ to: string;
1013
+ type?: number;
1014
+ v?: string;
1015
+ value?: ethers.BigNumberish;
1016
+ };
1017
+ &nbsp;
1018
+ export declare type Version = 'V1' | 'V2' | 'V3' | 'V4';
1019
+ &nbsp;
1020
+ export interface IEthereumTransactions {
1021
+ cancelSentTransaction: (
1022
+ txHash: string,
1023
+ isLegacy?: boolean
1024
+ ) =&gt; Promise&lt;{
1025
+ error?: boolean;
1026
+ isCanceled: boolean;
1027
+ transaction?: TransactionResponse;
1028
+ }&gt;;
1029
+ contentScriptWeb3Provider: CustomJsonRpcProvider | CustomL2JsonRpcProvider;
1030
+ decryptMessage: (msgParams: string[]) =&gt; string;
1031
+ ethSign: (params: string[]) =&gt; Promise&lt;string&gt;;
1032
+ getBalance: (address: string) =&gt; Promise&lt;number&gt;;
1033
+ getEncryptedPubKey: () =&gt; string;
1034
+ getErc20TokensByAddress?: (
1035
+ address: string,
1036
+ isSupported: boolean,
1037
+ apiUrl: string
1038
+ ) =&gt; Promise&lt;any[]&gt;;
1039
+ getFeeByType: (type: string) =&gt; Promise&lt;string&gt;;
1040
+ getFeeDataWithDynamicMaxPriorityFeePerGas: () =&gt; Promise&lt;any&gt;;
1041
+ getGasLimit: (toAddress: string) =&gt; Promise&lt;number&gt;;
1042
+ getGasOracle?: () =&gt; Promise&lt;any&gt;;
1043
+ getRecommendedNonce: (address: string) =&gt; Promise&lt;number&gt;;
1044
+ signTypedData: (
1045
+ addr: string,
1046
+ typedData: TypedData | TypedMessage&lt;any&gt;,
1047
+ version: Version
1048
+ ) =&gt; Promise&lt;string&gt;;
1049
+ sendTransaction: (data: ISendTransaction) =&gt; Promise&lt;TransactionResponse&gt;;
1050
+ importAccount: (mnemonicOrPrivKey: string) =&gt; ethers.Wallet;
1051
+ parsePersonalMessage: (hexMsg: string) =&gt; string;
1052
+ sendFormattedTransaction: (
1053
+ params: SimpleTransactionRequest,
1054
+ isLegacy?: boolean
1055
+ ) =&gt; Promise&lt;TransactionResponse&gt;;
1056
+ sendSignedErc1155Transaction: ({
1057
+ receiver,
1058
+ tokenAddress,
1059
+ tokenId,
1060
+ isLegacy,
1061
+ gasPrice,
1062
+ gasLimit,
1063
+ maxFeePerGas,
1064
+ maxPriorityFeePerGas,
1065
+ }: ISendSignedErcTransactionProps) =&gt; Promise&lt;IResponseFromSendErcSignedTransaction&gt;;
1066
+ verifyPersonalMessage: (msg: string, sign: string) =&gt; string;
1067
+ toBigNumber: (aBigNumberish: string | number) =&gt; ethers.BigNumber;
1068
+ sendSignedErc20Transaction: ({
1069
+ networkUrl,
1070
+ receiver,
1071
+ tokenAddress,
1072
+ tokenAmount,
1073
+ }: ISendSignedErcTransactionProps) =&gt; Promise&lt;IResponseFromSendErcSignedTransaction&gt;;
1074
+ &nbsp;
1075
+ sendSignedErc721Transaction: ({
1076
+ networkUrl,
1077
+ receiver,
1078
+ tokenAddress,
1079
+ tokenId,
1080
+ }: ISendSignedErcTransactionProps) =&gt; Promise&lt;IResponseFromSendErcSignedTransaction&gt;;
1081
+ &nbsp;
1082
+ sendTransactionWithEditedFee: (
1083
+ txHash: string,
1084
+ isLegacy?: boolean
1085
+ ) =&gt; Promise&lt;{
1086
+ isSpeedUp: boolean;
1087
+ transaction?: TransactionResponse;
1088
+ error?: boolean;
1089
+ }&gt;;
1090
+ &nbsp;
1091
+ signPersonalMessage: (params: string[]) =&gt; Promise&lt;string&gt;;
1092
+ verifyTypedSignature: (
1093
+ data: TypedData | TypedMessage&lt;any&gt;,
1094
+ signature: string,
1095
+ version: Version
1096
+ ) =&gt; string;
1097
+ setWeb3Provider: (network: INetwork) =&gt; void;
1098
+ getRecommendedGasPrice: (formatted?: boolean) =&gt; Promise&lt;
1099
+ | string
1100
+ | {
1101
+ ethers: string;
1102
+ gwei: string;
1103
+ }
1104
+ &gt;;
1105
+ web3Provider: CustomJsonRpcProvider | CustomL2JsonRpcProvider;
1106
+ getTxGasLimit: (tx: SimpleTransactionRequest) =&gt; Promise&lt;ethers.BigNumber&gt;;
1107
+ }
1108
+ &nbsp;
1109
+ /**
1110
+ * Error structure for Syscoin transaction operations.
1111
+ * This interface documents the error format that consumers (like Pali) should expect
1112
+ * when catching errors from ISyscoinTransactions methods.
1113
+ *
1114
+ * @example
1115
+ * try {
1116
+ * const result = await syscoinTransaction.getEstimateSysTransactionFee({...});
1117
+ * } catch (error: unknown) {
1118
+ * const sysError = error as ISyscoinTransactionError;
1119
+ * if (sysError.code === 'INSUFFICIENT_FUNDS') {
1120
+ * console.log(`Short by ${sysError.shortfall} SYS`);
1121
+ * }
1122
+ * }
1123
+ */
1124
+ export interface ISyscoinTransactionError {
1125
+ error: boolean;
1126
+ code:
1127
+ | 'INSUFFICIENT_FUNDS'
1128
+ | 'INVALID_FEE_RATE'
1129
+ | 'INVALID_AMOUNT'
1130
+ | 'INVALID_MEMO'
1131
+ | 'INVALID_BLOB'
1132
+ | 'INVALID_OUTPUT_COUNT'
1133
+ | 'INVALID_ASSET_ALLOCATION'
1134
+ | 'INVALID_PARENT_NODES'
1135
+ | 'INVALID_TX_VALUE'
1136
+ | 'INVALID_RECEIPT_VALUE'
1137
+ | 'SUBTRACT_FEE_FAILED'
1138
+ | 'TRANSACTION_CREATION_FAILED'
1139
+ | 'TRANSACTION_SEND_FAILED';
1140
+ message: string;
1141
+ fee?: number; // in SYS (not satoshis)
1142
+ remainingFee?: number; // in SYS (not satoshis)
1143
+ shortfall?: number; // in SYS (not satoshis)
1144
+ details?: {
1145
+ inputTotal?: any; // BN object in satoshis
1146
+ outputTotal?: any; // BN object in satoshis
1147
+ requiredFee?: any; // BN object in satoshis
1148
+ message?: string; // Additional context about the error
1149
+ markedOutputs?: number; // For SUBTRACT_FEE_FAILED
1150
+ removedOutputs?: number; // For SUBTRACT_FEE_FAILED
1151
+ guid?: string; // For INVALID_ASSET_ALLOCATION
1152
+ };
1153
+ }
1154
+ &nbsp;
1155
+ export interface ISyscoinTransactions {
1156
+ getEstimateSysTransactionFee: ({
1157
+ txOptions,
1158
+ amount,
1159
+ receivingAddress,
1160
+ feeRate,
1161
+ token,
1162
+ isMax,
1163
+ }: {
1164
+ amount: number;
1165
+ feeRate?: number;
1166
+ receivingAddress: string;
1167
+ token?: { guid: string; symbol?: string } | null;
1168
+ txOptions?: any;
1169
+ isMax?: boolean | false;
1170
+ }) =&gt; Promise&lt;{ fee: number; psbt: any }&gt;; // Returns UNSIGNED psbt - may throw ISyscoinTransactionError
1171
+ getRecommendedFee: (explorerUrl: string) =&gt; Promise&lt;number&gt;;
1172
+ decodeRawTransaction: (psbt: any) =&gt; any;
1173
+ // Sign PSBT separately
1174
+ sendTransaction: (psbt: any) =&gt; Promise&lt;ITxid&gt;;
1175
+ signPSBT: ({
1176
+ psbt,
1177
+ isTrezor,
1178
+ isLedger,
1179
+ pathIn,
1180
+ }: {
1181
+ isLedger?: boolean;
1182
+ isTrezor?: boolean;
1183
+ pathIn?: string;
1184
+ psbt: any;
1185
+ }) =&gt; Promise&lt;any&gt;;
1186
+ }
1187
+ &nbsp;
1188
+ export interface IKeyringManager {
1189
+ // Core keyring functionality
1190
+ addNewAccount: (label?: string) =&gt; Promise&lt;IKeyringAccountState&gt;;
1191
+ ethereumTransaction: IEthereumTransactions;
1192
+ forgetMainWallet: (pwd: string) =&gt; void;
1193
+ getAccountById: (
1194
+ id: number,
1195
+ accountType: KeyringAccountType
1196
+ ) =&gt; Omit&lt;IKeyringAccountState, 'xprv'&gt;;
1197
+ getAccountXpub: () =&gt; string;
1198
+ getEncryptedXprv: () =&gt; string;
1199
+ unlock: (
1200
+ password: string,
1201
+ isForPvtKey?: boolean
1202
+ ) =&gt; Promise&lt;{
1203
+ canLogin: boolean;
1204
+ wallet?: IWalletState | null;
1205
+ }&gt;;
1206
+ isUnlocked: () =&gt; boolean;
1207
+ logout: () =&gt; void;
1208
+ ledgerSigner: LedgerKeyring;
1209
+ trezorSigner: TrezorKeyring;
1210
+ setActiveAccount: (
1211
+ accountId: number,
1212
+ accountType: KeyringAccountType
1213
+ ) =&gt; void;
1214
+ // Simplified setSignerNetwork - only handles backend/provider setup
1215
+ setSignerNetwork: (network: INetwork) =&gt; Promise&lt;{
1216
+ success: boolean;
1217
+ }&gt;;
1218
+ getPrivateKeyByAccountId: (
1219
+ id: number,
1220
+ accountType: KeyringAccountType,
1221
+ pwd: string
1222
+ ) =&gt; Promise&lt;string&gt;;
1223
+ setStorage: (client: any) =&gt; void;
1224
+ syscoinTransaction: ISyscoinTransactions;
1225
+ isSeedValid: (seedPhrase: string) =&gt; boolean;
1226
+ getSeed: (pwd: string) =&gt; Promise&lt;string&gt;;
1227
+ importTrezorAccount: (label?: string) =&gt; Promise&lt;IKeyringAccountState&gt;;
1228
+ utf8Error: boolean;
1229
+ validateZprv: (
1230
+ zprv: string,
1231
+ targetNetwork?: INetwork
1232
+ ) =&gt; IValidateZprvResponse;
1233
+ // Account management
1234
+ importAccount: (
1235
+ privKey: string,
1236
+ label?: string
1237
+ ) =&gt; Promise&lt;IKeyringAccountState&gt;;
1238
+ getNewChangeAddress: () =&gt; Promise&lt;string&gt;;
1239
+ getChangeAddress: (id: number) =&gt; Promise&lt;string&gt;;
1240
+ updateReceivingAddress: () =&gt; Promise&lt;string&gt;;
1241
+ getActiveAccount: () =&gt; {
1242
+ activeAccount: Omit&lt;IKeyringAccountState, 'xprv'&gt;;
1243
+ activeAccountType: KeyringAccountType;
1244
+ };
1245
+ importWeb3Account: (mnemonicOrPrivKey: string) =&gt; any;
1246
+ createNewSeed: () =&gt; string;
1247
+ getUTXOState: () =&gt; any;
1248
+ importLedgerAccount: (
1249
+ isAlreadyConnected: boolean,
1250
+ label?: string
1251
+ ) =&gt; Promise&lt;IKeyringAccountState | undefined&gt;;
1252
+ getActiveUTXOAccountState: () =&gt; any;
1253
+ createEthAccount: (privateKey: string) =&gt; any;
1254
+ getAddress: (xpub: string, isChangeAddress: boolean) =&gt; Promise&lt;string&gt;;
1255
+ // Secure initialization and password management
1256
+ initializeWalletSecurely: (
1257
+ seedPhrase: string,
1258
+ password: string,
1259
+ prvPassword?: string
1260
+ ) =&gt; Promise&lt;IKeyringAccountState&gt;;
1261
+ createKeyringVaultFromSession: () =&gt; Promise&lt;IKeyringAccountState&gt;;
1262
+ transferSessionTo: (targetKeyring: IKeyringManager) =&gt; void;
1263
+ receiveSessionOwnership: (sessionPassword: any, sessionMnemonic: any) =&gt; void;
1264
+ lockWallet: () =&gt; void;
1265
+ // NEW: Store access for stateless keyring
1266
+ setVaultStateGetter: (getter: () =&gt; any) =&gt; void;
1267
+ }
1268
+ &nbsp;
1269
+ export enum KeyringAccountType {
1270
+ HDAccount = 'HDAccount',
1271
+ Imported = 'Imported',
1272
+ Ledger = 'Ledger',
1273
+ Trezor = 'Trezor',
1274
+ }
1275
+ &nbsp;
1276
+ export type IKeyringDApp = {
1277
+ active: boolean;
1278
+ id: number;
1279
+ url: string;
1280
+ };
1281
+ &nbsp;
1282
+ export type accountType = {
1283
+ [id: number]: IKeyringAccountState;
1284
+ };
1285
+ &nbsp;
1286
+ export interface IWalletState {
1287
+ accounts: { [key in KeyringAccountType]: accountType };
1288
+ activeAccountId: number;
1289
+ activeAccountType: KeyringAccountType;
1290
+ activeNetwork: INetwork;
1291
+ networks: {
1292
+ [INetworkType.Ethereum]: {
1293
+ [chainId: number | string]: INetwork;
1294
+ };
1295
+ [INetworkType.Syscoin]: {
1296
+ [chainId: number | string]: INetwork;
1297
+ };
1298
+ };
1299
+ }
1300
+ &nbsp;
1301
+ export type IKeyringBalances = {
1302
+ [INetworkType.Syscoin]: number;
1303
+ [INetworkType.Ethereum]: number;
1304
+ };
1305
+ &nbsp;
1306
+ export interface IWeb3Account extends IKeyringAccountState {
1307
+ encrypt: (password: string) =&gt; EncryptedKeystoreV3Json;
1308
+ sign: (data: string) =&gt; Sign;
1309
+ signTransaction: (
1310
+ transactionConfig: TransactionConfig,
1311
+ callback?: (signTransaction: SignedTransaction) =&gt; void
1312
+ ) =&gt; Promise&lt;SignedTransaction&gt;;
1313
+ }
1314
+ &nbsp;
1315
+ type IsBitcoinBased = {
1316
+ isBitcoinBased?: boolean;
1317
+ };
1318
+ &nbsp;
1319
+ type IOriginNetwork = INetwork &amp; IsBitcoinBased;
1320
+ &nbsp;
1321
+ interface INetworkParams {
1322
+ bech32: string;
1323
+ bip32: {
1324
+ private: number;
1325
+ public: number;
1326
+ };
1327
+ messagePrefix: string;
1328
+ pubKeyHash: number;
1329
+ scriptHash: number;
1330
+ slip44: number;
1331
+ wif: number;
1332
+ }
1333
+ &nbsp;
1334
+ interface IValidateZprvResponse {
1335
+ isValid: boolean;
1336
+ message: string;
1337
+ network?: INetworkParams | null;
1338
+ node?: any;
1339
+ }
1340
+ &nbsp;
1341
+ export interface IKeyringAccountState {
1342
+ address: string;
1343
+ balances: IKeyringBalances;
1344
+ id: number;
1345
+ isImported: boolean;
1346
+ isLedgerWallet: boolean;
1347
+ isTrezorWallet: boolean;
1348
+ label: string;
1349
+ originNetwork?: IOriginNetwork;
1350
+ xprv: string;
1351
+ xpub: string;
1352
+ }
1353
+ &nbsp;
1354
+ export interface ISyscoinBackendAccount {
1355
+ address: string;
1356
+ balance: string;
1357
+ itemsOnPage: number;
1358
+ page: number;
1359
+ totalPages: number;
1360
+ totalReceived: string;
1361
+ totalSent: string;
1362
+ txs: number;
1363
+ unconfirmedBalance: string;
1364
+ unconfirmedTxs: number;
1365
+ }
1366
+ &nbsp;
1367
+ export interface ILatestUpdateForSysAccount {
1368
+ balances: {
1369
+ ethereum: number;
1370
+ syscoin: number;
1371
+ };
1372
+ receivingAddress: any;
1373
+ xpub: any;
1374
+ }
1375
+ &nbsp;
1376
+ export interface ISendSignedErcTransactionProps {
1377
+ decimals?: number;
1378
+ gasLimit?: BigNumberish;
1379
+ gasPrice?: BigNumberish;
1380
+ isLegacy?: boolean;
1381
+ maxFeePerGas?: BigNumberish;
1382
+ maxPriorityFeePerGas?: BigNumberish;
1383
+ networkUrl: string;
1384
+ receiver: string;
1385
+ saveTrezorTx?: (tx: any) =&gt; void;
1386
+ tokenAddress: string;
1387
+ tokenAmount?: string;
1388
+ tokenId?: number;
1389
+ }
1390
+ &nbsp;
1391
+ export interface IResponseFromSendErcSignedTransaction {
1392
+ accessList: any[];
1393
+ chainId: number;
1394
+ confirmations: number | null;
1395
+ data: string;
1396
+ from: string;
1397
+ gasLimit: BigNumber;
1398
+ gasPrice: BigNumber | null;
1399
+ hash: string;
1400
+ maxFeePerGas: BigNumber;
1401
+ maxPriorityFeePerGas: BigNumber;
1402
+ nonce: number;
1403
+ r: string;
1404
+ s: string;
1405
+ to: string;
1406
+ type: number;
1407
+ v: number | null;
1408
+ value: BigNumber;
1409
+ wait: any;
1410
+ }
1411
+ &nbsp;
1412
+ export interface IGasParams {
1413
+ gasLimit?: BigNumber;
1414
+ gasPrice?: BigNumber;
1415
+ maxFeePerGas?: BigNumber;
1416
+ maxPriorityFeePerGas?: BigNumber;
1417
+ }
1418
+ &nbsp;</pre></td></tr></table></pre>
1419
+
1420
+ <div class="push"></div>
1421
+ <!-- for sticky footer -->
1422
+ </div>
1423
+ <!-- /wrapper -->
1424
+ <div class="footer quiet pad2 space-top1 center small">
1425
+ Code coverage generated by
1426
+ <a
1427
+ href="https://istanbul.js.org/"
1428
+ target="_blank"
1429
+ rel="noopener noreferrer"
1430
+ >istanbul</a
1431
+ >
1432
+ at 2025-06-20T17:45:56.456Z
1433
+ </div>
1434
+ <script src="../prettify.js"></script>
1435
+ <script>
1436
+ window.onload = function () {
1437
+ prettyPrint();
1438
+ };
1439
+ </script>
1440
+ <script src="../sorter.js"></script>
1441
+ <script src="../block-navigation.js"></script>
1442
+ </body>
1443
+ </html>