open-agreements 0.7.6 → 0.7.7

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.
Files changed (250) hide show
  1. package/README.md +1 -1
  2. package/content/templates/openagreements-due-diligence-request-list/template.docx +0 -0
  3. package/content/templates/openagreements-due-diligence-request-list/template.md +1 -1
  4. package/dist/core/fill-pipeline.d.ts.map +1 -1
  5. package/dist/core/fill-pipeline.js +0 -8
  6. package/dist/core/fill-pipeline.js.map +1 -1
  7. package/dist/core/unified-pipeline.d.ts.map +1 -1
  8. package/dist/core/unified-pipeline.js +4 -6
  9. package/dist/core/unified-pipeline.js.map +1 -1
  10. package/gemini-extension.json +1 -1
  11. package/node_modules/@xmldom/xmldom/CHANGELOG.md +939 -0
  12. package/node_modules/@xmldom/xmldom/LICENSE +8 -0
  13. package/node_modules/@xmldom/xmldom/SECURITY.md +50 -0
  14. package/node_modules/@xmldom/xmldom/index.d.ts +1664 -0
  15. package/node_modules/@xmldom/xmldom/lib/.eslintrc.yml +3 -0
  16. package/node_modules/@xmldom/xmldom/lib/conventions.js +429 -0
  17. package/node_modules/@xmldom/xmldom/lib/dom-parser.js +586 -0
  18. package/node_modules/@xmldom/xmldom/lib/dom.js +3192 -0
  19. package/node_modules/@xmldom/xmldom/lib/entities.js +2171 -0
  20. package/node_modules/@xmldom/xmldom/lib/errors.js +202 -0
  21. package/node_modules/@xmldom/xmldom/lib/grammar.js +533 -0
  22. package/node_modules/@xmldom/xmldom/lib/index.js +41 -0
  23. package/node_modules/@xmldom/xmldom/lib/sax.js +929 -0
  24. package/node_modules/@xmldom/xmldom/package.json +74 -0
  25. package/node_modules/@xmldom/xmldom/readme.md +364 -0
  26. package/node_modules/core-util-is/LICENSE +19 -0
  27. package/node_modules/core-util-is/README.md +3 -0
  28. package/node_modules/core-util-is/lib/util.js +107 -0
  29. package/node_modules/core-util-is/package.json +38 -0
  30. package/node_modules/immediate/LICENSE.txt +20 -0
  31. package/node_modules/immediate/README.md +93 -0
  32. package/node_modules/immediate/dist/immediate.js +75 -0
  33. package/node_modules/immediate/dist/immediate.min.js +1 -0
  34. package/node_modules/immediate/lib/browser.js +69 -0
  35. package/node_modules/immediate/lib/index.js +73 -0
  36. package/node_modules/immediate/package.json +42 -0
  37. package/node_modules/inherits/LICENSE +16 -0
  38. package/node_modules/inherits/README.md +42 -0
  39. package/node_modules/inherits/inherits.js +9 -0
  40. package/node_modules/inherits/inherits_browser.js +27 -0
  41. package/node_modules/inherits/package.json +29 -0
  42. package/node_modules/isarray/.npmignore +1 -0
  43. package/node_modules/isarray/.travis.yml +4 -0
  44. package/node_modules/isarray/Makefile +6 -0
  45. package/node_modules/isarray/README.md +60 -0
  46. package/node_modules/isarray/component.json +19 -0
  47. package/node_modules/isarray/index.js +5 -0
  48. package/node_modules/isarray/package.json +45 -0
  49. package/node_modules/isarray/test.js +20 -0
  50. package/node_modules/jszip/.codeclimate.yml +16 -0
  51. package/node_modules/jszip/.editorconfig +8 -0
  52. package/node_modules/jszip/.eslintrc.js +43 -0
  53. package/node_modules/jszip/.github/workflows/pr.yaml +58 -0
  54. package/node_modules/jszip/.jekyll-metadata +0 -0
  55. package/node_modules/jszip/.travis.yml +17 -0
  56. package/node_modules/jszip/CHANGES.md +204 -0
  57. package/node_modules/jszip/LICENSE.markdown +651 -0
  58. package/node_modules/jszip/README.markdown +33 -0
  59. package/node_modules/jszip/deps.js +37 -0
  60. package/node_modules/jszip/dist/jszip.js +11577 -0
  61. package/node_modules/jszip/dist/jszip.min.js +13 -0
  62. package/node_modules/jszip/graph.svg +601 -0
  63. package/node_modules/jszip/index.d.ts +330 -0
  64. package/node_modules/jszip/lib/base64.js +106 -0
  65. package/node_modules/jszip/lib/compressedObject.js +74 -0
  66. package/node_modules/jszip/lib/compressions.js +14 -0
  67. package/node_modules/jszip/lib/crc32.js +77 -0
  68. package/node_modules/jszip/lib/defaults.js +11 -0
  69. package/node_modules/jszip/lib/external.js +18 -0
  70. package/node_modules/jszip/lib/flate.js +85 -0
  71. package/node_modules/jszip/lib/generate/ZipFileWorker.js +539 -0
  72. package/node_modules/jszip/lib/generate/index.js +57 -0
  73. package/node_modules/jszip/lib/index.js +55 -0
  74. package/node_modules/jszip/lib/license_header.js +11 -0
  75. package/node_modules/jszip/lib/load.js +88 -0
  76. package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +74 -0
  77. package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +42 -0
  78. package/node_modules/jszip/lib/nodejsUtils.js +57 -0
  79. package/node_modules/jszip/lib/object.js +384 -0
  80. package/node_modules/jszip/lib/readable-stream-browser.js +10 -0
  81. package/node_modules/jszip/lib/reader/ArrayReader.js +57 -0
  82. package/node_modules/jszip/lib/reader/DataReader.js +116 -0
  83. package/node_modules/jszip/lib/reader/NodeBufferReader.js +19 -0
  84. package/node_modules/jszip/lib/reader/StringReader.js +38 -0
  85. package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +22 -0
  86. package/node_modules/jszip/lib/reader/readerFor.js +28 -0
  87. package/node_modules/jszip/lib/signature.js +7 -0
  88. package/node_modules/jszip/lib/stream/ConvertWorker.js +26 -0
  89. package/node_modules/jszip/lib/stream/Crc32Probe.js +24 -0
  90. package/node_modules/jszip/lib/stream/DataLengthProbe.js +29 -0
  91. package/node_modules/jszip/lib/stream/DataWorker.js +116 -0
  92. package/node_modules/jszip/lib/stream/GenericWorker.js +263 -0
  93. package/node_modules/jszip/lib/stream/StreamHelper.js +214 -0
  94. package/node_modules/jszip/lib/support.js +38 -0
  95. package/node_modules/jszip/lib/utf8.js +275 -0
  96. package/node_modules/jszip/lib/utils.js +501 -0
  97. package/node_modules/jszip/lib/zipEntries.js +261 -0
  98. package/node_modules/jszip/lib/zipEntry.js +293 -0
  99. package/node_modules/jszip/lib/zipObject.js +133 -0
  100. package/node_modules/jszip/package.json +67 -0
  101. package/node_modules/jszip/sponsors.md +21 -0
  102. package/node_modules/jszip/tsconfig.json +101 -0
  103. package/node_modules/jszip/vendor/FileSaver.js +247 -0
  104. package/node_modules/lie/README.md +62 -0
  105. package/node_modules/lie/dist/lie.js +350 -0
  106. package/node_modules/lie/dist/lie.min.js +1 -0
  107. package/node_modules/lie/dist/lie.polyfill.js +358 -0
  108. package/node_modules/lie/dist/lie.polyfill.min.js +1 -0
  109. package/node_modules/lie/lib/browser.js +273 -0
  110. package/node_modules/lie/lib/index.js +298 -0
  111. package/node_modules/lie/license.md +7 -0
  112. package/node_modules/lie/lie.d.ts +244 -0
  113. package/node_modules/lie/package.json +69 -0
  114. package/node_modules/lie/polyfill.js +4 -0
  115. package/node_modules/pako/LICENSE +21 -0
  116. package/node_modules/pako/README.md +191 -0
  117. package/node_modules/pako/dist/pako.js +6818 -0
  118. package/node_modules/pako/dist/pako.min.js +1 -0
  119. package/node_modules/pako/dist/pako_deflate.js +3997 -0
  120. package/node_modules/pako/dist/pako_deflate.min.js +1 -0
  121. package/node_modules/pako/dist/pako_inflate.js +3300 -0
  122. package/node_modules/pako/dist/pako_inflate.min.js +1 -0
  123. package/node_modules/pako/index.js +14 -0
  124. package/node_modules/pako/lib/deflate.js +400 -0
  125. package/node_modules/pako/lib/inflate.js +423 -0
  126. package/node_modules/pako/lib/utils/common.js +105 -0
  127. package/node_modules/pako/lib/utils/strings.js +187 -0
  128. package/node_modules/pako/lib/zlib/README +59 -0
  129. package/node_modules/pako/lib/zlib/adler32.js +51 -0
  130. package/node_modules/pako/lib/zlib/constants.js +68 -0
  131. package/node_modules/pako/lib/zlib/crc32.js +59 -0
  132. package/node_modules/pako/lib/zlib/deflate.js +1874 -0
  133. package/node_modules/pako/lib/zlib/gzheader.js +58 -0
  134. package/node_modules/pako/lib/zlib/inffast.js +345 -0
  135. package/node_modules/pako/lib/zlib/inflate.js +1556 -0
  136. package/node_modules/pako/lib/zlib/inftrees.js +343 -0
  137. package/node_modules/pako/lib/zlib/messages.js +32 -0
  138. package/node_modules/pako/lib/zlib/trees.js +1222 -0
  139. package/node_modules/pako/lib/zlib/zstream.js +47 -0
  140. package/node_modules/pako/package.json +44 -0
  141. package/node_modules/process-nextick-args/index.js +45 -0
  142. package/node_modules/process-nextick-args/license.md +19 -0
  143. package/node_modules/process-nextick-args/package.json +25 -0
  144. package/node_modules/process-nextick-args/readme.md +18 -0
  145. package/node_modules/readable-stream/.travis.yml +34 -0
  146. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  147. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  148. package/node_modules/readable-stream/LICENSE +47 -0
  149. package/node_modules/readable-stream/README.md +58 -0
  150. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  151. package/node_modules/readable-stream/duplex-browser.js +1 -0
  152. package/node_modules/readable-stream/duplex.js +1 -0
  153. package/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  154. package/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  155. package/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  156. package/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  157. package/node_modules/readable-stream/lib/_stream_writable.js +685 -0
  158. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +78 -0
  159. package/node_modules/readable-stream/lib/internal/streams/destroy.js +84 -0
  160. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  161. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  162. package/node_modules/readable-stream/package.json +52 -0
  163. package/node_modules/readable-stream/passthrough.js +1 -0
  164. package/node_modules/readable-stream/readable-browser.js +7 -0
  165. package/node_modules/readable-stream/readable.js +19 -0
  166. package/node_modules/readable-stream/transform.js +1 -0
  167. package/node_modules/readable-stream/writable-browser.js +1 -0
  168. package/node_modules/readable-stream/writable.js +8 -0
  169. package/node_modules/safe-buffer/LICENSE +21 -0
  170. package/node_modules/safe-buffer/README.md +584 -0
  171. package/node_modules/safe-buffer/index.d.ts +187 -0
  172. package/node_modules/safe-buffer/index.js +62 -0
  173. package/node_modules/safe-buffer/package.json +37 -0
  174. package/node_modules/setimmediate/LICENSE.txt +20 -0
  175. package/node_modules/setimmediate/package.json +30 -0
  176. package/node_modules/setimmediate/setImmediate.js +186 -0
  177. package/node_modules/string_decoder/.travis.yml +50 -0
  178. package/node_modules/string_decoder/LICENSE +48 -0
  179. package/node_modules/string_decoder/README.md +47 -0
  180. package/node_modules/string_decoder/lib/string_decoder.js +296 -0
  181. package/node_modules/string_decoder/package.json +31 -0
  182. package/node_modules/util-deprecate/History.md +16 -0
  183. package/node_modules/util-deprecate/LICENSE +24 -0
  184. package/node_modules/util-deprecate/README.md +53 -0
  185. package/node_modules/util-deprecate/browser.js +67 -0
  186. package/node_modules/util-deprecate/node.js +6 -0
  187. package/node_modules/util-deprecate/package.json +27 -0
  188. package/package.json +1 -1
  189. package/skills/client-email/SKILL.md +8 -6
  190. package/skills/employment-contract/SKILL.md +23 -6
  191. package/skills/non-compete-contract-explainer/content/alabama.md +251 -0
  192. package/skills/non-compete-contract-explainer/content/alaska.md +160 -0
  193. package/skills/non-compete-contract-explainer/content/american-samoa.md +187 -0
  194. package/skills/non-compete-contract-explainer/content/arizona.md +293 -0
  195. package/skills/non-compete-contract-explainer/content/arkansas.md +235 -0
  196. package/skills/non-compete-contract-explainer/content/california.md +270 -0
  197. package/skills/non-compete-contract-explainer/content/cnmi.md +168 -0
  198. package/skills/non-compete-contract-explainer/content/colorado.md +277 -0
  199. package/skills/non-compete-contract-explainer/content/connecticut.md +220 -0
  200. package/skills/non-compete-contract-explainer/content/delaware.md +222 -0
  201. package/skills/non-compete-contract-explainer/content/district-of-columbia.md +263 -0
  202. package/skills/non-compete-contract-explainer/content/florida.md +267 -0
  203. package/skills/non-compete-contract-explainer/content/georgia.md +323 -0
  204. package/skills/non-compete-contract-explainer/content/guam.md +180 -0
  205. package/skills/non-compete-contract-explainer/content/hawaii.md +236 -0
  206. package/skills/non-compete-contract-explainer/content/idaho.md +258 -0
  207. package/skills/non-compete-contract-explainer/content/illinois.md +266 -0
  208. package/skills/non-compete-contract-explainer/content/india.md +269 -0
  209. package/skills/non-compete-contract-explainer/content/indiana.md +253 -0
  210. package/skills/non-compete-contract-explainer/content/iowa.md +232 -0
  211. package/skills/non-compete-contract-explainer/content/kansas.md +227 -0
  212. package/skills/non-compete-contract-explainer/content/kentucky.md +201 -0
  213. package/skills/non-compete-contract-explainer/content/louisiana.md +272 -0
  214. package/skills/non-compete-contract-explainer/content/maine.md +178 -0
  215. package/skills/non-compete-contract-explainer/content/maryland.md +244 -0
  216. package/skills/non-compete-contract-explainer/content/massachusetts.md +272 -0
  217. package/skills/non-compete-contract-explainer/content/michigan.md +222 -0
  218. package/skills/non-compete-contract-explainer/content/minnesota.md +171 -0
  219. package/skills/non-compete-contract-explainer/content/mississippi.md +237 -0
  220. package/skills/non-compete-contract-explainer/content/missouri.md +219 -0
  221. package/skills/non-compete-contract-explainer/content/montana.md +202 -0
  222. package/skills/non-compete-contract-explainer/content/nebraska.md +206 -0
  223. package/skills/non-compete-contract-explainer/content/nevada.md +278 -0
  224. package/skills/non-compete-contract-explainer/content/new-hampshire.md +233 -0
  225. package/skills/non-compete-contract-explainer/content/new-jersey.md +277 -0
  226. package/skills/non-compete-contract-explainer/content/new-mexico.md +244 -0
  227. package/skills/non-compete-contract-explainer/content/new-york.md +226 -0
  228. package/skills/non-compete-contract-explainer/content/north-carolina.md +346 -0
  229. package/skills/non-compete-contract-explainer/content/north-dakota.md +187 -0
  230. package/skills/non-compete-contract-explainer/content/ohio.md +207 -0
  231. package/skills/non-compete-contract-explainer/content/oklahoma.md +196 -0
  232. package/skills/non-compete-contract-explainer/content/oregon.md +359 -0
  233. package/skills/non-compete-contract-explainer/content/pennsylvania.md +254 -0
  234. package/skills/non-compete-contract-explainer/content/philippines.md +211 -0
  235. package/skills/non-compete-contract-explainer/content/puerto-rico.md +163 -0
  236. package/skills/non-compete-contract-explainer/content/rhode-island.md +171 -0
  237. package/skills/non-compete-contract-explainer/content/singapore.md +229 -0
  238. package/skills/non-compete-contract-explainer/content/south-carolina.md +226 -0
  239. package/skills/non-compete-contract-explainer/content/south-dakota.md +222 -0
  240. package/skills/non-compete-contract-explainer/content/tennessee.md +251 -0
  241. package/skills/non-compete-contract-explainer/content/texas.md +297 -0
  242. package/skills/non-compete-contract-explainer/content/us-virgin-islands.md +193 -0
  243. package/skills/non-compete-contract-explainer/content/utah.md +250 -0
  244. package/skills/non-compete-contract-explainer/content/vermont.md +193 -0
  245. package/skills/non-compete-contract-explainer/content/virginia.md +213 -0
  246. package/skills/non-compete-contract-explainer/content/washington.md +296 -0
  247. package/skills/non-compete-contract-explainer/content/west-virginia.md +187 -0
  248. package/skills/non-compete-contract-explainer/content/wisconsin.md +293 -0
  249. package/skills/non-compete-contract-explainer/content/wyoming.md +55 -45
  250. package/skills/non-compete-contract-explainer/manifest.json +523 -1
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ exports.base64 = true;
4
+ exports.array = true;
5
+ exports.string = true;
6
+ exports.arraybuffer = typeof ArrayBuffer !== "undefined" && typeof Uint8Array !== "undefined";
7
+ exports.nodebuffer = typeof Buffer !== "undefined";
8
+ // contains true if JSZip can read/generate Uint8Array, false otherwise.
9
+ exports.uint8array = typeof Uint8Array !== "undefined";
10
+
11
+ if (typeof ArrayBuffer === "undefined") {
12
+ exports.blob = false;
13
+ }
14
+ else {
15
+ var buffer = new ArrayBuffer(0);
16
+ try {
17
+ exports.blob = new Blob([buffer], {
18
+ type: "application/zip"
19
+ }).size === 0;
20
+ }
21
+ catch (e) {
22
+ try {
23
+ var Builder = self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder;
24
+ var builder = new Builder();
25
+ builder.append(buffer);
26
+ exports.blob = builder.getBlob("application/zip").size === 0;
27
+ }
28
+ catch (e) {
29
+ exports.blob = false;
30
+ }
31
+ }
32
+ }
33
+
34
+ try {
35
+ exports.nodestream = !!require("readable-stream").Readable;
36
+ } catch(e) {
37
+ exports.nodestream = false;
38
+ }
@@ -0,0 +1,275 @@
1
+ "use strict";
2
+
3
+ var utils = require("./utils");
4
+ var support = require("./support");
5
+ var nodejsUtils = require("./nodejsUtils");
6
+ var GenericWorker = require("./stream/GenericWorker");
7
+
8
+ /**
9
+ * The following functions come from pako, from pako/lib/utils/strings
10
+ * released under the MIT license, see pako https://github.com/nodeca/pako/
11
+ */
12
+
13
+ // Table with utf8 lengths (calculated by first byte of sequence)
14
+ // Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,
15
+ // because max possible codepoint is 0x10ffff
16
+ var _utf8len = new Array(256);
17
+ for (var i=0; i<256; i++) {
18
+ _utf8len[i] = (i >= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1);
19
+ }
20
+ _utf8len[254]=_utf8len[254]=1; // Invalid sequence start
21
+
22
+ // convert string to array (typed, when possible)
23
+ var string2buf = function (str) {
24
+ var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;
25
+
26
+ // count binary size
27
+ for (m_pos = 0; m_pos < str_len; m_pos++) {
28
+ c = str.charCodeAt(m_pos);
29
+ if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {
30
+ c2 = str.charCodeAt(m_pos+1);
31
+ if ((c2 & 0xfc00) === 0xdc00) {
32
+ c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);
33
+ m_pos++;
34
+ }
35
+ }
36
+ buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;
37
+ }
38
+
39
+ // allocate buffer
40
+ if (support.uint8array) {
41
+ buf = new Uint8Array(buf_len);
42
+ } else {
43
+ buf = new Array(buf_len);
44
+ }
45
+
46
+ // convert
47
+ for (i=0, m_pos = 0; i < buf_len; m_pos++) {
48
+ c = str.charCodeAt(m_pos);
49
+ if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {
50
+ c2 = str.charCodeAt(m_pos+1);
51
+ if ((c2 & 0xfc00) === 0xdc00) {
52
+ c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);
53
+ m_pos++;
54
+ }
55
+ }
56
+ if (c < 0x80) {
57
+ /* one byte */
58
+ buf[i++] = c;
59
+ } else if (c < 0x800) {
60
+ /* two bytes */
61
+ buf[i++] = 0xC0 | (c >>> 6);
62
+ buf[i++] = 0x80 | (c & 0x3f);
63
+ } else if (c < 0x10000) {
64
+ /* three bytes */
65
+ buf[i++] = 0xE0 | (c >>> 12);
66
+ buf[i++] = 0x80 | (c >>> 6 & 0x3f);
67
+ buf[i++] = 0x80 | (c & 0x3f);
68
+ } else {
69
+ /* four bytes */
70
+ buf[i++] = 0xf0 | (c >>> 18);
71
+ buf[i++] = 0x80 | (c >>> 12 & 0x3f);
72
+ buf[i++] = 0x80 | (c >>> 6 & 0x3f);
73
+ buf[i++] = 0x80 | (c & 0x3f);
74
+ }
75
+ }
76
+
77
+ return buf;
78
+ };
79
+
80
+ // Calculate max possible position in utf8 buffer,
81
+ // that will not break sequence. If that's not possible
82
+ // - (very small limits) return max size as is.
83
+ //
84
+ // buf[] - utf8 bytes array
85
+ // max - length limit (mandatory);
86
+ var utf8border = function(buf, max) {
87
+ var pos;
88
+
89
+ max = max || buf.length;
90
+ if (max > buf.length) { max = buf.length; }
91
+
92
+ // go back from last position, until start of sequence found
93
+ pos = max-1;
94
+ while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }
95
+
96
+ // Fuckup - very small and broken sequence,
97
+ // return max, because we should return something anyway.
98
+ if (pos < 0) { return max; }
99
+
100
+ // If we came to start of buffer - that means vuffer is too small,
101
+ // return max too.
102
+ if (pos === 0) { return max; }
103
+
104
+ return (pos + _utf8len[buf[pos]] > max) ? pos : max;
105
+ };
106
+
107
+ // convert array to string
108
+ var buf2string = function (buf) {
109
+ var i, out, c, c_len;
110
+ var len = buf.length;
111
+
112
+ // Reserve max possible length (2 words per char)
113
+ // NB: by unknown reasons, Array is significantly faster for
114
+ // String.fromCharCode.apply than Uint16Array.
115
+ var utf16buf = new Array(len*2);
116
+
117
+ for (out=0, i=0; i<len;) {
118
+ c = buf[i++];
119
+ // quick process ascii
120
+ if (c < 0x80) { utf16buf[out++] = c; continue; }
121
+
122
+ c_len = _utf8len[c];
123
+ // skip 5 & 6 byte codes
124
+ if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len-1; continue; }
125
+
126
+ // apply mask on first byte
127
+ c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;
128
+ // join the rest
129
+ while (c_len > 1 && i < len) {
130
+ c = (c << 6) | (buf[i++] & 0x3f);
131
+ c_len--;
132
+ }
133
+
134
+ // terminated by end of string?
135
+ if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }
136
+
137
+ if (c < 0x10000) {
138
+ utf16buf[out++] = c;
139
+ } else {
140
+ c -= 0x10000;
141
+ utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);
142
+ utf16buf[out++] = 0xdc00 | (c & 0x3ff);
143
+ }
144
+ }
145
+
146
+ // shrinkBuf(utf16buf, out)
147
+ if (utf16buf.length !== out) {
148
+ if(utf16buf.subarray) {
149
+ utf16buf = utf16buf.subarray(0, out);
150
+ } else {
151
+ utf16buf.length = out;
152
+ }
153
+ }
154
+
155
+ // return String.fromCharCode.apply(null, utf16buf);
156
+ return utils.applyFromCharCode(utf16buf);
157
+ };
158
+
159
+
160
+ // That's all for the pako functions.
161
+
162
+
163
+ /**
164
+ * Transform a javascript string into an array (typed if possible) of bytes,
165
+ * UTF-8 encoded.
166
+ * @param {String} str the string to encode
167
+ * @return {Array|Uint8Array|Buffer} the UTF-8 encoded string.
168
+ */
169
+ exports.utf8encode = function utf8encode(str) {
170
+ if (support.nodebuffer) {
171
+ return nodejsUtils.newBufferFrom(str, "utf-8");
172
+ }
173
+
174
+ return string2buf(str);
175
+ };
176
+
177
+
178
+ /**
179
+ * Transform a bytes array (or a representation) representing an UTF-8 encoded
180
+ * string into a javascript string.
181
+ * @param {Array|Uint8Array|Buffer} buf the data de decode
182
+ * @return {String} the decoded string.
183
+ */
184
+ exports.utf8decode = function utf8decode(buf) {
185
+ if (support.nodebuffer) {
186
+ return utils.transformTo("nodebuffer", buf).toString("utf-8");
187
+ }
188
+
189
+ buf = utils.transformTo(support.uint8array ? "uint8array" : "array", buf);
190
+
191
+ return buf2string(buf);
192
+ };
193
+
194
+ /**
195
+ * A worker to decode utf8 encoded binary chunks into string chunks.
196
+ * @constructor
197
+ */
198
+ function Utf8DecodeWorker() {
199
+ GenericWorker.call(this, "utf-8 decode");
200
+ // the last bytes if a chunk didn't end with a complete codepoint.
201
+ this.leftOver = null;
202
+ }
203
+ utils.inherits(Utf8DecodeWorker, GenericWorker);
204
+
205
+ /**
206
+ * @see GenericWorker.processChunk
207
+ */
208
+ Utf8DecodeWorker.prototype.processChunk = function (chunk) {
209
+
210
+ var data = utils.transformTo(support.uint8array ? "uint8array" : "array", chunk.data);
211
+
212
+ // 1st step, re-use what's left of the previous chunk
213
+ if (this.leftOver && this.leftOver.length) {
214
+ if(support.uint8array) {
215
+ var previousData = data;
216
+ data = new Uint8Array(previousData.length + this.leftOver.length);
217
+ data.set(this.leftOver, 0);
218
+ data.set(previousData, this.leftOver.length);
219
+ } else {
220
+ data = this.leftOver.concat(data);
221
+ }
222
+ this.leftOver = null;
223
+ }
224
+
225
+ var nextBoundary = utf8border(data);
226
+ var usableData = data;
227
+ if (nextBoundary !== data.length) {
228
+ if (support.uint8array) {
229
+ usableData = data.subarray(0, nextBoundary);
230
+ this.leftOver = data.subarray(nextBoundary, data.length);
231
+ } else {
232
+ usableData = data.slice(0, nextBoundary);
233
+ this.leftOver = data.slice(nextBoundary, data.length);
234
+ }
235
+ }
236
+
237
+ this.push({
238
+ data : exports.utf8decode(usableData),
239
+ meta : chunk.meta
240
+ });
241
+ };
242
+
243
+ /**
244
+ * @see GenericWorker.flush
245
+ */
246
+ Utf8DecodeWorker.prototype.flush = function () {
247
+ if(this.leftOver && this.leftOver.length) {
248
+ this.push({
249
+ data : exports.utf8decode(this.leftOver),
250
+ meta : {}
251
+ });
252
+ this.leftOver = null;
253
+ }
254
+ };
255
+ exports.Utf8DecodeWorker = Utf8DecodeWorker;
256
+
257
+ /**
258
+ * A worker to endcode string chunks into utf8 encoded binary chunks.
259
+ * @constructor
260
+ */
261
+ function Utf8EncodeWorker() {
262
+ GenericWorker.call(this, "utf-8 encode");
263
+ }
264
+ utils.inherits(Utf8EncodeWorker, GenericWorker);
265
+
266
+ /**
267
+ * @see GenericWorker.processChunk
268
+ */
269
+ Utf8EncodeWorker.prototype.processChunk = function (chunk) {
270
+ this.push({
271
+ data : exports.utf8encode(chunk.data),
272
+ meta : chunk.meta
273
+ });
274
+ };
275
+ exports.Utf8EncodeWorker = Utf8EncodeWorker;