pmxtjs 0.1.0 → 0.1.2

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 (60) hide show
  1. package/{src/BaseExchange.ts → dist/BaseExchange.d.ts} +4 -22
  2. package/dist/BaseExchange.js +30 -0
  3. package/dist/exchanges/Kalshi.d.ts +20 -0
  4. package/{src/exchanges/Kalshi.ts → dist/exchanges/Kalshi.js} +75 -114
  5. package/dist/exchanges/Polymarket.d.ts +38 -0
  6. package/{src/exchanges/Polymarket.ts → dist/exchanges/Polymarket.js} +105 -146
  7. package/{src/index.ts → dist/index.d.ts} +0 -1
  8. package/dist/index.js +20 -0
  9. package/{src/types.ts → dist/types.d.ts} +3 -17
  10. package/dist/types.js +5 -0
  11. package/package.json +9 -1
  12. package/readme.md +62 -0
  13. package/coverage/clover.xml +0 -334
  14. package/coverage/coverage-final.json +0 -4
  15. package/coverage/lcov-report/base.css +0 -224
  16. package/coverage/lcov-report/block-navigation.js +0 -87
  17. package/coverage/lcov-report/favicon.png +0 -0
  18. package/coverage/lcov-report/index.html +0 -131
  19. package/coverage/lcov-report/pmxt/BaseExchange.ts.html +0 -256
  20. package/coverage/lcov-report/pmxt/exchanges/Kalshi.ts.html +0 -1132
  21. package/coverage/lcov-report/pmxt/exchanges/Polymarket.ts.html +0 -1456
  22. package/coverage/lcov-report/pmxt/exchanges/index.html +0 -131
  23. package/coverage/lcov-report/pmxt/index.html +0 -116
  24. package/coverage/lcov-report/prettify.css +0 -1
  25. package/coverage/lcov-report/prettify.js +0 -2
  26. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  27. package/coverage/lcov-report/sorter.js +0 -210
  28. package/coverage/lcov-report/src/BaseExchange.ts.html +0 -256
  29. package/coverage/lcov-report/src/exchanges/Kalshi.ts.html +0 -1132
  30. package/coverage/lcov-report/src/exchanges/Polymarket.ts.html +0 -1456
  31. package/coverage/lcov-report/src/exchanges/index.html +0 -131
  32. package/coverage/lcov-report/src/index.html +0 -116
  33. package/coverage/lcov.info +0 -766
  34. package/examples/get_event_prices.ts +0 -37
  35. package/examples/historical_prices.ts +0 -117
  36. package/examples/orderbook.ts +0 -102
  37. package/examples/recent_trades.ts +0 -29
  38. package/examples/search_events.ts +0 -68
  39. package/examples/search_market.ts +0 -29
  40. package/jest.config.js +0 -11
  41. package/pmxt-0.1.0.tgz +0 -0
  42. package/test/exchanges/kalshi/ApiErrors.test.ts +0 -132
  43. package/test/exchanges/kalshi/EmptyResponse.test.ts +0 -44
  44. package/test/exchanges/kalshi/FetchAndNormalizeMarkets.test.ts +0 -56
  45. package/test/exchanges/kalshi/LiveApi.integration.test.ts +0 -40
  46. package/test/exchanges/kalshi/MarketHistory.test.ts +0 -185
  47. package/test/exchanges/kalshi/OrderBook.test.ts +0 -149
  48. package/test/exchanges/kalshi/SearchMarkets.test.ts +0 -174
  49. package/test/exchanges/kalshi/VolumeFallback.test.ts +0 -44
  50. package/test/exchanges/polymarket/DataValidation.test.ts +0 -271
  51. package/test/exchanges/polymarket/ErrorHandling.test.ts +0 -34
  52. package/test/exchanges/polymarket/FetchAndNormalizeMarkets.test.ts +0 -68
  53. package/test/exchanges/polymarket/GetMarketsBySlug.test.ts +0 -268
  54. package/test/exchanges/polymarket/LiveApi.integration.test.ts +0 -44
  55. package/test/exchanges/polymarket/MarketHistory.test.ts +0 -207
  56. package/test/exchanges/polymarket/OrderBook.test.ts +0 -167
  57. package/test/exchanges/polymarket/RequestParameters.test.ts +0 -39
  58. package/test/exchanges/polymarket/SearchMarkets.test.ts +0 -176
  59. package/test/exchanges/polymarket/TradeHistory.test.ts +0 -248
  60. package/tsconfig.json +0 -12
