@po-ui/ng-code-editor 5.22.0 → 5.22.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +20 -20
  2. package/bundles/po-ui-ng-code-editor.umd.js +929 -929
  3. package/bundles/po-ui-ng-code-editor.umd.js.map +1 -1
  4. package/esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable-options.interface.js +2 -2
  5. package/esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable-suggestion.interface.js +2 -2
  6. package/esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable-tokens.interface.js +2 -2
  7. package/esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable.interface.js +2 -2
  8. package/esm2015/lib/components/po-code-editor/po-code-editor-base.component.js +248 -248
  9. package/esm2015/lib/components/po-code-editor/po-code-editor-register.service.js +63 -63
  10. package/esm2015/lib/components/po-code-editor/po-code-editor-suggestion.service.js +28 -28
  11. package/esm2015/lib/components/po-code-editor/po-code-editor.component.js +225 -225
  12. package/esm2015/lib/components/po-code-editor/po-code-editor.module.js +31 -31
  13. package/esm2015/lib/index.js +4 -4
  14. package/esm2015/po-ui-ng-code-editor.js +6 -6
  15. package/esm2015/public-api.js +2 -2
  16. package/fesm2015/po-ui-ng-code-editor.js +574 -574
  17. package/fesm2015/po-ui-ng-code-editor.js.map +1 -1
  18. package/lib/components/po-code-editor/interfaces/po-code-editor-registerable-options.interface.d.ts +22 -22
  19. package/lib/components/po-code-editor/interfaces/po-code-editor-registerable-suggestion.interface.d.ts +37 -37
  20. package/lib/components/po-code-editor/interfaces/po-code-editor-registerable-tokens.interface.d.ts +21 -21
  21. package/lib/components/po-code-editor/interfaces/po-code-editor-registerable.interface.d.ts +17 -17
  22. package/lib/components/po-code-editor/po-code-editor-base.component.d.ts +191 -191
  23. package/lib/components/po-code-editor/po-code-editor-register.service.d.ts +67 -67
  24. package/lib/components/po-code-editor/po-code-editor-suggestion.service.d.ts +7 -7
  25. package/lib/components/po-code-editor/po-code-editor.component.d.ts +58 -58
  26. package/lib/components/po-code-editor/po-code-editor.module.d.ts +10 -10
  27. package/lib/index.d.ts +7 -7
  28. package/package.json +5 -5
  29. package/po-ui-ng-code-editor-5.22.4.tgz +0 -0
  30. package/po-ui-ng-code-editor.d.ts +6 -6
  31. package/po-ui-ng-code-editor.metadata.json +1 -1
  32. package/public-api.d.ts +1 -1
  33. package/schematics/README.md +98 -98
  34. package/schematics/collection.json +10 -10
  35. package/schematics/ng-add/index.d.ts +10 -10
  36. package/schematics/ng-add/index.js +38 -38
  37. package/schematics/ng-add/index.spec.d.ts +1 -1
  38. package/schematics/ng-add/index.spec.js +113 -113
  39. package/schematics/ng-add/schema.json +7 -7
  40. package/po-ui-ng-code-editor-5.22.0.tgz +0 -0
