@bnsights/bbsf-utilities 1.0.40 → 1.0.42

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 (127) hide show
  1. package/README.md +4 -0
  2. package/bnsights-bbsf-utilities-1.0.42.tgz +0 -0
  3. package/esm2020/lib/bbsf-utilities.module.mjs +59 -0
  4. package/esm2020/lib/shared/authentication/auth.service.mjs +211 -0
  5. package/esm2020/lib/shared/authentication/index.mjs +2 -0
  6. package/{esm2015/lib/shared/config/environment.js → esm2020/lib/shared/config/environment.mjs} +1 -1
  7. package/esm2020/lib/shared/config/word/docx-document.mjs +348 -0
  8. package/esm2020/lib/shared/config/word/helpers/render-document-file.mjs +154 -0
  9. package/esm2020/lib/shared/config/word/helpers/xml-builder.mjs +1836 -0
  10. package/esm2020/lib/shared/config/word/html-to-docx.mjs +187 -0
  11. package/esm2020/lib/shared/config/word/index.mjs +50 -0
  12. package/esm2020/lib/shared/config/word/namespaces.mjs +37 -0
  13. package/{esm2015/lib/shared/config/word/schemas/core.js → esm2020/lib/shared/config/word/schemas/core.mjs} +1 -3
  14. package/esm2020/lib/shared/config/word/schemas/document.template.mjs +107 -0
  15. package/{esm2015/lib/shared/config/word/schemas/numbering.js → esm2020/lib/shared/config/word/schemas/numbering.mjs} +1 -3
  16. package/esm2020/lib/shared/config/word/schemas/styles.mjs +147 -0
  17. package/esm2020/lib/shared/config/word/schemas/theme.mjs +198 -0
  18. package/{esm2015/lib/shared/config/word/utils/url.js → esm2020/lib/shared/config/word/utils/url.mjs} +1 -3
  19. package/esm2020/lib/shared/enums/authentication-modes-enums.mjs +8 -0
  20. package/esm2020/lib/shared/index.mjs +4 -0
  21. package/{esm2015/lib/shared/models/UserModel.js → esm2020/lib/shared/models/UserModel.mjs} +1 -1
  22. package/esm2020/lib/shared/models/area-model.mjs +3 -0
  23. package/esm2020/lib/shared/models/error-model.mjs +3 -0
  24. package/esm2020/lib/shared/models/index.mjs +5 -0
  25. package/esm2020/lib/shared/models/request-options-model.mjs +11 -0
  26. package/esm2020/lib/shared/models/word-document-model.mjs +8 -0
  27. package/esm2020/lib/shared/services/appearance-configuration.service.mjs +35 -0
  28. package/esm2020/lib/shared/services/configuration.service.mjs +24 -0
  29. package/esm2020/lib/shared/services/control-validation.service.mjs +173 -0
  30. package/esm2020/lib/shared/services/environment.service.mjs +75 -0
  31. package/esm2020/lib/shared/services/index.mjs +12 -0
  32. package/esm2020/lib/shared/services/master-layout.service.mjs +72 -0
  33. package/esm2020/lib/shared/services/request-handler.service.mjs +199 -0
  34. package/esm2020/lib/shared/services/styles-bundle.service.mjs +55 -0
  35. package/esm2020/lib/shared/services/translate.service.mjs +14 -0
  36. package/esm2020/lib/shared/services/translation-resolver.service.mjs +7 -0
  37. package/esm2020/lib/shared/services/utility.service.mjs +87 -0
  38. package/esm2020/lib/shared/services/word-document.service.mjs +38 -0
  39. package/esm2020/public-api.mjs +30 -0
  40. package/fesm2015/{bnsights-bbsf-utilities.js → bnsights-bbsf-utilities.mjs} +741 -787
  41. package/fesm2015/bnsights-bbsf-utilities.mjs.map +1 -0
  42. package/fesm2020/bnsights-bbsf-utilities.mjs +4589 -0
  43. package/fesm2020/bnsights-bbsf-utilities.mjs.map +1 -0
  44. package/{bnsights-bbsf-utilities.d.ts → index.d.ts} +1 -0
  45. package/lib/bbsf-utilities.module.d.ts +8 -4
  46. package/lib/shared/authentication/auth.service.d.ts +11 -8
  47. package/lib/shared/authentication/index.d.ts +1 -0
  48. package/lib/shared/config/word/docx-document.d.ts +10 -10
  49. package/lib/shared/config/word/helpers/render-document-file.d.ts +0 -2
  50. package/lib/shared/config/word/helpers/xml-builder.d.ts +12 -10
  51. package/lib/shared/config/word/index.d.ts +1 -1
  52. package/lib/shared/config/word/word-work/templates/documentTemplate.d.ts +2 -2
  53. package/lib/shared/enums/authentication-modes-enums.d.ts +6 -0
  54. package/lib/shared/index.d.ts +3 -0
  55. package/lib/shared/models/area-model.d.ts +4 -0
  56. package/lib/shared/models/index.d.ts +4 -0
  57. package/lib/shared/services/{AppearanceConfiguration.service.d.ts → appearance-configuration.service.d.ts} +4 -1
  58. package/lib/shared/services/configuration.service.d.ts +3 -0
  59. package/lib/shared/services/{controlvalidation.service.d.ts → control-validation.service.d.ts} +8 -5
  60. package/lib/shared/services/environment.service.d.ts +12 -1
  61. package/lib/shared/services/index.d.ts +11 -0
  62. package/lib/shared/services/{masterlayout.service.d.ts → master-layout.service.d.ts} +6 -6
  63. package/lib/shared/services/{requesthandler.service.d.ts → request-handler.service.d.ts} +8 -7
  64. package/lib/shared/services/{stylesbundle.service.d.ts → styles-bundle.service.d.ts} +4 -1
  65. package/lib/shared/services/translate.service.d.ts +3 -0
  66. package/lib/shared/services/translation-resolver.service.d.ts +2 -0
  67. package/lib/shared/services/utility.service.d.ts +7 -3
  68. package/lib/shared/services/word-document.service.d.ts +5 -2
  69. package/package.json +41 -21
  70. package/public-api.d.ts +10 -9
  71. package/bnsights-bbsf-utilities-1.0.40.tgz +0 -0
  72. package/bnsights-bbsf-utilities.metadata.json +0 -1
  73. package/bundles/bnsights-bbsf-utilities.umd.js +0 -4777
  74. package/bundles/bnsights-bbsf-utilities.umd.js.map +0 -1
  75. package/esm2015/lib/bbsf-utilities.module.js +0 -54
  76. package/esm2015/lib/shared/authentication/auth.service.js +0 -199
  77. package/esm2015/lib/shared/config/word/docx-document.js +0 -351
  78. package/esm2015/lib/shared/config/word/helpers/render-document-file.js +0 -278
  79. package/esm2015/lib/shared/config/word/helpers/xml-builder.js +0 -1765
  80. package/esm2015/lib/shared/config/word/html-to-docx.js +0 -195
  81. package/esm2015/lib/shared/config/word/index.js +0 -55
  82. package/esm2015/lib/shared/config/word/namespaces.js +0 -37
  83. package/esm2015/lib/shared/config/word/schemas/document.template.js +0 -109
  84. package/esm2015/lib/shared/config/word/schemas/styles.js +0 -149
  85. package/esm2015/lib/shared/config/word/schemas/theme.js +0 -200
  86. package/esm2015/lib/shared/models/AreaModel.js +0 -3
  87. package/esm2015/lib/shared/models/ErrorModel.js +0 -3
  88. package/esm2015/lib/shared/models/RequestOptionsModel.js +0 -11
  89. package/esm2015/lib/shared/models/WordDocumentModel.js +0 -8
  90. package/esm2015/lib/shared/services/AppearanceConfiguration.service.js +0 -37
  91. package/esm2015/lib/shared/services/configuration.service.js +0 -26
  92. package/esm2015/lib/shared/services/controlvalidation.service.js +0 -175
  93. package/esm2015/lib/shared/services/environment.service.js +0 -52
  94. package/esm2015/lib/shared/services/masterlayout.service.js +0 -89
  95. package/esm2015/lib/shared/services/requesthandler.service.js +0 -206
  96. package/esm2015/lib/shared/services/stylesbundle.service.js +0 -56
  97. package/esm2015/lib/shared/services/translate.service.js +0 -13
  98. package/esm2015/lib/shared/services/translationresolver.service.js +0 -20
  99. package/esm2015/lib/shared/services/utility.service.js +0 -92
  100. package/esm2015/lib/shared/services/word-document.service.js +0 -39
  101. package/esm2015/public-api.js +0 -20
  102. package/fesm2015/bnsights-bbsf-utilities.js.map +0 -1
  103. package/lib/shared/models/AreaModel.d.ts +0 -4
  104. package/lib/shared/services/translationresolver.service.d.ts +0 -8
  105. /package/{esm2015/bnsights-bbsf-utilities.js → esm2020/bnsights-bbsf-utilities.mjs} +0 -0
  106. /package/{esm2015/lib/shared/config/word/constants.js → esm2020/lib/shared/config/word/constants.mjs} +0 -0
  107. /package/{esm2015/lib/shared/config/word/helpers/index.js → esm2020/lib/shared/config/word/helpers/index.mjs} +0 -0
  108. /package/{esm2015/lib/shared/config/word/schemas/content-types.js → esm2020/lib/shared/config/word/schemas/content-types.mjs} +0 -0
  109. /package/{esm2015/lib/shared/config/word/schemas/document-rels.js → esm2020/lib/shared/config/word/schemas/document-rels.mjs} +0 -0
  110. /package/{esm2015/lib/shared/config/word/schemas/font-table.js → esm2020/lib/shared/config/word/schemas/font-table.mjs} +0 -0
  111. /package/{esm2015/lib/shared/config/word/schemas/generic-rels.js → esm2020/lib/shared/config/word/schemas/generic-rels.mjs} +0 -0
  112. /package/{esm2015/lib/shared/config/word/schemas/index.js → esm2020/lib/shared/config/word/schemas/index.mjs} +0 -0
  113. /package/{esm2015/lib/shared/config/word/schemas/rels.js → esm2020/lib/shared/config/word/schemas/rels.mjs} +0 -0
  114. /package/{esm2015/lib/shared/config/word/schemas/settings.js → esm2020/lib/shared/config/word/schemas/settings.mjs} +0 -0
  115. /package/{esm2015/lib/shared/config/word/schemas/web-settings.js → esm2020/lib/shared/config/word/schemas/web-settings.mjs} +0 -0
  116. /package/{esm2015/lib/shared/config/word/utils/color-conversion.js → esm2020/lib/shared/config/word/utils/color-conversion.mjs} +0 -0
  117. /package/{esm2015/lib/shared/config/word/utils/list.js → esm2020/lib/shared/config/word/utils/list.mjs} +0 -0
  118. /package/{esm2015/lib/shared/config/word/utils/unit-conversion.js → esm2020/lib/shared/config/word/utils/unit-conversion.mjs} +0 -0
  119. /package/{esm2015/lib/shared/config/word/utils/vnode.js → esm2020/lib/shared/config/word/utils/vnode.mjs} +0 -0
  120. /package/{esm2015/lib/shared/config/word/word-work/templates/documentTemplate.js → esm2020/lib/shared/config/word/word-work/templates/documentTemplate.mjs} +0 -0
  121. /package/{esm2015/lib/shared/config/word/word-work/templates/index.js → esm2020/lib/shared/config/word/word-work/templates/index.mjs} +0 -0
  122. /package/{esm2015/lib/shared/config/word/word-work/templates/mhtDocumentTemplate.js → esm2020/lib/shared/config/word/word-work/templates/mhtDocumentTemplate.mjs} +0 -0
  123. /package/{esm2015/lib/shared/config/word/word-work/templates/mhtPartTemplate.js → esm2020/lib/shared/config/word/word-work/templates/mhtPartTemplate.mjs} +0 -0
  124. /package/{esm2015/lib/shared/config/word/word-work/utils.js → esm2020/lib/shared/config/word/word-work/utils.mjs} +0 -0
  125. /package/lib/shared/models/{ErrorModel.d.ts → error-model.d.ts} +0 -0
  126. /package/lib/shared/models/{RequestOptionsModel.d.ts → request-options-model.d.ts} +0 -0
  127. /package/lib/shared/models/{WordDocumentModel.d.ts → word-document-model.d.ts} +0 -0
