@chat21/chat21-web-widget 5.0.46-rc.2 → 5.0.46-rc.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.
- package/CHANGELOG.md +3 -0
- package/coverage/widget/base.css +224 -0
- package/coverage/widget/block-navigation.js +87 -0
- package/coverage/widget/favicon.png +0 -0
- package/coverage/widget/index.html +881 -0
- package/coverage/widget/lcov.info +10516 -0
- package/coverage/widget/polyfills.ts.html +277 -0
- package/coverage/widget/prettify.css +1 -0
- package/coverage/widget/prettify.js +2 -0
- package/coverage/widget/sort-arrow-sprite.png +0 -0
- package/coverage/widget/sorter.js +196 -0
- package/coverage/widget/src/app/app.component.ts.html +6328 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation/conversation.component.ts.html +3871 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-content/conversation-content.component.ts.html +925 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-content/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.ts.html +1816 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-footer/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-header/conversation-header.component.ts.html +811 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-header/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-internal-frame/conversation-internal-frame.component.ts.html +397 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-internal-frame/index.html +116 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-preview/conversation-preview.component.ts.html +991 -0
- package/coverage/widget/src/app/component/conversation-detail/conversation-preview/index.html +116 -0
- package/coverage/widget/src/app/component/eyeeye-catcher-card/eyeeye-catcher-card.component.ts.html +586 -0
- package/coverage/widget/src/app/component/eyeeye-catcher-card/index.html +116 -0
- package/coverage/widget/src/app/component/form/form-builder/form-builder.component.ts.html +664 -0
- package/coverage/widget/src/app/component/form/form-builder/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-checkbox/form-checkbox.component.ts.html +208 -0
- package/coverage/widget/src/app/component/form/inputs/form-checkbox/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-label/form-label.component.ts.html +157 -0
- package/coverage/widget/src/app/component/form/inputs/form-label/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-radio-button/form-radio-button.component.ts.html +130 -0
- package/coverage/widget/src/app/component/form/inputs/form-radio-button/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-select/form-select.component.ts.html +130 -0
- package/coverage/widget/src/app/component/form/inputs/form-select/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-text/form-text.component.ts.html +301 -0
- package/coverage/widget/src/app/component/form/inputs/form-text/index.html +116 -0
- package/coverage/widget/src/app/component/form/inputs/form-textarea/form-textarea.component.ts.html +358 -0
- package/coverage/widget/src/app/component/form/inputs/form-textarea/index.html +116 -0
- package/coverage/widget/src/app/component/form/prechat-form/index.html +116 -0
- package/coverage/widget/src/app/component/form/prechat-form/prechat-form.component.ts.html +565 -0
- package/coverage/widget/src/app/component/home/home.component.ts.html +559 -0
- package/coverage/widget/src/app/component/home/index.html +116 -0
- package/coverage/widget/src/app/component/home-conversations/home-conversations.component.ts.html +985 -0
- package/coverage/widget/src/app/component/home-conversations/index.html +116 -0
- package/coverage/widget/src/app/component/last-message/index.html +116 -0
- package/coverage/widget/src/app/component/last-message/last-message.component.ts.html +484 -0
- package/coverage/widget/src/app/component/launcher-button/index.html +116 -0
- package/coverage/widget/src/app/component/launcher-button/launcher-button.component.ts.html +307 -0
- package/coverage/widget/src/app/component/list-all-conversations/index.html +116 -0
- package/coverage/widget/src/app/component/list-all-conversations/list-all-conversations.component.ts.html +676 -0
- package/coverage/widget/src/app/component/list-conversations/index.html +116 -0
- package/coverage/widget/src/app/component/list-conversations/list-conversations.component.ts.html +475 -0
- package/coverage/widget/src/app/component/menu-options/index.html +116 -0
- package/coverage/widget/src/app/component/menu-options/menu-options.component.ts.html +226 -0
- package/coverage/widget/src/app/component/message/avatar/avatar.component.ts.html +271 -0
- package/coverage/widget/src/app/component/message/avatar/index.html +116 -0
- package/coverage/widget/src/app/component/message/bubble-message/bubble-message.component.ts.html +655 -0
- package/coverage/widget/src/app/component/message/bubble-message/index.html +116 -0
- package/coverage/widget/src/app/component/message/buttons/action-button/action-button.component.ts.html +274 -0
- package/coverage/widget/src/app/component/message/buttons/action-button/index.html +116 -0
- package/coverage/widget/src/app/component/message/buttons/link-button/index.html +116 -0
- package/coverage/widget/src/app/component/message/buttons/link-button/link-button.component.ts.html +232 -0
- package/coverage/widget/src/app/component/message/buttons/text-button/index.html +116 -0
- package/coverage/widget/src/app/component/message/buttons/text-button/text-button.component.ts.html +235 -0
- package/coverage/widget/src/app/component/message/frame/frame.component.ts.html +199 -0
- package/coverage/widget/src/app/component/message/frame/index.html +116 -0
- package/coverage/widget/src/app/component/message/html/html.component.ts.html +184 -0
- package/coverage/widget/src/app/component/message/html/index.html +116 -0
- package/coverage/widget/src/app/component/message/image/image.component.ts.html +394 -0
- package/coverage/widget/src/app/component/message/image/index.html +116 -0
- package/coverage/widget/src/app/component/message/info-message/index.html +116 -0
- package/coverage/widget/src/app/component/message/info-message/info-message.component.ts.html +211 -0
- package/coverage/widget/src/app/component/message/like-unlike/index.html +116 -0
- package/coverage/widget/src/app/component/message/like-unlike/like-unlike.component.ts.html +151 -0
- package/coverage/widget/src/app/component/message/return-receipt/index.html +116 -0
- package/coverage/widget/src/app/component/message/return-receipt/return-receipt.component.ts.html +157 -0
- package/coverage/widget/src/app/component/message/text/index.html +116 -0
- package/coverage/widget/src/app/component/message/text/text.component.ts.html +190 -0
- package/coverage/widget/src/app/component/message-attachment/index.html +116 -0
- package/coverage/widget/src/app/component/message-attachment/message-attachment.component.ts.html +343 -0
- package/coverage/widget/src/app/component/selection-department/index.html +116 -0
- package/coverage/widget/src/app/component/selection-department/selection-department.component.ts.html +676 -0
- package/coverage/widget/src/app/component/send-button/index.html +116 -0
- package/coverage/widget/src/app/component/send-button/send-button.component.ts.html +154 -0
- package/coverage/widget/src/app/component/star-rating-widget/index.html +116 -0
- package/coverage/widget/src/app/component/star-rating-widget/star-rating-widget.component.ts.html +451 -0
- package/coverage/widget/src/app/directives/html-entities-encode.pipe.ts.html +136 -0
- package/coverage/widget/src/app/directives/index.html +146 -0
- package/coverage/widget/src/app/directives/marked.pipe.ts.html +166 -0
- package/coverage/widget/src/app/directives/safe-html.pipe.ts.html +136 -0
- package/coverage/widget/src/app/index.html +116 -0
- package/coverage/widget/src/app/providers/app-config.service.ts.html +247 -0
- package/coverage/widget/src/app/providers/global-settings.service.ts.html +5698 -0
- package/coverage/widget/src/app/providers/index.html +206 -0
- package/coverage/widget/src/app/providers/settings-saver.service.ts.html +253 -0
- package/coverage/widget/src/app/providers/star-rating-widget.service.ts.html +385 -0
- package/coverage/widget/src/app/providers/storage.service.ts.html +745 -0
- package/coverage/widget/src/app/providers/translator.service.ts.html +1498 -0
- package/coverage/widget/src/app/providers/waiting.service.ts.html +178 -0
- package/coverage/widget/src/app/utils/constants.ts.html +304 -0
- package/coverage/widget/src/app/utils/globals.ts.html +1939 -0
- package/coverage/widget/src/app/utils/index.html +146 -0
- package/coverage/widget/src/app/utils/utils.ts.html +1240 -0
- package/coverage/widget/src/chat21-core/models/conversation.ts.html +160 -0
- package/coverage/widget/src/chat21-core/models/index.html +146 -0
- package/coverage/widget/src/chat21-core/models/upload.ts.html +118 -0
- package/coverage/widget/src/chat21-core/models/user.ts.html +133 -0
- package/coverage/widget/src/chat21-core/providers/abstract/app-storage.service.ts.html +142 -0
- package/coverage/widget/src/chat21-core/providers/abstract/archivedconversations-handler.service.ts.html +184 -0
- package/coverage/widget/src/chat21-core/providers/abstract/conversation-handler-builder.service.ts.html +121 -0
- package/coverage/widget/src/chat21-core/providers/abstract/conversation-handler.service.ts.html +235 -0
- package/coverage/widget/src/chat21-core/providers/abstract/conversations-handler.service.ts.html +208 -0
- package/coverage/widget/src/chat21-core/providers/abstract/groups-handler.service.ts.html +160 -0
- package/coverage/widget/src/chat21-core/providers/abstract/image-repo.service.ts.html +169 -0
- package/coverage/widget/src/chat21-core/providers/abstract/index.html +296 -0
- package/coverage/widget/src/chat21-core/providers/abstract/logger.service.ts.html +136 -0
- package/coverage/widget/src/chat21-core/providers/abstract/messagingAuth.service.ts.html +238 -0
- package/coverage/widget/src/chat21-core/providers/abstract/notifications.service.ts.html +172 -0
- package/coverage/widget/src/chat21-core/providers/abstract/presence.service.ts.html +190 -0
- package/coverage/widget/src/chat21-core/providers/abstract/typing.service.ts.html +187 -0
- package/coverage/widget/src/chat21-core/providers/abstract/upload.service.ts.html +178 -0
- package/coverage/widget/src/chat21-core/providers/chat-manager.ts.html +895 -0
- package/coverage/widget/src/chat21-core/providers/custom-translate.service.ts.html +223 -0
- package/coverage/widget/src/chat21-core/providers/index.html +131 -0
- package/coverage/widget/src/chat21-core/providers/logger/customLogger.ts.html +265 -0
- package/coverage/widget/src/chat21-core/providers/logger/index.html +131 -0
- package/coverage/widget/src/chat21-core/providers/logger/loggerInstance.ts.html +142 -0
- package/coverage/widget/src/chat21-core/providers/tiledesk/index.html +131 -0
- package/coverage/widget/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts.html +655 -0
- package/coverage/widget/src/chat21-core/providers/tiledesk/tiledesk-requests.service.ts.html +241 -0
- package/coverage/widget/src/chat21-core/utils/constants.ts.html +409 -0
- package/coverage/widget/src/chat21-core/utils/index.html +176 -0
- package/coverage/widget/src/chat21-core/utils/triggerHandler.ts.html +1069 -0
- package/coverage/widget/src/chat21-core/utils/user-typing/index.html +116 -0
- package/coverage/widget/src/chat21-core/utils/user-typing/user-typing.component.ts.html +184 -0
- package/coverage/widget/src/chat21-core/utils/utils-message.ts.html +637 -0
- package/coverage/widget/src/chat21-core/utils/utils-user.ts.html +229 -0
- package/coverage/widget/src/chat21-core/utils/utils.ts.html +2221 -0
- package/coverage/widget/src/environments/environment.ts.html +205 -0
- package/coverage/widget/src/environments/index.html +116 -0
- package/coverage/widget/src/index.html +131 -0
- package/coverage/widget/src/models/index.html +116 -0
- package/coverage/widget/src/models/project.ts.html +319 -0
- package/coverage/widget/src/polyfills.ts.html +277 -0
- package/coverage/widget/src/test.ts.html +142 -0
- package/dist/environments/real_data/widget-config-docker.json +0 -1
- package/dist/environments/real_data/widget-config-firebase.json +2 -2
- package/dist/environments/real_data/widget-config-native-mqtt.json +0 -1
- package/dist/launch.js +1 -1
- package/dist/main.js +1 -1
- package/dist/vendor.js +1 -1
- package/package.json +1 -1
- package/src/app/providers/global-settings.service.ts +14 -0
- package/src/app/utils/globals.ts +3 -0
- package/src/environments/real_data/widget-config-docker.json +0 -1
- package/src/environments/real_data/widget-config-firebase.json +2 -2
- package/src/environments/real_data/widget-config-native-mqtt.json +0 -1
- package/src/launch.js +1 -1
- package/e2e/protractor.conf.js +0 -32
|
@@ -0,0 +1,1240 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/app/utils/utils.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../../index.html">All files</a> / <a href="index.html">src/app/utils</a> utils.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">3.64% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>6/165</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">0.94% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>1/106</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">2.7% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>1/37</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">2.53% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>4/158</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 oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line low'></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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
452
|
+
<span class="cline-any cline-neutral"> </span>
|
|
453
|
+
<span class="cline-any cline-neutral"> </span>
|
|
454
|
+
<span class="cline-any cline-neutral"> </span>
|
|
455
|
+
<span class="cline-any cline-neutral"> </span>
|
|
456
|
+
<span class="cline-any cline-neutral"> </span>
|
|
457
|
+
<span class="cline-any cline-neutral"> </span>
|
|
458
|
+
<span class="cline-any cline-neutral"> </span>
|
|
459
|
+
<span class="cline-any cline-neutral"> </span>
|
|
460
|
+
<span class="cline-any cline-neutral"> </span>
|
|
461
|
+
<span class="cline-any cline-neutral"> </span>
|
|
462
|
+
<span class="cline-any cline-neutral"> </span>
|
|
463
|
+
<span class="cline-any cline-neutral"> </span>
|
|
464
|
+
<span class="cline-any cline-neutral"> </span>
|
|
465
|
+
<span class="cline-any cline-neutral"> </span>
|
|
466
|
+
<span class="cline-any cline-neutral"> </span>
|
|
467
|
+
<span class="cline-any cline-neutral"> </span>
|
|
468
|
+
<span class="cline-any cline-neutral"> </span>
|
|
469
|
+
<span class="cline-any cline-neutral"> </span>
|
|
470
|
+
<span class="cline-any cline-neutral"> </span>
|
|
471
|
+
<span class="cline-any cline-neutral"> </span>
|
|
472
|
+
<span class="cline-any cline-neutral"> </span>
|
|
473
|
+
<span class="cline-any cline-neutral"> </span>
|
|
474
|
+
<span class="cline-any cline-neutral"> </span>
|
|
475
|
+
<span class="cline-any cline-neutral"> </span>
|
|
476
|
+
<span class="cline-any cline-neutral"> </span>
|
|
477
|
+
<span class="cline-any cline-neutral"> </span>
|
|
478
|
+
<span class="cline-any cline-no"> </span>
|
|
479
|
+
<span class="cline-any cline-no"> </span>
|
|
480
|
+
<span class="cline-any cline-no"> </span>
|
|
481
|
+
<span class="cline-any cline-no"> </span>
|
|
482
|
+
<span class="cline-any cline-no"> </span>
|
|
483
|
+
<span class="cline-any cline-no"> </span>
|
|
484
|
+
<span class="cline-any cline-no"> </span>
|
|
485
|
+
<span class="cline-any cline-no"> </span>
|
|
486
|
+
<span class="cline-any cline-no"> </span>
|
|
487
|
+
<span class="cline-any cline-no"> </span>
|
|
488
|
+
<span class="cline-any cline-no"> </span>
|
|
489
|
+
<span class="cline-any cline-neutral"> </span>
|
|
490
|
+
<span class="cline-any cline-no"> </span>
|
|
491
|
+
<span class="cline-any cline-neutral"> </span>
|
|
492
|
+
<span class="cline-any cline-neutral"> </span>
|
|
493
|
+
<span class="cline-any cline-neutral"> </span>
|
|
494
|
+
<span class="cline-any cline-neutral"> </span>
|
|
495
|
+
<span class="cline-any cline-no"> </span>
|
|
496
|
+
<span class="cline-any cline-neutral"> </span>
|
|
497
|
+
<span class="cline-any cline-neutral"> </span>
|
|
498
|
+
<span class="cline-any cline-neutral"> </span>
|
|
499
|
+
<span class="cline-any cline-no"> </span>
|
|
500
|
+
<span class="cline-any cline-no"> </span>
|
|
501
|
+
<span class="cline-any cline-neutral"> </span>
|
|
502
|
+
<span class="cline-any cline-no"> </span>
|
|
503
|
+
<span class="cline-any cline-no"> </span>
|
|
504
|
+
<span class="cline-any cline-neutral"> </span>
|
|
505
|
+
<span class="cline-any cline-neutral"> </span>
|
|
506
|
+
<span class="cline-any cline-neutral"> </span>
|
|
507
|
+
<span class="cline-any cline-neutral"> </span>
|
|
508
|
+
<span class="cline-any cline-no"> </span>
|
|
509
|
+
<span class="cline-any cline-no"> </span>
|
|
510
|
+
<span class="cline-any cline-neutral"> </span>
|
|
511
|
+
<span class="cline-any cline-no"> </span>
|
|
512
|
+
<span class="cline-any cline-no"> </span>
|
|
513
|
+
<span class="cline-any cline-neutral"> </span>
|
|
514
|
+
<span class="cline-any cline-neutral"> </span>
|
|
515
|
+
<span class="cline-any cline-neutral"> </span>
|
|
516
|
+
<span class="cline-any cline-neutral"> </span>
|
|
517
|
+
<span class="cline-any cline-no"> </span>
|
|
518
|
+
<span class="cline-any cline-no"> </span>
|
|
519
|
+
<span class="cline-any cline-neutral"> </span>
|
|
520
|
+
<span class="cline-any cline-neutral"> </span>
|
|
521
|
+
<span class="cline-any cline-neutral"> </span>
|
|
522
|
+
<span class="cline-any cline-no"> </span>
|
|
523
|
+
<span class="cline-any cline-no"> </span>
|
|
524
|
+
<span class="cline-any cline-neutral"> </span>
|
|
525
|
+
<span class="cline-any cline-no"> </span>
|
|
526
|
+
<span class="cline-any cline-neutral"> </span>
|
|
527
|
+
<span class="cline-any cline-neutral"> </span>
|
|
528
|
+
<span class="cline-any cline-neutral"> </span>
|
|
529
|
+
<span class="cline-any cline-neutral"> </span>
|
|
530
|
+
<span class="cline-any cline-neutral"> </span>
|
|
531
|
+
<span class="cline-any cline-neutral"> </span>
|
|
532
|
+
<span class="cline-any cline-neutral"> </span>
|
|
533
|
+
<span class="cline-any cline-neutral"> </span>
|
|
534
|
+
<span class="cline-any cline-neutral"> </span>
|
|
535
|
+
<span class="cline-any cline-neutral"> </span>
|
|
536
|
+
<span class="cline-any cline-neutral"> </span>
|
|
537
|
+
<span class="cline-any cline-neutral"> </span>
|
|
538
|
+
<span class="cline-any cline-neutral"> </span>
|
|
539
|
+
<span class="cline-any cline-neutral"> </span>
|
|
540
|
+
<span class="cline-any cline-neutral"> </span>
|
|
541
|
+
<span class="cline-any cline-neutral"> </span>
|
|
542
|
+
<span class="cline-any cline-neutral"> </span>
|
|
543
|
+
<span class="cline-any cline-neutral"> </span>
|
|
544
|
+
<span class="cline-any cline-no"> </span>
|
|
545
|
+
<span class="cline-any cline-neutral"> </span>
|
|
546
|
+
<span class="cline-any cline-neutral"> </span>
|
|
547
|
+
<span class="cline-any cline-neutral"> </span>
|
|
548
|
+
<span class="cline-any cline-neutral"> </span>
|
|
549
|
+
<span class="cline-any cline-neutral"> </span>
|
|
550
|
+
<span class="cline-any cline-neutral"> </span>
|
|
551
|
+
<span class="cline-any cline-neutral"> </span>
|
|
552
|
+
<span class="cline-any cline-no"> </span>
|
|
553
|
+
<span class="cline-any cline-no"> </span>
|
|
554
|
+
<span class="cline-any cline-no"> </span>
|
|
555
|
+
<span class="cline-any cline-no"> </span>
|
|
556
|
+
<span class="cline-any cline-neutral"> </span>
|
|
557
|
+
<span class="cline-any cline-neutral"> </span>
|
|
558
|
+
<span class="cline-any cline-no"> </span>
|
|
559
|
+
<span class="cline-any cline-neutral"> </span>
|
|
560
|
+
<span class="cline-any cline-neutral"> </span>
|
|
561
|
+
<span class="cline-any cline-neutral"> </span>
|
|
562
|
+
<span class="cline-any cline-neutral"> </span>
|
|
563
|
+
<span class="cline-any cline-no"> </span>
|
|
564
|
+
<span class="cline-any cline-no"> </span>
|
|
565
|
+
<span class="cline-any cline-no"> </span>
|
|
566
|
+
<span class="cline-any cline-neutral"> </span>
|
|
567
|
+
<span class="cline-any cline-no"> </span>
|
|
568
|
+
<span class="cline-any cline-neutral"> </span>
|
|
569
|
+
<span class="cline-any cline-no"> </span>
|
|
570
|
+
<span class="cline-any cline-neutral"> </span>
|
|
571
|
+
<span class="cline-any cline-no"> </span>
|
|
572
|
+
<span class="cline-any cline-neutral"> </span>
|
|
573
|
+
<span class="cline-any cline-neutral"> </span>
|
|
574
|
+
<span class="cline-any cline-neutral"> </span>
|
|
575
|
+
<span class="cline-any cline-neutral"> </span>
|
|
576
|
+
<span class="cline-any cline-neutral"> </span>
|
|
577
|
+
<span class="cline-any cline-neutral"> </span>
|
|
578
|
+
<span class="cline-any cline-neutral"> </span>
|
|
579
|
+
<span class="cline-any cline-no"> </span>
|
|
580
|
+
<span class="cline-any cline-no"> </span>
|
|
581
|
+
<span class="cline-any cline-neutral"> </span>
|
|
582
|
+
<span class="cline-any cline-no"> </span>
|
|
583
|
+
<span class="cline-any cline-no"> </span>
|
|
584
|
+
<span class="cline-any cline-no"> </span>
|
|
585
|
+
<span class="cline-any cline-neutral"> </span>
|
|
586
|
+
<span class="cline-any cline-no"> </span>
|
|
587
|
+
<span class="cline-any cline-neutral"> </span>
|
|
588
|
+
<span class="cline-any cline-neutral"> </span>
|
|
589
|
+
<span class="cline-any cline-no"> </span>
|
|
590
|
+
<span class="cline-any cline-neutral"> </span>
|
|
591
|
+
<span class="cline-any cline-neutral"> </span>
|
|
592
|
+
<span class="cline-any cline-no"> </span>
|
|
593
|
+
<span class="cline-any cline-neutral"> </span>
|
|
594
|
+
<span class="cline-any cline-neutral"> </span>
|
|
595
|
+
<span class="cline-any cline-neutral"> </span>
|
|
596
|
+
<span class="cline-any cline-neutral"> </span>
|
|
597
|
+
<span class="cline-any cline-no"> </span>
|
|
598
|
+
<span class="cline-any cline-no"> </span>
|
|
599
|
+
<span class="cline-any cline-no"> </span>
|
|
600
|
+
<span class="cline-any cline-no"> </span>
|
|
601
|
+
<span class="cline-any cline-no"> </span>
|
|
602
|
+
<span class="cline-any cline-neutral"> </span>
|
|
603
|
+
<span class="cline-any cline-neutral"> </span>
|
|
604
|
+
<span class="cline-any cline-neutral"> </span>
|
|
605
|
+
<span class="cline-any cline-no"> </span>
|
|
606
|
+
<span class="cline-any cline-no"> </span>
|
|
607
|
+
<span class="cline-any cline-no"> </span>
|
|
608
|
+
<span class="cline-any cline-neutral"> </span>
|
|
609
|
+
<span class="cline-any cline-neutral"> </span>
|
|
610
|
+
<span class="cline-any cline-neutral"> </span>
|
|
611
|
+
<span class="cline-any cline-neutral"> </span>
|
|
612
|
+
<span class="cline-any cline-neutral"> </span>
|
|
613
|
+
<span class="cline-any cline-no"> </span>
|
|
614
|
+
<span class="cline-any cline-neutral"> </span>
|
|
615
|
+
<span class="cline-any cline-neutral"> </span>
|
|
616
|
+
<span class="cline-any cline-neutral"> </span>
|
|
617
|
+
<span class="cline-any cline-neutral"> </span>
|
|
618
|
+
<span class="cline-any cline-neutral"> </span>
|
|
619
|
+
<span class="cline-any cline-neutral"> </span>
|
|
620
|
+
<span class="cline-any cline-neutral"> </span>
|
|
621
|
+
<span class="cline-any cline-neutral"> </span>
|
|
622
|
+
<span class="cline-any cline-neutral"> </span>
|
|
623
|
+
<span class="cline-any cline-neutral"> </span>
|
|
624
|
+
<span class="cline-any cline-neutral"> </span>
|
|
625
|
+
<span class="cline-any cline-neutral"> </span>
|
|
626
|
+
<span class="cline-any cline-neutral"> </span>
|
|
627
|
+
<span class="cline-any cline-neutral"> </span>
|
|
628
|
+
<span class="cline-any cline-no"> </span>
|
|
629
|
+
<span class="cline-any cline-no"> </span>
|
|
630
|
+
<span class="cline-any cline-no"> </span>
|
|
631
|
+
<span class="cline-any cline-no"> </span>
|
|
632
|
+
<span class="cline-any cline-no"> </span>
|
|
633
|
+
<span class="cline-any cline-no"> </span>
|
|
634
|
+
<span class="cline-any cline-neutral"> </span>
|
|
635
|
+
<span class="cline-any cline-neutral"> </span>
|
|
636
|
+
<span class="cline-any cline-neutral"> </span>
|
|
637
|
+
<span class="cline-any cline-no"> </span>
|
|
638
|
+
<span class="cline-any cline-neutral"> </span>
|
|
639
|
+
<span class="cline-any cline-neutral"> </span>
|
|
640
|
+
<span class="cline-any cline-neutral"> </span>
|
|
641
|
+
<span class="cline-any cline-no"> </span>
|
|
642
|
+
<span class="cline-any cline-no"> </span>
|
|
643
|
+
<span class="cline-any cline-neutral"> </span>
|
|
644
|
+
<span class="cline-any cline-no"> </span>
|
|
645
|
+
<span class="cline-any cline-neutral"> </span>
|
|
646
|
+
<span class="cline-any cline-neutral"> </span>
|
|
647
|
+
<span class="cline-any cline-neutral"> </span>
|
|
648
|
+
<span class="cline-any cline-no"> </span>
|
|
649
|
+
<span class="cline-any cline-no"> </span>
|
|
650
|
+
<span class="cline-any cline-no"> </span>
|
|
651
|
+
<span class="cline-any cline-no"> </span>
|
|
652
|
+
<span class="cline-any cline-no"> </span>
|
|
653
|
+
<span class="cline-any cline-no"> </span>
|
|
654
|
+
<span class="cline-any cline-neutral"> </span>
|
|
655
|
+
<span class="cline-any cline-neutral"> </span>
|
|
656
|
+
<span class="cline-any cline-neutral"> </span>
|
|
657
|
+
<span class="cline-any cline-no"> </span>
|
|
658
|
+
<span class="cline-any cline-neutral"> </span>
|
|
659
|
+
<span class="cline-any cline-neutral"> </span>
|
|
660
|
+
<span class="cline-any cline-neutral"> </span>
|
|
661
|
+
<span class="cline-any cline-neutral"> </span>
|
|
662
|
+
<span class="cline-any cline-no"> </span>
|
|
663
|
+
<span class="cline-any cline-no"> </span>
|
|
664
|
+
<span class="cline-any cline-no"> </span>
|
|
665
|
+
<span class="cline-any cline-neutral"> </span>
|
|
666
|
+
<span class="cline-any cline-no"> </span>
|
|
667
|
+
<span class="cline-any cline-neutral"> </span>
|
|
668
|
+
<span class="cline-any cline-neutral"> </span>
|
|
669
|
+
<span class="cline-any cline-neutral"> </span>
|
|
670
|
+
<span class="cline-any cline-neutral"> </span>
|
|
671
|
+
<span class="cline-any cline-no"> </span>
|
|
672
|
+
<span class="cline-any cline-no"> </span>
|
|
673
|
+
<span class="cline-any cline-no"> </span>
|
|
674
|
+
<span class="cline-any cline-no"> </span>
|
|
675
|
+
<span class="cline-any cline-no"> </span>
|
|
676
|
+
<span class="cline-any cline-neutral"> </span>
|
|
677
|
+
<span class="cline-any cline-no"> </span>
|
|
678
|
+
<span class="cline-any cline-neutral"> </span>
|
|
679
|
+
<span class="cline-any cline-neutral"> </span>
|
|
680
|
+
<span class="cline-any cline-neutral"> </span>
|
|
681
|
+
<span class="cline-any cline-no"> </span>
|
|
682
|
+
<span class="cline-any cline-no"> </span>
|
|
683
|
+
<span class="cline-any cline-no"> </span>
|
|
684
|
+
<span class="cline-any cline-neutral"> </span>
|
|
685
|
+
<span class="cline-any cline-no"> </span>
|
|
686
|
+
<span class="cline-any cline-no"> </span>
|
|
687
|
+
<span class="cline-any cline-neutral"> </span>
|
|
688
|
+
<span class="cline-any cline-neutral"> </span>
|
|
689
|
+
<span class="cline-any cline-neutral"> </span>
|
|
690
|
+
<span class="cline-any cline-no"> </span>
|
|
691
|
+
<span class="cline-any cline-no"> </span>
|
|
692
|
+
<span class="cline-any cline-no"> </span>
|
|
693
|
+
<span class="cline-any cline-neutral"> </span>
|
|
694
|
+
<span class="cline-any cline-no"> </span>
|
|
695
|
+
<span class="cline-any cline-no"> </span>
|
|
696
|
+
<span class="cline-any cline-neutral"> </span>
|
|
697
|
+
<span class="cline-any cline-neutral"> </span>
|
|
698
|
+
<span class="cline-any cline-neutral"> </span>
|
|
699
|
+
<span class="cline-any cline-no"> </span>
|
|
700
|
+
<span class="cline-any cline-neutral"> </span>
|
|
701
|
+
<span class="cline-any cline-no"> </span>
|
|
702
|
+
<span class="cline-any cline-no"> </span>
|
|
703
|
+
<span class="cline-any cline-no"> </span>
|
|
704
|
+
<span class="cline-any cline-no"> </span>
|
|
705
|
+
<span class="cline-any cline-no"> </span>
|
|
706
|
+
<span class="cline-any cline-no"> </span>
|
|
707
|
+
<span class="cline-any cline-no"> </span>
|
|
708
|
+
<span class="cline-any cline-no"> </span>
|
|
709
|
+
<span class="cline-any cline-no"> </span>
|
|
710
|
+
<span class="cline-any cline-no"> </span>
|
|
711
|
+
<span class="cline-any cline-no"> </span>
|
|
712
|
+
<span class="cline-any cline-neutral"> </span>
|
|
713
|
+
<span class="cline-any cline-no"> </span>
|
|
714
|
+
<span class="cline-any cline-no"> </span>
|
|
715
|
+
<span class="cline-any cline-no"> </span>
|
|
716
|
+
<span class="cline-any cline-neutral"> </span>
|
|
717
|
+
<span class="cline-any cline-no"> </span>
|
|
718
|
+
<span class="cline-any cline-no"> </span>
|
|
719
|
+
<span class="cline-any cline-no"> </span>
|
|
720
|
+
<span class="cline-any cline-neutral"> </span>
|
|
721
|
+
<span class="cline-any cline-neutral"> </span>
|
|
722
|
+
<span class="cline-any cline-no"> </span>
|
|
723
|
+
<span class="cline-any cline-neutral"> </span>
|
|
724
|
+
<span class="cline-any cline-neutral"> </span>
|
|
725
|
+
<span class="cline-any cline-no"> </span>
|
|
726
|
+
<span class="cline-any cline-neutral"> </span>
|
|
727
|
+
<span class="cline-any cline-neutral"> </span>
|
|
728
|
+
<span class="cline-any cline-neutral"> </span>
|
|
729
|
+
<span class="cline-any cline-neutral"> </span>
|
|
730
|
+
<span class="cline-any cline-neutral"> </span>
|
|
731
|
+
<span class="cline-any cline-neutral"> </span>
|
|
732
|
+
<span class="cline-any cline-neutral"> </span>
|
|
733
|
+
<span class="cline-any cline-neutral"> </span>
|
|
734
|
+
<span class="cline-any cline-neutral"> </span>
|
|
735
|
+
<span class="cline-any cline-neutral"> </span>
|
|
736
|
+
<span class="cline-any cline-neutral"> </span>
|
|
737
|
+
<span class="cline-any cline-yes">2x</span>
|
|
738
|
+
<span class="cline-any cline-yes">2x</span>
|
|
739
|
+
<span class="cline-any cline-neutral"> </span>
|
|
740
|
+
<span class="cline-any cline-yes">2x</span>
|
|
741
|
+
<span class="cline-any cline-yes">2x</span>
|
|
742
|
+
<span class="cline-any cline-no"> </span>
|
|
743
|
+
<span class="cline-any cline-no"> </span>
|
|
744
|
+
<span class="cline-any cline-no"> </span>
|
|
745
|
+
<span class="cline-any cline-no"> </span>
|
|
746
|
+
<span class="cline-any cline-neutral"> </span>
|
|
747
|
+
<span class="cline-any cline-no"> </span>
|
|
748
|
+
<span class="cline-any cline-neutral"> </span>
|
|
749
|
+
<span class="cline-any cline-neutral"> </span>
|
|
750
|
+
<span class="cline-any cline-neutral"> </span>
|
|
751
|
+
<span class="cline-any cline-neutral"> </span>
|
|
752
|
+
<span class="cline-any cline-neutral"> </span>
|
|
753
|
+
<span class="cline-any cline-neutral"> </span>
|
|
754
|
+
<span class="cline-any cline-no"> </span>
|
|
755
|
+
<span class="cline-any cline-no"> </span>
|
|
756
|
+
<span class="cline-any cline-no"> </span>
|
|
757
|
+
<span class="cline-any cline-no"> </span>
|
|
758
|
+
<span class="cline-any cline-neutral"> </span>
|
|
759
|
+
<span class="cline-any cline-no"> </span>
|
|
760
|
+
<span class="cline-any cline-no"> </span>
|
|
761
|
+
<span class="cline-any cline-no"> </span>
|
|
762
|
+
<span class="cline-any cline-no"> </span>
|
|
763
|
+
<span class="cline-any cline-no"> </span>
|
|
764
|
+
<span class="cline-any cline-no"> </span>
|
|
765
|
+
<span class="cline-any cline-no"> </span>
|
|
766
|
+
<span class="cline-any cline-neutral"> </span>
|
|
767
|
+
<span class="cline-any cline-no"> </span>
|
|
768
|
+
<span class="cline-any cline-neutral"> </span>
|
|
769
|
+
<span class="cline-any cline-neutral"> </span>
|
|
770
|
+
<span class="cline-any cline-neutral"> </span>
|
|
771
|
+
<span class="cline-any cline-neutral"> </span>
|
|
772
|
+
<span class="cline-any cline-neutral"> </span>
|
|
773
|
+
<span class="cline-any cline-neutral"> </span>
|
|
774
|
+
<span class="cline-any cline-neutral"> </span>
|
|
775
|
+
<span class="cline-any cline-no"> </span>
|
|
776
|
+
<span class="cline-any cline-no"> </span>
|
|
777
|
+
<span class="cline-any cline-no"> </span>
|
|
778
|
+
<span class="cline-any cline-no"> </span>
|
|
779
|
+
<span class="cline-any cline-no"> </span>
|
|
780
|
+
<span class="cline-any cline-neutral"> </span>
|
|
781
|
+
<span class="cline-any cline-no"> </span>
|
|
782
|
+
<span class="cline-any cline-neutral"> </span>
|
|
783
|
+
<span class="cline-any cline-neutral"> </span>
|
|
784
|
+
<span class="cline-any cline-neutral"> </span>
|
|
785
|
+
<span class="cline-any cline-neutral"> </span>
|
|
786
|
+
<span class="cline-any cline-neutral"> </span>
|
|
787
|
+
<span class="cline-any cline-neutral"> </span>
|
|
788
|
+
<span class="cline-any cline-neutral"> </span>
|
|
789
|
+
<span class="cline-any cline-neutral"> </span>
|
|
790
|
+
<span class="cline-any cline-neutral"> </span>
|
|
791
|
+
<span class="cline-any cline-no"> </span>
|
|
792
|
+
<span class="cline-any cline-neutral"> </span>
|
|
793
|
+
<span class="cline-any cline-neutral"> </span>
|
|
794
|
+
<span class="cline-any cline-neutral"> </span>
|
|
795
|
+
<span class="cline-any cline-neutral"> </span>
|
|
796
|
+
<span class="cline-any cline-neutral"> </span>
|
|
797
|
+
<span class="cline-any cline-neutral"> </span>
|
|
798
|
+
<span class="cline-any cline-neutral"> </span>
|
|
799
|
+
<span class="cline-any cline-neutral"> </span>
|
|
800
|
+
<span class="cline-any cline-no"> </span>
|
|
801
|
+
<span class="cline-any cline-no"> </span>
|
|
802
|
+
<span class="cline-any cline-neutral"> </span>
|
|
803
|
+
<span class="cline-any cline-no"> </span>
|
|
804
|
+
<span class="cline-any cline-neutral"> </span>
|
|
805
|
+
<span class="cline-any cline-no"> </span>
|
|
806
|
+
<span class="cline-any cline-no"> </span>
|
|
807
|
+
<span class="cline-any cline-neutral"> </span>
|
|
808
|
+
<span class="cline-any cline-no"> </span>
|
|
809
|
+
<span class="cline-any cline-no"> </span>
|
|
810
|
+
<span class="cline-any cline-no"> </span>
|
|
811
|
+
<span class="cline-any cline-no"> </span>
|
|
812
|
+
<span class="cline-any cline-neutral"> </span>
|
|
813
|
+
<span class="cline-any cline-neutral"> </span>
|
|
814
|
+
<span class="cline-any cline-neutral"> </span>
|
|
815
|
+
<span class="cline-any cline-neutral"> </span>
|
|
816
|
+
<span class="cline-any cline-no"> </span>
|
|
817
|
+
<span class="cline-any cline-no"> </span>
|
|
818
|
+
<span class="cline-any cline-neutral"> </span>
|
|
819
|
+
<span class="cline-any cline-no"> </span>
|
|
820
|
+
<span class="cline-any cline-neutral"> </span>
|
|
821
|
+
<span class="cline-any cline-neutral"> </span>
|
|
822
|
+
<span class="cline-any cline-neutral"> </span>
|
|
823
|
+
<span class="cline-any cline-no"> </span>
|
|
824
|
+
<span class="cline-any cline-neutral"> </span>
|
|
825
|
+
<span class="cline-any cline-no"> </span>
|
|
826
|
+
<span class="cline-any cline-neutral"> </span>
|
|
827
|
+
<span class="cline-any cline-no"> </span>
|
|
828
|
+
<span class="cline-any cline-neutral"> </span>
|
|
829
|
+
<span class="cline-any cline-neutral"> </span>
|
|
830
|
+
<span class="cline-any cline-neutral"> </span>
|
|
831
|
+
<span class="cline-any cline-no"> </span>
|
|
832
|
+
<span class="cline-any cline-no"> </span>
|
|
833
|
+
<span class="cline-any cline-neutral"> </span>
|
|
834
|
+
<span class="cline-any cline-no"> </span>
|
|
835
|
+
<span class="cline-any cline-neutral"> </span>
|
|
836
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import * as moment from 'moment';
|
|
837
|
+
import 'moment/locale/it.js';
|
|
838
|
+
|
|
839
|
+
// firebase
|
|
840
|
+
import 'firebase/storage';
|
|
841
|
+
|
|
842
|
+
|
|
843
|
+
// tslint:disable-next-line:max-line-length
|
|
844
|
+
import {
|
|
845
|
+
IMG_PROFILE_BOT,
|
|
846
|
+
IMG_PROFILE_DEFAULT,
|
|
847
|
+
FIREBASESTORAGE_BASE_URL_IMAGE,
|
|
848
|
+
ARRAY_DAYS,
|
|
849
|
+
LABEL_TODAY,
|
|
850
|
+
LABEL_TOMORROW
|
|
851
|
+
} from './constants';
|
|
852
|
+
import { environment } from '../../environments/environment';
|
|
853
|
+
|
|
854
|
+
/**
|
|
855
|
+
* calcolo il tempo trascorso tra due date
|
|
856
|
+
* e lo formatto come segue:
|
|
857
|
+
* gg/mm/aaaa;
|
|
858
|
+
* oggi;
|
|
859
|
+
* ieri;
|
|
860
|
+
* giorno della settimana (lunedì, martedì, ecc)
|
|
861
|
+
*/
|
|
862
|
+
export function <span class="fstat-no" title="function not covered" >setHeaderDate(</span>timestamp): string {
|
|
863
|
+
const date = <span class="cstat-no" title="statement not covered" >new Date(timestamp);</span>
|
|
864
|
+
const now: Date = <span class="cstat-no" title="statement not covered" >new Date();</span>
|
|
865
|
+
let labelDays = <span class="cstat-no" title="statement not covered" >'';</span>
|
|
866
|
+
<span class="cstat-no" title="statement not covered" > if (now.getFullYear() !== date.getFullYear()) {</span>
|
|
867
|
+
<span class="cstat-no" title="statement not covered" > labelDays = date.getDay() + '/' + date.getMonth() + '/' + date.getFullYear();</span>
|
|
868
|
+
} else <span class="cstat-no" title="statement not covered" >if (now.getMonth() !== date.getMonth()) {</span>
|
|
869
|
+
<span class="cstat-no" title="statement not covered" > labelDays = date.getDay() + '/' + date.getMonth() + '/' + date.getFullYear();</span>
|
|
870
|
+
} else <span class="cstat-no" title="statement not covered" >if (now.getDay() === date.getDay()) {</span>
|
|
871
|
+
<span class="cstat-no" title="statement not covered" > labelDays = LABEL_TODAY;</span>
|
|
872
|
+
} else <span class="cstat-no" title="statement not covered" >if (now.getDay() - date.getDay() === 1) {</span>
|
|
873
|
+
<span class="cstat-no" title="statement not covered" > labelDays = LABEL_TOMORROW;</span>
|
|
874
|
+
} else {
|
|
875
|
+
<span class="cstat-no" title="statement not covered" > labelDays = convertDayToString(date.getDay());</span>
|
|
876
|
+
}
|
|
877
|
+
// se le date sono diverse o la data di riferimento non è impostata
|
|
878
|
+
// ritorna la data calcolata
|
|
879
|
+
// altrimenti torna null
|
|
880
|
+
<span class="cstat-no" title="statement not covered" > return labelDays;</span>
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
export function <span class="fstat-no" title="function not covered" >supports_html5_storage(</span>) {
|
|
884
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
885
|
+
<span class="cstat-no" title="statement not covered" > return 'localStorage' in window && window['localStorage'] !== null;</span>
|
|
886
|
+
} catch (e) {
|
|
887
|
+
<span class="cstat-no" title="statement not covered" > console.log('supports_html5_storage > Error :' + e);</span>
|
|
888
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
export function <span class="fstat-no" title="function not covered" >supports_html5_session(</span>) {
|
|
893
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
894
|
+
<span class="cstat-no" title="statement not covered" > return 'sessionStorage' in window && window['sessionStorage'] !== null;</span>
|
|
895
|
+
} catch (e) {
|
|
896
|
+
<span class="cstat-no" title="statement not covered" > console.log('supports_html5_session > Error :' + e);</span>
|
|
897
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
898
|
+
}
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
export function <span class="fstat-no" title="function not covered" >convertDayToString(</span>day) {
|
|
902
|
+
const arrayDays = <span class="cstat-no" title="statement not covered" >ARRAY_DAYS;</span>
|
|
903
|
+
<span class="cstat-no" title="statement not covered" > return arrayDays[day];</span>
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
export function <span class="fstat-no" title="function not covered" >convertMessage(</span>messageText) {
|
|
907
|
+
<span class="cstat-no" title="statement not covered" > if (messageText) {</span>
|
|
908
|
+
<span class="cstat-no" title="statement not covered" > messageText = convert(messageText);</span>
|
|
909
|
+
}
|
|
910
|
+
<span class="cstat-no" title="statement not covered" > return messageText;</span>
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
|
|
914
|
+
// function convert(str) {
|
|
915
|
+
// str = str.replace(/>/g, '&gt;');
|
|
916
|
+
// str = str.replace(/</g, '&lt;');
|
|
917
|
+
// str = str.replace(/"/g, '&quot;');
|
|
918
|
+
// str = str.replace(/'/g, '&#039;');
|
|
919
|
+
// return str;
|
|
920
|
+
// }
|
|
921
|
+
|
|
922
|
+
|
|
923
|
+
/**
|
|
924
|
+
* restituiso indice item nell'array con uid == key
|
|
925
|
+
* @param items
|
|
926
|
+
* @param key
|
|
927
|
+
*/
|
|
928
|
+
export function <span class="fstat-no" title="function not covered" >searchIndexInArrayForUid(</span>items, key) {
|
|
929
|
+
<span class="cstat-no" title="statement not covered" > return items.findIndex(<span class="fstat-no" title="function not covered" >i </span>=> <span class="cstat-no" title="statement not covered" >i.uid === key);</span></span>
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
/**
|
|
933
|
+
* trasforma url contenuti nel testo passato in tag <a>
|
|
934
|
+
*/
|
|
935
|
+
export function <span class="fstat-no" title="function not covered" >urlify(</span>text) {
|
|
936
|
+
// tslint:disable-next-line:max-line-length
|
|
937
|
+
const urlRegex = <span class="cstat-no" title="statement not covered" >/((?:(http|https|Http|Https|rtsp|Rtsp):\/\/(?:(?:[a-zA-Z0-9\$\-\_\.\+\!\*\'\(\)\,\;\?\&\=]|(?:\%[a-fA-F0-9]{2})){1,64}(?:\:(?:[a-zA-Z0-9\$\-\_\.\+\!\*\'\(\)\,\;\?\&\=]|(?:\%[a-fA-F0-9]{2})){1,25})?\@)?)?((?:(?:[a-zA-Z0-9][a-zA-Z0-9\-]{0,64}\.)+(?:(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(?:biz|b[abdefghijmnorstvwyz])|(?:cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(?:edu|e[cegrstu])|f[ijkmor]|(?:gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(?:info|int|i[delmnoqrst])|(?:jobs|j[emop])|k[eghimnrwyz]|l[abcikrstuvy]|(?:mil|mobi|museum|m[acdghklmnopqrstuvwxyz])|(?:name|net|n[acefgilopruz])|(?:org|om)|(?:pro|p[aefghklmnrstwy])|qa|r[eouw]|s[abcdeghijklmnortuvyz]|(?:tel|travel|t[cdfghjklmnoprtvwz])|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw]))|(?:(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\.(?:25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[0-9])))(?:\:\d{1,5})?)(\/(?:(?:[a-zA-Z0-9\;\/\?\:\@\&\=\#\~\-\.\+\!\*\'\(\)\,\_])|(?:\%[a-fA-F0-9]{2}))*)?(?:\b|$)/gi;</span>
|
|
938
|
+
<span class="cstat-no" title="statement not covered" > return text.replace(urlRegex, <span class="fstat-no" title="function not covered" >function (u</span>rl) {</span>
|
|
939
|
+
<span class="cstat-no" title="statement not covered" > if (!url.match(/^[a-zA-Z]+:\/\//)) {</span>
|
|
940
|
+
<span class="cstat-no" title="statement not covered" > url = 'http://' + url;</span>
|
|
941
|
+
}
|
|
942
|
+
// url = convertUrlToTag(url);
|
|
943
|
+
<span class="cstat-no" title="statement not covered" > return '<a class="c21-link" href="' + url + '" target="_blank">' + url + '</a>';</span>
|
|
944
|
+
});
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
function <span class="fstat-no" title="function not covered" >convertUrlToTag(</span>url) {
|
|
948
|
+
let popup = <span class="cstat-no" title="statement not covered" >false;</span>
|
|
949
|
+
const TEMP = <span class="cstat-no" title="statement not covered" >url.split('popup=')[1];</span>
|
|
950
|
+
<span class="cstat-no" title="statement not covered" > if (TEMP) { <span class="cstat-no" title="statement not covered" >popup = TEMP.split('&')[0]; </span>}</span>
|
|
951
|
+
// tslint:disable-next-line:no-unused-expression
|
|
952
|
+
<span class="cstat-no" title="statement not covered" > (TEMP === 'true') ? popup = true : popup = false;</span>
|
|
953
|
+
// tslint:disable-next-line:curly
|
|
954
|
+
<span class="cstat-no" title="statement not covered" > if (popup !== true) <span class="cstat-no" title="statement not covered" >return '<a class="c21-link" href="' + url + '" target="_blank">' + url + '</a>';</span></span>
|
|
955
|
+
// tslint:disable-next-line:curly
|
|
956
|
+
else <span class="cstat-no" title="statement not covered" >return '<p (click)="openPopup2()">.</p>';</span>
|
|
957
|
+
|
|
958
|
+
//// '<a href="#" onclick="windowContext.open("www.google.it", "_system");" >' + url + '</a>';
|
|
959
|
+
//// <a href="#" onclick="openPopup(' + url + ')">' + url + '</a>';
|
|
960
|
+
}
|
|
961
|
+
|
|
962
|
+
|
|
963
|
+
export function <span class="fstat-no" title="function not covered" >isPopupUrl(</span>url) {
|
|
964
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
965
|
+
const TEMP = <span class="cstat-no" title="statement not covered" >url.split('popup=')[1];</span>
|
|
966
|
+
// può essere seguito da & oppure "
|
|
967
|
+
<span class="cstat-no" title="statement not covered" > if (TEMP) {</span>
|
|
968
|
+
<span class="cstat-no" title="statement not covered" > if (TEMP.startsWith('true')) {</span>
|
|
969
|
+
<span class="cstat-no" title="statement not covered" > return true;</span>
|
|
970
|
+
} else {
|
|
971
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
972
|
+
}
|
|
973
|
+
} else {
|
|
974
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
975
|
+
}
|
|
976
|
+
} catch (e) {
|
|
977
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
978
|
+
}
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
export function <span class="fstat-no" title="function not covered" >popupUrl(</span>windowContext, html, title) {
|
|
982
|
+
const url = <span class="cstat-no" title="statement not covered" >this.strip_tags(html);</span>
|
|
983
|
+
const w = <span class="cstat-no" title="statement not covered" >600;</span>
|
|
984
|
+
const h = <span class="cstat-no" title="statement not covered" >600;</span> // screen.height - 40;
|
|
985
|
+
const left = <span class="cstat-no" title="statement not covered" >(screen.width / 2) - (w / 2);</span>
|
|
986
|
+
const top = <span class="cstat-no" title="statement not covered" >(screen.height / 2) - (h / 2);</span>
|
|
987
|
+
|
|
988
|
+
// tslint:disable-next-line:whitespace
|
|
989
|
+
// tslint:disable-next-line:max-line-length
|
|
990
|
+
const newWindow = <span class="cstat-no" title="statement not covered" >windowContext.open(url, '_blank', 'fullscreen=1, titlebar=0, toolbar=no, location=0, status=0, menubar=0, scrollbars=0, resizable=0, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);</span>
|
|
991
|
+
<span class="cstat-no" title="statement not covered" > if (windowContext.focus) {</span>
|
|
992
|
+
<span class="cstat-no" title="statement not covered" > newWindow.focus();</span>
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
|
|
997
|
+
export function <span class="fstat-no" title="function not covered" >encodeHTML(</span>str) {
|
|
998
|
+
<span class="cstat-no" title="statement not covered" > return convert(str);</span>
|
|
999
|
+
// return str.replace(/[\u00A0-\u9999<>&](?!#)/gim, function(i) {
|
|
1000
|
+
// return '&#' + i.charCodeAt(0) + ';';
|
|
1001
|
+
// });
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
export function <span class="fstat-no" title="function not covered" >decodeHTML(</span>str) {
|
|
1005
|
+
|
|
1006
|
+
// return str.replace(/&#([0-9]{1,3});/gi, function(match, num) {
|
|
1007
|
+
// // tslint:disable-next-line:radix
|
|
1008
|
+
// return String.fromCharCode( parseInt(num) );
|
|
1009
|
+
// });
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
function <span class="fstat-no" title="function not covered" >convert(</span>str) {
|
|
1013
|
+
<span class="cstat-no" title="statement not covered" > str = str.replace(/&/g, '&amp;');</span>
|
|
1014
|
+
<span class="cstat-no" title="statement not covered" > str = str.replace(/>/g, '&gt;');</span>
|
|
1015
|
+
<span class="cstat-no" title="statement not covered" > str = str.replace(/</g, '&lt;');</span>
|
|
1016
|
+
<span class="cstat-no" title="statement not covered" > str = str.replace(/"/g, '&quot;');</span>
|
|
1017
|
+
<span class="cstat-no" title="statement not covered" > str = str.replace(/'/g, '&#039;');</span>
|
|
1018
|
+
<span class="cstat-no" title="statement not covered" > return str;</span>
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1021
|
+
export function <span class="fstat-no" title="function not covered" >strip_tags(</span>html) {
|
|
1022
|
+
<span class="cstat-no" title="statement not covered" > return (html.replace(/<.*?>/g, '')).trim();</span>
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
export function <span class="fstat-no" title="function not covered" >replaceBr(</span>text) {
|
|
1026
|
+
<span class="cstat-no" title="statement not covered" > if (text) { </span>
|
|
1027
|
+
<span class="cstat-no" title="statement not covered" > return text.replace(/[\n\r]/g, '<br>');</span>
|
|
1028
|
+
}
|
|
1029
|
+
<span class="cstat-no" title="statement not covered" > return text;</span>
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
export function <span class="fstat-no" title="function not covered" >avatarPlaceholder(</span>name: string) {
|
|
1033
|
+
let initials = <span class="cstat-no" title="statement not covered" >'';</span>
|
|
1034
|
+
<span class="cstat-no" title="statement not covered" > if (name) {</span>
|
|
1035
|
+
const arrayName = <span class="cstat-no" title="statement not covered" >name.split(' ');</span>
|
|
1036
|
+
<span class="cstat-no" title="statement not covered" > arrayName.forEach(<span class="fstat-no" title="function not covered" >member </span>=> {</span>
|
|
1037
|
+
<span class="cstat-no" title="statement not covered" > if (member.trim().length > 1 && initials.length < 3) {</span>
|
|
1038
|
+
<span class="cstat-no" title="statement not covered" > initials += member.substring(0, 1).toUpperCase();</span>
|
|
1039
|
+
}
|
|
1040
|
+
});
|
|
1041
|
+
}
|
|
1042
|
+
<span class="cstat-no" title="statement not covered" > return initials;</span>
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
export function <span class="fstat-no" title="function not covered" >isEmoji(</span>str: string) {
|
|
1046
|
+
// tslint:disable-next-line:max-line-length
|
|
1047
|
+
const ranges = <span class="cstat-no" title="statement not covered" >['(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|[\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|[\ud83c[\ude32-\ude3a]|[\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])'];</span>
|
|
1048
|
+
<span class="cstat-no" title="statement not covered" > if (str.match(ranges.join('|'))) {</span>
|
|
1049
|
+
<span class="cstat-no" title="statement not covered" > return true;</span>
|
|
1050
|
+
} else {
|
|
1051
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
1052
|
+
}
|
|
1053
|
+
}
|
|
1054
|
+
|
|
1055
|
+
export function <span class="fstat-no" title="function not covered" >setColorFromString(</span>str: string) {
|
|
1056
|
+
const arrayBckColor = <span class="cstat-no" title="statement not covered" >['#fba76f', '#80d066', '#73cdd0', '#ecd074', '#6fb1e4', '#f98bae'];</span>
|
|
1057
|
+
let num = <span class="cstat-no" title="statement not covered" >0;</span>
|
|
1058
|
+
<span class="cstat-no" title="statement not covered" > if (str) {</span>
|
|
1059
|
+
const code = <span class="cstat-no" title="statement not covered" >str.charCodeAt((str.length - 1));</span>
|
|
1060
|
+
<span class="cstat-no" title="statement not covered" > num = Math.round(code % arrayBckColor.length);</span>
|
|
1061
|
+
}
|
|
1062
|
+
<span class="cstat-no" title="statement not covered" > return arrayBckColor[num];</span>
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
export function <span class="fstat-no" title="function not covered" >getFromNow(</span>windowContext, timestamp) {
|
|
1066
|
+
let browserLang = <span class="cstat-no" title="statement not covered" >windowContext.navigator.language;</span>
|
|
1067
|
+
<span class="cstat-no" title="statement not covered" > if (this.g.lang && this.g.lang !== '') {</span>
|
|
1068
|
+
<span class="cstat-no" title="statement not covered" > browserLang = this.g.lang;</span>
|
|
1069
|
+
}
|
|
1070
|
+
<span class="cstat-no" title="statement not covered" > moment.locale(browserLang);</span>
|
|
1071
|
+
<span class="cstat-no" title="statement not covered" > return moment.unix(timestamp).fromNow();</span>
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
export function <span class="fstat-no" title="function not covered" >detectIfIsMobile(</span>windowContext) {
|
|
1075
|
+
let isMobile = <span class="cstat-no" title="statement not covered" >false;</span>
|
|
1076
|
+
<span class="cstat-no" title="statement not covered" > if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobile|mobile|CriOS/i.test(windowContext.navigator.userAgent))</span>
|
|
1077
|
+
<span class="cstat-no" title="statement not covered" > isMobile = true</span>
|
|
1078
|
+
else
|
|
1079
|
+
<span class="cstat-no" title="statement not covered" > isMobile = false</span>
|
|
1080
|
+
<span class="cstat-no" title="statement not covered" > return isMobile;</span>
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
export function <span class="fstat-no" title="function not covered" >convertColorToRGBA(</span>color, opacity) {
|
|
1084
|
+
let result = <span class="cstat-no" title="statement not covered" >color;</span>
|
|
1085
|
+
// console.log('convertColorToRGBA' , color, opacity);
|
|
1086
|
+
<span class="cstat-no" title="statement not covered" > if ( color && color.indexOf('#') > -1 ) {</span>
|
|
1087
|
+
<span class="cstat-no" title="statement not covered" > color = color.replace('#', '');</span>
|
|
1088
|
+
const r = <span class="cstat-no" title="statement not covered" >parseInt(color.substring(0, 2), 16);</span>
|
|
1089
|
+
const g = <span class="cstat-no" title="statement not covered" >parseInt(color.substring(2, 4), 16);</span>
|
|
1090
|
+
const b = <span class="cstat-no" title="statement not covered" >parseInt(color.substring(4, 6), 16);</span>
|
|
1091
|
+
<span class="cstat-no" title="statement not covered" > result = 'rgba(' + r + ',' + g + ',' + b + ',' + opacity / 100 + ')';</span>
|
|
1092
|
+
} else <span class="cstat-no" title="statement not covered" >if ( color && color.indexOf('rgba') > -1 ) {</span>
|
|
1093
|
+
const rgb = <span class="cstat-no" title="statement not covered" >color.split(',');</span>
|
|
1094
|
+
const r = <span class="cstat-no" title="statement not covered" >rgb[0].substring(5);</span>
|
|
1095
|
+
const g = <span class="cstat-no" title="statement not covered" >rgb[1];</span>
|
|
1096
|
+
const b = <span class="cstat-no" title="statement not covered" >rgb[2];</span>
|
|
1097
|
+
// const b = rgb[2].substring(1, rgb[2].length - 1);
|
|
1098
|
+
<span class="cstat-no" title="statement not covered" > result = 'rgba(' + r + ',' + g + ',' + b + ',' + opacity / 100 + ')';</span>
|
|
1099
|
+
} else <span class="cstat-no" title="statement not covered" >if ( color && color.indexOf('rgb(') > -1 ) {</span>
|
|
1100
|
+
const rgb = <span class="cstat-no" title="statement not covered" >color.split(',');</span>
|
|
1101
|
+
// console.log(rgb);
|
|
1102
|
+
const r = <span class="cstat-no" title="statement not covered" >rgb[0].substring(4);</span>
|
|
1103
|
+
const g = <span class="cstat-no" title="statement not covered" >rgb[1];</span>
|
|
1104
|
+
const b = <span class="cstat-no" title="statement not covered" >rgb[2].substring(0, rgb[2].length - 1);</span>
|
|
1105
|
+
// console.log(b);
|
|
1106
|
+
// console.log(rgb[2].length);
|
|
1107
|
+
<span class="cstat-no" title="statement not covered" > result = 'rgba(' + r + ',' + g + ',' + b + ',' + opacity / 100 + ')';</span>
|
|
1108
|
+
}
|
|
1109
|
+
// console.log('convertColorToRGBA' + color + result);
|
|
1110
|
+
<span class="cstat-no" title="statement not covered" > return result;</span>
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
|
|
1114
|
+
// export function setLanguage(windowContext, translatorService) {
|
|
1115
|
+
// if (translatorService.getBrowserLanguage(windowContext)) {
|
|
1116
|
+
// return translatorService.getBrowserLanguage(windowContext);
|
|
1117
|
+
// }
|
|
1118
|
+
// return translatorService.getDefaultLanguage(windowContext);
|
|
1119
|
+
// }
|
|
1120
|
+
|
|
1121
|
+
export function getParameterByName(windowContext: any, name: string) {
|
|
1122
|
+
const url = windowContext.location.href;
|
|
1123
|
+
name = name.replace(/[\[\]]/g, '\\$&');
|
|
1124
|
+
// const regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url); //BUG-FIXED: when HEX color was passed throw url
|
|
1125
|
+
const regex = new RegExp('[?&]' + name + '(=([^&]*)|&|$)'), results = regex.exec(url);
|
|
1126
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!results) { return null; }
|
|
1127
|
+
<span class="cstat-no" title="statement not covered" > if (!results[2]) {</span>
|
|
1128
|
+
<span class="cstat-no" title="statement not covered" > return 'true';</span>
|
|
1129
|
+
} else <span class="cstat-no" title="statement not covered" >if (results[2] === 'false' || results[2] === '0') {</span>
|
|
1130
|
+
<span class="cstat-no" title="statement not covered" > return 'false';</span>
|
|
1131
|
+
}
|
|
1132
|
+
<span class="cstat-no" title="statement not covered" > return decodeURIComponent(results[2].replace(/\+/g, ' '));</span>
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
|
|
1136
|
+
/**
|
|
1137
|
+
* function for dynamic sorting
|
|
1138
|
+
*/
|
|
1139
|
+
export function <span class="fstat-no" title="function not covered" >compareValues(</span>key, <span class="cstat-no" title="statement not covered" >order = 'asc') {</span>
|
|
1140
|
+
<span class="cstat-no" title="statement not covered" > return <span class="fstat-no" title="function not covered" >function (a</span>, b) {</span>
|
|
1141
|
+
<span class="cstat-no" title="statement not covered" > if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) {</span>
|
|
1142
|
+
<span class="cstat-no" title="statement not covered" > return 0;</span>
|
|
1143
|
+
}
|
|
1144
|
+
const varA = <span class="cstat-no" title="statement not covered" >(typeof a[key] === 'string') ? a[key].toUpperCase() : a[key];</span>
|
|
1145
|
+
const varB = <span class="cstat-no" title="statement not covered" >(typeof b[key] === 'string') ? b[key].toUpperCase() : b[key];</span>
|
|
1146
|
+
let comparison = <span class="cstat-no" title="statement not covered" >0;</span>
|
|
1147
|
+
<span class="cstat-no" title="statement not covered" > if (varA > varB) {</span>
|
|
1148
|
+
<span class="cstat-no" title="statement not covered" > comparison = 1;</span>
|
|
1149
|
+
} else <span class="cstat-no" title="statement not covered" >if (varA < varB) {</span>
|
|
1150
|
+
<span class="cstat-no" title="statement not covered" > comparison = -1;</span>
|
|
1151
|
+
}
|
|
1152
|
+
<span class="cstat-no" title="statement not covered" > return (</span>
|
|
1153
|
+
(order === 'desc') ? (comparison * -1) : comparison
|
|
1154
|
+
);
|
|
1155
|
+
};
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
|
|
1159
|
+
export function <span class="fstat-no" title="function not covered" >getUrlImgProfile(</span>uid: string) {
|
|
1160
|
+
const baseLocation = <span class="cstat-no" title="statement not covered" >this.g.baseLocation;</span>
|
|
1161
|
+
<span class="cstat-no" title="statement not covered" > if (!uid || uid === 'system' ) {</span>
|
|
1162
|
+
<span class="cstat-no" title="statement not covered" > return baseLocation + IMG_PROFILE_BOT;</span>
|
|
1163
|
+
} else <span class="cstat-no" title="statement not covered" >if ( uid === 'error') {</span>
|
|
1164
|
+
<span class="cstat-no" title="statement not covered" > return baseLocation + IMG_PROFILE_DEFAULT;</span>
|
|
1165
|
+
} else {
|
|
1166
|
+
<span class="cstat-no" title="statement not covered" > return getImageUrlThumb(uid);</span>
|
|
1167
|
+
}
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
/**
|
|
1171
|
+
*
|
|
1172
|
+
* @param uid
|
|
1173
|
+
*/
|
|
1174
|
+
export function <span class="fstat-no" title="function not covered" >getImageUrlThumb(</span>uid: string) {
|
|
1175
|
+
// tslint:disable-next-line:max-line-length
|
|
1176
|
+
<span class="cstat-no" title="statement not covered" > return FIREBASESTORAGE_BASE_URL_IMAGE + environment.firebaseConfig.storageBucket + '/o/' + 'profiles%2F' + uid + '%2Fthumb_photo.jpg?alt=media';</span>
|
|
1177
|
+
}
|
|
1178
|
+
|
|
1179
|
+
|
|
1180
|
+
/**
|
|
1181
|
+
*
|
|
1182
|
+
* @param string
|
|
1183
|
+
*/
|
|
1184
|
+
export function <span class="fstat-no" title="function not covered" >stringToBoolean(</span>string: any): any {
|
|
1185
|
+
let val = <span class="cstat-no" title="statement not covered" >string;</span>
|
|
1186
|
+
<span class="cstat-no" title="statement not covered" > if (typeof string !== 'string') {</span>
|
|
1187
|
+
// val = JSON.stringify(string);
|
|
1188
|
+
<span class="cstat-no" title="statement not covered" > return val;</span>
|
|
1189
|
+
}
|
|
1190
|
+
<span class="cstat-no" title="statement not covered" > if (!string) {</span>
|
|
1191
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
1192
|
+
}
|
|
1193
|
+
<span class="cstat-no" title="statement not covered" > switch (val.toLowerCase().trim()) {</span>
|
|
1194
|
+
case 'true': case 'yes': case '1': <span class="cstat-no" title="statement not covered" >return true;</span>
|
|
1195
|
+
case 'false': case 'no': case '0': case null: <span class="cstat-no" title="statement not covered" >return false;</span>
|
|
1196
|
+
default: <span class="cstat-no" title="statement not covered" >return val;</span>
|
|
1197
|
+
}
|
|
1198
|
+
}
|
|
1199
|
+
|
|
1200
|
+
export function <span class="fstat-no" title="function not covered" >stringToNumber(</span>string: any): number {
|
|
1201
|
+
<span class="cstat-no" title="statement not covered" > if(string === 'false'){</span>
|
|
1202
|
+
<span class="cstat-no" title="statement not covered" > return 0;</span>
|
|
1203
|
+
}
|
|
1204
|
+
<span class="cstat-no" title="statement not covered" > return +string;</span>
|
|
1205
|
+
}
|
|
1206
|
+
|
|
1207
|
+
export function <span class="fstat-no" title="function not covered" >getUnique(</span>arr, comp) {
|
|
1208
|
+
<span class="cstat-no" title="statement not covered" > return arr.map(<span class="fstat-no" title="function not covered" >e </span>=> <span class="cstat-no" title="statement not covered" >e[comp])</span></span>
|
|
1209
|
+
// store the keys of the unique objects
|
|
1210
|
+
.map(<span class="fstat-no" title="function not covered" >(e</span>, i, final) => <span class="cstat-no" title="statement not covered" >final.indexOf(e) === i && i)</span>
|
|
1211
|
+
// eliminate the dead keys & store unique objects
|
|
1212
|
+
.filter(<span class="fstat-no" title="function not covered" >e </span>=> <span class="cstat-no" title="statement not covered" >arr[e]).</span>map(<span class="fstat-no" title="function not covered" >e </span>=> <span class="cstat-no" title="statement not covered" >arr[e]);</span>
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
export function <span class="fstat-no" title="function not covered" >isJustRecived(</span>startedAt, time) {
|
|
1216
|
+
<span class="cstat-no" title="statement not covered" > if (time > startedAt) {</span>
|
|
1217
|
+
<span class="cstat-no" title="statement not covered" > return true;</span>
|
|
1218
|
+
}
|
|
1219
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
1220
|
+
}
|
|
1221
|
+
</pre></td></tr></table></pre>
|
|
1222
|
+
|
|
1223
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
1224
|
+
</div><!-- /wrapper -->
|
|
1225
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
1226
|
+
Code coverage generated by
|
|
1227
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1228
|
+
at Tue Nov 29 2022 09:13:07 GMT+0100 (Ora standard dell’Europa centrale)
|
|
1229
|
+
</div>
|
|
1230
|
+
<script src="../../../prettify.js"></script>
|
|
1231
|
+
<script>
|
|
1232
|
+
window.onload = function () {
|
|
1233
|
+
prettyPrint();
|
|
1234
|
+
};
|
|
1235
|
+
</script>
|
|
1236
|
+
<script src="../../../sorter.js"></script>
|
|
1237
|
+
<script src="../../../block-navigation.js"></script>
|
|
1238
|
+
</body>
|
|
1239
|
+
</html>
|
|
1240
|
+
|