ivue 1.5.2 → 1.5.3

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 (143) hide show
  1. package/package.json +4 -1
  2. package/.editorconfig +0 -9
  3. package/.eslintignore +0 -7
  4. package/.eslintrc.js +0 -120
  5. package/.github/workflows/ci.yml +0 -68
  6. package/.idea/codeStyles/Project.xml +0 -65
  7. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  8. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  9. package/.idea/ivue.iml +0 -8
  10. package/.idea/modules.xml +0 -8
  11. package/.idea/php.xml +0 -19
  12. package/.idea/vcs.xml +0 -6
  13. package/.prettierrc +0 -5
  14. package/coverage/base.css +0 -224
  15. package/coverage/block-navigation.js +0 -87
  16. package/coverage/clover.xml +0 -191
  17. package/coverage/coverage-final.json +0 -3
  18. package/coverage/favicon.png +0 -0
  19. package/coverage/index.html +0 -131
  20. package/coverage/index.ts.html +0 -88
  21. package/coverage/ivue.ts.html +0 -1753
  22. package/coverage/prettify.css +0 -1
  23. package/coverage/prettify.js +0 -2
  24. package/coverage/sort-arrow-sprite.png +0 -0
  25. package/coverage/sorter.js +0 -196
  26. package/demo/App.vue +0 -11
  27. package/demo/main.ts +0 -6
  28. package/demo/vite.config.ts +0 -12
  29. package/dist/index.d.ts +0 -1
  30. package/dist/index.es.js +0 -89
  31. package/dist/index.umd.js +0 -1
  32. package/dist/ivue.d.ts +0 -247
  33. package/docs/.editorconfig +0 -9
  34. package/docs/.eslintignore +0 -7
  35. package/docs/.eslintrc.js +0 -120
  36. package/docs/.prettierrc +0 -5
  37. package/docs/docs/.vitepress/config.ts +0 -172
  38. package/docs/docs/.vitepress/dist/404.html +0 -21
  39. package/docs/docs/.vitepress/dist/api/ivue.html +0 -24
  40. package/docs/docs/.vitepress/dist/api/propsWithDefaults.html +0 -24
  41. package/docs/docs/.vitepress/dist/assets/api_ivue.md.DyFbv52x.js +0 -1
  42. package/docs/docs/.vitepress/dist/assets/api_ivue.md.DyFbv52x.lean.js +0 -1
  43. package/docs/docs/.vitepress/dist/assets/api_propsWithDefaults.md.C6C7ZBZl.js +0 -1
  44. package/docs/docs/.vitepress/dist/assets/api_propsWithDefaults.md.C6C7ZBZl.lean.js +0 -1
  45. package/docs/docs/.vitepress/dist/assets/app.BEuVrZlt.js +0 -1
  46. package/docs/docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.BuKNEz2z.js +0 -1
  47. package/docs/docs/.vitepress/dist/assets/chunks/Button.vue_vue_type_script_setup_true_lang.Bynntqk6.js +0 -1
  48. package/docs/docs/.vitepress/dist/assets/chunks/VPLocalSearchBox.CrwYL8pk.js +0 -7
  49. package/docs/docs/.vitepress/dist/assets/chunks/framework.CvEKxEoK.js +0 -1
  50. package/docs/docs/.vitepress/dist/assets/chunks/index.es.DRFH_cBG.js +0 -1
  51. package/docs/docs/.vitepress/dist/assets/chunks/theme.CvibXqSO.js +0 -2
  52. package/docs/docs/.vitepress/dist/assets/index.md.mLYKdUe1.js +0 -1
  53. package/docs/docs/.vitepress/dist/assets/index.md.mLYKdUe1.lean.js +0 -1
  54. package/docs/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
  55. package/docs/docs/.vitepress/dist/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
  56. package/docs/docs/.vitepress/dist/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
  57. package/docs/docs/.vitepress/dist/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
  58. package/docs/docs/.vitepress/dist/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
  59. package/docs/docs/.vitepress/dist/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
  60. package/docs/docs/.vitepress/dist/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
  61. package/docs/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
  62. package/docs/docs/.vitepress/dist/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
  63. package/docs/docs/.vitepress/dist/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
  64. package/docs/docs/.vitepress/dist/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
  65. package/docs/docs/.vitepress/dist/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
  66. package/docs/docs/.vitepress/dist/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
  67. package/docs/docs/.vitepress/dist/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
  68. package/docs/docs/.vitepress/dist/assets/pages_advanced-usage.md.Xwq8hk_w.js +0 -1
  69. package/docs/docs/.vitepress/dist/assets/pages_advanced-usage.md.Xwq8hk_w.lean.js +0 -1
  70. package/docs/docs/.vitepress/dist/assets/pages_api.md.Bo9Kusmf.js +0 -1
  71. package/docs/docs/.vitepress/dist/assets/pages_api.md.Bo9Kusmf.lean.js +0 -1
  72. package/docs/docs/.vitepress/dist/assets/pages_browse-code.md.DtJJKz-E.js +0 -556
  73. package/docs/docs/.vitepress/dist/assets/pages_browse-code.md.DtJJKz-E.lean.js +0 -1
  74. package/docs/docs/.vitepress/dist/assets/pages_getting-started.md.BEgX6PyX.js +0 -563
  75. package/docs/docs/.vitepress/dist/assets/pages_getting-started.md.BEgX6PyX.lean.js +0 -1
  76. package/docs/docs/.vitepress/dist/assets/pages_guidelines.md.D5gNjB3w.js +0 -112
  77. package/docs/docs/.vitepress/dist/assets/pages_guidelines.md.D5gNjB3w.lean.js +0 -112
  78. package/docs/docs/.vitepress/dist/assets/pages_how-it-works.md.YjizQt3g.js +0 -559
  79. package/docs/docs/.vitepress/dist/assets/pages_how-it-works.md.YjizQt3g.lean.js +0 -559
  80. package/docs/docs/.vitepress/dist/assets/pages_how-its-made.md.C02KZK0J.js +0 -1
  81. package/docs/docs/.vitepress/dist/assets/pages_how-its-made.md.C02KZK0J.lean.js +0 -1
  82. package/docs/docs/.vitepress/dist/assets/pages_introduction.md.B6foeVXQ.js +0 -1
  83. package/docs/docs/.vitepress/dist/assets/pages_introduction.md.B6foeVXQ.lean.js +0 -1
  84. package/docs/docs/.vitepress/dist/assets/pages_usage.md.BlTPXw5A.js +0 -591
  85. package/docs/docs/.vitepress/dist/assets/pages_usage.md.BlTPXw5A.lean.js +0 -591
  86. package/docs/docs/.vitepress/dist/assets/style.Dtxde_a0.css +0 -1
  87. package/docs/docs/.vitepress/dist/hashmap.json +0 -1
  88. package/docs/docs/.vitepress/dist/index.html +0 -25
  89. package/docs/docs/.vitepress/dist/pages/advanced-usage.html +0 -24
  90. package/docs/docs/.vitepress/dist/pages/api.html +0 -30
  91. package/docs/docs/.vitepress/dist/pages/browse-code.html +0 -579
  92. package/docs/docs/.vitepress/dist/pages/getting-started.html +0 -586
  93. package/docs/docs/.vitepress/dist/pages/guidelines.html +0 -136
  94. package/docs/docs/.vitepress/dist/pages/how-it-works.html +0 -582
  95. package/docs/docs/.vitepress/dist/pages/how-its-made.html +0 -24
  96. package/docs/docs/.vitepress/dist/pages/introduction.html +0 -25
  97. package/docs/docs/.vitepress/dist/pages/usage.html +0 -615
  98. package/docs/docs/.vitepress/theme/index.js +0 -5
  99. package/docs/docs/.vitepress/theme/main.css +0 -29
  100. package/docs/docs/api/ivue.md +0 -0
  101. package/docs/docs/api/propsWithDefaults.md +0 -0
  102. package/docs/docs/components/Button.vue +0 -13
  103. package/docs/docs/components/Component.vue +0 -20
  104. package/docs/docs/components/advanced-usage/ConvertLegacy.vue +0 -58
  105. package/docs/docs/components/guidelines/CounterExternalRefsDetailed.vue +0 -41
  106. package/docs/docs/components/usage/CounterBasic.vue +0 -18
  107. package/docs/docs/components/usage/CounterComposables.vue +0 -29
  108. package/docs/docs/components/usage/CounterComposablesDestructuring.vue +0 -55
  109. package/docs/docs/components/usage/CounterComposablesIvue.vue +0 -30
  110. package/docs/docs/components/usage/CounterComposablesIvueDestructuring.vue +0 -48
  111. package/docs/docs/components/usage/CounterComputeds.vue +0 -26
  112. package/docs/docs/components/usage/CounterComputedsDisabled.vue +0 -33
  113. package/docs/docs/components/usage/CounterDefineExpose.vue +0 -12
  114. package/docs/docs/components/usage/CounterDefineExposeAdvanced.vue +0 -24
  115. package/docs/docs/components/usage/CounterDefineExposeClass.ts +0 -11
  116. package/docs/docs/components/usage/CounterExternalRefs.vue +0 -27
  117. package/docs/docs/components/usage/CounterInsideComposables.vue +0 -28
  118. package/docs/docs/components/usage/CounterInternalRefs.vue +0 -27
  119. package/docs/docs/components/usage/CounterLifecycleHooks.vue +0 -24
  120. package/docs/docs/components/usage/CounterWatch.vue +0 -30
  121. package/docs/docs/components/usage/CounterWithProps.vue +0 -30
  122. package/docs/docs/components/usage/CounterWithPropsAndEmits.vue +0 -37
  123. package/docs/docs/components/usage/classes/CustomMouse.ts +0 -23
  124. package/docs/docs/components/usage/functions/useCustomMouse.ts +0 -25
  125. package/docs/docs/index.md +0 -53
  126. package/docs/docs/pages/advanced-usage.md +0 -12
  127. package/docs/docs/pages/api.md +0 -129
  128. package/docs/docs/pages/browse-code.md +0 -18
  129. package/docs/docs/pages/getting-started.md +0 -32
  130. package/docs/docs/pages/guidelines.md +0 -139
  131. package/docs/docs/pages/how-it-works.md +0 -65
  132. package/docs/docs/pages/how-its-made.md +0 -32
  133. package/docs/docs/pages/introduction.md +0 -83
  134. package/docs/docs/pages/usage.md +0 -402
  135. package/docs/package.json +0 -37
  136. package/docs/scripts/gh-pages-deploy.js +0 -34
  137. package/docs/vite-env.d.ts +0 -7
  138. package/docs/vite.config.ts +0 -20
  139. package/index.html +0 -14
  140. package/tsconfig.json +0 -25
  141. package/vite-env.d.ts +0 -7
  142. package/vite.config.ts +0 -50
  143. package/vitest.config.ts +0 -19
