loggable_activity 0.1.39 → 0.1.42

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/.document +1 -0
  3. data/.nojekyll +1 -0
  4. data/.rubocop.yml +1 -1
  5. data/doc/.nojekyll +1 -0
  6. data/doc/CHANGELOG_md.html +125 -0
  7. data/doc/CODE_OF_CONDUCT_md.html +220 -0
  8. data/doc/CONSIDERTIONS_md.html +227 -0
  9. data/doc/CreateLoggableActivities.html +144 -0
  10. data/doc/CreateLoggableEncryptionKeys.html +140 -0
  11. data/doc/CreateLoggablePayloads.html +144 -0
  12. data/doc/GETTING-STARTED_md.html +186 -0
  13. data/doc/Gemfile.html +104 -0
  14. data/doc/Gemfile_lock.html +152 -0
  15. data/doc/LICENSE_txt.html +104 -0
  16. data/doc/LoggableActivity/CurrentUser.html +99 -0
  17. data/doc/LoggableActivity/Generators/InstallGenerator.html +178 -0
  18. data/doc/LoggableActivity/Generators.html +91 -0
  19. data/doc/README_md.html +138 -0
  20. data/doc/ROADMAP_md.html +151 -0
  21. data/doc/Rakefile.html +102 -0
  22. data/doc/bin/setup.html +100 -0
  23. data/doc/notes/CHEAT_SHEET_md.html +130 -0
  24. data/doc/sig/loggable_activity_rbs.html +101 -0
  25. data/docs/LoggableActivity/Activity.html +494 -0
  26. data/docs/LoggableActivity/Configuration.html +183 -0
  27. data/docs/LoggableActivity/Encryption.html +220 -0
  28. data/docs/LoggableActivity/EncryptionError.html +99 -0
  29. data/docs/LoggableActivity/EncryptionKey.html +327 -0
  30. data/docs/LoggableActivity/Error.html +97 -0
  31. data/docs/LoggableActivity/Hooks.html +172 -0
  32. data/docs/LoggableActivity/Payload.html +159 -0
  33. data/docs/LoggableActivity/PayloadsBuilder.html +154 -0
  34. data/docs/LoggableActivity/UpdatePayloadsBuilder.html +199 -0
  35. data/docs/LoggableActivity.html +100 -0
  36. data/docs/created.rid +10 -0
  37. data/docs/css/fonts.css +167 -0
  38. data/docs/css/rdoc.css +687 -0
  39. data/docs/fonts/Lato-Light.ttf +0 -0
  40. data/docs/fonts/Lato-LightItalic.ttf +0 -0
  41. data/docs/fonts/Lato-Regular.ttf +0 -0
  42. data/docs/fonts/Lato-RegularItalic.ttf +0 -0
  43. data/docs/fonts/SourceCodePro-Bold.ttf +0 -0
  44. data/docs/fonts/SourceCodePro-Regular.ttf +0 -0
  45. data/docs/images/add.png +0 -0
  46. data/docs/images/arrow_up.png +0 -0
  47. data/docs/images/brick.png +0 -0
  48. data/docs/images/brick_link.png +0 -0
  49. data/docs/images/bug.png +0 -0
  50. data/docs/images/bullet_black.png +0 -0
  51. data/docs/images/bullet_toggle_minus.png +0 -0
  52. data/docs/images/bullet_toggle_plus.png +0 -0
  53. data/docs/images/date.png +0 -0
  54. data/docs/images/delete.png +0 -0
  55. data/docs/images/find.png +0 -0
  56. data/docs/images/loadingAnimation.gif +0 -0
  57. data/docs/images/macFFBgHack.png +0 -0
  58. data/docs/images/package.png +0 -0
  59. data/docs/images/page_green.png +0 -0
  60. data/docs/images/page_white_text.png +0 -0
  61. data/docs/images/page_white_width.png +0 -0
  62. data/docs/images/plugin.png +0 -0
  63. data/docs/images/ruby.png +0 -0
  64. data/docs/images/tag_blue.png +0 -0
  65. data/docs/images/tag_green.png +0 -0
  66. data/docs/images/transparent.png +0 -0
  67. data/docs/images/wrench.png +0 -0
  68. data/docs/images/wrench_orange.png +0 -0
  69. data/docs/images/zoom.png +0 -0
  70. data/docs/index.html +91 -0
  71. data/docs/js/darkfish.js +97 -0
  72. data/docs/js/navigation.js +105 -0
  73. data/docs/js/navigation.js.gz +0 -0
  74. data/docs/js/search.js +110 -0
  75. data/docs/js/search_index.js +1 -0
  76. data/docs/js/search_index.js.gz +0 -0
  77. data/docs/js/searcher.js +229 -0
  78. data/docs/js/searcher.js.gz +0 -0
  79. data/docs/table_of_contents.html +184 -0
  80. data/lib/generators/loggable_activity/install_generator.rb +2 -1
  81. data/lib/generators/loggable_activity/templates/current_user.rb +1 -1
  82. data/lib/generators/loggable_activity/templates/loggable_activity.yml +29 -0
  83. data/lib/loggable_activity/activity.rb +208 -59
  84. data/lib/loggable_activity/configuration.rb +18 -0
  85. data/lib/loggable_activity/encryption.rb +20 -1
  86. data/lib/loggable_activity/encryption_key.rb +81 -14
  87. data/lib/loggable_activity/hooks.rb +10 -7
  88. data/lib/loggable_activity/payload.rb +45 -11
  89. data/lib/loggable_activity/payloads_builder.rb +50 -4
  90. data/lib/loggable_activity/update_payloads_builder.rb +64 -2
  91. data/lib/loggable_activity/version.rb +1 -1
  92. metadata +81 -9
  93. data/.DS_Store +0 -0
  94. data/loggable_activity-0.1.32.gem +0 -0
  95. data/loggable_activity-0.1.33.gem +0 -0
  96. data/loggable_activity-0.1.34.gem +0 -0
