postcss 6.0.22 → 7.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of postcss might be problematic. Click here for more details.

package/lib/stringify.js CHANGED
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = stringify;
5
4
 
6
5
  var _stringifier = require('./stringifier');
7
6
 
@@ -10,8 +9,10 @@ var _stringifier2 = _interopRequireDefault(_stringifier);
10
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
10
 
12
11
  function stringify(node, builder) {
13
- var str = new _stringifier2.default(builder);
14
- str.stringify(node);
12
+ var str = new _stringifier2.default(builder);
13
+ str.stringify(node);
15
14
  }
15
+
16
+ exports.default = stringify;
16
17
  module.exports = exports['default'];
17
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0cmluZ2lmeS5lczYiXSwibmFtZXMiOlsic3RyaW5naWZ5Iiwibm9kZSIsImJ1aWxkZXIiLCJzdHIiLCJTdHJpbmdpZmllciJdLCJtYXBwaW5ncyI6Ijs7O2tCQUV3QkEsUzs7QUFGeEI7Ozs7OztBQUVlLFNBQVNBLFNBQVQsQ0FBbUJDLElBQW5CLEVBQXlCQyxPQUF6QixFQUFrQztBQUM3QyxRQUFJQyxNQUFNLElBQUlDLHFCQUFKLENBQWdCRixPQUFoQixDQUFWO0FBQ0FDLFFBQUlILFNBQUosQ0FBY0MsSUFBZDtBQUNIIiwiZmlsZSI6InN0cmluZ2lmeS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTdHJpbmdpZmllciBmcm9tICcuL3N0cmluZ2lmaWVyJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc3RyaW5naWZ5KG5vZGUsIGJ1aWxkZXIpIHtcbiAgICBsZXQgc3RyID0gbmV3IFN0cmluZ2lmaWVyKGJ1aWxkZXIpO1xuICAgIHN0ci5zdHJpbmdpZnkobm9kZSk7XG59XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0cmluZ2lmeS5lczYiXSwibmFtZXMiOlsic3RyaW5naWZ5Iiwibm9kZSIsImJ1aWxkZXIiLCJzdHIiLCJTdHJpbmdpZmllciJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOzs7Ozs7QUFFQSxTQUFTQSxTQUFULENBQW9CQyxJQUFwQixFQUEwQkMsT0FBMUIsRUFBbUM7QUFDakMsTUFBSUMsTUFBTSxJQUFJQyxxQkFBSixDQUFnQkYsT0FBaEIsQ0FBVjtBQUNBQyxNQUFJSCxTQUFKLENBQWNDLElBQWQ7QUFDRDs7a0JBRWNELFMiLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0cmluZ2lmaWVyIGZyb20gJy4vc3RyaW5naWZpZXInXG5cbmZ1bmN0aW9uIHN0cmluZ2lmeSAobm9kZSwgYnVpbGRlcikge1xuICBsZXQgc3RyID0gbmV3IFN0cmluZ2lmaWVyKGJ1aWxkZXIpXG4gIHN0ci5zdHJpbmdpZnkobm9kZSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgc3RyaW5naWZ5XG4iXX0=
@@ -17,67 +17,67 @@ var _input2 = _interopRequireDefault(_input);
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
 
19
19
  var HIGHLIGHT_THEME = {
20
- 'brackets': _chalk2.default.cyan,
21
- 'at-word': _chalk2.default.cyan,
22
- 'call': _chalk2.default.cyan,
23
- 'comment': _chalk2.default.gray,
24
- 'string': _chalk2.default.green,
25
- 'class': _chalk2.default.yellow,
26
- 'hash': _chalk2.default.magenta,
27
- '(': _chalk2.default.cyan,
28
- ')': _chalk2.default.cyan,
29
- '{': _chalk2.default.yellow,
30
- '}': _chalk2.default.yellow,
31
- '[': _chalk2.default.yellow,
32
- ']': _chalk2.default.yellow,
33
- ':': _chalk2.default.yellow,
34
- ';': _chalk2.default.yellow
20
+ 'brackets': _chalk2.default.cyan,
21
+ 'at-word': _chalk2.default.cyan,
22
+ 'comment': _chalk2.default.gray,
23
+ 'string': _chalk2.default.green,
24
+ 'class': _chalk2.default.yellow,
25
+ 'call': _chalk2.default.cyan,
26
+ 'hash': _chalk2.default.magenta,
27
+ '(': _chalk2.default.cyan,
28
+ ')': _chalk2.default.cyan,
29
+ '{': _chalk2.default.yellow,
30
+ '}': _chalk2.default.yellow,
31
+ '[': _chalk2.default.yellow,
32
+ ']': _chalk2.default.yellow,
33
+ ':': _chalk2.default.yellow,
34
+ ';': _chalk2.default.yellow
35
35
  };