@@ -0,0 +1,187 @@
1
+ import { create } from 'xmlbuilder2';
2
+ import VNode from 'virtual-dom/vnode/vnode';
3
+ import VText from 'virtual-dom/vnode/vtext';
4
+ // eslint-disable-next-line import/no-named-default
5
+ import { default as HTMLToVDOM } from 'html-to-vdom';
6
+ import { relsXML } from './schemas';
7
+ import { DocxDocument } from './docx-document';
8
+ import { renderDocumentFile } from './helpers';
9
+ import { getMHTdocument } from "./word-work/utils";
10
+ import { pixelRegex, pixelToTWIP, cmRegex, cmToTWIP, inchRegex, inchToTWIP, pointRegex, pointToHIP, } from './utils/unit-conversion';
11
+ import { defaultDocumentOptions, defaultHTMLString, relsFolderName, headerFileName, footerFileName, themeFileName, documentFileName, headerType, footerType, internalRelationship, wordFolder, themeFolder, themeType, } from './constants';
12
+ import { generateDocumentTemplateHeader, generateDocumentTemplateFooter, generateDocumentTemplateFooterWithoutPaging } from './schemas/document.template';
13
+ const convertHTML = HTMLToVDOM({
14
+ VNode,
15
+ VText,
16
+ });
17
+ const mergeOptions = (options, patch) => ({ ...options, ...patch });
18
+ const fixupFontSize = (fontSize) => {
19
+ let normalizedFontSize;
20
+ if (pointRegex.test(fontSize)) {
21
+ const matchedParts = fontSize.match(pointRegex);
22
+ normalizedFontSize = pointToHIP(matchedParts[1]);
23
+ }
24
+ else if (fontSize) {
25
+ // assuming it is already in HIP
26
+ normalizedFontSize = fontSize;
27
+ }
28
+ else {
29
+ normalizedFontSize = null;
30
+ }
31
+ return normalizedFontSize;
32
+ };
33
+ const normalizeUnits = (dimensioningObject, defaultDimensionsProperty) => {
34
+ let normalizedUnitResult = {};
35
+ if (typeof dimensioningObject === 'object' && dimensioningObject !== null) {
36
+ Object.keys(dimensioningObject).forEach((key) => {
37
+ if (pixelRegex.test(dimensioningObject[key])) {
38
+ const matchedParts = dimensioningObject[key].match(pixelRegex);
39
+ normalizedUnitResult[key] = pixelToTWIP(matchedParts[1]);
40
+ }
41
+ else if (cmRegex.test(dimensioningObject[key])) {
42
+ const matchedParts = dimensioningObject[key].match(cmRegex);
43
+ normalizedUnitResult[key] = cmToTWIP(matchedParts[1]);
44
+ }
45
+ else if (inchRegex.test(dimensioningObject[key])) {
46
+ const matchedParts = dimensioningObject[key].match(inchRegex);
47
+ normalizedUnitResult[key] = inchToTWIP(matchedParts[1]);
48
+ }
49
+ else if (dimensioningObject[key]) {
50
+ normalizedUnitResult[key] = dimensioningObject[key];
51
+ }
52
+ else {
53
+ // incase value is something like 0
54
+ normalizedUnitResult[key] = defaultDimensionsProperty[key];
55
+ }
56
+ });
57
+ }
58
+ else {
59
+ // eslint-disable-next-line no-param-reassign
60
+ normalizedUnitResult = null;
61
+ }
62
+ return normalizedUnitResult;
63
+ };
64
+ const normalizeDocumentOptions = (documentOptions) => {
65
+ const normalizedDocumentOptions = { ...documentOptions };
66
+ Object.keys(documentOptions).forEach((key) => {
67
+ // eslint-disable-next-line default-case
68
+ switch (key) {
69
+ case 'pageSize':
70
+ case 'margins':
71
+ normalizedDocumentOptions[key] = normalizeUnits(documentOptions[key], defaultDocumentOptions[key]);
72
+ break;
73
+ case 'fontSize':
74
+ case 'complexScriptFontSize':
75
+ normalizedDocumentOptions[key] = fixupFontSize(documentOptions[key]);
76
+ break;
77
+ }
78
+ });
79
+ return normalizedDocumentOptions;
80
+ };
81
+ // Ref: https://en.wikipedia.org/wiki/Office_Open_XML_file_formats
82
+ // http://officeopenxml.com/anatomyofOOXML.php
83
+ async function addFilesToContainer(zip, htmlString, suppliedDocumentOptions, headerHTMLString, footerHTMLString) {
84
+ debugger;
85
+ const normalizedDocumentOptions = normalizeDocumentOptions(suppliedDocumentOptions);
86
+ const documentOptions = mergeOptions(defaultDocumentOptions, normalizedDocumentOptions);
87
+ if (documentOptions.header && !headerHTMLString) {
88
+ // eslint-disable-next-line no-param-reassign
89
+ headerHTMLString = defaultHTMLString;
90
+ }
91
+ if (documentOptions.footer && !footerHTMLString) {
92
+ // eslint-disable-next-line no-param-reassign
93
+ footerHTMLString = defaultHTMLString;
94
+ }
95
+ const docxDocument = new DocxDocument({ zip, htmlString, ...documentOptions });
96
+ // Conversion to Word XML happens here
97
+ docxDocument.documentXML = await renderDocumentFile(docxDocument);
98
+ debugger;
99
+ zip
100
+ .folder(relsFolderName)
101
+ .file('.rels', create({ encoding: 'UTF-8', standalone: true }, relsXML).toString({ prettyPrint: true }), { createFolders: false });
102
+ zip.folder('docProps').file('core.xml', docxDocument.generateCoreXML(), {
103
+ createFolders: false,
104
+ });
105
+ if (docxDocument.header && headerHTMLString) {
106
+ const vTree = convertHTML(headerHTMLString);
107
+ docxDocument.relationshipFilename = headerFileName;
108
+ const { headerId, headerXML } = await docxDocument.generateHeaderXML(vTree);
109
+ docxDocument.relationshipFilename = documentFileName;
110
+ const fileNameWithExt = `${headerType}${headerId}.xml`;
111
+ const relationshipId = docxDocument.createDocumentRelationships(docxDocument.relationshipFilename, headerType, fileNameWithExt, internalRelationship);
112
+ zip.folder(wordFolder).file(fileNameWithExt, generateDocumentTemplateHeader.toString({ prettyPrint: true }), {
113
+ createFolders: false,
114
+ });
115
+ docxDocument.headerObjects.push({ headerId, relationshipId, type: docxDocument.headerType });
116
+ }
117
+ if (docxDocument.footer && footerHTMLString) {
118
+ const vTree = convertHTML(footerHTMLString);
119
+ docxDocument.relationshipFilename = footerFileName;
120
+ const { footerId, footerXML } = await docxDocument.generateFooterXML(vTree);
121
+ docxDocument.relationshipFilename = documentFileName;
122
+ const fileNameWithExt = `${footerType}${footerId}.xml`;
123
+ const relationshipId = docxDocument.createDocumentRelationships(docxDocument.relationshipFilename, footerType, fileNameWithExt, internalRelationship);
124
+ console.log(footerXML.toString({ prettyPrint: true }));
125
+ if (suppliedDocumentOptions.pageNumber)
126
+ zip.folder(wordFolder).file(fileNameWithExt, generateDocumentTemplateFooter.toString({ prettyPrint: true }), {
127
+ createFolders: false,
128
+ });
129
+ else
130
+ zip.folder(wordFolder).file(fileNameWithExt, generateDocumentTemplateFooterWithoutPaging.toString({ prettyPrint: true }), {
131
+ createFolders: false,
132
+ });
133
+ docxDocument.footerObjects.push({ footerId, relationshipId, type: docxDocument.footerType });
134
+ }
135
+ const themeFileNameWithExt = `${themeFileName}.xml`;
136
+ docxDocument.createDocumentRelationships(docxDocument.relationshipFilename, themeType, `${themeFolder}/${themeFileNameWithExt}`, internalRelationship);
137
+ zip
138
+ .folder(wordFolder)
139
+ .folder(themeFolder)
140
+ .file(themeFileNameWithExt, docxDocument.generateThemeXML(), {
141
+ createFolders: false,
142
+ });
143
+ zip
144
+ .folder(wordFolder)
145
+ .file('document.xml', docxDocument.generateDocumentXML(), { createFolders: false })
146
+ .file('afchunk.mht', getMHTdocument(htmlString), {
147
+ createFolders: false,
148
+ })
149
+ .file('afchunkheader.mht', getMHTdocument(headerHTMLString), {
150
+ createFolders: false,
151
+ })
152
+ .file('afchunkfooter.mht', getMHTdocument(footerHTMLString), {
153
+ createFolders: false,
154
+ })
155
+ .file('fontTable.xml', docxDocument.generateFontTableXML(), { createFolders: false })
156
+ .file('styles.xml', docxDocument.generateStylesXML(), { createFolders: false })
157
+ .file('numbering.xml', docxDocument.generateNumberingXML(), { createFolders: false })
158
+ .file('settings.xml', docxDocument.generateSettingsXML(), { createFolders: false })
159
+ .file('webSettings.xml', docxDocument.generateWebSettingsXML(), { createFolders: false });
160
+ const relationshipXMLs = docxDocument.generateRelsXML();
161
+ if (relationshipXMLs && Array.isArray(relationshipXMLs)) {
162
+ relationshipXMLs.forEach(({ fileName, xmlString }) => {
163
+ console.log(xmlString);
164
+ zip.folder(wordFolder).folder(relsFolderName).file(`${fileName}.xml.rels`, xmlString, {
165
+ createFolders: false,
166
+ });
167
+ });
168
+ }
169
+ if (relationshipXMLs && Array.isArray(relationshipXMLs)) {
170
+ relationshipXMLs.forEach(({ fileName, xmlString }) => {
171
+ zip.folder(wordFolder).folder(relsFolderName).file(`header1.xml.rels`, xmlString, {
172
+ createFolders: false,
173
+ });
174
+ });
175
+ }
176
+ if (relationshipXMLs && Array.isArray(relationshipXMLs)) {
177
+ relationshipXMLs.forEach(({ fileName, xmlString }) => {
178
+ zip.folder(wordFolder).folder(relsFolderName).file(`footer1.xml.rels`, xmlString, {
179
+ createFolders: false,
180
+ });
181
+ });
182
+ }
183
+ zip.file('[Content_Types].xml', docxDocument.generateContentTypesXML(), { createFolders: false });
184
+ return zip;
185
+ }
186
+ export { addFilesToContainer };
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC10by1kb2N4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvY29uZmlnL3dvcmQvaHRtbC10by1kb2N4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxLQUFLLE1BQU0seUJBQXlCLENBQUM7QUFDNUMsT0FBTyxLQUFLLE1BQU0seUJBQXlCLENBQUM7QUFDNUMsbURBQW1EO0FBQ25ELE9BQU8sRUFBRSxPQUFPLElBQUksVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXJELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbEQsT0FBTyxFQUNMLFVBQVUsRUFDVixXQUFXLEVBQ1gsT0FBTyxFQUNQLFFBQVEsRUFDUixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixVQUFVLEdBQ1gsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQixjQUFjLEVBQ2QsY0FBYyxFQUNkLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixVQUFVLEVBQ1Ysb0JBQW9CLEVBQ3BCLFVBQVUsRUFDVixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFKLE1BQU0sV0FBVyxHQUFHLFVBQVUs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LGdCQUFnQixDQUFDLEVBQUU7UUFDdkQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtZQUNuRCxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxFQUFFO2dCQUNoRixhQUFhLEVBQUUsS0FBSzthQUNyQixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztLQUNKO0lBQ0QsSUFBSSxnQkFBZ0IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7UUFDdkQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtZQUNuRCxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxFQUFFO2dCQUNoRixhQUFhLEVBQUUsS0FBSzthQUNyQixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztLQUNKO0lBR0QsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxZQUFZLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRWxHLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAneG1sYnVpbGRlcjInO1xyXG5pbXBvcnQgVk5vZGUgZnJvbSAndmlydHVhbC1kb20vdm5vZGUvdm5vZGUnO1xyXG5pbXBvcnQgVlRleHQgZnJvbSAndmlydHVhbC1kb20vdm5vZGUvdnRleHQnO1xyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLW5hbWVkLWRlZmF1bHRcclxuaW1wb3J0IHsgZGVmYXVsdCBhcyBIVE1MVG9WRE9NIH0gZnJvbSAnaHRtbC10by12ZG9tJztcclxuXHJcbmltcG9ydCB7IHJlbHNYTUwgfSBmcm9tICcuL3NjaGVtYXMnO1xyXG5pbXBvcnQgeyBEb2N4RG9jdW1lbnQgfSBmcm9tICcuL2RvY3gtZG9jdW1lbnQnO1xyXG5pbXBvcnQgeyByZW5kZXJEb2N1bWVudEZpbGUgfSBmcm9tICcuL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBnZXRNSFRkb2N1bWVudCB9IGZyb20gXCIuL3dvcmQtd29yay91dGlsc1wiXHJcbmltcG9ydCB7XHJcbiAgcGl4ZWxSZWdleCxcclxuICBwaXhlbFRvVFdJUCxcclxuICBjbVJlZ2V4LFxyXG4gIGNtVG9UV0lQLFxyXG4gIGluY2hSZWdleCxcclxuICBpbmNoVG9UV0lQLFxyXG4gIHBvaW50UmVnZXgsXHJcbiAgcG9pbnRUb0hJUCxcclxufSBmcm9tICcuL3V0aWxzL3VuaXQtY29udmVyc2lvbic7XHJcbmltcG9ydCB7XHJcbiAgZGVmYXVsdERvY3VtZW50T3B0aW9ucyxcclxuICBkZWZhdWx0SFRNTFN0cmluZyxcclxuICByZWxzRm9sZGVyTmFtZSxcclxuICBoZWFkZXJGaWxlTmFtZSxcclxuICBmb290ZXJGaWxlTmFtZSxcclxuICB0aGVtZUZpbGVOYW1lLFxyXG4gIGRvY3VtZW50RmlsZU5hbWUsXHJcbiAgaGVhZGVyVHlwZSxcclxuICBmb290ZXJUeXBlLFxyXG4gIGludGVybmFsUmVsYXRpb25zaGlwLFxyXG4gIHdvcmRGb2xkZXIsXHJcbiAgdGhlbWVGb2xkZXIsXHJcbiAgdGhlbWVUeXBlLFxyXG59IGZyb20gJy4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgZ2VuZXJhdGVEb2N1bWVudFRlbXBsYXRlSGVhZGVyLCBnZW5lcmF0ZURvY3VtZW50VGVtcGxhdGVGb290ZXIsIGdlbmVyYXRlRG9jdW1lbnRUZW1wbGF0ZUZvb3RlcldpdGhvdXRQYWdpbmcgfSBmcm9tICcuL3NjaGVtYXMvZG9jdW1lbnQudGVtcGxhdGUnO1xyXG5jb25zdCBjb252ZXJ0SFRNTCA9IEhUTUxUb1ZET00oe1xyXG4gIFZOb2RlLFxyXG4gIFZUZXh0LFxyXG59KTtcclxuXHJcbmNvbnN0IG1lcmdlT3B0aW9ucyA9IChvcHRpb25zLCBwYXRjaCkgPT4gKHsgLi4ub3B0aW9ucywgLi4ucGF0Y2ggfSk7XHJcblxyXG5jb25zdCBmaXh1cEZvbnRTaXplID0gKGZvbnRTaXplKSA9PiB7XHJcbiAgbGV0IG5vcm1hbGl6ZWRGb250U2l6ZTtcclxuICBpZiAocG9pbnRSZWdleC50ZXN0KGZvbnRTaXplKSkge1xyXG4gICAgY29uc3QgbWF0Y2hlZFBhcnRzID0gZm9udFNpemUubWF0Y2gocG9pbnRSZWdleCk7XHJcblxyXG4gICAgbm9ybWFsaXplZEZvbnRTaXplID0gcG9pbnRUb0hJUChtYXRjaGVkUGFydHNbMV0pO1xyXG4gIH0gZWxzZSBpZiAoZm9udFNpemUpIHtcclxuICAgIC8vIGFzc3VtaW5nIGl0IGlzIGFscmVhZHkgaW4gSElQXHJcbiAgICBub3JtYWxpemVkRm9udFNpemUgPSBmb250U2l6ZTtcclxuICB9IGVsc2Uge1xyXG4gICAgbm9ybWFsaXplZEZvbnRTaXplID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHVybiBub3JtYWxpemVkRm9udFNpemU7XHJcbn07XHJcblxyXG5jb25zdCBub3JtYWxpemVVbml0cyA9IChkaW1lbnNpb25pbmdPYmplY3QsIGRlZmF1bHREaW1lbnNpb25zUHJvcGVydHkpID0+IHtcclxuICBsZXQgbm9ybWFsaXplZFVuaXRSZXN1bHQgPSB7fTtcclxuICBpZiAodHlwZW9mIGRpbWVuc2lvbmluZ09iamVjdCA9PT0gJ29iamVjdCcgJiYgZGltZW5zaW9uaW5nT2JqZWN0ICE9PSBudWxsKSB7XHJcbiAgICBPYmplY3Qua2V5cyhkaW1lbnNpb25pbmdPYmplY3QpLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBpZiAocGl4ZWxSZWdleC50ZXN0KGRpbWVuc2lvbmluZ09iamVjdFtrZXldKSkge1xyXG4gICAgICAgIGNvbnN0IG1hdGNoZWRQYXJ0cyA9IGRpbWVuc2lvbmluZ09iamVjdFtrZXldLm1hdGNoKHBpeGVsUmVnZXgpO1xyXG4gICAgICAgIG5vcm1hbGl6ZWRVbml0UmVzdWx0W2tleV0gPSBwaXhlbFRvVFdJUChtYXRjaGVkUGFydHNbMV0pO1xyXG4gICAgICB9IGVsc2UgaWYgKGNtUmVnZXgudGVzdChkaW1lbnNpb25pbmdPYmplY3Rba2V5XSkpIHtcclxuICAgICAgICBjb25zdCBtYXRjaGVkUGFydHMgPSBkaW1lbnNpb25pbmdPYmplY3Rba2V5XS5tYXRjaChjbVJlZ2V4KTtcclxuICAgICAgICBub3JtYWxpemVkVW5pdFJlc3VsdFtrZXldID0gY21Ub1RXSVAobWF0Y2hlZFBhcnRzWzFdKTtcclxuICAgICAgfSBlbHNlIGlmIChpbmNoUmVnZXgudGVzdChkaW1lbnNpb25pbmdPYmplY3Rba2V5XSkpIHtcclxuICAgICAgICBjb25zdCBtYXRjaGVkUGFydHMgPSBkaW1lbnNpb25pbmdPYmplY3Rba2V5XS5tYXRjaChpbmNoUmVnZXgpO1xyXG4gICAgICAgIG5vcm1hbGl6ZWRVbml0UmVzdWx0W2tleV0gPSBpbmNoVG9UV0lQKG1hdGNoZWRQYXJ0c1sxXSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoZGltZW5zaW9uaW5nT2JqZWN0W2tleV0pIHtcclxuICAgICAgICBub3JtYWxpemVkVW5pdFJlc3VsdFtrZXldID0gZGltZW5zaW9uaW5nT2JqZWN0W2tleV07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gaW5jYXNlIHZhbHVlIGlzIHNvbWV0aGluZyBsaWtlIDBcclxuICAgICAgICBub3JtYWxpemVkVW5pdFJlc3VsdFtrZXldID0gZGVmYXVsdERpbWVuc2lvbnNQcm9wZXJ0eVtrZXldO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9IGVsc2Uge1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXHJcbiAgICBub3JtYWxpemVkVW5pdFJlc3VsdCA9IG51bGw7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbm9ybWFsaXplZFVuaXRSZXN1bHQ7XHJcbn07XHJcblxyXG5jb25zdCBub3JtYWxpemVEb2N1bWVudE9wdGlvbnMgPSAoZG9jdW1lbnRPcHRpb25zKSA9PiB7XHJcbiAgY29uc3Qgbm9ybWFsaXplZERvY3VtZW50T3B0aW9ucyA9IHsgLi4uZG9jdW1lbnRPcHRpb25zIH07XHJcbiAgT2JqZWN0LmtleXMoZG9jdW1lbnRPcHRpb25zKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWZhdWx0LWNhc2VcclxuICAgIHN3aXRjaCAoa2V5KSB7XHJcbiAgICAgIGNhc2UgJ3BhZ2VTaXplJzpcclxuICAgICAgY2FzZSAnbWFyZ2lucyc6XHJcbiAgICAgICAgbm9ybWFsaXplZERvY3VtZW50T3B0aW9uc1trZXldID0gbm9ybWFsaXplVW5pdHMoXHJcbiAgICAgICAgICBkb2N1bWVudE9wdGlvbnNba2V5XSxcclxuICAgICAgICAgIGRlZmF1bHREb2N1bWVudE9wdGlvbnNba2V5XVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2ZvbnRTaXplJzpcclxuICAgICAgY2FzZSAnY29tcGxleFNjcmlwdEZvbnRTaXplJzpcclxuICAgICAgICBub3JtYWxpemVkRG9jdW1lbnRPcHRpb25zW2tleV0gPSBmaXh1cEZvbnRTaXplKGRvY3VtZW50T3B0aW9uc1trZXldKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIG5vcm1hbGl6ZWREb2N1bWVudE9wdGlvbnM7XHJcbn07XHJcblxyXG4vLyBSZWY6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL09mZmljZV9PcGVuX1hNTF9maWxlX2Zvcm1hdHNcclxuLy8gaHR0cDovL29mZmljZW9wZW54bWwuY29tL2FuYXRvbXlvZk9PWE1MLnBocFxyXG5hc3luYyBmdW5jdGlvbiBhZGRGaWxlc1RvQ29udGFpbmVyKFxyXG4gIHppcCxcclxuICBodG1sU3RyaW5nLFxyXG4gIHN1cHBsaWVkRG9jdW1lbnRPcHRpb25zLFxyXG4gIGhlYWRlckhUTUxTdHJpbmcsXHJcbiAgZm9vdGVySFRNTFN0cmluZ1xyXG4pIHtcclxuICBkZWJ1Z2dlcjtcclxuICBjb25zdCBub3JtYWxpemVkRG9jdW1lbnRPcHRpb25zID0gbm9ybWFsaXplRG9jdW1lbnRPcHRpb25zKHN1cHBsaWVkRG9jdW1lbnRPcHRpb25zKTtcclxuICBjb25zdCBkb2N1bWVudE9wdGlvbnMgPSBtZXJnZU9wdGlvbnMoZGVmYXVsdERvY3VtZW50T3B0aW9ucywgbm9ybWFsaXplZERvY3VtZW50T3B0aW9ucyk7XHJcblxyXG4gIGlmIChkb2N1bWVudE9wdGlvbnMuaGVhZGVyICYmICFoZWFkZXJIVE1MU3RyaW5nKSB7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cclxuICAgIGhlYWRlckhUTUxTdHJpbmcgPSBkZWZhdWx0SFRNTFN0cmluZztcclxuICB9XHJcbiAgaWYgKGRvY3VtZW50T3B0aW9ucy5mb290ZXIgJiYgIWZvb3RlckhUTUxTdHJpbmcpIHtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxyXG4gICAgZm9vdGVySFRNTFN0cmluZyA9IGRlZmF1bHRIVE1MU3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgZG9jeERvY3VtZW50ID0gbmV3IERvY3hEb2N1bWVudCh7IHppcCwgaHRtbFN0cmluZywgLi4uZG9jdW1lbnRPcHRpb25zIH0pO1xyXG4gIC8vIENvbnZlcnNpb24gdG8gV29yZCBYTUwgaGFwcGVucyBoZXJlXHJcbiAgZG9jeERvY3VtZW50LmRvY3VtZW50WE1MID0gYXdhaXQgcmVuZGVyRG9jdW1lbnRGaWxlKGRvY3hEb2N1bWVudCk7XHJcbiAgZGVidWdnZXI7XHJcbiAgemlwXHJcbiAgICAuZm9sZGVyKHJlbHNGb2xkZXJOYW1lKVxyXG4gICAgLmZpbGUoXHJcbiAgICAgICcucmVscycsXHJcbiAgICAgIGNyZWF0ZSh7IGVuY29kaW5nOiAnVVRGLTgnLCBzdGFuZGFsb25lOiB0cnVlIH0sIHJlbHNYTUwpLnRvU3RyaW5nKHsgcHJldHR5UHJpbnQ6IHRydWUgfSksXHJcbiAgICAgIHsgY3JlYXRlRm9sZGVyczogZmFsc2UgfVxyXG4gICAgKTtcclxuXHJcbiAgemlwLmZvbGRlcignZG9jUHJvcHMnKS5maWxlKCdjb3JlLnhtbCcsIGRvY3hEb2N1bWVudC5nZW5lcmF0ZUNvcmVYTUwoKSwge1xyXG4gICAgY3JlYXRlRm9sZGVyczogZmFsc2UsXHJcbiAgfSk7XHJcblxyXG4gIGlmIChkb2N4RG9jdW1lbnQuaGVhZGVyICYmIGhlYWRlckhUTUxTdHJpbmcpIHtcclxuICAgIGNvbnN0IHZUcmVlID0gY29udmVydEhUTUwoaGVhZGVySFRNTFN0cmluZyk7XHJcblxyXG4gICAgZG9jeERvY3VtZW50LnJlbGF0aW9uc2hpcEZpbGVuYW1lID0gaGVhZGVyRmlsZU5hbWU7XHJcbiAgICBjb25zdCB7IGhlYWRlcklkLCBoZWFkZXJYTUwgfSA9IGF3YWl0IGRvY3hEb2N1bWVudC5nZW5lcmF0ZUhlYWRlclhNTCh2VHJlZSk7XHJcbiAgICBkb2N4RG9jdW1lbnQucmVsYXRpb25zaGlwRmlsZW5hbWUgPSBkb2N1bWVudEZpbGVOYW1lO1xyXG4gICAgY29uc3QgZmlsZU5hbWVXaXRoRXh0ID0gYCR7aGVhZGVyVHlwZX0ke2hlYWRlcklkfS54bWxgO1xyXG5cclxuICAgIGNvbnN0IHJlbGF0aW9uc2hpcElkID0gZG9jeERvY3VtZW50LmNyZWF0ZURvY3VtZW50UmVsYXRpb25zaGlwcyhcclxuICAgICAgZG9jeERvY3VtZW50LnJlbGF0aW9uc2hpcEZpbGVuYW1lLFxyXG4gICAgICBoZWFkZXJUeXBlLFxyXG4gICAgICBmaWxlTmFtZVdpdGhFeHQsXHJcbiAgICAgIGludGVybmFsUmVsYXRpb25zaGlwXHJcbiAgICApO1xyXG5cclxuICAgIHppcC5mb2xkZXIod29yZEZvbGRlcikuZmlsZShmaWxlTmFtZVdpdGhFeHQsIGdlbmVyYXRlRG9jdW1lbnRUZW1wbGF0ZUhlYWRlci50b1N0cmluZyh7IHByZXR0eVByaW50OiB0cnVlIH0pLCB7XHJcbiAgICAgIGNyZWF0ZUZvbGRlcnM6IGZhbHNlLFxyXG4gICAgfSk7XHJcblxyXG4gICAgZG9jeERvY3VtZW50LmhlYWRlck9iamVjdHMucHVzaCh7IGhlYWRlcklkLCByZWxhdGlvbnNoaXBJZCwgdHlwZTogZG9jeERvY3VtZW50LmhlYWRlclR5cGUgfSk7XHJcbiAgfVxyXG4gIGlmIChkb2N4RG9jdW1lbnQuZm9vdGVyICYmIGZvb3RlckhUTUxTdHJpbmcpIHtcclxuICAgIGNvbnN0IHZUcmVlID0gY29udmVydEhUTUwoZm9vdGVySFRNTFN0cmluZyk7XHJcblxyXG4gICAgZG9jeERvY3VtZW50LnJlbGF0aW9uc2hpcEZpbGVuYW1lID0gZm9vdGVyRmlsZU5hbWU7XHJcbiAgICBjb25zdCB7IGZvb3RlcklkLCBmb290ZXJYTUwgfSA9IGF3YWl0IGRvY3hEb2N1bWVudC5nZW5lcmF0ZUZvb3RlclhNTCh2VHJlZSk7XHJcbiAgICBkb2N4RG9jdW1lbnQucmVsYXRpb25zaGlwRmlsZW5hbWUgPSBkb2N1bWVudEZpbGVOYW1lO1xyXG4gICAgY29uc3QgZmlsZU5hbWVXaXRoRXh0ID0gYCR7Zm9vdGVyVHlwZX0ke2Zvb3RlcklkfS54bWxgO1xyXG5cclxuICAgIGNvbnN0IHJlbGF0aW9uc2hpcElkID0gZG9jeERvY3VtZW50LmNyZWF0ZURvY3VtZW50UmVsYXRpb25zaGlwcyhcclxuICAgICAgZG9jeERvY3VtZW50LnJlbGF0aW9uc2hpcEZpbGVuYW1lLFxyXG4gICAgICBmb290ZXJUeXBlLFxyXG4gICAgICBmaWxlTmFtZVdpdGhFeHQsXHJcbiAgICAgIGludGVybmFsUmVsYXRpb25zaGlwXHJcbiAgICApO1xyXG4gICAgY29uc29sZS5sb2coZm9vdGVyWE1MLnRvU3RyaW5nKHsgcHJldHR5UHJpbnQ6IHRydWUgfSkpXHJcblxyXG4gICAgaWYgKHN1cHBsaWVkRG9jdW1lbnRPcHRpb25zLnBhZ2VOdW1iZXIpXHJcbiAgICAgIHppcC5mb2xkZXIod29yZEZvbGRlcikuZmlsZShmaWxlTmFtZVdpdGhFeHQsIGdlbmVyYXRlRG9jdW1lbnRUZW1wbGF0ZUZvb3Rlci50b1N0cmluZyh7IHByZXR0eVByaW50OiB0cnVlIH0pLCB7XHJcbiAgICAgICAgY3JlYXRlRm9sZGVyczogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgZWxzZVxyXG4gICAgICB6aXAuZm9sZGVyKHdvcmRGb2xkZXIpLmZpbGUoZmlsZU5hbWVXaXRoRXh0LCBnZW5lcmF0ZURvY3VtZW50VGVtcGxhdGVGb290ZXJXaXRob3V0UGFnaW5nLnRvU3RyaW5nKHsgcHJldHR5UHJpbnQ6IHRydWUgfSksIHtcclxuICAgICAgICBjcmVhdGVGb2xkZXJzOiBmYWxzZSxcclxuICAgICAgfSk7XHJcblxyXG4gICAgZG9jeERvY3VtZW50LmZvb3Rlck9iamVjdHMucHVzaCh7IGZvb3RlcklkLCByZWxhdGlvbnNoaXBJZCwgdHlwZTogZG9jeERvY3VtZW50LmZvb3RlclR5cGUgfSk7XHJcbiAgfVxyXG4gIGNvbnN0IHRoZW1lRmlsZU5hbWVXaXRoRXh0ID0gYCR7dGhlbWVGaWxlTmFtZX0ueG1sYDtcclxuICBkb2N4RG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRSZWxhdGlvbnNoaXBzKFxyXG4gICAgZG9jeERvY3VtZW50LnJlbGF0aW9uc2hpcEZpbGVuYW1lLFxyXG4gICAgdGhlbWVUeXBlLFxyXG4gICAgYCR7dGhlbWVGb2xkZXJ9LyR7dGhlbWVGaWxlTmFtZVdpdGhFeHR9YCxcclxuICAgIGludGVybmFsUmVsYXRpb25zaGlwXHJcbiAgKTtcclxuICB6aXBcclxuICAgIC5mb2xkZXIod29yZEZvbGRlcilcclxuICAgIC5mb2xkZXIodGhlbWVGb2xkZXIpXHJcbiAgICAuZmlsZSh0aGVtZUZpbGVOYW1lV2l0aEV4dCwgZG9jeERvY3VtZW50LmdlbmVyYXRlVGhlbWVYTUwoKSwge1xyXG4gICAgICBjcmVhdGVGb2xkZXJzOiBmYWxzZSxcclxuICAgIH0pO1xyXG5cclxuICB6aXBcclxuICAgIC5mb2xkZXIod29yZEZvbGRlcilcclxuICAgIC5maWxlKCdkb2N1bWVudC54bWwnLCBkb2N4RG9jdW1lbnQuZ2VuZXJhdGVEb2N1bWVudFhNTCgpLCB7IGNyZWF0ZUZvbGRlcnM6IGZhbHNlIH0pXHJcbiAgICAuZmlsZSgnYWZjaHVuay5taHQnLCBnZXRNSFRkb2N1bWVudChodG1sU3RyaW5nKSwge1xyXG4gICAgICBjcmVhdGVGb2xkZXJzOiBmYWxzZSxcclxuICAgIH0pXHJcbiAgICAuZmlsZSgnYWZjaHVua2hlYWRlci5taHQnLCBnZXRNSFRkb2N1bWVudChoZWFkZXJIVE1MU3RyaW5nKSwge1xyXG4gICAgICBjcmVhdGVGb2xkZXJzOiBmYWxzZSxcclxuICAgIH0pXHJcbiAgICAuZmlsZSgnYWZjaHVua2Zvb3Rlci5taHQnLCBnZXRNSFRkb2N1bWVudChmb290ZXJIVE1MU3RyaW5nKSwge1xyXG4gICAgICBjcmVhdGVGb2xkZXJzOiBmYWxzZSxcclxuICAgIH0pXHJcbiAgICAuZmlsZSgnZm9udFRhYmxlLnhtbCcsIGRvY3hEb2N1bWVudC5nZW5lcmF0ZUZvbnRUYWJsZVhNTCgpLCB7IGNyZWF0ZUZvbGRlcnM6IGZhbHNlIH0pXHJcbiAgICAuZmlsZSgnc3R5bGVzLnhtbCcsIGRvY3hEb2N1bWVudC5nZW5lcmF0ZVN0eWxlc1hNTCgpLCB7IGNyZWF0ZUZvbGRlcnM6IGZhbHNlIH0pXHJcbiAgICAuZmlsZSgnbnVtYmVyaW5nLnhtbCcsIGRvY3hEb2N1bWVudC5nZW5lcmF0ZU51bWJlcmluZ1hNTCgpLCB7IGNyZWF0ZUZvbGRlcnM6IGZhbHNlIH0pXHJcbiAgICAuZmlsZSgnc2V0dGluZ3MueG1sJywgZG9jeERvY3VtZW50LmdlbmVyYXRlU2V0dGluZ3NYTUwoKSwgeyBjcmVhdGVGb2xkZXJzOiBmYWxzZSB9KVxyXG4gICAgLmZpbGUoJ3dlYlNldHRpbmdzLnhtbCcsIGRvY3hEb2N1bWVudC5nZW5lcmF0ZVdlYlNldHRpbmdzWE1MKCksIHsgY3JlYXRlRm9sZGVyczogZmFsc2UgfSk7XHJcblxyXG4gIGNvbnN0IHJlbGF0aW9uc2hpcFhNTHMgPSBkb2N4RG9jdW1lbnQuZ2VuZXJhdGVSZWxzWE1MKCk7XHJcbiAgaWYgKHJlbGF0aW9uc2hpcFhNTHMgJiYgQXJyYXkuaXNBcnJheShyZWxhdGlvbnNoaXBYTUxzKSkge1xyXG4gICAgcmVsYXRpb25zaGlwWE1Mcy5mb3JFYWNoKCh7IGZpbGVOYW1lLCB4bWxTdHJpbmcgfSkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyh4bWxTdHJpbmcpXHJcbiAgICAgIHppcC5mb2xkZXIod29yZEZvbGRlcikuZm9sZGVyKHJlbHNGb2xkZXJOYW1lKS5maWxlKGAke2ZpbGVOYW1lfS54bWwucmVsc2AsIHhtbFN0cmluZywge1xyXG4gICAgICAgIGNyZWF0ZUZvbGRlcnM6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaWYgKHJlbGF0aW9uc2hpcFhNTHMgJiYgQXJyYXkuaXNBcnJheShyZWxhdGlvbnNoaXBYTUxzKSkge1xyXG4gICAgcmVsYXRpb25zaGlwWE1Mcy5mb3JFYWNoKCh7IGZpbGVOYW1lLCB4bWxTdHJpbmcgfSkgPT4ge1xyXG4gICAgICB6aXAuZm9sZGVyKHdvcmRGb2xkZXIpLmZvbGRlcihyZWxzRm9sZGVyTmFtZSkuZmlsZShgaGVhZGVyMS54bWwucmVsc2AsIHhtbFN0cmluZywge1xyXG4gICAgICAgIGNyZWF0ZUZvbGRlcnM6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBpZiAocmVsYXRpb25zaGlwWE1McyAmJiBBcnJheS5pc0FycmF5KHJlbGF0aW9uc2hpcFhNTHMpKSB7XHJcbiAgICByZWxhdGlvbnNoaXBYTUxzLmZvckVhY2goKHsgZmlsZU5hbWUsIHhtbFN0cmluZyB9KSA9PiB7XHJcbiAgICAgIHppcC5mb2xkZXIod29yZEZvbGRlcikuZm9sZGVyKHJlbHNGb2xkZXJOYW1lKS5maWxlKGBmb290ZXIxLnhtbC5yZWxzYCwgeG1sU3RyaW5nLCB7XHJcbiAgICAgICAgY3JlYXRlRm9sZGVyczogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgemlwLmZpbGUoJ1tDb250ZW50X1R5cGVzXS54bWwnLCBkb2N4RG9jdW1lbnQuZ2VuZXJhdGVDb250ZW50VHlwZXNYTUwoKSwgeyBjcmVhdGVGb2xkZXJzOiBmYWxzZSB9KTtcclxuXHJcbiAgcmV0dXJuIHppcDtcclxufVxyXG5cclxuZXhwb3J0IHsgYWRkRmlsZXNUb0NvbnRhaW5lciB9O1xyXG4iXX0=
@@ -0,0 +1,50 @@
1
+ /* eslint-disable no-useless-escape */
2
+ import JSZip from 'jszip';
3
+ import { addFilesToContainer } from './html-to-docx';
4
+ const minifyHTMLString = (htmlString) => {
5
+ try {
6
+ if (typeof htmlString === 'string' || htmlString instanceof String) {
7
+ const minifiedHTMLString = htmlString
8
+ .replace(/\n/g, ' ')
9
+ .replace(/\r/g, ' ')
10
+ .replace(/\r\n/g, ' ')
11
+ .replace(/[\t]+\</g, '<')
12
+ .replace(/\>[\t ]+\</g, '><')
13
+ .replace(/\>[\t ]+$/g, '>');
14
+ return minifiedHTMLString;
15
+ }
16
+ throw new Error('invalid html string');
17
+ }
18
+ catch (error) {
19
+ return null;
20
+ }
21
+ };
22
+ async function generateContainer(htmlString, headerHTMLString, documentOptions = {}, footerHTMLString) {
23
+ const zip = new JSZip();
24
+ let contentHTML = htmlString;
25
+ let headerHTML = headerHTMLString;
26
+ let footerHTML = footerHTMLString;
27
+ if (htmlString) {
28
+ contentHTML = minifyHTMLString(contentHTML);
29
+ }
30
+ if (headerHTMLString) {
31
+ headerHTML = minifyHTMLString(headerHTML);
32
+ }
33
+ if (footerHTMLString) {
34
+ footerHTML = minifyHTMLString(footerHTML);
35
+ }
36
+ await addFilesToContainer(zip, contentHTML, documentOptions, headerHTML, footerHTML);
37
+ const buffer = await zip.generateAsync({ type: 'arraybuffer' });
38
+ if (Object.prototype.hasOwnProperty.call(global, 'Buffer')) {
39
+ return Buffer.from(new Uint8Array(buffer));
40
+ }
41
+ if (Object.prototype.hasOwnProperty.call(global, 'Blob')) {
42
+ // eslint-disable-next-line no-undef
43
+ return new Blob([buffer], {
44
+ type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
45
+ });
46
+ }
47
+ throw new Error('Add blob support using a polyfill eg https://github.com/bjornstar/blob-polyfill');
48
+ }
49
+ export { generateContainer };
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9jb25maWcvd29yZC9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzQ0FBc0M7QUFDdEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRTtJQUN0QyxJQUFJO1FBQ0YsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLElBQUksVUFBVSxZQUFZLE1BQU0sRUFBRTtZQUNsRSxNQUFNLGtCQUFrQixHQUFHLFVBQVU7aUJBQ2xDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO2lCQUNuQixPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztpQkFDbkIsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7aUJBQ3JCLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDO2lCQUN4QixPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQztpQkFDNUIsT0FBTyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQztZQUU5QixPQUFPLGtCQUFrQixDQUFDO1NBQzNCO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBQ3hDO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxPQUFPLElBQUksQ0FBQztLQUNiO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsS0FBSyxVQUFVLGlCQUFpQixDQUM5QixVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FBRyxFQUFFLEVBQ3BCLGdCQUFnQjtJQUVoQixNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO0lBRXhCLElBQUksV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUM3QixJQUFJLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQztJQUNsQyxJQUFJLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQztJQUNsQyxJQUFJLFVBQVUsRUFBRTtRQUNkLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUM3QztJQUNELElBQUksZ0JBQWdCLEVBQUU7UUFDcEIsVUFBVSxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQzNDO0lBQ0QsSUFBSSxnQkFBZ0IsRUFBRTtRQUNwQixVQUFVLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDM0M7SUFFRCxNQUFNLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUVyRixNQUFNLE1BQU0sR0FBRyxNQUFNLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNoRSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUU7UUFDMUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7S0FDNUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUU7UUFDeEQsb0NBQW9DO1FBQ3BDLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN4QixJQUFJLEVBQUUseUVBQXlFO1NBQ2hGLENBQUMsQ0FBQztLQUNKO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYixpRkFBaUYsQ0FDbEYsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZWxlc3MtZXNjYXBlICovXHJcbmltcG9ydCBKU1ppcCBmcm9tICdqc3ppcCc7XHJcbmltcG9ydCB7YWRkRmlsZXNUb0NvbnRhaW5lcn0gZnJvbSAnLi9odG1sLXRvLWRvY3gnO1xyXG5cclxuY29uc3QgbWluaWZ5SFRNTFN0cmluZyA9IChodG1sU3RyaW5nKSA9PiB7XHJcbiAgdHJ5IHtcclxuICAgIGlmICh0eXBlb2YgaHRtbFN0cmluZyA9PT0gJ3N0cmluZycgfHwgaHRtbFN0cmluZyBpbnN0YW5jZW9mIFN0cmluZykge1xyXG4gICAgICBjb25zdCBtaW5pZmllZEhUTUxTdHJpbmcgPSBodG1sU3RyaW5nXHJcbiAgICAgICAgLnJlcGxhY2UoL1xcbi9nLCAnICcpXHJcbiAgICAgICAgLnJlcGxhY2UoL1xcci9nLCAnICcpXHJcbiAgICAgICAgLnJlcGxhY2UoL1xcclxcbi9nLCAnICcpXHJcbiAgICAgICAgLnJlcGxhY2UoL1tcXHRdK1xcPC9nLCAnPCcpXHJcbiAgICAgICAgLnJlcGxhY2UoL1xcPltcXHQgXStcXDwvZywgJz48JylcclxuICAgICAgICAucmVwbGFjZSgvXFw+W1xcdCBdKyQvZywgJz4nKTtcclxuXHJcbiAgICAgIHJldHVybiBtaW5pZmllZEhUTUxTdHJpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGh0bWwgc3RyaW5nJyk7XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufTtcclxuXHJcbmFzeW5jIGZ1bmN0aW9uIGdlbmVyYXRlQ29udGFpbmVyKFxyXG4gIGh0bWxTdHJpbmcsXHJcbiAgaGVhZGVySFRNTFN0cmluZyxcclxuICBkb2N1bWVudE9wdGlvbnMgPSB7fSxcclxuICBmb290ZXJIVE1MU3RyaW5nXHJcbikge1xyXG4gIGNvbnN0IHppcCA9IG5ldyBKU1ppcCgpO1xyXG5cclxuICBsZXQgY29udGVudEhUTUwgPSBodG1sU3RyaW5nO1xyXG4gIGxldCBoZWFkZXJIVE1MID0gaGVhZGVySFRNTFN0cmluZztcclxuICBsZXQgZm9vdGVySFRNTCA9IGZvb3RlckhUTUxTdHJpbmc7XHJcbiAgaWYgKGh0bWxTdHJpbmcpIHtcclxuICAgIGNvbnRlbnRIVE1MID0gbWluaWZ5SFRNTFN0cmluZyhjb250ZW50SFRNTCk7XHJcbiAgfVxyXG4gIGlmIChoZWFkZXJIVE1MU3RyaW5nKSB7XHJcbiAgICBoZWFkZXJIVE1MID0gbWluaWZ5SFRNTFN0cmluZyhoZWFkZXJIVE1MKTtcclxuICB9XHJcbiAgaWYgKGZvb3RlckhUTUxTdHJpbmcpIHtcclxuICAgIGZvb3RlckhUTUwgPSBtaW5pZnlIVE1MU3RyaW5nKGZvb3RlckhUTUwpO1xyXG4gIH1cclxuXHJcbiAgYXdhaXQgYWRkRmlsZXNUb0NvbnRhaW5lcih6aXAsIGNvbnRlbnRIVE1MLCBkb2N1bWVudE9wdGlvbnMsIGhlYWRlckhUTUwsIGZvb3RlckhUTUwpO1xyXG5cclxuICBjb25zdCBidWZmZXIgPSBhd2FpdCB6aXAuZ2VuZXJhdGVBc3luYyh7IHR5cGU6ICdhcnJheWJ1ZmZlcicgfSk7XHJcbiAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChnbG9iYWwsICdCdWZmZXInKSkge1xyXG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKG5ldyBVaW50OEFycmF5KGJ1ZmZlcikpO1xyXG4gIH1cclxuICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGdsb2JhbCwgJ0Jsb2InKSkge1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXHJcbiAgICByZXR1cm4gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcclxuICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JyxcclxuICAgIH0pO1xyXG4gIH1cclxuICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAnQWRkIGJsb2Igc3VwcG9ydCB1c2luZyBhIHBvbHlmaWxsIGVnIGh0dHBzOi8vZ2l0aHViLmNvbS9iam9ybnN0YXIvYmxvYi1wb2x5ZmlsbCdcclxuICApO1xyXG59XHJcblxyXG5leHBvcnQge2dlbmVyYXRlQ29udGFpbmVyfTtcclxuIl19
@@ -0,0 +1,37 @@
1
+ const namespaces = {
2
+ a: 'http://schemas.openxmlformats.org/drawingml/2006/main',
3
+ b: 'http://schemas.openxmlformats.org/officeDocument/2006/bibliography',
4
+ cdr: 'http://schemas.openxmlformats.org/drawingml/2006/chartDrawing',
5
+ dc: 'http://purl.org/dc/elements/1.1/',
6
+ dcmitype: 'http://purl.org/dc/dcmitype/',
7
+ dcterms: 'http://purl.org/dc/terms/',
8
+ o: 'urn:schemas-microsoft-com:office:office',
9
+ pic: 'http://schemas.openxmlformats.org/drawingml/2006/picture',
10
+ r: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',
11
+ v: 'urn:schemas-microsoft-com:vml',
12
+ ve: 'http://schemas.openxmlformats.org/markup-compatibility/2006',
13
+ vt: 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',
14
+ w: 'http://schemas.openxmlformats.org/wordprocessingml/2006/main',
15
+ w10: 'urn:schemas-microsoft-com:office:word',
16
+ wp: 'http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing',
17
+ wne: 'http://schemas.microsoft.com/office/word/2006/wordml',
18
+ xsd: 'http://www.w3.org/2001/XMLSchema',
19
+ xsi: 'http://www.w3.org/2001/XMLSchema-instance',
20
+ numbering: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering',
21
+ hyperlinks: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink',
22
+ images: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image',
23
+ styles: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles',
24
+ headers: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/header',
25
+ footers: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer',
26
+ themes: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme',
27
+ coreProperties: 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties',
28
+ officeDocumentRelation: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument',
29
+ corePropertiesRelation: 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties',
30
+ settingsRelation: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings',
31
+ webSettingsRelation: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings',
32
+ sl: 'http://schemas.openxmlformats.org/schemaLibrary/2006/main',
33
+ contentTypes: 'http://schemas.openxmlformats.org/package/2006/content-types',
34
+ relationship: 'http://schemas.openxmlformats.org/package/2006/relationships',
35
+ };
36
+ export default namespaces;
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL2NvbmZpZy93b3JkL25hbWVzcGFjZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEdBQUc7SUFDakIsQ0FBQyxFQUFFLHVEQUF1RDtJQUMxRCxDQUFDLEVBQUUsb0VBQW9FO0lBQ3ZFLEdBQUcsRUFBRSwrREFBK0Q7SUFDcEUsRUFBRSxFQUFFLGtDQUFrQztJQUN0QyxRQUFRLEVBQUUsOEJBQThCO0lBQ3hDLE9BQU8sRUFBRSwyQkFBMkI7SUFDcEMsQ0FBQyxFQUFFLHlDQUF5QztJQUM1QyxHQUFHLEVBQUUsMERBQTBEO0lBQy9ELENBQUMsRUFBRSxxRUFBcUU7SUFDeEUsQ0FBQyxFQUFFLCtCQUErQjtJQUNsQyxFQUFFLEVBQUUsNkRBQTZEO0lBQ2pFLEVBQUUsRUFBRSxzRUFBc0U7SUFDMUUsQ0FBQyxFQUFFLDhEQUE4RDtJQUNqRSxHQUFHLEVBQUUsdUNBQXVDO0lBQzVDLEVBQUUsRUFBRSx3RUFBd0U7SUFDNUUsR0FBRyxFQUFFLHNEQUFzRDtJQUMzRCxHQUFHLEVBQUUsa0NBQWtDO0lBQ3ZDLEdBQUcsRUFBRSwyQ0FBMkM7SUFDaEQsU0FBUyxFQUFFLCtFQUErRTtJQUMxRixVQUFVLEVBQUUsK0VBQStFO0lBQzNGLE1BQU0sRUFBRSwyRUFBMkU7SUFDbkYsTUFBTSxFQUFFLDRFQUE0RTtJQUNwRixPQUFPLEVBQUUsNEVBQTRFO0lBQ3JGLE9BQU8sRUFBRSw0RUFBNEU7SUFDckYsTUFBTSxFQUFFLDJFQUEyRTtJQUNuRixjQUFjLEVBQUUseUVBQXlFO0lBQ3pGLHNCQUFzQixFQUFFLG9GQUFvRjtJQUM1RyxzQkFBc0IsRUFBRSx1RkFBdUY7SUFDL0csZ0JBQWdCLEVBQUUsOEVBQThFO0lBQ2hHLG1CQUFtQixFQUFFLGlGQUFpRjtJQUN0RyxFQUFFLEVBQUUsMkRBQTJEO0lBQy9ELFlBQVksRUFBRSw4REFBOEQ7SUFDNUUsWUFBWSxFQUFFLDhEQUE4RDtDQUM3RSxDQUFDO0FBRUYsZUFBZSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBuYW1lc3BhY2VzID0ge1xyXG4gIGE6ICdodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvZHJhd2luZ21sLzIwMDYvbWFpbicsXHJcbiAgYjogJ2h0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L2JpYmxpb2dyYXBoeScsXHJcbiAgY2RyOiAnaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYXdpbmdtbC8yMDA2L2NoYXJ0RHJhd2luZycsXHJcbiAgZGM6ICdodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLycsXHJcbiAgZGNtaXR5cGU6ICdodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvJyxcclxuICBkY3Rlcm1zOiAnaHR0cDovL3B1cmwub3JnL2RjL3Rlcm1zLycsXHJcbiAgbzogJ3VybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZScsXHJcbiAgcGljOiAnaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYXdpbmdtbC8yMDA2L3BpY3R1cmUnLFxyXG4gIHI6ICdodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzJyxcclxuICB2OiAndXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwnLFxyXG4gIHZlOiAnaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL21hcmt1cC1jb21wYXRpYmlsaXR5LzIwMDYnLFxyXG4gIHZ0OiAnaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvZG9jUHJvcHNWVHlwZXMnLFxyXG4gIHc6ICdodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvd29yZHByb2Nlc3NpbmdtbC8yMDA2L21haW4nLFxyXG4gIHcxMDogJ3VybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOndvcmQnLFxyXG4gIHdwOiAnaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYXdpbmdtbC8yMDA2L3dvcmRwcm9jZXNzaW5nRHJhd2luZycsXHJcbiAgd25lOiAnaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2Uvd29yZC8yMDA2L3dvcmRtbCcsXHJcbiAgeHNkOiAnaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEnLFxyXG4gIHhzaTogJ2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlJyxcclxuICBudW1iZXJpbmc6ICdodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL251bWJlcmluZycsXHJcbiAgaHlwZXJsaW5rczogJ2h0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvaHlwZXJsaW5rJyxcclxuICBpbWFnZXM6ICdodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL2ltYWdlJyxcclxuICBzdHlsZXM6ICdodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3N0eWxlcycsXHJcbiAgaGVhZGVyczogJ2h0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvaGVhZGVyJyxcclxuICBmb290ZXJzOiAnaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy9mb290ZXInLFxyXG4gIHRoZW1lczogJ2h0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvdGhlbWUnLFxyXG4gIGNvcmVQcm9wZXJ0aWVzOiAnaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9tZXRhZGF0YS9jb3JlLXByb3BlcnRpZXMnLFxyXG4gIG9mZmljZURvY3VtZW50UmVsYXRpb246ICdodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL29mZmljZURvY3VtZW50JyxcclxuICBjb3JlUHJvcGVydGllc1JlbGF0aW9uOiAnaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzL21ldGFkYXRhL2NvcmUtcHJvcGVydGllcycsXHJcbiAgc2V0dGluZ3NSZWxhdGlvbjogJ2h0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvc2V0dGluZ3MnLFxyXG4gIHdlYlNldHRpbmdzUmVsYXRpb246ICdodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3dlYlNldHRpbmdzJyxcclxuICBzbDogJ2h0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9zY2hlbWFMaWJyYXJ5LzIwMDYvbWFpbicsXHJcbiAgY29udGVudFR5cGVzOiAnaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9jb250ZW50LXR5cGVzJyxcclxuICByZWxhdGlvbnNoaXA6ICdodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L3JlbGF0aW9uc2hpcHMnLFxyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmFtZXNwYWNlcztcclxuIl19
@@ -23,7 +23,5 @@ const generateCoreXML = (title = '', subject = '', creator = applicationName, ke
23
23
  <dcterms:modified xsi:type="dcterms:W3CDTF">${modifiedAt instanceof Date ? modifiedAt.toISOString() : new Date().toISOString()}</dcterms:modified>
24
24
  </cp:coreProperties>
25
25
  `;
26
- const ɵ0 = generateCoreXML;
27
26
  export { generateCoreXML };
28
- export { ɵ0 };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL2NvbmZpZy93b3JkL3NjaGVtYXMvY29yZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvQyxNQUFNLGVBQWUsR0FBRyxDQUN0QixLQUFLLEdBQUcsRUFBRSxFQUNWLE9BQU8sR0FBRyxFQUFFLEVBQ1osT0FBTyxHQUFHLGVBQWUsRUFDekIsUUFBUSxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQzVCLFdBQVcsR0FBRyxFQUFFLEVBQ2hCLGNBQWMsR0FBRyxlQUFlLEVBQ2hDLFFBQVEsR0FBRyxDQUFDLEVBQ1osU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLEVBQ3RCLFVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxFQUN2QixFQUFFLENBQUM7Ozs7c0JBSWlCLFVBQVUsQ0FBQyxjQUFjO3NCQUN6QixVQUFVLENBQUMsRUFBRTsyQkFDUixVQUFVLENBQUMsT0FBTzs0QkFDakIsVUFBVSxDQUFDLFFBQVE7dUJBQ3hCLFVBQVUsQ0FBQyxHQUFHOzt3QkFFYixLQUFLOzBCQUNILE9BQU87MEJBQ1AsT0FBTztjQUVuQixRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQyxDQUFDLGdCQUFnQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0I7SUFDckQsQ0FBQyxDQUFDLEVBQ047OEJBQ2tCLFdBQVc7aUNBQ1IsY0FBYzsyQkFDcEIsUUFBUTt5REFFckIsU0FBUyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFDOUU7MERBRUUsVUFBVSxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFDaEY7O0tBRVAsQ0FBQzs7QUFFTixPQUFPLEVBQUUsZUFBZSxFQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbmFtZXNwYWNlcyBmcm9tICcuLi9uYW1lc3BhY2VzJztcclxuaW1wb3J0IHsgYXBwbGljYXRpb25OYW1lIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuXHJcbmNvbnN0IGdlbmVyYXRlQ29yZVhNTCA9IChcclxuICB0aXRsZSA9ICcnLFxyXG4gIHN1YmplY3QgPSAnJyxcclxuICBjcmVhdG9yID0gYXBwbGljYXRpb25OYW1lLFxyXG4gIGtleXdvcmRzID0gW2FwcGxpY2F0aW9uTmFtZV0sXHJcbiAgZGVzY3JpcHRpb24gPSAnJyxcclxuICBsYXN0TW9kaWZpZWRCeSA9IGFwcGxpY2F0aW9uTmFtZSxcclxuICByZXZpc2lvbiA9IDEsXHJcbiAgY3JlYXRlZEF0ID0gbmV3IERhdGUoKSxcclxuICBtb2RpZmllZEF0ID0gbmV3IERhdGUoKVxyXG4pID0+IGBcclxuICAgICAgICA8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJVVEYtOFwiIHN0YW5kYWxvbmU9XCJ5ZXNcIj8+XHJcblxyXG4gICAgICAgIDxjcDpjb3JlUHJvcGVydGllc1xyXG4gICAgICAgICAgeG1sbnM6Y3A9XCIke25hbWVzcGFjZXMuY29yZVByb3BlcnRpZXN9XCJcclxuICAgICAgICAgIHhtbG5zOmRjPVwiJHtuYW1lc3BhY2VzLmRjfVwiXHJcbiAgICAgICAgICB4bWxuczpkY3Rlcm1zPVwiJHtuYW1lc3BhY2VzLmRjdGVybXN9XCJcclxuICAgICAgICAgIHhtbG5zOmRjbWl0eXBlPVwiJHtuYW1lc3BhY2VzLmRjbWl0eXBlfVwiXHJcbiAgICAgICAgICB4bWxuczp4c2k9XCIke25hbWVzcGFjZXMueHNpfVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkYzp0aXRsZT4ke3RpdGxlfTwvZGM6dGl0bGU+XHJcbiAgICAgICAgICAgIDxkYzpzdWJqZWN0PiR7c3ViamVjdH08L2RjOnN1YmplY3Q+XHJcbiAgICAgICAgICAgIDxkYzpjcmVhdG9yPiR7Y3JlYXRvcn08L2RjOmNyZWF0b3I+XHJcbiAgICAgICAgICAgICR7XHJcbiAgICAgICAgICAgICAga2V5d29yZHMgJiYgQXJyYXkuaXNBcnJheShrZXl3b3JkcylcclxuICAgICAgICAgICAgICAgID8gYDxjcDprZXl3b3Jkcz4ke2tleXdvcmRzLmpvaW4oJywgJyl9PC9jcDprZXl3b3Jkcz5gXHJcbiAgICAgICAgICAgICAgICA6ICcnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPGRjOmRlc2NyaXB0aW9uPiR7ZGVzY3JpcHRpb259PC9kYzpkZXNjcmlwdGlvbj5cclxuICAgICAgICAgICAgPGNwOmxhc3RNb2RpZmllZEJ5PiR7bGFzdE1vZGlmaWVkQnl9PC9jcDpsYXN0TW9kaWZpZWRCeT5cclxuICAgICAgICAgICAgPGNwOnJldmlzaW9uPiR7cmV2aXNpb259PC9jcDpyZXZpc2lvbj5cclxuICAgICAgICAgICAgPGRjdGVybXM6Y3JlYXRlZCB4c2k6dHlwZT1cImRjdGVybXM6VzNDRFRGXCI+JHtcclxuICAgICAgICAgICAgICBjcmVhdGVkQXQgaW5zdGFuY2VvZiBEYXRlID8gY3JlYXRlZEF0LnRvSVNPU3RyaW5nKCkgOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcclxuICAgICAgICAgICAgfTwvZGN0ZXJtczpjcmVhdGVkPlxyXG4gICAgICAgICAgICA8ZGN0ZXJtczptb2RpZmllZCB4c2k6dHlwZT1cImRjdGVybXM6VzNDRFRGXCI+JHtcclxuICAgICAgICAgICAgICBtb2RpZmllZEF0IGluc3RhbmNlb2YgRGF0ZSA/IG1vZGlmaWVkQXQudG9JU09TdHJpbmcoKSA6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKVxyXG4gICAgICAgICAgICB9PC9kY3Rlcm1zOm1vZGlmaWVkPlxyXG4gICAgICAgIDwvY3A6Y29yZVByb3BlcnRpZXM+XHJcbiAgICBgO1xyXG5cclxuZXhwb3J0IHsgZ2VuZXJhdGVDb3JlWE1MfTtcclxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL2NvbmZpZy93b3JkL3NjaGVtYXMvY29yZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvQyxNQUFNLGVBQWUsR0FBRyxDQUN0QixLQUFLLEdBQUcsRUFBRSxFQUNWLE9BQU8sR0FBRyxFQUFFLEVBQ1osT0FBTyxHQUFHLGVBQWUsRUFDekIsUUFBUSxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQzVCLFdBQVcsR0FBRyxFQUFFLEVBQ2hCLGNBQWMsR0FBRyxlQUFlLEVBQ2hDLFFBQVEsR0FBRyxDQUFDLEVBQ1osU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLEVBQ3RCLFVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxFQUN2QixFQUFFLENBQUM7Ozs7c0JBSWlCLFVBQVUsQ0FBQyxjQUFjO3NCQUN6QixVQUFVLENBQUMsRUFBRTsyQkFDUixVQUFVLENBQUMsT0FBTzs0QkFDakIsVUFBVSxDQUFDLFFBQVE7dUJBQ3hCLFVBQVUsQ0FBQyxHQUFHOzt3QkFFYixLQUFLOzBCQUNILE9BQU87MEJBQ1AsT0FBTztjQUVuQixRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQyxDQUFDLGdCQUFnQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0I7SUFDckQsQ0FBQyxDQUFDLEVBQ047OEJBQ2tCLFdBQVc7aUNBQ1IsY0FBYzsyQkFDcEIsUUFBUTt5REFFckIsU0FBUyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFDOUU7MERBRUUsVUFBVSxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFDaEY7O0tBRVAsQ0FBQztBQUVOLE9BQU8sRUFBRSxlQUFlLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBuYW1lc3BhY2VzIGZyb20gJy4uL25hbWVzcGFjZXMnO1xyXG5pbXBvcnQgeyBhcHBsaWNhdGlvbk5hbWUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5cclxuY29uc3QgZ2VuZXJhdGVDb3JlWE1MID0gKFxyXG4gIHRpdGxlID0gJycsXHJcbiAgc3ViamVjdCA9ICcnLFxyXG4gIGNyZWF0b3IgPSBhcHBsaWNhdGlvbk5hbWUsXHJcbiAga2V5d29yZHMgPSBbYXBwbGljYXRpb25OYW1lXSxcclxuICBkZXNjcmlwdGlvbiA9ICcnLFxyXG4gIGxhc3RNb2RpZmllZEJ5ID0gYXBwbGljYXRpb25OYW1lLFxyXG4gIHJldmlzaW9uID0gMSxcclxuICBjcmVhdGVkQXQgPSBuZXcgRGF0ZSgpLFxyXG4gIG1vZGlmaWVkQXQgPSBuZXcgRGF0ZSgpXHJcbikgPT4gYFxyXG4gICAgICAgIDw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCIgc3RhbmRhbG9uZT1cInllc1wiPz5cclxuXHJcbiAgICAgICAgPGNwOmNvcmVQcm9wZXJ0aWVzXHJcbiAgICAgICAgICB4bWxuczpjcD1cIiR7bmFtZXNwYWNlcy5jb3JlUHJvcGVydGllc31cIlxyXG4gICAgICAgICAgeG1sbnM6ZGM9XCIke25hbWVzcGFjZXMuZGN9XCJcclxuICAgICAgICAgIHhtbG5zOmRjdGVybXM9XCIke25hbWVzcGFjZXMuZGN0ZXJtc31cIlxyXG4gICAgICAgICAgeG1sbnM6ZGNtaXR5cGU9XCIke25hbWVzcGFjZXMuZGNtaXR5cGV9XCJcclxuICAgICAgICAgIHhtbG5zOnhzaT1cIiR7bmFtZXNwYWNlcy54c2l9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRjOnRpdGxlPiR7dGl0bGV9PC9kYzp0aXRsZT5cclxuICAgICAgICAgICAgPGRjOnN1YmplY3Q+JHtzdWJqZWN0fTwvZGM6c3ViamVjdD5cclxuICAgICAgICAgICAgPGRjOmNyZWF0b3I+JHtjcmVhdG9yfTwvZGM6Y3JlYXRvcj5cclxuICAgICAgICAgICAgJHtcclxuICAgICAgICAgICAgICBrZXl3b3JkcyAmJiBBcnJheS5pc0FycmF5KGtleXdvcmRzKVxyXG4gICAgICAgICAgICAgICAgPyBgPGNwOmtleXdvcmRzPiR7a2V5d29yZHMuam9pbignLCAnKX08L2NwOmtleXdvcmRzPmBcclxuICAgICAgICAgICAgICAgIDogJydcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8ZGM6ZGVzY3JpcHRpb24+JHtkZXNjcmlwdGlvbn08L2RjOmRlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgICA8Y3A6bGFzdE1vZGlmaWVkQnk+JHtsYXN0TW9kaWZpZWRCeX08L2NwOmxhc3RNb2RpZmllZEJ5PlxyXG4gICAgICAgICAgICA8Y3A6cmV2aXNpb24+JHtyZXZpc2lvbn08L2NwOnJldmlzaW9uPlxyXG4gICAgICAgICAgICA8ZGN0ZXJtczpjcmVhdGVkIHhzaTp0eXBlPVwiZGN0ZXJtczpXM0NEVEZcIj4ke1xyXG4gICAgICAgICAgICAgIGNyZWF0ZWRBdCBpbnN0YW5jZW9mIERhdGUgPyBjcmVhdGVkQXQudG9JU09TdHJpbmcoKSA6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKVxyXG4gICAgICAgICAgICB9PC9kY3Rlcm1zOmNyZWF0ZWQ+XHJcbiAgICAgICAgICAgIDxkY3Rlcm1zOm1vZGlmaWVkIHhzaTp0eXBlPVwiZGN0ZXJtczpXM0NEVEZcIj4ke1xyXG4gICAgICAgICAgICAgIG1vZGlmaWVkQXQgaW5zdGFuY2VvZiBEYXRlID8gbW9kaWZpZWRBdC50b0lTT1N0cmluZygpIDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpXHJcbiAgICAgICAgICAgIH08L2RjdGVybXM6bW9kaWZpZWQ+XHJcbiAgICAgICAgPC9jcDpjb3JlUHJvcGVydGllcz5cclxuICAgIGA7XHJcblxyXG5leHBvcnQgeyBnZW5lcmF0ZUNvcmVYTUx9O1xyXG4iXX0=
@@ -0,0 +1,107 @@
1
+ import namespaces from "../namespaces";
2
+ const generateDocumentTemplate = (width, height, orientation, margins) => `
3
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
4
+ <w:document
5
+ xmlns:a="${namespaces.a}"
6
+ xmlns:cdr="${namespaces.cdr}"
7
+ xmlns:o="${namespaces.o}"
8
+ xmlns:pic="${namespaces.pic}"
9
+ xmlns:r="${namespaces.r}"
10
+ xmlns:v="${namespaces.v}"
11
+ xmlns:ve="${namespaces.ve}"
12
+ xmlns:vt="${namespaces.vt}"
13
+ xmlns:w="${namespaces.w}"
14
+ xmlns:w10="${namespaces.w10}"
15
+ xmlns:wp="${namespaces.wp}"
16
+ xmlns:wne="${namespaces.wne}"
17
+ >
18
+ <w:body>
19
+
20
+ <w:altChunk r:id="htmlChunk" />
21
+ <w:sectPr>
22
+ <w:pgSz w:w="${width}" w:h="${height}" w:orient="${orientation}" />
23
+ <w:pgMar w:top="${margins.top}"
24
+ w:right="${margins.right}"
25
+ w:bottom="${margins.bottom}"
26
+ w:left="${margins.left}"
27
+ w:header="${margins.header}"
28
+ w:footer="${margins.footer}"
29
+ w:gutter="${margins.gutter}"/>
30
+ </w:sectPr>
31
+ </w:body>
32
+ </w:document>
33
+ `;
34
+ const generateDocumentTemplateHeader = `
35
+ <w:hdr
36
+ xmlns:a="${namespaces.a}"
37
+ xmlns:cdr="${namespaces.cdr}"
38
+ xmlns:o="${namespaces.o}"
39
+ xmlns:pic="${namespaces.pic}"
40
+ xmlns:r="${namespaces.r}"
41
+ xmlns:v="${namespaces.v}"
42
+ xmlns:ve="${namespaces.ve}"
43
+ xmlns:vt="${namespaces.vt}"
44
+ xmlns:w="${namespaces.w}"
45
+ xmlns:w10="${namespaces.w10}"
46
+ xmlns:wp="${namespaces.wp}"
47
+ xmlns:wne="${namespaces.wne}"
48
+ >
49
+ <w:altChunk r:id="htmlChunkHeader" />
50
+ </w:hdr>
51
+ `;
52
+ const generateDocumentTemplateFooter = `
53
+ <w:ftr
54
+ xmlns:a="${namespaces.a}"
55
+ xmlns:cdr="${namespaces.cdr}"
56
+ xmlns:o="${namespaces.o}"
57
+ xmlns:pic="${namespaces.pic}"
58
+ xmlns:r="${namespaces.r}"
59
+ xmlns:v="${namespaces.v}"
60
+ xmlns:ve="${namespaces.ve}"
61
+ xmlns:vt="${namespaces.vt}"
62
+ xmlns:w="${namespaces.w}"
63
+ xmlns:w10="${namespaces.w10}"
64
+ xmlns:wp="${namespaces.wp}"
65
+ >
66
+ <w:altChunk r:id="htmlChunkFooter" />
67
+ <w:p w:rsidR="0014021C" w:rsidRDefault="0014021C" w:rsidP="0014021C">
68
+ <w:pPr>
69
+ <w:pStyle w:val="Footer"/>
70
+ <w:jc w:val="center"/>
71
+ </w:pPr>
72
+ <w:fldSimple xmlns:ns2="http://schemas.openxmlformats.org/wordprocessingml/2006/main" ns2:instr="PAGE">
73
+ <w:r/>
74
+ </w:fldSimple>
75
+ </w:p>
76
+ </w:ftr>
77
+ `;
78
+ const generateDocumentTemplateFooterWithoutPaging = `
79
+ <w:ftr
80
+ xmlns:a="${namespaces.a}"
81
+ xmlns:cdr="${namespaces.cdr}"
82
+ xmlns:o="${namespaces.o}"
83
+ xmlns:pic="${namespaces.pic}"
84
+ xmlns:r="${namespaces.r}"
85
+ xmlns:v="${namespaces.v}"
86
+ xmlns:ve="${namespaces.ve}"
87
+ xmlns:vt="${namespaces.vt}"
88
+ xmlns:w="${namespaces.w}"
89
+ xmlns:w10="${namespaces.w10}"
90
+ xmlns:wp="${namespaces.wp}"
91
+ >
92
+ <w:altChunk r:id="htmlChunkFooter" />
93
+ </w:ftr>
94
+ `;
95
+ export { generateDocumentTemplate, generateDocumentTemplateHeader, generateDocumentTemplateFooter, generateDocumentTemplateFooterWithoutPaging };
96
+ { /* <w:altChunk r:id="htmlChunkFooter" /> */ }
97
+ {
98
+ /* <w:altChunk r:id="htmlChunkFooter" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" /> */
99
+ }
100
+ {
101
+ /* <w:ftr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
102
+ <fldSimple xmlns:ns2="http://schemas.openxmlformats.org/wordprocessingml/2006/main" ns2:instr="PAGE">
103
+ </fldSimple>
104
+ <w:altChunk r:id="htmlChunkFooter" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" />
105
+ </w:ftr> */
106
+ }
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQudGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9jb25maWcvd29yZC9zY2hlbWFzL2RvY3VtZW50LnRlbXBsYXRlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxNQUFNLHdCQUF3QixHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQzs7O21CQUd2RCxVQUFVLENBQUMsQ0FBQztxQkFDVixVQUFVLENBQUMsR0FBRzttQkFDaEIsVUFBVSxDQUFDLENBQUM7cUJBQ1YsVUFBVSxDQUFDLEdBQUc7bUJBQ2hCLFVBQVUsQ0FBQyxDQUFDO21CQUNaLFVBQVUsQ0FBQyxDQUFDO29CQUNYLFVBQVUsQ0FBQyxFQUFFO29CQUNiLFVBQVUsQ0FBQyxFQUFFO21CQUNkLFVBQVUsQ0FBQyxDQUFDO3FCQUNWLFVBQVUsQ0FBQyxHQUFHO29CQUNmLFVBQVUsQ0FBQyxFQUFFO3FCQUNaLFVBQVUsQ0FBQyxHQUFHOzs7Ozs7K0JBTUosS0FBSyxVQUFVLE1BQU0sZUFBZSxXQUFXO2tDQUM1QyxPQUFPLENBQUMsR0FBRzttQ0FDVixPQUFPLENBQUMsS0FBSztvQ0FDWixPQUFPLENBQUMsTUFBTTtrQ0FDaEIsT0FBTyxDQUFDLElBQUk7b0NBQ1YsT0FBTyxDQUFDLE1BQU07b0NBQ2QsT0FBTyxDQUFDLE1BQU07b0NBQ2QsT0FBTyxDQUFDLE1BQU07Ozs7R0FJL0MsQ0FBQztBQUVKLE1BQU0sOEJBQThCLEdBQUc7O1dBRTVCLFVBQVUsQ0FBQyxDQUFDO2FBQ1YsVUFBVSxDQUFDLEdBQUc7V0FDaEIsVUFBVSxDQUFDLENBQUM7YUFDVixVQUFVLENBQUMsR0FBRztXQUNoQixVQUFVLENBQUMsQ0FBQztXQUNaLFVBQVUsQ0FBQyxDQUFDO1lBQ1gsVUFBVSxDQUFDLEVBQUU7WUFDYixVQUFVLENBQUMsRUFBRTtXQUNkLFVBQVUsQ0FBQyxDQUFDO2FBQ1YsVUFBVSxDQUFDLEdBQUc7WUFDZixVQUFVLENBQUMsRUFBRTthQUNaLFVBQVUsQ0FBQyxHQUFHOzs7O0dBSXhCLENBQUM7QUFFSixNQUFNLDhCQUE4QixHQUFHOzthQUUxQixVQUFVLENBQUMsQ0FBQztlQUNWLFVBQVUsQ0FBQyxHQUFHO2FBQ2hCLFVBQVUsQ0FBQyxDQUFDO2VBQ1YsVUFBVSxDQUFDLEdBQUc7YUFDaEIsVUFBVSxDQUFDLENBQUM7YUFDWixVQUFVLENBQUMsQ0FBQztjQUNYLFVBQVUsQ0FBQyxFQUFFO2NBQ2IsVUFBVSxDQUFDLEVBQUU7YUFDZCxVQUFVLENBQUMsQ0FBQztlQUNWLFVBQVUsQ0FBQyxHQUFHO2NBQ2YsVUFBVSxDQUFDLEVBQUU7Ozs7Ozs7Ozs7Ozs7R0FheEIsQ0FBQztBQUVGLE1BQU0sMkNBQTJDLEdBQUc7O2FBRXpDLFVBQVUsQ0FBQyxDQUFDO2VBQ1YsVUFBVSxDQUFDLEdBQUc7YUFDaEIsVUFBVSxDQUFDLENBQUM7ZUFDVixVQUFVLENBQUMsR0FBRzthQUNoQixVQUFVLENBQUMsQ0FBQzthQUNaLFVBQVUsQ0FBQyxDQUFDO2NBQ1gsVUFBVSxDQUFDLEVBQUU7Y0FDYixVQUFVLENBQUMsRUFBRTthQUNkLFVBQVUsQ0FBQyxDQUFDO2VBQ1YsVUFBVSxDQUFDLEdBQUc7Y0FDZixVQUFVLENBQUMsRUFBRTs7OztHQUl4QixDQUFDO0FBRUosT0FBTyxFQUNMLHdCQUF3QixFQUN4Qiw4QkFBOEIsRUFDOUIsOEJBQThCLEVBQzlCLDJDQUEyQyxFQUM1QyxDQUFDO0FBRUYsRUFBQywyQ0FBMkMsRUFBQztBQUU3QztJQUNFLHlIQUF5SDtDQUMxSDtBQUVEO0lBQ0U7Ozs7Y0FJVTtDQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG5hbWVzcGFjZXMgZnJvbSBcIi4uL25hbWVzcGFjZXNcIjtcclxuXHJcbmNvbnN0IGdlbmVyYXRlRG9jdW1lbnRUZW1wbGF0ZSA9ICh3aWR0aCwgaGVpZ2h0LCBvcmllbnRhdGlvbiwgbWFyZ2lucykgPT4gYFxyXG4gIDw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCIgc3RhbmRhbG9uZT1cInllc1wiPz5cclxuICAgIDx3OmRvY3VtZW50XHJcbiAgICAgICAgeG1sbnM6YT1cIiR7bmFtZXNwYWNlcy5hfVwiXHJcbiAgICAgICAgeG1sbnM6Y2RyPVwiJHtuYW1lc3BhY2VzLmNkcn1cIlxyXG4gICAgICAgIHhtbG5zOm89XCIke25hbWVzcGFjZXMub31cIlxyXG4gICAgICAgIHhtbG5zOnBpYz1cIiR7bmFtZXNwYWNlcy5waWN9XCJcclxuICAgICAgICB4bWxuczpyPVwiJHtuYW1lc3BhY2VzLnJ9XCJcclxuICAgICAgICB4bWxuczp2PVwiJHtuYW1lc3BhY2VzLnZ9XCJcclxuICAgICAgICB4bWxuczp2ZT1cIiR7bmFtZXNwYWNlcy52ZX1cIlxyXG4gICAgICAgIHhtbG5zOnZ0PVwiJHtuYW1lc3BhY2VzLnZ0fVwiXHJcbiAgICAgICAgeG1sbnM6dz1cIiR7bmFtZXNwYWNlcy53fVwiXHJcbiAgICAgICAgeG1sbnM6dzEwPVwiJHtuYW1lc3BhY2VzLncxMH1cIlxyXG4gICAgICAgIHhtbG5zOndwPVwiJHtuYW1lc3BhY2VzLndwfVwiXHJcbiAgICAgICAgeG1sbnM6d25lPVwiJHtuYW1lc3BhY2VzLnduZX1cIlxyXG4gICAgICAgID5cclxuICAgICAgICA8dzpib2R5PlxyXG5cclxuICAgICAgICA8dzphbHRDaHVuayByOmlkPVwiaHRtbENodW5rXCIgLz5cclxuICAgICAgICAgICAgPHc6c2VjdFByPlxyXG4gICAgICAgICAgICAgICAgPHc6cGdTeiB3Onc9XCIke3dpZHRofVwiIHc6aD1cIiR7aGVpZ2h0fVwiIHc6b3JpZW50PVwiJHtvcmllbnRhdGlvbn1cIiAvPlxyXG4gICAgICAgICAgICAgICAgPHc6cGdNYXIgdzp0b3A9XCIke21hcmdpbnMudG9wfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHc6cmlnaHQ9XCIke21hcmdpbnMucmlnaHR9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdzpib3R0b209XCIke21hcmdpbnMuYm90dG9tfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHc6bGVmdD1cIiR7bWFyZ2lucy5sZWZ0fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHc6aGVhZGVyPVwiJHttYXJnaW5zLmhlYWRlcn1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB3OmZvb3Rlcj1cIiR7bWFyZ2lucy5mb290ZXJ9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdzpndXR0ZXI9XCIke21hcmdpbnMuZ3V0dGVyfVwiLz5cclxuICAgICAgICAgICAgPC93OnNlY3RQcj5cclxuICAgICAgICA8L3c6Ym9keT5cclxuICAgIDwvdzpkb2N1bWVudD5cclxuICBgO1xyXG5cclxuY29uc3QgZ2VuZXJhdGVEb2N1bWVudFRlbXBsYXRlSGVhZGVyID0gYFxyXG48dzpoZHJcclxueG1sbnM6YT1cIiR7bmFtZXNwYWNlcy5hfVwiXHJcbnhtbG5zOmNkcj1cIiR7bmFtZXNwYWNlcy5jZHJ9XCJcclxueG1sbnM6bz1cIiR7bmFtZXNwYWNlcy5vfVwiXHJcbnhtbG5zOnBpYz1cIiR7bmFtZXNwYWNlcy5waWN9XCJcclxueG1sbnM6cj1cIiR7bmFtZXNwYWNlcy5yfVwiXHJcbnhtbG5zOnY9XCIke25hbWVzcGFjZXMudn1cIlxyXG54bWxuczp2ZT1cIiR7bmFtZXNwYWNlcy52ZX1cIlxyXG54bWxuczp2dD1cIiR7bmFtZXNwYWNlcy52dH1cIlxyXG54bWxuczp3PVwiJHtuYW1lc3BhY2VzLnd9XCJcclxueG1sbnM6dzEwPVwiJHtuYW1lc3BhY2VzLncxMH1cIlxyXG54bWxuczp3cD1cIiR7bmFtZXNwYWNlcy53cH1cIlxyXG54bWxuczp3bmU9XCIke25hbWVzcGFjZXMud25lfVwiXHJcbj5cclxuPHc6YWx0Q2h1bmsgcjppZD1cImh0bWxDaHVua0hlYWRlclwiIC8+XHJcbjwvdzpoZHI+XHJcbiAgYDtcclxuXHJcbmNvbnN0IGdlbmVyYXRlRG9jdW1lbnRUZW1wbGF0ZUZvb3RlciA9IGBcclxuICA8dzpmdHJcclxuICB4bWxuczphPVwiJHtuYW1lc3BhY2VzLmF9XCJcclxuICB4bWxuczpjZHI9XCIke25hbWVzcGFjZXMuY2RyfVwiXHJcbiAgeG1sbnM6bz1cIiR7bmFtZXNwYWNlcy5vfVwiXHJcbiAgeG1sbnM6cGljPVwiJHtuYW1lc3BhY2VzLnBpY31cIlxyXG4gIHhtbG5zOnI9XCIke25hbWVzcGFjZXMucn1cIlxyXG4gIHhtbG5zOnY9XCIke25hbWVzcGFjZXMudn1cIlxyXG4gIHhtbG5zOnZlPVwiJHtuYW1lc3BhY2VzLnZlfVwiXHJcbiAgeG1sbnM6dnQ9XCIke25hbWVzcGFjZXMudnR9XCJcclxuICB4bWxuczp3PVwiJHtuYW1lc3BhY2VzLnd9XCJcclxuICB4bWxuczp3MTA9XCIke25hbWVzcGFjZXMudzEwfVwiXHJcbiAgeG1sbnM6d3A9XCIke25hbWVzcGFjZXMud3B9XCJcclxuICA+XHJcbiAgPHc6YWx0Q2h1bmsgcjppZD1cImh0bWxDaHVua0Zvb3RlclwiIC8+XHJcblx0PHc6cCB3OnJzaWRSPVwiMDAxNDAyMUNcIiB3OnJzaWRSRGVmYXVsdD1cIjAwMTQwMjFDXCIgdzpyc2lkUD1cIjAwMTQwMjFDXCI+XHJcblx0XHRcdDx3OnBQcj5cclxuXHRcdFx0XHQ8dzpwU3R5bGUgdzp2YWw9XCJGb290ZXJcIi8+XHJcblx0XHRcdFx0PHc6amMgdzp2YWw9XCJjZW50ZXJcIi8+XHJcblx0XHRcdDwvdzpwUHI+XHJcbiAgICAgIDx3OmZsZFNpbXBsZSB4bWxuczpuczI9XCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvd29yZHByb2Nlc3NpbmdtbC8yMDA2L21haW5cIiBuczI6aW5zdHI9XCJQQUdFXCI+XHJcbiAgICAgIDx3OnIvPlxyXG4gICAgPC93OmZsZFNpbXBsZT5cclxuXHRcdDwvdzpwPlxyXG5cdDwvdzpmdHI+XHJcbiAgYDtcclxuXHJcbiAgY29uc3QgZ2VuZXJhdGVEb2N1bWVudFRlbXBsYXRlRm9vdGVyV2l0aG91dFBhZ2luZyA9IGBcclxuICA8dzpmdHJcclxuICB4bWxuczphPVwiJHtuYW1lc3BhY2VzLmF9XCJcclxuICB4bWxuczpjZHI9XCIke25hbWVzcGFjZXMuY2RyfVwiXHJcbiAgeG1sbnM6bz1cIiR7bmFtZXNwYWNlcy5vfVwiXHJcbiAgeG1sbnM6cGljPVwiJHtuYW1lc3BhY2VzLnBpY31cIlxyXG4gIHhtbG5zOnI9XCIke25hbWVzcGFjZXMucn1cIlxyXG4gIHhtbG5zOnY9XCIke25hbWVzcGFjZXMudn1cIlxyXG4gIHhtbG5zOnZlPVwiJHtuYW1lc3BhY2VzLnZlfVwiXHJcbiAgeG1sbnM6dnQ9XCIke25hbWVzcGFjZXMudnR9XCJcclxuICB4bWxuczp3PVwiJHtuYW1lc3BhY2VzLnd9XCJcclxuICB4bWxuczp3MTA9XCIke25hbWVzcGFjZXMudzEwfVwiXHJcbiAgeG1sbnM6d3A9XCIke25hbWVzcGFjZXMud3B9XCJcclxuICA+XHJcbiAgPHc6YWx0Q2h1bmsgcjppZD1cImh0bWxDaHVua0Zvb3RlclwiIC8+XHJcblx0PC93OmZ0cj5cclxuICBgO1xyXG5cclxuZXhwb3J0IHtcclxuICBnZW5lcmF0ZURvY3VtZW50VGVtcGxhdGUsXHJcbiAgZ2VuZXJhdGVEb2N1bWVudFRlbXBsYXRlSGVhZGVyLFxyXG4gIGdlbmVyYXRlRG9jdW1lbnRUZW1wbGF0ZUZvb3RlcixcclxuICBnZW5lcmF0ZURvY3VtZW50VGVtcGxhdGVGb290ZXJXaXRob3V0UGFnaW5nXHJcbn07XHJcblxyXG57LyogPHc6YWx0Q2h1bmsgcjppZD1cImh0bWxDaHVua0Zvb3RlclwiIC8+ICovfVxyXG5cclxue1xyXG4gIC8qIDx3OmFsdENodW5rIHI6aWQ9XCJodG1sQ2h1bmtGb290ZXJcIiB4bWxuczpyPVwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwc1wiIC8+ICovXHJcbn1cclxuXHJcbntcclxuICAvKiA8dzpmdHIgeG1sbnM6dz1cImh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy93b3JkcHJvY2Vzc2luZ21sLzIwMDYvbWFpblwiPlxyXG48ZmxkU2ltcGxlIHhtbG5zOm5zMj1cImh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy93b3JkcHJvY2Vzc2luZ21sLzIwMDYvbWFpblwiIG5zMjppbnN0cj1cIlBBR0VcIj5cclxuPC9mbGRTaW1wbGU+XHJcbjx3OmFsdENodW5rIHI6aWQ9XCJodG1sQ2h1bmtGb290ZXJcIiB4bWxuczpyPVwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwc1wiIC8+XHJcbiA8L3c6ZnRyPiAqL1xyXG59XHJcbiJdfQ==
@@ -13,7 +13,5 @@ const generateNumberingXMLTemplate = () => `
13
13
  xmlns:wne="${namespaces.wne}">
14
14
  </w:numbering>
15
15
  `;
16
- const ɵ0 = generateNumberingXMLTemplate;
17
16
  export { generateNumberingXMLTemplate };
18
- export { ɵ0 };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvY29uZmlnL3dvcmQvc2NoZW1hcy9udW1iZXJpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE1BQU0sNEJBQTRCLEdBQUcsR0FBRyxFQUFFLENBQUM7Ozs7bUJBSXhCLFVBQVUsQ0FBQyxDQUFDO29CQUNYLFVBQVUsQ0FBQyxFQUFFO21CQUNkLFVBQVUsQ0FBQyxDQUFDO21CQUNaLFVBQVUsQ0FBQyxDQUFDO21CQUNaLFVBQVUsQ0FBQyxDQUFDO29CQUNYLFVBQVUsQ0FBQyxFQUFFO3FCQUNaLFVBQVUsQ0FBQyxHQUFHO3FCQUNkLFVBQVUsQ0FBQyxHQUFHOztLQUU5QixDQUFDOztBQUVOLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG5hbWVzcGFjZXMgZnJvbSAnLi4vbmFtZXNwYWNlcyc7XHJcblxyXG5jb25zdCBnZW5lcmF0ZU51bWJlcmluZ1hNTFRlbXBsYXRlID0gKCkgPT4gYFxyXG4gICAgICAgIDw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCIgc3RhbmRhbG9uZT1cInllc1wiPz5cclxuXHJcbiAgICAgICAgPHc6bnVtYmVyaW5nXHJcbiAgICAgICAgeG1sbnM6dz1cIiR7bmFtZXNwYWNlcy53fVwiXHJcbiAgICAgICAgeG1sbnM6dmU9XCIke25hbWVzcGFjZXMudmV9XCJcclxuICAgICAgICB4bWxuczpvPVwiJHtuYW1lc3BhY2VzLm99XCJcclxuICAgICAgICB4bWxuczpyPVwiJHtuYW1lc3BhY2VzLnJ9XCJcclxuICAgICAgICB4bWxuczp2PVwiJHtuYW1lc3BhY2VzLnZ9XCJcclxuICAgICAgICB4bWxuczp3cD1cIiR7bmFtZXNwYWNlcy53cH1cIlxyXG4gICAgICAgIHhtbG5zOncxMD1cIiR7bmFtZXNwYWNlcy53MTB9XCJcclxuICAgICAgICB4bWxuczp3bmU9XCIke25hbWVzcGFjZXMud25lfVwiPlxyXG4gICAgICAgIDwvdzpudW1iZXJpbmc+XHJcbiAgICBgO1xyXG5cclxuZXhwb3J0IHtnZW5lcmF0ZU51bWJlcmluZ1hNTFRlbXBsYXRlfTtcclxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvY29uZmlnL3dvcmQvc2NoZW1hcy9udW1iZXJpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE1BQU0sNEJBQTRCLEdBQUcsR0FBRyxFQUFFLENBQUM7Ozs7bUJBSXhCLFVBQVUsQ0FBQyxDQUFDO29CQUNYLFVBQVUsQ0FBQyxFQUFFO21CQUNkLFVBQVUsQ0FBQyxDQUFDO21CQUNaLFVBQVUsQ0FBQyxDQUFDO21CQUNaLFVBQVUsQ0FBQyxDQUFDO29CQUNYLFVBQVUsQ0FBQyxFQUFFO3FCQUNaLFVBQVUsQ0FBQyxHQUFHO3FCQUNkLFVBQVUsQ0FBQyxHQUFHOztLQUU5QixDQUFDO0FBRU4sT0FBTyxFQUFDLDRCQUE0QixFQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbmFtZXNwYWNlcyBmcm9tICcuLi9uYW1lc3BhY2VzJztcclxuXHJcbmNvbnN0IGdlbmVyYXRlTnVtYmVyaW5nWE1MVGVtcGxhdGUgPSAoKSA9PiBgXHJcbiAgICAgICAgPD94bWwgdmVyc2lvbj1cIjEuMFwiIGVuY29kaW5nPVwiVVRGLThcIiBzdGFuZGFsb25lPVwieWVzXCI/PlxyXG5cclxuICAgICAgICA8dzpudW1iZXJpbmdcclxuICAgICAgICB4bWxuczp3PVwiJHtuYW1lc3BhY2VzLnd9XCJcclxuICAgICAgICB4bWxuczp2ZT1cIiR7bmFtZXNwYWNlcy52ZX1cIlxyXG4gICAgICAgIHhtbG5zOm89XCIke25hbWVzcGFjZXMub31cIlxyXG4gICAgICAgIHhtbG5zOnI9XCIke25hbWVzcGFjZXMucn1cIlxyXG4gICAgICAgIHhtbG5zOnY9XCIke25hbWVzcGFjZXMudn1cIlxyXG4gICAgICAgIHhtbG5zOndwPVwiJHtuYW1lc3BhY2VzLndwfVwiXHJcbiAgICAgICAgeG1sbnM6dzEwPVwiJHtuYW1lc3BhY2VzLncxMH1cIlxyXG4gICAgICAgIHhtbG5zOnduZT1cIiR7bmFtZXNwYWNlcy53bmV9XCI+XHJcbiAgICAgICAgPC93Om51bWJlcmluZz5cclxuICAgIGA7XHJcblxyXG5leHBvcnQge2dlbmVyYXRlTnVtYmVyaW5nWE1MVGVtcGxhdGV9O1xyXG4iXX0=