@chat21/chat21-web-widget 5.0.46-rc.3 → 5.0.46
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 +6 -0
- package/dist/assets/twp/index-dev.html +16 -0
- package/dist/environments/real_data/widget-config-docker.json +1 -0
- package/dist/environments/real_data/widget-config-firebase.json +2 -2
- package/dist/environments/real_data/widget-config-native-mqtt.json +1 -0
- package/dist/main.js +1 -1
- package/dist/vendor.js +1 -1
- package/e2e/protractor.conf.js +32 -0
- package/package.json +1 -1
- package/src/app/component/conversation-detail/conversation-preview/conversation-preview.component.scss +13 -8
- package/src/app/utils/globals.ts +46 -26
- package/src/assets/twp/index-dev.html +16 -0
- package/src/environments/real_data/widget-config-docker.json +1 -0
- package/src/environments/real_data/widget-config-firebase.json +2 -2
- package/src/environments/real_data/widget-config-native-mqtt.json +1 -0
- package/coverage/widget/base.css +0 -224
- package/coverage/widget/block-navigation.js +0 -87
- package/coverage/widget/favicon.png +0 -0
- package/coverage/widget/index.html +0 -881
- package/coverage/widget/lcov.info +0 -10516
- package/coverage/widget/polyfills.ts.html +0 -277
- package/coverage/widget/prettify.css +0 -1
- package/coverage/widget/prettify.js +0 -2
- package/coverage/widget/sort-arrow-sprite.png +0 -0
- package/coverage/widget/sorter.js +0 -196
- package/coverage/widget/src/app/app.component.ts.html +0 -6328
- package/coverage/widget/src/app/component/conversation-detail/conversation/conversation.component.ts.html +0 -3871
- package/coverage/widget/src/app/component/conversation-detail/conversation/index.html +0 -116
- package/coverage/widget/src/app/component/conversation-detail/conversation-content/conversation-content.component.ts.html +0 -925
- package/coverage/widget/src/app/component/conversation-detail/conversation-content/index.html +0 -116
- package/coverage/widget/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.ts.html +0 -1816
- package/coverage/widget/src/app/component/conversation-detail/conversation-footer/index.html +0 -116
- package/coverage/widget/src/app/component/conversation-detail/conversation-header/conversation-header.component.ts.html +0 -811
- package/coverage/widget/src/app/component/conversation-detail/conversation-header/index.html +0 -116
- package/coverage/widget/src/app/component/conversation-detail/conversation-internal-frame/conversation-internal-frame.component.ts.html +0 -397
- package/coverage/widget/src/app/component/conversation-detail/conversation-internal-frame/index.html +0 -116
- package/coverage/widget/src/app/component/conversation-detail/conversation-preview/conversation-preview.component.ts.html +0 -991
- package/coverage/widget/src/app/component/conversation-detail/conversation-preview/index.html +0 -116
- package/coverage/widget/src/app/component/eyeeye-catcher-card/eyeeye-catcher-card.component.ts.html +0 -586
- package/coverage/widget/src/app/component/eyeeye-catcher-card/index.html +0 -116
- package/coverage/widget/src/app/component/form/form-builder/form-builder.component.ts.html +0 -664
- package/coverage/widget/src/app/component/form/form-builder/index.html +0 -116
- package/coverage/widget/src/app/component/form/inputs/form-checkbox/form-checkbox.component.ts.html +0 -208
- package/coverage/widget/src/app/component/form/inputs/form-checkbox/index.html +0 -116
- package/coverage/widget/src/app/component/form/inputs/form-label/form-label.component.ts.html +0 -157
- package/coverage/widget/src/app/component/form/inputs/form-label/index.html +0 -116
- package/coverage/widget/src/app/component/form/inputs/form-radio-button/form-radio-button.component.ts.html +0 -130
- package/coverage/widget/src/app/component/form/inputs/form-radio-button/index.html +0 -116
- package/coverage/widget/src/app/component/form/inputs/form-select/form-select.component.ts.html +0 -130
- package/coverage/widget/src/app/component/form/inputs/form-select/index.html +0 -116
- package/coverage/widget/src/app/component/form/inputs/form-text/form-text.component.ts.html +0 -301
- package/coverage/widget/src/app/component/form/inputs/form-text/index.html +0 -116
- package/coverage/widget/src/app/component/form/inputs/form-textarea/form-textarea.component.ts.html +0 -358
- package/coverage/widget/src/app/component/form/inputs/form-textarea/index.html +0 -116
- package/coverage/widget/src/app/component/form/prechat-form/index.html +0 -116
- package/coverage/widget/src/app/component/form/prechat-form/prechat-form.component.ts.html +0 -565
- package/coverage/widget/src/app/component/home/home.component.ts.html +0 -559
- package/coverage/widget/src/app/component/home/index.html +0 -116
- package/coverage/widget/src/app/component/home-conversations/home-conversations.component.ts.html +0 -985
- package/coverage/widget/src/app/component/home-conversations/index.html +0 -116
- package/coverage/widget/src/app/component/last-message/index.html +0 -116
- package/coverage/widget/src/app/component/last-message/last-message.component.ts.html +0 -484
- package/coverage/widget/src/app/component/launcher-button/index.html +0 -116
- package/coverage/widget/src/app/component/launcher-button/launcher-button.component.ts.html +0 -307
- package/coverage/widget/src/app/component/list-all-conversations/index.html +0 -116
- package/coverage/widget/src/app/component/list-all-conversations/list-all-conversations.component.ts.html +0 -676
- package/coverage/widget/src/app/component/list-conversations/index.html +0 -116
- package/coverage/widget/src/app/component/list-conversations/list-conversations.component.ts.html +0 -475
- package/coverage/widget/src/app/component/menu-options/index.html +0 -116
- package/coverage/widget/src/app/component/menu-options/menu-options.component.ts.html +0 -226
- package/coverage/widget/src/app/component/message/avatar/avatar.component.ts.html +0 -271
- package/coverage/widget/src/app/component/message/avatar/index.html +0 -116
- package/coverage/widget/src/app/component/message/bubble-message/bubble-message.component.ts.html +0 -655
- package/coverage/widget/src/app/component/message/bubble-message/index.html +0 -116
- package/coverage/widget/src/app/component/message/buttons/action-button/action-button.component.ts.html +0 -274
- package/coverage/widget/src/app/component/message/buttons/action-button/index.html +0 -116
- package/coverage/widget/src/app/component/message/buttons/link-button/index.html +0 -116
- package/coverage/widget/src/app/component/message/buttons/link-button/link-button.component.ts.html +0 -232
- package/coverage/widget/src/app/component/message/buttons/text-button/index.html +0 -116
- package/coverage/widget/src/app/component/message/buttons/text-button/text-button.component.ts.html +0 -235
- package/coverage/widget/src/app/component/message/frame/frame.component.ts.html +0 -199
- package/coverage/widget/src/app/component/message/frame/index.html +0 -116
- package/coverage/widget/src/app/component/message/html/html.component.ts.html +0 -184
- package/coverage/widget/src/app/component/message/html/index.html +0 -116
- package/coverage/widget/src/app/component/message/image/image.component.ts.html +0 -394
- package/coverage/widget/src/app/component/message/image/index.html +0 -116
- package/coverage/widget/src/app/component/message/info-message/index.html +0 -116
- package/coverage/widget/src/app/component/message/info-message/info-message.component.ts.html +0 -211
- package/coverage/widget/src/app/component/message/like-unlike/index.html +0 -116
- package/coverage/widget/src/app/component/message/like-unlike/like-unlike.component.ts.html +0 -151
- package/coverage/widget/src/app/component/message/return-receipt/index.html +0 -116
- package/coverage/widget/src/app/component/message/return-receipt/return-receipt.component.ts.html +0 -157
- package/coverage/widget/src/app/component/message/text/index.html +0 -116
- package/coverage/widget/src/app/component/message/text/text.component.ts.html +0 -190
- package/coverage/widget/src/app/component/message-attachment/index.html +0 -116
- package/coverage/widget/src/app/component/message-attachment/message-attachment.component.ts.html +0 -343
- package/coverage/widget/src/app/component/selection-department/index.html +0 -116
- package/coverage/widget/src/app/component/selection-department/selection-department.component.ts.html +0 -676
- package/coverage/widget/src/app/component/send-button/index.html +0 -116
- package/coverage/widget/src/app/component/send-button/send-button.component.ts.html +0 -154
- package/coverage/widget/src/app/component/star-rating-widget/index.html +0 -116
- package/coverage/widget/src/app/component/star-rating-widget/star-rating-widget.component.ts.html +0 -451
- package/coverage/widget/src/app/directives/html-entities-encode.pipe.ts.html +0 -136
- package/coverage/widget/src/app/directives/index.html +0 -146
- package/coverage/widget/src/app/directives/marked.pipe.ts.html +0 -166
- package/coverage/widget/src/app/directives/safe-html.pipe.ts.html +0 -136
- package/coverage/widget/src/app/index.html +0 -116
- package/coverage/widget/src/app/providers/app-config.service.ts.html +0 -247
- package/coverage/widget/src/app/providers/global-settings.service.ts.html +0 -5698
- package/coverage/widget/src/app/providers/index.html +0 -206
- package/coverage/widget/src/app/providers/settings-saver.service.ts.html +0 -253
- package/coverage/widget/src/app/providers/star-rating-widget.service.ts.html +0 -385
- package/coverage/widget/src/app/providers/storage.service.ts.html +0 -745
- package/coverage/widget/src/app/providers/translator.service.ts.html +0 -1498
- package/coverage/widget/src/app/providers/waiting.service.ts.html +0 -178
- package/coverage/widget/src/app/utils/constants.ts.html +0 -304
- package/coverage/widget/src/app/utils/globals.ts.html +0 -1939
- package/coverage/widget/src/app/utils/index.html +0 -146
- package/coverage/widget/src/app/utils/utils.ts.html +0 -1240
- package/coverage/widget/src/chat21-core/models/conversation.ts.html +0 -160
- package/coverage/widget/src/chat21-core/models/index.html +0 -146
- package/coverage/widget/src/chat21-core/models/upload.ts.html +0 -118
- package/coverage/widget/src/chat21-core/models/user.ts.html +0 -133
- package/coverage/widget/src/chat21-core/providers/abstract/app-storage.service.ts.html +0 -142
- package/coverage/widget/src/chat21-core/providers/abstract/archivedconversations-handler.service.ts.html +0 -184
- package/coverage/widget/src/chat21-core/providers/abstract/conversation-handler-builder.service.ts.html +0 -121
- package/coverage/widget/src/chat21-core/providers/abstract/conversation-handler.service.ts.html +0 -235
- package/coverage/widget/src/chat21-core/providers/abstract/conversations-handler.service.ts.html +0 -208
- package/coverage/widget/src/chat21-core/providers/abstract/groups-handler.service.ts.html +0 -160
- package/coverage/widget/src/chat21-core/providers/abstract/image-repo.service.ts.html +0 -169
- package/coverage/widget/src/chat21-core/providers/abstract/index.html +0 -296
- package/coverage/widget/src/chat21-core/providers/abstract/logger.service.ts.html +0 -136
- package/coverage/widget/src/chat21-core/providers/abstract/messagingAuth.service.ts.html +0 -238
- package/coverage/widget/src/chat21-core/providers/abstract/notifications.service.ts.html +0 -172
- package/coverage/widget/src/chat21-core/providers/abstract/presence.service.ts.html +0 -190
- package/coverage/widget/src/chat21-core/providers/abstract/typing.service.ts.html +0 -187
- package/coverage/widget/src/chat21-core/providers/abstract/upload.service.ts.html +0 -178
- package/coverage/widget/src/chat21-core/providers/chat-manager.ts.html +0 -895
- package/coverage/widget/src/chat21-core/providers/custom-translate.service.ts.html +0 -223
- package/coverage/widget/src/chat21-core/providers/index.html +0 -131
- package/coverage/widget/src/chat21-core/providers/logger/customLogger.ts.html +0 -265
- package/coverage/widget/src/chat21-core/providers/logger/index.html +0 -131
- package/coverage/widget/src/chat21-core/providers/logger/loggerInstance.ts.html +0 -142
- package/coverage/widget/src/chat21-core/providers/tiledesk/index.html +0 -131
- package/coverage/widget/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts.html +0 -655
- package/coverage/widget/src/chat21-core/providers/tiledesk/tiledesk-requests.service.ts.html +0 -241
- package/coverage/widget/src/chat21-core/utils/constants.ts.html +0 -409
- package/coverage/widget/src/chat21-core/utils/index.html +0 -176
- package/coverage/widget/src/chat21-core/utils/triggerHandler.ts.html +0 -1069
- package/coverage/widget/src/chat21-core/utils/user-typing/index.html +0 -116
- package/coverage/widget/src/chat21-core/utils/user-typing/user-typing.component.ts.html +0 -184
- package/coverage/widget/src/chat21-core/utils/utils-message.ts.html +0 -637
- package/coverage/widget/src/chat21-core/utils/utils-user.ts.html +0 -229
- package/coverage/widget/src/chat21-core/utils/utils.ts.html +0 -2221
- package/coverage/widget/src/environments/environment.ts.html +0 -205
- package/coverage/widget/src/environments/index.html +0 -116
- package/coverage/widget/src/index.html +0 -131
- package/coverage/widget/src/models/index.html +0 -116
- package/coverage/widget/src/models/project.ts.html +0 -319
- package/coverage/widget/src/polyfills.ts.html +0 -277
- package/coverage/widget/src/test.ts.html +0 -142
|
@@ -1,1816 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for src/app/component/conversation-detail/conversation-footer/conversation-footer.component.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/component/conversation-detail/conversation-footer</a> conversation-footer.component.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">16.98% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>45/265</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">0% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/118</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">10.71% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>3/28</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">17.86% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>45/252</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>
|
|
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>
|
|
623
|
-
<a name='L558'></a><a href='#L558'>558</a>
|
|
624
|
-
<a name='L559'></a><a href='#L559'>559</a>
|
|
625
|
-
<a name='L560'></a><a href='#L560'>560</a>
|
|
626
|
-
<a name='L561'></a><a href='#L561'>561</a>
|
|
627
|
-
<a name='L562'></a><a href='#L562'>562</a>
|
|
628
|
-
<a name='L563'></a><a href='#L563'>563</a>
|
|
629
|
-
<a name='L564'></a><a href='#L564'>564</a>
|
|
630
|
-
<a name='L565'></a><a href='#L565'>565</a>
|
|
631
|
-
<a name='L566'></a><a href='#L566'>566</a>
|
|
632
|
-
<a name='L567'></a><a href='#L567'>567</a>
|
|
633
|
-
<a name='L568'></a><a href='#L568'>568</a>
|
|
634
|
-
<a name='L569'></a><a href='#L569'>569</a>
|
|
635
|
-
<a name='L570'></a><a href='#L570'>570</a>
|
|
636
|
-
<a name='L571'></a><a href='#L571'>571</a>
|
|
637
|
-
<a name='L572'></a><a href='#L572'>572</a>
|
|
638
|
-
<a name='L573'></a><a href='#L573'>573</a>
|
|
639
|
-
<a name='L574'></a><a href='#L574'>574</a>
|
|
640
|
-
<a name='L575'></a><a href='#L575'>575</a>
|
|
641
|
-
<a name='L576'></a><a href='#L576'>576</a>
|
|
642
|
-
<a name='L577'></a><a href='#L577'>577</a>
|
|
643
|
-
<a name='L578'></a><a href='#L578'>578</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
644
|
-
<span class="cline-any cline-neutral"> </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-neutral"> </span>
|
|
649
|
-
<span class="cline-any cline-neutral"> </span>
|
|
650
|
-
<span class="cline-any cline-neutral"> </span>
|
|
651
|
-
<span class="cline-any cline-neutral"> </span>
|
|
652
|
-
<span class="cline-any cline-neutral"> </span>
|
|
653
|
-
<span class="cline-any cline-neutral"> </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-neutral"> </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-yes">1x</span>
|
|
662
|
-
<span class="cline-any cline-neutral"> </span>
|
|
663
|
-
<span class="cline-any cline-neutral"> </span>
|
|
664
|
-
<span class="cline-any cline-neutral"> </span>
|
|
665
|
-
<span class="cline-any cline-neutral"> </span>
|
|
666
|
-
<span class="cline-any cline-neutral"> </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-neutral"> </span>
|
|
672
|
-
<span class="cline-any cline-neutral"> </span>
|
|
673
|
-
<span class="cline-any cline-neutral"> </span>
|
|
674
|
-
<span class="cline-any cline-neutral"> </span>
|
|
675
|
-
<span class="cline-any cline-neutral"> </span>
|
|
676
|
-
<span class="cline-any cline-neutral"> </span>
|
|
677
|
-
<span class="cline-any cline-neutral"> </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-neutral"> </span>
|
|
682
|
-
<span class="cline-any cline-yes">6x</span>
|
|
683
|
-
<span class="cline-any cline-yes">6x</span>
|
|
684
|
-
<span class="cline-any cline-yes">6x</span>
|
|
685
|
-
<span class="cline-any cline-yes">6x</span>
|
|
686
|
-
<span class="cline-any cline-yes">6x</span>
|
|
687
|
-
<span class="cline-any cline-yes">6x</span>
|
|
688
|
-
<span class="cline-any cline-yes">6x</span>
|
|
689
|
-
<span class="cline-any cline-neutral"> </span>
|
|
690
|
-
<span class="cline-any cline-neutral"> </span>
|
|
691
|
-
<span class="cline-any cline-neutral"> </span>
|
|
692
|
-
<span class="cline-any cline-neutral"> </span>
|
|
693
|
-
<span class="cline-any cline-neutral"> </span>
|
|
694
|
-
<span class="cline-any cline-yes">6x</span>
|
|
695
|
-
<span class="cline-any cline-yes">6x</span>
|
|
696
|
-
<span class="cline-any cline-yes">6x</span>
|
|
697
|
-
<span class="cline-any cline-yes">6x</span>
|
|
698
|
-
<span class="cline-any cline-neutral"> </span>
|
|
699
|
-
<span class="cline-any cline-neutral"> </span>
|
|
700
|
-
<span class="cline-any cline-neutral"> </span>
|
|
701
|
-
<span class="cline-any cline-neutral"> </span>
|
|
702
|
-
<span class="cline-any cline-neutral"> </span>
|
|
703
|
-
<span class="cline-any cline-neutral"> </span>
|
|
704
|
-
<span class="cline-any cline-yes">6x</span>
|
|
705
|
-
<span class="cline-any cline-yes">6x</span>
|
|
706
|
-
<span class="cline-any cline-neutral"> </span>
|
|
707
|
-
<span class="cline-any cline-neutral"> </span>
|
|
708
|
-
<span class="cline-any cline-neutral"> </span>
|
|
709
|
-
<span class="cline-any cline-neutral"> </span>
|
|
710
|
-
<span class="cline-any cline-neutral"> </span>
|
|
711
|
-
<span class="cline-any cline-neutral"> </span>
|
|
712
|
-
<span class="cline-any cline-neutral"> </span>
|
|
713
|
-
<span class="cline-any cline-neutral"> </span>
|
|
714
|
-
<span class="cline-any cline-yes">6x</span>
|
|
715
|
-
<span class="cline-any cline-yes">6x</span>
|
|
716
|
-
<span class="cline-any cline-yes">6x</span>
|
|
717
|
-
<span class="cline-any cline-yes">6x</span>
|
|
718
|
-
<span class="cline-any cline-yes">6x</span>
|
|
719
|
-
<span class="cline-any cline-yes">6x</span>
|
|
720
|
-
<span class="cline-any cline-neutral"> </span>
|
|
721
|
-
<span class="cline-any cline-yes">1x</span>
|
|
722
|
-
<span class="cline-any cline-neutral"> </span>
|
|
723
|
-
<span class="cline-any cline-neutral"> </span>
|
|
724
|
-
<span class="cline-any cline-yes">1x</span>
|
|
725
|
-
<span class="cline-any cline-no"> </span>
|
|
726
|
-
<span class="cline-any cline-no"> </span>
|
|
727
|
-
<span class="cline-any cline-neutral"> </span>
|
|
728
|
-
<span class="cline-any cline-no"> </span>
|
|
729
|
-
<span class="cline-any cline-no"> </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-yes">1x</span>
|
|
734
|
-
<span class="cline-any cline-yes">6x</span>
|
|
735
|
-
<span class="cline-any cline-neutral"> </span>
|
|
736
|
-
<span class="cline-any cline-yes">6x</span>
|
|
737
|
-
<span class="cline-any cline-neutral"> </span>
|
|
738
|
-
<span class="cline-any cline-neutral"> </span>
|
|
739
|
-
<span class="cline-any cline-neutral"> </span>
|
|
740
|
-
<span class="cline-any cline-neutral"> </span>
|
|
741
|
-
<span class="cline-any cline-neutral"> </span>
|
|
742
|
-
<span class="cline-any cline-neutral"> </span>
|
|
743
|
-
<span class="cline-any cline-yes">1x</span>
|
|
744
|
-
<span class="cline-any cline-no"> </span>
|
|
745
|
-
<span class="cline-any cline-neutral"> </span>
|
|
746
|
-
<span class="cline-any cline-no"> </span>
|
|
747
|
-
<span class="cline-any cline-no"> </span>
|
|
748
|
-
<span class="cline-any cline-no"> </span>
|
|
749
|
-
<span class="cline-any cline-neutral"> </span>
|
|
750
|
-
<span class="cline-any cline-no"> </span>
|
|
751
|
-
<span class="cline-any cline-no"> </span>
|
|
752
|
-
<span class="cline-any cline-neutral"> </span>
|
|
753
|
-
<span class="cline-any cline-no"> </span>
|
|
754
|
-
<span class="cline-any cline-neutral"> </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-no"> </span>
|
|
759
|
-
<span class="cline-any cline-neutral"> </span>
|
|
760
|
-
<span class="cline-any cline-no"> </span>
|
|
761
|
-
<span class="cline-any cline-neutral"> </span>
|
|
762
|
-
<span class="cline-any cline-neutral"> </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-no"> </span>
|
|
767
|
-
<span class="cline-any cline-no"> </span>
|
|
768
|
-
<span class="cline-any cline-no"> </span>
|
|
769
|
-
<span class="cline-any cline-no"> </span>
|
|
770
|
-
<span class="cline-any cline-no"> </span>
|
|
771
|
-
<span class="cline-any cline-no"> </span>
|
|
772
|
-
<span class="cline-any cline-neutral"> </span>
|
|
773
|
-
<span class="cline-any cline-no"> </span>
|
|
774
|
-
<span class="cline-any cline-no"> </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-no"> </span>
|
|
783
|
-
<span class="cline-any cline-no"> </span>
|
|
784
|
-
<span class="cline-any cline-neutral"> </span>
|
|
785
|
-
<span class="cline-any cline-no"> </span>
|
|
786
|
-
<span class="cline-any cline-neutral"> </span>
|
|
787
|
-
<span class="cline-any cline-neutral"> </span>
|
|
788
|
-
<span class="cline-any cline-no"> </span>
|
|
789
|
-
<span class="cline-any cline-no"> </span>
|
|
790
|
-
<span class="cline-any cline-neutral"> </span>
|
|
791
|
-
<span class="cline-any cline-neutral"> </span>
|
|
792
|
-
<span class="cline-any cline-neutral"> </span>
|
|
793
|
-
<span class="cline-any cline-neutral"> </span>
|
|
794
|
-
<span class="cline-any cline-no"> </span>
|
|
795
|
-
<span class="cline-any cline-no"> </span>
|
|
796
|
-
<span class="cline-any cline-no"> </span>
|
|
797
|
-
<span class="cline-any cline-neutral"> </span>
|
|
798
|
-
<span class="cline-any cline-no"> </span>
|
|
799
|
-
<span class="cline-any cline-neutral"> </span>
|
|
800
|
-
<span class="cline-any cline-neutral"> </span>
|
|
801
|
-
<span class="cline-any cline-neutral"> </span>
|
|
802
|
-
<span class="cline-any cline-no"> </span>
|
|
803
|
-
<span class="cline-any cline-no"> </span>
|
|
804
|
-
<span class="cline-any cline-no"> </span>
|
|
805
|
-
<span class="cline-any cline-neutral"> </span>
|
|
806
|
-
<span class="cline-any cline-neutral"> </span>
|
|
807
|
-
<span class="cline-any cline-neutral"> </span>
|
|
808
|
-
<span class="cline-any cline-neutral"> </span>
|
|
809
|
-
<span class="cline-any cline-neutral"> </span>
|
|
810
|
-
<span class="cline-any cline-neutral"> </span>
|
|
811
|
-
<span class="cline-any cline-yes">1x</span>
|
|
812
|
-
<span class="cline-any cline-no"> </span>
|
|
813
|
-
<span class="cline-any cline-neutral"> </span>
|
|
814
|
-
<span class="cline-any cline-no"> </span>
|
|
815
|
-
<span class="cline-any cline-no"> </span>
|
|
816
|
-
<span class="cline-any cline-no"> </span>
|
|
817
|
-
<span class="cline-any cline-no"> </span>
|
|
818
|
-
<span class="cline-any cline-no"> </span>
|
|
819
|
-
<span class="cline-any cline-no"> </span>
|
|
820
|
-
<span class="cline-any cline-no"> </span>
|
|
821
|
-
<span class="cline-any cline-no"> </span>
|
|
822
|
-
<span class="cline-any cline-neutral"> </span>
|
|
823
|
-
<span class="cline-any cline-neutral"> </span>
|
|
824
|
-
<span class="cline-any cline-neutral"> </span>
|
|
825
|
-
<span class="cline-any cline-neutral"> </span>
|
|
826
|
-
<span class="cline-any cline-neutral"> </span>
|
|
827
|
-
<span class="cline-any cline-neutral"> </span>
|
|
828
|
-
<span class="cline-any cline-neutral"> </span>
|
|
829
|
-
<span class="cline-any cline-neutral"> </span>
|
|
830
|
-
<span class="cline-any cline-no"> </span>
|
|
831
|
-
<span class="cline-any cline-neutral"> </span>
|
|
832
|
-
<span class="cline-any cline-neutral"> </span>
|
|
833
|
-
<span class="cline-any cline-neutral"> </span>
|
|
834
|
-
<span class="cline-any cline-neutral"> </span>
|
|
835
|
-
<span class="cline-any cline-neutral"> </span>
|
|
836
|
-
<span class="cline-any cline-neutral"> </span>
|
|
837
|
-
<span class="cline-any cline-no"> </span>
|
|
838
|
-
<span class="cline-any cline-neutral"> </span>
|
|
839
|
-
<span class="cline-any cline-neutral"> </span>
|
|
840
|
-
<span class="cline-any cline-neutral"> </span>
|
|
841
|
-
<span class="cline-any cline-neutral"> </span>
|
|
842
|
-
<span class="cline-any cline-no"> </span>
|
|
843
|
-
<span class="cline-any cline-no"> </span>
|
|
844
|
-
<span class="cline-any cline-no"> </span>
|
|
845
|
-
<span class="cline-any cline-no"> </span>
|
|
846
|
-
<span class="cline-any cline-neutral"> </span>
|
|
847
|
-
<span class="cline-any cline-neutral"> </span>
|
|
848
|
-
<span class="cline-any cline-neutral"> </span>
|
|
849
|
-
<span class="cline-any cline-neutral"> </span>
|
|
850
|
-
<span class="cline-any cline-neutral"> </span>
|
|
851
|
-
<span class="cline-any cline-neutral"> </span>
|
|
852
|
-
<span class="cline-any cline-yes">1x</span>
|
|
853
|
-
<span class="cline-any cline-no"> </span>
|
|
854
|
-
<span class="cline-any cline-no"> </span>
|
|
855
|
-
<span class="cline-any cline-no"> </span>
|
|
856
|
-
<span class="cline-any cline-no"> </span>
|
|
857
|
-
<span class="cline-any cline-neutral"> </span>
|
|
858
|
-
<span class="cline-any cline-no"> </span>
|
|
859
|
-
<span class="cline-any cline-neutral"> </span>
|
|
860
|
-
<span class="cline-any cline-neutral"> </span>
|
|
861
|
-
<span class="cline-any cline-neutral"> </span>
|
|
862
|
-
<span class="cline-any cline-neutral"> </span>
|
|
863
|
-
<span class="cline-any cline-neutral"> </span>
|
|
864
|
-
<span class="cline-any cline-neutral"> </span>
|
|
865
|
-
<span class="cline-any cline-neutral"> </span>
|
|
866
|
-
<span class="cline-any cline-neutral"> </span>
|
|
867
|
-
<span class="cline-any cline-neutral"> </span>
|
|
868
|
-
<span class="cline-any cline-neutral"> </span>
|
|
869
|
-
<span class="cline-any cline-neutral"> </span>
|
|
870
|
-
<span class="cline-any cline-neutral"> </span>
|
|
871
|
-
<span class="cline-any cline-neutral"> </span>
|
|
872
|
-
<span class="cline-any cline-neutral"> </span>
|
|
873
|
-
<span class="cline-any cline-neutral"> </span>
|
|
874
|
-
<span class="cline-any cline-neutral"> </span>
|
|
875
|
-
<span class="cline-any cline-neutral"> </span>
|
|
876
|
-
<span class="cline-any cline-neutral"> </span>
|
|
877
|
-
<span class="cline-any cline-neutral"> </span>
|
|
878
|
-
<span class="cline-any cline-neutral"> </span>
|
|
879
|
-
<span class="cline-any cline-neutral"> </span>
|
|
880
|
-
<span class="cline-any cline-neutral"> </span>
|
|
881
|
-
<span class="cline-any cline-neutral"> </span>
|
|
882
|
-
<span class="cline-any cline-neutral"> </span>
|
|
883
|
-
<span class="cline-any cline-no"> </span>
|
|
884
|
-
<span class="cline-any cline-no"> </span>
|
|
885
|
-
<span class="cline-any cline-no"> </span>
|
|
886
|
-
<span class="cline-any cline-neutral"> </span>
|
|
887
|
-
<span class="cline-any cline-no"> </span>
|
|
888
|
-
<span class="cline-any cline-no"> </span>
|
|
889
|
-
<span class="cline-any cline-neutral"> </span>
|
|
890
|
-
<span class="cline-any cline-no"> </span>
|
|
891
|
-
<span class="cline-any cline-no"> </span>
|
|
892
|
-
<span class="cline-any cline-no"> </span>
|
|
893
|
-
<span class="cline-any cline-neutral"> </span>
|
|
894
|
-
<span class="cline-any cline-no"> </span>
|
|
895
|
-
<span class="cline-any cline-no"> </span>
|
|
896
|
-
<span class="cline-any cline-no"> </span>
|
|
897
|
-
<span class="cline-any cline-neutral"> </span>
|
|
898
|
-
<span class="cline-any cline-no"> </span>
|
|
899
|
-
<span class="cline-any cline-no"> </span>
|
|
900
|
-
<span class="cline-any cline-no"> </span>
|
|
901
|
-
<span class="cline-any cline-neutral"> </span>
|
|
902
|
-
<span class="cline-any cline-no"> </span>
|
|
903
|
-
<span class="cline-any cline-neutral"> </span>
|
|
904
|
-
<span class="cline-any cline-no"> </span>
|
|
905
|
-
<span class="cline-any cline-no"> </span>
|
|
906
|
-
<span class="cline-any cline-no"> </span>
|
|
907
|
-
<span class="cline-any cline-neutral"> </span>
|
|
908
|
-
<span class="cline-any cline-neutral"> </span>
|
|
909
|
-
<span class="cline-any cline-neutral"> </span>
|
|
910
|
-
<span class="cline-any cline-no"> </span>
|
|
911
|
-
<span class="cline-any cline-no"> </span>
|
|
912
|
-
<span class="cline-any cline-neutral"> </span>
|
|
913
|
-
<span class="cline-any cline-no"> </span>
|
|
914
|
-
<span class="cline-any cline-neutral"> </span>
|
|
915
|
-
<span class="cline-any cline-neutral"> </span>
|
|
916
|
-
<span class="cline-any cline-neutral"> </span>
|
|
917
|
-
<span class="cline-any cline-neutral"> </span>
|
|
918
|
-
<span class="cline-any cline-neutral"> </span>
|
|
919
|
-
<span class="cline-any cline-neutral"> </span>
|
|
920
|
-
<span class="cline-any cline-neutral"> </span>
|
|
921
|
-
<span class="cline-any cline-neutral"> </span>
|
|
922
|
-
<span class="cline-any cline-neutral"> </span>
|
|
923
|
-
<span class="cline-any cline-yes">1x</span>
|
|
924
|
-
<span class="cline-any cline-no"> </span>
|
|
925
|
-
<span class="cline-any cline-no"> </span>
|
|
926
|
-
<span class="cline-any cline-no"> </span>
|
|
927
|
-
<span class="cline-any cline-no"> </span>
|
|
928
|
-
<span class="cline-any cline-neutral"> </span>
|
|
929
|
-
<span class="cline-any cline-neutral"> </span>
|
|
930
|
-
<span class="cline-any cline-neutral"> </span>
|
|
931
|
-
<span class="cline-any cline-neutral"> </span>
|
|
932
|
-
<span class="cline-any cline-neutral"> </span>
|
|
933
|
-
<span class="cline-any cline-no"> </span>
|
|
934
|
-
<span class="cline-any cline-neutral"> </span>
|
|
935
|
-
<span class="cline-any cline-no"> </span>
|
|
936
|
-
<span class="cline-any cline-neutral"> </span>
|
|
937
|
-
<span class="cline-any cline-no"> </span>
|
|
938
|
-
<span class="cline-any cline-no"> </span>
|
|
939
|
-
<span class="cline-any cline-no"> </span>
|
|
940
|
-
<span class="cline-any cline-no"> </span>
|
|
941
|
-
<span class="cline-any cline-neutral"> </span>
|
|
942
|
-
<span class="cline-any cline-neutral"> </span>
|
|
943
|
-
<span class="cline-any cline-no"> </span>
|
|
944
|
-
<span class="cline-any cline-no"> </span>
|
|
945
|
-
<span class="cline-any cline-no"> </span>
|
|
946
|
-
<span class="cline-any cline-neutral"> </span>
|
|
947
|
-
<span class="cline-any cline-neutral"> </span>
|
|
948
|
-
<span class="cline-any cline-neutral"> </span>
|
|
949
|
-
<span class="cline-any cline-neutral"> </span>
|
|
950
|
-
<span class="cline-any cline-no"> </span>
|
|
951
|
-
<span class="cline-any cline-no"> </span>
|
|
952
|
-
<span class="cline-any cline-no"> </span>
|
|
953
|
-
<span class="cline-any cline-no"> </span>
|
|
954
|
-
<span class="cline-any cline-no"> </span>
|
|
955
|
-
<span class="cline-any cline-no"> </span>
|
|
956
|
-
<span class="cline-any cline-neutral"> </span>
|
|
957
|
-
<span class="cline-any cline-neutral"> </span>
|
|
958
|
-
<span class="cline-any cline-no"> </span>
|
|
959
|
-
<span class="cline-any cline-no"> </span>
|
|
960
|
-
<span class="cline-any cline-no"> </span>
|
|
961
|
-
<span class="cline-any cline-no"> </span>
|
|
962
|
-
<span class="cline-any cline-no"> </span>
|
|
963
|
-
<span class="cline-any cline-no"> </span>
|
|
964
|
-
<span class="cline-any cline-neutral"> </span>
|
|
965
|
-
<span class="cline-any cline-no"> </span>
|
|
966
|
-
<span class="cline-any cline-neutral"> </span>
|
|
967
|
-
<span class="cline-any cline-neutral"> </span>
|
|
968
|
-
<span class="cline-any cline-no"> </span>
|
|
969
|
-
<span class="cline-any cline-neutral"> </span>
|
|
970
|
-
<span class="cline-any cline-neutral"> </span>
|
|
971
|
-
<span class="cline-any cline-neutral"> </span>
|
|
972
|
-
<span class="cline-any cline-neutral"> </span>
|
|
973
|
-
<span class="cline-any cline-neutral"> </span>
|
|
974
|
-
<span class="cline-any cline-neutral"> </span>
|
|
975
|
-
<span class="cline-any cline-neutral"> </span>
|
|
976
|
-
<span class="cline-any cline-neutral"> </span>
|
|
977
|
-
<span class="cline-any cline-neutral"> </span>
|
|
978
|
-
<span class="cline-any cline-neutral"> </span>
|
|
979
|
-
<span class="cline-any cline-neutral"> </span>
|
|
980
|
-
<span class="cline-any cline-no"> </span>
|
|
981
|
-
<span class="cline-any cline-neutral"> </span>
|
|
982
|
-
<span class="cline-any cline-neutral"> </span>
|
|
983
|
-
<span class="cline-any cline-neutral"> </span>
|
|
984
|
-
<span class="cline-any cline-neutral"> </span>
|
|
985
|
-
<span class="cline-any cline-neutral"> </span>
|
|
986
|
-
<span class="cline-any cline-neutral"> </span>
|
|
987
|
-
<span class="cline-any cline-neutral"> </span>
|
|
988
|
-
<span class="cline-any cline-neutral"> </span>
|
|
989
|
-
<span class="cline-any cline-neutral"> </span>
|
|
990
|
-
<span class="cline-any cline-neutral"> </span>
|
|
991
|
-
<span class="cline-any cline-neutral"> </span>
|
|
992
|
-
<span class="cline-any cline-no"> </span>
|
|
993
|
-
<span class="cline-any cline-neutral"> </span>
|
|
994
|
-
<span class="cline-any cline-neutral"> </span>
|
|
995
|
-
<span class="cline-any cline-neutral"> </span>
|
|
996
|
-
<span class="cline-any cline-no"> </span>
|
|
997
|
-
<span class="cline-any cline-no"> </span>
|
|
998
|
-
<span class="cline-any cline-no"> </span>
|
|
999
|
-
<span class="cline-any cline-no"> </span>
|
|
1000
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1001
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1002
|
-
<span class="cline-any cline-no"> </span>
|
|
1003
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1004
|
-
<span class="cline-any cline-no"> </span>
|
|
1005
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1006
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1007
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1008
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1009
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1010
|
-
<span class="cline-any cline-no"> </span>
|
|
1011
|
-
<span class="cline-any cline-no"> </span>
|
|
1012
|
-
<span class="cline-any cline-no"> </span>
|
|
1013
|
-
<span class="cline-any cline-no"> </span>
|
|
1014
|
-
<span class="cline-any cline-no"> </span>
|
|
1015
|
-
<span class="cline-any cline-no"> </span>
|
|
1016
|
-
<span class="cline-any cline-no"> </span>
|
|
1017
|
-
<span class="cline-any cline-no"> </span>
|
|
1018
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1019
|
-
<span class="cline-any cline-no"> </span>
|
|
1020
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1021
|
-
<span class="cline-any cline-no"> </span>
|
|
1022
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1023
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1024
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1025
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1026
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1027
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1028
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1029
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1030
|
-
<span class="cline-any cline-no"> </span>
|
|
1031
|
-
<span class="cline-any cline-no"> </span>
|
|
1032
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1033
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1034
|
-
<span class="cline-any cline-no"> </span>
|
|
1035
|
-
<span class="cline-any cline-no"> </span>
|
|
1036
|
-
<span class="cline-any cline-no"> </span>
|
|
1037
|
-
<span class="cline-any cline-no"> </span>
|
|
1038
|
-
<span class="cline-any cline-no"> </span>
|
|
1039
|
-
<span class="cline-any cline-no"> </span>
|
|
1040
|
-
<span class="cline-any cline-no"> </span>
|
|
1041
|
-
<span class="cline-any cline-no"> </span>
|
|
1042
|
-
<span class="cline-any cline-no"> </span>
|
|
1043
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1044
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1045
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1046
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1047
|
-
<span class="cline-any cline-no"> </span>
|
|
1048
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1049
|
-
<span class="cline-any cline-no"> </span>
|
|
1050
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1051
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1052
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1053
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1054
|
-
<span class="cline-any cline-no"> </span>
|
|
1055
|
-
<span class="cline-any cline-no"> </span>
|
|
1056
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1057
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1058
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1059
|
-
<span class="cline-any cline-no"> </span>
|
|
1060
|
-
<span class="cline-any cline-no"> </span>
|
|
1061
|
-
<span class="cline-any cline-no"> </span>
|
|
1062
|
-
<span class="cline-any cline-no"> </span>
|
|
1063
|
-
<span class="cline-any cline-no"> </span>
|
|
1064
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1065
|
-
<span class="cline-any cline-no"> </span>
|
|
1066
|
-
<span class="cline-any cline-no"> </span>
|
|
1067
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1068
|
-
<span class="cline-any cline-no"> </span>
|
|
1069
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1070
|
-
<span class="cline-any cline-no"> </span>
|
|
1071
|
-
<span class="cline-any cline-no"> </span>
|
|
1072
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1073
|
-
<span class="cline-any cline-no"> </span>
|
|
1074
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1075
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1076
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1077
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1078
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1079
|
-
<span class="cline-any cline-no"> </span>
|
|
1080
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1081
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1082
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1083
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1084
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1085
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1086
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1087
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1088
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1089
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1090
|
-
<span class="cline-any cline-no"> </span>
|
|
1091
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1092
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1093
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1094
|
-
<span class="cline-any cline-no"> </span>
|
|
1095
|
-
<span class="cline-any cline-no"> </span>
|
|
1096
|
-
<span class="cline-any cline-no"> </span>
|
|
1097
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1098
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1099
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1100
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1101
|
-
<span class="cline-any cline-no"> </span>
|
|
1102
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1103
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1104
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1105
|
-
<span class="cline-any cline-no"> </span>
|
|
1106
|
-
<span class="cline-any cline-no"> </span>
|
|
1107
|
-
<span class="cline-any cline-no"> </span>
|
|
1108
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1109
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1110
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1111
|
-
<span class="cline-any cline-no"> </span>
|
|
1112
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1113
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1114
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1115
|
-
<span class="cline-any cline-no"> </span>
|
|
1116
|
-
<span class="cline-any cline-no"> </span>
|
|
1117
|
-
<span class="cline-any cline-no"> </span>
|
|
1118
|
-
<span class="cline-any cline-no"> </span>
|
|
1119
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1120
|
-
<span class="cline-any cline-no"> </span>
|
|
1121
|
-
<span class="cline-any cline-no"> </span>
|
|
1122
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1123
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1124
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1125
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1126
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1127
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1128
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1129
|
-
<span class="cline-any cline-no"> </span>
|
|
1130
|
-
<span class="cline-any cline-no"> </span>
|
|
1131
|
-
<span class="cline-any cline-no"> </span>
|
|
1132
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1133
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1134
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1135
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1136
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1137
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1138
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1139
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1140
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1141
|
-
<span class="cline-any cline-no"> </span>
|
|
1142
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1143
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1144
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1145
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1146
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1147
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1148
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1149
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1150
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1151
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1152
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1153
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1154
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1155
|
-
<span class="cline-any cline-no"> </span>
|
|
1156
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1157
|
-
<span class="cline-any cline-no"> </span>
|
|
1158
|
-
<span class="cline-any cline-no"> </span>
|
|
1159
|
-
<span class="cline-any cline-no"> </span>
|
|
1160
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1161
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1162
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1163
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1164
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1165
|
-
<span class="cline-any cline-no"> </span>
|
|
1166
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1167
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1168
|
-
<span class="cline-any cline-no"> </span>
|
|
1169
|
-
<span class="cline-any cline-no"> </span>
|
|
1170
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1171
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1172
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1173
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1174
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1175
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1176
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1177
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1178
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1179
|
-
<span class="cline-any cline-no"> </span>
|
|
1180
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1181
|
-
<span class="cline-any cline-no"> </span>
|
|
1182
|
-
<span class="cline-any cline-no"> </span>
|
|
1183
|
-
<span class="cline-any cline-no"> </span>
|
|
1184
|
-
<span class="cline-any cline-no"> </span>
|
|
1185
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1186
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1187
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1188
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1189
|
-
<span class="cline-any cline-no"> </span>
|
|
1190
|
-
<span class="cline-any cline-no"> </span>
|
|
1191
|
-
<span class="cline-any cline-no"> </span>
|
|
1192
|
-
<span class="cline-any cline-no"> </span>
|
|
1193
|
-
<span class="cline-any cline-no"> </span>
|
|
1194
|
-
<span class="cline-any cline-no"> </span>
|
|
1195
|
-
<span class="cline-any cline-no"> </span>
|
|
1196
|
-
<span class="cline-any cline-no"> </span>
|
|
1197
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1198
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1199
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1200
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1201
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1202
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1203
|
-
<span class="cline-any cline-no"> </span>
|
|
1204
|
-
<span class="cline-any cline-no"> </span>
|
|
1205
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1206
|
-
<span class="cline-any cline-no"> </span>
|
|
1207
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1208
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1209
|
-
<span class="cline-any cline-no"> </span>
|
|
1210
|
-
<span class="cline-any cline-no"> </span>
|
|
1211
|
-
<span class="cline-any cline-no"> </span>
|
|
1212
|
-
<span class="cline-any cline-no"> </span>
|
|
1213
|
-
<span class="cline-any cline-no"> </span>
|
|
1214
|
-
<span class="cline-any cline-no"> </span>
|
|
1215
|
-
<span class="cline-any cline-no"> </span>
|
|
1216
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1217
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1218
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1219
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1220
|
-
<span class="cline-any cline-yes">1x</span></td><td class="text"><pre class="prettyprint lang-js">import { ConversationHandlerService } from 'src/chat21-core/providers/abstract/conversation-handler.service';
|
|
1221
|
-
import { TypingService } from 'src/chat21-core/providers/abstract/typing.service';
|
|
1222
|
-
import { TYPE_MSG_TEXT, TYPE_MSG_IMAGE, TYPE_MSG_FILE } from 'src/chat21-core/utils/constants';
|
|
1223
|
-
import { Globals } from 'src/app/utils/globals';
|
|
1224
|
-
import { Component, ElementRef, EventEmitter, Input, OnInit, Output, SimpleChanges, OnChanges, ViewChild } from '@angular/core';
|
|
1225
|
-
import { UploadModel } from 'src/chat21-core/models/upload';
|
|
1226
|
-
import { convertColorToRGBA } from 'src/chat21-core/utils/utils';
|
|
1227
|
-
import { UploadService } from 'src/chat21-core/providers/abstract/upload.service';
|
|
1228
|
-
import { LoggerService } from 'src/chat21-core/providers/abstract/logger.service';
|
|
1229
|
-
import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance';
|
|
1230
|
-
import { ChatManager } from 'src/chat21-core/providers/chat-manager';
|
|
1231
|
-
import { MessageModel } from 'src/chat21-core/models/message';
|
|
1232
|
-
|
|
1233
|
-
@Component({
|
|
1234
|
-
selector: 'chat-conversation-footer',
|
|
1235
|
-
templateUrl: './conversation-footer.component.html',
|
|
1236
|
-
styleUrls: ['./conversation-footer.component.scss']
|
|
1237
|
-
})
|
|
1238
|
-
export class ConversationFooterComponent implements OnInit, OnChanges {
|
|
1239
|
-
|
|
1240
|
-
@Input() conversationWith: string;
|
|
1241
|
-
@Input() attributes: string;
|
|
1242
|
-
@Input() senderId: string;
|
|
1243
|
-
@Input() tenant: string;
|
|
1244
|
-
@Input() projectid: string;
|
|
1245
|
-
@Input() channelType: string;
|
|
1246
|
-
@Input() userFullname: string;
|
|
1247
|
-
@Input() userEmail: string;
|
|
1248
|
-
@Input() showAttachmentButton: boolean;
|
|
1249
|
-
@Input() showContinueConversationButton: boolean;
|
|
1250
|
-
@Input() isConversationArchived: boolean;
|
|
1251
|
-
@Input() hideTextAreaContent: boolean;
|
|
1252
|
-
@Input() hideTextReply: boolean;
|
|
1253
|
-
@Input() isMobile: boolean;
|
|
1254
|
-
@Input() isEmojiiPickerShow: boolean;
|
|
1255
|
-
@Input() footerMessagePlaceholder: string;
|
|
1256
|
-
@Input() fileUploadAccept: string;
|
|
1257
|
-
@Input() stylesMap: Map<string, string>
|
|
1258
|
-
@Input() translationMap: Map< string, string>;
|
|
1259
|
-
@Output() onEmojiiPickerShow = new EventEmitter<boolean>();
|
|
1260
|
-
@Output() onBeforeMessageSent = new EventEmitter();
|
|
1261
|
-
@Output() onAfterSendMessage = new EventEmitter<MessageModel>();
|
|
1262
|
-
@Output() onChangeTextArea = new EventEmitter<any>();
|
|
1263
|
-
@Output() onAttachmentFileButtonClicked = new EventEmitter<any>();
|
|
1264
|
-
@Output() onNewConversationButtonClicked = new EventEmitter();
|
|
1265
|
-
@Output() onBackButton = new EventEmitter()
|
|
1266
|
-
|
|
1267
|
-
@ViewChild('chat21_file') public chat21_file: ElementRef;
|
|
1268
|
-
|
|
1269
|
-
// ========= begin:: send image ======= //
|
|
1270
|
-
selectedFiles: FileList;
|
|
1271
|
-
isFilePendingToUpload: Boolean = false;
|
|
1272
|
-
arrayFilesLoad: Array<any> = [];
|
|
1273
|
-
isFileSelected: Boolean = false;
|
|
1274
|
-
HEIGHT_DEFAULT = '20px';
|
|
1275
|
-
// ========= end:: send image ========= //
|
|
1276
|
-
|
|
1277
|
-
// isNewConversation = true;
|
|
1278
|
-
textInputTextArea: string;
|
|
1279
|
-
conversationHandlerService: ConversationHandlerService
|
|
1280
|
-
|
|
1281
|
-
showEmojiPicker: boolean = false; //To show/hide emoji picker
|
|
1282
|
-
emojiiOptions = {
|
|
1283
|
-
emojiPerLine : 9,
|
|
1284
|
-
totalFrequentLines: 1,
|
|
1285
|
-
showPreview: false,
|
|
1286
|
-
darkMode: false,
|
|
1287
|
-
enableSearch: false,
|
|
1288
|
-
include: [ 'recent', 'people', 'nature', 'activity']
|
|
1289
|
-
}
|
|
1290
|
-
|
|
1291
|
-
convertColorToRGBA = convertColorToRGBA;
|
|
1292
|
-
private logger: LoggerService = LoggerInstance.getInstance()
|
|
1293
|
-
constructor(public g: Globals,
|
|
1294
|
-
private chatManager: ChatManager,
|
|
1295
|
-
private typingService: TypingService,
|
|
1296
|
-
private uploadService: UploadService) { }
|
|
1297
|
-
|
|
1298
|
-
ngOnInit() {
|
|
1299
|
-
}
|
|
1300
|
-
|
|
1301
|
-
<span class="fstat-no" title="function not covered" > ngOnChanges(</span>changes: SimpleChanges){
|
|
1302
|
-
<span class="cstat-no" title="statement not covered" > if(changes['conversationWith'] && changes['conversationWith'].currentValue !== undefined){</span>
|
|
1303
|
-
<span class="cstat-no" title="statement not covered" > this.conversationHandlerService = this.chatManager.getConversationHandlerByConversationId(this.conversationWith);</span>
|
|
1304
|
-
}
|
|
1305
|
-
<span class="cstat-no" title="statement not covered" > if(changes['hideTextReply'] && changes['hideTextReply'].currentValue !== undefined){</span>
|
|
1306
|
-
<span class="cstat-no" title="statement not covered" > this.restoreTextArea();</span>
|
|
1307
|
-
}
|
|
1308
|
-
}
|
|
1309
|
-
|
|
1310
|
-
ngAfterViewInit() {
|
|
1311
|
-
this.logger.debug('[CONV-FOOTER] --------ngAfterViewInit: conversation-footer-------- ');
|
|
1312
|
-
// setTimeout(() => {
|
|
1313
|
-
this.showEmojiPicker = true
|
|
1314
|
-
// }, 500);
|
|
1315
|
-
}
|
|
1316
|
-
|
|
1317
|
-
// ========= begin:: functions send image ======= //
|
|
1318
|
-
// START LOAD IMAGE //
|
|
1319
|
-
/** load the selected image locally and open the pop up preview */
|
|
1320
|
-
<span class="fstat-no" title="function not covered" > detectFiles(</span>event) {
|
|
1321
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] detectFiles: ', event);</span>
|
|
1322
|
-
|
|
1323
|
-
<span class="cstat-no" title="statement not covered" > if (event) {</span>
|
|
1324
|
-
<span class="cstat-no" title="statement not covered" > this.selectedFiles = event.target.files;</span>
|
|
1325
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] AppComponent:detectFiles::selectedFiles', this.selectedFiles);</span>
|
|
1326
|
-
// this.onAttachmentButtonClicked.emit(this.selectedFiles)
|
|
1327
|
-
<span class="cstat-no" title="statement not covered" > if (this.selectedFiles == null) {</span>
|
|
1328
|
-
<span class="cstat-no" title="statement not covered" > this.isFilePendingToUpload = false;</span>
|
|
1329
|
-
} else {
|
|
1330
|
-
<span class="cstat-no" title="statement not covered" > this.isFilePendingToUpload = true;</span>
|
|
1331
|
-
}
|
|
1332
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] AppComponent:detectFiles::selectedFiles::isFilePendingToUpload', this.isFilePendingToUpload);</span>
|
|
1333
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] fileChange: ', event.target.files);</span>
|
|
1334
|
-
<span class="cstat-no" title="statement not covered" > if (event.target.files.length <= 0) {</span>
|
|
1335
|
-
<span class="cstat-no" title="statement not covered" > this.isFilePendingToUpload = false;</span>
|
|
1336
|
-
} else {
|
|
1337
|
-
<span class="cstat-no" title="statement not covered" > this.isFilePendingToUpload = true;</span>
|
|
1338
|
-
}
|
|
1339
|
-
|
|
1340
|
-
const that = <span class="cstat-no" title="statement not covered" >this;</span>
|
|
1341
|
-
<span class="cstat-no" title="statement not covered" > if (event.target.files && event.target.files[0]) {</span>
|
|
1342
|
-
const nameFile = <span class="cstat-no" title="statement not covered" >event.target.files[0].name;</span>
|
|
1343
|
-
const typeFile = <span class="cstat-no" title="statement not covered" >event.target.files[0].type;</span>
|
|
1344
|
-
const reader = <span class="cstat-no" title="statement not covered" >new FileReader();</span>
|
|
1345
|
-
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-FOOTER] OK preload: ', nameFile, typeFile, reader);</span>
|
|
1346
|
-
<span class="cstat-no" title="statement not covered" > reader.addEventListener('load', <span class="fstat-no" title="function not covered" >function () {</span></span>
|
|
1347
|
-
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-FOOTER] addEventListener load', reader.result);</span>
|
|
1348
|
-
<span class="cstat-no" title="statement not covered" > that.isFileSelected = true;</span>
|
|
1349
|
-
// se inizia con image
|
|
1350
|
-
<span class="cstat-no" title="statement not covered" > if (typeFile.startsWith('image') && !typeFile.includes('svg')) {</span>
|
|
1351
|
-
const imageXLoad = <span class="cstat-no" title="statement not covered" >new Image;</span>
|
|
1352
|
-
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-FOOTER] onload ', imageXLoad);</span>
|
|
1353
|
-
<span class="cstat-no" title="statement not covered" > imageXLoad.src = reader.result.toString();</span>
|
|
1354
|
-
<span class="cstat-no" title="statement not covered" > imageXLoad.title = nameFile;</span>
|
|
1355
|
-
<span class="cstat-no" title="statement not covered" > imageXLoad.onload = <span class="fstat-no" title="function not covered" >function () {</span></span>
|
|
1356
|
-
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-FOOTER] onload image');</span>
|
|
1357
|
-
// that.arrayFilesLoad.push(imageXLoad);
|
|
1358
|
-
const uid = <span class="cstat-no" title="statement not covered" >(new Date().getTime()).toString(36);</span> // imageXLoad.src.substring(imageXLoad.src.length - 16);
|
|
1359
|
-
<span class="cstat-no" title="statement not covered" > that.arrayFilesLoad[0] = { uid: uid, file: imageXLoad, type: typeFile };</span>
|
|
1360
|
-
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-FOOTER] OK: ', that.arrayFilesLoad[0]);</span>
|
|
1361
|
-
// SEND MESSAGE
|
|
1362
|
-
<span class="cstat-no" title="statement not covered" > that.loadFile();</span>
|
|
1363
|
-
};
|
|
1364
|
-
} else {
|
|
1365
|
-
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-FOOTER] onload file');</span>
|
|
1366
|
-
const fileXLoad = <span class="cstat-no" title="statement not covered" >{</span>
|
|
1367
|
-
src: reader.result.toString(),
|
|
1368
|
-
title: nameFile
|
|
1369
|
-
};
|
|
1370
|
-
// that.arrayFilesLoad.push(imageXLoad);
|
|
1371
|
-
const uid = <span class="cstat-no" title="statement not covered" >(new Date().getTime()).toString(36);</span> // imageXLoad.src.substring(imageXLoad.src.length - 16);
|
|
1372
|
-
<span class="cstat-no" title="statement not covered" > that.arrayFilesLoad[0] = { uid: uid, file: fileXLoad, type: typeFile };</span>
|
|
1373
|
-
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-FOOTER] OK: ', that.arrayFilesLoad[0]);</span>
|
|
1374
|
-
// SEND MESSAGE
|
|
1375
|
-
<span class="cstat-no" title="statement not covered" > that.loadFile();</span>
|
|
1376
|
-
}
|
|
1377
|
-
}, false);
|
|
1378
|
-
|
|
1379
|
-
<span class="cstat-no" title="statement not covered" > if (event.target.files[0]) {</span>
|
|
1380
|
-
<span class="cstat-no" title="statement not covered" > reader.readAsDataURL(event.target.files[0]);</span>
|
|
1381
|
-
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-FOOTER] reader-result: ', event.target.files[0]);</span>
|
|
1382
|
-
}
|
|
1383
|
-
}
|
|
1384
|
-
}
|
|
1385
|
-
}
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
<span class="fstat-no" title="function not covered" > loadFile(</span>) {
|
|
1389
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] that.fileXLoad: ', this.arrayFilesLoad);</span>
|
|
1390
|
-
// at the moment I only manage the upload of one image at a time
|
|
1391
|
-
<span class="cstat-no" title="statement not covered" > if (this.arrayFilesLoad[0] && this.arrayFilesLoad[0].file) {</span>
|
|
1392
|
-
const fileXLoad = <span class="cstat-no" title="statement not covered" >this.arrayFilesLoad[0].file;</span>
|
|
1393
|
-
const uid = <span class="cstat-no" title="statement not covered" >this.arrayFilesLoad[0].uid;</span>
|
|
1394
|
-
const type = <span class="cstat-no" title="statement not covered" >this.arrayFilesLoad[0].type;</span>
|
|
1395
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] that.fileXLoad: ', type);</span>
|
|
1396
|
-
let metadata<span class="cstat-no" title="statement not covered" >;</span>
|
|
1397
|
-
<span class="cstat-no" title="statement not covered" > if (type.startsWith('image') && !type.includes('svg')) {</span>
|
|
1398
|
-
<span class="cstat-no" title="statement not covered" > metadata = {</span>
|
|
1399
|
-
'name': fileXLoad.title,
|
|
1400
|
-
'src': fileXLoad.src,
|
|
1401
|
-
'width': fileXLoad.width,
|
|
1402
|
-
'height': fileXLoad.height,
|
|
1403
|
-
'type': type,
|
|
1404
|
-
'uid': uid
|
|
1405
|
-
};
|
|
1406
|
-
} else {
|
|
1407
|
-
<span class="cstat-no" title="statement not covered" > metadata = {</span>
|
|
1408
|
-
'name': fileXLoad.title,
|
|
1409
|
-
'src': fileXLoad.src,
|
|
1410
|
-
'type': type,
|
|
1411
|
-
'uid': uid
|
|
1412
|
-
};
|
|
1413
|
-
}
|
|
1414
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] metadata -------> ', metadata);</span>
|
|
1415
|
-
// this.scrollToBottom();
|
|
1416
|
-
// 1 - aggiungo messaggio localmente
|
|
1417
|
-
// this.addLocalMessageImage(metadata);
|
|
1418
|
-
// 2 - carico immagine
|
|
1419
|
-
const file = <span class="cstat-no" title="statement not covered" >this.selectedFiles.item(0);</span>
|
|
1420
|
-
<span class="cstat-no" title="statement not covered" > this.onAttachmentFileButtonClicked.emit({attachments: [{metadata, file}], message: this.textInputTextArea}) /</span>/GABBBBBBBB
|
|
1421
|
-
<span class="cstat-no" title="statement not covered" > this.restoreTextArea();</span>
|
|
1422
|
-
<span class="cstat-no" title="statement not covered" > this.chat21_file.nativeElement.value = ''; </span>//BUG-FIXED: allow you to re-load the same previous file
|
|
1423
|
-
// this.uploadSingle(metadata, file);
|
|
1424
|
-
// this.isSelected = false;
|
|
1425
|
-
}
|
|
1426
|
-
}
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
<span class="fstat-no" title="function not covered" > uploadSingle(</span>metadata, file, messageText?: string) {
|
|
1430
|
-
const that = <span class="cstat-no" title="statement not covered" >this;</span>
|
|
1431
|
-
const send_order_btn = <HTMLInputElement><span class="cstat-no" title="statement not covered" >document.getElementById('chat21-start-upload-doc');</span>
|
|
1432
|
-
<span class="cstat-no" title="statement not covered" > send_order_btn.disabled = true;</span>
|
|
1433
|
-
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-FOOTER] AppComponent::uploadSingle::', metadata, file);</span>
|
|
1434
|
-
// const file = this.selectedFiles.item(0);
|
|
1435
|
-
const currentUpload = <span class="cstat-no" title="statement not covered" >new UploadModel(file);</span>
|
|
1436
|
-
|
|
1437
|
-
// const uploadTask = this.upSvc.pushUpload(currentUpload);
|
|
1438
|
-
// uploadTask.then(snapshot => {
|
|
1439
|
-
// return snapshot.ref.getDownloadURL(); // Will return a promise with the download link
|
|
1440
|
-
// }).then(downloadURL => {
|
|
1441
|
-
// that.logger.debug('[CONV-FOOTER] AppComponent::uploadSingle:: downloadURL', downloadURL]);
|
|
1442
|
-
// that.g.wdLog([`Successfully uploaded file and got download link - ${downloadURL}`]);
|
|
1443
|
-
|
|
1444
|
-
// metadata.src = downloadURL;
|
|
1445
|
-
// let type_message = TYPE_MSG_TEXT;
|
|
1446
|
-
// let message = 'File: ' + metadata.src;
|
|
1447
|
-
// if (metadata.type.startsWith('image')) {
|
|
1448
|
-
// type_message = TYPE_MSG_IMAGE;
|
|
1449
|
-
// message = ''; // 'Image: ' + metadata.src;
|
|
1450
|
-
// }
|
|
1451
|
-
// that.sendMessage(message, type_message, metadata);
|
|
1452
|
-
// that.isFilePendingToUpload = false;
|
|
1453
|
-
// // return downloadURL;
|
|
1454
|
-
// }).catch(error => {
|
|
1455
|
-
// // Use to signal error if something goes wrong.
|
|
1456
|
-
// console.error(`AppComponent::uploadSingle:: Failed to upload file and get link - ${error}`);
|
|
1457
|
-
// });
|
|
1458
|
-
// this.resetLoadImage();
|
|
1459
|
-
|
|
1460
|
-
<span class="cstat-no" title="statement not covered" > this.uploadService.upload(this.senderId, currentUpload).then(<span class="fstat-no" title="function not covered" >downloadURL </span>=> {</span>
|
|
1461
|
-
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-FOOTER] AppComponent::uploadSingle:: downloadURL', downloadURL);</span>
|
|
1462
|
-
<span class="cstat-no" title="statement not covered" > that.logger.debug(`[CONV-FOOTER] Successfully uploaded file and got download link - ${downloadURL}`);</span>
|
|
1463
|
-
|
|
1464
|
-
<span class="cstat-no" title="statement not covered" > metadata.src = downloadURL;</span>
|
|
1465
|
-
let type_message = <span class="cstat-no" title="statement not covered" >TYPE_MSG_TEXT;</span>
|
|
1466
|
-
// let message = 'File: ' + metadata.src;
|
|
1467
|
-
let message = <span class="cstat-no" title="statement not covered" >`[${metadata.name}](${metadata.src})`</span>
|
|
1468
|
-
<span class="cstat-no" title="statement not covered" > if (metadata.type.startsWith('image') && !metadata.type.includes('svg')) {</span>
|
|
1469
|
-
<span class="cstat-no" title="statement not covered" > type_message = TYPE_MSG_IMAGE;</span>
|
|
1470
|
-
// message = '';
|
|
1471
|
-
<span class="cstat-no" title="statement not covered" > message = messageText </span>
|
|
1472
|
-
} else <span class="cstat-no" title="statement not covered" >if ((metadata.type.startsWith('image') && metadata.type.includes('svg')) || !metadata.type.startsWith('image')){</span>
|
|
1473
|
-
<span class="cstat-no" title="statement not covered" > type_message = TYPE_MSG_FILE</span>
|
|
1474
|
-
// type_message = metadata.type
|
|
1475
|
-
<span class="cstat-no" title="statement not covered" > message = message + '\n' + messageText</span>
|
|
1476
|
-
} else <span class="cstat-no" title="statement not covered" >if (!metadata.type.startsWith('image')){</span>
|
|
1477
|
-
<span class="cstat-no" title="statement not covered" > type_message = TYPE_MSG_FILE</span>
|
|
1478
|
-
// type_message = metadata.type
|
|
1479
|
-
<span class="cstat-no" title="statement not covered" > message = message + '\n' + messageText</span>
|
|
1480
|
-
}
|
|
1481
|
-
<span class="cstat-no" title="statement not covered" > that.sendMessage(message, type_message, metadata);</span>
|
|
1482
|
-
<span class="cstat-no" title="statement not covered" > that.chat21_file.nativeElement.value = ''; </span>//BUG-FIXED: allow you to re-load the same previous file
|
|
1483
|
-
<span class="cstat-no" title="statement not covered" > that.isFilePendingToUpload = false;</span>
|
|
1484
|
-
// return downloadURL;
|
|
1485
|
-
}).catch(<span class="fstat-no" title="function not covered" >error </span>=> {
|
|
1486
|
-
// Use to signal error if something goes wrong.
|
|
1487
|
-
<span class="cstat-no" title="statement not covered" > that.logger.error(`[CONV-FOOTER] uploadSingle:: Failed to upload file and get link - ${error}`);</span>
|
|
1488
|
-
<span class="cstat-no" title="statement not covered" > that.isFilePendingToUpload = false;</span>
|
|
1489
|
-
});
|
|
1490
|
-
<span class="cstat-no" title="statement not covered" > that.logger.debug('[CONV-FOOTER] reader-result: ', file);</span>
|
|
1491
|
-
}
|
|
1492
|
-
|
|
1493
|
-
/**
|
|
1494
|
-
* sending message
|
|
1495
|
-
* @param msg
|
|
1496
|
-
* @param type
|
|
1497
|
-
* @param metadata
|
|
1498
|
-
* @param additional_attributes
|
|
1499
|
-
*/
|
|
1500
|
-
<span class="fstat-no" title="function not covered" > sendMessage(</span>msg: string, type: string, metadata?: any, additional_attributes?: any) { // sponziello
|
|
1501
|
-
<span class="cstat-no" title="statement not covered" > (metadata) ? metadata = metadata : metadata = '';</span>
|
|
1502
|
-
<span class="cstat-no" title="statement not covered" > this.onEmojiiPickerShow.emit(false)</span>
|
|
1503
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] SEND MESSAGE: ', msg, type, metadata, additional_attributes);</span>
|
|
1504
|
-
<span class="cstat-no" title="statement not covered" > if (msg && msg.trim() !== '' || type === TYPE_MSG_IMAGE || type === TYPE_MSG_FILE ) {</span>
|
|
1505
|
-
|
|
1506
|
-
// msg = htmlEntities(msg);
|
|
1507
|
-
// msg = replaceEndOfLine(msg);
|
|
1508
|
-
// msg = msg.trim();
|
|
1509
|
-
|
|
1510
|
-
let recipientFullname = <span class="cstat-no" title="statement not covered" >this.translationMap.get('GUEST_LABEL');</span>
|
|
1511
|
-
// sponziello: adds ADDITIONAL ATTRIBUTES TO THE MESSAGE
|
|
1512
|
-
const g_attributes = <span class="cstat-no" title="statement not covered" >this.attributes;</span>
|
|
1513
|
-
// added <any> to resolve the Error occurred during the npm installation: Property 'userFullname' does not exist on type '{}'
|
|
1514
|
-
const attributes = <any><span class="cstat-no" title="statement not covered" >{};</span>
|
|
1515
|
-
<span class="cstat-no" title="statement not covered" > if (g_attributes) {</span>
|
|
1516
|
-
<span class="cstat-no" title="statement not covered" > for (const <span class="cstat-no" title="statement not covered" >[k</span>ey<span class="cstat-no" title="statement not covered" >, v</span>alue<span class="cstat-no" title="statement not covered" >] </span>of <span class="cstat-no" title="statement not covered" >Object.entries(g_attributes)<span class="cstat-no" title="statement not covered" >) {</span></span></span>
|
|
1517
|
-
<span class="cstat-no" title="statement not covered" > attributes[key] = value;</span>
|
|
1518
|
-
}
|
|
1519
|
-
}
|
|
1520
|
-
<span class="cstat-no" title="statement not covered" > if (additional_attributes) {</span>
|
|
1521
|
-
<span class="cstat-no" title="statement not covered" > for (const <span class="cstat-no" title="statement not covered" >[k</span>ey<span class="cstat-no" title="statement not covered" >, v</span>alue<span class="cstat-no" title="statement not covered" >] </span>of <span class="cstat-no" title="statement not covered" >Object.entries(additional_attributes)<span class="cstat-no" title="statement not covered" >) {</span></span></span>
|
|
1522
|
-
<span class="cstat-no" title="statement not covered" > attributes[key] = value;</span>
|
|
1523
|
-
}
|
|
1524
|
-
}
|
|
1525
|
-
// fine-sponziello
|
|
1526
|
-
// this.conversationHandlerService = this.chatManager.getConversationHandlerByConversationId(this.conversationWith)
|
|
1527
|
-
const senderId = <span class="cstat-no" title="statement not covered" >this.senderId;</span>
|
|
1528
|
-
const projectid = <span class="cstat-no" title="statement not covered" >this.projectid;</span>
|
|
1529
|
-
const channelType = <span class="cstat-no" title="statement not covered" >this.channelType;</span>
|
|
1530
|
-
const userFullname = <span class="cstat-no" title="statement not covered" >this.userFullname;</span>
|
|
1531
|
-
const userEmail = <span class="cstat-no" title="statement not covered" >this.userEmail;</span>
|
|
1532
|
-
const conversationWith = <span class="cstat-no" title="statement not covered" >this.conversationWith;</span>
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
<span class="cstat-no" title="statement not covered" > if (userFullname) {</span>
|
|
1536
|
-
<span class="cstat-no" title="statement not covered" > recipientFullname = userFullname;</span>
|
|
1537
|
-
} else <span class="cstat-no" title="statement not covered" >if (userEmail) {</span>
|
|
1538
|
-
<span class="cstat-no" title="statement not covered" > recipientFullname = userEmail;</span>
|
|
1539
|
-
} else <span class="cstat-no" title="statement not covered" >if (attributes && attributes['userFullname']) {</span>
|
|
1540
|
-
<span class="cstat-no" title="statement not covered" > recipientFullname = attributes['userFullname'];</span>
|
|
1541
|
-
} else {
|
|
1542
|
-
<span class="cstat-no" title="statement not covered" > recipientFullname = this.translationMap.get('GUEST_LABEL');</span>
|
|
1543
|
-
}
|
|
1544
|
-
|
|
1545
|
-
<span class="cstat-no" title="statement not covered" > this.onBeforeMessageSent.emit({</span>
|
|
1546
|
-
senderFullname: recipientFullname,
|
|
1547
|
-
text: msg,
|
|
1548
|
-
type: type,
|
|
1549
|
-
metadata: metadata,
|
|
1550
|
-
conversationWith: conversationWith,
|
|
1551
|
-
recipientFullname: recipientFullname,
|
|
1552
|
-
attributes : attributes,
|
|
1553
|
-
projectid: projectid,
|
|
1554
|
-
channelType: channelType
|
|
1555
|
-
})
|
|
1556
|
-
|
|
1557
|
-
const messageSent = <span class="cstat-no" title="statement not covered" >this.conversationHandlerService.sendMessage(</span>
|
|
1558
|
-
msg,
|
|
1559
|
-
type,
|
|
1560
|
-
metadata,
|
|
1561
|
-
conversationWith,
|
|
1562
|
-
recipientFullname,
|
|
1563
|
-
senderId,
|
|
1564
|
-
recipientFullname,
|
|
1565
|
-
channelType ,
|
|
1566
|
-
attributes
|
|
1567
|
-
);
|
|
1568
|
-
|
|
1569
|
-
<span class="cstat-no" title="statement not covered" > this.onAfterSendMessage.emit(messageSent)</span>
|
|
1570
|
-
// this.isNewConversation = false;
|
|
1571
|
-
|
|
1572
|
-
//TODO-GAB: da rivedere
|
|
1573
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1574
|
-
const target = <span class="cstat-no" title="statement not covered" >document.getElementById('chat21-main-message-context') as HTMLInputElement;</span>
|
|
1575
|
-
<span class="cstat-no" title="statement not covered" > target.value = '';</span>
|
|
1576
|
-
<span class="cstat-no" title="statement not covered" > target.style.height = this.HEIGHT_DEFAULT;</span>
|
|
1577
|
-
// console.log('target.style.height: ', target.style.height);
|
|
1578
|
-
} catch (e) {
|
|
1579
|
-
<span class="cstat-no" title="statement not covered" > this.logger.error('[CONV-FOOTER] > Error :' + e);</span>
|
|
1580
|
-
}
|
|
1581
|
-
<span class="cstat-no" title="statement not covered" > this.restoreTextArea();</span>
|
|
1582
|
-
}
|
|
1583
|
-
}
|
|
1584
|
-
|
|
1585
|
-
<span class="fstat-no" title="function not covered" > private r</span>estoreTextArea() {
|
|
1586
|
-
// that.logger.debug('[CONV-FOOTER] AppComponent:restoreTextArea::restoreTextArea');
|
|
1587
|
-
<span class="cstat-no" title="statement not covered" > this.resizeInputField();</span>
|
|
1588
|
-
const textArea = (<HTMLInputElement><span class="cstat-no" title="statement not covered" >document.getElementById('chat21-main-message-context'));</span>
|
|
1589
|
-
<span class="cstat-no" title="statement not covered" > this.textInputTextArea = ''; </span>// clear the textarea
|
|
1590
|
-
<span class="cstat-no" title="statement not covered" > if (textArea) {</span>
|
|
1591
|
-
<span class="cstat-no" title="statement not covered" > textArea.value = ''; </span> // clear the textarea
|
|
1592
|
-
<span class="cstat-no" title="statement not covered" > textArea.placeholder = this.translationMap.get('LABEL_PLACEHOLDER'); </span> // restore the placholder
|
|
1593
|
-
<span class="cstat-no" title="statement not covered" > if(textArea.style.height > this.HEIGHT_DEFAULT){</span>
|
|
1594
|
-
<span class="cstat-no" title="statement not covered" > document.getElementById('chat21-button-send').style.removeProperty('right')</span>
|
|
1595
|
-
}
|
|
1596
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] AppComponent:restoreTextArea::restoreTextArea::textArea:', 'restored');</span>
|
|
1597
|
-
}
|
|
1598
|
-
<span class="cstat-no" title="statement not covered" > this.setFocusOnId('chat21-main-message-context');</span>
|
|
1599
|
-
}
|
|
1600
|
-
|
|
1601
|
-
/**
|
|
1602
|
-
* resize the textarea
|
|
1603
|
-
* called whenever the content of the textarea changes
|
|
1604
|
-
* set 'typing' state
|
|
1605
|
-
*/
|
|
1606
|
-
<span class="fstat-no" title="function not covered" > resizeInputField(</span>) {
|
|
1607
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1608
|
-
const target = <span class="cstat-no" title="statement not covered" >document.getElementById('chat21-main-message-context') as HTMLInputElement;</span>
|
|
1609
|
-
// tslint:disable-next-line:max-line-length
|
|
1610
|
-
// that.logger.debug('[CONV-FOOTER] H:: this.textInputTextArea', (document.getElementById('chat21-main-message-context') as HTMLInputElement).value , target.style.height, target.scrollHeight, target.offsetHeight, target.clientHeight);
|
|
1611
|
-
<span class="cstat-no" title="statement not covered" > target? target.style.height = '100%': null;</span>
|
|
1612
|
-
<span class="cstat-no" title="statement not covered" > if (target && target.value === '\n') {</span>
|
|
1613
|
-
<span class="cstat-no" title="statement not covered" > target.value = '';</span>
|
|
1614
|
-
<span class="cstat-no" title="statement not covered" > target.style.height = this.HEIGHT_DEFAULT;</span>
|
|
1615
|
-
} else <span class="cstat-no" title="statement not covered" >if (target && target.scrollHeight > target.offsetHeight) {</span>
|
|
1616
|
-
<span class="cstat-no" title="statement not covered" > target.style.height = target.scrollHeight + 2 + 'px';</span>
|
|
1617
|
-
<span class="cstat-no" title="statement not covered" > target.style.minHeight = this.HEIGHT_DEFAULT;</span>
|
|
1618
|
-
} else <span class="cstat-no" title="statement not covered" >if (target) {</span>
|
|
1619
|
-
<span class="cstat-no" title="statement not covered" > target.style.height = this.HEIGHT_DEFAULT;</span>
|
|
1620
|
-
// segno sto scrivendo
|
|
1621
|
-
// target.offsetHeight - 15 + 'px';
|
|
1622
|
-
}
|
|
1623
|
-
//this.setWritingMessages(target.value);
|
|
1624
|
-
<span class="cstat-no" title="statement not covered" > this.onChangeTextArea.emit({textAreaEl: target, minHeightDefault: this.HEIGHT_DEFAULT})</span>
|
|
1625
|
-
} catch (e) {
|
|
1626
|
-
<span class="cstat-no" title="statement not covered" > this.logger.error('[CONV-FOOTER] > Error :' + e);</span>
|
|
1627
|
-
}
|
|
1628
|
-
}
|
|
1629
|
-
|
|
1630
|
-
<span class="fstat-no" title="function not covered" > onTextAreaChange(</span>){
|
|
1631
|
-
<span class="cstat-no" title="statement not covered" > this.resizeInputField()</span>
|
|
1632
|
-
<span class="cstat-no" title="statement not covered" > this.setWritingMessages(this.textInputTextArea)</span>
|
|
1633
|
-
}
|
|
1634
|
-
|
|
1635
|
-
<span class="fstat-no" title="function not covered" > onSendPressed(</span>event) {
|
|
1636
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] onSendPressed:event', event);</span>
|
|
1637
|
-
<span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
|
|
1638
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] AppComponent::onSendPressed::isFilePendingToUpload:', this.isFilePendingToUpload);</span>
|
|
1639
|
-
<span class="cstat-no" title="statement not covered" > if (this.isFilePendingToUpload) {</span>
|
|
1640
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] AppComponent::onSendPressed', 'is a file');</span>
|
|
1641
|
-
// its a file
|
|
1642
|
-
<span class="cstat-no" title="statement not covered" > this.loadFile();</span>
|
|
1643
|
-
<span class="cstat-no" title="statement not covered" > this.isFilePendingToUpload = false;</span>
|
|
1644
|
-
// disabilito pulsanti
|
|
1645
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] AppComponent::onSendPressed::isFilePendingToUpload:', this.isFilePendingToUpload);</span>
|
|
1646
|
-
} else {
|
|
1647
|
-
<span class="cstat-no" title="statement not covered" > if ( this.textInputTextArea && this.textInputTextArea.length > 0 ) {</span>
|
|
1648
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] AppComponent::onSendPressed', 'is a message');</span>
|
|
1649
|
-
// its a message
|
|
1650
|
-
<span class="cstat-no" title="statement not covered" > if (this.textInputTextArea.trim() !== '') {</span>
|
|
1651
|
-
// that.logger.debug('[CONV-FOOTER] sendMessage -> ', this.textInputTextArea);
|
|
1652
|
-
// this.resizeInputField();
|
|
1653
|
-
// this.messagingService.sendMessage(msg, TYPE_MSG_TEXT);
|
|
1654
|
-
// this.setDepartment();
|
|
1655
|
-
// this.textInputTextArea = replaceBr(this.textInputTextArea);
|
|
1656
|
-
<span class="cstat-no" title="statement not covered" > this.sendMessage(this.textInputTextArea, TYPE_MSG_TEXT);</span>
|
|
1657
|
-
// this.restoreTextArea();
|
|
1658
|
-
}
|
|
1659
|
-
// restore the text area
|
|
1660
|
-
// this.restoreTextArea();
|
|
1661
|
-
}
|
|
1662
|
-
}
|
|
1663
|
-
}
|
|
1664
|
-
|
|
1665
|
-
<span class="fstat-no" title="function not covered" > onEmojiiPickerClicked(</span>){
|
|
1666
|
-
//OPEN EMOJII PICKER
|
|
1667
|
-
<span class="cstat-no" title="statement not covered" > this.onEmojiiPickerShow.emit(!this.isEmojiiPickerShow)</span>
|
|
1668
|
-
}
|
|
1669
|
-
|
|
1670
|
-
<span class="fstat-no" title="function not covered" > addEmoji(</span>event){
|
|
1671
|
-
<span class="cstat-no" title="statement not covered" > this.onEmojiiPickerShow.emit(false); </span>//de-activate emojii picker on select
|
|
1672
|
-
<span class="cstat-no" title="statement not covered" > this.textInputTextArea = this.textInputTextArea.trimStart() + event.emoji.native + " "</span>
|
|
1673
|
-
<span class="cstat-no" title="statement not covered" > this.setFocusOnId('chat21-main-message-context')</span>
|
|
1674
|
-
}
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
<span class="fstat-no" title="function not covered" > openNewConversation(</span>){
|
|
1678
|
-
<span class="cstat-no" title="statement not covered" > this.onNewConversationButtonClicked.emit();</span>
|
|
1679
|
-
}
|
|
1680
|
-
|
|
1681
|
-
<span class="fstat-no" title="function not covered" > onContinueConversation(</span>){
|
|
1682
|
-
<span class="cstat-no" title="statement not covered" > this.hideTextAreaContent = false;</span>
|
|
1683
|
-
<span class="cstat-no" title="statement not covered" > this.onBackButton.emit(false)</span>
|
|
1684
|
-
<span class="cstat-no" title="statement not covered" > this.restoreTextArea()</span>
|
|
1685
|
-
}
|
|
1686
|
-
|
|
1687
|
-
<span class="fstat-no" title="function not covered" > onBackButtonFN(</span>){
|
|
1688
|
-
<span class="cstat-no" title="statement not covered" > this.onBackButton.emit(false)</span>
|
|
1689
|
-
}
|
|
1690
|
-
|
|
1691
|
-
<span class="fstat-no" title="function not covered" > setFocusOnId(</span>id) {
|
|
1692
|
-
<span class="cstat-no" title="statement not covered" > if(!this.isMobile){</span>
|
|
1693
|
-
<span class="cstat-no" title="statement not covered" > setTimeout(<span class="fstat-no" title="function not covered" >function () {</span></span>
|
|
1694
|
-
const textarea = <span class="cstat-no" title="statement not covered" >document.getElementById(id);</span>
|
|
1695
|
-
<span class="cstat-no" title="statement not covered" > if (textarea) {</span>
|
|
1696
|
-
// that.logger.debug('[CONV-FOOTER] 1--------> FOCUSSSSSS : ', textarea);
|
|
1697
|
-
<span class="cstat-no" title="statement not covered" > textarea.setAttribute('value', ' ');</span>
|
|
1698
|
-
<span class="cstat-no" title="statement not covered" > textarea.focus();</span>
|
|
1699
|
-
}
|
|
1700
|
-
}, 500);
|
|
1701
|
-
}
|
|
1702
|
-
|
|
1703
|
-
}
|
|
1704
|
-
|
|
1705
|
-
<span class="fstat-no" title="function not covered" > removeFocusOnId(</span>id){
|
|
1706
|
-
const textarea = <span class="cstat-no" title="statement not covered" >document.getElementById(id);</span>
|
|
1707
|
-
<span class="cstat-no" title="statement not covered" > if (textarea) {</span>
|
|
1708
|
-
<span class="cstat-no" title="statement not covered" > textarea.blur()</span>
|
|
1709
|
-
}
|
|
1710
|
-
}
|
|
1711
|
-
|
|
1712
|
-
/**
|
|
1713
|
-
*
|
|
1714
|
-
* @param str
|
|
1715
|
-
*/
|
|
1716
|
-
<span class="fstat-no" title="function not covered" > setWritingMessages(</span>str) {
|
|
1717
|
-
//this.messagingService.setWritingMessages(str, this.g.channelType);
|
|
1718
|
-
<span class="cstat-no" title="statement not covered" > this.typingService.setTyping(this.conversationWith, str, this.senderId, this.userFullname )</span>
|
|
1719
|
-
}
|
|
1720
|
-
|
|
1721
|
-
/**
|
|
1722
|
-
* when I press a key I call this method which:
|
|
1723
|
-
* check if 'enter' has been pressed
|
|
1724
|
-
* if you clear text
|
|
1725
|
-
* set field height as min by default
|
|
1726
|
-
* takes out the focus and resets it after a few moments
|
|
1727
|
-
* (this is a patch to keep the focus and eliminate the br of the send !!!)
|
|
1728
|
-
* send message
|
|
1729
|
-
* @param event
|
|
1730
|
-
*/
|
|
1731
|
-
<span class="fstat-no" title="function not covered" > onkeypress(</span>event) {
|
|
1732
|
-
const keyCode = <span class="cstat-no" title="statement not covered" >event.which || event.keyCode;</span>
|
|
1733
|
-
// console.log('keycode', keyCode)
|
|
1734
|
-
<span class="cstat-no" title="statement not covered" > this.textInputTextArea = ((document.getElementById('chat21-main-message-context') as HTMLInputElement).value);</span>
|
|
1735
|
-
<span class="cstat-no" title="statement not covered" > if (keyCode === 13) { // ENTER pressed</span>
|
|
1736
|
-
<span class="cstat-no" title="statement not covered" > if (this.textInputTextArea && this.textInputTextArea.trim() !== '') {</span>
|
|
1737
|
-
// that.logger.debug('[CONV-FOOTER] sendMessage -> ', this.textInputTextArea);
|
|
1738
|
-
// this.resizeInputField();
|
|
1739
|
-
// this.messagingService.sendMessage(msg, TYPE_MSG_TEXT);
|
|
1740
|
-
// this.setDepartment();
|
|
1741
|
-
// this.textInputTextArea = replaceBr(this.textInputTextArea);
|
|
1742
|
-
<span class="cstat-no" title="statement not covered" > this.sendMessage(this.textInputTextArea, TYPE_MSG_TEXT);</span>
|
|
1743
|
-
// this.restoreTextArea();
|
|
1744
|
-
}
|
|
1745
|
-
} else <span class="cstat-no" title="statement not covered" >if (keyCode === 9) { // TAB pressed</span>
|
|
1746
|
-
<span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
|
|
1747
|
-
}
|
|
1748
|
-
}
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
/**
|
|
1752
|
-
* HANDLE: cmd+enter, shiftKey+enter, alt+enter, ctrl+enter
|
|
1753
|
-
* @param event
|
|
1754
|
-
*/
|
|
1755
|
-
<span class="fstat-no" title="function not covered" > onkeydown(</span>event){
|
|
1756
|
-
const keyCode = <span class="cstat-no" title="statement not covered" >event.which || event.keyCode;</span>
|
|
1757
|
-
// metaKey -> COMMAND , shiftKey -> SHIFT, altKey -> ALT, ctrlKey -> CONTROL
|
|
1758
|
-
<span class="cstat-no" title="statement not covered" > if( (event.metaKey || event.shiftKey || event.altKey || event.ctrlKey) && keyCode===13){ </span>
|
|
1759
|
-
<span class="cstat-no" title="statement not covered" > event.preventDefault();</span>
|
|
1760
|
-
<span class="cstat-no" title="statement not covered" > this.textInputTextArea += '\r\n';</span>
|
|
1761
|
-
<span class="cstat-no" title="statement not covered" > this.resizeInputField();</span>
|
|
1762
|
-
}
|
|
1763
|
-
}
|
|
1764
|
-
|
|
1765
|
-
<span class="fstat-no" title="function not covered" > onPaste(</span>event){
|
|
1766
|
-
<span class="cstat-no" title="statement not covered" > this.resizeInputField()</span>
|
|
1767
|
-
const items = <span class="cstat-no" title="statement not covered" >(event.clipboardData || event.originalEvent.clipboardData).items;</span>
|
|
1768
|
-
let file = <span class="cstat-no" title="statement not covered" >null;</span>
|
|
1769
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] onPaste items ', items);</span>
|
|
1770
|
-
<span class="cstat-no" title="statement not covered" > for (const item<span class="cstat-no" title="statement not covered" > of <span class="cstat-no" title="statement not covered" >i</span>tems<span class="cstat-no" title="statement not covered" >) {</span></span></span>
|
|
1771
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] onPaste item ', item);</span>
|
|
1772
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] onPaste item.type ', item.type);</span>
|
|
1773
|
-
<span class="cstat-no" title="statement not covered" > if (item.type.startsWith("image")) {</span>
|
|
1774
|
-
// SEND TEXT MESSAGE IF EXIST
|
|
1775
|
-
// if(this.textInputTextArea){
|
|
1776
|
-
// this.logger.debug('[CONV-FOOTER] onPaste texttt ', this.textInputTextArea);
|
|
1777
|
-
// this.sendMessage(this.textInputTextArea, TYPE_MSG_TEXT)
|
|
1778
|
-
// }
|
|
1779
|
-
|
|
1780
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1781
|
-
<span class="cstat-no" title="statement not covered" > this.restoreTextArea();</span>
|
|
1782
|
-
} catch(e) {
|
|
1783
|
-
<span class="cstat-no" title="statement not covered" > this.logger.error('[CONV-FOOTER] onPaste - error while restoring textArea:',e)</span>
|
|
1784
|
-
}
|
|
1785
|
-
|
|
1786
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] onPaste item.type', item.type);</span>
|
|
1787
|
-
<span class="cstat-no" title="statement not covered" > file = item.getAsFile();</span>
|
|
1788
|
-
const data = <span class="cstat-no" title="statement not covered" >{target: new ClipboardEvent('').clipboardData || new DataTransfer()};</span>
|
|
1789
|
-
<span class="cstat-no" title="statement not covered" > data.target.items.add(new File([file], file.name, { type: file.type }));</span>
|
|
1790
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] onPaste data', data);</span>
|
|
1791
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug('[CONV-FOOTER] onPaste file ', file);</span>
|
|
1792
|
-
<span class="cstat-no" title="statement not covered" > this.detectFiles(data)</span>
|
|
1793
|
-
}
|
|
1794
|
-
}
|
|
1795
|
-
}
|
|
1796
|
-
|
|
1797
|
-
}</pre></td></tr></table></pre>
|
|
1798
|
-
|
|
1799
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
1800
|
-
</div><!-- /wrapper -->
|
|
1801
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
1802
|
-
Code coverage generated by
|
|
1803
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1804
|
-
at Tue Nov 29 2022 09:13:07 GMT+0100 (Ora standard dell’Europa centrale)
|
|
1805
|
-
</div>
|
|
1806
|
-
<script src="../../../../../prettify.js"></script>
|
|
1807
|
-
<script>
|
|
1808
|
-
window.onload = function () {
|
|
1809
|
-
prettyPrint();
|
|
1810
|
-
};
|
|
1811
|
-
</script>
|
|
1812
|
-
<script src="../../../../../sorter.js"></script>
|
|
1813
|
-
<script src="../../../../../block-navigation.js"></script>
|
|
1814
|
-
</body>
|
|
1815
|
-
</html>
|
|
1816
|
-
|