36
36
 
37
37
  function getTokenType(_ref, processor) {
38
- var type = _ref[0],
39
- value = _ref[1];
40
-
41
- if (type === 'word') {
42
- if (value[0] === '.') {
43
- return 'class';
44
- }
45
- if (value[0] === '#') {
46
- return 'hash';
47
- }
48
- }
38
+ var type = _ref[0],
39
+ value = _ref[1];
49
40
 
50
- if (!processor.endOfFile()) {
51
- var next = processor.nextToken();
52
- processor.back(next);
53
- if (next[0] === 'brackets' || next[0] === '(') return 'call';
41
+ if (type === 'word') {
42
+ if (value[0] === '.') {
43
+ return 'class';
44
+ }
45
+ if (value[0] === '#') {
46
+ return 'hash';
54
47
  }
48
+ }
55
49
 
56
- return type;
50
+ if (!processor.endOfFile()) {
51
+ var next = processor.nextToken();
52
+ processor.back(next);
53
+ if (next[0] === 'brackets' || next[0] === '(') return 'call';
54
+ }
55
+
56
+ return type;
57
57
  }
58
58
 
59
59
  function terminalHighlight(css) {
60
- var processor = (0, _tokenize2.default)(new _input2.default(css), { ignoreErrors: true });
61
- var result = '';
62
-
63
- var _loop = function _loop() {
64
- var token = processor.nextToken();
65
- var color = HIGHLIGHT_THEME[getTokenType(token, processor)];
66
- if (color) {
67
- result += token[1].split(/\r?\n/).map(function (i) {
68
- return color(i);
69
- }).join('\n');
70
- } else {
71
- result += token[1];
72
- }
73
- };
74
-
75
- while (!processor.endOfFile()) {
76
- _loop();
60
+ var processor = (0, _tokenize2.default)(new _input2.default(css), { ignoreErrors: true });
61
+ var result = '';
62
+
63
+ var _loop = function _loop() {
64
+ var token = processor.nextToken();
65
+ var color = HIGHLIGHT_THEME[getTokenType(token, processor)];
66
+ if (color) {
67
+ result += token[1].split(/\r?\n/).map(function (i) {
68
+ return color(i);
69
+ }).join('\n');
70
+ } else {
71
+ result += token[1];
77
72
  }
78
- return result;
73
+ };
74
+
75
+ while (!processor.endOfFile()) {
76
+ _loop();
77
+ }
78
+ return result;
79
79
  }
80
80
 
81
81
  exports.default = terminalHighlight;
82
82
  module.exports = exports['default'];
83
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlcm1pbmFsLWhpZ2hsaWdodC5lczYiXSwibmFtZXMiOlsiSElHSExJR0hUX1RIRU1FIiwiY2hhbGsiLCJjeWFuIiwiZ3JheSIsImdyZWVuIiwieWVsbG93IiwibWFnZW50YSIsImdldFRva2VuVHlwZSIsInByb2Nlc3NvciIsInR5cGUiLCJ2YWx1ZSIsImVuZE9mRmlsZSIsIm5leHQiLCJuZXh0VG9rZW4iLCJiYWNrIiwidGVybWluYWxIaWdobGlnaHQiLCJjc3MiLCJJbnB1dCIsImlnbm9yZUVycm9ycyIsInJlc3VsdCIsInRva2VuIiwiY29sb3IiLCJzcGxpdCIsIm1hcCIsImkiLCJqb2luIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7Ozs7QUFFQTs7OztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxrQkFBa0I7QUFDcEIsZ0JBQVlDLGdCQUFNQyxJQURFO0FBRXBCLGVBQVlELGdCQUFNQyxJQUZFO0FBR3BCLFlBQVlELGdCQUFNQyxJQUhFO0FBSXBCLGVBQVlELGdCQUFNRSxJQUpFO0FBS3BCLGNBQVlGLGdCQUFNRyxLQUxFO0FBTXBCLGFBQVlILGdCQUFNSSxNQU5FO0FBT3BCLFlBQVlKLGdCQUFNSyxPQVBFO0FBUXBCLFNBQVlMLGdCQUFNQyxJQVJFO0FBU3BCLFNBQVlELGdCQUFNQyxJQVRFO0FBVXBCLFNBQVlELGdCQUFNSSxNQVZFO0FBV3BCLFNBQVlKLGdCQUFNSSxNQVhFO0FBWXBCLFNBQVlKLGdCQUFNSSxNQVpFO0FBYXBCLFNBQVlKLGdCQUFNSSxNQWJFO0FBY3BCLFNBQVlKLGdCQUFNSSxNQWRFO0FBZXBCLFNBQVlKLGdCQUFNSTtBQWZFLENBQXhCOztBQWtCQSxTQUFTRSxZQUFULE9BQXFDQyxTQUFyQyxFQUFnRDtBQUFBLFFBQXpCQyxJQUF5QjtBQUFBLFFBQW5CQyxLQUFtQjs7QUFDNUMsUUFBS0QsU0FBUyxNQUFkLEVBQXVCO0FBQ25CLFlBQUtDLE1BQU0sQ0FBTixNQUFhLEdBQWxCLEVBQXdCO0FBQ3BCLG1CQUFPLE9BQVA7QUFDSDtBQUNELFlBQUtBLE1BQU0sQ0FBTixNQUFhLEdBQWxCLEVBQXdCO0FBQ3BCLG1CQUFPLE1BQVA7QUFDSDtBQUNKOztBQUVELFFBQUssQ0FBQ0YsVUFBVUcsU0FBVixFQUFOLEVBQThCO0FBQzFCLFlBQUlDLE9BQU9KLFVBQVVLLFNBQVYsRUFBWDtBQUNBTCxrQkFBVU0sSUFBVixDQUFlRixJQUFmO0FBQ0EsWUFBS0EsS0FBSyxDQUFMLE1BQVksVUFBWixJQUEwQkEsS0FBSyxDQUFMLE1BQVksR0FBM0MsRUFBaUQsT0FBTyxNQUFQO0FBQ3BEOztBQUVELFdBQU9ILElBQVA7QUFDSDs7QUFFRCxTQUFTTSxpQkFBVCxDQUEyQkMsR0FBM0IsRUFBZ0M7QUFDNUIsUUFBSVIsWUFBWSx3QkFBVSxJQUFJUyxlQUFKLENBQVVELEdBQVYsQ0FBVixFQUEwQixFQUFFRSxjQUFjLElBQWhCLEVBQTFCLENBQWhCO0FBQ0EsUUFBSUMsU0FBUyxFQUFiOztBQUY0QjtBQUl4QixZQUFJQyxRQUFRWixVQUFVSyxTQUFWLEVBQVo7QUFDQSxZQUFJUSxRQUFRckIsZ0JBQWdCTyxhQUFhYSxLQUFiLEVBQW9CWixTQUFwQixDQUFoQixDQUFaO0FBQ0EsWUFBS2EsS0FBTCxFQUFhO0FBQ1RGLHNCQUFVQyxNQUFNLENBQU4sRUFBU0UsS0FBVCxDQUFlLE9BQWYsRUFDTEMsR0FESyxDQUNBO0FBQUEsdUJBQUtGLE1BQU1HLENBQU4sQ0FBTDtBQUFBLGFBREEsRUFFTEMsSUFGSyxDQUVBLElBRkEsQ0FBVjtBQUdILFNBSkQsTUFJTztBQUNITixzQkFBVUMsTUFBTSxDQUFOLENBQVY7QUFDSDtBQVp1Qjs7QUFHNUIsV0FBUSxDQUFDWixVQUFVRyxTQUFWLEVBQVQsRUFBaUM7QUFBQTtBQVVoQztBQUNELFdBQU9RLE1BQVA7QUFDSDs7a0JBRWNKLGlCIiwiZmlsZSI6InRlcm1pbmFsLWhpZ2hsaWdodC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjaGFsayBmcm9tICdjaGFsayc7XG5cbmltcG9ydCB0b2tlbml6ZXIgZnJvbSAnLi90b2tlbml6ZSc7XG5pbXBvcnQgSW5wdXQgICAgZnJvbSAnLi9pbnB1dCc7XG5cbmNvbnN0IEhJR0hMSUdIVF9USEVNRSA9IHtcbiAgICAnYnJhY2tldHMnOiBjaGFsay5jeWFuLFxuICAgICdhdC13b3JkJzogIGNoYWxrLmN5YW4sXG4gICAgJ2NhbGwnOiAgICAgY2hhbGsuY3lhbixcbiAgICAnY29tbWVudCc6ICBjaGFsay5ncmF5LFxuICAgICdzdHJpbmcnOiAgIGNoYWxrLmdyZWVuLFxuICAgICdjbGFzcyc6ICAgIGNoYWxrLnllbGxvdyxcbiAgICAnaGFzaCc6ICAgICBjaGFsay5tYWdlbnRhLFxuICAgICcoJzogICAgICAgIGNoYWxrLmN5YW4sXG4gICAgJyknOiAgICAgICAgY2hhbGsuY3lhbixcbiAgICAneyc6ICAgICAgICBjaGFsay55ZWxsb3csXG4gICAgJ30nOiAgICAgICAgY2hhbGsueWVsbG93LFxuICAgICdbJzogICAgICAgIGNoYWxrLnllbGxvdyxcbiAgICAnXSc6ICAgICAgICBjaGFsay55ZWxsb3csXG4gICAgJzonOiAgICAgICAgY2hhbGsueWVsbG93LFxuICAgICc7JzogICAgICAgIGNoYWxrLnllbGxvd1xufTtcblxuZnVuY3Rpb24gZ2V0VG9rZW5UeXBlKFt0eXBlLCB2YWx1ZV0sIHByb2Nlc3Nvcikge1xuICAgIGlmICggdHlwZSA9PT0gJ3dvcmQnICkge1xuICAgICAgICBpZiAoIHZhbHVlWzBdID09PSAnLicgKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2NsYXNzJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIHZhbHVlWzBdID09PSAnIycgKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2hhc2gnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCAhcHJvY2Vzc29yLmVuZE9mRmlsZSgpICkge1xuICAgICAgICBsZXQgbmV4dCA9IHByb2Nlc3Nvci5uZXh0VG9rZW4oKTtcbiAgICAgICAgcHJvY2Vzc29yLmJhY2sobmV4dCk7XG4gICAgICAgIGlmICggbmV4dFswXSA9PT0gJ2JyYWNrZXRzJyB8fCBuZXh0WzBdID09PSAnKCcgKSByZXR1cm4gJ2NhbGwnO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlO1xufVxuXG5mdW5jdGlvbiB0ZXJtaW5hbEhpZ2hsaWdodChjc3MpIHtcbiAgICBsZXQgcHJvY2Vzc29yID0gdG9rZW5pemVyKG5ldyBJbnB1dChjc3MpLCB7IGlnbm9yZUVycm9yczogdHJ1ZSB9KTtcbiAgICBsZXQgcmVzdWx0ID0gJyc7XG4gICAgd2hpbGUgKCAhcHJvY2Vzc29yLmVuZE9mRmlsZSgpICkge1xuICAgICAgICBsZXQgdG9rZW4gPSBwcm9jZXNzb3IubmV4dFRva2VuKCk7XG4gICAgICAgIGxldCBjb2xvciA9IEhJR0hMSUdIVF9USEVNRVtnZXRUb2tlblR5cGUodG9rZW4sIHByb2Nlc3NvcildO1xuICAgICAgICBpZiAoIGNvbG9yICkge1xuICAgICAgICAgICAgcmVzdWx0ICs9IHRva2VuWzFdLnNwbGl0KC9cXHI/XFxuLylcbiAgICAgICAgICAgICAgICAubWFwKCBpID0+IGNvbG9yKGkpIClcbiAgICAgICAgICAgICAgICAuam9pbignXFxuJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gdG9rZW5bMV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgdGVybWluYWxIaWdobGlnaHQ7XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlcm1pbmFsLWhpZ2hsaWdodC5lczYiXSwibmFtZXMiOlsiSElHSExJR0hUX1RIRU1FIiwiY2hhbGsiLCJjeWFuIiwiZ3JheSIsImdyZWVuIiwieWVsbG93IiwibWFnZW50YSIsImdldFRva2VuVHlwZSIsInByb2Nlc3NvciIsInR5cGUiLCJ2YWx1ZSIsImVuZE9mRmlsZSIsIm5leHQiLCJuZXh0VG9rZW4iLCJiYWNrIiwidGVybWluYWxIaWdobGlnaHQiLCJjc3MiLCJJbnB1dCIsImlnbm9yZUVycm9ycyIsInJlc3VsdCIsInRva2VuIiwiY29sb3IiLCJzcGxpdCIsIm1hcCIsImkiLCJqb2luIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7Ozs7QUFFQTs7OztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxrQkFBa0I7QUFDdEIsY0FBWUMsZ0JBQU1DLElBREk7QUFFdEIsYUFBV0QsZ0JBQU1DLElBRks7QUFHdEIsYUFBV0QsZ0JBQU1FLElBSEs7QUFJdEIsWUFBVUYsZ0JBQU1HLEtBSk07QUFLdEIsV0FBU0gsZ0JBQU1JLE1BTE87QUFNdEIsVUFBUUosZ0JBQU1DLElBTlE7QUFPdEIsVUFBUUQsZ0JBQU1LLE9BUFE7QUFRdEIsT0FBS0wsZ0JBQU1DLElBUlc7QUFTdEIsT0FBS0QsZ0JBQU1DLElBVFc7QUFVdEIsT0FBS0QsZ0JBQU1JLE1BVlc7QUFXdEIsT0FBS0osZ0JBQU1JLE1BWFc7QUFZdEIsT0FBS0osZ0JBQU1JLE1BWlc7QUFhdEIsT0FBS0osZ0JBQU1JLE1BYlc7QUFjdEIsT0FBS0osZ0JBQU1JLE1BZFc7QUFldEIsT0FBS0osZ0JBQU1JO0FBZlcsQ0FBeEI7O0FBa0JBLFNBQVNFLFlBQVQsT0FBc0NDLFNBQXRDLEVBQWlEO0FBQUEsTUFBekJDLElBQXlCO0FBQUEsTUFBbkJDLEtBQW1COztBQUMvQyxNQUFJRCxTQUFTLE1BQWIsRUFBcUI7QUFDbkIsUUFBSUMsTUFBTSxDQUFOLE1BQWEsR0FBakIsRUFBc0I7QUFDcEIsYUFBTyxPQUFQO0FBQ0Q7QUFDRCxRQUFJQSxNQUFNLENBQU4sTUFBYSxHQUFqQixFQUFzQjtBQUNwQixhQUFPLE1BQVA7QUFDRDtBQUNGOztBQUVELE1BQUksQ0FBQ0YsVUFBVUcsU0FBVixFQUFMLEVBQTRCO0FBQzFCLFFBQUlDLE9BQU9KLFVBQVVLLFNBQVYsRUFBWDtBQUNBTCxjQUFVTSxJQUFWLENBQWVGLElBQWY7QUFDQSxRQUFJQSxLQUFLLENBQUwsTUFBWSxVQUFaLElBQTBCQSxLQUFLLENBQUwsTUFBWSxHQUExQyxFQUErQyxPQUFPLE1BQVA7QUFDaEQ7O0FBRUQsU0FBT0gsSUFBUDtBQUNEOztBQUVELFNBQVNNLGlCQUFULENBQTRCQyxHQUE1QixFQUFpQztBQUMvQixNQUFJUixZQUFZLHdCQUFVLElBQUlTLGVBQUosQ0FBVUQsR0FBVixDQUFWLEVBQTBCLEVBQUVFLGNBQWMsSUFBaEIsRUFBMUIsQ0FBaEI7QUFDQSxNQUFJQyxTQUFTLEVBQWI7O0FBRitCO0FBSTdCLFFBQUlDLFFBQVFaLFVBQVVLLFNBQVYsRUFBWjtBQUNBLFFBQUlRLFFBQVFyQixnQkFBZ0JPLGFBQWFhLEtBQWIsRUFBb0JaLFNBQXBCLENBQWhCLENBQVo7QUFDQSxRQUFJYSxLQUFKLEVBQVc7QUFDVEYsZ0JBQVVDLE1BQU0sQ0FBTixFQUFTRSxLQUFULENBQWUsT0FBZixFQUNQQyxHQURPLENBQ0g7QUFBQSxlQUFLRixNQUFNRyxDQUFOLENBQUw7QUFBQSxPQURHLEVBRVBDLElBRk8sQ0FFRixJQUZFLENBQVY7QUFHRCxLQUpELE1BSU87QUFDTE4sZ0JBQVVDLE1BQU0sQ0FBTixDQUFWO0FBQ0Q7QUFaNEI7O0FBRy9CLFNBQU8sQ0FBQ1osVUFBVUcsU0FBVixFQUFSLEVBQStCO0FBQUE7QUFVOUI7QUFDRCxTQUFPUSxNQUFQO0FBQ0Q7O2tCQUVjSixpQiIsImZpbGUiOiJ0ZXJtaW5hbC1oaWdobGlnaHQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hhbGsgZnJvbSAnY2hhbGsnXG5cbmltcG9ydCB0b2tlbml6ZXIgZnJvbSAnLi90b2tlbml6ZSdcbmltcG9ydCBJbnB1dCBmcm9tICcuL2lucHV0J1xuXG5jb25zdCBISUdITElHSFRfVEhFTUUgPSB7XG4gICdicmFja2V0cyc6IGNoYWxrLmN5YW4sXG4gICdhdC13b3JkJzogY2hhbGsuY3lhbixcbiAgJ2NvbW1lbnQnOiBjaGFsay5ncmF5LFxuICAnc3RyaW5nJzogY2hhbGsuZ3JlZW4sXG4gICdjbGFzcyc6IGNoYWxrLnllbGxvdyxcbiAgJ2NhbGwnOiBjaGFsay5jeWFuLFxuICAnaGFzaCc6IGNoYWxrLm1hZ2VudGEsXG4gICcoJzogY2hhbGsuY3lhbixcbiAgJyknOiBjaGFsay5jeWFuLFxuICAneyc6IGNoYWxrLnllbGxvdyxcbiAgJ30nOiBjaGFsay55ZWxsb3csXG4gICdbJzogY2hhbGsueWVsbG93LFxuICAnXSc6IGNoYWxrLnllbGxvdyxcbiAgJzonOiBjaGFsay55ZWxsb3csXG4gICc7JzogY2hhbGsueWVsbG93XG59XG5cbmZ1bmN0aW9uIGdldFRva2VuVHlwZSAoW3R5cGUsIHZhbHVlXSwgcHJvY2Vzc29yKSB7XG4gIGlmICh0eXBlID09PSAnd29yZCcpIHtcbiAgICBpZiAodmFsdWVbMF0gPT09ICcuJykge1xuICAgICAgcmV0dXJuICdjbGFzcydcbiAgICB9XG4gICAgaWYgKHZhbHVlWzBdID09PSAnIycpIHtcbiAgICAgIHJldHVybiAnaGFzaCdcbiAgICB9XG4gIH1cblxuICBpZiAoIXByb2Nlc3Nvci5lbmRPZkZpbGUoKSkge1xuICAgIGxldCBuZXh0ID0gcHJvY2Vzc29yLm5leHRUb2tlbigpXG4gICAgcHJvY2Vzc29yLmJhY2sobmV4dClcbiAgICBpZiAobmV4dFswXSA9PT0gJ2JyYWNrZXRzJyB8fCBuZXh0WzBdID09PSAnKCcpIHJldHVybiAnY2FsbCdcbiAgfVxuXG4gIHJldHVybiB0eXBlXG59XG5cbmZ1bmN0aW9uIHRlcm1pbmFsSGlnaGxpZ2h0IChjc3MpIHtcbiAgbGV0IHByb2Nlc3NvciA9IHRva2VuaXplcihuZXcgSW5wdXQoY3NzKSwgeyBpZ25vcmVFcnJvcnM6IHRydWUgfSlcbiAgbGV0IHJlc3VsdCA9ICcnXG4gIHdoaWxlICghcHJvY2Vzc29yLmVuZE9mRmlsZSgpKSB7XG4gICAgbGV0IHRva2VuID0gcHJvY2Vzc29yLm5leHRUb2tlbigpXG4gICAgbGV0IGNvbG9yID0gSElHSExJR0hUX1RIRU1FW2dldFRva2VuVHlwZSh0b2tlbiwgcHJvY2Vzc29yKV1cbiAgICBpZiAoY29sb3IpIHtcbiAgICAgIHJlc3VsdCArPSB0b2tlblsxXS5zcGxpdCgvXFxyP1xcbi8pXG4gICAgICAgIC5tYXAoaSA9PiBjb2xvcihpKSlcbiAgICAgICAgLmpvaW4oJ1xcbicpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCArPSB0b2tlblsxXVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0XG59XG5cbmV4cG9ydCBkZWZhdWx0IHRlcm1pbmFsSGlnaGxpZ2h0XG4iXX0=