@@ -1,225 +1,225 @@
1
- import { Component, ElementRef, forwardRef, NgZone, ViewChild } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { PoCodeEditorBaseComponent } from './po-code-editor-base.component';
4
- import { PoCodeEditorRegister } from './po-code-editor-register.service';
5
- import { PoCodeEditorSuggestionService } from './po-code-editor-suggestion.service';
6
- // variáveis relacionadas ao Monaco
7
- let loadedMonaco = false;
8
- let loadPromise;
9
- /* istanbul ignore next */
10
- const providers = [
11
- {
12
- provide: NG_VALUE_ACCESSOR,
13
- // eslint-disable-next-line
14
- useExisting: forwardRef(() => PoCodeEditorComponent),
15
- multi: true
16
- }
17
- ];
18
- /**
19
- * @docsExtends PoCodeEditorBaseComponent
20
- *
21
- * @example
22
- *
23
- * <example name="po-code-editor-basic" title="PO Code Editor Basic">
24
- * <file name="sample-po-code-editor-basic/sample-po-code-editor-basic.component.html"> </file>
25
- * <file name="sample-po-code-editor-basic/sample-po-code-editor-basic.component.ts"> </file>
26
- * </example>
27
- *
28
- * <example name="po-code-editor-labs" title="PO Code Editor Labs">
29
- * <file name="sample-po-code-editor-labs/sample-po-code-editor-labs.component.html"> </file>
30
- * <file name="sample-po-code-editor-labs/sample-po-code-editor-labs.component.ts"> </file>
31
- * </example>
32
- *
33
- * <example name="po-code-editor-diff" title="PO Code Editor - Diff">
34
- * <file name="sample-po-code-editor-diff/sample-po-code-editor-diff.component.html"> </file>
35
- * <file name="sample-po-code-editor-diff/sample-po-code-editor-diff.component.ts"> </file>
36
- * </example>
37
- *
38
- * <example name="po-code-editor-terraform" title="PO Code Editor - Terraform">
39
- * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.component.html"> </file>
40
- * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.component.ts"> </file>
41
- * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.constant.ts"> </file>
42
- * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.module.ts"> </file>
43
- * </example>
44
- *
45
- * <example name="po-code-editor-suggestion" title="PO Code Editor Suggestion">
46
- * <file name="sample-po-code-editor-suggestion/sample-po-code-editor-suggestion.component.html"> </file>
47
- * <file name="sample-po-code-editor-suggestion/sample-po-code-editor-suggestion.component.ts"> </file>
48
- * </example>
49
- */
50
- export class PoCodeEditorComponent extends PoCodeEditorBaseComponent {
51
- constructor(zone, el, poCodeEditorSuggestionService, codeEditorRegister) {
52
- super();
53
- this.zone = zone;
54
- this.el = el;
55
- this.poCodeEditorSuggestionService = poCodeEditorSuggestionService;
56
- this.codeEditorRegister = codeEditorRegister;
57
- this.canLoad = false;
58
- }
59
- /* istanbul ignore next */
60
- ngAfterViewInit() {
61
- if (loadedMonaco) {
62
- /* istanbul ignore next */
63
- loadPromise.then(() => {
64
- setTimeout(() => {
65
- if (this.el.nativeElement.offsetWidth) {
66
- this.registerCustomLanguage();
67
- this.initMonaco(this.getOptions());
68
- }
69
- else {
70
- this.canLoad = true;
71
- }
72
- });
73
- });
74
- }
75
- else {
76
- loadedMonaco = true;
77
- loadPromise = new Promise((resolve) => {
78
- /* istanbul ignore next */
79
- const onGotAmdLoader = () => {
80
- window.require.config({ paths: { 'vs': './assets/monaco/vs' } });
81
- window.require(['vs/editor/editor.main'], () => {
82
- setTimeout(() => {
83
- if (this.el.nativeElement.offsetWidth) {
84
- this.registerCustomLanguage();
85
- this.initMonaco(this.getOptions());
86
- }
87
- else {
88
- this.canLoad = true;
89
- }
90
- resolve();
91
- });
92
- });
93
- };
94
- if (!window.require) {
95
- const loaderScript = document.createElement('script');
96
- loaderScript.type = 'text/javascript';
97
- loaderScript.src = './assets/monaco/vs/loader.js';
98
- loaderScript.addEventListener('load', onGotAmdLoader);
99
- document.body.appendChild(loaderScript);
100
- }
101
- });
102
- }
103
- }
104
- ngDoCheck() {
105
- if (this.canLoad && this.el.nativeElement.offsetWidth) {
106
- this.registerCustomLanguage();
107
- this.initMonaco(this.getOptions());
108
- this.canLoad = false;
109
- }
110
- }
111
- /* istanbul ignore next */
112
- monacoCreateModel(value) {
113
- return monaco.editor.createModel(value);
114
- }
115
- setValueInEditor() {
116
- if (this.showDiff) {
117
- setTimeout(() => {
118
- if (this.editor) {
119
- this.editor.setModel({
120
- original: this.monacoCreateModel(this.value),
121
- modified: this.monacoCreateModel(this.modifiedValue)
122
- });
123
- }
124
- });
125
- }
126
- else {
127
- setTimeout(() => {
128
- if (this.editor) {
129
- this.editor.setValue(this.value);
130
- }
131
- });
132
- }
133
- }
134
- setLanguage(language) {
135
- if (this.showDiff) {
136
- this.setMonacoLanguage(this.editor.getModel().original, language);
137
- this.setMonacoLanguage(this.editor.getModel().modified, language);
138
- }
139
- else {
140
- this.setMonacoLanguage(this.editor.getModel(), language);
141
- }
142
- }
143
- /* istanbul ignore next */
144
- setTheme(theme) {
145
- monaco.editor.setTheme(theme);
146
- }
147
- setReadOnly(readOnly) {
148
- this.editor.updateOptions({ readOnly: readOnly });
149
- }
150
- /* istanbul ignore next */
151
- setSuggestions(newSuggestions, language = this.language) {
152
- if (!newSuggestions) {
153
- return;
154
- }
155
- const suggestions = this.poCodeEditorSuggestionService.getSuggestion(language, newSuggestions);
156
- monaco.languages.registerCompletionItemProvider(language, {
157
- provideCompletionItems: () => ({ suggestions })
158
- });
159
- }
160
- writeValue(value) {
161
- this.value = value && value instanceof Array ? value[0] : value;
162
- this.modifiedValue = value && value instanceof Array && value.length > 0 ? value[1] : '';
163
- this.setValueInEditor();
164
- }
165
- /* istanbul ignore next */
166
- initMonaco(options) {
167
- if (this.showDiff) {
168
- this.editor = monaco.editor.createDiffEditor(this.editorContainer.nativeElement, options);
169
- this.editor.setModel({
170
- original: monaco.editor.createModel(this.value),
171
- modified: monaco.editor.createModel(this.modifiedValue)
172
- });
173
- this.editor.onDidUpdateDiff((e) => {
174
- const original = this.editor.getModel().original.getValue();
175
- const modified = this.editor.getModel().modified.getValue();
176
- this.onChangePropagate([original, modified]);
177
- });
178
- }
179
- else {
180
- this.editor = monaco.editor.create(this.editorContainer.nativeElement, options);
181
- this.editor.setValue(this.value);
182
- this.editor.onDidChangeModelContent((e) => {
183
- const value = this.editor.getValue();
184
- this.onChangePropagate(value);
185
- this.zone.run(() => (this.value = value));
186
- });
187
- }
188
- setTimeout(() => {
189
- this.setLanguage(this.language);
190
- this.setSuggestions(this.suggestions);
191
- }, 500);
192
- }
193
- /* istanbul ignore next */
194
- setMonacoLanguage(model, language) {
195
- monaco.editor.setModelLanguage(model, language);
196
- }
197
- registerCustomLanguage() {
198
- if (this.codeEditorRegister.language) {
199
- monaco.languages.register({ id: this.codeEditorRegister.language });
200
- if (this.codeEditorRegister.options) {
201
- monaco.languages.setMonarchTokensProvider(this.codeEditorRegister.language, this.codeEditorRegister.options);
202
- }
203
- if (this.codeEditorRegister.suggestions) {
204
- this.setSuggestions(this.codeEditorRegister.suggestions.provideCompletionItems().suggestions, this.codeEditorRegister.language);
205
- }
206
- }
207
- }
208
- }
209
- PoCodeEditorComponent.decorators = [
210
- { type: Component, args: [{
211
- selector: 'po-code-editor',
212
- template: "<div #editorContainer [style.height]=\"height\"></div>\n",
213
- providers
214
- },] }
215
- ];
216
- PoCodeEditorComponent.ctorParameters = () => [
217
- { type: NgZone },
218
- { type: ElementRef },
219
- { type: PoCodeEditorSuggestionService },
220
- { type: PoCodeEditorRegister }
221
- ];
222
- PoCodeEditorComponent.propDecorators = {
223
- editorContainer: [{ type: ViewChild, args: ['editorContainer', { static: true },] }]
224
- };
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBVyxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFekUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFcEYsbUNBQW1DO0FBQ25DLElBQUksWUFBWSxHQUFZLEtBQUssQ0FBQztBQUNsQyxJQUFJLFdBQTBCLENBQUM7QUFNL0IsMEJBQTBCO0FBQzFCLE1BQU0sU0FBUyxHQUFvQjtJQUNqQztRQUNFLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsMkJBQTJCO1FBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7UUFDcEQsS0FBSyxFQUFFLElBQUk7S0FDWjtDQUNGLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQU1ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBeUI7SUFLbEUsWUFDVSxJQUFZLEVBQ1osRUFBYyxFQUNkLDZCQUE0RCxFQUM1RCxrQkFBeUM7UUFFakQsS0FBSyxFQUFFLENBQUM7UUFMQSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGtD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b3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBEb0NoZWNrLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBOZ1pvbmUsIFZpZXdDaGlsZCwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1jb2RlLWVkaXRvci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlciB9IGZyb20gJy4vcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS1zdWdnZXN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JTdWdnZXN0aW9uU2VydmljZSB9IGZyb20gJy4vcG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi5zZXJ2aWNlJztcblxuLy8gdmFyacOhdmVpcyByZWxhY2lvbmFkYXMgYW8gTW9uYWNvXG5sZXQgbG9hZGVkTW9uYWNvOiBib29sZWFuID0gZmFsc2U7XG5sZXQgbG9hZFByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbmRlY2xhcmUgY29uc3QgbW9uYWNvOiBhbnk7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbmRlY2xhcmUgY29uc3QgcmVxdWlyZTogYW55O1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuY29uc3QgcHJvdmlkZXJzOiBBcnJheTxQcm92aWRlcj4gPSBbXG4gIHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb0NvZGVFZGl0b3JDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH1cbl07XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvQ29kZUVkaXRvckJhc2VDb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1jb2RlLWVkaXRvci1iYXNpY1wiIHRpdGxlPVwiUE8gQ29kZSBFZGl0b3IgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLWJhc2ljL3NhbXBsZS1wby1jb2RlLWVkaXRvci1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1iYXNpYy9zYW1wbGUtcG8tY29kZS1lZGl0b3ItYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tY29kZS1lZGl0b3ItbGFic1wiIHRpdGxlPVwiUE8gQ29kZSBFZGl0b3IgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItbGFicy9zYW1wbGUtcG8tY29kZS1lZGl0b3ItbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1sYWJzL3NhbXBsZS1wby1jb2RlLWVkaXRvci1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWNvZGUtZWRpdG9yLWRpZmZcIiB0aXRsZT1cIlBPIENvZGUgRWRpdG9yIC0gRGlmZlwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItZGlmZi9zYW1wbGUtcG8tY29kZS1lZGl0b3ItZGlmZi5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1kaWZmL3NhbXBsZS1wby1jb2RlLWVkaXRvci1kaWZmLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybVwiIHRpdGxlPVwiUE8gQ29kZSBFZGl0b3IgLSBUZXJyYWZvcm1cIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS9zYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS9zYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0vc2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS5jb25zdGFudC50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0vc2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS5tb2R1bGUudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uXCIgdGl0bGU9XCJQTyBDb2RlIEVkaXRvciBTdWdnZXN0aW9uXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uL3NhbXBsZS1wby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXN1Z2dlc3Rpb24vc2FtcGxlLXBvLWNvZGUtZWRpdG9yLXN1Z2dlc3Rpb24uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tY29kZS1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tY29kZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnNcbn0pXG5leHBvcnQgY2xhc3MgUG9Db2RlRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgUG9Db2RlRWRpdG9yQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIERvQ2hlY2sge1xuICBAVmlld0NoaWxkKCdlZGl0b3JDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBlZGl0b3JDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgY2FuTG9hZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBwb0NvZGVFZGl0b3JTdWdnZXN0aW9uU2VydmljZTogUG9Db2RlRWRpdG9yU3VnZ2VzdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb2RlRWRpdG9yUmVnaXN0ZXI/OiBQb0NvZGVFZGl0b3JSZWdpc3RlclxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmIChsb2FkZWRNb25hY28pIHtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBsb2FkUHJvbWlzZS50aGVuKCgpID0+IHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckN1c3RvbUxhbmd1YWdlKCk7XG4gICAgICAgICAgICB0aGlzLmluaXRNb25hY28odGhpcy5nZXRPcHRpb25zKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNhbkxvYWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9hZGVkTW9uYWNvID0gdHJ1ZTtcbiAgICAgIGxvYWRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmU6IGFueSkgPT4ge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBjb25zdCBvbkdvdEFtZExvYWRlcjogYW55ID0gKCkgPT4ge1xuICAgICAgICAgICg8YW55PndpbmRvdykucmVxdWlyZS5jb25maWcoeyBwYXRoczogeyAndnMnOiAnLi9hc3NldHMvbW9uYWNvL3ZzJyB9IH0pO1xuICAgICAgICAgICg8YW55PndpbmRvdykucmVxdWlyZShbJ3ZzL2VkaXRvci9lZGl0b3IubWFpbiddLCAoKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJDdXN0b21MYW5ndWFnZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLmdldE9wdGlvbnMoKSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYW5Mb2FkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoISg8YW55PndpbmRvdykucmVxdWlyZSkge1xuICAgICAgICAgIGNvbnN0IGxvYWRlclNjcmlwdDogSFRNTFNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgIGxvYWRlclNjcmlwdC5zcmMgPSAnLi9hc3NldHMvbW9uYWNvL3ZzL2xvYWRlci5qcyc7XG4gICAgICAgICAgbG9hZGVyU2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBvbkdvdEFtZExvYWRlcik7XG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsb2FkZXJTY3JpcHQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgaWYgKHRoaXMuY2FuTG9hZCAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJDdXN0b21MYW5ndWFnZSgpO1xuICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMuZ2V0T3B0aW9ucygpKTtcbiAgICAgIHRoaXMuY2FuTG9hZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIG1vbmFjb0NyZWF0ZU1vZGVsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbW9uYWNvLmVkaXRvci5jcmVhdGVNb2RlbCh2YWx1ZSk7XG4gIH1cblxuICBzZXRWYWx1ZUluRWRpdG9yKCkge1xuICAgIGlmICh0aGlzLnNob3dEaWZmKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICAgICAgdGhpcy5lZGl0b3Iuc2V0TW9kZWwoe1xuICAgICAgICAgICAgb3JpZ2luYWw6IHRoaXMubW9uYWNvQ3JlYXRlTW9kZWwodGhpcy52YWx1ZSksXG4gICAgICAgICAgICBtb2RpZmllZDogdGhpcy5tb25hY29DcmVhdGVNb2RlbCh0aGlzLm1vZGlmaWVkVmFsdWUpXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICAgICAgdGhpcy5lZGl0b3Iuc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldExhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5zaG93RGlmZikge1xuICAgICAgdGhpcy5zZXRNb25hY29MYW5ndWFnZSh0aGlzLmVkaXRvci5nZXRNb2RlbCgpLm9yaWdpbmFsLCBsYW5ndWFnZSk7XG4gICAgICB0aGlzLnNldE1vbmFjb0xhbmd1YWdlKHRoaXMuZWRpdG9yLmdldE1vZGVsKCkubW9kaWZpZWQsIGxhbmd1YWdlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRNb25hY29MYW5ndWFnZSh0aGlzLmVkaXRvci5nZXRNb2RlbCgpLCBsYW5ndWFnZSk7XG4gICAgfVxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgc2V0VGhlbWUodGhlbWU6IHN0cmluZykge1xuICAgIG1vbmFjby5lZGl0b3Iuc2V0VGhlbWUodGhlbWUpO1xuICB9XG5cbiAgc2V0UmVhZE9ubHkocmVhZE9ubHk6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVkaXRvci51cGRhdGVPcHRpb25zKHsgcmVhZE9ubHk6IHJlYWRPbmx5IH0pO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgc2V0U3VnZ2VzdGlvbnMobmV3U3VnZ2VzdGlvbnM6IEFycmF5PFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZVN1Z2dlc3Rpb24+LCBsYW5ndWFnZSA9IHRoaXMubGFuZ3VhZ2UpIHtcbiAgICBpZiAoIW5ld1N1Z2dlc3Rpb25zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSB0aGlzLnBvQ29kZUVkaXRvclN1Z2dlc3Rpb25TZXJ2aWNlLmdldFN1Z2dlc3Rpb24obGFuZ3VhZ2UsIG5ld1N1Z2dlc3Rpb25zKTtcblxuICAgIG1vbmFjby5sYW5ndWFnZXMucmVnaXN0ZXJDb21wbGV0aW9uSXRlbVByb3ZpZGVyKGxhbmd1YWdlLCB7XG4gICAgICBwcm92aWRlQ29tcGxldGlvbkl0ZW1zOiAoKSA9PiAoeyBzdWdnZXN0aW9ucyB9KVxuICAgIH0pO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZSkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5ID8gdmFsdWVbMF0gOiB2YWx1ZTtcbiAgICB0aGlzLm1vZGlmaWVkVmFsdWUgPSB2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIHZhbHVlLmxlbmd0aCA+IDAgPyB2YWx1ZVsxXSA6ICcnO1xuICAgIHRoaXMuc2V0VmFsdWVJbkVkaXRvcigpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBpbml0TW9uYWNvKG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3dEaWZmKSB7XG4gICAgICB0aGlzLmVkaXRvciA9IG1vbmFjby5lZGl0b3IuY3JlYXRlRGlmZkVkaXRvcih0aGlzLmVkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCBvcHRpb25zKTtcblxuICAgICAgdGhpcy5lZGl0b3Iuc2V0TW9kZWwoe1xuICAgICAgICBvcmlnaW5hbDogbW9uYWNvLmVkaXRvci5jcmVhdGVNb2RlbCh0aGlzLnZhbHVlKSxcbiAgICAgICAgbW9kaWZpZWQ6IG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5tb2RpZmllZFZhbHVlKVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuZWRpdG9yLm9uRGlkVXBkYXRlRGlmZigoZTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsID0gdGhpcy5lZGl0b3IuZ2V0TW9kZWwoKS5vcmlnaW5hbC5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zdCBtb2RpZmllZCA9IHRoaXMuZWRpdG9yLmdldE1vZGVsKCkubW9kaWZpZWQuZ2V0VmFsdWUoKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZVByb3BhZ2F0ZShbb3JpZ2luYWwsIG1vZGlmaWVkXSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZSh0aGlzLmVkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCBvcHRpb25zKTtcbiAgICAgIHRoaXMuZWRpdG9yLnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5lZGl0b3Iub25EaWRDaGFuZ2VNb2RlbENvbnRlbnQoKGU6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZWRpdG9yLmdldFZhbHVlKCk7XG4gICAgICAgIHRoaXMub25DaGFuZ2VQcm9wYWdhdGUodmFsdWUpO1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+ICh0aGlzLnZhbHVlID0gdmFsdWUpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0TGFuZ3VhZ2UodGhpcy5sYW5ndWFnZSk7XG4gICAgICB0aGlzLnNldFN1Z2dlc3Rpb25zKHRoaXMuc3VnZ2VzdGlvbnMpO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIHNldE1vbmFjb0xhbmd1YWdlKG1vZGVsLCBsYW5ndWFnZSkge1xuICAgIG1vbmFjby5lZGl0b3Iuc2V0TW9kZWxMYW5ndWFnZShtb2RlbCwgbGFuZ3VhZ2UpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlckN1c3RvbUxhbmd1YWdlKCkge1xuICAgIGlmICh0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5sYW5ndWFnZSkge1xuICAgICAgbW9uYWNvLmxhbmd1YWdlcy5yZWdpc3Rlcih7IGlkOiB0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5sYW5ndWFnZSB9KTtcblxuICAgICAgaWYgKHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLm9wdGlvbnMpIHtcbiAgICAgICAgbW9uYWNvLmxhbmd1YWdlcy5zZXRNb25hcmNoVG9rZW5zUHJvdmlkZXIodGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIubGFuZ3VhZ2UsIHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLm9wdGlvbnMpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIuc3VnZ2VzdGlvbnMpIHtcbiAgICAgICAgdGhpcy5zZXRTdWdnZXN0aW9ucyhcbiAgICAgICAgICB0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5zdWdnZXN0aW9ucy5wcm92aWRlQ29tcGxldGlvbkl0ZW1zKCkuc3VnZ2VzdGlvbnMsXG4gICAgICAgICAgdGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIubGFuZ3VhZ2VcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
1
+ import { Component, ElementRef, forwardRef, NgZone, ViewChild } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { PoCodeEditorBaseComponent } from './po-code-editor-base.component';
4
+ import { PoCodeEditorRegister } from './po-code-editor-register.service';
5
+ import { PoCodeEditorSuggestionService } from './po-code-editor-suggestion.service';
6
+ // variáveis relacionadas ao Monaco
7
+ let loadedMonaco = false;
8
+ let loadPromise;
9
+ /* istanbul ignore next */
10
+ const providers = [
11
+ {
12
+ provide: NG_VALUE_ACCESSOR,
13
+ // eslint-disable-next-line
14
+ useExisting: forwardRef(() => PoCodeEditorComponent),
15
+ multi: true
16
+ }
17
+ ];
18
+ /**
19
+ * @docsExtends PoCodeEditorBaseComponent
20
+ *
21
+ * @example
22
+ *
23
+ * <example name="po-code-editor-basic" title="PO Code Editor Basic">
24
+ * <file name="sample-po-code-editor-basic/sample-po-code-editor-basic.component.html"> </file>
25
+ * <file name="sample-po-code-editor-basic/sample-po-code-editor-basic.component.ts"> </file>
26
+ * </example>
27
+ *
28
+ * <example name="po-code-editor-labs" title="PO Code Editor Labs">
29
+ * <file name="sample-po-code-editor-labs/sample-po-code-editor-labs.component.html"> </file>
30
+ * <file name="sample-po-code-editor-labs/sample-po-code-editor-labs.component.ts"> </file>
31
+ * </example>
32
+ *
33
+ * <example name="po-code-editor-diff" title="PO Code Editor - Diff">
34
+ * <file name="sample-po-code-editor-diff/sample-po-code-editor-diff.component.html"> </file>
35
+ * <file name="sample-po-code-editor-diff/sample-po-code-editor-diff.component.ts"> </file>
36
+ * </example>
37
+ *
38
+ * <example name="po-code-editor-terraform" title="PO Code Editor - Terraform">
39
+ * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.component.html"> </file>
40
+ * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.component.ts"> </file>
41
+ * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.constant.ts"> </file>
42
+ * <file name="sample-po-code-editor-terraform/sample-po-code-editor-terraform.module.ts"> </file>
43
+ * </example>
44
+ *
45
+ * <example name="po-code-editor-suggestion" title="PO Code Editor Suggestion">
46
+ * <file name="sample-po-code-editor-suggestion/sample-po-code-editor-suggestion.component.html"> </file>
47
+ * <file name="sample-po-code-editor-suggestion/sample-po-code-editor-suggestion.component.ts"> </file>
48
+ * </example>
49
+ */
50
+ export class PoCodeEditorComponent extends PoCodeEditorBaseComponent {
51
+ constructor(zone, el, poCodeEditorSuggestionService, codeEditorRegister) {
52
+ super();
53
+ this.zone = zone;
54
+ this.el = el;
55
+ this.poCodeEditorSuggestionService = poCodeEditorSuggestionService;
56
+ this.codeEditorRegister = codeEditorRegister;
57
+ this.canLoad = false;
58
+ }
59
+ /* istanbul ignore next */
60
+ ngAfterViewInit() {
61
+ if (loadedMonaco) {
62
+ /* istanbul ignore next */
63
+ loadPromise.then(() => {
64
+ setTimeout(() => {
65
+ if (this.el.nativeElement.offsetWidth) {
66
+ this.registerCustomLanguage();
67
+ this.initMonaco(this.getOptions());
68
+ }
69
+ else {
70
+ this.canLoad = true;
71
+ }
72
+ });
73
+ });
74
+ }
75
+ else {
76
+ loadedMonaco = true;
77
+ loadPromise = new Promise((resolve) => {
78
+ /* istanbul ignore next */
79
+ const onGotAmdLoader = () => {
80
+ window.require.config({ paths: { 'vs': './assets/monaco/vs' } });
81
+ window.require(['vs/editor/editor.main'], () => {
82
+ setTimeout(() => {
83
+ if (this.el.nativeElement.offsetWidth) {
84
+ this.registerCustomLanguage();
85
+ this.initMonaco(this.getOptions());
86
+ }
87
+ else {
88
+ this.canLoad = true;
89
+ }
90
+ resolve();
91
+ });
92
+ });
93
+ };
94
+ if (!window.require) {
95
+ const loaderScript = document.createElement('script');
96
+ loaderScript.type = 'text/javascript';
97
+ loaderScript.src = './assets/monaco/vs/loader.js';
98
+ loaderScript.addEventListener('load', onGotAmdLoader);
99
+ document.body.appendChild(loaderScript);
100
+ }
101
+ });
102
+ }
103
+ }
104
+ ngDoCheck() {
105
+ if (this.canLoad && this.el.nativeElement.offsetWidth) {
106
+ this.registerCustomLanguage();
107
+ this.initMonaco(this.getOptions());
108
+ this.canLoad = false;
109
+ }
110
+ }
111
+ /* istanbul ignore next */
112
+ monacoCreateModel(value) {
113
+ return monaco.editor.createModel(value);
114
+ }
115
+ setValueInEditor() {
116
+ if (this.showDiff) {
117
+ setTimeout(() => {
118
+ if (this.editor) {
119
+ this.editor.setModel({
120
+ original: this.monacoCreateModel(this.value),
121
+ modified: this.monacoCreateModel(this.modifiedValue)
122
+ });
123
+ }
124
+ });
125
+ }
126
+ else {
127
+ setTimeout(() => {
128
+ if (this.editor) {
129
+ this.editor.setValue(this.value);
130
+ }
131
+ });
132
+ }
133
+ }
134
+ setLanguage(language) {
135
+ if (this.showDiff) {
136
+ this.setMonacoLanguage(this.editor.getModel().original, language);
137
+ this.setMonacoLanguage(this.editor.getModel().modified, language);
138
+ }
139
+ else {
140
+ this.setMonacoLanguage(this.editor.getModel(), language);
141
+ }
142
+ }
143
+ /* istanbul ignore next */
144
+ setTheme(theme) {
145
+ monaco.editor.setTheme(theme);
146
+ }
147
+ setReadOnly(readOnly) {
148
+ this.editor.updateOptions({ readOnly: readOnly });
149
+ }
150
+ /* istanbul ignore next */
151
+ setSuggestions(newSuggestions, language = this.language) {
152
+ if (!newSuggestions) {
153
+ return;
154
+ }
155
+ const suggestions = this.poCodeEditorSuggestionService.getSuggestion(language, newSuggestions);
156
+ monaco.languages.registerCompletionItemProvider(language, {
157
+ provideCompletionItems: () => ({ suggestions })
158
+ });
159
+ }
160
+ writeValue(value) {
161
+ this.value = value && value instanceof Array ? value[0] : value;
162
+ this.modifiedValue = value && value instanceof Array && value.length > 0 ? value[1] : '';
163
+ this.setValueInEditor();
164
+ }
165
+ /* istanbul ignore next */
166
+ initMonaco(options) {
167
+ if (this.showDiff) {
168
+ this.editor = monaco.editor.createDiffEditor(this.editorContainer.nativeElement, options);
169
+ this.editor.setModel({
170
+ original: monaco.editor.createModel(this.value),
171
+ modified: monaco.editor.createModel(this.modifiedValue)
172
+ });
173
+ this.editor.onDidUpdateDiff((e) => {
174
+ const original = this.editor.getModel().original.getValue();
175
+ const modified = this.editor.getModel().modified.getValue();
176
+ this.onChangePropagate([original, modified]);
177
+ });
178
+ }
179
+ else {
180
+ this.editor = monaco.editor.create(this.editorContainer.nativeElement, options);
181
+ this.editor.setValue(this.value);
182
+ this.editor.onDidChangeModelContent((e) => {
183
+ const value = this.editor.getValue();
184
+ this.onChangePropagate(value);
185
+ this.zone.run(() => (this.value = value));
186
+ });
187
+ }
188
+ setTimeout(() => {
189
+ this.setLanguage(this.language);
190
+ this.setSuggestions(this.suggestions);
191
+ }, 500);
192
+ }
193
+ /* istanbul ignore next */
194
+ setMonacoLanguage(model, language) {
195
+ monaco.editor.setModelLanguage(model, language);
196
+ }
197
+ registerCustomLanguage() {
198
+ if (this.codeEditorRegister.language) {
199
+ monaco.languages.register({ id: this.codeEditorRegister.language });
200
+ if (this.codeEditorRegister.options) {
201
+ monaco.languages.setMonarchTokensProvider(this.codeEditorRegister.language, this.codeEditorRegister.options);
202
+ }
203
+ if (this.codeEditorRegister.suggestions) {
204
+ this.setSuggestions(this.codeEditorRegister.suggestions.provideCompletionItems().suggestions, this.codeEditorRegister.language);
205
+ }
206
+ }
207
+ }
208
+ }
209
+ PoCodeEditorComponent.decorators = [
210
+ { type: Component, args: [{
211
+ selector: 'po-code-editor',
212
+ template: "<div #editorContainer [style.height]=\"height\"></div>\r\n",
213
+ providers
214
+ },] }
215
+ ];
216
+ PoCodeEditorComponent.ctorParameters = () => [
217
+ { type: NgZone },
218
+ { type: ElementRef },
219
+ { type: PoCodeEditorSuggestionService },
220
+ { type: PoCodeEditorRegister }
221
+ ];
222
+ PoCodeEditorComponent.propDecorators = {
223
+ editorContainer: [{ type: ViewChild, args: ['editorContainer', { static: true },] }]
224
+ };
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBVyxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFekUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFcEYsbUNBQW1DO0FBQ25DLElBQUksWUFBWSxHQUFZLEtBQUssQ0FBQztBQUNsQyxJQUFJLFdBQTBCLENBQUM7QUFNL0IsMEJBQTBCO0FBQzFCLE1BQU0sU0FBUyxHQUFvQjtJQUNqQztRQUNFLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsMkJBQTJCO1FBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7UUFDcEQsS0FBSyxFQUFFLElBQUk7S0FDWjtDQUNGLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQU1ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBeUI7SUFLbEUsWUFDVSxJQUFZLEVBQ1osRUFBYyxFQUNkLDZCQUE0RCxFQUM1RCxrQkFBeUM7UUFFakQsS0FBSyxFQUFFLENBQUM7UUFMQSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGtD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b3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBEb0NoZWNrLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBOZ1pvbmUsIFZpZXdDaGlsZCwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1jb2RlLWVkaXRvci1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyIH0gZnJvbSAnLi9wby1jb2RlLWVkaXRvci1yZWdpc3Rlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUtc3VnZ2VzdGlvbi5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JTdWdnZXN0aW9uU2VydmljZSB9IGZyb20gJy4vcG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi5zZXJ2aWNlJztcclxuXHJcbi8vIHZhcmnDoXZlaXMgcmVsYWNpb25hZGFzIGFvIE1vbmFjb1xyXG5sZXQgbG9hZGVkTW9uYWNvOiBib29sZWFuID0gZmFsc2U7XHJcbmxldCBsb2FkUHJvbWlzZTogUHJvbWlzZTx2b2lkPjtcclxuXHJcbmRlY2xhcmUgY29uc3QgbW9uYWNvOiBhbnk7XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG5kZWNsYXJlIGNvbnN0IHJlcXVpcmU6IGFueTtcclxuXHJcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbmNvbnN0IHByb3ZpZGVyczogQXJyYXk8UHJvdmlkZXI+ID0gW1xyXG4gIHtcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb0NvZGVFZGl0b3JDb21wb25lbnQpLFxyXG4gICAgbXVsdGk6IHRydWVcclxuICB9XHJcbl07XHJcblxyXG4vKipcclxuICogQGRvY3NFeHRlbmRzIFBvQ29kZUVkaXRvckJhc2VDb21wb25lbnRcclxuICpcclxuICogQGV4YW1wbGVcclxuICpcclxuICogPGV4YW1wbGUgbmFtZT1cInBvLWNvZGUtZWRpdG9yLWJhc2ljXCIgdGl0bGU9XCJQTyBDb2RlIEVkaXRvciBCYXNpY1wiPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1iYXNpYy9zYW1wbGUtcG8tY29kZS1lZGl0b3ItYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1iYXNpYy9zYW1wbGUtcG8tY29kZS1lZGl0b3ItYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cclxuICogPC9leGFtcGxlPlxyXG4gKlxyXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tY29kZS1lZGl0b3ItbGFic1wiIHRpdGxlPVwiUE8gQ29kZSBFZGl0b3IgTGFic1wiPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1sYWJzL3NhbXBsZS1wby1jb2RlLWVkaXRvci1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cclxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItbGFicy9zYW1wbGUtcG8tY29kZS1lZGl0b3ItbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxyXG4gKiA8L2V4YW1wbGU+XHJcbiAqXHJcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1jb2RlLWVkaXRvci1kaWZmXCIgdGl0bGU9XCJQTyBDb2RlIEVkaXRvciAtIERpZmZcIj5cclxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItZGlmZi9zYW1wbGUtcG8tY29kZS1lZGl0b3ItZGlmZi5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLWRpZmYvc2FtcGxlLXBvLWNvZGUtZWRpdG9yLWRpZmYuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cclxuICogPC9leGFtcGxlPlxyXG4gKlxyXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tY29kZS1lZGl0b3ItdGVycmFmb3JtXCIgdGl0bGU9XCJQTyBDb2RlIEVkaXRvciAtIFRlcnJhZm9ybVwiPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0vc2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS9zYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWNvZGUtZWRpdG9yLXRlcnJhZm9ybS9zYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtLmNvbnN0YW50LnRzXCI+IDwvZmlsZT5cclxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3ItdGVycmFmb3JtL3NhbXBsZS1wby1jb2RlLWVkaXRvci10ZXJyYWZvcm0ubW9kdWxlLnRzXCI+IDwvZmlsZT5cclxuICogPC9leGFtcGxlPlxyXG4gKlxyXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvblwiIHRpdGxlPVwiUE8gQ29kZSBFZGl0b3IgU3VnZ2VzdGlvblwiPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uL3NhbXBsZS1wby1jb2RlLWVkaXRvci1zdWdnZXN0aW9uLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cclxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi9zYW1wbGUtcG8tY29kZS1lZGl0b3Itc3VnZ2VzdGlvbi5jb21wb25lbnQudHNcIj4gPC9maWxlPlxyXG4gKiA8L2V4YW1wbGU+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BvLWNvZGUtZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcG8tY29kZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyc1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUG9Db2RlRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgUG9Db2RlRWRpdG9yQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIERvQ2hlY2sge1xyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvckNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIGVkaXRvckNvbnRhaW5lcjogRWxlbWVudFJlZjtcclxuXHJcbiAgY2FuTG9hZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgem9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcG9Db2RlRWRpdG9yU3VnZ2VzdGlvblNlcnZpY2U6IFBvQ29kZUVkaXRvclN1Z2dlc3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb2RlRWRpdG9yUmVnaXN0ZXI/OiBQb0NvZGVFZGl0b3JSZWdpc3RlclxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKGxvYWRlZE1vbmFjbykge1xyXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xyXG4gICAgICBsb2FkUHJvbWlzZS50aGVuKCgpID0+IHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcclxuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckN1c3RvbUxhbmd1YWdlKCk7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLmdldE9wdGlvbnMoKSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNhbkxvYWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxvYWRlZE1vbmFjbyA9IHRydWU7XHJcbiAgICAgIGxvYWRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmU6IGFueSkgPT4ge1xyXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgICAgICAgY29uc3Qgb25Hb3RBbWRMb2FkZXI6IGFueSA9ICgpID0+IHtcclxuICAgICAgICAgICg8YW55PndpbmRvdykucmVxdWlyZS5jb25maWcoeyBwYXRoczogeyAndnMnOiAnLi9hc3NldHMvbW9uYWNvL3ZzJyB9IH0pO1xyXG4gICAgICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlKFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sICgpID0+IHtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWdpc3RlckN1c3RvbUxhbmd1YWdlKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRNb25hY28odGhpcy5nZXRPcHRpb25zKCkpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhbkxvYWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKCEoPGFueT53aW5kb3cpLnJlcXVpcmUpIHtcclxuICAgICAgICAgIGNvbnN0IGxvYWRlclNjcmlwdDogSFRNTFNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgICAgICAgIGxvYWRlclNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XHJcbiAgICAgICAgICBsb2FkZXJTY3JpcHQuc3JjID0gJy4vYXNzZXRzL21vbmFjby92cy9sb2FkZXIuanMnO1xyXG4gICAgICAgICAgbG9hZGVyU2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBvbkdvdEFtZExvYWRlcik7XHJcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxvYWRlclNjcmlwdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nRG9DaGVjaygpIHtcclxuICAgIGlmICh0aGlzLmNhbkxvYWQgJiYgdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSB7XHJcbiAgICAgIHRoaXMucmVnaXN0ZXJDdXN0b21MYW5ndWFnZSgpO1xyXG4gICAgICB0aGlzLmluaXRNb25hY28odGhpcy5nZXRPcHRpb25zKCkpO1xyXG4gICAgICB0aGlzLmNhbkxvYWQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgbW9uYWNvQ3JlYXRlTW9kZWwodmFsdWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0VmFsdWVJbkVkaXRvcigpIHtcclxuICAgIGlmICh0aGlzLnNob3dEaWZmKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICAgICAgdGhpcy5lZGl0b3Iuc2V0TW9kZWwoe1xyXG4gICAgICAgICAgICBvcmlnaW5hbDogdGhpcy5tb25hY29DcmVhdGVNb2RlbCh0aGlzLnZhbHVlKSxcclxuICAgICAgICAgICAgbW9kaWZpZWQ6IHRoaXMubW9uYWNvQ3JlYXRlTW9kZWwodGhpcy5tb2RpZmllZFZhbHVlKVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICAgICAgdGhpcy5lZGl0b3Iuc2V0VmFsdWUodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldExhbmd1YWdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLnNob3dEaWZmKSB7XHJcbiAgICAgIHRoaXMuc2V0TW9uYWNvTGFuZ3VhZ2UodGhpcy5lZGl0b3IuZ2V0TW9kZWwoKS5vcmlnaW5hbCwgbGFuZ3VhZ2UpO1xyXG4gICAgICB0aGlzLnNldE1vbmFjb0xhbmd1YWdlKHRoaXMuZWRpdG9yLmdldE1vZGVsKCkubW9kaWZpZWQsIGxhbmd1YWdlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0TW9uYWNvTGFuZ3VhZ2UodGhpcy5lZGl0b3IuZ2V0TW9kZWwoKSwgbGFuZ3VhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuICBzZXRUaGVtZSh0aGVtZTogc3RyaW5nKSB7XHJcbiAgICBtb25hY28uZWRpdG9yLnNldFRoZW1lKHRoZW1lKTtcclxuICB9XHJcblxyXG4gIHNldFJlYWRPbmx5KHJlYWRPbmx5OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmVkaXRvci51cGRhdGVPcHRpb25zKHsgcmVhZE9ubHk6IHJlYWRPbmx5IH0pO1xyXG4gIH1cclxuXHJcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuICBzZXRTdWdnZXN0aW9ucyhuZXdTdWdnZXN0aW9uczogQXJyYXk8UG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvbj4sIGxhbmd1YWdlID0gdGhpcy5sYW5ndWFnZSkge1xyXG4gICAgaWYgKCFuZXdTdWdnZXN0aW9ucykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSB0aGlzLnBvQ29kZUVkaXRvclN1Z2dlc3Rpb25TZXJ2aWNlLmdldFN1Z2dlc3Rpb24obGFuZ3VhZ2UsIG5ld1N1Z2dlc3Rpb25zKTtcclxuXHJcbiAgICBtb25hY28ubGFuZ3VhZ2VzLnJlZ2lzdGVyQ29tcGxldGlvbkl0ZW1Qcm92aWRlcihsYW5ndWFnZSwge1xyXG4gICAgICBwcm92aWRlQ29tcGxldGlvbkl0ZW1zOiAoKSA9PiAoeyBzdWdnZXN0aW9ucyB9KVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgJiYgdmFsdWUgaW5zdGFuY2VvZiBBcnJheSA/IHZhbHVlWzBdIDogdmFsdWU7XHJcbiAgICB0aGlzLm1vZGlmaWVkVmFsdWUgPSB2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIHZhbHVlLmxlbmd0aCA+IDAgPyB2YWx1ZVsxXSA6ICcnO1xyXG4gICAgdGhpcy5zZXRWYWx1ZUluRWRpdG9yKCk7XHJcbiAgfVxyXG5cclxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xyXG4gIHByaXZhdGUgaW5pdE1vbmFjbyhvcHRpb25zOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNob3dEaWZmKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGVEaWZmRWRpdG9yKHRoaXMuZWRpdG9yQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIG9wdGlvbnMpO1xyXG5cclxuICAgICAgdGhpcy5lZGl0b3Iuc2V0TW9kZWwoe1xyXG4gICAgICAgIG9yaWdpbmFsOiBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMudmFsdWUpLFxyXG4gICAgICAgIG1vZGlmaWVkOiBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMubW9kaWZpZWRWYWx1ZSlcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLmVkaXRvci5vbkRpZFVwZGF0ZURpZmYoKGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsID0gdGhpcy5lZGl0b3IuZ2V0TW9kZWwoKS5vcmlnaW5hbC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgIGNvbnN0IG1vZGlmaWVkID0gdGhpcy5lZGl0b3IuZ2V0TW9kZWwoKS5tb2RpZmllZC5nZXRWYWx1ZSgpO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VQcm9wYWdhdGUoW29yaWdpbmFsLCBtb2RpZmllZF0pO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUodGhpcy5lZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XHJcbiAgICAgIHRoaXMuZWRpdG9yLnNldFZhbHVlKHRoaXMudmFsdWUpO1xyXG4gICAgICB0aGlzLmVkaXRvci5vbkRpZENoYW5nZU1vZGVsQ29udGVudCgoZTogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmVkaXRvci5nZXRWYWx1ZSgpO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VQcm9wYWdhdGUodmFsdWUpO1xyXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4gKHRoaXMudmFsdWUgPSB2YWx1ZSkpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldExhbmd1YWdlKHRoaXMubGFuZ3VhZ2UpO1xyXG4gICAgICB0aGlzLnNldFN1Z2dlc3Rpb25zKHRoaXMuc3VnZ2VzdGlvbnMpO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcblxyXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgcHJpdmF0ZSBzZXRNb25hY29MYW5ndWFnZShtb2RlbCwgbGFuZ3VhZ2UpIHtcclxuICAgIG1vbmFjby5lZGl0b3Iuc2V0TW9kZWxMYW5ndWFnZShtb2RlbCwgbGFuZ3VhZ2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWdpc3RlckN1c3RvbUxhbmd1YWdlKCkge1xyXG4gICAgaWYgKHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLmxhbmd1YWdlKSB7XHJcbiAgICAgIG1vbmFjby5sYW5ndWFnZXMucmVnaXN0ZXIoeyBpZDogdGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIubGFuZ3VhZ2UgfSk7XHJcblxyXG4gICAgICBpZiAodGhpcy5jb2RlRWRpdG9yUmVnaXN0ZXIub3B0aW9ucykge1xyXG4gICAgICAgIG1vbmFjby5sYW5ndWFnZXMuc2V0TW9uYXJjaFRva2Vuc1Byb3ZpZGVyKHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLmxhbmd1YWdlLCB0aGlzLmNvZGVFZGl0b3JSZWdpc3Rlci5vcHRpb25zKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLnN1Z2dlc3Rpb25zKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdWdnZXN0aW9ucyhcclxuICAgICAgICAgIHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLnN1Z2dlc3Rpb25zLnByb3ZpZGVDb21wbGV0aW9uSXRlbXMoKS5zdWdnZXN0aW9ucyxcclxuICAgICAgICAgIHRoaXMuY29kZUVkaXRvclJlZ2lzdGVyLmxhbmd1YWdlXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,31 +1,31 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { PoCodeEditorComponent } from './po-code-editor.component';
4
- import { PoCodeEditorRegister } from './po-code-editor-register.service';
5
- /**
6
- * @description
7
- *
8
- * Módulo do componente po-code-editor.
9
- */
10
- export class PoCodeEditorModule {
11
- static forRegister(props) {
12
- return {
13
- ngModule: PoCodeEditorModule,
14
- providers: [
15
- {
16
- provide: PoCodeEditorRegister,
17
- useValue: props
18
- }
19
- ]
20
- };
21
- }
22
- }
23
- PoCodeEditorModule.decorators = [
24
- { type: NgModule, args: [{
25
- imports: [CommonModule],
26
- declarations: [PoCodeEditorComponent],
27
- exports: [PoCodeEditorComponent],
28
- providers: [PoCodeEditorRegister]
29
- },] }
30
- ];
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHekU7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUErQjtRQUNoRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLG9CQUFvQjtvQkFDN0IsUUFBUSxFQUFFLEtBQUs7aUJBQ2hCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBakJGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNyQyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDaEMsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgUG9Db2RlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9wby1jb2RlLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXIgfSBmcm9tICcuL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIE3Ds2R1bG8gZG8gY29tcG9uZW50ZSBwby1jb2RlLWVkaXRvci5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1BvQ29kZUVkaXRvckNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtQb0NvZGVFZGl0b3JDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtQb0NvZGVFZGl0b3JSZWdpc3Rlcl1cbn0pXG5leHBvcnQgY2xhc3MgUG9Db2RlRWRpdG9yTW9kdWxlIHtcbiAgc3RhdGljIGZvclJlZ2lzdGVyKHByb3BzOiBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGUpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFBvQ29kZUVkaXRvck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUG9Db2RlRWRpdG9yTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBQb0NvZGVFZGl0b3JSZWdpc3RlcixcbiAgICAgICAgICB1c2VWYWx1ZTogcHJvcHNcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { PoCodeEditorComponent } from './po-code-editor.component';
4
+ import { PoCodeEditorRegister } from './po-code-editor-register.service';
5
+ /**
6
+ * @description
7
+ *
8
+ * Módulo do componente po-code-editor.
9
+ */
10
+ export class PoCodeEditorModule {
11
+ static forRegister(props) {
12
+ return {
13
+ ngModule: PoCodeEditorModule,
14
+ providers: [
15
+ {
16
+ provide: PoCodeEditorRegister,
17
+ useValue: props
18
+ }
19
+ ]
20
+ };
21
+ }
22
+ }
23
+ PoCodeEditorModule.decorators = [
24
+ { type: NgModule, args: [{
25
+ imports: [CommonModule],
26
+ declarations: [PoCodeEditorComponent],
27
+ exports: [PoCodeEditorComponent],
28
+ providers: [PoCodeEditorRegister]
29
+ },] }
30
+ ];
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tY29kZS1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kZS1lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHekU7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUErQjtRQUNoRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLG9CQUFvQjtvQkFDN0IsUUFBUSxFQUFFLEtBQUs7aUJBQ2hCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBakJGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNyQyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDaEMsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgUG9Db2RlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9wby1jb2RlLWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlciB9IGZyb20gJy4vcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUuaW50ZXJmYWNlJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICpcclxuICogTcOzZHVsbyBkbyBjb21wb25lbnRlIHBvLWNvZGUtZWRpdG9yLlxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBkZWNsYXJhdGlvbnM6IFtQb0NvZGVFZGl0b3JDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtQb0NvZGVFZGl0b3JDb21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW1BvQ29kZUVkaXRvclJlZ2lzdGVyXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUG9Db2RlRWRpdG9yTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUmVnaXN0ZXIocHJvcHM6IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8UG9Db2RlRWRpdG9yTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogUG9Db2RlRWRpdG9yTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBQb0NvZGVFZGl0b3JSZWdpc3RlcixcclxuICAgICAgICAgIHVzZVZhbHVlOiBwcm9wc1xyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,4 +1,4 @@
1
- export { PoCodeEditorComponent } from './components/po-code-editor/po-code-editor.component';
2
- export { PoCodeEditorRegister } from './components/po-code-editor/po-code-editor-register.service';
3
- export { PoCodeEditorModule } from './components/po-code-editor/po-code-editor.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2RlLWVkaXRvci9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBRTdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBT25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgUG9Db2RlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGUgfSBmcm9tICcuL2NvbXBvbmVudHMvcG8tY29kZS1lZGl0b3IvaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUuaW50ZXJmYWNlJztcbmV4cG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZU9wdGlvbnMgfSBmcm9tICcuL2NvbXBvbmVudHMvcG8tY29kZS1lZGl0b3IvaW50ZXJmYWNlcy9wby1jb2RlLWVkaXRvci1yZWdpc3RlcmFibGUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlVG9rZW5zIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLXRva2Vucy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlU3VnZ2VzdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS1zdWdnZXN0aW9uLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7IFBvQ29kZUVkaXRvck1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9wby1jb2RlLWVkaXRvci5tb2R1bGUnO1xuIl19
1
+ export { PoCodeEditorComponent } from './components/po-code-editor/po-code-editor.component';
2
+ export { PoCodeEditorRegister } from './components/po-code-editor/po-code-editor-register.service';
3
+ export { PoCodeEditorModule } from './components/po-code-editor/po-code-editor.module';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2RlLWVkaXRvci9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBRTdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBT25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgUG9Db2RlRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL3BvLWNvZGUtZWRpdG9yLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlciB9IGZyb20gJy4vY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9wby1jb2RlLWVkaXRvci1yZWdpc3Rlci5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB7IFBvQ29kZUVkaXRvclJlZ2lzdGVyYWJsZSB9IGZyb20gJy4vY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9pbnRlcmZhY2VzL3BvLWNvZGUtZWRpdG9yLXJlZ2lzdGVyYWJsZS5pbnRlcmZhY2UnO1xyXG5leHBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVPcHRpb25zIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLW9wdGlvbnMuaW50ZXJmYWNlJztcclxuZXhwb3J0IHsgUG9Db2RlRWRpdG9yUmVnaXN0ZXJhYmxlVG9rZW5zIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLXRva2Vucy5pbnRlcmZhY2UnO1xyXG5leHBvcnQgeyBQb0NvZGVFZGl0b3JSZWdpc3RlcmFibGVTdWdnZXN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvLWNvZGUtZWRpdG9yL2ludGVyZmFjZXMvcG8tY29kZS1lZGl0b3ItcmVnaXN0ZXJhYmxlLXN1Z2dlc3Rpb24uaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCB7IFBvQ29kZUVkaXRvck1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9wby1jb2RlLWVkaXRvci9wby1jb2RlLWVkaXRvci5tb2R1bGUnO1xyXG4iXX0=