@loaders.gl/las 4.0.0-beta.2 → 4.0.0-beta.4
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/dist/{dist.min.js → dist.dev.js} +616 -1170
- package/dist/index.cjs +19215 -0
- package/dist/{esm/index.js → index.js} +2 -2
- package/dist/index.js.map +1 -0
- package/dist/{esm/las-loader.js → las-loader.js} +1 -1
- package/dist/las-loader.js.map +1 -0
- package/dist/las-worker.js +15797 -15503
- package/dist/lib/get-las-schema.js.map +1 -0
- package/dist/lib/las-types.js.map +1 -0
- package/dist/{esm/lib → lib}/laslaz-decoder.js +28 -29
- package/dist/lib/laslaz-decoder.js.map +1 -0
- package/dist/lib/libs/laz-perf.d.ts.map +1 -1
- package/dist/lib/libs/laz-perf.js +2 -0
- package/dist/lib/libs/laz-perf.js.map +1 -0
- package/dist/{esm/lib → lib}/parse-las.js +2 -2
- package/dist/lib/parse-las.js.map +1 -0
- package/dist/{esm/workers → workers}/las-worker.js +1 -1
- package/dist/workers/las-worker.js.map +1 -0
- package/package.json +16 -8
- package/src/lib/libs/laz-perf.ts +2 -1
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/index.js +0 -44
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/las-loader.js +0 -30
- package/dist/es5/las-loader.js.map +0 -1
- package/dist/es5/lib/get-las-schema.js +0 -38
- package/dist/es5/lib/get-las-schema.js.map +0 -1
- package/dist/es5/lib/las-types.js +0 -2
- package/dist/es5/lib/las-types.js.map +0 -1
- package/dist/es5/lib/laslaz-decoder.js +0 -364
- package/dist/es5/lib/laslaz-decoder.js.map +0 -1
- package/dist/es5/lib/libs/laz-perf.js +0 -2
- package/dist/es5/lib/libs/laz-perf.js.map +0 -1
- package/dist/es5/lib/parse-las.js +0 -187
- package/dist/es5/lib/parse-las.js.map +0 -1
- package/dist/es5/workers/las-worker.js +0 -6
- package/dist/es5/workers/las-worker.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/las-loader.js.map +0 -1
- package/dist/esm/lib/get-las-schema.js.map +0 -1
- package/dist/esm/lib/las-types.js.map +0 -1
- package/dist/esm/lib/laslaz-decoder.js.map +0 -1
- package/dist/esm/lib/libs/laz-perf.js +0 -2
- package/dist/esm/lib/libs/laz-perf.js.map +0 -1
- package/dist/esm/lib/parse-las.js.map +0 -1
- package/dist/esm/workers/las-worker.js.map +0 -1
- package/src/bundle.ts +0 -4
- /package/dist/{esm/lib → lib}/get-las-schema.js +0 -0
- /package/dist/{esm/lib → lib}/las-types.js +0 -0
|
@@ -1,47 +1,75 @@
|
|
|
1
|
-
(()
|
|
1
|
+
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
|
+
if (typeof exports === 'object' && typeof module === 'object')
|
|
3
|
+
module.exports = factory();
|
|
4
|
+
else if (typeof define === 'function' && define.amd) define([], factory);
|
|
5
|
+
else if (typeof exports === 'object') exports['loader'] = factory();
|
|
6
|
+
else root['loader'] = factory();})(globalThis, function () {
|
|
7
|
+
"use strict";
|
|
8
|
+
var __exports__ = (() => {
|
|
2
9
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
};
|
|
10
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
11
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
12
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
13
|
var __commonJS = (cb, mod) => function __require() {
|
|
8
|
-
return mod || (0, cb[
|
|
14
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
9
15
|
};
|
|
10
16
|
var __export = (target, all) => {
|
|
11
|
-
__markAsModule(target);
|
|
12
17
|
for (var name in all)
|
|
13
18
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
14
19
|
};
|
|
20
|
+
var __copyProps = (to, from, except, desc) => {
|
|
21
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
22
|
+
for (let key of __getOwnPropNames(from))
|
|
23
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
24
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
25
|
+
}
|
|
26
|
+
return to;
|
|
27
|
+
};
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
29
|
|
|
16
|
-
//
|
|
17
|
-
var
|
|
18
|
-
|
|
19
|
-
"src/las-loader.ts"() {
|
|
20
|
-
VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
21
|
-
DEFAULT_LAS_OPTIONS = {
|
|
22
|
-
las: {
|
|
23
|
-
shape: "mesh",
|
|
24
|
-
fp64: false,
|
|
25
|
-
skip: 1,
|
|
26
|
-
colorDepth: 8
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
LASLoader = {
|
|
30
|
-
name: "LAS",
|
|
31
|
-
id: "las",
|
|
32
|
-
module: "las",
|
|
33
|
-
version: VERSION,
|
|
34
|
-
worker: true,
|
|
35
|
-
extensions: ["las", "laz"],
|
|
36
|
-
mimeTypes: ["application/octet-stream"],
|
|
37
|
-
text: true,
|
|
38
|
-
binary: true,
|
|
39
|
-
tests: ["LAS"],
|
|
40
|
-
options: DEFAULT_LAS_OPTIONS
|
|
41
|
-
};
|
|
30
|
+
// (disabled):path
|
|
31
|
+
var require_path = __commonJS({
|
|
32
|
+
"(disabled):path"() {
|
|
42
33
|
}
|
|
43
34
|
});
|
|
44
35
|
|
|
36
|
+
// (disabled):fs
|
|
37
|
+
var require_fs = __commonJS({
|
|
38
|
+
"(disabled):fs"() {
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
// src/index.ts
|
|
43
|
+
var src_exports = {};
|
|
44
|
+
__export(src_exports, {
|
|
45
|
+
LASLoader: () => LASLoader3,
|
|
46
|
+
LASWorkerLoader: () => LASLoader
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// src/las-loader.ts
|
|
50
|
+
var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
51
|
+
var DEFAULT_LAS_OPTIONS = {
|
|
52
|
+
las: {
|
|
53
|
+
shape: "mesh",
|
|
54
|
+
fp64: false,
|
|
55
|
+
skip: 1,
|
|
56
|
+
colorDepth: 8
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
var LASLoader = {
|
|
60
|
+
name: "LAS",
|
|
61
|
+
id: "las",
|
|
62
|
+
module: "las",
|
|
63
|
+
version: VERSION,
|
|
64
|
+
worker: true,
|
|
65
|
+
extensions: ["las", "laz"],
|
|
66
|
+
mimeTypes: ["application/octet-stream"],
|
|
67
|
+
text: true,
|
|
68
|
+
binary: true,
|
|
69
|
+
tests: ["LAS"],
|
|
70
|
+
options: DEFAULT_LAS_OPTIONS
|
|
71
|
+
};
|
|
72
|
+
|
|
45
73
|
// ../schema/src/lib/table/simple-table/data-type.ts
|
|
46
74
|
function getDataTypeFromTypedArray(array) {
|
|
47
75
|
switch (array.constructor) {
|
|
@@ -66,10 +94,6 @@
|
|
|
66
94
|
return "null";
|
|
67
95
|
}
|
|
68
96
|
}
|
|
69
|
-
var init_data_type = __esm({
|
|
70
|
-
"../schema/src/lib/table/simple-table/data-type.ts"() {
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
97
|
|
|
74
98
|
// ../schema/src/lib/mesh/mesh-utils.ts
|
|
75
99
|
function getMeshBoundingBox(attributes) {
|
|
@@ -92,27 +116,30 @@
|
|
|
92
116
|
maxY = y > maxY ? y : maxY;
|
|
93
117
|
maxZ = z > maxZ ? z : maxZ;
|
|
94
118
|
}
|
|
95
|
-
return [
|
|
96
|
-
[minX, minY, minZ],
|
|
97
|
-
[maxX, maxY, maxZ]
|
|
98
|
-
];
|
|
119
|
+
return [[minX, minY, minZ], [maxX, maxY, maxZ]];
|
|
99
120
|
}
|
|
100
|
-
var init_mesh_utils = __esm({
|
|
101
|
-
"../schema/src/lib/mesh/mesh-utils.ts"() {
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
121
|
|
|
105
122
|
// ../schema/src/lib/mesh/deduce-mesh-schema.ts
|
|
106
123
|
function deduceMeshSchema(attributes, metadata = {}) {
|
|
107
124
|
const fields = deduceMeshFields(attributes);
|
|
108
|
-
return {
|
|
125
|
+
return {
|
|
126
|
+
fields,
|
|
127
|
+
metadata
|
|
128
|
+
};
|
|
109
129
|
}
|
|
110
130
|
function deduceMeshField(name, attribute, optionalMetadata) {
|
|
111
131
|
const type = getDataTypeFromTypedArray(attribute.value);
|
|
112
132
|
const metadata = optionalMetadata ? optionalMetadata : makeMeshAttributeMetadata(attribute);
|
|
113
133
|
return {
|
|
114
134
|
name,
|
|
115
|
-
type: {
|
|
135
|
+
type: {
|
|
136
|
+
type: "fixed-size-list",
|
|
137
|
+
listSize: attribute.size,
|
|
138
|
+
children: [{
|
|
139
|
+
name: "value",
|
|
140
|
+
type
|
|
141
|
+
}]
|
|
142
|
+
},
|
|
116
143
|
nullable: false,
|
|
117
144
|
metadata
|
|
118
145
|
};
|
|
@@ -138,31 +165,6 @@
|
|
|
138
165
|
}
|
|
139
166
|
return result;
|
|
140
167
|
}
|
|
141
|
-
var init_deduce_mesh_schema = __esm({
|
|
142
|
-
"../schema/src/lib/mesh/deduce-mesh-schema.ts"() {
|
|
143
|
-
init_data_type();
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
// ../schema/src/index.ts
|
|
148
|
-
var init_src = __esm({
|
|
149
|
-
"../schema/src/index.ts"() {
|
|
150
|
-
init_mesh_utils();
|
|
151
|
-
init_deduce_mesh_schema();
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
// (disabled):path
|
|
156
|
-
var require_path = __commonJS({
|
|
157
|
-
"(disabled):path"() {
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
// (disabled):fs
|
|
162
|
-
var require_fs = __commonJS({
|
|
163
|
-
"(disabled):fs"() {
|
|
164
|
-
}
|
|
165
|
-
});
|
|
166
168
|
|
|
167
169
|
// src/lib/libs/laz-perf.ts
|
|
168
170
|
function getModule() {
|
|
@@ -201,7 +203,8 @@
|
|
|
201
203
|
if (ENVIRONMENT_IS_WORKER) {
|
|
202
204
|
scriptDirectory = require_path().dirname(scriptDirectory) + "/";
|
|
203
205
|
} else {
|
|
204
|
-
|
|
206
|
+
const dirname = typeof __dirname !== "undefined" ? __dirname : "";
|
|
207
|
+
scriptDirectory = dirname + "/";
|
|
205
208
|
}
|
|
206
209
|
read_ = function shell_read(filename, binary) {
|
|
207
210
|
var ret = tryParseAsDataURI(filename);
|
|
@@ -448,10 +451,7 @@
|
|
|
448
451
|
HEAP32[ptr >> 2] = value;
|
|
449
452
|
break;
|
|
450
453
|
case "i64":
|
|
451
|
-
tempI64 = [
|
|
452
|
-
value >>> 0,
|
|
453
|
-
(tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)
|
|
454
|
-
], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];
|
|
454
|
+
tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];
|
|
455
455
|
break;
|
|
456
456
|
case "float":
|
|
457
457
|
HEAPF32[ptr >> 2] = value;
|
|
@@ -476,22 +476,19 @@
|
|
|
476
476
|
return func;
|
|
477
477
|
}
|
|
478
478
|
function ccall(ident, returnType, argTypes, args, opts) {
|
|
479
|
-
var toC = {
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
stringToUTF8(str, ret2, len);
|
|
486
|
-
}
|
|
487
|
-
return ret2;
|
|
488
|
-
},
|
|
489
|
-
array: function(arr) {
|
|
490
|
-
var ret2 = stackAlloc(arr.length);
|
|
491
|
-
writeArrayToMemory(arr, ret2);
|
|
492
|
-
return ret2;
|
|
479
|
+
var toC = { string: function(str) {
|
|
480
|
+
var ret2 = 0;
|
|
481
|
+
if (str !== null && str !== void 0 && str !== 0) {
|
|
482
|
+
var len = (str.length << 2) + 1;
|
|
483
|
+
ret2 = stackAlloc(len);
|
|
484
|
+
stringToUTF8(str, ret2, len);
|
|
493
485
|
}
|
|
494
|
-
|
|
486
|
+
return ret2;
|
|
487
|
+
}, array: function(arr) {
|
|
488
|
+
var ret2 = stackAlloc(arr.length);
|
|
489
|
+
writeArrayToMemory(arr, ret2);
|
|
490
|
+
return ret2;
|
|
491
|
+
} };
|
|
495
492
|
function convertReturnValue(ret2) {
|
|
496
493
|
if (returnType === "string")
|
|
497
494
|
return UTF8ToString(ret2);
|
|
@@ -858,11 +855,9 @@
|
|
|
858
855
|
var fileURIPrefix = "file://";
|
|
859
856
|
var tempDouble;
|
|
860
857
|
var tempI64;
|
|
861
|
-
__ATINIT__.push({
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
}
|
|
865
|
-
});
|
|
858
|
+
__ATINIT__.push({ func: function() {
|
|
859
|
+
globalCtors();
|
|
860
|
+
} });
|
|
866
861
|
memoryInitializer = "data:application/octet-stream;base64,AAAAAAAAAAAPDg0MCwoJCA4AAQMGCgoJDQECBAcLCwoMAwQFCAwMCwsGBwgJDQ0MCgoLDA0ODg0JCgsMDQ4PDggJCgsMDQ4PAAECAwQFBgcBAAECAwQFBgIBAAECAwQFAwIBAAECAwQEAwIBAAECAwUEAwIBAAECBgUEAwIBAAEHBgUEAwIBAMgPAAAoDQAAEBAAACAQAADIDwAAUA0AABAQAAAgEAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAADgFgAAmRgAAGAQAAAAAAAA4BYAAEIZAABgEAAAAAAAAOAWAAAqGgAASA8AAAAAAAC4FgAANBsAAOAWAACfGgAAMAoAAAAAAADgFgAAaRsAAEgPAAAAAAAA4BYAAIobAABIDwAAAAAAALgWAAAPHAAA4BYAAHwcAABIDwAAAAAAAOAWAACVHAAASA8AAAAAAADgFgAAHh0AAEgPAAAAAAAA4BYAAHcdAABIDwAAAAAAAOAWAACQHQAASA8AAAAAAADgFgAAQh4AAEgPAAAAAAAA4BYAAIceAABgEAAAAAAAAOAWAACkHwAASA8AAAAAAAC4FgAAZyAAAOAWAADkHwAA8AoAAAAAAADgFgAAjyAAAGAQAAAAAAAAuBYAAMMiAADgFgAAAiIAABgLAAAAAAAA4BYAAOEiAABgEAAAAAAAAOAWAADQJAAAGAsAAAAAAADgFgAAkSUAAGAQAAAAAAAA4BYAAIAnAAAYCwAAAAAAAOAWAAA9KAAAYBAAAAAAAADgFgAAJCoAABgLAAAAAAAA4BYAAOkqAABgEAAAAAAAAOAWAADgLAAA8AoAAAAAAADgFgAAui0AAGAQAAAAAAAA4BYAANsvAADwCgAAAAAAAOAWAADTMAAAYBAAAAAAAADgFgAAMDMAAPAKAAAAAAAA4BYAACQ0AABgEAAAAAAAAOAWAAB5NgAA8AoAAAAAAADgFgAAizcAAGAQAAAAAAAA4BYAABw6AABgEAAAAAAAAOAWAACdOgAAYBAAAAAAAADgFgAAXjsAAPAKAAAAAAAA4BYAALU7AABgEAAAAAAAAOAWAADMPAAAGAsAAAAAAADgFgAATz0AAGAQAAAAAAAA4BYAAL4+AAAYCwAAAAAAAOAWAABBPwAAYBAAAAAAAADgFgAAsEAAABgLAAAAAAAA4BYAADNBAABgEAAAAAAAAOAWAACiQgAAGAsAAAAAAADgFgAAJUMAAGAQAAAAAAAA4BYAAJREAAAYCwAAAAAAAOAWAAAXRQAAYBAAAAAAAADgFgAAhkYAABgLAAAAAAAA4BYAAAlHAABgEAAAAAAAALgWAAB4SAAAiBcAAIBIAAAAAAAAIA0AAIgXAACJSAAAAQAAACANAAC4FgAAqkgAAIgXAAC6SAAAAAAAAEgNAACIFwAAy0gAAAEAAABIDQAAuBYAABhMAAC4FgAAN0wAALgWAABWTAAAuBYAAHVMAAC4FgAAlEwAALgWAACzTAAAuBYAANJMAAC4FgAA8UwAALgWAAAQTQAAuBYAAC9NAAC4FgAATk0AALgWAABtTQAAuBYAAIxNAACkFwAAn00AAAAAAAABAAAA8A0AAAAAAAC4FgAA4U0AAKQXAAAHTgAAAAAAAAEAAADwDQAAAAAAAKQXAABJTgAAAAAAAAEAAADwDQAAAAAAAKQXAACITgAAAAAAAAEAAADwDQAAAAAAAKQXAADHTgAAAAAAAAEAAADwDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgWAADNTwAA4BYAAC1QAAAADwAAAAAAAOAWAADaTwAAEA8AAAAAAAC4FgAA+08AAOAWAAAIUAAA8A4AAAAAAADgFgAAhlAAAOgOAAAAAAAA4BYAAJNQAADoDgAAAAAAAOAWAACjUAAA6A4AAAAAAADgFgAAtVAAADgPAAAAAAAA4BYAAMZQAAA4DwAAAAAAAOAWAADXUAAAAA8AAAAAAADgFgAA+VAAAHgPAAAAAAAA4BYAAB1RAAAADwAAAAAAAOAWAABCUQAAeA8AAAAAAADgFgAAjlEAAAAPAAAAAAAAbBcAALZRAABsFwAAuFEAAGwXAAC7UQAAbBcAAL1RAABsFwAAv1EAAGwXAADBUQAAbBcAAMNRAABsFwAAxVEAAGwXAADHUQAAbBcAAMlRAABsFwAAy1EAAGwXAADNUQAAbBcAAM9RAABsFwAA0VEAAOAWAADTUQAA8A4AAAAAAADgFgAARlIAAOgOAAAAAAAAuBYAAGJSAACkFwAAe1IAAAAAAAABAAAAWBAAAAAAAADgFgAA9FIAAIgQAAAAAAAA4BYAABdTAACYEAAAAAAAALgWAAAuUwAA4BYAAHBTAACIEAAAAAAAAOAWAACSUwAASA8AAAAAAAAAAAAAAAoAAAEAAAACAAAAAwAAAAEAAAAEAAAAAAAAABAKAAABAAAABQAAAAYAAAACAAAABwAAAAAAAAAgCgAACAAAAAkAAAABAAAAAAAAADgKAAAKAAAACwAAAAIAAAABAAAADAAAAA0AAAACAAAAAwAAAAMAAAAAAAAASAoAAAgAAAAOAAAAAQAAAAAAAABYCgAACAAAAA8AAAABAAAAAAAAAIAKAAAIAAAAEAAAAAEAAAAAAAAAcAoAAAgAAAARAAAAAQAAAAAAAACQCgAACAAAABIAAAABAAAAAAAAAKAKAAAIAAAAEwAAAAEAAAAAAAAAsAoAAAgAAAAUAAAAAQAAAAAAAADACgAACAAAABUAAAABAAAAAAAAANAKAAABAAAAFgAAABcAAAAEAAAAGAAAAAAAAADgCgAACAAAABkAAAABAAAAAAAAAPgKAAAFAAAAGgAAABsAAAAAAAAA8AoAAAEAAAAcAAAAHQAAAAAAAAAICwAAAQAAAB4AAAAfAAAABgAAACAAAAAAAAAAIAsAACEAAAAiAAAABwAAAAgAAAAAAAAAGAsAACMAAAAkAAAABwAAAAkAAAAAAAAAMAsAAAEAAAAlAAAAJgAAAAoAAAAnAAAAAAAAAEALAAAoAAAAKQAAAAcAAAALAAAAAAAAAFALAAABAAAAKgAAACsAAAAMAAAALAAAAAAAAABgCwAALQAAAC4AAAAHAAAADQAAAAAAAABwCwAAAQAAAC8AAAAwAAAADgAAADEAAAAAAAAAgAsAADIAAAAzAAAABwAAAA8AAAAAAAAAkAsAAAEAAAA0AAAANQAAABAAAAA2AAAAAAAAAKALAAARAAAANwAAADgAAAAAAAAAsAsAAAEAAAA5AAAAOgAAABIAAAA7AAAAAAAAAMALAAATAAAAPAAAAD0AAAAAAAAA0AsAAAEAAAA+AAAAPwAAABQAAABAAAAAAAAAAOALAAAVAAAAQQAAAEIAAAAAAAAA8AsAAAEAAABDAAAARAAAABYAAABFAAAAAAAAAAAMAAAXAAAARgAAAEcAAAAAAAAAEAwAAAEAAABIAAAASQAAABgAAABKAAAAAAAAACAMAAABAAAASwAAAEwAAAAZAAAATQAAAAAAAAAwDAAAAQAAAE4AAABPAAAAGgAAAFAAAAAAAAAAQAwAABsAAABRAAAAUgAAAAAAAABQDAAAAQAAAFMAAABUAAAAHAAAAFUAAAAAAAAAYAwAAFYAAABXAAAABwAAAB0AAAAAAAAAcAwAAAEAAABYAAAAWQAAAB4AAABaAAAAAAAAAIAMAABbAAAAXAAAAAcAAAAfAAAAAAAAAJAMAAABAAAAXQAAAF4AAAAgAAAAXwAAAAAAAACgDAAAYAAAAGEAAAAHAAAAIQAAAAAAAACwDAAAAQAAAGIAAABjAAAAIgAAAGQAAAAAAAAAwAwAAGUAAABmAAAABwAAACMAAAAAAAAA0AwAAAEAAABnAAAAaAAAACQAAABpAAAAAAAAAOAMAABqAAAAawAAAAcAAAAlAAAAAAAAAPAMAAABAAAAbAAAAG0AAAAmAAAAbgAAAAAAAAAADQAAbwAAAHAAAAAHAAAAJwAAAAAAAAAQDQAAAQAAAHEAAAByAAAAKAAAAHMAAAAoDQAAyA8AACgNAAAIEAAAEBAAACgNAABQDQAAyA8AAFANAAAgEAAAyA8AAFANAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwDgAAdAAAAHUAAAB2AAAAdwAAAAIAAAABAAAAAQAAAAEAAAAAAAAAGA8AAHQAAAB4AAAAdgAAAHcAAAACAAAAAgAAAAIAAAACAAAAAAAAACgPAAB5AAAAegAAAAQAAAAAAAAAOA8AAHsAAAB8AAAABQAAAAAAAABIDwAACAAAAH0AAAABAAAAAAAAAFgPAAB7AAAAfgAAAAUAAAAAAAAAaA8AAHsAAAB/AAAABQAAAAAAAAC4DwAAdAAAAIAAAAB2AAAAdwAAAAMAAAAAAAAAiA8AAHQAAACBAAAAdgAAAHcAAAAEAAAAAAAAADgQAAB0AAAAggAAAHYAAAB3AAAAAgAAAAMAAAADAAAAAwAAAAAAAABIEAAAgwAAAIQAAAAGAAAAAAAAAHgQAACFAAAAhgAAAAcAAAABAAAABQAAAAYAAAACAAAAAAAAAKAQAACFAAAAhwAAAAgAAAADAAAABQAAAAYAAAAEAAAA4BcAAAQYAAAAAAAAsBAAAIgAAACJAAAAAQAAAExBU1ppcABvcGVuAGdldFBvaW50AGdldENvdW50AER5bmFtaWNMQVNaaXAAYWRkRmllbGRGbG9hdGluZwBhZGRGaWVsZFNpZ25lZABhZGRGaWVsZFVuc2lnbmVkAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzdfRUVOU185YWxsb2NhdG9ySVM3X0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFAExBU0YATjZsYXN6aXAxM2ludmFsaWRfbWFnaWNFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUARmlsZSBtYWdpYyBpcyBub3QgdmFsaWQATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk42bGFzemlwMmlvNnJlYWRlcjEwYmFzaWNfZmlsZUlOUzJfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRTExX3ZhbGlkYXRvcnNFdkVVbFJOUzNfNmhlYWRlckVFX05TXzlhbGxvY2F0b3JJU0JfRUVGdlNBX0VFRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlJONmxhc3ppcDJpbzZoZWFkZXJFRUVFAE42bGFzemlwMjFvbGRfc3R5bGVfY29tcHJlc3Npb25FAE42bGFzemlwMTRub3RfY29tcHJlc3NlZEUAVGhlIGZpbGUgc2VlbXMgdG8gaGF2ZSBvbGQgc3R5bGUgY29tcHJlc3Npb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZABUaGUgZmlsZSBkb2Vzbid0IHNlZW0gdG8gYmUgY29tcHJlc3NlZABaTjZsYXN6aXAyaW82cmVhZGVyMTBiYXNpY19maWxlSU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUUxMV92YWxpZGF0b3JzRXZFVWxSTlMwXzZoZWFkZXJFRV8AbGFzemlwIGVuY29kZWQATjZsYXN6aXAxM25vX2xhc3ppcF92bHJFAE42bGFzemlwMjVsYXN6aXBfZm9ybWF0X3Vuc3VwcG9ydGVkRQBPbmx5IExBU3ppcCBQT0lOVFdJU0UgQ0hVTktFRCBkZWNvbXByZXNzb3IgaXMgc3VwcG9ydGVkAE5vIExBU3ppcCBWTFIgd2FzIGZvdW5kIGluIHRoZSBWTFJzIHNlY3Rpb24ATjZsYXN6aXAyMmNodW5rX3RhYmxlX3JlYWRfZXJyb3JFAENodW5rIHRhYmxlIG9mZnNldCA9PSAtMSBpcyBub3Qgc3VwcG9ydGVkIGF0IHRoaXMgdGltZQBONmxhc3ppcDEzbm90X3N1cHBvcnRlZEUATjZsYXN6aXAyNnVua25vd25fY2h1bmtfdGFibGVfZm9ybWF0RQBjaHVua19zaXplID09IHVpbnQubWF4IGlzIG5vdCBzdXBwb3J0ZWQgYXQgdGhpcyB0aW1lLgBUaGVyZSB3YXMgYSBwcm9ibGVtIHJlYWRpbmcgdGhlIGNodW5rIHRhYmxlAFRoZSBjaHVuayB0YWJsZSB2ZXJzaW9uIG51bWJlciBpcyB1bmtub3duAE42bGFzemlwMTFlbmRfb2ZfZmlsZUUAUmVhY2hlZCBFbmQgb2YgZmlsZQBJbnZhbGlkIG51bWJlciBvZiBzeW1ib2xzAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM5X0VFTlNfOWFsbG9jYXRvcklTOV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwMTl1bmtub3duX3NjaGVtYV90eXBlRQBUaGUgTEFaIHNjaGVtYSBpcyBub3QgcmVjb2duaXplZABONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMGR5bmFtaWNfZGVjb21wcmVzc29yRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0NfRUVOU185YWxsb2NhdG9ySVNDX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19maWVsZF9kZWNvbXByZXNzb3JJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNDX0VFRUVFRQBONmxhc3ppcDdmb3JtYXRzMTBiYXNlX2ZpZWxkRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF81ZmllbGRJTlMwXzNsYXM3Z3BzdGltZUVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczdncHN0aW1lRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU0lfRUVOU185YWxsb2NhdG9ySVNJX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfNWZpZWxkSU5TMl8zbGFzN2dwc3RpbWVFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czI2ZHluYW1pY19kZWNvbXByZXNzb3JfZmllbGRJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfNWZpZWxkSU5TMF8zbGFzM3JnYkVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczNyZ2JFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0VfRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTSV9FRU5TXzlhbGxvY2F0b3JJU0lfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl81ZmllbGRJTlMyXzNsYXMzcmdiRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNFX0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzVmaWVsZElOUzBfM2xhczEwZXh0cmFieXRlc0VOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTQ19FRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVNJX0VFTlNfOWFsbG9jYXRvcklTSV9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzVmaWVsZElOUzJfM2xhczEwZXh0cmFieXRlc0VOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRV9FRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRUVFRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTS19FRU5TXzlhbGxvY2F0b3JJU0tfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRUVFRUVFRUUATjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOU18yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOU183c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMwXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMwXzVmaWVsZElOUzBfM2xhczdwb2ludDEwRU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNEX0VFRUVOU0JfSU5TQ183Z3BzdGltZUVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU05fRUVOU185YWxsb2NhdG9ySVNOX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOU184ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlNfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlNfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMF8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMF81ZmllbGRJTlMwXzNsYXM3cG9pbnQxMEVOUzBfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRF9FRUVFTlNCX0lOU0NfM3JnYkVOU0VfSVNIX0VFRUVFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU0pfRUVFRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTTl9FRU5TXzlhbGxvY2F0b3JJU05fRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlMxXzhkZWNvZGVyczEwYXJpdGhtZXRpY0lOUzFfMmlvMThfX2lmc3RyZWFtX3dyYXBwZXJJTlMxXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzJfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzJfNWZpZWxkSU5TMl8zbGFzN3BvaW50MTBFTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0ZfRUVFRU5TRF9JTlNFXzNyZ2JFTlNHX0lTSl9FRUVFRUVFRUVFRQBONmxhc3ppcDdmb3JtYXRzMjFkeW5hbWljX2RlY29tcHJlc3NvcjFJTlNfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TXzdzdHJlYW1zMTNtZW1vcnlfc3RyZWFtRUVFRUVOUzBfMTlyZWNvcmRfZGVjb21wcmVzc29ySUpOUzBfNWZpZWxkSU5TMF8zbGFzN3BvaW50MTBFTlMwXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJU0RfRUVFRU5TQl9JTlNDXzdncHN0aW1lRU5TRV9JU0hfRUVFRU5TQl9JTlNDXzNyZ2JFTlNFX0lTS19FRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyMWR5bmFtaWNfZGVjb21wcmVzc29yMUlOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSU5TMV8yaW8xOF9faWZzdHJlYW1fd3JhcHBlcklOUzFfN3N0cmVhbXMxM21lbW9yeV9zdHJlYW1FRUVFRU5TMl8xOXJlY29yZF9kZWNvbXByZXNzb3JJSk5TMl81ZmllbGRJTlMyXzNsYXM3cG9pbnQxMEVOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElTRl9FRUVFTlNEX0lOU0VfN2dwc3RpbWVFTlNHX0lTSl9FRUVFTlNEX0lOU0VfM3JnYkVOU0dfSVNNX0VFRUVFRUVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJU1FfRUVOU185YWxsb2NhdG9ySVNRX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJTjZsYXN6aXA3Zm9ybWF0czIxZHluYW1pY19kZWNvbXByZXNzb3IxSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJTlMxXzJpbzE4X19pZnN0cmVhbV93cmFwcGVySU5TMV83c3RyZWFtczEzbWVtb3J5X3N0cmVhbUVFRUVFTlMyXzE5cmVjb3JkX2RlY29tcHJlc3NvcklKTlMyXzVmaWVsZElOUzJfM2xhczdwb2ludDEwRU5TMl8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSVNGX0VFRUVOU0RfSU5TRV83Z3BzdGltZUVOU0dfSVNKX0VFRUVOU0RfSU5TRV8zcmdiRU5TR19JU01fRUVFRUVFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUDEwYnVmX3N0cmVhbU5TXzE0ZGVmYXVsdF9kZWxldGVJUzFfRUVOU185YWxsb2NhdG9ySVMxX0VFRUUATlN0M19fMjE0ZGVmYXVsdF9kZWxldGVJMTBidWZfc3RyZWFtRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTNV9FRU5TXzlhbGxvY2F0b3JJUzVfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRUVFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2ZpZWxkX2RlY29tcHJlc3NvcklOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVM4X0VFTlNfOWFsbG9jYXRvcklTOF9FRUVFAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZmllbGRfZGVjb21wcmVzc29ySU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWlFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWlOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElpRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElpTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJak5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWpFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWpOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElqRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElqTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJakVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJYU5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWFFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWFOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElhRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElhTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJYUVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJc05TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXNFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXNOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZElzRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZElzTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJc0VFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJaE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSWhFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSWhOUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEloRUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEloTlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJaEVFRUVFRUVFAE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TXzhkZWNvZGVyczEwYXJpdGhtZXRpY0kxMGJ1Zl9zdHJlYW1FRU5TMF81ZmllbGRJdE5TMF8yMHN0YW5kYXJkX2RpZmZfbWV0aG9kSXRFRUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42bGFzemlwN2Zvcm1hdHMyNmR5bmFtaWNfZGVjb21wcmVzc29yX2ZpZWxkSU5TMV84ZGVjb2RlcnMxMGFyaXRobWV0aWNJMTBidWZfc3RyZWFtRUVOUzJfNWZpZWxkSXROUzJfMjBzdGFuZGFyZF9kaWZmX21ldGhvZEl0RUVFRUVFTlNfMTRkZWZhdWx0X2RlbGV0ZUlTQ19FRU5TXzlhbGxvY2F0b3JJU0NfRUVFRQBOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONmxhc3ppcDdmb3JtYXRzMjZkeW5hbWljX2RlY29tcHJlc3Nvcl9maWVsZElOUzFfOGRlY29kZXJzMTBhcml0aG1ldGljSTEwYnVmX3N0cmVhbUVFTlMyXzVmaWVsZEl0TlMyXzIwc3RhbmRhcmRfZGlmZl9tZXRob2RJdEVFRUVFRUVFADZMQVNaaXAAUDZMQVNaaXAAUEs2TEFTWmlwAGlpAHYAdmkAdmlpaWkAdmlpaQBpaWkAMTNEeW5hbWljTEFTWmlwAFAxM0R5bmFtaWNMQVNaaXAAUEsxM0R5bmFtaWNMQVNaaXAAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABzdGQ6OmJhZF9hbGxvYwBTdDliYWRfYWxsb2MAU3QxMWxvZ2ljX2Vycm9yAFN0MTNydW50aW1lX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IAU3QxMm91dF9vZl9yYW5nZQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyOV9fcG9pbnRlcl90b19tZW1iZXJfdHlwZV9pbmZvRQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAF9fY3hhX2d1YXJkX2FjcXVpcmUgZGV0ZWN0ZWQgcmVjdXJzaXZlIGluaXRpYWxpemF0aW9uAHN0ZDo6YmFkX2Z1bmN0aW9uX2NhbGwATlN0M19fMjE3YmFkX2Z1bmN0aW9uX2NhbGxFAE5TdDNfXzIxNF9fc2hhcmVkX2NvdW50RQBOU3QzX18yMTlfX3NoYXJlZF93ZWFrX2NvdW50RQBtdXRleCBsb2NrIGZhaWxlZABiYXNpY19zdHJpbmcAdW5zcGVjaWZpZWQgZ2VuZXJpY19jYXRlZ29yeSBlcnJvcgBVbmtub3duIGVycm9yICVkAGdlbmVyaWMATlN0M19fMjI0X19nZW5lcmljX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJfX2RvX21lc3NhZ2VFAE5TdDNfXzIxNGVycm9yX2NhdGVnb3J5RQB1bnNwZWNpZmllZCBzeXN0ZW1fY2F0ZWdvcnkgZXJyb3IAc3lzdGVtAE5TdDNfXzIyM19fc3lzdGVtX2Vycm9yX2NhdGVnb3J5RQBOU3QzX18yMTJzeXN0ZW1fZXJyb3JFADogAHZlY3Rvcg==";
|
|
867
862
|
var tempDoublePtr = 22368;
|
|
868
863
|
function demangle(func) {
|
|
@@ -929,15 +924,7 @@
|
|
|
929
924
|
}
|
|
930
925
|
var ___exception_last = 0;
|
|
931
926
|
function ___cxa_throw(ptr, type, destructor) {
|
|
932
|
-
___exception_infos[ptr] = {
|
|
933
|
-
ptr,
|
|
934
|
-
adjusted: [ptr],
|
|
935
|
-
type,
|
|
936
|
-
destructor,
|
|
937
|
-
refcount: 0,
|
|
938
|
-
caught: false,
|
|
939
|
-
rethrown: false
|
|
940
|
-
};
|
|
927
|
+
___exception_infos[ptr] = { ptr, adjusted: [ptr], type, destructor, refcount: 0, caught: false, rethrown: false };
|
|
941
928
|
___exception_last = ptr;
|
|
942
929
|
if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) {
|
|
943
930
|
__ZSt18uncaught_exceptionv.uncaught_exceptions = 1;
|
|
@@ -987,7 +974,7 @@
|
|
|
987
974
|
var char_0 = 48;
|
|
988
975
|
var char_9 = 57;
|
|
989
976
|
function makeLegalFunctionName(name) {
|
|
990
|
-
if (
|
|
977
|
+
if (void 0 === name) {
|
|
991
978
|
return "_unknown";
|
|
992
979
|
}
|
|
993
980
|
name = name.replace(/[^a-zA-Z0-9_]/g, "$");
|
|
@@ -1063,7 +1050,7 @@
|
|
|
1063
1050
|
});
|
|
1064
1051
|
}
|
|
1065
1052
|
});
|
|
1066
|
-
if (unregisteredTypes.length
|
|
1053
|
+
if (0 === unregisteredTypes.length) {
|
|
1067
1054
|
onComplete(typeConverters);
|
|
1068
1055
|
}
|
|
1069
1056
|
}
|
|
@@ -1096,30 +1083,23 @@
|
|
|
1096
1083
|
function __embind_register_bool(rawType, name, size, trueValue, falseValue) {
|
|
1097
1084
|
var shift = getShiftFromSize(size);
|
|
1098
1085
|
name = readLatin1String(name);
|
|
1099
|
-
registerType(rawType, {
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
} else {
|
|
1117
|
-
throw new TypeError("Unknown boolean type size: " + name);
|
|
1118
|
-
}
|
|
1119
|
-
return this["fromWireType"](heap[pointer >> shift]);
|
|
1120
|
-
},
|
|
1121
|
-
destructorFunction: null
|
|
1122
|
-
});
|
|
1086
|
+
registerType(rawType, { name, fromWireType: function(wt) {
|
|
1087
|
+
return !!wt;
|
|
1088
|
+
}, toWireType: function(destructors, o) {
|
|
1089
|
+
return o ? trueValue : falseValue;
|
|
1090
|
+
}, argPackAdvance: 8, readValueFromPointer: function(pointer) {
|
|
1091
|
+
var heap;
|
|
1092
|
+
if (size === 1) {
|
|
1093
|
+
heap = HEAP8;
|
|
1094
|
+
} else if (size === 2) {
|
|
1095
|
+
heap = HEAP16;
|
|
1096
|
+
} else if (size === 4) {
|
|
1097
|
+
heap = HEAP32;
|
|
1098
|
+
} else {
|
|
1099
|
+
throw new TypeError("Unknown boolean type size: " + name);
|
|
1100
|
+
}
|
|
1101
|
+
return this["fromWireType"](heap[pointer >> shift]);
|
|
1102
|
+
}, destructorFunction: null });
|
|
1123
1103
|
}
|
|
1124
1104
|
function ClassHandle_isAliasOf(other) {
|
|
1125
1105
|
if (!(this instanceof ClassHandle)) {
|
|
@@ -1143,15 +1123,7 @@
|
|
|
1143
1123
|
return leftClass === rightClass && left === right;
|
|
1144
1124
|
}
|
|
1145
1125
|
function shallowCopyInternalPointer(o) {
|
|
1146
|
-
return {
|
|
1147
|
-
count: o.count,
|
|
1148
|
-
deleteScheduled: o.deleteScheduled,
|
|
1149
|
-
preservePointerOnDelete: o.preservePointerOnDelete,
|
|
1150
|
-
ptr: o.ptr,
|
|
1151
|
-
ptrType: o.ptrType,
|
|
1152
|
-
smartPtr: o.smartPtr,
|
|
1153
|
-
smartPtrType: o.smartPtrType
|
|
1154
|
-
};
|
|
1126
|
+
return { count: o.count, deleteScheduled: o.deleteScheduled, preservePointerOnDelete: o.preservePointerOnDelete, ptr: o.ptr, ptrType: o.ptrType, smartPtr: o.smartPtr, smartPtrType: o.smartPtrType };
|
|
1155
1127
|
}
|
|
1156
1128
|
function throwInstanceAlreadyDeleted(obj) {
|
|
1157
1129
|
function getInstanceTypeName(handle) {
|
|
@@ -1171,13 +1143,13 @@
|
|
|
1171
1143
|
}
|
|
1172
1144
|
function releaseClassHandle($$) {
|
|
1173
1145
|
$$.count.value -= 1;
|
|
1174
|
-
var toDelete = $$.count.value
|
|
1146
|
+
var toDelete = 0 === $$.count.value;
|
|
1175
1147
|
if (toDelete) {
|
|
1176
1148
|
runDestructor($$);
|
|
1177
1149
|
}
|
|
1178
1150
|
}
|
|
1179
1151
|
function attachFinalizer(handle) {
|
|
1180
|
-
if (typeof FinalizationGroup
|
|
1152
|
+
if ("undefined" === typeof FinalizationGroup) {
|
|
1181
1153
|
attachFinalizer = function(handle2) {
|
|
1182
1154
|
return handle2;
|
|
1183
1155
|
};
|
|
@@ -1210,11 +1182,7 @@
|
|
|
1210
1182
|
this.$$.count.value += 1;
|
|
1211
1183
|
return this;
|
|
1212
1184
|
} else {
|
|
1213
|
-
var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), {
|
|
1214
|
-
$$: {
|
|
1215
|
-
value: shallowCopyInternalPointer(this.$$)
|
|
1216
|
-
}
|
|
1217
|
-
}));
|
|
1185
|
+
var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { $$: { value: shallowCopyInternalPointer(this.$$) } }));
|
|
1218
1186
|
clone.$$.count.value += 1;
|
|
1219
1187
|
clone.$$.deleteScheduled = false;
|
|
1220
1188
|
return clone;
|
|
@@ -1271,7 +1239,7 @@
|
|
|
1271
1239
|
}
|
|
1272
1240
|
var registeredPointers = {};
|
|
1273
1241
|
function ensureOverloadTable(proto, methodName, humanName) {
|
|
1274
|
-
if (proto[methodName].overloadTable
|
|
1242
|
+
if (void 0 === proto[methodName].overloadTable) {
|
|
1275
1243
|
var prevFunc = proto[methodName];
|
|
1276
1244
|
proto[methodName] = function() {
|
|
1277
1245
|
if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) {
|
|
@@ -1285,7 +1253,7 @@
|
|
|
1285
1253
|
}
|
|
1286
1254
|
function exposePublicSymbol(name, value, numArguments) {
|
|
1287
1255
|
if (Module2.hasOwnProperty(name)) {
|
|
1288
|
-
if (
|
|
1256
|
+
if (void 0 === numArguments || void 0 !== Module2[name].overloadTable && void 0 !== Module2[name].overloadTable[numArguments]) {
|
|
1289
1257
|
throwBindingError("Cannot register public name '" + name + "' twice");
|
|
1290
1258
|
}
|
|
1291
1259
|
ensureOverloadTable(Module2, name, name);
|
|
@@ -1295,7 +1263,7 @@
|
|
|
1295
1263
|
Module2[name].overloadTable[numArguments] = value;
|
|
1296
1264
|
} else {
|
|
1297
1265
|
Module2[name] = value;
|
|
1298
|
-
if (
|
|
1266
|
+
if (void 0 !== numArguments) {
|
|
1299
1267
|
Module2[name].numArguments = numArguments;
|
|
1300
1268
|
}
|
|
1301
1269
|
}
|
|
@@ -1366,7 +1334,7 @@
|
|
|
1366
1334
|
var handleClass = handle.$$.ptrType.registeredClass;
|
|
1367
1335
|
ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass);
|
|
1368
1336
|
if (this.isSmartPointer) {
|
|
1369
|
-
if (handle.$$.smartPtr
|
|
1337
|
+
if (void 0 === handle.$$.smartPtr) {
|
|
1370
1338
|
throwBindingError("Passing raw pointer to smart pointer is illegal");
|
|
1371
1339
|
}
|
|
1372
1340
|
switch (this.sharingPolicy) {
|
|
@@ -1442,7 +1410,7 @@
|
|
|
1442
1410
|
if (ptrClass === desiredClass) {
|
|
1443
1411
|
return ptr;
|
|
1444
1412
|
}
|
|
1445
|
-
if (desiredClass.baseClass
|
|
1413
|
+
if (void 0 === desiredClass.baseClass) {
|
|
1446
1414
|
return null;
|
|
1447
1415
|
}
|
|
1448
1416
|
var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
|
|
@@ -1499,14 +1467,8 @@
|
|
|
1499
1467
|
if (hasSmartPtrType !== hasSmartPtr) {
|
|
1500
1468
|
throwInternalError("Both smartPtrType and smartPtr must be specified");
|
|
1501
1469
|
}
|
|
1502
|
-
record.count = {
|
|
1503
|
-
|
|
1504
|
-
};
|
|
1505
|
-
return attachFinalizer(Object.create(prototype, {
|
|
1506
|
-
$$: {
|
|
1507
|
-
value: record
|
|
1508
|
-
}
|
|
1509
|
-
}));
|
|
1470
|
+
record.count = { value: 1 };
|
|
1471
|
+
return attachFinalizer(Object.create(prototype, { $$: { value: record } }));
|
|
1510
1472
|
}
|
|
1511
1473
|
function RegisteredPointer_fromWireType(ptr) {
|
|
1512
1474
|
var rawPointer = this.getPointee(ptr);
|
|
@@ -1515,8 +1477,8 @@
|
|
|
1515
1477
|
return null;
|
|
1516
1478
|
}
|
|
1517
1479
|
var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer);
|
|
1518
|
-
if (
|
|
1519
|
-
if (registeredInstance.$$.count.value
|
|
1480
|
+
if (void 0 !== registeredInstance) {
|
|
1481
|
+
if (0 === registeredInstance.$$.count.value) {
|
|
1520
1482
|
registeredInstance.$$.ptr = rawPointer;
|
|
1521
1483
|
registeredInstance.$$.smartPtr = ptr;
|
|
1522
1484
|
return registeredInstance["clone"]();
|
|
@@ -1528,17 +1490,9 @@
|
|
|
1528
1490
|
}
|
|
1529
1491
|
function makeDefaultHandle() {
|
|
1530
1492
|
if (this.isSmartPointer) {
|
|
1531
|
-
return makeClassHandle(this.registeredClass.instancePrototype, {
|
|
1532
|
-
ptrType: this.pointeeType,
|
|
1533
|
-
ptr: rawPointer,
|
|
1534
|
-
smartPtrType: this,
|
|
1535
|
-
smartPtr: ptr
|
|
1536
|
-
});
|
|
1493
|
+
return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this.pointeeType, ptr: rawPointer, smartPtrType: this, smartPtr: ptr });
|
|
1537
1494
|
} else {
|
|
1538
|
-
return makeClassHandle(this.registeredClass.instancePrototype, {
|
|
1539
|
-
ptrType: this,
|
|
1540
|
-
ptr
|
|
1541
|
-
});
|
|
1495
|
+
return makeClassHandle(this.registeredClass.instancePrototype, { ptrType: this, ptr });
|
|
1542
1496
|
}
|
|
1543
1497
|
}
|
|
1544
1498
|
var actualType = this.registeredClass.getActualType(rawPointer);
|
|
@@ -1557,17 +1511,9 @@
|
|
|
1557
1511
|
return makeDefaultHandle.call(this);
|
|
1558
1512
|
}
|
|
1559
1513
|
if (this.isSmartPointer) {
|
|
1560
|
-
return makeClassHandle(toType.registeredClass.instancePrototype, {
|
|
1561
|
-
ptrType: toType,
|
|
1562
|
-
ptr: dp,
|
|
1563
|
-
smartPtrType: this,
|
|
1564
|
-
smartPtr: ptr
|
|
1565
|
-
});
|
|
1514
|
+
return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp, smartPtrType: this, smartPtr: ptr });
|
|
1566
1515
|
} else {
|
|
1567
|
-
return makeClassHandle(toType.registeredClass.instancePrototype, {
|
|
1568
|
-
ptrType: toType,
|
|
1569
|
-
ptr: dp
|
|
1570
|
-
});
|
|
1516
|
+
return makeClassHandle(toType.registeredClass.instancePrototype, { ptrType: toType, ptr: dp });
|
|
1571
1517
|
}
|
|
1572
1518
|
}
|
|
1573
1519
|
function init_RegisteredPointer() {
|
|
@@ -1606,7 +1552,7 @@
|
|
|
1606
1552
|
if (!Module2.hasOwnProperty(name)) {
|
|
1607
1553
|
throwInternalError("Replacing nonexistant public symbol");
|
|
1608
1554
|
}
|
|
1609
|
-
if (Module2[name].overloadTable
|
|
1555
|
+
if (void 0 !== Module2[name].overloadTable && void 0 !== numArguments) {
|
|
1610
1556
|
Module2[name].overloadTable[numArguments] = value;
|
|
1611
1557
|
} else {
|
|
1612
1558
|
Module2[name] = value;
|
|
@@ -1672,9 +1618,7 @@
|
|
|
1672
1618
|
rawDestructor = embind__requireFunction(destructorSignature, rawDestructor);
|
|
1673
1619
|
var legalFunctionName = makeLegalFunctionName(name);
|
|
1674
1620
|
exposePublicSymbol(legalFunctionName, function() {
|
|
1675
|
-
throwUnboundTypeError("Cannot construct " + name + " due to unbound types", [
|
|
1676
|
-
baseClassRawType
|
|
1677
|
-
]);
|
|
1621
|
+
throwUnboundTypeError("Cannot construct " + name + " due to unbound types", [baseClassRawType]);
|
|
1678
1622
|
});
|
|
1679
1623
|
whenDependentTypesAreResolved([rawType, rawPointerType, rawConstPointerType], baseClassRawType ? [baseClassRawType] : [], function(base) {
|
|
1680
1624
|
base = base[0];
|
|
@@ -1690,29 +1634,22 @@
|
|
|
1690
1634
|
if (Object.getPrototypeOf(this) !== instancePrototype) {
|
|
1691
1635
|
throw new BindingError("Use 'new' to construct " + name);
|
|
1692
1636
|
}
|
|
1693
|
-
if (registeredClass.constructor_body
|
|
1637
|
+
if (void 0 === registeredClass.constructor_body) {
|
|
1694
1638
|
throw new BindingError(name + " has no accessible constructor");
|
|
1695
1639
|
}
|
|
1696
1640
|
var body = registeredClass.constructor_body[arguments.length];
|
|
1697
|
-
if (
|
|
1641
|
+
if (void 0 === body) {
|
|
1698
1642
|
throw new BindingError("Tried to invoke ctor of " + name + " with invalid number of parameters (" + arguments.length + ") - expected (" + Object.keys(registeredClass.constructor_body).toString() + ") parameters instead!");
|
|
1699
1643
|
}
|
|
1700
1644
|
return body.apply(this, arguments);
|
|
1701
1645
|
});
|
|
1702
|
-
var instancePrototype = Object.create(basePrototype, {
|
|
1703
|
-
constructor: {
|
|
1704
|
-
value: constructor
|
|
1705
|
-
}
|
|
1706
|
-
});
|
|
1646
|
+
var instancePrototype = Object.create(basePrototype, { constructor: { value: constructor } });
|
|
1707
1647
|
constructor.prototype = instancePrototype;
|
|
1708
1648
|
var registeredClass = new RegisteredClass(name, constructor, instancePrototype, rawDestructor, baseClass, getActualType, upcast, downcast);
|
|
1709
1649
|
var referenceConverter = new RegisteredPointer(name, registeredClass, true, false, false);
|
|
1710
1650
|
var pointerConverter = new RegisteredPointer(name + "*", registeredClass, false, false, false);
|
|
1711
1651
|
var constPointerConverter = new RegisteredPointer(name + " const*", registeredClass, false, true, false);
|
|
1712
|
-
registeredPointers[rawType] = {
|
|
1713
|
-
pointerType: pointerConverter,
|
|
1714
|
-
constPointerType: constPointerConverter
|
|
1715
|
-
};
|
|
1652
|
+
registeredPointers[rawType] = { pointerType: pointerConverter, constPointerType: constPointerConverter };
|
|
1716
1653
|
replacePublicSymbol(legalFunctionName, constructor);
|
|
1717
1654
|
return [referenceConverter, pointerConverter, constPointerConverter];
|
|
1718
1655
|
});
|
|
@@ -1740,10 +1677,10 @@
|
|
|
1740
1677
|
whenDependentTypesAreResolved([], [rawClassType], function(classType) {
|
|
1741
1678
|
classType = classType[0];
|
|
1742
1679
|
var humanName = "constructor " + classType.name;
|
|
1743
|
-
if (classType.registeredClass.constructor_body
|
|
1680
|
+
if (void 0 === classType.registeredClass.constructor_body) {
|
|
1744
1681
|
classType.registeredClass.constructor_body = [];
|
|
1745
1682
|
}
|
|
1746
|
-
if (classType.registeredClass.constructor_body[argCount - 1]
|
|
1683
|
+
if (void 0 !== classType.registeredClass.constructor_body[argCount - 1]) {
|
|
1747
1684
|
throw new BindingError("Cannot register multiple constructors with identical number of parameters (" + (argCount - 1) + ") for class '" + classType.name + "'! Overload resolution is currently only performed using the parameter count, not actual type info!");
|
|
1748
1685
|
}
|
|
1749
1686
|
classType.registeredClass.constructor_body[argCount - 1] = function unboundTypeHandler() {
|
|
@@ -1805,14 +1742,7 @@
|
|
|
1805
1742
|
}
|
|
1806
1743
|
var dtorStack = needsDestructorStack ? "destructors" : "null";
|
|
1807
1744
|
var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"];
|
|
1808
|
-
var args2 = [
|
|
1809
|
-
throwBindingError,
|
|
1810
|
-
cppInvokerFunc,
|
|
1811
|
-
cppTargetFunc,
|
|
1812
|
-
runDestructors,
|
|
1813
|
-
argTypes[0],
|
|
1814
|
-
argTypes[1]
|
|
1815
|
-
];
|
|
1745
|
+
var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]];
|
|
1816
1746
|
if (isClassMethodFunc) {
|
|
1817
1747
|
invokerFnBody += "var thisWired = classParam.toWireType(" + dtorStack + ", this);\n";
|
|
1818
1748
|
}
|
|
@@ -1861,7 +1791,7 @@
|
|
|
1861
1791
|
}
|
|
1862
1792
|
var proto = classType.registeredClass.instancePrototype;
|
|
1863
1793
|
var method = proto[methodName];
|
|
1864
|
-
if (
|
|
1794
|
+
if (void 0 === method || void 0 === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2) {
|
|
1865
1795
|
unboundTypesHandler.argCount = argCount - 2;
|
|
1866
1796
|
unboundTypesHandler.className = classType.name;
|
|
1867
1797
|
proto[methodName] = unboundTypesHandler;
|
|
@@ -1871,7 +1801,7 @@
|
|
|
1871
1801
|
}
|
|
1872
1802
|
whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) {
|
|
1873
1803
|
var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context);
|
|
1874
|
-
if (proto[methodName].overloadTable
|
|
1804
|
+
if (void 0 === proto[methodName].overloadTable) {
|
|
1875
1805
|
memberFunction.argCount = argCount - 2;
|
|
1876
1806
|
proto[methodName] = memberFunction;
|
|
1877
1807
|
} else {
|
|
@@ -1883,23 +1813,9 @@
|
|
|
1883
1813
|
});
|
|
1884
1814
|
}
|
|
1885
1815
|
var emval_free_list = [];
|
|
1886
|
-
var emval_handle_array = [
|
|
1887
|
-
{},
|
|
1888
|
-
{
|
|
1889
|
-
value: void 0
|
|
1890
|
-
},
|
|
1891
|
-
{
|
|
1892
|
-
value: null
|
|
1893
|
-
},
|
|
1894
|
-
{
|
|
1895
|
-
value: true
|
|
1896
|
-
},
|
|
1897
|
-
{
|
|
1898
|
-
value: false
|
|
1899
|
-
}
|
|
1900
|
-
];
|
|
1816
|
+
var emval_handle_array = [{}, { value: void 0 }, { value: null }, { value: true }, { value: false }];
|
|
1901
1817
|
function __emval_decref(handle) {
|
|
1902
|
-
if (handle > 4 && --emval_handle_array[handle].refcount
|
|
1818
|
+
if (handle > 4 && 0 === --emval_handle_array[handle].refcount) {
|
|
1903
1819
|
emval_handle_array[handle] = void 0;
|
|
1904
1820
|
emval_free_list.push(handle);
|
|
1905
1821
|
}
|
|
@@ -1941,30 +1857,20 @@
|
|
|
1941
1857
|
}
|
|
1942
1858
|
default: {
|
|
1943
1859
|
var handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length;
|
|
1944
|
-
emval_handle_array[handle] = {
|
|
1945
|
-
refcount: 1,
|
|
1946
|
-
value
|
|
1947
|
-
};
|
|
1860
|
+
emval_handle_array[handle] = { refcount: 1, value };
|
|
1948
1861
|
return handle;
|
|
1949
1862
|
}
|
|
1950
1863
|
}
|
|
1951
1864
|
}
|
|
1952
1865
|
function __embind_register_emval(rawType, name) {
|
|
1953
1866
|
name = readLatin1String(name);
|
|
1954
|
-
registerType(rawType, {
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
toWireType: function(destructors, value) {
|
|
1962
|
-
return __emval_register(value);
|
|
1963
|
-
},
|
|
1964
|
-
argPackAdvance: 8,
|
|
1965
|
-
readValueFromPointer: simpleReadValueFromPointer,
|
|
1966
|
-
destructorFunction: null
|
|
1967
|
-
});
|
|
1867
|
+
registerType(rawType, { name, fromWireType: function(handle) {
|
|
1868
|
+
var rv = emval_handle_array[handle].value;
|
|
1869
|
+
__emval_decref(handle);
|
|
1870
|
+
return rv;
|
|
1871
|
+
}, toWireType: function(destructors, value) {
|
|
1872
|
+
return __emval_register(value);
|
|
1873
|
+
}, argPackAdvance: 8, readValueFromPointer: simpleReadValueFromPointer, destructorFunction: null });
|
|
1968
1874
|
}
|
|
1969
1875
|
function _embind_repr(v) {
|
|
1970
1876
|
if (v === null) {
|
|
@@ -1994,21 +1900,14 @@
|
|
|
1994
1900
|
function __embind_register_float(rawType, name, size) {
|
|
1995
1901
|
var shift = getShiftFromSize(size);
|
|
1996
1902
|
name = readLatin1String(name);
|
|
1997
|
-
registerType(rawType, {
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
}
|
|
2006
|
-
return value;
|
|
2007
|
-
},
|
|
2008
|
-
argPackAdvance: 8,
|
|
2009
|
-
readValueFromPointer: floatReadValueFromPointer(name, shift),
|
|
2010
|
-
destructorFunction: null
|
|
2011
|
-
});
|
|
1903
|
+
registerType(rawType, { name, fromWireType: function(value) {
|
|
1904
|
+
return value;
|
|
1905
|
+
}, toWireType: function(destructors, value) {
|
|
1906
|
+
if (typeof value !== "number" && typeof value !== "boolean") {
|
|
1907
|
+
throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name);
|
|
1908
|
+
}
|
|
1909
|
+
return value;
|
|
1910
|
+
}, argPackAdvance: 8, readValueFromPointer: floatReadValueFromPointer(name, shift), destructorFunction: null });
|
|
2012
1911
|
}
|
|
2013
1912
|
function integerReadValueFromPointer(name, shift, signed) {
|
|
2014
1913
|
switch (shift) {
|
|
@@ -2050,34 +1949,18 @@
|
|
|
2050
1949
|
};
|
|
2051
1950
|
}
|
|
2052
1951
|
var isUnsignedType = name.indexOf("unsigned") != -1;
|
|
2053
|
-
registerType(primitiveType, {
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
}
|
|
2063
|
-
return isUnsignedType ? value >>> 0 : value | 0;
|
|
2064
|
-
},
|
|
2065
|
-
argPackAdvance: 8,
|
|
2066
|
-
readValueFromPointer: integerReadValueFromPointer(name, shift, minRange !== 0),
|
|
2067
|
-
destructorFunction: null
|
|
2068
|
-
});
|
|
1952
|
+
registerType(primitiveType, { name, fromWireType, toWireType: function(destructors, value) {
|
|
1953
|
+
if (typeof value !== "number" && typeof value !== "boolean") {
|
|
1954
|
+
throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name);
|
|
1955
|
+
}
|
|
1956
|
+
if (value < minRange || value > maxRange) {
|
|
1957
|
+
throw new TypeError('Passing a number "' + _embind_repr(value) + '" from JS side to C/C++ side to an argument of type "' + name + '", which is outside the valid range [' + minRange + ", " + maxRange + "]!");
|
|
1958
|
+
}
|
|
1959
|
+
return isUnsignedType ? value >>> 0 : value | 0;
|
|
1960
|
+
}, argPackAdvance: 8, readValueFromPointer: integerReadValueFromPointer(name, shift, minRange !== 0), destructorFunction: null });
|
|
2069
1961
|
}
|
|
2070
1962
|
function __embind_register_memory_view(rawType, dataTypeIndex, name) {
|
|
2071
|
-
var typeMapping = [
|
|
2072
|
-
Int8Array,
|
|
2073
|
-
Uint8Array,
|
|
2074
|
-
Int16Array,
|
|
2075
|
-
Uint16Array,
|
|
2076
|
-
Int32Array,
|
|
2077
|
-
Uint32Array,
|
|
2078
|
-
Float32Array,
|
|
2079
|
-
Float64Array
|
|
2080
|
-
];
|
|
1963
|
+
var typeMapping = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array];
|
|
2081
1964
|
var TA = typeMapping[dataTypeIndex];
|
|
2082
1965
|
function decodeMemoryView(handle) {
|
|
2083
1966
|
handle = handle >> 2;
|
|
@@ -2087,99 +1970,85 @@
|
|
|
2087
1970
|
return new TA(buffer, data2, size);
|
|
2088
1971
|
}
|
|
2089
1972
|
name = readLatin1String(name);
|
|
2090
|
-
registerType(rawType, {
|
|
2091
|
-
name,
|
|
2092
|
-
fromWireType: decodeMemoryView,
|
|
2093
|
-
argPackAdvance: 8,
|
|
2094
|
-
readValueFromPointer: decodeMemoryView
|
|
2095
|
-
}, {
|
|
2096
|
-
ignoreDuplicateRegistrations: true
|
|
2097
|
-
});
|
|
1973
|
+
registerType(rawType, { name, fromWireType: decodeMemoryView, argPackAdvance: 8, readValueFromPointer: decodeMemoryView }, { ignoreDuplicateRegistrations: true });
|
|
2098
1974
|
}
|
|
2099
1975
|
function __embind_register_std_string(rawType, name) {
|
|
2100
1976
|
name = readLatin1String(name);
|
|
2101
1977
|
var stdStringIsUTF8 = name === "std::string";
|
|
2102
|
-
registerType(rawType, {
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
var
|
|
2107
|
-
|
|
2108
|
-
var
|
|
2109
|
-
|
|
2110
|
-
var
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
str += String.fromCharCode(0);
|
|
2118
|
-
str += stringSegment;
|
|
2119
|
-
}
|
|
2120
|
-
decodeStartPtr = currentBytePtr + 1;
|
|
1978
|
+
registerType(rawType, { name, fromWireType: function(value) {
|
|
1979
|
+
var length = HEAPU32[value >> 2];
|
|
1980
|
+
var str;
|
|
1981
|
+
if (stdStringIsUTF8) {
|
|
1982
|
+
var decodeStartPtr = value + 4;
|
|
1983
|
+
for (var i = 0; i <= length; ++i) {
|
|
1984
|
+
var currentBytePtr = value + 4 + i;
|
|
1985
|
+
if (HEAPU8[currentBytePtr] == 0 || i == length) {
|
|
1986
|
+
var maxRead = currentBytePtr - decodeStartPtr;
|
|
1987
|
+
var stringSegment = UTF8ToString(decodeStartPtr, maxRead);
|
|
1988
|
+
if (str === void 0) {
|
|
1989
|
+
str = stringSegment;
|
|
1990
|
+
} else {
|
|
1991
|
+
str += String.fromCharCode(0);
|
|
1992
|
+
str += stringSegment;
|
|
2121
1993
|
}
|
|
1994
|
+
decodeStartPtr = currentBytePtr + 1;
|
|
2122
1995
|
}
|
|
2123
|
-
} else {
|
|
2124
|
-
var a = new Array(length);
|
|
2125
|
-
for (var i = 0; i < length; ++i) {
|
|
2126
|
-
a[i] = String.fromCharCode(HEAPU8[value + 4 + i]);
|
|
2127
|
-
}
|
|
2128
|
-
str = a.join("");
|
|
2129
|
-
}
|
|
2130
|
-
_free(value);
|
|
2131
|
-
return str;
|
|
2132
|
-
},
|
|
2133
|
-
toWireType: function(destructors, value) {
|
|
2134
|
-
if (value instanceof ArrayBuffer) {
|
|
2135
|
-
value = new Uint8Array(value);
|
|
2136
1996
|
}
|
|
2137
|
-
|
|
2138
|
-
var
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
}
|
|
2142
|
-
if (stdStringIsUTF8 && valueIsOfTypeString) {
|
|
2143
|
-
getLength = function() {
|
|
2144
|
-
return lengthBytesUTF8(value);
|
|
2145
|
-
};
|
|
2146
|
-
} else {
|
|
2147
|
-
getLength = function() {
|
|
2148
|
-
return value.length;
|
|
2149
|
-
};
|
|
1997
|
+
} else {
|
|
1998
|
+
var a = new Array(length);
|
|
1999
|
+
for (var i = 0; i < length; ++i) {
|
|
2000
|
+
a[i] = String.fromCharCode(HEAPU8[value + 4 + i]);
|
|
2150
2001
|
}
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2002
|
+
str = a.join("");
|
|
2003
|
+
}
|
|
2004
|
+
_free(value);
|
|
2005
|
+
return str;
|
|
2006
|
+
}, toWireType: function(destructors, value) {
|
|
2007
|
+
if (value instanceof ArrayBuffer) {
|
|
2008
|
+
value = new Uint8Array(value);
|
|
2009
|
+
}
|
|
2010
|
+
var getLength;
|
|
2011
|
+
var valueIsOfTypeString = typeof value === "string";
|
|
2012
|
+
if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) {
|
|
2013
|
+
throwBindingError("Cannot pass non-string to std::string");
|
|
2014
|
+
}
|
|
2015
|
+
if (stdStringIsUTF8 && valueIsOfTypeString) {
|
|
2016
|
+
getLength = function() {
|
|
2017
|
+
return lengthBytesUTF8(value);
|
|
2018
|
+
};
|
|
2019
|
+
} else {
|
|
2020
|
+
getLength = function() {
|
|
2021
|
+
return value.length;
|
|
2022
|
+
};
|
|
2023
|
+
}
|
|
2024
|
+
var length = getLength();
|
|
2025
|
+
var ptr = _malloc(4 + length + 1);
|
|
2026
|
+
HEAPU32[ptr >> 2] = length;
|
|
2027
|
+
if (stdStringIsUTF8 && valueIsOfTypeString) {
|
|
2028
|
+
stringToUTF8(value, ptr + 4, length + 1);
|
|
2029
|
+
} else {
|
|
2030
|
+
if (valueIsOfTypeString) {
|
|
2031
|
+
for (var i = 0; i < length; ++i) {
|
|
2032
|
+
var charCode = value.charCodeAt(i);
|
|
2033
|
+
if (charCode > 255) {
|
|
2034
|
+
_free(ptr);
|
|
2035
|
+
throwBindingError("String has UTF-16 code units that do not fit in 8 bits");
|
|
2169
2036
|
}
|
|
2037
|
+
HEAPU8[ptr + 4 + i] = charCode;
|
|
2038
|
+
}
|
|
2039
|
+
} else {
|
|
2040
|
+
for (var i = 0; i < length; ++i) {
|
|
2041
|
+
HEAPU8[ptr + 4 + i] = value[i];
|
|
2170
2042
|
}
|
|
2171
2043
|
}
|
|
2172
|
-
if (destructors !== null) {
|
|
2173
|
-
destructors.push(_free, ptr);
|
|
2174
|
-
}
|
|
2175
|
-
return ptr;
|
|
2176
|
-
},
|
|
2177
|
-
argPackAdvance: 8,
|
|
2178
|
-
readValueFromPointer: simpleReadValueFromPointer,
|
|
2179
|
-
destructorFunction: function(ptr) {
|
|
2180
|
-
_free(ptr);
|
|
2181
2044
|
}
|
|
2182
|
-
|
|
2045
|
+
if (destructors !== null) {
|
|
2046
|
+
destructors.push(_free, ptr);
|
|
2047
|
+
}
|
|
2048
|
+
return ptr;
|
|
2049
|
+
}, argPackAdvance: 8, readValueFromPointer: simpleReadValueFromPointer, destructorFunction: function(ptr) {
|
|
2050
|
+
_free(ptr);
|
|
2051
|
+
} });
|
|
2183
2052
|
}
|
|
2184
2053
|
function __embind_register_std_wstring(rawType, charSize, name) {
|
|
2185
2054
|
name = readLatin1String(name);
|
|
@@ -2201,63 +2070,50 @@
|
|
|
2201
2070
|
};
|
|
2202
2071
|
shift = 2;
|
|
2203
2072
|
}
|
|
2204
|
-
registerType(rawType, {
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
var
|
|
2211
|
-
|
|
2212
|
-
var
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
str += String.fromCharCode(0);
|
|
2220
|
-
str += stringSegment;
|
|
2221
|
-
}
|
|
2222
|
-
decodeStartPtr = currentBytePtr + charSize;
|
|
2073
|
+
registerType(rawType, { name, fromWireType: function(value) {
|
|
2074
|
+
var length = HEAPU32[value >> 2];
|
|
2075
|
+
var HEAP = getHeap();
|
|
2076
|
+
var str;
|
|
2077
|
+
var decodeStartPtr = value + 4;
|
|
2078
|
+
for (var i = 0; i <= length; ++i) {
|
|
2079
|
+
var currentBytePtr = value + 4 + i * charSize;
|
|
2080
|
+
if (HEAP[currentBytePtr >> shift] == 0 || i == length) {
|
|
2081
|
+
var maxReadBytes = currentBytePtr - decodeStartPtr;
|
|
2082
|
+
var stringSegment = decodeString(decodeStartPtr, maxReadBytes);
|
|
2083
|
+
if (str === void 0) {
|
|
2084
|
+
str = stringSegment;
|
|
2085
|
+
} else {
|
|
2086
|
+
str += String.fromCharCode(0);
|
|
2087
|
+
str += stringSegment;
|
|
2223
2088
|
}
|
|
2089
|
+
decodeStartPtr = currentBytePtr + charSize;
|
|
2224
2090
|
}
|
|
2225
|
-
_free(value);
|
|
2226
|
-
return str;
|
|
2227
|
-
},
|
|
2228
|
-
toWireType: function(destructors, value) {
|
|
2229
|
-
if (!(typeof value === "string")) {
|
|
2230
|
-
throwBindingError("Cannot pass non-string to C++ string type " + name);
|
|
2231
|
-
}
|
|
2232
|
-
var length = lengthBytesUTF(value);
|
|
2233
|
-
var ptr = _malloc(4 + length + charSize);
|
|
2234
|
-
HEAPU32[ptr >> 2] = length >> shift;
|
|
2235
|
-
encodeString(value, ptr + 4, length + charSize);
|
|
2236
|
-
if (destructors !== null) {
|
|
2237
|
-
destructors.push(_free, ptr);
|
|
2238
|
-
}
|
|
2239
|
-
return ptr;
|
|
2240
|
-
},
|
|
2241
|
-
argPackAdvance: 8,
|
|
2242
|
-
readValueFromPointer: simpleReadValueFromPointer,
|
|
2243
|
-
destructorFunction: function(ptr) {
|
|
2244
|
-
_free(ptr);
|
|
2245
2091
|
}
|
|
2246
|
-
|
|
2092
|
+
_free(value);
|
|
2093
|
+
return str;
|
|
2094
|
+
}, toWireType: function(destructors, value) {
|
|
2095
|
+
if (!(typeof value === "string")) {
|
|
2096
|
+
throwBindingError("Cannot pass non-string to C++ string type " + name);
|
|
2097
|
+
}
|
|
2098
|
+
var length = lengthBytesUTF(value);
|
|
2099
|
+
var ptr = _malloc(4 + length + charSize);
|
|
2100
|
+
HEAPU32[ptr >> 2] = length >> shift;
|
|
2101
|
+
encodeString(value, ptr + 4, length + charSize);
|
|
2102
|
+
if (destructors !== null) {
|
|
2103
|
+
destructors.push(_free, ptr);
|
|
2104
|
+
}
|
|
2105
|
+
return ptr;
|
|
2106
|
+
}, argPackAdvance: 8, readValueFromPointer: simpleReadValueFromPointer, destructorFunction: function(ptr) {
|
|
2107
|
+
_free(ptr);
|
|
2108
|
+
} });
|
|
2247
2109
|
}
|
|
2248
2110
|
function __embind_register_void(rawType, name) {
|
|
2249
2111
|
name = readLatin1String(name);
|
|
2250
|
-
registerType(rawType, {
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
return void 0;
|
|
2256
|
-
},
|
|
2257
|
-
toWireType: function(destructors, o) {
|
|
2258
|
-
return void 0;
|
|
2259
|
-
}
|
|
2260
|
-
});
|
|
2112
|
+
registerType(rawType, { isVoid: true, name, argPackAdvance: 0, fromWireType: function() {
|
|
2113
|
+
return void 0;
|
|
2114
|
+
}, toWireType: function(destructors, o) {
|
|
2115
|
+
return void 0;
|
|
2116
|
+
} });
|
|
2261
2117
|
}
|
|
2262
2118
|
function _abort() {
|
|
2263
2119
|
abort();
|
|
@@ -2353,48 +2209,8 @@
|
|
|
2353
2209
|
}
|
|
2354
2210
|
return intArrayFromBase64(filename.slice(dataURIPrefix.length));
|
|
2355
2211
|
}
|
|
2356
|
-
var asmGlobalArg = {
|
|
2357
|
-
|
|
2358
|
-
Int8Array,
|
|
2359
|
-
Int16Array,
|
|
2360
|
-
Int32Array,
|
|
2361
|
-
Uint8Array,
|
|
2362
|
-
Uint16Array,
|
|
2363
|
-
Float32Array,
|
|
2364
|
-
Float64Array
|
|
2365
|
-
};
|
|
2366
|
-
var asmLibraryArg = {
|
|
2367
|
-
A: _emscripten_memcpy_big,
|
|
2368
|
-
B: _emscripten_resize_heap,
|
|
2369
|
-
C: _llvm_trap,
|
|
2370
|
-
D: tempDoublePtr,
|
|
2371
|
-
a: abort,
|
|
2372
|
-
b: setTempRet0,
|
|
2373
|
-
c: getTempRet0,
|
|
2374
|
-
d: ___cxa_allocate_exception,
|
|
2375
|
-
e: ___cxa_begin_catch,
|
|
2376
|
-
f: ___cxa_throw,
|
|
2377
|
-
g: ___cxa_uncaught_exceptions,
|
|
2378
|
-
h: ___exception_addRef,
|
|
2379
|
-
i: ___exception_deAdjust,
|
|
2380
|
-
j: ___gxx_personality_v0,
|
|
2381
|
-
k: __embind_register_bool,
|
|
2382
|
-
l: __embind_register_class,
|
|
2383
|
-
m: __embind_register_class_constructor,
|
|
2384
|
-
n: __embind_register_class_function,
|
|
2385
|
-
o: __embind_register_emval,
|
|
2386
|
-
p: __embind_register_float,
|
|
2387
|
-
q: __embind_register_integer,
|
|
2388
|
-
r: __embind_register_memory_view,
|
|
2389
|
-
s: __embind_register_std_string,
|
|
2390
|
-
t: __embind_register_std_wstring,
|
|
2391
|
-
u: __embind_register_void,
|
|
2392
|
-
v: __emval_decref,
|
|
2393
|
-
w: __emval_register,
|
|
2394
|
-
x: _abort,
|
|
2395
|
-
y: _embind_repr,
|
|
2396
|
-
z: _emscripten_get_heap_size
|
|
2397
|
-
};
|
|
2212
|
+
var asmGlobalArg = { Math, Int8Array, Int16Array, Int32Array, Uint8Array, Uint16Array, Float32Array, Float64Array };
|
|
2213
|
+
var asmLibraryArg = { A: _emscripten_memcpy_big, B: _emscripten_resize_heap, C: _llvm_trap, D: tempDoublePtr, a: abort, b: setTempRet0, c: getTempRet0, d: ___cxa_allocate_exception, e: ___cxa_begin_catch, f: ___cxa_throw, g: ___cxa_uncaught_exceptions, h: ___exception_addRef, i: ___exception_deAdjust, j: ___gxx_personality_v0, k: __embind_register_bool, l: __embind_register_class, m: __embind_register_class_constructor, n: __embind_register_class_function, o: __embind_register_emval, p: __embind_register_float, q: __embind_register_integer, r: __embind_register_memory_view, s: __embind_register_std_string, t: __embind_register_std_wstring, u: __embind_register_void, v: __emval_decref, w: __emval_register, x: _abort, y: _embind_repr, z: _emscripten_get_heap_size };
|
|
2398
2214
|
var asm = function(global, env, buffer2) {
|
|
2399
2215
|
;
|
|
2400
2216
|
var a = new global.Int8Array(buffer2), b = new global.Int16Array(buffer2), c = new global.Int32Array(buffer2), d = new global.Uint8Array(buffer2), e = new global.Uint16Array(buffer2), f = new global.Float32Array(buffer2), g = new global.Float64Array(buffer2), h = env.D | 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p = 0, q = global.Math.imul, r = global.Math.clz32, s = env.a, t = env.b, u = env.c, v = env.d, w = env.e, x = env.f, y = env.g, z = env.h, A = env.i, B = env.j, C = env.k, D = env.l, E = env.m, F = env.n, G = env.o, H = env.p, I = env.q, J = env.r, K = env.s, L = env.t, M = env.u, N = env.v, O = env.w, P = env.x, Q = env.y, R = env.z, S = env.A, T = env.B, U = env.C, V = 22384, W = 5265264, X = 0;
|
|
@@ -3273,7 +3089,7 @@
|
|
|
3273
3089
|
d2 = b2 + 16 | 0;
|
|
3274
3090
|
e2 = c[d2 >> 2] | 0;
|
|
3275
3091
|
do
|
|
3276
|
-
if (e2)
|
|
3092
|
+
if (e2) {
|
|
3277
3093
|
if ((b2 | 0) == (e2 | 0)) {
|
|
3278
3094
|
e2 = tb(a2) | 0;
|
|
3279
3095
|
c[a2 + 16 >> 2] = e2;
|
|
@@ -3284,7 +3100,7 @@
|
|
|
3284
3100
|
c[a2 + 16 >> 2] = Z[c[(c[e2 >> 2] | 0) + 8 >> 2] & 15](e2) | 0;
|
|
3285
3101
|
break;
|
|
3286
3102
|
}
|
|
3287
|
-
else
|
|
3103
|
+
} else
|
|
3288
3104
|
c[a2 + 16 >> 2] = 0;
|
|
3289
3105
|
while (0);
|
|
3290
3106
|
return;
|
|
@@ -3618,7 +3434,7 @@
|
|
|
3618
3434
|
d2 = b2 + 16 | 0;
|
|
3619
3435
|
e2 = c[d2 >> 2] | 0;
|
|
3620
3436
|
do
|
|
3621
|
-
if (e2)
|
|
3437
|
+
if (e2) {
|
|
3622
3438
|
if ((b2 | 0) == (e2 | 0)) {
|
|
3623
3439
|
e2 = tb(a2) | 0;
|
|
3624
3440
|
c[a2 + 16 >> 2] = e2;
|
|
@@ -3630,7 +3446,7 @@
|
|
|
3630
3446
|
c[d2 >> 2] = 0;
|
|
3631
3447
|
break;
|
|
3632
3448
|
}
|
|
3633
|
-
else
|
|
3449
|
+
} else
|
|
3634
3450
|
c[a2 + 16 >> 2] = 0;
|
|
3635
3451
|
while (0);
|
|
3636
3452
|
return;
|
|
@@ -3649,7 +3465,7 @@
|
|
|
3649
3465
|
c[f2 >> 2] = 0;
|
|
3650
3466
|
c[a2 + 16 >> 2] = e2;
|
|
3651
3467
|
do
|
|
3652
|
-
if (b2)
|
|
3468
|
+
if (b2) {
|
|
3653
3469
|
if (b2 >>> 0 > 178956970) {
|
|
3654
3470
|
f2 = v(8) | 0;
|
|
3655
3471
|
vq(f2, 6723);
|
|
@@ -3659,7 +3475,7 @@
|
|
|
3659
3475
|
e2 = eq(b2 * 24 | 0) | 0;
|
|
3660
3476
|
break;
|
|
3661
3477
|
}
|
|
3662
|
-
else
|
|
3478
|
+
} else
|
|
3663
3479
|
e2 = 0;
|
|
3664
3480
|
while (0);
|
|
3665
3481
|
c[a2 >> 2] = e2;
|
|
@@ -4155,7 +3971,7 @@
|
|
|
4155
3971
|
c[f2 >> 2] = 0;
|
|
4156
3972
|
c[a2 + 16 >> 2] = e2;
|
|
4157
3973
|
do
|
|
4158
|
-
if (b2)
|
|
3974
|
+
if (b2) {
|
|
4159
3975
|
if (b2 >>> 0 > 357913941) {
|
|
4160
3976
|
f2 = v(8) | 0;
|
|
4161
3977
|
vq(f2, 6723);
|
|
@@ -4165,7 +3981,7 @@
|
|
|
4165
3981
|
e2 = eq(b2 * 12 | 0) | 0;
|
|
4166
3982
|
break;
|
|
4167
3983
|
}
|
|
4168
|
-
else
|
|
3984
|
+
} else
|
|
4169
3985
|
e2 = 0;
|
|
4170
3986
|
while (0);
|
|
4171
3987
|
c[a2 >> 2] = e2;
|
|
@@ -4568,7 +4384,7 @@
|
|
|
4568
4384
|
c[f2 >> 2] = 0;
|
|
4569
4385
|
c[a2 + 16 >> 2] = e2;
|
|
4570
4386
|
do
|
|
4571
|
-
if (b2)
|
|
4387
|
+
if (b2) {
|
|
4572
4388
|
if (b2 >>> 0 > 536870911) {
|
|
4573
4389
|
f2 = v(8) | 0;
|
|
4574
4390
|
vq(f2, 6723);
|
|
@@ -4578,7 +4394,7 @@
|
|
|
4578
4394
|
e2 = eq(b2 << 3) | 0;
|
|
4579
4395
|
break;
|
|
4580
4396
|
}
|
|
4581
|
-
else
|
|
4397
|
+
} else
|
|
4582
4398
|
e2 = 0;
|
|
4583
4399
|
while (0);
|
|
4584
4400
|
c[a2 >> 2] = e2;
|
|
@@ -4883,7 +4699,7 @@
|
|
|
4883
4699
|
c[f2 >> 2] = 0;
|
|
4884
4700
|
c[a2 + 16 >> 2] = e2;
|
|
4885
4701
|
do
|
|
4886
|
-
if (b2)
|
|
4702
|
+
if (b2) {
|
|
4887
4703
|
if (b2 >>> 0 > 97612893) {
|
|
4888
4704
|
f2 = v(8) | 0;
|
|
4889
4705
|
vq(f2, 6723);
|
|
@@ -4893,7 +4709,7 @@
|
|
|
4893
4709
|
e2 = eq(b2 * 44 | 0) | 0;
|
|
4894
4710
|
break;
|
|
4895
4711
|
}
|
|
4896
|
-
else
|
|
4712
|
+
} else
|
|
4897
4713
|
e2 = 0;
|
|
4898
4714
|
while (0);
|
|
4899
4715
|
c[a2 >> 2] = e2;
|
|
@@ -6182,7 +5998,7 @@
|
|
|
6182
5998
|
c[f2 >> 2] = 0;
|
|
6183
5999
|
c[a2 + 16 >> 2] = e2;
|
|
6184
6000
|
do
|
|
6185
|
-
if (b2)
|
|
6001
|
+
if (b2) {
|
|
6186
6002
|
if (b2 >>> 0 > 536870911) {
|
|
6187
6003
|
f2 = v(8) | 0;
|
|
6188
6004
|
vq(f2, 6723);
|
|
@@ -6192,7 +6008,7 @@
|
|
|
6192
6008
|
e2 = eq(b2 << 3) | 0;
|
|
6193
6009
|
break;
|
|
6194
6010
|
}
|
|
6195
|
-
else
|
|
6011
|
+
} else
|
|
6196
6012
|
e2 = 0;
|
|
6197
6013
|
while (0);
|
|
6198
6014
|
c[a2 >> 2] = e2;
|
|
@@ -8545,7 +8361,7 @@
|
|
|
8545
8361
|
c[f2 >> 2] = 0;
|
|
8546
8362
|
c[a2 + 16 >> 2] = e2;
|
|
8547
8363
|
do
|
|
8548
|
-
if (b2)
|
|
8364
|
+
if (b2) {
|
|
8549
8365
|
if (b2 >>> 0 > 1073741823) {
|
|
8550
8366
|
f2 = v(8) | 0;
|
|
8551
8367
|
vq(f2, 6723);
|
|
@@ -8555,7 +8371,7 @@
|
|
|
8555
8371
|
e2 = eq(b2 << 2) | 0;
|
|
8556
8372
|
break;
|
|
8557
8373
|
}
|
|
8558
|
-
else
|
|
8374
|
+
} else
|
|
8559
8375
|
e2 = 0;
|
|
8560
8376
|
while (0);
|
|
8561
8377
|
c[a2 >> 2] = e2;
|
|
@@ -12472,13 +12288,13 @@
|
|
|
12472
12288
|
var f2 = 0, g2 = 0, h2 = 0, i2 = 0, j2 = 0;
|
|
12473
12289
|
f2 = e2 + 16 | 0;
|
|
12474
12290
|
g2 = c[f2 >> 2] | 0;
|
|
12475
|
-
if (!g2)
|
|
12291
|
+
if (!g2) {
|
|
12476
12292
|
if (!(io(e2) | 0)) {
|
|
12477
12293
|
g2 = c[f2 >> 2] | 0;
|
|
12478
12294
|
h2 = 5;
|
|
12479
12295
|
} else
|
|
12480
12296
|
f2 = 0;
|
|
12481
|
-
else
|
|
12297
|
+
} else
|
|
12482
12298
|
h2 = 5;
|
|
12483
12299
|
a:
|
|
12484
12300
|
do
|
|
@@ -13008,7 +12824,7 @@
|
|
|
13008
12824
|
k2 = k2 + -1 | 0;
|
|
13009
12825
|
}
|
|
13010
12826
|
if (!(h2 & 8)) {
|
|
13011
|
-
if (v2 ? (A2 = c[w2 + -4 >> 2] | 0, (A2 | 0) != 0) : 0)
|
|
12827
|
+
if (v2 ? (A2 = c[w2 + -4 >> 2] | 0, (A2 | 0) != 0) : 0) {
|
|
13012
12828
|
if (!((A2 >>> 0) % 10 | 0)) {
|
|
13013
12829
|
m2 = 0;
|
|
13014
12830
|
l2 = 10;
|
|
@@ -13018,7 +12834,7 @@
|
|
|
13018
12834
|
} while (!((A2 >>> 0) % (l2 >>> 0) | 0 | 0));
|
|
13019
12835
|
} else
|
|
13020
12836
|
m2 = 0;
|
|
13021
|
-
else
|
|
12837
|
+
} else
|
|
13022
12838
|
m2 = 9;
|
|
13023
12839
|
l2 = ((w2 - z2 >> 2) * 9 | 0) + -9 | 0;
|
|
13024
12840
|
if ((o2 | 32 | 0) == 102) {
|
|
@@ -13427,13 +13243,13 @@
|
|
|
13427
13243
|
}
|
|
13428
13244
|
q2 = (t2 | 0) > -1;
|
|
13429
13245
|
do
|
|
13430
|
-
if (n2 << 24 >> 24 == 19)
|
|
13246
|
+
if (n2 << 24 >> 24 == 19) {
|
|
13431
13247
|
if (q2) {
|
|
13432
13248
|
e2 = -1;
|
|
13433
13249
|
break a;
|
|
13434
13250
|
} else
|
|
13435
13251
|
x2 = 54;
|
|
13436
|
-
else {
|
|
13252
|
+
} else {
|
|
13437
13253
|
if (q2) {
|
|
13438
13254
|
c[i2 + (t2 << 2) >> 2] = p2;
|
|
13439
13255
|
q2 = h2 + (t2 << 3) | 0;
|
|
@@ -14134,7 +13950,7 @@
|
|
|
14134
13950
|
g2 = j2 + 144 | 0;
|
|
14135
13951
|
i2 = j2;
|
|
14136
13952
|
ur(i2 | 0, 3672, 144) | 0;
|
|
14137
|
-
if ((d2 + -1 | 0) >>> 0 > 2147483646)
|
|
13953
|
+
if ((d2 + -1 | 0) >>> 0 > 2147483646) {
|
|
14138
13954
|
if (!d2) {
|
|
14139
13955
|
b2 = g2;
|
|
14140
13956
|
d2 = 1;
|
|
@@ -14143,7 +13959,7 @@
|
|
|
14143
13959
|
c[(ao() | 0) >> 2] = 61;
|
|
14144
13960
|
d2 = -1;
|
|
14145
13961
|
}
|
|
14146
|
-
else
|
|
13962
|
+
} else
|
|
14147
13963
|
h2 = 4;
|
|
14148
13964
|
if ((h2 | 0) == 4) {
|
|
14149
13965
|
h2 = -2 - b2 | 0;
|
|
@@ -14345,7 +14161,7 @@
|
|
|
14345
14161
|
l2 = V;
|
|
14346
14162
|
V = V + 64 | 0;
|
|
14347
14163
|
j2 = l2;
|
|
14348
|
-
if (!(ap(d2, e2, 0) | 0))
|
|
14164
|
+
if (!(ap(d2, e2, 0) | 0)) {
|
|
14349
14165
|
if ((e2 | 0) != 0 ? (k2 = ep(e2, 3840, 3824, 0) | 0, (k2 | 0) != 0) : 0) {
|
|
14350
14166
|
c[j2 >> 2] = k2;
|
|
14351
14167
|
c[j2 + 4 >> 2] = 0;
|
|
@@ -14371,7 +14187,7 @@
|
|
|
14371
14187
|
d2 = 0;
|
|
14372
14188
|
} else
|
|
14373
14189
|
d2 = 0;
|
|
14374
|
-
else
|
|
14190
|
+
} else
|
|
14375
14191
|
d2 = 1;
|
|
14376
14192
|
V = l2;
|
|
14377
14193
|
return d2 | 0;
|
|
@@ -14428,12 +14244,12 @@
|
|
|
14428
14244
|
a2 = a2 | 0;
|
|
14429
14245
|
b2 = b2 | 0;
|
|
14430
14246
|
d2 = d2 | 0;
|
|
14431
|
-
if (d2)
|
|
14247
|
+
if (d2) {
|
|
14432
14248
|
if ((a2 | 0) == (b2 | 0))
|
|
14433
14249
|
a2 = 1;
|
|
14434
14250
|
else
|
|
14435
14251
|
a2 = (eo(c[a2 + 4 >> 2] | 0, c[b2 + 4 >> 2] | 0) | 0) == 0;
|
|
14436
|
-
else
|
|
14252
|
+
} else
|
|
14437
14253
|
a2 = (c[a2 + 4 >> 2] | 0) == (c[b2 + 4 >> 2] | 0);
|
|
14438
14254
|
return a2 | 0;
|
|
14439
14255
|
}
|
|
@@ -14908,13 +14724,13 @@
|
|
|
14908
14724
|
b2 = b2 | 0;
|
|
14909
14725
|
d2 = d2 | 0;
|
|
14910
14726
|
var e2 = 0, f2 = 0;
|
|
14911
|
-
if (!(c[a2 + 8 >> 2] & 24))
|
|
14727
|
+
if (!(c[a2 + 8 >> 2] & 24)) {
|
|
14912
14728
|
if ((b2 | 0) != 0 ? (e2 = ep(b2, 3840, 3960, 0) | 0, (e2 | 0) != 0) : 0) {
|
|
14913
14729
|
d2 = (c[e2 + 8 >> 2] & 24 | 0) != 0;
|
|
14914
14730
|
f2 = 5;
|
|
14915
14731
|
} else
|
|
14916
14732
|
d2 = 0;
|
|
14917
|
-
else {
|
|
14733
|
+
} else {
|
|
14918
14734
|
d2 = 1;
|
|
14919
14735
|
f2 = 5;
|
|
14920
14736
|
}
|
|
@@ -15315,14 +15131,14 @@
|
|
|
15315
15131
|
b2 = c[b2 + 8 >> 2] | 0;
|
|
15316
15132
|
d2 = a[b2 >> 0] | 0;
|
|
15317
15133
|
do
|
|
15318
|
-
if (d2 << 24 >> 24 != 1)
|
|
15134
|
+
if (d2 << 24 >> 24 != 1) {
|
|
15319
15135
|
if (!(d2 & 2)) {
|
|
15320
15136
|
a[b2 >> 0] = 2;
|
|
15321
15137
|
e2 = 1;
|
|
15322
15138
|
break;
|
|
15323
15139
|
} else
|
|
15324
15140
|
To(20985, f2);
|
|
15325
|
-
else
|
|
15141
|
+
} else
|
|
15326
15142
|
e2 = 0;
|
|
15327
15143
|
while (0);
|
|
15328
15144
|
V = g2;
|
|
@@ -16184,7 +16000,7 @@
|
|
|
16184
16000
|
if (e2) {
|
|
16185
16001
|
f2 = 0 - k2 | 0;
|
|
16186
16002
|
a2 = a2 >>> 8;
|
|
16187
|
-
if (a2)
|
|
16003
|
+
if (a2) {
|
|
16188
16004
|
if (k2 >>> 0 > 16777215)
|
|
16189
16005
|
j2 = 31;
|
|
16190
16006
|
else {
|
|
@@ -16196,7 +16012,7 @@
|
|
|
16196
16012
|
j2 = 14 - (i2 | m2 | j2) + (q2 << j2 >>> 15) | 0;
|
|
16197
16013
|
j2 = k2 >>> (j2 + 7 | 0) & 1 | j2 << 1;
|
|
16198
16014
|
}
|
|
16199
|
-
else
|
|
16015
|
+
} else
|
|
16200
16016
|
j2 = 0;
|
|
16201
16017
|
d2 = c[21952 + (j2 << 2) >> 2] | 0;
|
|
16202
16018
|
a:
|
|
@@ -16378,7 +16194,7 @@
|
|
|
16378
16194
|
break;
|
|
16379
16195
|
}
|
|
16380
16196
|
b2 = h2 >>> 8;
|
|
16381
|
-
if (b2)
|
|
16197
|
+
if (b2) {
|
|
16382
16198
|
if (h2 >>> 0 > 16777215)
|
|
16383
16199
|
d2 = 31;
|
|
16384
16200
|
else {
|
|
@@ -16390,7 +16206,7 @@
|
|
|
16390
16206
|
d2 = 14 - (t2 | u2 | d2) + (v2 << d2 >>> 15) | 0;
|
|
16391
16207
|
d2 = h2 >>> (d2 + 7 | 0) & 1 | d2 << 1;
|
|
16392
16208
|
}
|
|
16393
|
-
else
|
|
16209
|
+
} else
|
|
16394
16210
|
d2 = 0;
|
|
16395
16211
|
b2 = 21952 + (d2 << 2) | 0;
|
|
16396
16212
|
c[l2 + 28 >> 2] = d2;
|
|
@@ -16948,7 +16764,7 @@
|
|
|
16948
16764
|
break;
|
|
16949
16765
|
}
|
|
16950
16766
|
b2 = g2 >>> 8;
|
|
16951
|
-
if (b2)
|
|
16767
|
+
if (b2) {
|
|
16952
16768
|
if (g2 >>> 0 > 16777215)
|
|
16953
16769
|
e2 = 31;
|
|
16954
16770
|
else {
|
|
@@ -16960,7 +16776,7 @@
|
|
|
16960
16776
|
e2 = 14 - (t2 | u2 | e2) + (v2 << e2 >>> 15) | 0;
|
|
16961
16777
|
e2 = g2 >>> (e2 + 7 | 0) & 1 | e2 << 1;
|
|
16962
16778
|
}
|
|
16963
|
-
else
|
|
16779
|
+
} else
|
|
16964
16780
|
e2 = 0;
|
|
16965
16781
|
d2 = 21952 + (e2 << 2) | 0;
|
|
16966
16782
|
c[j2 + 28 >> 2] = e2;
|
|
@@ -17392,7 +17208,7 @@
|
|
|
17392
17208
|
return;
|
|
17393
17209
|
}
|
|
17394
17210
|
a2 = f2 >>> 8;
|
|
17395
|
-
if (a2)
|
|
17211
|
+
if (a2) {
|
|
17396
17212
|
if (f2 >>> 0 > 16777215)
|
|
17397
17213
|
e2 = 31;
|
|
17398
17214
|
else {
|
|
@@ -17404,7 +17220,7 @@
|
|
|
17404
17220
|
e2 = 14 - (g2 | h2 | e2) + (j2 << e2 >>> 15) | 0;
|
|
17405
17221
|
e2 = f2 >>> (e2 + 7 | 0) & 1 | e2 << 1;
|
|
17406
17222
|
}
|
|
17407
|
-
else
|
|
17223
|
+
} else
|
|
17408
17224
|
e2 = 0;
|
|
17409
17225
|
a2 = 21952 + (e2 << 2) | 0;
|
|
17410
17226
|
c[i2 + 28 >> 2] = e2;
|
|
@@ -18055,374 +17871,16 @@
|
|
|
18055
17871
|
var Y = [Jr, Mk, Fl, Jr];
|
|
18056
17872
|
var Z = [Kr, Ap, zb, Fb, qp, tp, oq, Kq, Tq, wk, na, tl, Ok, Hl, Kr, Kr];
|
|
18057
17873
|
var _ = [Lr, po];
|
|
18058
|
-
var $ = [
|
|
18059
|
-
Mr,
|
|
18060
|
-
Ba,
|
|
18061
|
-
Ka,
|
|
18062
|
-
Eb,
|
|
18063
|
-
jd,
|
|
18064
|
-
Nd,
|
|
18065
|
-
Xd,
|
|
18066
|
-
je,
|
|
18067
|
-
ke,
|
|
18068
|
-
ne,
|
|
18069
|
-
_e,
|
|
18070
|
-
ff,
|
|
18071
|
-
yf,
|
|
18072
|
-
Ff,
|
|
18073
|
-
Of,
|
|
18074
|
-
Vf,
|
|
18075
|
-
Hg,
|
|
18076
|
-
Qg,
|
|
18077
|
-
Zg,
|
|
18078
|
-
ch,
|
|
18079
|
-
lh,
|
|
18080
|
-
qh,
|
|
18081
|
-
zh,
|
|
18082
|
-
Eh,
|
|
18083
|
-
Nh,
|
|
18084
|
-
_h,
|
|
18085
|
-
fi,
|
|
18086
|
-
ki,
|
|
18087
|
-
si,
|
|
18088
|
-
Bi,
|
|
18089
|
-
Si,
|
|
18090
|
-
Zi,
|
|
18091
|
-
fj,
|
|
18092
|
-
oj,
|
|
18093
|
-
yj,
|
|
18094
|
-
Fj,
|
|
18095
|
-
Pj,
|
|
18096
|
-
Yj,
|
|
18097
|
-
ek,
|
|
18098
|
-
lk,
|
|
18099
|
-
tk,
|
|
18100
|
-
ll,
|
|
18101
|
-
Mr,
|
|
18102
|
-
Mr,
|
|
18103
|
-
Mr,
|
|
18104
|
-
Mr,
|
|
18105
|
-
Mr,
|
|
18106
|
-
Mr,
|
|
18107
|
-
Mr,
|
|
18108
|
-
Mr,
|
|
18109
|
-
Mr,
|
|
18110
|
-
Mr,
|
|
18111
|
-
Mr,
|
|
18112
|
-
Mr,
|
|
18113
|
-
Mr,
|
|
18114
|
-
Mr,
|
|
18115
|
-
Mr,
|
|
18116
|
-
Mr,
|
|
18117
|
-
Mr,
|
|
18118
|
-
Mr,
|
|
18119
|
-
Mr,
|
|
18120
|
-
Mr,
|
|
18121
|
-
Mr,
|
|
18122
|
-
Mr
|
|
18123
|
-
];
|
|
17874
|
+
var $ = [Mr, Ba, Ka, Eb, jd, Nd, Xd, je, ke, ne, _e, ff, yf, Ff, Of, Vf, Hg, Qg, Zg, ch, lh, qh, zh, Eh, Nh, _h, fi, ki, si, Bi, Si, Zi, fj, oj, yj, Fj, Pj, Yj, ek, lk, tk, ll, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr, Mr];
|
|
18124
17875
|
var aa = [Nr, Io, Yo, Fp, Hp, Mq, Nq, Nr];
|
|
18125
17876
|
var ba = [Or, Dp, Po, Or];
|
|
18126
|
-
var ca = [
|
|
18127
|
-
Pr,
|
|
18128
|
-
pq,
|
|
18129
|
-
za,
|
|
18130
|
-
Aa,
|
|
18131
|
-
Ca,
|
|
18132
|
-
Ia,
|
|
18133
|
-
Ja,
|
|
18134
|
-
La,
|
|
18135
|
-
yp,
|
|
18136
|
-
ob,
|
|
18137
|
-
Gb,
|
|
18138
|
-
yb,
|
|
18139
|
-
Bb,
|
|
18140
|
-
Cb,
|
|
18141
|
-
Lb,
|
|
18142
|
-
Mb,
|
|
18143
|
-
Xb,
|
|
18144
|
-
Yb,
|
|
18145
|
-
sc,
|
|
18146
|
-
tc,
|
|
18147
|
-
uc,
|
|
18148
|
-
Nc,
|
|
18149
|
-
hd,
|
|
18150
|
-
id,
|
|
18151
|
-
kd,
|
|
18152
|
-
Jd,
|
|
18153
|
-
Od,
|
|
18154
|
-
Pd,
|
|
18155
|
-
Qd,
|
|
18156
|
-
Rd,
|
|
18157
|
-
Vd,
|
|
18158
|
-
Wd,
|
|
18159
|
-
Yd,
|
|
18160
|
-
he,
|
|
18161
|
-
ie,
|
|
18162
|
-
le,
|
|
18163
|
-
me,
|
|
18164
|
-
Ye,
|
|
18165
|
-
Ze,
|
|
18166
|
-
$e,
|
|
18167
|
-
df,
|
|
18168
|
-
ef,
|
|
18169
|
-
wf,
|
|
18170
|
-
xf,
|
|
18171
|
-
zf,
|
|
18172
|
-
Df,
|
|
18173
|
-
Ef,
|
|
18174
|
-
Mf,
|
|
18175
|
-
Nf,
|
|
18176
|
-
Pf,
|
|
18177
|
-
Tf,
|
|
18178
|
-
Uf,
|
|
18179
|
-
Fg,
|
|
18180
|
-
Gg,
|
|
18181
|
-
Ig,
|
|
18182
|
-
Rg,
|
|
18183
|
-
Sg,
|
|
18184
|
-
Xg,
|
|
18185
|
-
Yg,
|
|
18186
|
-
_g,
|
|
18187
|
-
dh,
|
|
18188
|
-
eh,
|
|
18189
|
-
jh,
|
|
18190
|
-
kh,
|
|
18191
|
-
mh,
|
|
18192
|
-
rh,
|
|
18193
|
-
sh,
|
|
18194
|
-
xh,
|
|
18195
|
-
yh,
|
|
18196
|
-
Ah,
|
|
18197
|
-
Fh,
|
|
18198
|
-
Gh,
|
|
18199
|
-
Lh,
|
|
18200
|
-
Mh,
|
|
18201
|
-
Oh,
|
|
18202
|
-
Yh,
|
|
18203
|
-
Zh,
|
|
18204
|
-
$h,
|
|
18205
|
-
di,
|
|
18206
|
-
ei,
|
|
18207
|
-
gi,
|
|
18208
|
-
li,
|
|
18209
|
-
mi,
|
|
18210
|
-
qi,
|
|
18211
|
-
ri,
|
|
18212
|
-
ti,
|
|
18213
|
-
zi,
|
|
18214
|
-
Ai,
|
|
18215
|
-
Qi,
|
|
18216
|
-
Ri,
|
|
18217
|
-
Ti,
|
|
18218
|
-
Xi,
|
|
18219
|
-
Yi,
|
|
18220
|
-
dj,
|
|
18221
|
-
ej,
|
|
18222
|
-
gj,
|
|
18223
|
-
mj,
|
|
18224
|
-
nj,
|
|
18225
|
-
wj,
|
|
18226
|
-
xj,
|
|
18227
|
-
zj,
|
|
18228
|
-
Dj,
|
|
18229
|
-
Ej,
|
|
18230
|
-
Nj,
|
|
18231
|
-
Oj,
|
|
18232
|
-
Qj,
|
|
18233
|
-
Wj,
|
|
18234
|
-
Xj,
|
|
18235
|
-
ck,
|
|
18236
|
-
dk,
|
|
18237
|
-
fk,
|
|
18238
|
-
jk,
|
|
18239
|
-
kk,
|
|
18240
|
-
rk,
|
|
18241
|
-
sk,
|
|
18242
|
-
uk,
|
|
18243
|
-
Uo,
|
|
18244
|
-
Vo,
|
|
18245
|
-
Wo,
|
|
18246
|
-
Xo,
|
|
18247
|
-
fp,
|
|
18248
|
-
op,
|
|
18249
|
-
pp,
|
|
18250
|
-
rp,
|
|
18251
|
-
sp,
|
|
18252
|
-
zp,
|
|
18253
|
-
Bp,
|
|
18254
|
-
Cp,
|
|
18255
|
-
Ep,
|
|
18256
|
-
Gp,
|
|
18257
|
-
Lp,
|
|
18258
|
-
mq,
|
|
18259
|
-
nq,
|
|
18260
|
-
Iq,
|
|
18261
|
-
Jq,
|
|
18262
|
-
Sq,
|
|
18263
|
-
Yq,
|
|
18264
|
-
Zq,
|
|
18265
|
-
zk,
|
|
18266
|
-
wl,
|
|
18267
|
-
Pr,
|
|
18268
|
-
Pr,
|
|
18269
|
-
Pr,
|
|
18270
|
-
Pr,
|
|
18271
|
-
Pr,
|
|
18272
|
-
Pr,
|
|
18273
|
-
Pr,
|
|
18274
|
-
Pr,
|
|
18275
|
-
Pr,
|
|
18276
|
-
Pr,
|
|
18277
|
-
Pr,
|
|
18278
|
-
Pr,
|
|
18279
|
-
Pr,
|
|
18280
|
-
Pr,
|
|
18281
|
-
Pr,
|
|
18282
|
-
Pr,
|
|
18283
|
-
Pr,
|
|
18284
|
-
Pr,
|
|
18285
|
-
Pr,
|
|
18286
|
-
Pr,
|
|
18287
|
-
Pr,
|
|
18288
|
-
Pr,
|
|
18289
|
-
Pr,
|
|
18290
|
-
Pr,
|
|
18291
|
-
Pr,
|
|
18292
|
-
Pr,
|
|
18293
|
-
Pr,
|
|
18294
|
-
Pr,
|
|
18295
|
-
Pr,
|
|
18296
|
-
Pr,
|
|
18297
|
-
Pr,
|
|
18298
|
-
Pr,
|
|
18299
|
-
Pr,
|
|
18300
|
-
Pr,
|
|
18301
|
-
Pr,
|
|
18302
|
-
Pr,
|
|
18303
|
-
Pr,
|
|
18304
|
-
Pr,
|
|
18305
|
-
Pr,
|
|
18306
|
-
Pr,
|
|
18307
|
-
Pr,
|
|
18308
|
-
Pr,
|
|
18309
|
-
Pr,
|
|
18310
|
-
Pr,
|
|
18311
|
-
Pr,
|
|
18312
|
-
Pr,
|
|
18313
|
-
Pr,
|
|
18314
|
-
Pr,
|
|
18315
|
-
Pr,
|
|
18316
|
-
Pr,
|
|
18317
|
-
Pr,
|
|
18318
|
-
Pr,
|
|
18319
|
-
Pr,
|
|
18320
|
-
Pr,
|
|
18321
|
-
Pr,
|
|
18322
|
-
Pr,
|
|
18323
|
-
Pr,
|
|
18324
|
-
Pr,
|
|
18325
|
-
Pr,
|
|
18326
|
-
Pr,
|
|
18327
|
-
Pr,
|
|
18328
|
-
Pr,
|
|
18329
|
-
Pr,
|
|
18330
|
-
Pr,
|
|
18331
|
-
Pr,
|
|
18332
|
-
Pr,
|
|
18333
|
-
Pr,
|
|
18334
|
-
Pr,
|
|
18335
|
-
Pr,
|
|
18336
|
-
Pr,
|
|
18337
|
-
Pr,
|
|
18338
|
-
Pr,
|
|
18339
|
-
Pr,
|
|
18340
|
-
Pr,
|
|
18341
|
-
Pr,
|
|
18342
|
-
Pr,
|
|
18343
|
-
Pr,
|
|
18344
|
-
Pr,
|
|
18345
|
-
Pr,
|
|
18346
|
-
Pr,
|
|
18347
|
-
Pr,
|
|
18348
|
-
Pr,
|
|
18349
|
-
Pr,
|
|
18350
|
-
Pr,
|
|
18351
|
-
Pr,
|
|
18352
|
-
Pr,
|
|
18353
|
-
Pr,
|
|
18354
|
-
Pr,
|
|
18355
|
-
Pr,
|
|
18356
|
-
Pr,
|
|
18357
|
-
Pr,
|
|
18358
|
-
Pr,
|
|
18359
|
-
Pr,
|
|
18360
|
-
Pr,
|
|
18361
|
-
Pr,
|
|
18362
|
-
Pr,
|
|
18363
|
-
Pr,
|
|
18364
|
-
Pr,
|
|
18365
|
-
Pr,
|
|
18366
|
-
Pr,
|
|
18367
|
-
Pr,
|
|
18368
|
-
Pr,
|
|
18369
|
-
Pr,
|
|
18370
|
-
Pr,
|
|
18371
|
-
Pr,
|
|
18372
|
-
Pr,
|
|
18373
|
-
Pr,
|
|
18374
|
-
Pr,
|
|
18375
|
-
Pr,
|
|
18376
|
-
Pr,
|
|
18377
|
-
Pr,
|
|
18378
|
-
Pr,
|
|
18379
|
-
Pr,
|
|
18380
|
-
Pr,
|
|
18381
|
-
Pr,
|
|
18382
|
-
Pr
|
|
18383
|
-
];
|
|
17877
|
+
var ca = [Pr, pq, za, Aa, Ca, Ia, Ja, La, yp, ob, Gb, yb, Bb, Cb, Lb, Mb, Xb, Yb, sc, tc, uc, Nc, hd, id, kd, Jd, Od, Pd, Qd, Rd, Vd, Wd, Yd, he, ie, le, me, Ye, Ze, $e, df, ef, wf, xf, zf, Df, Ef, Mf, Nf, Pf, Tf, Uf, Fg, Gg, Ig, Rg, Sg, Xg, Yg, _g, dh, eh, jh, kh, mh, rh, sh, xh, yh, Ah, Fh, Gh, Lh, Mh, Oh, Yh, Zh, $h, di, ei, gi, li, mi, qi, ri, ti, zi, Ai, Qi, Ri, Ti, Xi, Yi, dj, ej, gj, mj, nj, wj, xj, zj, Dj, Ej, Nj, Oj, Qj, Wj, Xj, ck, dk, fk, jk, kk, rk, sk, uk, Uo, Vo, Wo, Xo, fp, op, pp, rp, sp, zp, Bp, Cp, Ep, Gp, Lp, mq, nq, Iq, Jq, Sq, Yq, Zq, zk, wl, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr, Pr];
|
|
18384
17878
|
var da = [Qr, Ab, Db, ma, pa, qa, ra, sa, qo, Qr, Qr, Qr, Qr, Qr, Qr, Qr];
|
|
18385
17879
|
var ea = [Rr, Lq, Oq, Uq, Vq, la, oa, dl, Vl, $l, Rr, Rr, Rr, Rr, Rr, Rr];
|
|
18386
17880
|
var fa = [Sr, $o, ip, Op, Vk, Ol, Sr, Sr];
|
|
18387
17881
|
var ga = [Tr, _o, hp, Np];
|
|
18388
17882
|
var ha = [Ur, Zo, gp, Mp];
|
|
18389
|
-
return {
|
|
18390
|
-
__ZSt18uncaught_exceptionv: kq,
|
|
18391
|
-
___cxa_can_catch: hq,
|
|
18392
|
-
___cxa_is_pointer_type: iq,
|
|
18393
|
-
___embind_register_native_and_builtin_types: im,
|
|
18394
|
-
___errno_location: ao,
|
|
18395
|
-
___getTypeName: $n,
|
|
18396
|
-
___muldi3: kr,
|
|
18397
|
-
___udivdi3: pr,
|
|
18398
|
-
_bitshift64Lshr: qr,
|
|
18399
|
-
_bitshift64Shl: rr,
|
|
18400
|
-
_emscripten_get_sbrk_ptr: sr,
|
|
18401
|
-
_free: er,
|
|
18402
|
-
_i64Add: lr,
|
|
18403
|
-
_i64Subtract: mr,
|
|
18404
|
-
_llvm_bswap_i32: tr,
|
|
18405
|
-
_malloc: dr,
|
|
18406
|
-
_memcpy: ur,
|
|
18407
|
-
_memmove: vr,
|
|
18408
|
-
_memset: wr,
|
|
18409
|
-
dynCall_i: xr,
|
|
18410
|
-
dynCall_ii: yr,
|
|
18411
|
-
dynCall_iidiiii: zr,
|
|
18412
|
-
dynCall_iii: Ar,
|
|
18413
|
-
dynCall_iiii: Br,
|
|
18414
|
-
dynCall_v: Cr,
|
|
18415
|
-
dynCall_vi: Dr,
|
|
18416
|
-
dynCall_vii: Er,
|
|
18417
|
-
dynCall_viii: Fr,
|
|
18418
|
-
dynCall_viiii: Gr,
|
|
18419
|
-
dynCall_viiiii: Hr,
|
|
18420
|
-
dynCall_viiiiii: Ir,
|
|
18421
|
-
globalCtors: ia,
|
|
18422
|
-
stackAlloc: gr,
|
|
18423
|
-
stackRestore: hr,
|
|
18424
|
-
stackSave: ir
|
|
18425
|
-
};
|
|
17883
|
+
return { __ZSt18uncaught_exceptionv: kq, ___cxa_can_catch: hq, ___cxa_is_pointer_type: iq, ___embind_register_native_and_builtin_types: im, ___errno_location: ao, ___getTypeName: $n, ___muldi3: kr, ___udivdi3: pr, _bitshift64Lshr: qr, _bitshift64Shl: rr, _emscripten_get_sbrk_ptr: sr, _free: er, _i64Add: lr, _i64Subtract: mr, _llvm_bswap_i32: tr, _malloc: dr, _memcpy: ur, _memmove: vr, _memset: wr, dynCall_i: xr, dynCall_ii: yr, dynCall_iidiiii: zr, dynCall_iii: Ar, dynCall_iiii: Br, dynCall_v: Cr, dynCall_vi: Dr, dynCall_vii: Er, dynCall_viii: Fr, dynCall_viiii: Gr, dynCall_viiiii: Hr, dynCall_viiiiii: Ir, globalCtors: ia, stackAlloc: gr, stackRestore: hr, stackSave: ir };
|
|
18426
17884
|
}(asmGlobalArg, asmLibraryArg, buffer);
|
|
18427
17885
|
var __ZSt18uncaught_exceptionv = Module2["__ZSt18uncaught_exceptionv"] = asm["__ZSt18uncaught_exceptionv"];
|
|
18428
17886
|
var ___cxa_can_catch = Module2["___cxa_can_catch"] = asm["___cxa_can_catch"];
|
|
@@ -18569,12 +18027,41 @@
|
|
|
18569
18027
|
run();
|
|
18570
18028
|
return Module2;
|
|
18571
18029
|
}
|
|
18572
|
-
var init_laz_perf = __esm({
|
|
18573
|
-
"src/lib/libs/laz-perf.ts"() {
|
|
18574
|
-
}
|
|
18575
|
-
});
|
|
18576
18030
|
|
|
18577
18031
|
// src/lib/laslaz-decoder.ts
|
|
18032
|
+
var Module = null;
|
|
18033
|
+
var POINT_FORMAT_READERS = {
|
|
18034
|
+
0: (dv) => {
|
|
18035
|
+
return {
|
|
18036
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
18037
|
+
intensity: dv.getUint16(12, true),
|
|
18038
|
+
classification: dv.getUint8(15)
|
|
18039
|
+
};
|
|
18040
|
+
},
|
|
18041
|
+
1: (dv) => {
|
|
18042
|
+
return {
|
|
18043
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
18044
|
+
intensity: dv.getUint16(12, true),
|
|
18045
|
+
classification: dv.getUint8(15)
|
|
18046
|
+
};
|
|
18047
|
+
},
|
|
18048
|
+
2: (dv) => {
|
|
18049
|
+
return {
|
|
18050
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
18051
|
+
intensity: dv.getUint16(12, true),
|
|
18052
|
+
classification: dv.getUint8(15),
|
|
18053
|
+
color: [dv.getUint16(20, true), dv.getUint16(22, true), dv.getUint16(24, true)]
|
|
18054
|
+
};
|
|
18055
|
+
},
|
|
18056
|
+
3: (dv) => {
|
|
18057
|
+
return {
|
|
18058
|
+
position: [dv.getInt32(0, true), dv.getInt32(4, true), dv.getInt32(8, true)],
|
|
18059
|
+
intensity: dv.getUint16(12, true),
|
|
18060
|
+
classification: dv.getUint8(15),
|
|
18061
|
+
color: [dv.getUint16(28, true), dv.getUint16(30, true), dv.getUint16(32, true)]
|
|
18062
|
+
};
|
|
18063
|
+
}
|
|
18064
|
+
};
|
|
18578
18065
|
function readAs(buf, Type = {}, offset, count) {
|
|
18579
18066
|
count = count === void 0 || count === 0 ? 1 : count;
|
|
18580
18067
|
const sub = buf.slice(offset, offset + Type.BYTES_PER_ELEMENT * count);
|
|
@@ -18606,269 +18093,240 @@
|
|
|
18606
18093
|
o.mins = [bounds[1], bounds[3], bounds[5]];
|
|
18607
18094
|
return o;
|
|
18608
18095
|
}
|
|
18609
|
-
var
|
|
18610
|
-
|
|
18611
|
-
|
|
18612
|
-
|
|
18613
|
-
|
|
18614
|
-
|
|
18615
|
-
|
|
18616
|
-
|
|
18617
|
-
|
|
18618
|
-
|
|
18619
|
-
|
|
18620
|
-
|
|
18621
|
-
|
|
18622
|
-
|
|
18623
|
-
|
|
18624
|
-
|
|
18625
|
-
|
|
18626
|
-
|
|
18627
|
-
|
|
18628
|
-
|
|
18629
|
-
|
|
18630
|
-
|
|
18631
|
-
|
|
18632
|
-
|
|
18633
|
-
|
|
18634
|
-
|
|
18635
|
-
|
|
18636
|
-
|
|
18637
|
-
|
|
18638
|
-
|
|
18639
|
-
|
|
18640
|
-
|
|
18641
|
-
|
|
18642
|
-
|
|
18643
|
-
|
|
18096
|
+
var LASLoader2 = class {
|
|
18097
|
+
readOffset = 0;
|
|
18098
|
+
header = {
|
|
18099
|
+
pointsOffset: 0,
|
|
18100
|
+
pointsFormatId: 0,
|
|
18101
|
+
pointsStructSize: 0,
|
|
18102
|
+
pointsCount: 0,
|
|
18103
|
+
scale: [0, 0, 0],
|
|
18104
|
+
offset: [0, 0, 0],
|
|
18105
|
+
maxs: [0],
|
|
18106
|
+
mins: [0],
|
|
18107
|
+
totalToRead: 0,
|
|
18108
|
+
totalRead: 0,
|
|
18109
|
+
versionAsString: "",
|
|
18110
|
+
isCompressed: true
|
|
18111
|
+
};
|
|
18112
|
+
constructor(arraybuffer) {
|
|
18113
|
+
this.arraybuffer = arraybuffer;
|
|
18114
|
+
}
|
|
18115
|
+
open() {
|
|
18116
|
+
return true;
|
|
18117
|
+
}
|
|
18118
|
+
getHeader() {
|
|
18119
|
+
this.header = parseLASHeader(this.arraybuffer);
|
|
18120
|
+
return this.header;
|
|
18121
|
+
}
|
|
18122
|
+
readData(count, skip) {
|
|
18123
|
+
const {
|
|
18124
|
+
header,
|
|
18125
|
+
arraybuffer
|
|
18126
|
+
} = this;
|
|
18127
|
+
if (!header) {
|
|
18128
|
+
throw new Error("Cannot start reading data till a header request is issued");
|
|
18129
|
+
}
|
|
18130
|
+
let {
|
|
18131
|
+
readOffset
|
|
18132
|
+
} = this;
|
|
18133
|
+
let start;
|
|
18134
|
+
if (skip <= 1) {
|
|
18135
|
+
count = Math.min(count, header.pointsCount - readOffset);
|
|
18136
|
+
start = header.pointsOffset + readOffset * header.pointsStructSize;
|
|
18137
|
+
const end = start + count * header.pointsStructSize;
|
|
18138
|
+
readOffset += count;
|
|
18139
|
+
this.readOffset = readOffset;
|
|
18140
|
+
return {
|
|
18141
|
+
buffer: arraybuffer.slice(start, end),
|
|
18142
|
+
count,
|
|
18143
|
+
hasMoreData: readOffset < header.pointsCount
|
|
18144
|
+
};
|
|
18145
|
+
}
|
|
18146
|
+
const pointsToRead = Math.min(count * skip, header.pointsCount - readOffset);
|
|
18147
|
+
const bufferSize = Math.ceil(pointsToRead / skip);
|
|
18148
|
+
let pointsRead = 0;
|
|
18149
|
+
const buf = new Uint8Array(bufferSize * header.pointsStructSize);
|
|
18150
|
+
for (let i = 0; i < pointsToRead; i++) {
|
|
18151
|
+
if (i % skip === 0) {
|
|
18152
|
+
start = header.pointsOffset + readOffset * header.pointsStructSize;
|
|
18153
|
+
const src = new Uint8Array(arraybuffer, start, header.pointsStructSize);
|
|
18154
|
+
buf.set(src, pointsRead * header.pointsStructSize);
|
|
18155
|
+
pointsRead++;
|
|
18644
18156
|
}
|
|
18157
|
+
readOffset++;
|
|
18158
|
+
}
|
|
18159
|
+
this.readOffset = readOffset;
|
|
18160
|
+
return {
|
|
18161
|
+
buffer: buf.buffer,
|
|
18162
|
+
count: pointsRead,
|
|
18163
|
+
hasMoreData: readOffset < header.pointsCount
|
|
18645
18164
|
};
|
|
18646
|
-
|
|
18647
|
-
|
|
18648
|
-
|
|
18649
|
-
|
|
18650
|
-
|
|
18651
|
-
|
|
18652
|
-
|
|
18653
|
-
|
|
18654
|
-
|
|
18655
|
-
|
|
18656
|
-
|
|
18657
|
-
|
|
18658
|
-
|
|
18659
|
-
|
|
18660
|
-
|
|
18661
|
-
|
|
18662
|
-
|
|
18663
|
-
|
|
18664
|
-
|
|
18665
|
-
|
|
18666
|
-
|
|
18667
|
-
|
|
18668
|
-
|
|
18669
|
-
|
|
18670
|
-
|
|
18671
|
-
|
|
18672
|
-
|
|
18673
|
-
|
|
18674
|
-
|
|
18675
|
-
|
|
18676
|
-
|
|
18677
|
-
|
|
18678
|
-
|
|
18679
|
-
|
|
18680
|
-
|
|
18681
|
-
|
|
18682
|
-
|
|
18683
|
-
|
|
18684
|
-
|
|
18685
|
-
|
|
18686
|
-
|
|
18687
|
-
|
|
18688
|
-
|
|
18689
|
-
|
|
18690
|
-
|
|
18691
|
-
|
|
18692
|
-
|
|
18693
|
-
|
|
18694
|
-
|
|
18695
|
-
|
|
18696
|
-
|
|
18697
|
-
|
|
18698
|
-
|
|
18699
|
-
|
|
18700
|
-
|
|
18701
|
-
|
|
18702
|
-
|
|
18165
|
+
}
|
|
18166
|
+
close() {
|
|
18167
|
+
this.arraybuffer = null;
|
|
18168
|
+
return true;
|
|
18169
|
+
}
|
|
18170
|
+
};
|
|
18171
|
+
var LAZLoader = class {
|
|
18172
|
+
instance = null;
|
|
18173
|
+
header = null;
|
|
18174
|
+
constructor(arraybuffer) {
|
|
18175
|
+
this.arraybuffer = arraybuffer;
|
|
18176
|
+
if (!Module) {
|
|
18177
|
+
Module = getModule();
|
|
18178
|
+
}
|
|
18179
|
+
}
|
|
18180
|
+
open() {
|
|
18181
|
+
try {
|
|
18182
|
+
const {
|
|
18183
|
+
arraybuffer
|
|
18184
|
+
} = this;
|
|
18185
|
+
this.instance = new Module.LASZip();
|
|
18186
|
+
const abInt = new Uint8Array(arraybuffer);
|
|
18187
|
+
const buf = Module._malloc(arraybuffer.byteLength);
|
|
18188
|
+
this.instance.arraybuffer = arraybuffer;
|
|
18189
|
+
this.instance.buf = buf;
|
|
18190
|
+
Module.HEAPU8.set(abInt, buf);
|
|
18191
|
+
this.instance.open(buf, arraybuffer.byteLength);
|
|
18192
|
+
this.instance.readOffset = 0;
|
|
18193
|
+
return true;
|
|
18194
|
+
} catch (error) {
|
|
18195
|
+
throw new Error(`Failed to open file: ${error.message}`);
|
|
18196
|
+
}
|
|
18197
|
+
}
|
|
18198
|
+
getHeader() {
|
|
18199
|
+
if (!this.instance) {
|
|
18200
|
+
throw new Error("You need to open the file before trying to read header");
|
|
18201
|
+
}
|
|
18202
|
+
try {
|
|
18203
|
+
const header = parseLASHeader(this.instance.arraybuffer);
|
|
18204
|
+
header.pointsFormatId &= 63;
|
|
18205
|
+
this.header = header;
|
|
18206
|
+
return header;
|
|
18207
|
+
} catch (error) {
|
|
18208
|
+
throw new Error(`Failed to get header: ${error.message}`);
|
|
18209
|
+
}
|
|
18210
|
+
}
|
|
18211
|
+
readData(count, offset, skip) {
|
|
18212
|
+
if (!this.instance) {
|
|
18213
|
+
throw new Error("You need to open the file before trying to read stuff");
|
|
18214
|
+
}
|
|
18215
|
+
const {
|
|
18216
|
+
header,
|
|
18217
|
+
instance
|
|
18218
|
+
} = this;
|
|
18219
|
+
if (!header) {
|
|
18220
|
+
throw new Error("You need to query header before reading, I maintain state that way, sorry :(");
|
|
18221
|
+
}
|
|
18222
|
+
try {
|
|
18223
|
+
const pointsToRead = Math.min(count * skip, header.pointsCount - instance.readOffset);
|
|
18224
|
+
const bufferSize = Math.ceil(pointsToRead / skip);
|
|
18225
|
+
let pointsRead = 0;
|
|
18226
|
+
const thisBuf = new Uint8Array(bufferSize * header.pointsStructSize);
|
|
18227
|
+
const bufRead = Module._malloc(header.pointsStructSize);
|
|
18228
|
+
for (let i = 0; i < pointsToRead; i++) {
|
|
18229
|
+
instance.getPoint(bufRead);
|
|
18230
|
+
if (i % skip === 0) {
|
|
18231
|
+
const a = new Uint8Array(Module.HEAPU8.buffer, bufRead, header.pointsStructSize);
|
|
18232
|
+
thisBuf.set(a, pointsRead * header.pointsStructSize);
|
|
18233
|
+
pointsRead++;
|
|
18703
18234
|
}
|
|
18704
|
-
|
|
18705
|
-
return {
|
|
18706
|
-
buffer: buf.buffer,
|
|
18707
|
-
count: pointsRead,
|
|
18708
|
-
hasMoreData: readOffset < header.pointsCount
|
|
18709
|
-
};
|
|
18710
|
-
}
|
|
18711
|
-
close() {
|
|
18712
|
-
this.arraybuffer = null;
|
|
18713
|
-
return true;
|
|
18235
|
+
instance.readOffset++;
|
|
18714
18236
|
}
|
|
18715
|
-
|
|
18716
|
-
|
|
18717
|
-
|
|
18237
|
+
return {
|
|
18238
|
+
buffer: thisBuf.buffer,
|
|
18239
|
+
count: pointsRead,
|
|
18240
|
+
hasMoreData: instance.readOffset < header.pointsCount
|
|
18241
|
+
};
|
|
18242
|
+
} catch (error) {
|
|
18243
|
+
throw new Error(`Failed to read data: ${error.message}`);
|
|
18244
|
+
}
|
|
18245
|
+
}
|
|
18246
|
+
close() {
|
|
18247
|
+
try {
|
|
18248
|
+
if (this.instance !== null) {
|
|
18249
|
+
this.instance.delete();
|
|
18718
18250
|
this.instance = null;
|
|
18719
|
-
this.header = null;
|
|
18720
|
-
this.arraybuffer = arraybuffer;
|
|
18721
|
-
if (!Module) {
|
|
18722
|
-
Module = getModule();
|
|
18723
|
-
}
|
|
18724
|
-
}
|
|
18725
|
-
open() {
|
|
18726
|
-
try {
|
|
18727
|
-
const { arraybuffer } = this;
|
|
18728
|
-
this.instance = new Module.LASZip();
|
|
18729
|
-
const abInt = new Uint8Array(arraybuffer);
|
|
18730
|
-
const buf = Module._malloc(arraybuffer.byteLength);
|
|
18731
|
-
this.instance.arraybuffer = arraybuffer;
|
|
18732
|
-
this.instance.buf = buf;
|
|
18733
|
-
Module.HEAPU8.set(abInt, buf);
|
|
18734
|
-
this.instance.open(buf, arraybuffer.byteLength);
|
|
18735
|
-
this.instance.readOffset = 0;
|
|
18736
|
-
return true;
|
|
18737
|
-
} catch (error) {
|
|
18738
|
-
throw new Error(`Failed to open file: ${error.message}`);
|
|
18739
|
-
}
|
|
18740
|
-
}
|
|
18741
|
-
getHeader() {
|
|
18742
|
-
if (!this.instance) {
|
|
18743
|
-
throw new Error("You need to open the file before trying to read header");
|
|
18744
|
-
}
|
|
18745
|
-
try {
|
|
18746
|
-
const header = parseLASHeader(this.instance.arraybuffer);
|
|
18747
|
-
header.pointsFormatId &= 63;
|
|
18748
|
-
this.header = header;
|
|
18749
|
-
return header;
|
|
18750
|
-
} catch (error) {
|
|
18751
|
-
throw new Error(`Failed to get header: ${error.message}`);
|
|
18752
|
-
}
|
|
18753
|
-
}
|
|
18754
|
-
readData(count, offset, skip) {
|
|
18755
|
-
if (!this.instance) {
|
|
18756
|
-
throw new Error("You need to open the file before trying to read stuff");
|
|
18757
|
-
}
|
|
18758
|
-
const { header, instance } = this;
|
|
18759
|
-
if (!header) {
|
|
18760
|
-
throw new Error("You need to query header before reading, I maintain state that way, sorry :(");
|
|
18761
|
-
}
|
|
18762
|
-
try {
|
|
18763
|
-
const pointsToRead = Math.min(count * skip, header.pointsCount - instance.readOffset);
|
|
18764
|
-
const bufferSize = Math.ceil(pointsToRead / skip);
|
|
18765
|
-
let pointsRead = 0;
|
|
18766
|
-
const thisBuf = new Uint8Array(bufferSize * header.pointsStructSize);
|
|
18767
|
-
const bufRead = Module._malloc(header.pointsStructSize);
|
|
18768
|
-
for (let i = 0; i < pointsToRead; i++) {
|
|
18769
|
-
instance.getPoint(bufRead);
|
|
18770
|
-
if (i % skip === 0) {
|
|
18771
|
-
const a = new Uint8Array(Module.HEAPU8.buffer, bufRead, header.pointsStructSize);
|
|
18772
|
-
thisBuf.set(a, pointsRead * header.pointsStructSize);
|
|
18773
|
-
pointsRead++;
|
|
18774
|
-
}
|
|
18775
|
-
instance.readOffset++;
|
|
18776
|
-
}
|
|
18777
|
-
return {
|
|
18778
|
-
buffer: thisBuf.buffer,
|
|
18779
|
-
count: pointsRead,
|
|
18780
|
-
hasMoreData: instance.readOffset < header.pointsCount
|
|
18781
|
-
};
|
|
18782
|
-
} catch (error) {
|
|
18783
|
-
throw new Error(`Failed to read data: ${error.message}`);
|
|
18784
|
-
}
|
|
18785
|
-
}
|
|
18786
|
-
close() {
|
|
18787
|
-
try {
|
|
18788
|
-
if (this.instance !== null) {
|
|
18789
|
-
this.instance.delete();
|
|
18790
|
-
this.instance = null;
|
|
18791
|
-
}
|
|
18792
|
-
return true;
|
|
18793
|
-
} catch (error) {
|
|
18794
|
-
throw new Error(`Failed to close file: ${error.message}`);
|
|
18795
|
-
}
|
|
18796
|
-
}
|
|
18797
|
-
};
|
|
18798
|
-
LASDecoder = class {
|
|
18799
|
-
constructor(buffer, len, header) {
|
|
18800
|
-
this.arrayb = buffer;
|
|
18801
|
-
this.decoder = POINT_FORMAT_READERS[header.pointsFormatId];
|
|
18802
|
-
this.pointsCount = len;
|
|
18803
|
-
this.pointSize = header.pointsStructSize;
|
|
18804
|
-
this.scale = header.scale;
|
|
18805
|
-
this.offset = header.offset;
|
|
18806
|
-
this.mins = header.mins;
|
|
18807
|
-
this.maxs = header.maxs;
|
|
18808
|
-
}
|
|
18809
|
-
getPoint(index) {
|
|
18810
|
-
if (index < 0 || index >= this.pointsCount) {
|
|
18811
|
-
throw new Error("Point index out of range");
|
|
18812
|
-
}
|
|
18813
|
-
const dv = new DataView(this.arrayb, index * this.pointSize, this.pointSize);
|
|
18814
|
-
return this.decoder(dv);
|
|
18815
|
-
}
|
|
18816
|
-
};
|
|
18817
|
-
LASFile = class {
|
|
18818
|
-
constructor(arraybuffer) {
|
|
18819
|
-
this.formatId = 0;
|
|
18820
|
-
this.isCompressed = true;
|
|
18821
|
-
this.isOpen = false;
|
|
18822
|
-
this.version = 0;
|
|
18823
|
-
this.versionAsString = "";
|
|
18824
|
-
this.arraybuffer = arraybuffer;
|
|
18825
|
-
if (this.determineVersion() > 13) {
|
|
18826
|
-
throw new Error("Only file versions <= 1.3 are supported at this time");
|
|
18827
|
-
}
|
|
18828
|
-
this.determineFormat();
|
|
18829
|
-
if (POINT_FORMAT_READERS[this.formatId] === void 0) {
|
|
18830
|
-
throw new Error("The point format ID is not supported");
|
|
18831
|
-
}
|
|
18832
|
-
this.loader = this.isCompressed ? new LAZLoader(this.arraybuffer) : new LASLoader2(this.arraybuffer);
|
|
18833
|
-
}
|
|
18834
|
-
determineFormat() {
|
|
18835
|
-
const formatId = readAs(this.arraybuffer, Uint8Array, 32 * 3 + 8);
|
|
18836
|
-
const bit7 = (formatId & 128) >> 7;
|
|
18837
|
-
const bit6 = (formatId & 64) >> 6;
|
|
18838
|
-
if (bit7 === 1 && bit6 === 1) {
|
|
18839
|
-
throw new Error("Old style compression not supported");
|
|
18840
|
-
}
|
|
18841
|
-
this.formatId = formatId & 63;
|
|
18842
|
-
this.isCompressed = bit7 === 1 || bit6 === 1;
|
|
18843
|
-
}
|
|
18844
|
-
determineVersion() {
|
|
18845
|
-
const ver = new Int8Array(this.arraybuffer, 24, 2);
|
|
18846
|
-
this.version = ver[0] * 10 + ver[1];
|
|
18847
|
-
this.versionAsString = `${ver[0]}.${ver[1]}`;
|
|
18848
|
-
return this.version;
|
|
18849
|
-
}
|
|
18850
|
-
open() {
|
|
18851
|
-
if (this.loader.open()) {
|
|
18852
|
-
this.isOpen = true;
|
|
18853
|
-
}
|
|
18854
18251
|
}
|
|
18855
|
-
|
|
18856
|
-
|
|
18857
|
-
}
|
|
18858
|
-
|
|
18859
|
-
return this.loader.readData(count, start, skip);
|
|
18860
|
-
}
|
|
18861
|
-
close() {
|
|
18862
|
-
if (this.loader.close()) {
|
|
18863
|
-
this.isOpen = false;
|
|
18864
|
-
}
|
|
18865
|
-
}
|
|
18866
|
-
getUnpacker() {
|
|
18867
|
-
return LASDecoder;
|
|
18868
|
-
}
|
|
18869
|
-
};
|
|
18252
|
+
return true;
|
|
18253
|
+
} catch (error) {
|
|
18254
|
+
throw new Error(`Failed to close file: ${error.message}`);
|
|
18255
|
+
}
|
|
18870
18256
|
}
|
|
18871
|
-
}
|
|
18257
|
+
};
|
|
18258
|
+
var LASDecoder = class {
|
|
18259
|
+
constructor(buffer, len, header) {
|
|
18260
|
+
this.arrayb = buffer;
|
|
18261
|
+
this.decoder = POINT_FORMAT_READERS[header.pointsFormatId];
|
|
18262
|
+
this.pointsCount = len;
|
|
18263
|
+
this.pointSize = header.pointsStructSize;
|
|
18264
|
+
this.scale = header.scale;
|
|
18265
|
+
this.offset = header.offset;
|
|
18266
|
+
this.mins = header.mins;
|
|
18267
|
+
this.maxs = header.maxs;
|
|
18268
|
+
}
|
|
18269
|
+
getPoint(index) {
|
|
18270
|
+
if (index < 0 || index >= this.pointsCount) {
|
|
18271
|
+
throw new Error("Point index out of range");
|
|
18272
|
+
}
|
|
18273
|
+
const dv = new DataView(this.arrayb, index * this.pointSize, this.pointSize);
|
|
18274
|
+
return this.decoder(dv);
|
|
18275
|
+
}
|
|
18276
|
+
};
|
|
18277
|
+
var LASFile = class {
|
|
18278
|
+
formatId = 0;
|
|
18279
|
+
isCompressed = true;
|
|
18280
|
+
isOpen = false;
|
|
18281
|
+
version = 0;
|
|
18282
|
+
versionAsString = "";
|
|
18283
|
+
constructor(arraybuffer) {
|
|
18284
|
+
this.arraybuffer = arraybuffer;
|
|
18285
|
+
if (this.determineVersion() > 13) {
|
|
18286
|
+
throw new Error("Only file versions <= 1.3 are supported at this time");
|
|
18287
|
+
}
|
|
18288
|
+
this.determineFormat();
|
|
18289
|
+
if (POINT_FORMAT_READERS[this.formatId] === void 0) {
|
|
18290
|
+
throw new Error("The point format ID is not supported");
|
|
18291
|
+
}
|
|
18292
|
+
this.loader = this.isCompressed ? new LAZLoader(this.arraybuffer) : new LASLoader2(this.arraybuffer);
|
|
18293
|
+
}
|
|
18294
|
+
determineFormat() {
|
|
18295
|
+
const formatId = readAs(this.arraybuffer, Uint8Array, 32 * 3 + 8);
|
|
18296
|
+
const bit7 = (formatId & 128) >> 7;
|
|
18297
|
+
const bit6 = (formatId & 64) >> 6;
|
|
18298
|
+
if (bit7 === 1 && bit6 === 1) {
|
|
18299
|
+
throw new Error("Old style compression not supported");
|
|
18300
|
+
}
|
|
18301
|
+
this.formatId = formatId & 63;
|
|
18302
|
+
this.isCompressed = bit7 === 1 || bit6 === 1;
|
|
18303
|
+
}
|
|
18304
|
+
determineVersion() {
|
|
18305
|
+
const ver = new Int8Array(this.arraybuffer, 24, 2);
|
|
18306
|
+
this.version = ver[0] * 10 + ver[1];
|
|
18307
|
+
this.versionAsString = `${ver[0]}.${ver[1]}`;
|
|
18308
|
+
return this.version;
|
|
18309
|
+
}
|
|
18310
|
+
open() {
|
|
18311
|
+
if (this.loader.open()) {
|
|
18312
|
+
this.isOpen = true;
|
|
18313
|
+
}
|
|
18314
|
+
}
|
|
18315
|
+
getHeader() {
|
|
18316
|
+
return this.loader.getHeader();
|
|
18317
|
+
}
|
|
18318
|
+
readData(count, start, skip) {
|
|
18319
|
+
return this.loader.readData(count, start, skip);
|
|
18320
|
+
}
|
|
18321
|
+
close() {
|
|
18322
|
+
if (this.loader.close()) {
|
|
18323
|
+
this.isOpen = false;
|
|
18324
|
+
}
|
|
18325
|
+
}
|
|
18326
|
+
getUnpacker() {
|
|
18327
|
+
return LASDecoder;
|
|
18328
|
+
}
|
|
18329
|
+
};
|
|
18872
18330
|
|
|
18873
18331
|
// src/lib/get-las-schema.ts
|
|
18874
18332
|
function getLASSchema(lasHeader, attributes) {
|
|
@@ -18900,11 +18358,6 @@
|
|
|
18900
18358
|
}
|
|
18901
18359
|
return metadata;
|
|
18902
18360
|
}
|
|
18903
|
-
var init_get_las_schema = __esm({
|
|
18904
|
-
"src/lib/get-las-schema.ts"() {
|
|
18905
|
-
init_src();
|
|
18906
|
-
}
|
|
18907
|
-
});
|
|
18908
18361
|
|
|
18909
18362
|
// src/lib/parse-las.ts
|
|
18910
18363
|
function parseLAS(arrayBuffer, options) {
|
|
@@ -18920,13 +18373,13 @@
|
|
|
18920
18373
|
const lasMesh = {
|
|
18921
18374
|
loader: "las",
|
|
18922
18375
|
loaderData: {},
|
|
18923
|
-
schema: {
|
|
18376
|
+
schema: {
|
|
18377
|
+
fields: [],
|
|
18378
|
+
metadata: {}
|
|
18379
|
+
},
|
|
18924
18380
|
header: {
|
|
18925
18381
|
vertexCount: 0,
|
|
18926
|
-
boundingBox: [
|
|
18927
|
-
[0, 0, 0],
|
|
18928
|
-
[0, 0, 0]
|
|
18929
|
-
]
|
|
18382
|
+
boundingBox: [[0, 0, 0], [0, 0, 0]]
|
|
18930
18383
|
},
|
|
18931
18384
|
attributes: {},
|
|
18932
18385
|
topology: "point-list",
|
|
@@ -18943,12 +18396,24 @@
|
|
|
18943
18396
|
classifications = new Uint8Array(total);
|
|
18944
18397
|
lasMesh.loaderData = lasHeader;
|
|
18945
18398
|
lasMesh.attributes = {
|
|
18946
|
-
POSITION: {
|
|
18947
|
-
|
|
18948
|
-
|
|
18399
|
+
POSITION: {
|
|
18400
|
+
value: positions,
|
|
18401
|
+
size: 3
|
|
18402
|
+
},
|
|
18403
|
+
intensity: {
|
|
18404
|
+
value: intensities,
|
|
18405
|
+
size: 1
|
|
18406
|
+
},
|
|
18407
|
+
classification: {
|
|
18408
|
+
value: classifications,
|
|
18409
|
+
size: 1
|
|
18410
|
+
}
|
|
18949
18411
|
};
|
|
18950
18412
|
if (colors) {
|
|
18951
|
-
lasMesh.attributes.COLOR_0 = {
|
|
18413
|
+
lasMesh.attributes.COLOR_0 = {
|
|
18414
|
+
value: colors,
|
|
18415
|
+
size: 4
|
|
18416
|
+
};
|
|
18952
18417
|
}
|
|
18953
18418
|
}
|
|
18954
18419
|
const batchSize = decoder.pointsCount;
|
|
@@ -18958,7 +18423,12 @@
|
|
|
18958
18423
|
} = lasHeader;
|
|
18959
18424
|
const twoByteColor = detectTwoByteColors(decoder, batchSize, options.las?.colorDepth);
|
|
18960
18425
|
for (let i = 0; i < batchSize; i++) {
|
|
18961
|
-
const {
|
|
18426
|
+
const {
|
|
18427
|
+
position,
|
|
18428
|
+
color,
|
|
18429
|
+
intensity,
|
|
18430
|
+
classification
|
|
18431
|
+
} = decoder.getPoint(i);
|
|
18962
18432
|
positions[pointIndex * 3] = position[0] * scaleX + offsetX;
|
|
18963
18433
|
positions[pointIndex * 3 + 1] = position[1] * scaleY + offsetY;
|
|
18964
18434
|
positions[pointIndex * 3 + 2] = position[2] * scaleZ + offsetZ;
|
|
@@ -19035,7 +18505,9 @@
|
|
|
19035
18505
|
case "auto":
|
|
19036
18506
|
if (decoder.getPoint(0).color) {
|
|
19037
18507
|
for (let i = 0; i < batchSize; i++) {
|
|
19038
|
-
const {
|
|
18508
|
+
const {
|
|
18509
|
+
color
|
|
18510
|
+
} = decoder.getPoint(i);
|
|
19039
18511
|
if (color[0] > 255 || color[1] > 255 || color[2] > 255) {
|
|
19040
18512
|
twoByteColor = true;
|
|
19041
18513
|
}
|
|
@@ -19048,40 +18520,14 @@
|
|
|
19048
18520
|
}
|
|
19049
18521
|
return twoByteColor;
|
|
19050
18522
|
}
|
|
19051
|
-
var init_parse_las = __esm({
|
|
19052
|
-
"src/lib/parse-las.ts"() {
|
|
19053
|
-
init_src();
|
|
19054
|
-
init_laslaz_decoder();
|
|
19055
|
-
init_get_las_schema();
|
|
19056
|
-
}
|
|
19057
|
-
});
|
|
19058
18523
|
|
|
19059
18524
|
// src/index.ts
|
|
19060
|
-
var
|
|
19061
|
-
|
|
19062
|
-
|
|
19063
|
-
|
|
19064
|
-
}
|
|
19065
|
-
|
|
19066
|
-
var init_src2 = __esm({
|
|
19067
|
-
"src/index.ts"() {
|
|
19068
|
-
init_las_loader();
|
|
19069
|
-
init_parse_las();
|
|
19070
|
-
LASLoader3 = {
|
|
19071
|
-
...LASLoader,
|
|
19072
|
-
parse: async (arrayBuffer, options) => parseLAS(arrayBuffer, options),
|
|
19073
|
-
parseSync: (arrayBuffer, options) => parseLAS(arrayBuffer, options)
|
|
19074
|
-
};
|
|
19075
|
-
}
|
|
19076
|
-
});
|
|
19077
|
-
|
|
19078
|
-
// src/bundle.ts
|
|
19079
|
-
var require_bundle = __commonJS({
|
|
19080
|
-
"src/bundle.ts"(exports, module2) {
|
|
19081
|
-
var moduleExports = (init_src2(), src_exports);
|
|
19082
|
-
globalThis.loaders = globalThis.loaders || {};
|
|
19083
|
-
module2.exports = Object.assign(globalThis.loaders, moduleExports);
|
|
19084
|
-
}
|
|
19085
|
-
});
|
|
19086
|
-
require_bundle();
|
|
18525
|
+
var LASLoader3 = {
|
|
18526
|
+
...LASLoader,
|
|
18527
|
+
parse: async (arrayBuffer, options) => parseLAS(arrayBuffer, options),
|
|
18528
|
+
parseSync: (arrayBuffer, options) => parseLAS(arrayBuffer, options)
|
|
18529
|
+
};
|
|
18530
|
+
return __toCommonJS(src_exports);
|
|
19087
18531
|
})();
|
|
18532
|
+
return __exports__;
|
|
18533
|
+
});
|