data/docs/css/rdoc.css ADDED
@@ -0,0 +1,687 @@
1
+ /*
2
+ * "Darkfish" Rdoc CSS
3
+ * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $
4
+ *
5
+ * Author: Michael Granger <ged@FaerieMUD.org>
6
+ *
7
+ */
8
+
9
+ /* vim: ft=css et sw=2 ts=2 sts=2 */
10
+ /* Base Green is: #6C8C22 */
11
+
12
+ .hide { display: none !important; }
13
+
14
+ * { padding: 0; margin: 0; }
15
+
16
+ body {
17
+ background: #fafafa;
18
+ font-family: Lato, sans-serif;
19
+ font-weight: 300;
20
+
21
+ /* Layout */
22
+ display: grid;
23
+ grid-template-columns: auto 1fr;
24
+ }
25
+
26
+ body > :last-child {
27
+ grid-column: 1 / 3;
28
+ }
29
+
30
+ h1 span,
31
+ h2 span,
32
+ h3 span,
33
+ h4 span,
34
+ h5 span,
35
+ h6 span {
36
+ position: relative;
37
+
38
+ display: none;
39
+ padding-left: 1em;
40
+ line-height: 0;
41
+ vertical-align: baseline;
42
+ font-size: 10px;
43
+ }
44
+
45
+ h1 span { top: -1.3em; }
46
+ h2 span { top: -1.2em; }
47
+ h3 span { top: -1.0em; }
48
+ h4 span { top: -0.8em; }
49
+ h5 span { top: -0.5em; }
50
+ h6 span { top: -0.5em; }
51
+
52
+ h1:hover span,
53
+ h2:hover span,
54
+ h3:hover span,
55
+ h4:hover span,
56
+ h5:hover span,
57
+ h6:hover span {
58
+ display: inline;
59
+ }
60
+
61
+ h1:target,
62
+ h2:target,
63
+ h3:target,
64
+ h4:target,
65
+ h5:target,
66
+ h6:target {
67
+ margin-left: -10px;
68
+ border-left: 10px solid #f1edba;
69
+ }
70
+
71
+ :link,
72
+ :visited {
73
+ color: #6C8C22;
74
+ text-decoration: none;
75
+ }
76
+
77
+ :link:hover,
78
+ :visited:hover {
79
+ border-bottom: 1px dotted #6C8C22;
80
+ }
81
+
82
+ code,
83
+ pre {
84
+ font-family: "Source Code Pro", Monaco, monospace;
85
+ background-color: rgba(27,31,35,0.05);
86
+ padding: 0em 0.2em;
87
+ border-radius: 0.2em;
88
+ }
89
+
90
+ em {
91
+ text-decoration-color: rgba(52, 48, 64, 0.25);
92
+ text-decoration-line: underline;
93
+ text-decoration-style: dotted;
94
+ }
95
+
96
+ strong,
97
+ em {
98
+ background-color: rgba(158, 178, 255, 0.1);
99
+ }
100
+
101
+ table {
102
+ margin: 0;
103
+ border-spacing: 0;
104
+ border-collapse: collapse;
105
+ }
106
+
107
+ table tr th, table tr td {
108
+ padding: 0.2em 0.4em;
109
+ border: 1px solid #ccc;
110
+ }
111
+
112
+ table tr th {
113
+ background-color: #eceaed;
114
+ }
115
+
116
+ table tr:nth-child(even) td {
117
+ background-color: #f5f4f6;
118
+ }
119
+
120
+ /* @group Generic Classes */
121
+
122
+ .initially-hidden {
123
+ display: none;
124
+ }
125
+
126
+ #search-field {
127
+ width: 98%;
128
+ background: white;
129
+ border: none;
130
+ height: 1.5em;
131
+ -webkit-border-radius: 4px;
132
+ -moz-border-radius: 4px;
133
+ border-radius: 4px;
134
+ text-align: left;
135
+ }
136
+ #search-field:focus {
137
+ background: #f1edba;
138
+ }
139
+ #search-field:-moz-placeholder,
140
+ #search-field::-webkit-input-placeholder {
141
+ font-weight: bold;
142
+ color: #666;
143
+ }
144
+
145
+ .missing-docs {
146
+ font-size: 120%;
147
+ background: white url(../images/wrench_orange.png) no-repeat 4px center;
148
+ color: #ccc;
149
+ line-height: 2em;
150
+ border: 1px solid #d00;
151
+ opacity: 1;
152
+ padding-left: 20px;
153
+ text-indent: 24px;
154
+ letter-spacing: 3px;
155
+ font-weight: bold;
156
+ -webkit-border-radius: 5px;
157
+ -moz-border-radius: 5px;
158
+ }
159
+
160
+ .target-section {
161
+ border: 2px solid #dcce90;
162
+ border-left-width: 8px;
163
+ padding: 0 1em;
164
+ background: #fff3c2;
165
+ }
166
+
167
+ /* @end */
168
+
169
+ /* @group Index Page, Standalone file pages */
170
+ .table-of-contents ul {
171
+ margin: 1em;
172
+ list-style: none;
173
+ }
174
+
175
+ .table-of-contents ul ul {
176
+ margin-top: 0.25em;
177
+ }
178
+
179
+ .table-of-contents ul :link,
180
+ .table-of-contents ul :visited {
181
+ font-size: 16px;
182
+ }
183
+
184
+ .table-of-contents li {
185
+ margin-bottom: 0.25em;
186
+ }
187
+
188
+ .table-of-contents li .toc-toggle {
189
+ width: 16px;
190
+ height: 16px;
191
+ background: url(../images/add.png) no-repeat;
192
+ }
193
+
194
+ .table-of-contents li .toc-toggle.open {
195
+ background: url(../images/delete.png) no-repeat;
196
+ }
197
+
198
+ /* @end */
199
+
200
+ /* @group Top-Level Structure */
201
+
202
+ nav {
203
+ font-family: Helvetica, sans-serif;
204
+ font-size: 14px;
205
+ border-right: 1px solid #ccc;
206
+ position: sticky;
207
+ top: 0;
208
+ overflow: auto;
209
+
210
+ /* Layout */
211
+ width: 260px; /* fallback */
212
+ width: max(50px, 20vw);
213
+ min-width: 50px;
214
+ max-width: 80vw;
215
+ height: calc(100vh - 100px); /* reduce the footer height */
216
+ resize: horizontal;
217
+ }
218
+
219
+ main {
220
+ display: block;
221
+ margin: 1em;
222
+ min-width: 340px;
223
+ font-size: 16px;
224
+ }
225
+
226
+ main h1,
227
+ main h2,
228
+ main h3,
229
+ main h4,
230
+ main h5,
231
+ main h6 {
232
+ font-family: Helvetica, sans-serif;
233
+ }
234
+
235
+ .table-of-contents main {
236
+ margin-left: 2em;
237
+ }
238
+
239
+ #validator-badges {
240
+ margin: 1em 1em 2em;
241
+ font-size: smaller;
242
+ }
243
+
244
+ /* @end */
245
+
246
+ /* @group navigation */
247
+ nav {
248
+ margin-bottom: 1em;
249
+ }
250
+
251
+ nav .nav-section {
252
+ margin-top: 2em;
253
+ border-top: 2px solid #aaa;
254
+ font-size: 90%;
255
+ overflow: hidden;
256
+ }
257
+
258
+ nav h2 {
259
+ margin: 0;
260
+ padding: 2px 8px 2px 8px;
261
+ background-color: #e8e8e8;
262
+ color: #555;
263
+ font-size: 125%;
264
+ text-align: center;
265
+ }
266
+
267
+ nav h3,
268
+ #table-of-contents-navigation {
269
+ margin: 0;
270
+ padding: 2px 8px 2px 8px;
271
+ text-align: right;
272
+ background-color: #e8e8e8;
273
+ color: #555;
274
+ }
275
+
276
+ nav ul,
277
+ nav dl,
278
+ nav p {
279
+ padding: 4px 8px 0;
280
+ list-style: none;
281
+ }
282
+
283
+ #project-navigation .nav-section {
284
+ margin: 0;
285
+ border-top: 0;
286
+ }
287
+
288
+ #home-section h2 {
289
+ text-align: center;
290
+ }
291
+
292
+ #table-of-contents-navigation {
293
+ font-size: 1.2em;
294
+ font-weight: bold;
295
+ text-align: center;
296
+ }
297
+
298
+ #search-section {
299
+ margin-top: 0;
300
+ border-top: 0;
301
+ }
302
+
303
+ #search-field-wrapper {
304
+ border-top: 1px solid #aaa;
305
+ border-bottom: 1px solid #aaa;
306
+ padding: 3px 8px;
307
+ background-color: #e8e8e8;
308
+ color: #555;
309
+ }
310
+
311
+ ul.link-list li {
312
+ white-space: nowrap;
313
+ line-height: 1.4em;
314
+ }
315
+
316
+ ul.link-list .type {
317
+ font-size: 8px;
318
+ text-transform: uppercase;
319
+ color: white;
320
+ background: #969696;
321
+ padding: 2px 4px;
322
+ -webkit-border-radius: 5px;
323
+ }
324
+
325
+ dl.note-list dt {
326
+ float: left;
327
+ margin-right: 1em;
328
+ }
329
+
330
+ .calls-super {
331
+ background: url(../images/arrow_up.png) no-repeat right center;
332
+ }
333
+
334
+ .nav-section details > summary {
335
+ display: block;
336
+ }
337
+
338
+ .nav-section details > summary::-webkit-details-marker {
339
+ display: none;
340
+ }
341
+
342
+ .nav-section details > summary::before {
343
+ content: "";
344
+ }
345
+
346
+ .nav-section details > summary::after {
347
+ content: "\25B6"; /* BLACK RIGHT-POINTING TRIANGLE */
348
+ font-size: 0.8em;
349
+ margin-left: 0.4em;
350
+ }
351
+
352
+ .nav-section details[open] > summary::after {
353
+ content: "\25BD"; /* WHITE DOWN-POINTING TRIANGLE */
354
+ }
355
+
356
+ /* @end */
357
+
358
+ /* @group Documentation Section */
359
+ main {
360
+ color: #333;
361
+ }
362
+
363
+ main > h1:first-child,
364
+ main > h2:first-child,
365
+ main > h3:first-child,
366
+ main > h4:first-child,
367
+ main > h5:first-child,
368
+ main > h6:first-child {
369
+ margin-top: 0px;
370
+ }
371
+
372
+ main sup {
373
+ vertical-align: super;
374
+ font-size: 0.8em;
375
+ }
376
+
377
+ /* The heading with the class name */
378
+ main h1[class] {
379
+ margin-top: 0;
380
+ margin-bottom: 1em;
381
+ font-size: 2em;
382
+ color: #6C8C22;
383
+ }
384
+
385
+ main h1 {
386
+ margin: 2em 0 0.5em;
387
+ font-size: 1.7em;
388
+ }
389
+
390
+ main h2 {
391
+ margin: 2em 0 0.5em;
392
+ font-size: 1.5em;
393
+ }
394
+
395
+ main h3 {
396
+ margin: 2em 0 0.5em;
397
+ font-size: 1.2em;
398
+ }
399
+
400
+ main h4 {
401
+ margin: 2em 0 0.5em;
402
+ font-size: 1.1em;
403
+ }
404
+
405
+ main h5 {
406
+ margin: 2em 0 0.5em;
407
+ font-size: 1em;
408
+ }
409
+
410
+ main h6 {
411
+ margin: 2em 0 0.5em;
412
+ font-size: 1em;
413
+ }
414
+
415
+ main p {
416
+ margin: 0 0 0.5em;
417
+ line-height: 1.4em;
418
+ }
419
+
420
+ main pre {
421
+ margin: 1.2em 0.5em;
422
+ padding: 1em;
423
+ font-size: 0.8em;
424
+ }
425
+
426
+ main hr {
427
+ margin: 1.5em 1em;
428
+ border: 2px solid #ddd;
429
+ }
430
+
431
+ main blockquote {
432
+ margin: 0 2em 1.2em 1.2em;
433
+ padding-left: 0.5em;
434
+ border-left: 2px solid #ddd;
435
+ }
436
+
437
+ main ol,
438
+ main ul {
439
+ margin: 1em 2em;
440
+ }
441
+
442
+ main li > p {
443
+ margin-bottom: 0.5em;
444
+ }
445
+
446
+ main dl {
447
+ margin: 1em 0.5em;
448
+ }
449
+
450
+ main dt {
451
+ margin-bottom: 0.5em;
452
+ font-weight: bold;
453
+ }
454
+
455
+ main dd {
456
+ margin: 0 1em 1em 0.5em;
457
+ }
458
+
459
+ main header h2 {
460
+ margin-top: 2em;
461
+ border-width: 0;
462
+ border-top: 4px solid #bbb;
463
+ font-size: 130%;
464
+ }
465
+
466
+ main header h3 {
467
+ margin: 2em 0 1.5em;
468
+ border-width: 0;
469
+ border-top: 3px solid #bbb;
470
+ font-size: 120%;
471
+ }
472
+
473
+ .documentation-section-title {
474
+ position: relative;
475
+ }
476
+ .documentation-section-title .section-click-top {
477
+ position: absolute;
478
+ top: 6px;
479
+ left: 12px;
480
+ font-size: 10px;
481
+ color: #9b9877;
482
+ visibility: hidden;
483
+ padding-left: 0.5px;
484
+ }
485
+
486
+ .documentation-section-title:hover .section-click-top {
487
+ visibility: visible;
488
+ }
489
+
490
+ .constants-list > dl {
491
+ margin: 1em 0 2em;
492
+ border: 0;
493
+ }
494
+
495
+ .constants-list > dl dt {
496
+ margin-bottom: 0.75em;
497
+ padding-left: 0;
498
+ font-family: "Source Code Pro", Monaco, monospace;
499
+ font-size: 110%;
500
+ }
501
+
502
+ .constants-list > dl dt a {
503
+ color: inherit;
504
+ }
505
+
506
+ .constants-list > dl dd {
507
+ margin: 0 0 2em 0;
508
+ padding: 0;
509
+ color: #666;
510
+ }
511
+
512
+ .documentation-section h2 {
513
+ position: relative;
514
+ }
515
+
516
+ .documentation-section h2 a {
517
+ position: absolute;
518
+ top: 8px;
519
+ right: 10px;
520
+ font-size: 12px;
521
+ color: #9b9877;
522
+ visibility: hidden;
523
+ }
524
+
525
+ .documentation-section h2:hover a {
526
+ visibility: visible;
527
+ }
528
+
529
+ /* @group Method Details */
530
+
531
+ main .method-source-code {
532
+ max-height: 0;
533
+ overflow: auto;
534
+ transition-duration: 200ms;
535
+ transition-delay: 0ms;
536
+ transition-property: all;
537
+ transition-timing-function: ease-in-out;
538
+ }
539
+
540
+ main .method-source-code.active-menu {
541
+ max-height: 100vh;
542
+ }
543
+
544
+ main .method-description .method-calls-super {
545
+ color: #333;
546
+ font-weight: bold;
547
+ }
548
+
549
+ main .method-detail {
550
+ margin-bottom: 2.5em;
551
+ cursor: pointer;
552
+ }
553
+
554
+ main .method-detail:target {
555
+ margin-left: -10px;
556
+ border-left: 10px solid #f1edba;
557
+ }
558
+
559
+ main .method-heading {
560
+ position: relative;
561
+ font-family: "Source Code Pro", Monaco, monospace;
562
+ font-size: 110%;
563
+ font-weight: bold;
564
+ color: #333;
565
+ }
566
+ main .method-heading :link,
567
+ main .method-heading :visited {
568
+ color: inherit;
569
+ }
570
+ main .method-click-advice {
571
+ position: absolute;
572
+ top: 2px;
573
+ right: 5px;
574
+ font-size: 12px;
575
+ color: #9b9877;
576
+ visibility: hidden;
577
+ padding-right: 20px;
578
+ line-height: 20px;
579
+ background: url(../images/zoom.png) no-repeat right top;
580
+ }
581
+ main .method-header:hover .method-click-advice {
582
+ visibility: visible;
583
+ }
584
+
585
+ main .method-alias .method-heading {
586
+ color: #666;
587
+ }
588
+
589
+ main .method-description,
590
+ main .aliases {
591
+ margin-top: 0.75em;
592
+ color: #333;
593
+ }
594
+
595
+ main .aliases {
596
+ padding-top: 4px;
597
+ font-style: italic;
598
+ cursor: default;
599
+ }
600
+ main .method-description ul {
601
+ margin-left: 1.5em;
602
+ }
603
+
604
+ main #attribute-method-details .method-detail:hover {
605
+ background-color: transparent;
606
+ cursor: default;
607
+ }
608
+ main .attribute-access-type {
609
+ text-transform: uppercase;
610
+ padding: 0 1em;
611
+ }
612
+ /* @end */
613
+
614
+ /* @end */
615
+
616
+ /* @group Source Code */
617
+
618
+ pre {
619
+ margin: 0.5em 0;
620
+ border: 1px dashed #999;
621
+ padding: 0.5em;
622
+ background: #262626;
623
+ color: white;
624
+ overflow: auto;
625
+ }
626
+
627
+ .ruby-constant { color: #7fffd4; background: transparent; }
628
+ .ruby-keyword { color: #00ffff; background: transparent; }
629
+ .ruby-ivar { color: #eedd82; background: transparent; }
630
+ .ruby-operator { color: #00ffee; background: transparent; }
631
+ .ruby-identifier { color: #ffdead; background: transparent; }
632
+ .ruby-node { color: #ffa07a; background: transparent; }
633
+ .ruby-comment { color: #dc0000; background: transparent; }
634
+ .ruby-regexp { color: #ffa07a; background: transparent; }
635
+ .ruby-value { color: #7fffd4; background: transparent; }
636
+
637
+ /* @end */
638
+
639
+
640
+ /* @group search results */
641
+ #search-results {
642
+ font-family: Lato, sans-serif;
643
+ font-weight: 300;
644
+ }
645
+
646
+ #search-results .search-match {
647
+ font-family: Helvetica, sans-serif;
648
+ font-weight: normal;
649
+ }
650
+
651
+ #search-results .search-selected {
652
+ background: #e8e8e8;
653
+ border-bottom: 1px solid transparent;
654
+ }
655
+
656
+ #search-results li {
657
+ list-style: none;
658
+ border-bottom: 1px solid #aaa;
659
+ margin-bottom: 0.5em;
660
+ }
661
+
662
+ #search-results li:last-child {
663
+ border-bottom: none;
664
+ margin-bottom: 0;
665
+ }
666
+
667
+ #search-results li p {
668
+ padding: 0;
669
+ margin: 0.5em;
670
+ }
671
+
672
+ #search-results .search-namespace {
673
+ font-weight: bold;
674
+ }
675
+
676
+ #search-results li em {
677
+ background: yellow;
678
+ font-style: normal;
679
+ }
680
+
681
+ #search-results pre {
682
+ margin: 0.5em;
683
+ font-family: "Source Code Pro", Monaco, monospace;
684
+ }
685
+
686
+ /* @end */
687
+
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file