package/readme.md ADDED
@@ -0,0 +1,62 @@
1
+ # pmxt
2
+
3
+ **The ccxt for prediction markets.** A unified API for accessing prediction market data across multiple exchanges.
4
+
5
+ ## Why pmxt?
6
+
7
+ Different prediction market platforms have different APIs, data formats, and conventions. pmxt provides a single, consistent interface to work with all of them.
8
+
9
+ ## Quick Example
10
+
11
+ Search for markets across Polymarket and Kalshi using the same API:
12
+
13
+ ```typescript
14
+ import { PolymarketExchange, KalshiExchange } from 'pmxtjs';
15
+
16
+ const query = process.argv[2] || 'Fed';
17
+ console.log(`Searching for "${query}"...\n`);
18
+
19
+ // Polymarket
20
+ const polymarket = new PolymarketExchange();
21
+ const polyResults = await polymarket.searchMarkets(query, { sort: 'volume' });
22
+
23
+ console.log(`--- Polymarket Found ${polyResults.length} ---`);
24
+ polyResults.slice(0, 10).forEach(m => {
25
+ const label = m.outcomes[0]?.label || 'Unknown';
26
+ console.log(`[${m.id}] ${m.title} - ${label} (Vol24h: $${m.volume24h.toLocaleString()})`);
27
+ });
28
+
29
+ // Kalshi
30
+ const kalshi = new KalshiExchange();
31
+ const kalshiResults = await kalshi.searchMarkets(query);
32
+
33
+ console.log(`\n--- Kalshi Found ${kalshiResults.length} ---`);
34
+ kalshiResults.slice(0, 10).forEach(m => {
35
+ const label = m.outcomes[0]?.label || 'Unknown';
36
+ console.log(`[${m.id}] ${m.title} - ${label} (Vol24h: $${m.volume24h.toLocaleString()})`);
37
+ });
38
+ ```
39
+
40
+ ## Installation
41
+
42
+ ```bash
43
+ npm install pmxtjs
44
+ ```
45
+
46
+ ## Supported Exchanges
47
+
48
+ - Polymarket
49
+ - Kalshi
50
+
51
+ ## Documentation
52
+
53
+ See the [API Reference](pmxt/API_REFERENCE.md) for detailed documentation and more examples.
54
+
55
+ ## Examples
56
+
57
+ Check out the [examples](pmxt/examples/) directory for more use cases:
58
+ - Market search
59
+ - Order book data
60
+ - Historical prices
61
+ - Event price tracking
62
+ - Recent trades
@@ -1,334 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1767901377104" clover="3.2.0">
3
- <project timestamp="1767901377104" name="All files">
4
- <metrics statements="313" coveredstatements="280" conditionals="334" coveredconditionals="279" methods="46" coveredmethods="36" elements="693" coveredelements="595" complexity="0" loc="313" ncloc="313" packages="2" files="3" classes="3"/>
5
- <package name="src">
6
- <metrics statements="4" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="3" coveredmethods="0"/>
7
- <file name="BaseExchange.ts" path="/Users/samueltinnerholm/Documents/GitHub/Prediction-Markets-Aggregator/pmxt/src/BaseExchange.ts">
8
- <metrics statements="4" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="3" coveredmethods="0"/>
9
- <line num="20" count="18" type="stmt"/>
10
- <line num="39" count="0" type="stmt"/>
11
- <line num="47" count="0" type="stmt"/>
12
- <line num="55" count="0" type="stmt"/>
13
- </file>
14
- </package>
15
- <package name="src.exchanges">
16
- <metrics statements="309" coveredstatements="279" conditionals="334" coveredconditionals="279" methods="43" coveredmethods="36"/>
17
- <file name="Kalshi.ts" path="/Users/samueltinnerholm/Documents/GitHub/Prediction-Markets-Aggregator/pmxt/src/exchanges/Kalshi.ts">
18
- <metrics statements="148" coveredstatements="126" conditionals="122" coveredconditionals="95" methods="20" coveredmethods="16"/>
19
- <line num="1" count="8" type="stmt"/>
20
- <line num="2" count="8" type="stmt"/>
21
- <line num="5" count="8" type="stmt"/>
22
- <line num="7" count="0" type="stmt"/>
23
- <line num="9" count="34" type="stmt"/>
24
- <line num="12" count="15" type="cond" truecount="2" falsecount="0"/>
25
- <line num="14" count="15" type="stmt"/>
26
- <line num="17" count="15" type="stmt"/>
27
- <line num="20" count="15" type="stmt"/>
28
- <line num="22" count="15" type="stmt"/>
29
- <line num="23" count="459" type="cond" truecount="1" falsecount="1"/>
30
- <line num="24" count="459" type="stmt"/>
31
- <line num="25" count="1591" type="stmt"/>
32
- <line num="26" count="1591" type="cond" truecount="1" falsecount="1"/>
33
- <line num="27" count="1591" type="stmt"/>
34
- <line num="32" count="15" type="stmt"/>
35
- <line num="35" count="15" type="cond" truecount="1" falsecount="1"/>
36
- <line num="36" count="0" type="stmt"/>
37
- <line num="37" count="15" type="cond" truecount="1" falsecount="1"/>
38
- <line num="38" count="0" type="stmt"/>
39
- <line num="41" count="15" type="stmt"/>
40
- <line num="44" count="0" type="stmt"/>
41
- <line num="45" count="0" type="stmt"/>
42
- <line num="50" count="15" type="stmt"/>
43
- <line num="51" count="15" type="stmt"/>
44
- <line num="52" count="15" type="stmt"/>
45
- <line num="53" count="15" type="stmt"/>
46
- <line num="59" count="15" type="stmt"/>
47
- <line num="60" count="15" type="stmt"/>
48
- <line num="62" count="15" type="stmt"/>
49
- <line num="63" count="15" type="stmt"/>
50
- <line num="65" count="15" type="stmt"/>
51
- <line num="70" count="15" type="cond" truecount="1" falsecount="1"/>
52
- <line num="72" count="15" type="stmt"/>
53
- <line num="73" count="13" type="cond" truecount="2" falsecount="0"/>
54
- <line num="75" count="13" type="cond" truecount="2" falsecount="0"/>
55
- <line num="77" count="11" type="stmt"/>
56
- <line num="80" count="11" type="cond" truecount="1" falsecount="1"/>
57
- <line num="81" count="11" type="stmt"/>
58
- <line num="82" count="459" type="cond" truecount="1" falsecount="1"/>
59
- <line num="87" count="11" type="cond" truecount="2" falsecount="0"/>
60
- <line num="88" count="2" type="stmt"/>
61
- <line num="89" count="2" type="stmt"/>
62
- <line num="93" count="9" type="stmt"/>
63
- <line num="94" count="9" type="stmt"/>
64
- <line num="97" count="9" type="cond" truecount="1" falsecount="1"/>
65
- <line num="98" count="0" type="stmt"/>
66
- <line num="102" count="2" type="stmt"/>
67
- <line num="103" count="2" type="stmt"/>
68
- <line num="107" count="15" type="stmt"/>
69
- <line num="108" count="15" type="stmt"/>
70
- <line num="112" count="1591" type="cond" truecount="1" falsecount="1"/>
71
- <line num="115" count="1591" type="stmt"/>
72
- <line num="116" count="1591" type="cond" truecount="2" falsecount="0"/>
73
- <line num="117" count="1471" type="stmt"/>
74
- <line num="118" count="120" type="cond" truecount="4" falsecount="0"/>
75
- <line num="119" count="84" type="stmt"/>
76
- <line num="120" count="36" type="cond" truecount="2" falsecount="0"/>
77
- <line num="121" count="32" type="stmt"/>
78
- <line num="125" count="1591" type="stmt"/>
79
- <line num="126" count="1591" type="cond" truecount="4" falsecount="0"/>
80
- <line num="127" count="1533" type="cond" truecount="2" falsecount="0"/>
81
- <line num="131" count="1591" type="stmt"/>
82
- <line num="132" count="1591" type="cond" truecount="4" falsecount="0"/>
83
- <line num="133" count="1532" type="stmt"/>
84
- <line num="136" count="1591" type="stmt"/>
85
- <line num="151" count="1591" type="stmt"/>
86
- <line num="169" count="7" type="stmt"/>
87
- <line num="170" count="7" type="stmt"/>
88
- <line num="171" count="7" type="stmt"/>
89
- <line num="172" count="7" type="stmt"/>
90
- <line num="173" count="7" type="stmt"/>
91
- <line num="174" count="56" type="cond" truecount="2" falsecount="0"/>
92
- <line num="177" count="7" type="cond" truecount="2" falsecount="0"/>
93
- <line num="178" count="7" type="stmt"/>
94
- <line num="180" count="0" type="stmt"/>
95
- <line num="181" count="0" type="stmt"/>
96
- <line num="191" count="2" type="stmt"/>
97
- <line num="193" count="2" type="stmt"/>
98
- <line num="194" count="2" type="stmt"/>
99
- <line num="195" count="2" type="stmt"/>
100
- <line num="199" count="0" type="stmt"/>
101
- <line num="200" count="0" type="cond" truecount="0" falsecount="2"/>
102
- <line num="202" count="0" type="stmt"/>
103
- <line num="203" count="0" type="cond" truecount="0" falsecount="2"/>
104
- <line num="205" count="0" type="stmt"/>
105
- <line num="206" count="0" type="stmt"/>
106
- <line num="207" count="0" type="cond" truecount="0" falsecount="2"/>
107
- <line num="208" count="0" type="stmt"/>
108
- <line num="212" count="0" type="stmt"/>
109
- <line num="215" count="2" type="cond" truecount="3" falsecount="1"/>
110
- <line num="216" count="2" type="cond" truecount="2" falsecount="0"/>
111
- <line num="217" count="1" type="stmt"/>
112
- <line num="219" count="1" type="cond" truecount="1" falsecount="2"/>
113
- <line num="220" count="1" type="stmt"/>
114
- <line num="222" count="0" type="stmt"/>
115
- <line num="223" count="0" type="stmt"/>
116
- <line num="228" count="11" type="stmt"/>
117
- <line num="236" count="11" type="stmt"/>
118
- <line num="240" count="11" type="stmt"/>
119
- <line num="242" count="11" type="stmt"/>
120
- <line num="243" count="11" type="stmt"/>
121
- <line num="246" count="11" type="stmt"/>
122
- <line num="247" count="11" type="cond" truecount="2" falsecount="0"/>
123
- <line num="248" count="1" type="stmt"/>
124
- <line num="250" count="10" type="stmt"/>
125
- <line num="251" count="10" type="stmt"/>
126
- <line num="253" count="10" type="stmt"/>
127
- <line num="255" count="10" type="stmt"/>
128
- <line num="256" count="10" type="stmt"/>
129
- <line num="257" count="10" type="stmt"/>
130
- <line num="259" count="10" type="cond" truecount="2" falsecount="0"/>
131
- <line num="260" count="1" type="stmt"/>
132
- <line num="262" count="10" type="cond" truecount="2" falsecount="0"/>
133
- <line num="263" count="1" type="stmt"/>
134
- <line num="264" count="1" type="cond" truecount="1" falsecount="1"/>
135
- <line num="265" count="0" type="stmt"/>
136
- <line num="269" count="10" type="stmt"/>
137
- <line num="270" count="10" type="stmt"/>
138
- <line num="272" count="10" type="stmt"/>
139
- <line num="273" count="9" type="cond" truecount="1" falsecount="1"/>
140
- <line num="275" count="105" type="stmt"/>
141
- <line num="284" count="9" type="cond" truecount="4" falsecount="0"/>
142
- <line num="285" count="1" type="stmt"/>
143
- <line num="287" count="8" type="stmt"/>
144
- <line num="289" count="2" type="cond" truecount="4" falsecount="0"/>
145
- <line num="290" count="1" type="cond" truecount="1" falsecount="2"/>
146
- <line num="291" count="1" type="stmt"/>
147
- <line num="293" count="1" type="stmt"/>
148
- <line num="294" count="1" type="stmt"/>
149
- <line num="299" count="8" type="stmt"/>
150
- <line num="300" count="8" type="stmt"/>
151
- <line num="301" count="8" type="stmt"/>
152
- <line num="302" count="7" type="stmt"/>
153
- <line num="305" count="8" type="cond" truecount="2" falsecount="0"/>
154
- <line num="310" count="8" type="cond" truecount="2" falsecount="0"/>
155
- <line num="316" count="7" type="stmt"/>
156
- <line num="317" count="7" type="stmt"/>
157
- <line num="319" count="7" type="stmt"/>
158
- <line num="321" count="1" type="stmt"/>
159
- <line num="322" count="1" type="stmt"/>
160
- <line num="327" count="1" type="stmt"/>
161
- <line num="328" count="1" type="stmt"/>
162
- <line num="329" count="1" type="stmt"/>
163
- <line num="335" count="0" type="cond" truecount="0" falsecount="2"/>
164
- <line num="337" count="0" type="stmt"/>
165
- <line num="345" count="1" type="stmt"/>
166
- <line num="346" count="1" type="stmt"/>
167
- </file>
168
- <file name="Polymarket.ts" path="/Users/samueltinnerholm/Documents/GitHub/Prediction-Markets-Aggregator/pmxt/src/exchanges/Polymarket.ts">
169
- <metrics statements="161" coveredstatements="153" conditionals="212" coveredconditionals="184" methods="23" coveredmethods="20"/>
170
- <line num="1" count="10" type="stmt"/>
171
- <line num="2" count="10" type="stmt"/>
172
- <line num="5" count="10" type="stmt"/>
173
- <line num="7" count="0" type="stmt"/>
174
- <line num="11" count="66" type="stmt"/>
175
- <line num="13" count="66" type="stmt"/>
176
- <line num="16" count="24" type="cond" truecount="2" falsecount="0"/>
177
- <line num="17" count="24" type="cond" truecount="2" falsecount="0"/>
178
- <line num="20" count="24" type="stmt"/>
179
- <line num="28" count="24" type="cond" truecount="2" falsecount="0"/>
180
- <line num="29" count="2" type="stmt"/>
181
- <line num="30" count="2" type="stmt"/>
182
- <line num="31" count="22" type="cond" truecount="1" falsecount="1"/>
183
- <line num="32" count="0" type="stmt"/>
184
- <line num="33" count="0" type="stmt"/>
185
- <line num="34" count="22" type="cond" truecount="1" falsecount="1"/>
186
- <line num="40" count="24" type="stmt"/>
187
- <line num="42" count="24" type="stmt"/>
188
- <line num="46" count="22" type="stmt"/>
189
- <line num="47" count="22" type="stmt"/>
190
- <line num="49" count="22" type="stmt"/>
191
- <line num="52" count="58" type="cond" truecount="2" falsecount="0"/>
192
- <line num="54" count="57" type="stmt"/>
193
- <line num="55" count="238" type="stmt"/>
194
- <line num="58" count="238" type="stmt"/>
195
- <line num="59" count="238" type="stmt"/>
196
- <line num="61" count="238" type="stmt"/>
197
- <line num="62" count="238" type="cond" truecount="3" falsecount="1"/>
198
- <line num="63" count="237" type="cond" truecount="4" falsecount="0"/>
199
- <line num="65" count="1" type="stmt"/>
200
- <line num="69" count="238" type="stmt"/>
201
- <line num="70" count="238" type="stmt"/>
202
- <line num="71" count="238" type="cond" truecount="4" falsecount="0"/>
203
- <line num="73" count="0" type="stmt"/>
204
- <line num="77" count="238" type="stmt"/>
205
- <line num="78" count="238" type="cond" truecount="4" falsecount="0"/>
206
- <line num="79" count="189" type="stmt"/>
207
- <line num="82" count="238" type="cond" truecount="2" falsecount="0"/>
208
- <line num="83" count="237" type="stmt"/>
209
- <line num="84" count="476" type="cond" truecount="2" falsecount="0"/>
210
- <line num="87" count="476" type="stmt"/>
211
- <line num="88" count="476" type="cond" truecount="4" falsecount="0"/>
212
- <line num="89" count="189" type="stmt"/>
213
- <line num="90" count="287" type="cond" truecount="4" falsecount="0"/>
214
- <line num="91" count="189" type="stmt"/>
215
- <line num="96" count="476" type="stmt"/>
216
- <line num="97" count="476" type="cond" truecount="6" falsecount="0"/>
217
- <line num="98" count="237" type="cond" truecount="2" falsecount="0"/>
218
- <line num="101" count="476" type="stmt"/>
219
- <line num="113" count="238" type="stmt"/>
220
- <line num="126" count="1196" type="cond" truecount="2" falsecount="0"/>
221
- <line num="133" count="22" type="cond" truecount="2" falsecount="0"/>
222
- <line num="134" count="815" type="stmt"/>
223
- <line num="135" count="20" type="cond" truecount="1" falsecount="1"/>
224
- <line num="137" count="20" type="cond" truecount="1" falsecount="1"/>
225
- <line num="138" count="0" type="stmt"/>
226
- <line num="141" count="100" type="stmt"/>
227
- <line num="145" count="22" type="stmt"/>
228
- <line num="148" count="2" type="stmt"/>
229
- <line num="149" count="2" type="stmt"/>
230
- <line num="156" count="7" type="stmt"/>
231
- <line num="158" count="7" type="stmt"/>
232
- <line num="160" count="7" type="stmt"/>
233
- <line num="166" count="7" type="stmt"/>
234
- <line num="167" count="7" type="stmt"/>
235
- <line num="168" count="36" type="cond" truecount="2" falsecount="0"/>
236
- <line num="173" count="6" type="cond" truecount="2" falsecount="0"/>
237
- <line num="174" count="6" type="stmt"/>
238
- <line num="177" count="1" type="stmt"/>
239
- <line num="178" count="1" type="stmt"/>
240
- <line num="188" count="12" type="stmt"/>
241
- <line num="189" count="12" type="stmt"/>
242
- <line num="193" count="11" type="stmt"/>
243
- <line num="194" count="11" type="cond" truecount="4" falsecount="0"/>
244
- <line num="202" count="9" type="stmt"/>
245
- <line num="204" count="9" type="stmt"/>
246
- <line num="205" count="9" type="cond" truecount="2" falsecount="0"/>
247
- <line num="207" count="8" type="stmt"/>
248
- <line num="208" count="8" type="stmt"/>
249
- <line num="209" count="8" type="stmt"/>
250
- <line num="210" count="8" type="stmt"/>
251
- <line num="211" count="8" type="stmt"/>
252
- <line num="213" count="8" type="stmt"/>
253
- <line num="214" count="8" type="cond" truecount="1" falsecount="3"/>
254
- <line num="215" count="7" type="cond" truecount="1" falsecount="3"/>
255
- <line num="216" count="7" type="cond" truecount="1" falsecount="3"/>
256
- <line num="217" count="1" type="stmt"/>
257
- <line num="219" count="8" type="stmt"/>
258
- <line num="220" count="8" type="cond" truecount="4" falsecount="0"/>
259
- <line num="222" count="8" type="cond" truecount="2" falsecount="0"/>
260
- <line num="223" count="7" type="stmt"/>
261
- <line num="224" count="14" type="stmt"/>
262
- <line num="226" count="14" type="cond" truecount="4" falsecount="0"/>
263
- <line num="227" count="7" type="cond" truecount="3" falsecount="1"/>
264
- <line num="230" count="14" type="stmt"/>
265
- <line num="231" count="14" type="cond" truecount="6" falsecount="0"/>
266
- <line num="232" count="7" type="cond" truecount="2" falsecount="0"/>
267
- <line num="235" count="14" type="stmt"/>
268
- <line num="247" count="8" type="stmt"/>
269
- <line num="260" count="0" type="cond" truecount="2" falsecount="0"/>
270
- <line num="264" count="9" type="stmt"/>
271
- <line num="267" count="1" type="stmt"/>
272
- <line num="268" count="1" type="stmt"/>
273
- <line num="276" count="11" type="stmt"/>
274
- <line num="284" count="11" type="stmt"/>
275
- <line num="293" count="12" type="cond" truecount="4" falsecount="0"/>
276
- <line num="294" count="1" type="stmt"/>
277
- <line num="297" count="11" type="stmt"/>
278
- <line num="298" count="11" type="stmt"/>
279
- <line num="299" count="11" type="stmt"/>
280
- <line num="303" count="11" type="cond" truecount="2" falsecount="0"/>
281
- <line num="304" count="11" type="cond" truecount="2" falsecount="0"/>
282
- <line num="306" count="11" type="cond" truecount="2" falsecount="0"/>
283
- <line num="309" count="10" type="cond" truecount="2" falsecount="0"/>
284
- <line num="311" count="10" type="stmt"/>
285
- <line num="312" count="10" type="stmt"/>
286
- <line num="315" count="11" type="stmt"/>
287
- <line num="322" count="11" type="stmt"/>
288
- <line num="326" count="10" type="cond" truecount="1" falsecount="1"/>
289
- <line num="331" count="10" type="stmt"/>
290
- <line num="333" count="10" type="stmt"/>
291
- <line num="334" count="106" type="stmt"/>
292
- <line num="335" count="106" type="stmt"/>
293
- <line num="337" count="106" type="stmt"/>
294
- <line num="348" count="10" type="cond" truecount="4" falsecount="0"/>
295
- <line num="349" count="1" type="stmt"/>
296
- <line num="352" count="9" type="stmt"/>
297
- <line num="355" count="1" type="cond" truecount="3" falsecount="1"/>
298
- <line num="356" count="1" type="cond" truecount="1" falsecount="2"/>
299
- <line num="357" count="1" type="stmt"/>
300
- <line num="359" count="0" type="stmt"/>
301
- <line num="360" count="0" type="stmt"/>
302
- <line num="369" count="9" type="stmt"/>
303
- <line num="370" count="9" type="stmt"/>
304
- <line num="374" count="8" type="stmt"/>
305
- <line num="377" count="9" type="cond" truecount="2" falsecount="0"/>
306
- <line num="380" count="6" type="stmt"/>
307
- <line num="382" count="9" type="cond" truecount="2" falsecount="0"/>
308
- <line num="385" count="6" type="stmt"/>
309
- <line num="387" count="8" type="stmt"/>
310
- <line num="394" count="1" type="stmt"/>
311
- <line num="395" count="1" type="stmt"/>
312
- <line num="409" count="14" type="cond" truecount="4" falsecount="0"/>
313
- <line num="410" count="1" type="stmt"/>
314
- <line num="413" count="13" type="stmt"/>
315
- <line num="414" count="13" type="stmt"/>
316
- <line num="419" count="13" type="cond" truecount="2" falsecount="0"/>
317
- <line num="420" count="1" type="stmt"/>
318
- <line num="422" count="13" type="cond" truecount="2" falsecount="0"/>
319
- <line num="423" count="1" type="stmt"/>
320
- <line num="426" count="13" type="stmt"/>
321
- <line num="431" count="11" type="cond" truecount="1" falsecount="1"/>
322
- <line num="433" count="111" type="stmt"/>
323
- <line num="442" count="11" type="cond" truecount="4" falsecount="0"/>
324
- <line num="443" count="2" type="stmt"/>
325
- <line num="446" count="9" type="stmt"/>
326
- <line num="449" count="2" type="cond" truecount="4" falsecount="0"/>
327
- <line num="450" count="1" type="cond" truecount="1" falsecount="2"/>
328
- <line num="451" count="1" type="stmt"/>
329
- <line num="453" count="1" type="stmt"/>
330
- <line num="454" count="1" type="stmt"/>
331
- </file>
332
- </package>
333
- </project>
334
- </coverage>