@office-iss/react-native-win32 0.65.1 → 0.65.5

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.
@@ -72,7 +72,7 @@ var FocusMoverTestComponent = /** @class */ (function (_super) {
72
72
  React.createElement(ViewWin32_1.ViewWin32, { style: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-around', marginVertical: 5 } },
73
73
  React.createElement(react_native_1.TouchableHighlight, { onPress: this._onPress },
74
74
  React.createElement(ViewWin32_1.ViewWin32, { accessibilityLabeledBy: this._labeledBy, style: styles.blackbox })),
75
- React.createElement(ViewWin32_1.ViewWin32, { ref: this._setRef, focusable: true, style: this.state.hasFocus ? { backgroundColor: '#aee8fcff' } : { backgroundColor: '#00000000' }, onFocus: this._onFocus, onBlur: this._onBlur },
75
+ React.createElement(ViewWin32_1.ViewWin32, { ref: this._setRef, focusable: true, style: this.state.hasFocus ? { backgroundColor: '#aee8fcff' } : { backgroundColor: '#00000000' }, onFocus: this._onFocus, onBlur: this._onBlur, enableFocusRing: false },
76
76
  React.createElement(react_native_1.Text, null, this.state.hasFocus ? 'Focus: Yes' : 'Focus: No')))));
77
77
  };
78
78
  return FocusMoverTestComponent;
@@ -113,7 +113,7 @@ var KeyboardTestComponent = /** @class */ (function (_super) {
113
113
  }
114
114
  KeyboardTestComponent.prototype.render = function () {
115
115
  return (React.createElement(ViewWin32_1.ViewWin32, { keyDownEvents: handledNativeKeyboardEvents, keyUpEvents: handledNativeKeyboardEvents },
116
- React.createElement(ViewWin32_1.ViewWin32, { style: this.state.hasFocus ? [styles.keyComponentRoot, styles.border] : styles.keyComponentRoot, focusable: true, onKeyUp: this._onKeyUp, onKeyDown: this._onKeyDown, onFocus: this._onFocus, onBlur: this._onBlur },
116
+ React.createElement(ViewWin32_1.ViewWin32, { style: this.state.hasFocus ? [styles.keyComponentRoot, styles.border] : styles.keyComponentRoot, focusable: true, onKeyUp: this._onKeyUp, onKeyDown: this._onKeyDown, onFocus: this._onFocus, onBlur: this._onBlur, enableFocusRing: false },
117
117
  React.createElement(ViewWin32_1.ViewWin32, { style: styles.keyEnterVisualizer },
118
118
  React.createElement(react_native_1.Text, null, "OnKeyDown"),
119
119
  React.createElement(react_native_1.Text, null, "----"),
@@ -189,6 +189,44 @@ var CursorExample = function () {
189
189
  React.createElement(CursorTestComponent, { cursor: 'text' }),
190
190
  React.createElement(CursorTestComponent, { cursor: 'we-resize' })));
191
191
  };
192
+ var EnableFocusRingExample = /** @class */ (function (_super) {
193
+ __extends(EnableFocusRingExample, _super);
194
+ function EnableFocusRingExample(props) {
195
+ var _this = _super.call(this, props) || this;
196
+ _this._onFocus = function () {
197
+ _this.setState({
198
+ hasFocus: true,
199
+ });
200
+ };
201
+ _this._onBlur = function () {
202
+ _this.setState({
203
+ hasFocus: false,
204
+ });
205
+ };
206
+ _this.state = {
207
+ hasFocus: false,
208
+ };
209
+ return _this;
210
+ }
211
+ EnableFocusRingExample.prototype.render = function () {
212
+ return (React.createElement(ViewWin32_1.ViewWin32, { style: { flexDirection: 'row', alignItems: 'center', justifyContent: 'space-around', marginVertical: 5 } },
213
+ React.createElement(ViewWin32_1.ViewWin32, { style: {
214
+ backgroundColor: 'pink',
215
+ height: 100,
216
+ width: 100,
217
+ }, enableFocusRing: true, focusable: true },
218
+ React.createElement(react_native_1.Text, null, "enableFocusRing set to true")),
219
+ React.createElement(ViewWin32_1.ViewWin32, { style: {
220
+ backgroundColor: 'pink',
221
+ height: 100,
222
+ width: 100,
223
+ }, enableFocusRing: false, focusable: true, onFocus: this._onFocus, onBlur: this._onBlur },
224
+ React.createElement(React.Fragment, null,
225
+ React.createElement(react_native_1.Text, null, "enableFocusRing set to false"),
226
+ React.createElement(react_native_1.Text, null, this.state.hasFocus ? 'Focus: Yes' : 'Focus: No')))));
227
+ };
228
+ return EnableFocusRingExample;
229
+ }(React.Component));
192
230
  exports.title = 'ViewWin32';
193
231
  exports.displayName = 'ViewWin32 Example';
194
232
  exports.description = 'All the stock View props plus Win32 specific ones';
@@ -231,5 +269,12 @@ exports.examples = [
231
269
  return React.createElement(CursorExample, null);
232
270
  },
233
271
  },
272
+ {
273
+ title: 'EnableFocusRing example',
274
+ description: 'Displays focus visuals that are driven by native',
275
+ render: function () {
276
+ return React.createElement(EnableFocusRingExample, null);
277
+ },
278
+ },
234
279
  ];
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlld1dpbjMyVGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9MaWJyYXJpZXMvQ29tcG9uZW50cy9WaWV3L1Rlc3RzL1ZpZXdXaW4zMlRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQUNiLDZCQUErQjtBQUMvQiw2Q0FBb0U7QUFDcEUsMENBQXlDO0FBR3pDLElBQU0sTUFBTSxHQUFHLHlCQUFVLENBQUMsTUFBTSxDQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLFdBQVcsRUFBRSxPQUFPO0tBQ3JCO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsV0FBVyxFQUFFLENBQUM7UUFDZCxhQUFhLEVBQUUsS0FBSztRQUNwQixjQUFjLEVBQUUsQ0FBQztRQUNqQixlQUFlLEVBQUUsWUFBWTtRQUM3QixjQUFjLEVBQUUsY0FBYztLQUMvQjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLE1BQU0sRUFBRSxDQUFDO1FBQ1QsVUFBVSxFQUFFLFFBQVE7UUFDcEIsUUFBUSxFQUFFLEdBQUc7UUFDYixTQUFTLEVBQUUsRUFBRTtLQUNkO0lBQ0QsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRTtDQUMxRSxDQUFDLENBQUM7QUFNSDtJQUFzQywyQ0FBNkM7SUFJakYsaUNBQW1CLEtBQUs7UUFBeEIsWUFDRSxrQkFBTSxLQUFLLENBQUMsU0FLYjtRQVRPLGtCQUFZLEdBQWMsSUFBSSxDQUFDO1FBZ0N0QixhQUFPLEdBQUcsVUFBQyxHQUFjO1lBQ3hDLEtBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO1FBQzFCLENBQUMsQ0FBQztRQUVlLGNBQVEsR0FBRztZQUMxQixJQUFJLEtBQUksQ0FBQyxZQUFZLEtBQUssU0FB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QztBQUNsRSxRQUFBLFFBQVEsR0FBRztJQUN0QjtRQUNFLEtBQUssRUFBRSx3QkFBd0I7UUFDL0IsV0FBVyxFQUFFLHFFQUFxRTtRQUNsRixNQUFNLEVBQU47WUFDRSxPQUFPLENBQ0wsb0JBQUMscUJBQVM7Z0JBQ1Isb0JBQUMsdUJBQXVCLE9BQUc7Z0JBQzNCLG9CQUFDLHVCQUF1QixPQUFHO2dCQUMzQixvQkFBQyx1QkFBdUIsT0FBRyxDQUNqQixDQUNiLENBQUM7UUFDSixDQUFDO0tBQ0Y7SUFDRDtRQUNFLEtBQUssRUFBRSx3QkFBd0I7UUFDL0IsV0FBVyxFQUFFLHVDQUF1QztRQUNwRCxNQUFNLEVBQU47WUFDRSxPQUFPLG9CQUFDLHFCQUFxQixPQUFHLENBQUM7UUFDbkMsQ0FBQztLQUNGO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsZUFBZTtRQUN0QixXQUFXLEVBQUUsaUJBQWlCO1FBQzlCLE1BQU0sRUFBTjtZQUNFLE9BQU8sb0JBQUMsWUFBWSxPQUFHLENBQUM7UUFDMUIsQ0FBQztLQUNGO0lBQ0Q7UUFDRSxLQUFLLEVBQUUsaUJBQWlCO1FBQ3hCLFdBQVcsRUFBRSw2QkFBNkI7UUFDMUMsTUFBTSxFQUFOO1lBQ0UsT0FBTyxvQkFBQyxjQUFjLE9BQUcsQ0FBQztRQUM1QixDQUFDO0tBQ0Y7SUFDRDtRQUNFLEtBQUssRUFBRSxnQkFBZ0I7UUFDdkIsV0FBVyxFQUFFLHVEQUF1RDtRQUNwRSxNQUFNLEVBQU47WUFDRSxPQUFPLG9CQUFDLGFBQWEsT0FBRyxDQUFDO1FBQzNCLENBQUM7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTdHlsZVNoZWV0LCBUZXh0LCBUb3VjaGFibGVIaWdobGlnaHQgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuaW1wb3J0IHsgVmlld1dpbjMyIH0gZnJvbSAnLi4vVmlld1dpbjMyJztcbmltcG9ydCB7IEN1cnNvciwgSUtleWJvYXJkRXZlbnQsIElIYW5kbGVkS2V5Ym9hcmRFdmVudCB9IGZyb20gJy4uL1ZpZXdXaW4zMi5Qcm9wcyc7XG5cbmNvbnN0IHN0eWxlcyA9IFN0eWxlU2hlZXQuY3JlYXRlKHtcbiAgYm9yZGVyOiB7XG4gICAgYm9yZGVyU3R5bGU6ICdkb3R0ZWQnLFxuICAgIGJvcmRlckNvbG9yOiAnYmxhY2snLFxuICB9LFxuICBrZXlDb21wb25lbnRSb290OiB7XG4gICAgYm9yZGVyV2lkdGg6IDIsXG4gICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgbWFyZ2luVmVydGljYWw6IDUsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnd2hpdGVzbW9rZScsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1hcm91bmQnLFxuICB9LFxuICBrZXlFbnRlclZpc3VhbGl6ZXI6IHtcbiAgICBtYXJnaW46IDUsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgbWluV2lkdGg6IDEwMCxcbiAgICBtaW5IZWlnaHQ6IDMwLFxuICB9LFxuICBibGFja2JveDogeyBoZWlnaHQ6IDMwLCB3aWR0aDogMzAsIGJvcmRlckNvbG9yOiAnYmxhY2snLCBib3JkZXJXaWR0aDogMyB9LFxufSk7XG5cbmludGVyZmFjZSBJRm9jdXNhYmxlQ29tcG9uZW50U3RhdGUge1xuICBoYXNGb2N1czogYm9vbGVhbjtcbn1cblxuY2xhc3MgRm9jdXNNb3ZlclRlc3RDb21wb25lbnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8e30sIElGb2N1c2FibGVDb21wb25lbnRTdGF0ZT4ge1xuICBwcml2YXRlIF9mb2N1c1RhcmdldDogVmlld1dpbjMyID0gbnVsbDtcbiAgcHJpdmF0ZSByZWFkb25seSBfbGFiZWxlZEJ5OiBSZWFjdC5SZWZPYmplY3Q8Vmlld1dpbjMyPjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGhhc0ZvY3VzOiBmYWxzZSxcbiAgICB9O1xuICAgIHRoaXMuX2xhYmVsZWRCeSA9IFJlYWN0LmNyZWF0ZVJlZjxWaWV3V2luMzI+KCk7XG4gIH1cbiAgcHVibGljIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXdXaW4zMj5cbiAgICAgICAgPFZpZXdXaW4zMiByZWY9e3RoaXMuX2xhYmVsZWRCeX0gYWNjZXNzaWJpbGl0eUxhYmVsPVwic2VwYXJhdGUgbGFiZWwgZm9yIHRlc3RcIiBhY2Nlc3NpYmlsaXR5SXRlbVR5cGU9XCJDb21tZW50XCIvPlxuICAgICAgPFZpZXdXaW4zMiBzdHlsZT17eyBmbGV4RGlyZWN0aW9uOiAncm93JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYXJvdW5kJywgbWFyZ2luVmVydGljYWw6IDUgfX0+XG4gICAgICAgIDxUb3VjaGFibGVIaWdobGlnaHQgb25QcmVzcz17dGhpcy5fb25QcmVzc30+XG4gICAgICAgICAgPFZpZXdXaW4zMiBhY2Nlc3NpYmlsaXR5TGFiZWxlZEJ5PXt0aGlzLl9sYWJlbGVkQnl9IHN0eWxlPXtzdHlsZXMuYmxhY2tib3h9IC8+XG4gICAgICAgIDwvVG91Y2hhYmxlSGlnaGxpZ2h0PlxuICAgICAgICA8Vmlld1dpbjMyXG4gICAgICAgICAgcmVmPXt0aGlzLl9zZXRSZWZ9XG4gICAgICAgICAgZm9jdXNhYmxlXG4gICAgICAgICAgc3R5bGU9e3RoaXMuc3RhdGUuaGFzRm9jdXMgPyB7IGJhY2tncm91bmRDb2xvcjogJyNhZWU4ZmNmZicgfSA6IHsgYmFja2dyb3VuZENvbG9yOiAnIzAwMDAwMDAwJyB9fVxuICAgICAgICAgIG9uRm9jdXM9e3RoaXMuX29uRm9jdXN9XG4gICAgICAgICAgb25CbHVyPXt0aGlzLl9vbkJsdXJ9XG4gICAgICAgID5cbiAgICAgICAgICA8VGV4dD57dGhpcy5zdGF0ZS5oYXNGb2N1cyA/ICdGb2N1czogWWVzJyA6ICdGb2N1czogTm8nfTwvVGV4dD5cbiAgICAgICAgPC9WaWV3V2luMzI+XG4gICAgICA8L1ZpZXdXaW4zMj5cbiAgICAgIDwvVmlld1dpbjMyPlxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9zZXRSZWYgPSAocmVmOiBWaWV3V2luMzIpID0+IHtcbiAgICB0aGlzLl9mb2N1c1RhcmdldCA9IHJlZjtcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9vblByZXNzID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLl9mb2N1c1RhcmdldCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9mb2N1c1RhcmdldC5mb2N1cygpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9vbkZvY3VzID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaGFzRm9jdXM6IHRydWUsXG4gICAgfSk7XG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb25CbHVyID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaGFzRm9jdXM6IGZhbHNlLFxuICAgIH0pO1xuICB9O1xufVxuXG5pbnRlcmZhY2UgSUtleWJvYXJkYWJsZUNvbXBvbmVudFN0YXRlIHtcbiAgbGFzdEtleURvd246IHN0cmluZztcbiAgbGFzdEtleVVwOiBzdHJpbmc7XG59XG5cbmNvbnN0IGhhbmRsZWROYXRpdmVLZXlib2FyZEV2ZW50czogSUhhbmRsZWRLZXlib2FyZEV2ZW50W10gPSBbXG4gIHsga2V5OiAnQXJyb3dEb3duJyB9LFxuICB7IGtleTogJ0Fycm93VXAnIH0sXG4gIHsga2V5OiAnQXJyb3dMZWZ0JyB9LFxuICB7IGtleTogJ0Fycm93UmlnaHQnIH0sXG4gIHsga2V5OiAnVGFiJyB9LFxuXTtcblxuY2xhc3MgS2V5Ym9hcmRUZXN0Q29tcG9uZW50IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PHt9LCBJRm9jdXNhYmxlQ29tcG9uZW50U3RhdGUgJiBJS2V5Ym9hcmRhYmxlQ29tcG9uZW50U3RhdGU+IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBoYXNGb2N1czogZmFsc2UsXG4gICAgICBsYXN0S2V5RG93bjogbnVsbCxcbiAgICAgIGxhc3RLZXlVcDogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXdXaW4zMiBrZXlEb3duRXZlbnRzPXtoYW5kbGVkTmF0aXZlS2V5Ym9hcmRFdmVudHN9IGtleVVwRXZlbnRzPXtoYW5kbGVkTmF0aXZlS2V5Ym9hcmRFdmVudHN9PlxuICAgICAgICA8Vmlld1dpbjMyXG4gICAgICAgICAgc3R5bGU9e3RoaXMuc3RhdGUuaGFzRm9jdXMgPyBbc3R5bGVzLmtleUNvbXBvbmVudFJvb3QsIHN0eWxlcy5ib3JkZXJdIDogc3R5bGVzLmtleUNvbXBvbmVudFJvb3R9XG4gICAgICAgICAgZm9jdXNhYmxlXG4gICAgICAgICAgb25LZXlVcD17dGhpcy5fb25LZXlVcH1cbiAgICAgICAgICBvbktleURvd249e3RoaXMuX29uS2V5RG93bn1cbiAgICAgICAgICBvbkZvY3VzPXt0aGlzLl9vbkZvY3VzfVxuICAgICAgICAgIG9uQmx1cj17dGhpcy5fb25CbHVyfVxuICAgICAgICA+XG4gICAgICAgICAgPFZpZXdXaW4zMiBzdHlsZT17c3R5bGVzLmtleUVudGVyVmlzdWFsaXplcn0+XG4gICAgICAgICAgICA8VGV4dD5PbktleURvd248L1RleHQ+XG4gICAgICAgICAgICA8VGV4dD4tLS0tPC9UZXh0PlxuICAgICAgICAgICAgPFRleHQ+e3RoaXMuc3RhdGUubGFzdEtleURvd24gIT09IG51bGwgPyB0aGlzLnN0YXRlLmxhc3RLZXlEb3duIDogJyAnfTwvVGV4dD5cbiAgICAgICAgICA8L1ZpZXdXaW4zMj5cbiAgICAgICAgICA8Vmlld1dpbjMyIHN0eWxlPXtzdHlsZXMua2V5RW50ZXJWaXN1YWxpemVyfT5cbiAgICAgICAgICAgIDxUZXh0Pk9uS2V5VXA8L1RleHQ+XG4gICAgICAgICAgICA8VGV4dD4tLS0tPC9UZXh0PlxuICAgICAgICAgICAgPFRleHQ+e3RoaXMuc3RhdGUubGFzdEtleVVwICE9PSBudWxsID8gdGhpcy5zdGF0ZS5sYXN0S2V5VXAgOiAnICd9PC9UZXh0PlxuICAgICAgICAgIDwvVmlld1dpbjMyPlxuICAgICAgICA8L1ZpZXdXaW4zMj5cbiAgICAgIDwvVmlld1dpbjMyPlxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9vbkZvY3VzID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaGFzRm9jdXM6IHRydWUsXG4gICAgfSk7XG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb25CbHVyID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaGFzRm9jdXM6IGZhbHNlLFxuICAgIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX29uS2V5VXAgPSAoZXY6IElLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGxhc3RLZXlVcDogZXYubmF0aXZlRXZlbnQua2V5LCBsYXN0S2V5RG93bjogbnVsbCB9KTtcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9vbktleURvd24gPSAoZXY6IElLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGxhc3RLZXlEb3duOiBldi5uYXRpdmVFdmVudC5rZXksIGxhc3RLZXlVcDogbnVsbCB9KTtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIElIb3ZlckNvbXBvbmVudFByb3BzIHtcbiAgY29sb3I6IHN0cmluZztcbn1cbmNsYXNzIEhvdmVyVGVzdENvbXBvbmVudCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJSG92ZXJDb21wb25lbnRQcm9wcywgSUZvY3VzYWJsZUNvbXBvbmVudFN0YXRlPiB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaGFzRm9jdXM6IGZhbHNlLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcmVuZGVyKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8Vmlld1dpbjMyXG4gICAgICAgIG9uTW91c2VFbnRlcj17dGhpcy5fb25Nb3VzZUVudGVyfVxuICAgICAgICBvbk1vdXNlTGVhdmU9e3RoaXMuX29uTW91c2VMZWF2ZX1cbiAgICAgICAgc3R5bGU9e3RoaXMuc3RhdGUuaGFzRm9jdXMgPyBbc3R5bGVzLmJsYWNrYm94LCB7IGJhY2tncm91bmRDb2xvcjogdGhpcy5wcm9wcy5jb2xvciB9XSA6IHN0eWxlcy5ibGFja2JveH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuICBwcml2YXRlIHJlYWRvbmx5IF9vbk1vdXNlTGVhdmUgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGhhc0ZvY3VzOiBmYWxzZSB9KTtcbiAgfTtcbiAgcHJpdmF0ZSByZWFkb25seSBfb25Nb3VzZUVudGVyID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBoYXNGb2N1czogdHJ1ZSB9KTtcbiAgfTtcbn1cblxuY2xhc3MgSG92ZXJFeGFtcGxlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgcHVibGljIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXdXaW4zMiBzdHlsZT17eyBmbGV4RGlyZWN0aW9uOiAncm93JywgbWFyZ2luSG9yaXpvbnRhbDogNzUsIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYXJvdW5kJyB9fT5cbiAgICAgICAgPEhvdmVyVGVzdENvbXBvbmVudCBjb2xvcj1cInJlZFwiIC8+XG4gICAgICAgIDxIb3ZlclRlc3RDb21wb25lbnQgY29sb3I9XCJvcmFuZ2VcIiAvPlxuICAgICAgICA8SG92ZXJUZXN0Q29tcG9uZW50IGNvbG9yPVwieWVsbG93XCIgLz5cbiAgICAgICAgPEhvdmVyVGVzdENvbXBvbmVudCBjb2xvcj1cImdyZWVuXCIgLz5cbiAgICAgICAgPEhvdmVyVGVzdENvbXBvbmVudCBjb2xvcj1cImJsdWVcIiAvPlxuICAgICAgICA8SG92ZXJUZXN0Q29tcG9uZW50IGNvbG9yPVwiaW5kaWdvXCIgLz5cbiAgICAgICAgPEhvdmVyVGVzdENvbXBvbmVudCBjb2xvcj1cInZpb2xldFwiIC8+XG4gICAgICA8L1ZpZXdXaW4zMj5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IFRvb2xUaXBFeGFtcGxlOiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDx7fT4gPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFZpZXdXaW4zMlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmVkJyxcbiAgICAgICAgaGVpZ2h0OiAxMDAsXG4gICAgICAgIHdpZHRoOiAxMDAsXG4gICAgICB9fVxuICAgICAgdG9vbHRpcD1cIkV4YW1wbGUgdG9vbHRpcFwiXG4gICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAvPlxuICApO1xufTtcblxuaW50ZXJmYWNlIElDdXJzb3JUZXN0Q29tcG9uZW50UHJvcHMge1xuICBjdXJzb3I6IEN1cnNvclxufVxuXG5jb25zdCBDdXJzb3JUZXN0Q29tcG9uZW50OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxJQ3Vyc29yVGVzdENvbXBvbmVudFByb3BzPiA9IChwcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxWaWV3V2luMzIgc3R5bGU9e3tmbGV4RGlyZWN0aW9uOiAnY29sdW1uJ319PlxuICAgICAgPFRleHQ+e3Byb3BzLmN1cnNvcn08L1RleHQ+XG4gICAgICA8Vmlld1dpbjMyIGN1cnNvcj17cHJvcHMuY3Vyc29yfSBzdHlsZT17c3R5bGVzLmJsYWNrYm94fSAvPlxuICAgIDwvVmlld1dpbjMyPlxuICApXG59XG5cbmNvbnN0IEN1cnNvckV4YW1wbGU6IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50ID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxWaWV3V2luMzIgc3R5bGU9e3sgZmxleERpcmVjdGlvbjogJ3JvdycsIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYXJvdW5kJyB9fT5cbiAgICAgIDxDdXJzb3JUZXN0Q29tcG9uZW50IGN1cnNvcj0nYXV0bycgLz5cbiAgICAgIDxDdXJzb3JUZXN0Q29tcG9uZW50IGN1cnNvcj0nZGVmYXVsdCcgLz5cbiAgICAgIDxDdXJzb3JUZXN0Q29tcG9uZW50IGN1cnNvcj0naGVscCcgLz5cbiAgICAgIDxDdXJzb3JUZXN0Q29tcG9uZW50IGN1cnNvcj0nbmVzdy1yZXNpemUnIC8+XG4gICAgICA8Q3Vyc29yVGVzdENvbXBvbmVudCBjdXJzb3I9J25vdC1hbGxvd2VkJyAvPlxuICAgICAgPEN1cnNvclRlc3RDb21wb25lbnQgY3Vyc29yPSducy1yZXNpemUnIC8+XG4gICAgICA8Q3Vyc29yVGVzdENvbXBvbmVudCBjdXJzb3I9J253c2UtcmVzaXplJyAvPlxuICAgICAgPEN1cnNvclRlc3RDb21wb25lbnQgY3Vyc29yPSdwb2ludGVyJyAvPlxuICAgICAgPEN1cnNvclRlc3RDb21wb25lbnQgY3Vyc29yPSd3YWl0JyAvPlxuICAgICAgPEN1cnNvclRlc3RDb21wb25lbnQgY3Vyc29yPSdtb3ZlJyAvPlxuICAgICAgPEN1cnNvclRlc3RDb21wb25lbnQgY3Vyc29yPSd0ZXh0JyAvPlxuICAgICAgPEN1cnNvclRlc3RDb21wb25lbnQgY3Vyc29yPSd3ZS1yZXNpemUnIC8+XG4gICAgPC9WaWV3V2luMzI+XG4gICk7XG59XG5cbmV4cG9ydCBjb25zdCB0aXRsZSA9ICdWaWV3V2luMzInO1xuZXhwb3J0IGNvbnN0IGRpc3BsYXlOYW1lID0gJ1ZpZXdXaW4zMiBFeGFtcGxlJztcbmV4cG9ydCBjb25zdCBkZXNjcmlwdGlvbiA9ICdBbGwgdGhlIHN0b2NrIFZpZXcgcHJvcHMgcGx1cyBXaW4zMiBzcGVjaWZpYyBvbmVzJztcbmV4cG9ydCBjb25zdCBleGFtcGxlcyA9IFtcbiAge1xuICAgIHRpdGxlOiAnZm9jdXMoKSBtZXRob2QgZXhhbXBsZScsXG4gICAgZGVzY3JpcHRpb246ICdFYWNoIG9mIHRoZXNlIGJsYWNrIGJveGVzIG1vdmVzIGZvY3VzIHRvIHRoZSBWaWV3V2luMzIgb24gdGhlIHJpZ2h0JyxcbiAgICByZW5kZXIoKTogSlNYLkVsZW1lbnQge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFZpZXdXaW4zMj5cbiAgICAgICAgICA8Rm9jdXNNb3ZlclRlc3RDb21wb25lbnQgLz5cbiAgICAgICAgICA8Rm9jdXNNb3ZlclRlc3RDb21wb25lbnQgLz5cbiAgICAgICAgICA8Rm9jdXNNb3ZlclRlc3RDb21wb25lbnQgLz5cbiAgICAgICAgPC9WaWV3V2luMzI+XG4gICAgICApO1xuICAgIH0sXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogJ0tleWJvYXJkRXZlbnRzIGV4YW1wbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnTmF0aXZlIGtleWJvYXJkaW5nIGhhcyBiZWVuIHByZXZlbnRlZCcsXG4gICAgcmVuZGVyKCk6IEpTWC5FbGVtZW50IHtcbiAgICAgIHJldHVybiA8S2V5Ym9hcmRUZXN0Q29tcG9uZW50IC8+O1xuICAgIH0sXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogJ0hvdmVyIGV4YW1wbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnSG92ZXIgYSByYWluYm93JyxcbiAgICByZW5kZXIoKTogSlNYLkVsZW1lbnQge1xuICAgICAgcmV0dXJuIDxIb3ZlckV4YW1wbGUgLz47XG4gICAgfSxcbiAgfSxcbiAge1xuICAgIHRpdGxlOiAnVG9vbHRpcCBleGFtcGxlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Rpc3BsYXlzIGEgdG9vbHRpcCBvbiBob3ZlcicsXG4gICAgcmVuZGVyKCk6IEpTWC5FbGVtZW50IHtcbiAgICAgIHJldHVybiA8VG9vbFRpcEV4YW1wbGUgLz47XG4gICAgfSxcbiAgfSxcbiAge1xuICAgIHRpdGxlOiAnQ3Vyc29yIGV4YW1wbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnRWFjaCBvZiB0aGVzZSBib3hlcyBzaG91bGQgZGlzcGxheSBhIGRpZmZlcmVudCBjdXJzb3InLFxuICAgIHJlbmRlcigpOiBKU1guRWxlbWVudCB7XG4gICAgICByZXR1cm4gPEN1cnNvckV4YW1wbGUgLz47XG4gICAgfSxcbiAgfSxcbl07XG4iXX0=
280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmlld1dpbjMyVGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9MaWJyYXJpZXMvQ29tcG9uZW50cy9WaWV3L1Rlc3RzL1ZpZXdXaW4zMlRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQUNiLDZCQUErQjtBQUMvQiw2Q0FBb0U7QUFDcEUsMENBQXlDO0FBR3pDLElBQU0sTUFBTSxHQUFHLHlCQUFVLENBQUMsTUFBTSxDQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLFdBQVcsRUFBRSxPQUFPO0tBQ3JCO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsV0FBVyxFQUFFLENBQUM7UUFDZCxhQUFhLEVBQUUsS0FBSztRQUNwQixjQUFjLEVBQUUsQ0FBQztRQUNqQixlQUFlLEVBQUUsWUFBWTtRQUM3QixjQUFjLEVBQUUsY0FBYztLQUMvQjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLE1BQU0sRUFBRSxDQUFDO1FBQ1QsVUFBVSxFQUFFLFFBQVE7UUFDcEIsUUFBUSxFQUFFLEdBQUc7UUFDYixTQUFTLEVBQUUsRUFBRTtLQUNkO0lBQ0QsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRTtDQUMxRSxDQUFDLENBQUM7QUFNSDtJQUFzQywyQ0FBNkM7SUFJakYsaUNBQW1CLEtBQUs7UUFBeEIsWUFDRSxrQkFBTSxLQUFLLENBQUMsU0FLYjtRQVRPLGtCQUFZLEdBQWMsSUFBSSxDQUFDO1FBaUN0QixhQUFPLEdBQUcsVUFBQyxHQUFjO1lBQ3hDLEtBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO1FBQzFCLENBQUMsQ0FBQztRQUVlLGNBQVEsR0FBRztZQUMxQixJQUFJLEtBQUksQ0FBQyxZQUFZLEtBQUssU0FB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LGtEQUFrRDtRQUMvRCxNQUFNLEVBQU47WUFDRSxPQUFPLG9CQUFDLHNCQUFzQixPQUFHLENBQUM7UUFDcEMsQ0FBQztLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFN0eWxlU2hlZXQsIFRleHQsIFRvdWNoYWJsZUhpZ2hsaWdodCB9IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5pbXBvcnQgeyBWaWV3V2luMzIgfSBmcm9tICcuLi9WaWV3V2luMzInO1xuaW1wb3J0IHsgQ3Vyc29yLCBJS2V5Ym9hcmRFdmVudCwgSUhhbmRsZWRLZXlib2FyZEV2ZW50IH0gZnJvbSAnLi4vVmlld1dpbjMyLlByb3BzJztcblxuY29uc3Qgc3R5bGVzID0gU3R5bGVTaGVldC5jcmVhdGUoe1xuICBib3JkZXI6IHtcbiAgICBib3JkZXJTdHlsZTogJ2RvdHRlZCcsXG4gICAgYm9yZGVyQ29sb3I6ICdibGFjaycsXG4gIH0sXG4gIGtleUNvbXBvbmVudFJvb3Q6IHtcbiAgICBib3JkZXJXaWR0aDogMixcbiAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICBtYXJnaW5WZXJ0aWNhbDogNSxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZXNtb2tlJyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWFyb3VuZCcsXG4gIH0sXG4gIGtleUVudGVyVmlzdWFsaXplcjoge1xuICAgIG1hcmdpbjogNSxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBtaW5XaWR0aDogMTAwLFxuICAgIG1pbkhlaWdodDogMzAsXG4gIH0sXG4gIGJsYWNrYm94OiB7IGhlaWdodDogMzAsIHdpZHRoOiAzMCwgYm9yZGVyQ29sb3I6ICdibGFjaycsIGJvcmRlcldpZHRoOiAzIH0sXG59KTtcblxuaW50ZXJmYWNlIElGb2N1c2FibGVDb21wb25lbnRTdGF0ZSB7XG4gIGhhc0ZvY3VzOiBib29sZWFuO1xufVxuXG5jbGFzcyBGb2N1c01vdmVyVGVzdENvbXBvbmVudCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDx7fSwgSUZvY3VzYWJsZUNvbXBvbmVudFN0YXRlPiB7XG4gIHByaXZhdGUgX2ZvY3VzVGFyZ2V0OiBWaWV3V2luMzIgPSBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IF9sYWJlbGVkQnk6IFJlYWN0LlJlZk9iamVjdDxWaWV3V2luMzI+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaGFzRm9jdXM6IGZhbHNlLFxuICAgIH07XG4gICAgdGhpcy5fbGFiZWxlZEJ5ID0gUmVhY3QuY3JlYXRlUmVmPFZpZXdXaW4zMj4oKTtcbiAgfVxuICBwdWJsaWMgcmVuZGVyKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8Vmlld1dpbjMyPlxuICAgICAgICA8Vmlld1dpbjMyIHJlZj17dGhpcy5fbGFiZWxlZEJ5fSBhY2Nlc3NpYmlsaXR5TGFiZWw9XCJzZXBhcmF0ZSBsYWJlbCBmb3IgdGVzdFwiIGFjY2Vzc2liaWxpdHlJdGVtVHlwZT1cIkNvbW1lbnRcIi8+XG4gICAgICA8Vmlld1dpbjMyIHN0eWxlPXt7IGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1hcm91bmQnLCBtYXJnaW5WZXJ0aWNhbDogNSB9fT5cbiAgICAgICAgPFRvdWNoYWJsZUhpZ2hsaWdodCBvblByZXNzPXt0aGlzLl9vblByZXNzfT5cbiAgICAgICAgICA8Vmlld1dpbjMyIGFjY2Vzc2liaWxpdHlMYWJlbGVkQnk9e3RoaXMuX2xhYmVsZWRCeX0gc3R5bGU9e3N0eWxlcy5ibGFja2JveH0gLz5cbiAgICAgICAgPC9Ub3VjaGFibGVIaWdobGlnaHQ+XG4gICAgICAgIDxWaWV3V2luMzJcbiAgICAgICAgICByZWY9e3RoaXMuX3NldFJlZn1cbiAgICAgICAgICBmb2N1c2FibGVcbiAgICAgICAgICBzdHlsZT17dGhpcy5zdGF0ZS5oYXNGb2N1cyA/IHsgYmFja2dyb3VuZENvbG9yOiAnI2FlZThmY2ZmJyB9IDogeyBiYWNrZ3JvdW5kQ29sb3I6ICcjMDAwMDAwMDAnIH19XG4gICAgICAgICAgb25Gb2N1cz17dGhpcy5fb25Gb2N1c31cbiAgICAgICAgICBvbkJsdXI9e3RoaXMuX29uQmx1cn1cbiAgICAgICAgICBlbmFibGVGb2N1c1Jpbmc9e2ZhbHNlfVxuICAgICAgICA+XG4gICAgICAgICAgPFRleHQ+e3RoaXMuc3RhdGUuaGFzRm9jdXMgPyAnRm9jdXM6IFllcycgOiAnRm9jdXM6IE5vJ308L1RleHQ+XG4gICAgICAgIDwvVmlld1dpbjMyPlxuICAgICAgPC9WaWV3V2luMzI+XG4gICAgICA8L1ZpZXdXaW4zMj5cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc2V0UmVmID0gKHJlZjogVmlld1dpbjMyKSA9PiB7XG4gICAgdGhpcy5fZm9jdXNUYXJnZXQgPSByZWY7XG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb25QcmVzcyA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5fZm9jdXNUYXJnZXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fZm9jdXNUYXJnZXQuZm9jdXMoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb25Gb2N1cyA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGhhc0ZvY3VzOiB0cnVlLFxuICAgIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX29uQmx1ciA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGhhc0ZvY3VzOiBmYWxzZSxcbiAgICB9KTtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIElLZXlib2FyZGFibGVDb21wb25lbnRTdGF0ZSB7XG4gIGxhc3RLZXlEb3duOiBzdHJpbmc7XG4gIGxhc3RLZXlVcDogc3RyaW5nO1xufVxuXG5jb25zdCBoYW5kbGVkTmF0aXZlS2V5Ym9hcmRFdmVudHM6IElIYW5kbGVkS2V5Ym9hcmRFdmVudFtdID0gW1xuICB7IGtleTogJ0Fycm93RG93bicgfSxcbiAgeyBrZXk6ICdBcnJvd1VwJyB9LFxuICB7IGtleTogJ0Fycm93TGVmdCcgfSxcbiAgeyBrZXk6ICdBcnJvd1JpZ2h0JyB9LFxuICB7IGtleTogJ1RhYicgfSxcbl07XG5cbmNsYXNzIEtleWJvYXJkVGVzdENvbXBvbmVudCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDx7fSwgSUZvY3VzYWJsZUNvbXBvbmVudFN0YXRlICYgSUtleWJvYXJkYWJsZUNvbXBvbmVudFN0YXRlPiB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaGFzRm9jdXM6IGZhbHNlLFxuICAgICAgbGFzdEtleURvd246IG51bGwsXG4gICAgICBsYXN0S2V5VXA6IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3V2luMzIga2V5RG93bkV2ZW50cz17aGFuZGxlZE5hdGl2ZUtleWJvYXJkRXZlbnRzfSBrZXlVcEV2ZW50cz17aGFuZGxlZE5hdGl2ZUtleWJvYXJkRXZlbnRzfT5cbiAgICAgICAgPFZpZXdXaW4zMlxuICAgICAgICAgIHN0eWxlPXt0aGlzLnN0YXRlLmhhc0ZvY3VzID8gW3N0eWxlcy5rZXlDb21wb25lbnRSb290LCBzdHlsZXMuYm9yZGVyXSA6IHN0eWxlcy5rZXlDb21wb25lbnRSb290fVxuICAgICAgICAgIGZvY3VzYWJsZVxuICAgICAgICAgIG9uS2V5VXA9e3RoaXMuX29uS2V5VXB9XG4gICAgICAgICAgb25LZXlEb3duPXt0aGlzLl9vbktleURvd259XG4gICAgICAgICAgb25Gb2N1cz17dGhpcy5fb25Gb2N1c31cbiAgICAgICAgICBvbkJsdXI9e3RoaXMuX29uQmx1cn1cbiAgICAgICAgICBlbmFibGVGb2N1c1Jpbmc9e2ZhbHNlfVxuICAgICAgICA+XG4gICAgICAgICAgPFZpZXdXaW4zMiBzdHlsZT17c3R5bGVzLmtleUVudGVyVmlzdWFsaXplcn0+XG4gICAgICAgICAgICA8VGV4dD5PbktleURvd248L1RleHQ+XG4gICAgICAgICAgICA8VGV4dD4tLS0tPC9UZXh0PlxuICAgICAgICAgICAgPFRleHQ+e3RoaXMuc3RhdGUubGFzdEtleURvd24gIT09IG51bGwgPyB0aGlzLnN0YXRlLmxhc3RLZXlEb3duIDogJyAnfTwvVGV4dD5cbiAgICAgICAgICA8L1ZpZXdXaW4zMj5cbiAgICAgICAgICA8Vmlld1dpbjMyIHN0eWxlPXtzdHlsZXMua2V5RW50ZXJWaXN1YWxpemVyfT5cbiAgICAgICAgICAgIDxUZXh0Pk9uS2V5VXA8L1RleHQ+XG4gICAgICAgICAgICA8VGV4dD4tLS0tPC9UZXh0PlxuICAgICAgICAgICAgPFRleHQ+e3RoaXMuc3RhdGUubGFzdEtleVVwICE9PSBudWxsID8gdGhpcy5zdGF0ZS5sYXN0S2V5VXAgOiAnICd9PC9UZXh0PlxuICAgICAgICAgIDwvVmlld1dpbjMyPlxuICAgICAgICA8L1ZpZXdXaW4zMj5cbiAgICAgIDwvVmlld1dpbjMyPlxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9vbkZvY3VzID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaGFzRm9jdXM6IHRydWUsXG4gICAgfSk7XG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb25CbHVyID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaGFzRm9jdXM6IGZhbHNlLFxuICAgIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX29uS2V5VXAgPSAoZXY6IElLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGxhc3RLZXlVcDogZXYubmF0aXZlRXZlbnQua2V5LCBsYXN0S2V5RG93bjogbnVsbCB9KTtcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9vbktleURvd24gPSAoZXY6IElLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGxhc3RLZXlEb3duOiBldi5uYXRpdmVFdmVudC5rZXksIGxhc3RLZXlVcDogbnVsbCB9KTtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIElIb3ZlckNvbXBvbmVudFByb3BzIHtcbiAgY29sb3I6IHN0cmluZztcbn1cbmNsYXNzIEhvdmVyVGVzdENvbXBvbmVudCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJSG92ZXJDb21wb25lbnRQcm9wcywgSUZvY3VzYWJsZUNvbXBvbmVudFN0YXRlPiB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaGFzRm9jdXM6IGZhbHNlLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcmVuZGVyKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8Vmlld1dpbjMyXG4gICAgICAgIG9uTW91c2VFbnRlcj17dGhpcy5fb25Nb3VzZUVudGVyfVxuICAgICAgICBvbk1vdXNlTGVhdmU9e3RoaXMuX29uTW91c2VMZWF2ZX1cbiAgICAgICAgc3R5bGU9e3RoaXMuc3RhdGUuaGFzRm9jdXMgPyBbc3R5bGVzLmJsYWNrYm94LCB7IGJhY2tncm91bmRDb2xvcjogdGhpcy5wcm9wcy5jb2xvciB9XSA6IHN0eWxlcy5ibGFja2JveH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuICBwcml2YXRlIHJlYWRvbmx5IF9vbk1vdXNlTGVhdmUgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGhhc0ZvY3VzOiBmYWxzZSB9KTtcbiAgfTtcbiAgcHJpdmF0ZSByZWFkb25seSBfb25Nb3VzZUVudGVyID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBoYXNGb2N1czogdHJ1ZSB9KTtcbiAgfTtcbn1cblxuY2xhc3MgSG92ZXJFeGFtcGxlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgcHVibGljIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXdXaW4zMiBzdHlsZT17eyBmbGV4RGlyZWN0aW9uOiAncm93JywgbWFyZ2luSG9yaXpvbnRhbDogNzUsIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYXJvdW5kJyB9fT5cbiAgICAgICAgPEhvdmVyVGVzdENvbXBvbmVudCBjb2xvcj1cInJlZFwiIC8+XG4gICAgICAgIDxIb3ZlclRlc3RDb21wb25lbnQgY29sb3I9XCJvcmFuZ2VcIiAvPlxuICAgICAgICA8SG92ZXJUZXN0Q29tcG9uZW50IGNvbG9yPVwieWVsbG93XCIgLz5cbiAgICAgICAgPEhvdmVyVGVzdENvbXBvbmVudCBjb2xvcj1cImdyZWVuXCIgLz5cbiAgICAgICAgPEhvdmVyVGVzdENvbXBvbmVudCBjb2xvcj1cImJsdWVcIiAvPlxuICAgICAgICA8SG92ZXJUZXN0Q29tcG9uZW50IGNvbG9yPVwiaW5kaWdvXCIgLz5cbiAgICAgICAgPEhvdmVyVGVzdENvbXBvbmVudCBjb2xvcj1cInZpb2xldFwiIC8+XG4gICAgICA8L1ZpZXdXaW4zMj5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IFRvb2xUaXBFeGFtcGxlOiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDx7fT4gPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFZpZXdXaW4zMlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmVkJyxcbiAgICAgICAgaGVpZ2h0OiAxMDAsXG4gICAgICAgIHdpZHRoOiAxMDAsXG4gICAgICB9fVxuICAgICAgdG9vbHRpcD1cIkV4YW1wbGUgdG9vbHRpcFwiXG4gICAgICBjdXJzb3I9XCJwb2ludGVyXCJcbiAgICAvPlxuICApO1xufTtcblxuaW50ZXJmYWNlIElDdXJzb3JUZXN0Q29tcG9uZW50UHJvcHMge1xuICBjdXJzb3I6IEN1cnNvclxufVxuXG5jb25zdCBDdXJzb3JUZXN0Q29tcG9uZW50OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxJQ3Vyc29yVGVzdENvbXBvbmVudFByb3BzPiA9IChwcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxWaWV3V2luMzIgc3R5bGU9e3tmbGV4RGlyZWN0aW9uOiAnY29sdW1uJ319PlxuICAgICAgPFRleHQ+e3Byb3BzLmN1cnNvcn08L1RleHQ+XG4gICAgICA8Vmlld1dpbjMyIGN1cnNvcj17cHJvcHMuY3Vyc29yfSBzdHlsZT17c3R5bGVzLmJsYWNrYm94fSAvPlxuICAgIDwvVmlld1dpbjMyPlxuICApXG59XG5cbmNvbnN0IEN1cnNvckV4YW1wbGU6IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50ID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxWaWV3V2luMzIgc3R5bGU9e3sgZmxleERpcmVjdGlvbjogJ3JvdycsIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYXJvdW5kJyB9fT5cbiAgICAgIDxDdXJzb3JUZXN0Q29tcG9uZW50IGN1cnNvcj0nYXV0bycgLz5cbiAgICAgIDxDdXJzb3JUZXN0Q29tcG9uZW50IGN1cnNvcj0nZGVmYXVsdCcgLz5cbiAgICAgIDxDdXJzb3JUZXN0Q29tcG9uZW50IGN1cnNvcj0naGVscCcgLz5cbiAgICAgIDxDdXJzb3JUZXN0Q29tcG9uZW50IGN1cnNvcj0nbmVzdy1yZXNpemUnIC8+XG4gICAgICA8Q3Vyc29yVGVzdENvbXBvbmVudCBjdXJzb3I9J25vdC1hbGxvd2VkJyAvPlxuICAgICAgPEN1cnNvclRlc3RDb21wb25lbnQgY3Vyc29yPSducy1yZXNpemUnIC8+XG4gICAgICA8Q3Vyc29yVGVzdENvbXBvbmVudCBjdXJzb3I9J253c2UtcmVzaXplJyAvPlxuICAgICAgPEN1cnNvclRlc3RDb21wb25lbnQgY3Vyc29yPSdwb2ludGVyJyAvPlxuICAgICAgPEN1cnNvclRlc3RDb21wb25lbnQgY3Vyc29yPSd3YWl0JyAvPlxuICAgICAgPEN1cnNvclRlc3RDb21wb25lbnQgY3Vyc29yPSdtb3ZlJyAvPlxuICAgICAgPEN1cnNvclRlc3RDb21wb25lbnQgY3Vyc29yPSd0ZXh0JyAvPlxuICAgICAgPEN1cnNvclRlc3RDb21wb25lbnQgY3Vyc29yPSd3ZS1yZXNpemUnIC8+XG4gICAgPC9WaWV3V2luMzI+XG4gICk7XG59XG5jbGFzcyBFbmFibGVGb2N1c1JpbmdFeGFtcGxlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PHt9LCBJRm9jdXNhYmxlQ29tcG9uZW50U3RhdGU+IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBoYXNGb2N1czogZmFsc2UsXG4gICAgfTtcbiAgfVxuICBcbiAgcHVibGljIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXdXaW4zMiBzdHlsZT17eyBmbGV4RGlyZWN0aW9uOiAncm93JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYXJvdW5kJywgbWFyZ2luVmVydGljYWw6IDUgfX0+XG4gICAgICAgIDxWaWV3V2luMzJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncGluaycsXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCxcbiAgICAgICAgICAgIHdpZHRoOiAxMDAsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBlbmFibGVGb2N1c1Jpbmc9e3RydWV9XG4gICAgICAgICAgZm9jdXNhYmxlXG4gICAgICAgID5cbiAgICAgICAgICA8VGV4dD5lbmFibGVGb2N1c1Jpbmcgc2V0IHRvIHRydWU8L1RleHQ+XG4gICAgICAgIDwvVmlld1dpbjMyPlxuICAgICAgICA8Vmlld1dpbjMyXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3BpbmsnLFxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAsXG4gICAgICAgICAgICB3aWR0aDogMTAwLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZW5hYmxlRm9jdXNSaW5nPXtmYWxzZX1cbiAgICAgICAgICBmb2N1c2FibGVcbiAgICAgICAgICBvbkZvY3VzPXt0aGlzLl9vbkZvY3VzfVxuICAgICAgICAgIG9uQmx1cj17dGhpcy5fb25CbHVyfVxuICAgICAgICA+XG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxUZXh0PmVuYWJsZUZvY3VzUmluZyBzZXQgdG8gZmFsc2U8L1RleHQ+XG4gICAgICAgICAgICA8VGV4dD57dGhpcy5zdGF0ZS5oYXNGb2N1cyA/ICdGb2N1czogWWVzJyA6ICdGb2N1czogTm8nfTwvVGV4dD5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgPC9WaWV3V2luMzI+XG4gICAgICA8L1ZpZXdXaW4zMj5cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb25Gb2N1cyA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGhhc0ZvY3VzOiB0cnVlLFxuICAgIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX29uQmx1ciA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGhhc0ZvY3VzOiBmYWxzZSxcbiAgICB9KTtcbiAgfTtcbn1cblxuXG5leHBvcnQgY29uc3QgdGl0bGUgPSAnVmlld1dpbjMyJztcbmV4cG9ydCBjb25zdCBkaXNwbGF5TmFtZSA9ICdWaWV3V2luMzIgRXhhbXBsZSc7XG5leHBvcnQgY29uc3QgZGVzY3JpcHRpb24gPSAnQWxsIHRoZSBzdG9jayBWaWV3IHByb3BzIHBsdXMgV2luMzIgc3BlY2lmaWMgb25lcyc7XG5leHBvcnQgY29uc3QgZXhhbXBsZXMgPSBbXG4gIHtcbiAgICB0aXRsZTogJ2ZvY3VzKCkgbWV0aG9kIGV4YW1wbGUnLFxuICAgIGRlc2NyaXB0aW9uOiAnRWFjaCBvZiB0aGVzZSBibGFjayBib3hlcyBtb3ZlcyBmb2N1cyB0byB0aGUgVmlld1dpbjMyIG9uIHRoZSByaWdodCcsXG4gICAgcmVuZGVyKCk6IEpTWC5FbGVtZW50IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxWaWV3V2luMzI+XG4gICAgICAgICAgPEZvY3VzTW92ZXJUZXN0Q29tcG9uZW50IC8+XG4gICAgICAgICAgPEZvY3VzTW92ZXJUZXN0Q29tcG9uZW50IC8+XG4gICAgICAgICAgPEZvY3VzTW92ZXJUZXN0Q29tcG9uZW50IC8+XG4gICAgICAgIDwvVmlld1dpbjMyPlxuICAgICAgKTtcbiAgICB9LFxuICB9LFxuICB7XG4gICAgdGl0bGU6ICdLZXlib2FyZEV2ZW50cyBleGFtcGxlJyxcbiAgICBkZXNjcmlwdGlvbjogJ05hdGl2ZSBrZXlib2FyZGluZyBoYXMgYmVlbiBwcmV2ZW50ZWQnLFxuICAgIHJlbmRlcigpOiBKU1guRWxlbWVudCB7XG4gICAgICByZXR1cm4gPEtleWJvYXJkVGVzdENvbXBvbmVudCAvPjtcbiAgICB9LFxuICB9LFxuICB7XG4gICAgdGl0bGU6ICdIb3ZlciBleGFtcGxlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0hvdmVyIGEgcmFpbmJvdycsXG4gICAgcmVuZGVyKCk6IEpTWC5FbGVtZW50IHtcbiAgICAgIHJldHVybiA8SG92ZXJFeGFtcGxlIC8+O1xuICAgIH0sXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogJ1Rvb2x0aXAgZXhhbXBsZScsXG4gICAgZGVzY3JpcHRpb246ICdEaXNwbGF5cyBhIHRvb2x0aXAgb24gaG92ZXInLFxuICAgIHJlbmRlcigpOiBKU1guRWxlbWVudCB7XG4gICAgICByZXR1cm4gPFRvb2xUaXBFeGFtcGxlIC8+O1xuICAgIH0sXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogJ0N1cnNvciBleGFtcGxlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0VhY2ggb2YgdGhlc2UgYm94ZXMgc2hvdWxkIGRpc3BsYXkgYSBkaWZmZXJlbnQgY3Vyc29yJyxcbiAgICByZW5kZXIoKTogSlNYLkVsZW1lbnQge1xuICAgICAgcmV0dXJuIDxDdXJzb3JFeGFtcGxlIC8+O1xuICAgIH0sXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogJ0VuYWJsZUZvY3VzUmluZyBleGFtcGxlJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Rpc3BsYXlzIGZvY3VzIHZpc3VhbHMgdGhhdCBhcmUgZHJpdmVuIGJ5IG5hdGl2ZScsXG4gICAgcmVuZGVyKCk6IEpTWC5FbGVtZW50IHtcbiAgICAgIHJldHVybiA8RW5hYmxlRm9jdXNSaW5nRXhhbXBsZSAvPjtcbiAgICB9LFxuICB9LFxuXTtcbiJdfQ==
@@ -39,10 +39,10 @@ const View: React.AbstractComponent<
39
39
  !hasTextAncestor,
40
40
  'Nesting of <View> within <Text> is not currently supported.',
41
41
  );
42
-
43
42
  return <ViewNativeComponent {...props} ref={forwardedRef} />;
44
43
  }}
45
44
  </TextAncestor.Consumer>
45
+ // Windows]
46
46
  );
47
47
  });
48
48