@@ -1,1753 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for ivue.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="prettify.css" />
9
- <link rel="stylesheet" href="base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="index.html">All files</a> ivue.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>178/178</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>75/75</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>11/11</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>178/178</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a>
450
- <a name='L385'></a><a href='#L385'>385</a>
451
- <a name='L386'></a><a href='#L386'>386</a>
452
- <a name='L387'></a><a href='#L387'>387</a>
453
- <a name='L388'></a><a href='#L388'>388</a>
454
- <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a>
457
- <a name='L392'></a><a href='#L392'>392</a>
458
- <a name='L393'></a><a href='#L393'>393</a>
459
- <a name='L394'></a><a href='#L394'>394</a>
460
- <a name='L395'></a><a href='#L395'>395</a>
461
- <a name='L396'></a><a href='#L396'>396</a>
462
- <a name='L397'></a><a href='#L397'>397</a>
463
- <a name='L398'></a><a href='#L398'>398</a>
464
- <a name='L399'></a><a href='#L399'>399</a>
465
- <a name='L400'></a><a href='#L400'>400</a>
466
- <a name='L401'></a><a href='#L401'>401</a>
467
- <a name='L402'></a><a href='#L402'>402</a>
468
- <a name='L403'></a><a href='#L403'>403</a>
469
- <a name='L404'></a><a href='#L404'>404</a>
470
- <a name='L405'></a><a href='#L405'>405</a>
471
- <a name='L406'></a><a href='#L406'>406</a>
472
- <a name='L407'></a><a href='#L407'>407</a>
473
- <a name='L408'></a><a href='#L408'>408</a>
474
- <a name='L409'></a><a href='#L409'>409</a>
475
- <a name='L410'></a><a href='#L410'>410</a>
476
- <a name='L411'></a><a href='#L411'>411</a>
477
- <a name='L412'></a><a href='#L412'>412</a>
478
- <a name='L413'></a><a href='#L413'>413</a>
479
- <a name='L414'></a><a href='#L414'>414</a>
480
- <a name='L415'></a><a href='#L415'>415</a>
481
- <a name='L416'></a><a href='#L416'>416</a>
482
- <a name='L417'></a><a href='#L417'>417</a>
483
- <a name='L418'></a><a href='#L418'>418</a>
484
- <a name='L419'></a><a href='#L419'>419</a>
485
- <a name='L420'></a><a href='#L420'>420</a>
486
- <a name='L421'></a><a href='#L421'>421</a>
487
- <a name='L422'></a><a href='#L422'>422</a>
488
- <a name='L423'></a><a href='#L423'>423</a>
489
- <a name='L424'></a><a href='#L424'>424</a>
490
- <a name='L425'></a><a href='#L425'>425</a>
491
- <a name='L426'></a><a href='#L426'>426</a>
492
- <a name='L427'></a><a href='#L427'>427</a>
493
- <a name='L428'></a><a href='#L428'>428</a>
494
- <a name='L429'></a><a href='#L429'>429</a>
495
- <a name='L430'></a><a href='#L430'>430</a>
496
- <a name='L431'></a><a href='#L431'>431</a>
497
- <a name='L432'></a><a href='#L432'>432</a>
498
- <a name='L433'></a><a href='#L433'>433</a>
499
- <a name='L434'></a><a href='#L434'>434</a>
500
- <a name='L435'></a><a href='#L435'>435</a>
501
- <a name='L436'></a><a href='#L436'>436</a>
502
- <a name='L437'></a><a href='#L437'>437</a>
503
- <a name='L438'></a><a href='#L438'>438</a>
504
- <a name='L439'></a><a href='#L439'>439</a>
505
- <a name='L440'></a><a href='#L440'>440</a>
506
- <a name='L441'></a><a href='#L441'>441</a>
507
- <a name='L442'></a><a href='#L442'>442</a>
508
- <a name='L443'></a><a href='#L443'>443</a>
509
- <a name='L444'></a><a href='#L444'>444</a>
510
- <a name='L445'></a><a href='#L445'>445</a>
511
- <a name='L446'></a><a href='#L446'>446</a>
512
- <a name='L447'></a><a href='#L447'>447</a>
513
- <a name='L448'></a><a href='#L448'>448</a>
514
- <a name='L449'></a><a href='#L449'>449</a>
515
- <a name='L450'></a><a href='#L450'>450</a>
516
- <a name='L451'></a><a href='#L451'>451</a>
517
- <a name='L452'></a><a href='#L452'>452</a>
518
- <a name='L453'></a><a href='#L453'>453</a>
519
- <a name='L454'></a><a href='#L454'>454</a>
520
- <a name='L455'></a><a href='#L455'>455</a>
521
- <a name='L456'></a><a href='#L456'>456</a>
522
- <a name='L457'></a><a href='#L457'>457</a>
523
- <a name='L458'></a><a href='#L458'>458</a>
524
- <a name='L459'></a><a href='#L459'>459</a>
525
- <a name='L460'></a><a href='#L460'>460</a>
526
- <a name='L461'></a><a href='#L461'>461</a>
527
- <a name='L462'></a><a href='#L462'>462</a>
528
- <a name='L463'></a><a href='#L463'>463</a>
529
- <a name='L464'></a><a href='#L464'>464</a>
530
- <a name='L465'></a><a href='#L465'>465</a>
531
- <a name='L466'></a><a href='#L466'>466</a>
532
- <a name='L467'></a><a href='#L467'>467</a>
533
- <a name='L468'></a><a href='#L468'>468</a>
534
- <a name='L469'></a><a href='#L469'>469</a>
535
- <a name='L470'></a><a href='#L470'>470</a>
536
- <a name='L471'></a><a href='#L471'>471</a>
537
- <a name='L472'></a><a href='#L472'>472</a>
538
- <a name='L473'></a><a href='#L473'>473</a>
539
- <a name='L474'></a><a href='#L474'>474</a>
540
- <a name='L475'></a><a href='#L475'>475</a>
541
- <a name='L476'></a><a href='#L476'>476</a>
542
- <a name='L477'></a><a href='#L477'>477</a>
543
- <a name='L478'></a><a href='#L478'>478</a>
544
- <a name='L479'></a><a href='#L479'>479</a>
545
- <a name='L480'></a><a href='#L480'>480</a>
546
- <a name='L481'></a><a href='#L481'>481</a>
547
- <a name='L482'></a><a href='#L482'>482</a>
548
- <a name='L483'></a><a href='#L483'>483</a>
549
- <a name='L484'></a><a href='#L484'>484</a>
550
- <a name='L485'></a><a href='#L485'>485</a>
551
- <a name='L486'></a><a href='#L486'>486</a>
552
- <a name='L487'></a><a href='#L487'>487</a>
553
- <a name='L488'></a><a href='#L488'>488</a>
554
- <a name='L489'></a><a href='#L489'>489</a>
555
- <a name='L490'></a><a href='#L490'>490</a>
556
- <a name='L491'></a><a href='#L491'>491</a>
557
- <a name='L492'></a><a href='#L492'>492</a>
558
- <a name='L493'></a><a href='#L493'>493</a>
559
- <a name='L494'></a><a href='#L494'>494</a>
560
- <a name='L495'></a><a href='#L495'>495</a>
561
- <a name='L496'></a><a href='#L496'>496</a>
562
- <a name='L497'></a><a href='#L497'>497</a>
563
- <a name='L498'></a><a href='#L498'>498</a>
564
- <a name='L499'></a><a href='#L499'>499</a>
565
- <a name='L500'></a><a href='#L500'>500</a>
566
- <a name='L501'></a><a href='#L501'>501</a>
567
- <a name='L502'></a><a href='#L502'>502</a>
568
- <a name='L503'></a><a href='#L503'>503</a>
569
- <a name='L504'></a><a href='#L504'>504</a>
570
- <a name='L505'></a><a href='#L505'>505</a>
571
- <a name='L506'></a><a href='#L506'>506</a>
572
- <a name='L507'></a><a href='#L507'>507</a>
573
- <a name='L508'></a><a href='#L508'>508</a>
574
- <a name='L509'></a><a href='#L509'>509</a>
575
- <a name='L510'></a><a href='#L510'>510</a>
576
- <a name='L511'></a><a href='#L511'>511</a>
577
- <a name='L512'></a><a href='#L512'>512</a>
578
- <a name='L513'></a><a href='#L513'>513</a>
579
- <a name='L514'></a><a href='#L514'>514</a>
580
- <a name='L515'></a><a href='#L515'>515</a>
581
- <a name='L516'></a><a href='#L516'>516</a>
582
- <a name='L517'></a><a href='#L517'>517</a>
583
- <a name='L518'></a><a href='#L518'>518</a>
584
- <a name='L519'></a><a href='#L519'>519</a>
585
- <a name='L520'></a><a href='#L520'>520</a>
586
- <a name='L521'></a><a href='#L521'>521</a>
587
- <a name='L522'></a><a href='#L522'>522</a>
588
- <a name='L523'></a><a href='#L523'>523</a>
589
- <a name='L524'></a><a href='#L524'>524</a>
590
- <a name='L525'></a><a href='#L525'>525</a>
591
- <a name='L526'></a><a href='#L526'>526</a>
592
- <a name='L527'></a><a href='#L527'>527</a>
593
- <a name='L528'></a><a href='#L528'>528</a>
594
- <a name='L529'></a><a href='#L529'>529</a>
595
- <a name='L530'></a><a href='#L530'>530</a>
596
- <a name='L531'></a><a href='#L531'>531</a>
597
- <a name='L532'></a><a href='#L532'>532</a>
598
- <a name='L533'></a><a href='#L533'>533</a>
599
- <a name='L534'></a><a href='#L534'>534</a>
600
- <a name='L535'></a><a href='#L535'>535</a>
601
- <a name='L536'></a><a href='#L536'>536</a>
602
- <a name='L537'></a><a href='#L537'>537</a>
603
- <a name='L538'></a><a href='#L538'>538</a>
604
- <a name='L539'></a><a href='#L539'>539</a>
605
- <a name='L540'></a><a href='#L540'>540</a>
606
- <a name='L541'></a><a href='#L541'>541</a>
607
- <a name='L542'></a><a href='#L542'>542</a>
608
- <a name='L543'></a><a href='#L543'>543</a>
609
- <a name='L544'></a><a href='#L544'>544</a>
610
- <a name='L545'></a><a href='#L545'>545</a>
611
- <a name='L546'></a><a href='#L546'>546</a>
612
- <a name='L547'></a><a href='#L547'>547</a>
613
- <a name='L548'></a><a href='#L548'>548</a>
614
- <a name='L549'></a><a href='#L549'>549</a>
615
- <a name='L550'></a><a href='#L550'>550</a>
616
- <a name='L551'></a><a href='#L551'>551</a>
617
- <a name='L552'></a><a href='#L552'>552</a>
618
- <a name='L553'></a><a href='#L553'>553</a>
619
- <a name='L554'></a><a href='#L554'>554</a>
620
- <a name='L555'></a><a href='#L555'>555</a>
621
- <a name='L556'></a><a href='#L556'>556</a>
622
- <a name='L557'></a><a href='#L557'>557</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</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-yes">1x</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-yes">1x</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-yes">1x</span>
813
- <span class="cline-any cline-neutral">&nbsp;</span>
814
- <span class="cline-any cline-yes">27x</span>
815
- <span class="cline-any cline-yes">22x</span>
816
- <span class="cline-any cline-yes">22x</span>
817
- <span class="cline-any cline-neutral">&nbsp;</span>
818
- <span class="cline-any cline-yes">5x</span>
819
- <span class="cline-any cline-neutral">&nbsp;</span>
820
- <span class="cline-any cline-yes">5x</span>
821
- <span class="cline-any cline-yes">27x</span>
822
- <span class="cline-any cline-yes">12x</span>
823
- <span class="cline-any cline-yes">12x</span>
824
- <span class="cline-any cline-yes">39x</span>
825
- <span class="cline-any cline-neutral">&nbsp;</span>
826
- <span class="cline-any cline-yes">39x</span>
827
- <span class="cline-any cline-yes">39x</span>
828
- <span class="cline-any cline-yes">39x</span>
829
- <span class="cline-any cline-yes">39x</span>
830
- <span class="cline-any cline-neutral">&nbsp;</span>
831
- <span class="cline-any cline-yes">23x</span>
832
- <span class="cline-any cline-yes">23x</span>
833
- <span class="cline-any cline-yes">23x</span>
834
- <span class="cline-any cline-yes">23x</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-yes">23x</span>
838
- <span class="cline-any cline-yes">23x</span>
839
- <span class="cline-any cline-yes">39x</span>
840
- <span class="cline-any cline-yes">12x</span>
841
- <span class="cline-any cline-neutral">&nbsp;</span>
842
- <span class="cline-any cline-yes">12x</span>
843
- <span class="cline-any cline-yes">12x</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-yes">5x</span>
847
- <span class="cline-any cline-neutral">&nbsp;</span>
848
- <span class="cline-any cline-yes">5x</span>
849
- <span class="cline-any cline-yes">5x</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-yes">1x</span>
872
- <span class="cline-any cline-yes">25x</span>
873
- <span class="cline-any cline-yes">25x</span>
874
- <span class="cline-any cline-yes">25x</span>
875
- <span class="cline-any cline-yes">25x</span>
876
- <span class="cline-any cline-yes">25x</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-yes">25x</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-yes">25x</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-yes">128x</span>
887
- <span class="cline-any cline-neutral">&nbsp;</span>
888
- <span class="cline-any cline-yes">123x</span>
889
- <span class="cline-any cline-yes">123x</span>
890
- <span class="cline-any cline-yes">97x</span>
891
- <span class="cline-any cline-yes">21x</span>
892
- <span class="cline-any cline-neutral">&nbsp;</span>
893
- <span class="cline-any cline-yes">6x</span>
894
- <span class="cline-any cline-neutral">&nbsp;</span>
895
- <span class="cline-any cline-yes">15x</span>
896
- <span class="cline-any cline-yes">15x</span>
897
- <span class="cline-any cline-yes">15x</span>
898
- <span class="cline-any cline-yes">15x</span>
899
- <span class="cline-any cline-yes">26x</span>
900
- <span class="cline-any cline-yes">128x</span>
901
- <span class="cline-any cline-yes">128x</span>
902
- <span class="cline-any cline-yes">128x</span>
903
- <span class="cline-any cline-yes">128x</span>
904
- <span class="cline-any cline-neutral">&nbsp;</span>
905
- <span class="cline-any cline-yes">25x</span>
906
- <span class="cline-any cline-yes">25x</span>
907
- <span class="cline-any cline-yes">25x</span>
908
- <span class="cline-any cline-yes">25x</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-yes">25x</span>
912
- <span class="cline-any cline-neutral">&nbsp;</span>
913
- <span class="cline-any cline-yes">25x</span>
914
- <span class="cline-any cline-yes">25x</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-yes">1x</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-yes">1x</span>
926
- <span class="cline-any cline-neutral">&nbsp;</span>
927
- <span class="cline-any cline-yes">8x</span>
928
- <span class="cline-any cline-yes">4x</span>
929
- <span class="cline-any cline-yes">4x</span>
930
- <span class="cline-any cline-neutral">&nbsp;</span>
931
- <span class="cline-any cline-yes">4x</span>
932
- <span class="cline-any cline-neutral">&nbsp;</span>
933
- <span class="cline-any cline-yes">4x</span>
934
- <span class="cline-any cline-yes">8x</span>
935
- <span class="cline-any cline-yes">15x</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-yes">85x</span>
939
- <span class="cline-any cline-yes">74x</span>
940
- <span class="cline-any cline-yes">74x</span>
941
- <span class="cline-any cline-yes">15x</span>
942
- <span class="cline-any cline-yes">15x</span>
943
- <span class="cline-any cline-yes">8x</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-yes">4x</span>
947
- <span class="cline-any cline-neutral">&nbsp;</span>
948
- <span class="cline-any cline-yes">4x</span>
949
- <span class="cline-any cline-yes">4x</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-yes">1x</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-yes">1x</span>
966
- <span class="cline-any cline-neutral">&nbsp;</span>
967
- <span class="cline-any cline-neutral">&nbsp;</span>
968
- <span class="cline-any cline-neutral">&nbsp;</span>
969
- <span class="cline-any cline-neutral">&nbsp;</span>
970
- <span class="cline-any cline-neutral">&nbsp;</span>
971
- <span class="cline-any cline-neutral">&nbsp;</span>
972
- <span class="cline-any cline-neutral">&nbsp;</span>
973
- <span class="cline-any cline-neutral">&nbsp;</span>
974
- <span class="cline-any cline-neutral">&nbsp;</span>
975
- <span class="cline-any cline-neutral">&nbsp;</span>
976
- <span class="cline-any cline-neutral">&nbsp;</span>
977
- <span class="cline-any cline-neutral">&nbsp;</span>
978
- <span class="cline-any cline-neutral">&nbsp;</span>
979
- <span class="cline-any cline-neutral">&nbsp;</span>
980
- <span class="cline-any cline-neutral">&nbsp;</span>
981
- <span class="cline-any cline-neutral">&nbsp;</span>
982
- <span class="cline-any cline-yes">1x</span>
983
- <span class="cline-any cline-yes">4x</span>
984
- <span class="cline-any cline-yes">4x</span>
985
- <span class="cline-any cline-neutral">&nbsp;</span>
986
- <span class="cline-any cline-neutral">&nbsp;</span>
987
- <span class="cline-any cline-neutral">&nbsp;</span>
988
- <span class="cline-any cline-neutral">&nbsp;</span>
989
- <span class="cline-any cline-yes">4x</span>
990
- <span class="cline-any cline-yes">4x</span>
991
- <span class="cline-any cline-yes">3x</span>
992
- <span class="cline-any cline-neutral">&nbsp;</span>
993
- <span class="cline-any cline-yes">2x</span>
994
- <span class="cline-any cline-yes">2x</span>
995
- <span class="cline-any cline-yes">2x</span>
996
- <span class="cline-any cline-yes">2x</span>
997
- <span class="cline-any cline-neutral">&nbsp;</span>
998
- <span class="cline-any cline-yes">1x</span>
999
- <span class="cline-any cline-yes">1x</span>
1000
- <span class="cline-any cline-yes">1x</span>
1001
- <span class="cline-any cline-yes">1x</span>
1002
- <span class="cline-any cline-yes">4x</span>
1003
- <span class="cline-any cline-neutral">&nbsp;</span>
1004
- <span class="cline-any cline-neutral">&nbsp;</span>
1005
- <span class="cline-any cline-neutral">&nbsp;</span>
1006
- <span class="cline-any cline-neutral">&nbsp;</span>
1007
- <span class="cline-any cline-neutral">&nbsp;</span>
1008
- <span class="cline-any cline-neutral">&nbsp;</span>
1009
- <span class="cline-any cline-neutral">&nbsp;</span>
1010
- <span class="cline-any cline-neutral">&nbsp;</span>
1011
- <span class="cline-any cline-neutral">&nbsp;</span>
1012
- <span class="cline-any cline-yes">23x</span>
1013
- <span class="cline-any cline-yes">23x</span>
1014
- <span class="cline-any cline-yes">23x</span>
1015
- <span class="cline-any cline-yes">23x</span>
1016
- <span class="cline-any cline-yes">23x</span>
1017
- <span class="cline-any cline-yes">23x</span>
1018
- <span class="cline-any cline-yes">11x</span>
1019
- <span class="cline-any cline-yes">11x</span>
1020
- <span class="cline-any cline-yes">11x</span>
1021
- <span class="cline-any cline-neutral">&nbsp;</span>
1022
- <span class="cline-any cline-yes">11x</span>
1023
- <span class="cline-any cline-neutral">&nbsp;</span>
1024
- <span class="cline-any cline-neutral">&nbsp;</span>
1025
- <span class="cline-any cline-yes">11x</span>
1026
- <span class="cline-any cline-yes">5x</span>
1027
- <span class="cline-any cline-yes">11x</span>
1028
- <span class="cline-any cline-neutral">&nbsp;</span>
1029
- <span class="cline-any cline-yes">11x</span>
1030
- <span class="cline-any cline-yes">6x</span>
1031
- <span class="cline-any cline-neutral">&nbsp;</span>
1032
- <span class="cline-any cline-yes">2x</span>
1033
- <span class="cline-any cline-yes">6x</span>
1034
- <span class="cline-any cline-neutral">&nbsp;</span>
1035
- <span class="cline-any cline-yes">4x</span>
1036
- <span class="cline-any cline-yes">4x</span>
1037
- <span class="cline-any cline-yes">4x</span>
1038
- <span class="cline-any cline-yes">4x</span>
1039
- <span class="cline-any cline-yes">4x</span>
1040
- <span class="cline-any cline-yes">4x</span>
1041
- <span class="cline-any cline-yes">11x</span>
1042
- <span class="cline-any cline-neutral">&nbsp;</span>
1043
- <span class="cline-any cline-yes">5x</span>
1044
- <span class="cline-any cline-neutral">&nbsp;</span>
1045
- <span class="cline-any cline-yes">1x</span>
1046
- <span class="cline-any cline-yes">5x</span>
1047
- <span class="cline-any cline-neutral">&nbsp;</span>
1048
- <span class="cline-any cline-yes">4x</span>
1049
- <span class="cline-any cline-yes">4x</span>
1050
- <span class="cline-any cline-yes">5x</span>
1051
- <span class="cline-any cline-yes">11x</span>
1052
- <span class="cline-any cline-yes">11x</span>
1053
- <span class="cline-any cline-neutral">&nbsp;</span>
1054
- <span class="cline-any cline-yes">6x</span>
1055
- <span class="cline-any cline-neutral">&nbsp;</span>
1056
- <span class="cline-any cline-neutral">&nbsp;</span>
1057
- <span class="cline-any cline-yes">6x</span>
1058
- <span class="cline-any cline-yes">34x</span>
1059
- <span class="cline-any cline-neutral">&nbsp;</span>
1060
- <span class="cline-any cline-yes">2x</span>
1061
- <span class="cline-any cline-yes">34x</span>
1062
- <span class="cline-any cline-neutral">&nbsp;</span>
1063
- <span class="cline-any cline-yes">32x</span>
1064
- <span class="cline-any cline-yes">32x</span>
1065
- <span class="cline-any cline-yes">32x</span>
1066
- <span class="cline-any cline-yes">32x</span>
1067
- <span class="cline-any cline-yes">32x</span>
1068
- <span class="cline-any cline-neutral">&nbsp;</span>
1069
- <span class="cline-any cline-yes">34x</span>
1070
- <span class="cline-any cline-yes">6x</span>
1071
- <span class="cline-any cline-neutral">&nbsp;</span>
1072
- <span class="cline-any cline-yes">6x</span>
1073
- <span class="cline-any cline-yes">52x</span>
1074
- <span class="cline-any cline-neutral">&nbsp;</span>
1075
- <span class="cline-any cline-yes">11x</span>
1076
- <span class="cline-any cline-yes">52x</span>
1077
- <span class="cline-any cline-neutral">&nbsp;</span>
1078
- <span class="cline-any cline-yes">41x</span>
1079
- <span class="cline-any cline-yes">41x</span>
1080
- <span class="cline-any cline-yes">6x</span>
1081
- <span class="cline-any cline-neutral">&nbsp;</span>
1082
- <span class="cline-any cline-neutral">&nbsp;</span>
1083
- <span class="cline-any cline-yes">6x</span>
1084
- <span class="cline-any cline-yes">6x</span>
1085
- <span class="cline-any cline-neutral">&nbsp;</span>
1086
- <span class="cline-any cline-yes">11x</span>
1087
- <span class="cline-any cline-yes">11x</span>
1088
- <span class="cline-any cline-yes">23x</span>
1089
- <span class="cline-any cline-neutral">&nbsp;</span>
1090
- <span class="cline-any cline-neutral">&nbsp;</span>
1091
- <span class="cline-any cline-neutral">&nbsp;</span>
1092
- <span class="cline-any cline-neutral">&nbsp;</span>
1093
- <span class="cline-any cline-neutral">&nbsp;</span>
1094
- <span class="cline-any cline-neutral">&nbsp;</span>
1095
- <span class="cline-any cline-neutral">&nbsp;</span>
1096
- <span class="cline-any cline-neutral">&nbsp;</span>
1097
- <span class="cline-any cline-neutral">&nbsp;</span>
1098
- <span class="cline-any cline-neutral">&nbsp;</span>
1099
- <span class="cline-any cline-neutral">&nbsp;</span>
1100
- <span class="cline-any cline-neutral">&nbsp;</span>
1101
- <span class="cline-any cline-neutral">&nbsp;</span>
1102
- <span class="cline-any cline-neutral">&nbsp;</span>
1103
- <span class="cline-any cline-neutral">&nbsp;</span>
1104
- <span class="cline-any cline-neutral">&nbsp;</span>
1105
- <span class="cline-any cline-neutral">&nbsp;</span>
1106
- <span class="cline-any cline-neutral">&nbsp;</span>
1107
- <span class="cline-any cline-neutral">&nbsp;</span>
1108
- <span class="cline-any cline-neutral">&nbsp;</span>
1109
- <span class="cline-any cline-neutral">&nbsp;</span>
1110
- <span class="cline-any cline-neutral">&nbsp;</span>
1111
- <span class="cline-any cline-neutral">&nbsp;</span>
1112
- <span class="cline-any cline-neutral">&nbsp;</span>
1113
- <span class="cline-any cline-neutral">&nbsp;</span>
1114
- <span class="cline-any cline-neutral">&nbsp;</span>
1115
- <span class="cline-any cline-neutral">&nbsp;</span>
1116
- <span class="cline-any cline-yes">1x</span>
1117
- <span class="cline-any cline-yes">17x</span>
1118
- <span class="cline-any cline-neutral">&nbsp;</span>
1119
- <span class="cline-any cline-yes">17x</span>
1120
- <span class="cline-any cline-neutral">&nbsp;</span>
1121
- <span class="cline-any cline-neutral">&nbsp;</span>
1122
- <span class="cline-any cline-yes">17x</span>
1123
- <span class="cline-any cline-neutral">&nbsp;</span>
1124
- <span class="cline-any cline-yes">1x</span>
1125
- <span class="cline-any cline-yes">17x</span>
1126
- <span class="cline-any cline-yes">5x</span>
1127
- <span class="cline-any cline-yes">5x</span>
1128
- <span class="cline-any cline-yes">17x</span>
1129
- <span class="cline-any cline-neutral">&nbsp;</span>
1130
- <span class="cline-any cline-neutral">&nbsp;</span>
1131
- <span class="cline-any cline-neutral">&nbsp;</span>
1132
- <span class="cline-any cline-neutral">&nbsp;</span>
1133
- <span class="cline-any cline-neutral">&nbsp;</span>
1134
- <span class="cline-any cline-neutral">&nbsp;</span>
1135
- <span class="cline-any cline-neutral">&nbsp;</span>
1136
- <span class="cline-any cline-neutral">&nbsp;</span>
1137
- <span class="cline-any cline-neutral">&nbsp;</span>
1138
- <span class="cline-any cline-neutral">&nbsp;</span>
1139
- <span class="cline-any cline-neutral">&nbsp;</span>
1140
- <span class="cline-any cline-neutral">&nbsp;</span>
1141
- <span class="cline-any cline-neutral">&nbsp;</span>
1142
- <span class="cline-any cline-neutral">&nbsp;</span>
1143
- <span class="cline-any cline-neutral">&nbsp;</span>
1144
- <span class="cline-any cline-neutral">&nbsp;</span>
1145
- <span class="cline-any cline-neutral">&nbsp;</span>
1146
- <span class="cline-any cline-neutral">&nbsp;</span>
1147
- <span class="cline-any cline-neutral">&nbsp;</span>
1148
- <span class="cline-any cline-neutral">&nbsp;</span>
1149
- <span class="cline-any cline-neutral">&nbsp;</span>
1150
- <span class="cline-any cline-neutral">&nbsp;</span>
1151
- <span class="cline-any cline-neutral">&nbsp;</span>
1152
- <span class="cline-any cline-neutral">&nbsp;</span>
1153
- <span class="cline-any cline-neutral">&nbsp;</span>
1154
- <span class="cline-any cline-neutral">&nbsp;</span>
1155
- <span class="cline-any cline-yes">1x</span>
1156
- <span class="cline-any cline-yes">1x</span>
1157
- <span class="cline-any cline-yes">1x</span>
1158
- <span class="cline-any cline-yes">1x</span>
1159
- <span class="cline-any cline-yes">1x</span>
1160
- <span class="cline-any cline-yes">8x</span>
1161
- <span class="cline-any cline-neutral">&nbsp;</span>
1162
- <span class="cline-any cline-yes">2x</span>
1163
- <span class="cline-any cline-yes">8x</span>
1164
- <span class="cline-any cline-yes">6x</span>
1165
- <span class="cline-any cline-neutral">&nbsp;</span>
1166
- <span class="cline-any cline-yes">1x</span>
1167
- <span class="cline-any cline-yes">6x</span>
1168
- <span class="cline-any cline-neutral">&nbsp;</span>
1169
- <span class="cline-any cline-yes">5x</span>
1170
- <span class="cline-any cline-yes">5x</span>
1171
- <span class="cline-any cline-yes">6x</span>
1172
- <span class="cline-any cline-yes">8x</span>
1173
- <span class="cline-any cline-yes">1x</span>
1174
- <span class="cline-any cline-yes">1x</span>
1175
- <span class="cline-any cline-neutral">&nbsp;</span>
1176
- <span class="cline-any cline-neutral">&nbsp;</span>
1177
- <span class="cline-any cline-yes">1x</span>
1178
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/* eslint-disable @typescript-eslint/ban-types */
1179
- /* eslint-disable @typescript-eslint/no-explicit-any */
1180
- import type { ComputedRef, ExtractPropTypes, Ref, ToRef } from 'vue';
1181
- import { computed, reactive, ref, shallowRef, toRef } from 'vue';
1182
- import type { Ref as DemiRef } from 'vue-demi';
1183
- &nbsp;
1184
- /** Types */
1185
- /**
1186
- * IVue core reactive instance type with an extended .toRefs() method added.
1187
- */
1188
- export type IVue&lt;T extends AnyClass&gt; = InstanceType&lt;T&gt; &amp; ExtendWithToRefs&lt;T&gt;;
1189
- &nbsp;
1190
- /**
1191
- * Extend with .toRefs() method, so that a reactive class can be converted to a composable definition.
1192
- */
1193
- export interface ExtendWithToRefs&lt;T extends AnyClass&gt; {
1194
- toRefs: IVueToRefsFn&lt;T&gt;;
1195
- }
1196
- &nbsp;
1197
- /**
1198
- * Type definition for `.toRefs()` method converts reactive class properties to composable .value properties.
1199
- * But if props = true OR unwrap = true is specified, the refs will be unwrapped refs to be able to be merged with the the root class properties without losing reactivity.
1200
- */
1201
- export interface IVueToRefsFn&lt;T extends AnyClass&gt; {
1202
- &lt;P extends keyof InstanceType&lt;T&gt;&gt;(props: P[]): Pick&lt;
1203
- IVueRefs&lt;InstanceType&lt;T&gt;&gt;,
1204
- P
1205
- &gt;;
1206
- &lt;P extends keyof InstanceType&lt;T&gt;&gt;(props: P[], unwrap: false): Pick&lt;
1207
- IVueRefs&lt;InstanceType&lt;T&gt;&gt;,
1208
- P
1209
- &gt;;
1210
- &lt;P extends keyof InstanceType&lt;T&gt;&gt;(
1211
- props: P[],
1212
- unwrap: true
1213
- ): Pick&lt;InstanceType&lt;T&gt;, P&gt;;
1214
- (props: true): InstanceType&lt;T&gt;;
1215
- (props: false): IVueRefs&lt;InstanceType&lt;T&gt;&gt;;
1216
- (): IVueRefs&lt;InstanceType&lt;T&gt;&gt;;
1217
- }
1218
- &nbsp;
1219
- /**
1220
- * Converts a class properties to a composable .value Refs using ToRef vue type,
1221
- * also knows NOT to convert functions to .value Refs but to leave them as is.
1222
- */
1223
- export type IVueRefs&lt;T = any&gt; = {
1224
- [K in keyof T]: T[K] extends Function ? T[K] : ToRef&lt;T[K]&gt;;
1225
- };
1226
- &nbsp;
1227
- /**
1228
- * Unwraps Ref Recursively, helps resolve fully the bare value types of any type T
1229
- * because sometimes the Refs are returned as they are with `.value` from computeds,
1230
- * thus inferring nested ComputedRef&lt;ComputedRef&lt;ComputedRef&lt;Ref&gt;&gt;&gt; types, which
1231
- * are difficult to fully resolve to bare values without this utility.
1232
- * Also support Vue 3 Demi for vue-use library support.
1233
- */
1234
- export type UnwrapRefRecursively&lt;T = any&gt; = T extends Ref | DemiRef
1235
- ? UnwrapRefRecursively&lt;T['value']&gt;
1236
- : T;
1237
- &nbsp;
1238
- /**
1239
- * Helper type for Use type, unwraps any type of Vue 3 composable down to its bare types.
1240
- */
1241
- export type Unwrap&lt;T&gt; = T extends Ref | DemiRef
1242
- ? UnwrapRefRecursively&lt;T&gt;
1243
- : {
1244
- [K in keyof T]: T[K] extends Ref | DemiRef
1245
- ? UnwrapRefRecursively&lt;T[K]&gt;
1246
- : T[K];
1247
- };
1248
- &nbsp;
1249
- /**
1250
- * Fully unwraps to bare value types any Vue 3 composable return definition type.
1251
- */
1252
- export type Use&lt;T = any&gt; = Unwrap&lt;T extends AnyFn ? ReturnType&lt;T&gt; : T&gt;;
1253
- &nbsp;
1254
- /**
1255
- * Extracts object defined emit types by converting them to a plain interface
1256
- */
1257
- export type ExtractEmitTypes&lt;T extends Record&lt;string, any&gt;&gt; =
1258
- UnionToIntersection&lt;
1259
- RecordToUnion&lt;{
1260
- [K in keyof T]: (evt: K, ...args: Parameters&lt;T[K]&gt;) =&gt; void;
1261
- }&gt;
1262
- &gt;;
1263
- &nbsp;
1264
- /**
1265
- * Extract properties as all assigned properties because they have defaults.
1266
- */
1267
- export type ExtractPropDefaultTypes&lt;O&gt; = {
1268
- [K in keyof O]: ValueOf&lt;ExtractPropTypes&lt;O&gt;, K&gt;;
1269
- };
1270
- &nbsp;
1271
- /**
1272
- * Extend slots interface T with prefixed 'before--' &amp; 'after--' slots to create fully extensible flexible slots.
1273
- */
1274
- export type ExtendSlots&lt;T&gt; = PrefixKeys&lt;T, 'before--'&gt; &amp;
1275
- T &amp;
1276
- PrefixKeys&lt;T, 'after--'&gt;;
1277
- &nbsp;
1278
- /** Helper Types. */
1279
- /**
1280
- * Any JavaScript function of any type.
1281
- */
1282
- export type AnyFn = (...args: any[]) =&gt; any;
1283
- &nbsp;
1284
- /**
1285
- * Any JavaScript class of any type.
1286
- */
1287
- export type AnyClass = abstract new (...args: any[]) =&gt; any;
1288
- &nbsp;
1289
- /**
1290
- * Descriptors map type.
1291
- */
1292
- export type Descriptors = Map&lt;string, PropertyDescriptor&gt;;
1293
- &nbsp;
1294
- /**
1295
- * Computeds hash map type.
1296
- */
1297
- export type Computeds = Record&lt;string, ComputedRef&gt;;
1298
- &nbsp;
1299
- /**
1300
- * Infer paramaters of a constructor function of a Class.
1301
- */
1302
- export type InferredArgs&lt;T&gt; = T extends { new (...args: infer P): any }
1303
- ? P
1304
- : never[];
1305
- &nbsp;
1306
- /**
1307
- * Prefix keys of an interface T with a prefix P.
1308
- */
1309
- export type PrefixKeys&lt;T, P extends string | undefined = undefined&gt; = {
1310
- [K in Extract&lt;keyof T, string&gt; as P extends string ? `${P}${K}` : K]: T[K];
1311
- };
1312
- &nbsp;
1313
- /**
1314
- * Get Interface's property's function arguments Parmeters&lt;F&gt;
1315
- */
1316
- export type IFnParameters&lt;
1317
- T extends Record&lt;any, any&gt;,
1318
- K extends string
1319
- &gt; = Parameters&lt;Required&lt;Pick&lt;T, K&gt;&gt;[K]&gt;;
1320
- &nbsp;
1321
- /**
1322
- * Get Interface's [T] property's [P] function arguments Parmeters&lt;F&gt; parameter by key [K]
1323
- */
1324
- export type IFnParameter&lt;
1325
- T extends Record&lt;any, any&gt;,
1326
- P extends keyof T,
1327
- K extends number
1328
- &gt; = FnParameter&lt;ValueOf&lt;T, P&gt;, K&gt;;
1329
- &nbsp;
1330
- /**
1331
- * Get function arguments Parmeters&lt;F&gt; parameter by key K
1332
- */
1333
- export type FnParameter&lt;F extends AnyFn, K extends number&gt; = Parameters&lt;F&gt;[K];
1334
- &nbsp;
1335
- /**
1336
- * Convert Union Type to Intersection Type.
1337
- */
1338
- export type UnionToIntersection&lt;U&gt; = (
1339
- U extends any ? (k: U) =&gt; void : never
1340
- ) extends (k: infer I) =&gt; void
1341
- ? I
1342
- : never;
1343
- &nbsp;
1344
- /**
1345
- * Convert Record to Union Type.
1346
- */
1347
- export type RecordToUnion&lt;T extends Record&lt;string, any&gt;&gt; = T[keyof T];
1348
- &nbsp;
1349
- /**
1350
- * Gets object T property by key [K].
1351
- */
1352
- export type ValueOf&lt;T extends Record&lt;any, any&gt;, K&gt; = T[K];
1353
- /** Types End. */
1354
- &nbsp;
1355
- /**
1356
- * Store all descriptors for each class prototype processed by
1357
- * @see {getAllClassDescriptors}
1358
- */
1359
- export const descriptorsMap = new Map();
1360
- &nbsp;
1361
- /**
1362
- * Get descriptors of an entire class prototype ancestors chain as a Map.
1363
- * Completely emulates JavaScript class inheritance chain for getters and setters.
1364
- *
1365
- * @param className
1366
- * @return {Descriptors}
1367
- */
1368
- export function getAllClassDescriptors(className: AnyClass): Descriptors {
1369
- /* Retrieve descriptors from cache */
1370
- if (descriptorsMap.has(className)) {
1371
- return descriptorsMap.get(className);
1372
- }
1373
- &nbsp;
1374
- const savedDescriptors: Descriptors = new Map();
1375
- &nbsp;
1376
- let prototype = className.prototype;
1377
- while (prototype.constructor !== Object) {
1378
- Object.entries(Object.getOwnPropertyDescriptors(prototype)).forEach(
1379
- ([propertyName, currentDescriptor]) =&gt; {
1380
- const savedDescriptor = savedDescriptors.get(propertyName);
1381
- /** Emulate inheritance chain of getters and setters. */
1382
- if (
1383
- savedDescriptor !== currentDescriptor &amp;&amp;
1384
- (currentDescriptor?.get || currentDescriptor?.set)
1385
- ) {
1386
- /** Overwrite descriptors if they were already set. */
1387
- if (savedDescriptor?.get)
1388
- currentDescriptor.get = savedDescriptor?.get;
1389
- if (savedDescriptor?.set)
1390
- currentDescriptor.set = savedDescriptor?.set;
1391
- &nbsp;
1392
- /** Store descriptors. */
1393
- savedDescriptors.set(propertyName, currentDescriptor);
1394
- }
1395
- }
1396
- );
1397
- /** Walk up the prototype ancestors chain. */
1398
- prototype = Object.getPrototypeOf(prototype);
1399
- }
1400
- &nbsp;
1401
- /** Save descriptors in the descriptors map for each class. */
1402
- descriptorsMap.set(className, savedDescriptors);
1403
- &nbsp;
1404
- return savedDescriptors;
1405
- }
1406
- &nbsp;
1407
- /**
1408
- * Infinite Vue (ivue) class reactive initializer.
1409
- *
1410
- * Converts class instance to a reactive object,
1411
- * where descriptors are converted to computeds.
1412
- *
1413
- * You can turn off computed behaviour by adding static
1414
- * ivue object and setting the getter props to false.
1415
- * class ClassName {
1416
- * static ivue = {
1417
- * getter: false
1418
- * }
1419
- * // .getter -&gt; will be a standard JS non-computed getter
1420
- * get getter () { return 'hello world'; }
1421
- * }
1422
- *
1423
- * @param className Any Class
1424
- * @param args Class constructor arguments that you would pass to a `new AnyClass(args...)`
1425
- * @returns {IVue&lt;T&gt;}
1426
- */
1427
- export function ivue&lt;T extends AnyClass&gt;(
1428
- className: T,
1429
- ...args: InferredArgs&lt;T&gt;
1430
- ): IVue&lt;T&gt; {
1431
- const descriptors: Descriptors = getAllClassDescriptors(className);
1432
- const computeds: Computeds | any = descriptors?.size ? {} : null;
1433
- &nbsp;
1434
- // @ts-expect-error Abstract class initialization
1435
- const vue = reactive(new className(...args));
1436
- &nbsp;
1437
- /** Setup descriptors as computeds. */
1438
- for (const [prop, descriptor] of descriptors) {
1439
- /* If prop exists on static getter className.ivue[prop]
1440
- * We do not convert it to computed. Because sometimes
1441
- * we want a normal getter. */
1442
- if ((className as any)?.ivue?.[prop] === false) continue;
1443
- /** Convert descriptor to computed. */
1444
- Object.defineProperty(vue, prop, {
1445
- get: descriptor.get
1446
- ? () =&gt;
1447
- prop in computeds
1448
- ? /** Get the existing computed, because we are in reactive scope, .value will auto unwrap itself. */
1449
- computeds[prop]
1450
- : /** Create the computed and return it, because we are in reactive scope, .value will auto unwrap itself. */
1451
- (computeds[prop] = computed({
1452
- get: descriptor.get?.bind(vue) as any,
1453
- set: descriptor.set?.bind(vue),
1454
- } as any))
1455
- : undefined,
1456
- set: descriptor.set?.bind(vue),
1457
- enumerable: false,
1458
- });
1459
- }
1460
- &nbsp;
1461
- Object.defineProperty(vue, 'toRefs', {
1462
- get: () =&gt; ivueToRefs(vue, descriptors as Descriptors, computeds),
1463
- enumerable: false,
1464
- });
1465
- &nbsp;
1466
- /** Run ivue .init() initializer method, if it exists in the class. */
1467
- if ('init' in vue) vue.init();
1468
- &nbsp;
1469
- return vue;
1470
- }
1471
- &nbsp;
1472
- /**
1473
- * Store all props for each class prototype processed by:
1474
- * @see {getAllClassProperties}
1475
- */
1476
- export const propsMap: Map&lt;object, Set&lt;string&gt; | any&gt; = new Map();
1477
- &nbsp;
1478
- /**
1479
- * Get properties of an entire class prototype ancestors chain as a Map.
1480
- */
1481
- export function getAllClassProperties(obj: object): Set&lt;string&gt; {
1482
- /* Retrieve props from cache */
1483
- if (propsMap.has(obj.constructor)) {
1484
- return propsMap.get(obj.constructor);
1485
- }
1486
- &nbsp;
1487
- const originalConstructor = obj.constructor;
1488
- &nbsp;
1489
- const allProps: Set&lt;string&gt; = new Set();
1490
- do {
1491
- Object.getOwnPropertyNames(obj).forEach((prop) =&gt; {
1492
- /* 'caller', 'callee', 'arguments', 'constructor' are
1493
- * special object properties, so should be skipped. */
1494
- if (!['caller', 'callee', 'arguments', 'constructor'].includes(prop)) {
1495
- allProps.add(prop);
1496
- }
1497
- });
1498
- obj = Object.getPrototypeOf(obj);
1499
- } while (obj.constructor !== Object);
1500
- &nbsp;
1501
- /** Save props in the props map. */
1502
- propsMap.set(originalConstructor, allProps);
1503
- &nbsp;
1504
- return allProps;
1505
- }
1506
- &nbsp;
1507
- /**
1508
- * `iref()` is an alias for Vue ref() function but returns an unwrapped type without the .value
1509
- * `iref()` does not alter the behavior of ref(), but simply transforms the type to an unwrapped raw value.
1510
- * @param val T
1511
- * @returns {T}
1512
- */
1513
- export const iref = ref as &lt;T = any&gt;(value?: T) =&gt; T;
1514
- &nbsp;
1515
- /**
1516
- * `ishallowRef()` is an alias for Vue shallowRef() function but returns an unwrapped type without the .value
1517
- * `ishallowRef()` does not alter the behavior of shallowRef(), but simply transforms the type to an unwrapped raw value.
1518
- * @param val T
1519
- * @returns {T}
1520
- */
1521
- export const ishallowRef = shallowRef as &lt;T = any&gt;(value?: T) =&gt; T;
1522
- &nbsp;
1523
- /**
1524
- * Three modes of operation:
1525
- * 1. `iuse(useComposable(arg, arg2, arg3, ...))` converts the return types of a Composable / Ref to pure raw unwrapped type definition.
1526
- * Returns for all properties of an object an unwrapped raw type definition,
1527
- * unwraps direct Refs &amp; ComputedRefs as well down to their raw types.
1528
- *
1529
- * 2. `iuse(useComposable, arg, arg2, arg3, ...)` for cleaner syntax for #1, it does exactly the same thing but
1530
- * here the TypeScript inference works for composable function arguments to assist you with intellisence,
1531
- * like they work for constructor arguments in the cause of `ivue()` core function,
1532
- * making the API cleaner to look at and make it compatible with how this function operates with classes, see #3.
1533
- *
1534
- * 3. `iuse(AnyClass, ...args)` If AnyClass is supplied and that class's arguments into `iuse(AnyClass, ...args)`,
1535
- * it returns an 'ivue(AnyClass, ...args).toRefs()` object for all properties but casts
1536
- * their types as raw (no-Ref) types to fit with reactive() structure of the ivue class context.
1537
- */
1538
- export function iuse&lt;T extends AnyClass | AnyFn | Object | any&gt;(
1539
- classFunctionObject?: T,
1540
- ...args: T extends AnyClass
1541
- ? InferredArgs&lt;T&gt;
1542
- : T extends AnyFn
1543
- ? Parameters&lt;T extends (...args: any[]) =&gt; any ? T : any&gt;
1544
- : any
1545
- ): T extends AnyClass ? InstanceType&lt;T&gt; : Use&lt;T&gt; {
1546
- return typeof classFunctionObject === 'function'
1547
- ? isClass(classFunctionObject)
1548
- ? /** Run IVUE but return full Refs, yet property 'true' makes `.toRefs(true)` cast the type to the unwrapped raw type definition instead of a `.value` Ref. */
1549
- ivue(
1550
- classFunctionObject as T extends AnyClass ? T : any,
1551
- ...(args as InferredArgs&lt;T extends AnyClass ? T : any&gt;)
1552
- ).toRefs(true)
1553
- : /** Run Vue 3 Standard Composable but also unwrap it to bare raw types. */
1554
- (classFunctionObject as AnyFn)(
1555
- ...(args as Parameters&lt;T extends AnyFn ? AnyFn : any&gt;)
1556
- )
1557
- : (classFunctionObject as unknown as Unwrap&lt;T&gt;) /** Unwrap any other Object or any type down to its bare types. */;
1558
- }
1559
- &nbsp;
1560
- /**
1561
- * Convert reactive ivue class to Vue 3 refs.
1562
- *
1563
- * @param vue @see IVue
1564
- * @param descriptors @see Descriptors
1565
- * @param computeds @see Computeds
1566
- * @returns {ExtendWithToRefs&lt;T&gt;['toRefs']}
1567
- */
1568
- function ivueToRefs&lt;T extends AnyClass&gt;(
1569
- vue: IVue&lt;T&gt;,
1570
- descriptors: Descriptors,
1571
- computeds: Computeds
1572
- ): ExtendWithToRefs&lt;T&gt;['toRefs'] {
1573
- return function (
1574
- props?: (keyof InstanceType&lt;T&gt;)[] | boolean,
1575
- unwrap?: boolean /** This property helps with TypeScript function definition overloading of return types and is not being used inside the function itself. */
1576
- ): any /** @see {ReturnType&lt;IVueToRefsFn&lt;T&gt;&gt;} */ {
1577
- /** Resulting refs store. */
1578
- const result: Record&lt;string | number | symbol, any&gt; = {};
1579
- &nbsp;
1580
- /** Output specific props only, if props are specified. */
1581
- if (Array.isArray(props)) {
1582
- for (let i = 0; i &lt; props.length; i++) {
1583
- const prop = props[i] as any;
1584
- /** Handle descriptors. */
1585
- if (descriptors.has(prop)) {
1586
- if (prop in computeds) {
1587
- /** Return vue computed with .value from computeds store. */
1588
- result[prop] = computeds[prop];
1589
- } else {
1590
- /** Initialize &amp; store vue computed. */
1591
- const descriptor = descriptors.get(prop);
1592
- result[prop] = computeds[prop] = computed({
1593
- get: descriptor?.get?.bind(vue) as any,
1594
- set: descriptor?.set?.bind(vue),
1595
- } as any);
1596
- }
1597
- } else {
1598
- /** Handle methods. */
1599
- if (typeof vue[prop] === 'function') {
1600
- /** Bind method to vue, makes method destructuring point to right instance. */
1601
- result[prop] = vue[prop].bind(vue);
1602
- } else {
1603
- /** Convert simple reactive prop to a Ref. */
1604
- result[prop] = toRef(vue, prop);
1605
- }
1606
- }
1607
- }
1608
- } else {
1609
- /** Convert all props to refs and leave functions as is. */
1610
- let allProps: null | Set&lt;string&gt; = new Set(getAllClassProperties(vue));
1611
- &nbsp;
1612
- /** Convert descriptors (non enumerable by default in JS). */
1613
- descriptors.forEach((descriptor, prop) =&gt; {
1614
- if (prop in computeds) {
1615
- /** Return vue computed with .value from computeds store. */
1616
- result[prop] = computeds[prop];
1617
- } else {
1618
- /** Initialize vue computed ref &amp; store it in result. */
1619
- result[prop] = computeds[prop] = computed({
1620
- get: descriptor.get?.bind(vue) as any,
1621
- set: descriptor.set?.bind(vue),
1622
- } as any);
1623
- }
1624
- /** Delete descriptor from props as it was already processed. */
1625
- allProps?.delete(prop as string);
1626
- });
1627
- &nbsp;
1628
- allProps.forEach((prop) =&gt; {
1629
- if (typeof vue[prop] === 'function') {
1630
- /** Bind method to vue, makes method destructuring point to right instance. */
1631
- result[prop] = vue[prop].bind(vue);
1632
- } else {
1633
- /** Convert simple reactive prop to a Ref. */
1634
- result[prop] = toRef(vue, prop);
1635
- }
1636
- });
1637
- &nbsp;
1638
- /** Memory optimization. */
1639
- allProps = null;
1640
- }
1641
- &nbsp;
1642
- return result as any;
1643
- };
1644
- }
1645
- &nbsp;
1646
- /**
1647
- * Vue props interface in defineComponent() style.
1648
- */
1649
- export type VuePropsObject = Record&lt;
1650
- string,
1651
- { type: any; default?: any; required?: boolean }
1652
- &gt;;
1653
- &nbsp;
1654
- /**
1655
- * Vue Props with default properties declared as existing and having values.
1656
- */
1657
- export type VuePropsWithDefaults&lt;T extends VuePropsObject&gt; = {
1658
- [K in keyof T]: {
1659
- type: T[K]['type'];
1660
- default: T[K]['default'];
1661
- required?: boolean;
1662
- };
1663
- };
1664
- &nbsp;
1665
- /**
1666
- * Determines if the value is a JavaScript Class.
1667
- * Note that class is a class function in JavaScript.
1668
- *
1669
- * @param val Any value
1670
- * @returns boolean If it's a JavaScript Class returns true
1671
- */
1672
- export function isClass(val: any): boolean {
1673
- if (typeof val !== 'function') return false; // Not a function, so not a class function either
1674
- &nbsp;
1675
- if (!val.prototype) return false; // Arrow function, so not a class
1676
- &nbsp;
1677
- // Finally -&gt; distinguish between a normal function and a class function
1678
- if (Object.getOwnPropertyDescriptor(val, 'prototype')?.writable) {
1679
- // Has writable prototype
1680
- return false; // Normal function
1681
- } else {
1682
- return true; // Class -&gt; Not a function
1683
- }
1684
- }
1685
- &nbsp;
1686
- /**
1687
- * Creates props with defaults in defineComponent() style.
1688
- *
1689
- * Merge defaults regular object with Vue types object
1690
- * declared in defineComponent() style.
1691
- *
1692
- * This is made so that the defaults can be declared "as they are"
1693
- * without requiring objects to be function callbacks returning an object.
1694
- *
1695
- * // You don't need to wrap objects in () =&gt; ({ nest: { nest :{} } })
1696
- * // You can just delcare them normally.
1697
- * const defaults = {
1698
- * nest: {
1699
- * nest
1700
- * }
1701
- * }
1702
- *
1703
- * This function will create the Vue expected callbacks for Objects, Arrays &amp; Classes
1704
- * but leave primitive properties and functions intact so that
1705
- * the final object is fully defineComponent() style compatible.
1706
- *
1707
- * @param defaults Regular object of default key -&gt; values
1708
- * @param typedProps Props declared in defineComponent() style with type and possibly required declared, but without default
1709
- * @returns Props declared in defineComponent() style with all properties having default property declared.
1710
- */
1711
- export function propsWithDefaults&lt;T extends VuePropsObject&gt;(
1712
- defaults: Record&lt;string, any&gt;,
1713
- typedProps: T
1714
- ): VuePropsWithDefaults&lt;T&gt; {
1715
- for (const prop in typedProps) {
1716
- if (typeof defaults?.[prop] === 'object' &amp;&amp; defaults?.[prop] !== null) {
1717
- /** Handle Arrays &amp; Objects -&gt; wrap them with an arrow function. */
1718
- typedProps[prop].default = () =&gt; defaults?.[prop];
1719
- } else {
1720
- if (isClass(defaults?.[prop])) {
1721
- /** Handle JavaScript Classes -&gt; wrap them with an arrow function */
1722
- typedProps[prop].default = () =&gt; defaults?.[prop];
1723
- } else {
1724
- /** Handle JavaScript Function And All primitive properties -&gt; output directly */
1725
- typedProps[prop].default = defaults?.[prop];
1726
- }
1727
- }
1728
- }
1729
- return typedProps as VuePropsWithDefaults&lt;T&gt;;
1730
- }
1731
- &nbsp;
1732
- /** Necessary ivue.ts to be treated as a module. */
1733
- export {};
1734
- &nbsp;</pre></td></tr></table></pre>
1735
-
1736
- <div class='push'></div><!-- for sticky footer -->
1737
- </div><!-- /wrapper -->
1738
- <div class='footer quiet pad2 space-top1 center small'>
1739
- Code coverage generated by
1740
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1741
- at 2024-08-25T23:22:46.757Z
1742
- </div>
1743
- <script src="prettify.js"></script>
1744
- <script>
1745
- window.onload = function () {
1746
- prettyPrint();
1747
- };
1748
- </script>
1749
- <script src="sorter.js"></script>
1750
- <script src="block-navigation.js"></script>
1751
- </body>
1752
- </html>
1753
-