pdfjs-dist 2.0.943 → 2.4.456
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.
Potentially problematic release.
This version of pdfjs-dist might be problematic. Click here for more details.
- package/CODE_OF_CONDUCT.md +15 -0
- package/README.md +4 -0
- package/bower.json +1 -1
- package/build/pdf.js +8286 -14230
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +22 -1
- package/build/pdf.worker.entry.js +5 -3
- package/build/pdf.worker.js +25500 -26628
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +22 -1
- package/es5/build/pdf.js +25473 -0
- package/es5/build/pdf.js.map +1 -0
- package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
- package/es5/build/pdf.worker.js +57878 -0
- package/es5/build/pdf.worker.js.map +1 -0
- package/es5/web/images/annotation-check.svg +11 -0
- package/es5/web/images/annotation-comment.svg +16 -0
- package/es5/web/images/annotation-help.svg +26 -0
- package/es5/web/images/annotation-insert.svg +10 -0
- package/es5/web/images/annotation-key.svg +11 -0
- package/es5/web/images/annotation-newparagraph.svg +11 -0
- package/es5/web/images/annotation-noicon.svg +7 -0
- package/es5/web/images/annotation-note.svg +42 -0
- package/es5/web/images/annotation-paragraph.svg +16 -0
- package/es5/web/images/loading-icon.gif +0 -0
- package/es5/web/images/shadow.png +0 -0
- package/es5/web/images/texture.png +0 -0
- package/es5/web/pdf_viewer.css +407 -0
- package/es5/web/pdf_viewer.js +7757 -0
- package/es5/web/pdf_viewer.js.map +1 -0
- package/image_decoders/pdf.image_decoders.js +2887 -4094
- package/image_decoders/pdf.image_decoders.js.map +1 -1
- package/image_decoders/pdf.image_decoders.min.js +22 -1
- package/lib/README.md +7 -0
- package/lib/core/annotation.js +855 -778
- package/lib/core/arithmetic_decoder.js +325 -311
- package/lib/core/bidi.js +117 -50
- package/lib/core/ccitt.js +251 -89
- package/lib/core/ccitt_stream.js +26 -16
- package/lib/core/cff_parser.js +525 -197
- package/lib/core/charsets.js +6 -5
- package/lib/core/chunked_stream.js +541 -406
- package/lib/core/cmap.js +368 -253
- package/lib/core/colorspace.js +781 -800
- package/lib/core/core_utils.js +152 -0
- package/lib/core/crypto.js +609 -422
- package/lib/core/document.js +649 -481
- package/lib/core/encodings.js +33 -24
- package/lib/core/evaluator.js +1471 -736
- package/lib/core/font_renderer.js +289 -149
- package/lib/core/fonts.js +1067 -413
- package/lib/core/function.js +517 -287
- package/lib/core/glyphlist.js +4529 -4527
- package/lib/core/image.js +232 -114
- package/lib/core/image_utils.js +94 -0
- package/lib/core/jbig2.js +711 -342
- package/lib/core/jbig2_stream.js +31 -19
- package/lib/core/jpeg_stream.js +151 -26
- package/lib/core/jpg.js +433 -181
- package/lib/core/jpx.js +551 -143
- package/lib/core/jpx_stream.js +40 -28
- package/lib/core/metrics.js +2931 -2931
- package/lib/core/murmurhash3.js +104 -97
- package/lib/core/obj.js +1561 -1053
- package/lib/core/operator_list.js +192 -64
- package/lib/core/parser.js +1162 -864
- package/lib/core/pattern.js +224 -75
- package/lib/core/pdf_manager.js +154 -285
- package/lib/core/primitives.js +145 -69
- package/lib/core/ps_parser.js +212 -162
- package/lib/core/standard_fonts.js +245 -244
- package/lib/core/stream.js +353 -81
- package/lib/core/type1_parser.js +218 -68
- package/lib/core/unicode.js +1682 -1655
- package/lib/core/worker.js +233 -302
- package/lib/core/worker_stream.js +168 -0
- package/lib/display/annotation_layer.js +808 -862
- package/lib/display/api.js +1778 -1462
- package/lib/display/api_compatibility.js +14 -9
- package/lib/display/canvas.js +463 -140
- package/lib/display/content_disposition.js +86 -58
- package/lib/display/display_utils.js +524 -0
- package/lib/display/fetch_stream.js +202 -274
- package/lib/display/font_loader.js +311 -333
- package/lib/display/metadata.js +98 -88
- package/lib/display/network.js +343 -347
- package/lib/display/network_utils.js +46 -26
- package/lib/display/node_stream.js +326 -404
- package/lib/display/pattern_helper.js +168 -69
- package/lib/display/svg.js +1296 -885
- package/lib/display/text_layer.js +229 -103
- package/lib/display/transport_stream.js +290 -250
- package/lib/display/webgl.js +116 -83
- package/lib/display/worker_options.js +6 -5
- package/lib/display/xml_parser.js +358 -337
- package/lib/examples/node/domstubs.js +95 -39
- package/lib/pdf.js +49 -31
- package/lib/pdf.worker.js +7 -5
- package/lib/shared/compatibility.js +3 -145
- package/lib/shared/is_node.js +8 -7
- package/lib/shared/message_handler.js +367 -314
- package/lib/shared/util.js +421 -415
- package/lib/test/unit/annotation_spec.js +1570 -690
- package/lib/test/unit/api_spec.js +855 -493
- package/lib/test/unit/bidi_spec.js +12 -12
- package/lib/test/unit/cff_parser_spec.js +88 -61
- package/lib/test/unit/clitests_helper.js +9 -12
- package/lib/test/unit/cmap_spec.js +140 -88
- package/lib/test/unit/colorspace_spec.js +204 -152
- package/lib/test/unit/core_utils_spec.js +211 -0
- package/lib/test/unit/crypto_spec.js +194 -182
- package/lib/test/unit/custom_spec.js +50 -64
- package/lib/test/unit/display_svg_spec.js +53 -38
- package/lib/test/unit/display_utils_spec.js +263 -0
- package/lib/test/unit/document_spec.js +17 -22
- package/lib/test/unit/encodings_spec.js +15 -57
- package/lib/test/unit/evaluator_spec.js +90 -83
- package/lib/test/unit/fetch_stream_spec.js +111 -0
- package/lib/test/unit/function_spec.js +219 -205
- package/lib/test/unit/jasmine-boot.js +68 -39
- package/lib/test/unit/message_handler_spec.js +187 -160
- package/lib/test/unit/metadata_spec.js +87 -34
- package/lib/test/unit/murmurhash3_spec.js +13 -13
- package/lib/test/unit/network_spec.js +26 -59
- package/lib/test/unit/network_utils_spec.js +187 -121
- package/lib/test/unit/node_stream_spec.js +98 -90
- package/lib/test/unit/parser_spec.js +173 -131
- package/lib/test/unit/pdf_find_controller_spec.js +148 -67
- package/lib/test/unit/pdf_find_utils_spec.js +35 -34
- package/lib/test/unit/pdf_history_spec.js +45 -33
- package/lib/test/unit/primitives_spec.js +161 -126
- package/lib/test/unit/stream_spec.js +22 -15
- package/lib/test/unit/test_utils.js +149 -98
- package/lib/test/unit/testreporter.js +36 -18
- package/lib/test/unit/type1_parser_spec.js +46 -44
- package/lib/test/unit/ui_utils_spec.js +388 -372
- package/lib/test/unit/unicode_spec.js +49 -46
- package/lib/test/unit/util_spec.js +144 -248
- package/lib/web/annotation_layer_builder.js +75 -95
- package/lib/web/app.js +1538 -1147
- package/lib/web/app_options.js +116 -104
- package/lib/web/base_viewer.js +950 -775
- package/lib/web/chromecom.js +217 -225
- package/lib/web/debugger.js +236 -148
- package/lib/web/download_manager.js +50 -50
- package/lib/web/firefox_print_service.js +51 -33
- package/lib/web/firefoxcom.js +225 -352
- package/lib/web/genericcom.js +30 -93
- package/lib/web/genericl10n.js +26 -143
- package/lib/web/grab_to_pan.js +57 -33
- package/lib/web/interfaces.js +105 -232
- package/lib/web/overlay_manager.js +73 -227
- package/lib/web/password_prompt.js +44 -62
- package/lib/web/pdf_attachment_viewer.js +118 -123
- package/lib/web/pdf_cursor_tools.js +89 -93
- package/lib/web/pdf_document_properties.js +242 -281
- package/lib/web/pdf_find_bar.js +157 -163
- package/lib/web/pdf_find_controller.js +598 -454
- package/lib/web/pdf_find_utils.js +32 -16
- package/lib/web/pdf_history.js +481 -355
- package/lib/web/pdf_link_service.js +355 -323
- package/lib/web/pdf_outline_viewer.js +167 -152
- package/lib/web/pdf_page_view.js +511 -457
- package/lib/web/pdf_presentation_mode.js +347 -335
- package/lib/web/pdf_print_service.js +133 -103
- package/lib/web/pdf_rendering_queue.js +98 -100
- package/lib/web/pdf_sidebar.js +323 -299
- package/lib/web/pdf_sidebar_resizer.js +107 -108
- package/lib/web/pdf_single_page_viewer.js +94 -146
- package/lib/web/pdf_thumbnail_view.js +319 -269
- package/lib/web/pdf_thumbnail_viewer.js +219 -199
- package/lib/web/pdf_viewer.component.js +111 -32
- package/lib/web/pdf_viewer.js +61 -101
- package/lib/web/preferences.js +87 -272
- package/lib/web/secondary_toolbar.js +207 -220
- package/lib/web/text_layer_builder.js +322 -322
- package/lib/web/toolbar.js +227 -180
- package/lib/web/ui_utils.js +476 -421
- package/lib/web/view_history.js +59 -208
- package/lib/web/viewer_compatibility.js +9 -6
- package/package.json +2 -9
- package/web/pdf_viewer.css +36 -22
- package/web/pdf_viewer.js +4407 -4516
- package/web/pdf_viewer.js.map +1 -1
- package/webpack.js +14 -5
- package/external/streams/streams-lib.js +0 -3962
- package/external/url/url-lib.js +0 -627
- package/lib/display/dom_utils.js +0 -441
- package/lib/shared/streams_polyfill.js +0 -39
- package/lib/shared/url_polyfill.js +0 -50
- package/lib/test/unit/dom_utils_spec.js +0 -89
- package/lib/web/dom_events.js +0 -140
package/lib/web/app_options.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2020 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -19,38 +19,36 @@
|
|
19
19
|
* @licend The above is the entire license notice for the
|
20
20
|
* Javascript code in this page
|
21
21
|
*/
|
22
|
-
|
22
|
+
"use strict";
|
23
23
|
|
24
24
|
Object.defineProperty(exports, "__esModule", {
|
25
25
|
value: true
|
26
26
|
});
|
27
|
-
exports.OptionKind = exports.AppOptions =
|
27
|
+
exports.OptionKind = exports.AppOptions = void 0;
|
28
28
|
|
29
|
-
var
|
29
|
+
var _pdf = require("../pdf");
|
30
30
|
|
31
|
-
var
|
31
|
+
var _viewer_compatibility = require("./viewer_compatibility.js");
|
32
32
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
VIEWER: 'viewer',
|
39
|
-
API: 'api',
|
40
|
-
WORKER: 'worker'
|
33
|
+
const OptionKind = {
|
34
|
+
VIEWER: 0x02,
|
35
|
+
API: 0x04,
|
36
|
+
WORKER: 0x08,
|
37
|
+
PREFERENCE: 0x80
|
41
38
|
};
|
42
|
-
|
39
|
+
exports.OptionKind = OptionKind;
|
40
|
+
const defaultOptions = {
|
43
41
|
cursorToolOnLoad: {
|
44
42
|
value: 0,
|
45
|
-
kind: OptionKind.VIEWER
|
43
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
46
44
|
},
|
47
45
|
defaultUrl: {
|
48
|
-
value:
|
46
|
+
value: "compressed.tracemonkey-pldi-09.pdf",
|
49
47
|
kind: OptionKind.VIEWER
|
50
48
|
},
|
51
49
|
defaultZoomValue: {
|
52
|
-
value:
|
53
|
-
kind: OptionKind.VIEWER
|
50
|
+
value: "",
|
51
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
54
52
|
},
|
55
53
|
disableHistory: {
|
56
54
|
value: false,
|
@@ -58,102 +56,112 @@ var defaultOptions = {
|
|
58
56
|
},
|
59
57
|
disablePageLabels: {
|
60
58
|
value: false,
|
61
|
-
kind: OptionKind.VIEWER
|
62
|
-
},
|
63
|
-
disablePageMode: {
|
64
|
-
value: false,
|
65
|
-
kind: OptionKind.VIEWER
|
59
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
66
60
|
},
|
67
61
|
enablePrintAutoRotate: {
|
68
62
|
value: false,
|
69
|
-
kind: OptionKind.VIEWER
|
63
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
70
64
|
},
|
71
65
|
enableWebGL: {
|
72
66
|
value: false,
|
73
|
-
kind: OptionKind.VIEWER
|
67
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
74
68
|
},
|
75
69
|
eventBusDispatchToDOM: {
|
76
70
|
value: false,
|
77
|
-
kind: OptionKind.VIEWER
|
71
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
78
72
|
},
|
79
73
|
externalLinkRel: {
|
80
|
-
value:
|
74
|
+
value: "noopener noreferrer nofollow",
|
81
75
|
kind: OptionKind.VIEWER
|
82
76
|
},
|
83
77
|
externalLinkTarget: {
|
84
78
|
value: 0,
|
85
|
-
kind: OptionKind.VIEWER
|
79
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
80
|
+
},
|
81
|
+
historyUpdateUrl: {
|
82
|
+
value: false,
|
83
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
84
|
+
},
|
85
|
+
ignoreDestinationZoom: {
|
86
|
+
value: false,
|
87
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
86
88
|
},
|
87
89
|
imageResourcesPath: {
|
88
|
-
value:
|
90
|
+
value: "./images/",
|
89
91
|
kind: OptionKind.VIEWER
|
90
92
|
},
|
91
93
|
maxCanvasPixels: {
|
92
|
-
value:
|
94
|
+
value: 16777216,
|
95
|
+
compatibility: _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels,
|
93
96
|
kind: OptionKind.VIEWER
|
94
97
|
},
|
95
98
|
pdfBugEnabled: {
|
96
99
|
value: false,
|
97
|
-
kind: OptionKind.VIEWER
|
100
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
98
101
|
},
|
99
102
|
renderer: {
|
100
|
-
value:
|
101
|
-
kind: OptionKind.VIEWER
|
103
|
+
value: "canvas",
|
104
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
102
105
|
},
|
103
106
|
renderInteractiveForms: {
|
104
107
|
value: false,
|
105
|
-
kind: OptionKind.VIEWER
|
106
|
-
},
|
107
|
-
showPreviousViewOnLoad: {
|
108
|
-
value: true,
|
109
|
-
kind: OptionKind.VIEWER
|
108
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
110
109
|
},
|
111
110
|
sidebarViewOnLoad: {
|
112
|
-
value:
|
113
|
-
kind: OptionKind.VIEWER
|
111
|
+
value: -1,
|
112
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
114
113
|
},
|
115
114
|
scrollModeOnLoad: {
|
116
|
-
value:
|
117
|
-
kind: OptionKind.VIEWER
|
115
|
+
value: -1,
|
116
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
118
117
|
},
|
119
118
|
spreadModeOnLoad: {
|
120
|
-
value:
|
121
|
-
kind: OptionKind.VIEWER
|
119
|
+
value: -1,
|
120
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
122
121
|
},
|
123
122
|
textLayerMode: {
|
124
123
|
value: 1,
|
125
|
-
kind: OptionKind.VIEWER
|
124
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
126
125
|
},
|
127
126
|
useOnlyCssZoom: {
|
128
127
|
value: false,
|
129
|
-
kind: OptionKind.VIEWER
|
128
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
129
|
+
},
|
130
|
+
viewOnLoad: {
|
131
|
+
value: 0,
|
132
|
+
kind: OptionKind.VIEWER + OptionKind.PREFERENCE
|
130
133
|
},
|
131
134
|
cMapPacked: {
|
132
135
|
value: true,
|
133
136
|
kind: OptionKind.API
|
134
137
|
},
|
135
138
|
cMapUrl: {
|
136
|
-
value:
|
139
|
+
value: "../web/cmaps/",
|
137
140
|
kind: OptionKind.API
|
138
141
|
},
|
139
142
|
disableAutoFetch: {
|
140
143
|
value: false,
|
141
|
-
kind: OptionKind.API
|
144
|
+
kind: OptionKind.API + OptionKind.PREFERENCE
|
142
145
|
},
|
143
146
|
disableCreateObjectURL: {
|
144
|
-
value:
|
147
|
+
value: false,
|
148
|
+
compatibility: _pdf.apiCompatibilityParams.disableCreateObjectURL,
|
145
149
|
kind: OptionKind.API
|
146
150
|
},
|
147
151
|
disableFontFace: {
|
148
152
|
value: false,
|
149
|
-
kind: OptionKind.API
|
153
|
+
kind: OptionKind.API + OptionKind.PREFERENCE
|
150
154
|
},
|
151
155
|
disableRange: {
|
152
156
|
value: false,
|
153
|
-
kind: OptionKind.API
|
157
|
+
kind: OptionKind.API + OptionKind.PREFERENCE
|
154
158
|
},
|
155
159
|
disableStream: {
|
156
160
|
value: false,
|
161
|
+
kind: OptionKind.API + OptionKind.PREFERENCE
|
162
|
+
},
|
163
|
+
docBaseUrl: {
|
164
|
+
value: "",
|
157
165
|
kind: OptionKind.API
|
158
166
|
},
|
159
167
|
isEvalSupported: {
|
@@ -168,10 +176,6 @@ var defaultOptions = {
|
|
168
176
|
value: false,
|
169
177
|
kind: OptionKind.API
|
170
178
|
},
|
171
|
-
postMessageTransfers: {
|
172
|
-
value: true,
|
173
|
-
kind: OptionKind.API
|
174
|
-
},
|
175
179
|
verbosity: {
|
176
180
|
value: 1,
|
177
181
|
kind: OptionKind.API
|
@@ -181,65 +185,73 @@ var defaultOptions = {
|
|
181
185
|
kind: OptionKind.WORKER
|
182
186
|
},
|
183
187
|
workerSrc: {
|
184
|
-
value:
|
188
|
+
value: "../build/pdf.worker.js",
|
185
189
|
kind: OptionKind.WORKER
|
186
190
|
}
|
187
191
|
};
|
188
|
-
|
189
|
-
|
190
|
-
value: typeof navigator !== 'undefined' ? navigator.language : 'en-US',
|
191
|
-
kind: OptionKind.VIEWER
|
192
|
-
};
|
193
|
-
}
|
194
|
-
var userOptions = Object.create(null);
|
195
|
-
|
196
|
-
var AppOptions = function () {
|
197
|
-
function AppOptions() {
|
198
|
-
_classCallCheck(this, AppOptions);
|
192
|
+
;
|
193
|
+
const userOptions = Object.create(null);
|
199
194
|
|
200
|
-
|
195
|
+
class AppOptions {
|
196
|
+
constructor() {
|
197
|
+
throw new Error("Cannot initialize AppOptions.");
|
201
198
|
}
|
202
199
|
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
if (userOption !== undefined) {
|
209
|
-
return userOption;
|
210
|
-
}
|
211
|
-
return defaultOption !== undefined ? defaultOption.value : undefined;
|
200
|
+
static get(name) {
|
201
|
+
const userOption = userOptions[name];
|
202
|
+
|
203
|
+
if (userOption !== undefined) {
|
204
|
+
return userOption;
|
212
205
|
}
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
206
|
+
|
207
|
+
const defaultOption = defaultOptions[name];
|
208
|
+
|
209
|
+
if (defaultOption !== undefined) {
|
210
|
+
return defaultOption.compatibility || defaultOption.value;
|
211
|
+
}
|
212
|
+
|
213
|
+
return undefined;
|
214
|
+
}
|
215
|
+
|
216
|
+
static getAll(kind = null) {
|
217
|
+
const options = Object.create(null);
|
218
|
+
|
219
|
+
for (const name in defaultOptions) {
|
220
|
+
const defaultOption = defaultOptions[name];
|
221
|
+
|
222
|
+
if (kind) {
|
223
|
+
if ((kind & defaultOption.kind) === 0) {
|
223
224
|
continue;
|
224
225
|
}
|
225
|
-
|
226
|
+
|
227
|
+
if (kind === OptionKind.PREFERENCE) {
|
228
|
+
const value = defaultOption.value,
|
229
|
+
valueType = typeof value;
|
230
|
+
|
231
|
+
if (valueType === "boolean" || valueType === "string" || valueType === "number" && Number.isInteger(value)) {
|
232
|
+
options[name] = value;
|
233
|
+
continue;
|
234
|
+
}
|
235
|
+
|
236
|
+
throw new Error(`Invalid type for preference: ${name}`);
|
237
|
+
}
|
226
238
|
}
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
key: 'set',
|
231
|
-
value: function set(name, value) {
|
232
|
-
userOptions[name] = value;
|
233
|
-
}
|
234
|
-
}, {
|
235
|
-
key: 'remove',
|
236
|
-
value: function remove(name) {
|
237
|
-
delete userOptions[name];
|
239
|
+
|
240
|
+
const userOption = userOptions[name];
|
241
|
+
options[name] = userOption !== undefined ? userOption : defaultOption.compatibility || defaultOption.value;
|
238
242
|
}
|
239
|
-
}]);
|
240
243
|
|
241
|
-
|
242
|
-
}
|
244
|
+
return options;
|
245
|
+
}
|
246
|
+
|
247
|
+
static set(name, value) {
|
248
|
+
userOptions[name] = value;
|
249
|
+
}
|
250
|
+
|
251
|
+
static remove(name) {
|
252
|
+
delete userOptions[name];
|
253
|
+
}
|
254
|
+
|
255
|
+
}
|
243
256
|
|
244
|
-
exports.AppOptions = AppOptions;
|
245
|
-
exports.OptionKind = OptionKind;
|
257
|
+
exports.AppOptions = AppOptions;
|