@renaissancerentals/renaissance-component 10.0.25 → 10.0.28
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.
- package/lib/floorplan/card/FloorplanCard.d.ts +2 -2
- package/lib/floorplan/card/FloorplanCard.js +7 -7
- package/lib/floorplan/card/FloorplanCardSlider.js +13 -73
- package/lib/floorplan/card/FloorplanSliderCard.d.ts +8 -0
- package/lib/floorplan/card/FloorplanSliderCard.js +50 -0
- package/lib/floorplan/card/SimilarFloorplanCard.js +24 -42
- package/lib/floorplan/card/TestimonialsCard.js +8 -44
- package/lib/floorplan/card/assets/SimilarFloorplanCard.scss +47 -37
- package/lib/floorplan/card/assets/TestimonialsCard.scss +3 -23
- package/lib/floorplan/card/assets/camera-icon.png +0 -0
- package/lib/floorplan/data/Calendar.js +2 -2
- package/lib/floorplan/data/Floorplan.d.ts +17 -2
- package/lib/floorplan/data/Floorplan.js +2 -2
- package/lib/floorplan/data/FloorplanFilters.d.ts +1 -1
- package/lib/floorplan/data/FloorplanFilters.js +1 -1
- package/lib/floorplan/data/Unit.d.ts +6 -0
- package/lib/floorplan/data/Unit.js +1 -1
- package/lib/floorplan/section/FloorplanHero.d.ts +1 -0
- package/lib/floorplan/section/FloorplanHero.js +135 -12
- package/lib/floorplan/section/FloorplanSection.d.ts +0 -1
- package/lib/floorplan/section/FloorplanSection.js +75 -31
- package/lib/floorplan/section/FloorplansHeader.d.ts +3 -3
- package/lib/floorplan/section/FloorplansHeader.js +1 -1
- package/lib/floorplan/section/FloorplansSection.d.ts +2 -2
- package/lib/floorplan/section/FloorplansSection.js +1 -1
- package/lib/floorplan/section/HeroBadgeStats.d.ts +10 -0
- package/lib/floorplan/section/HeroBadgeStats.js +86 -0
- package/lib/floorplan/section/assets/BadgeStats.scss +5 -0
- package/lib/floorplan/section/assets/FloorplanHero.scss +90 -1
- package/lib/floorplan/section/assets/FloorplanSection.scss +0 -3
- package/lib/floorplan/section/assets/HeroBadgeStats.scss +74 -0
- package/lib/floorplan/section/filter/Availability.d.ts +4 -5
- package/lib/floorplan/section/filter/Availability.js +4 -4
- package/lib/floorplan/service/FloorplanService.d.ts +7 -6
- package/lib/floorplan/service/FloorplanService.js +76 -10
- package/lib/gallery/GalleryHeroMain.d.ts +13 -0
- package/lib/gallery/GalleryHeroMain.js +101 -0
- package/lib/gallery/GalleryHeroMobile.d.ts +11 -0
- package/lib/gallery/GalleryHeroMobile.js +100 -0
- package/lib/gallery/HeroImageCard.d.ts +8 -0
- package/lib/gallery/HeroImageCard.js +34 -0
- package/lib/gallery/assets/GalleryHero.scss +45 -153
- package/lib/gallery/assets/HeroImageCard.scss +29 -0
- package/lib/index.d.ts +5 -5
- package/lib/index.js +6 -6
- package/lib/property/assets/PropertyLocation.scss +1 -0
- package/lib/property/data/Property.d.ts +6 -1
- package/lib/property/data/Property.js +1 -1
- package/lib/service/GraphqlQuery.d.ts +2 -0
- package/lib/service/GraphqlQuery.js +22 -0
- package/lib/utils/Utils.d.ts +2 -0
- package/lib/utils/Utils.js +23 -11
- package/package.json +2 -2
- package/lib/gallery/GalleryHero.d.ts +0 -10
- package/lib/gallery/GalleryHero.js +0 -278
|
@@ -31,6 +31,10 @@ var _SimilarFloorplanCard = require("../card/SimilarFloorplanCard");
|
|
|
31
31
|
|
|
32
32
|
var _muncherUi = require("@contentmunch/muncher-ui");
|
|
33
33
|
|
|
34
|
+
var _moment = _interopRequireDefault(require("moment"));
|
|
35
|
+
|
|
36
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
|
+
|
|
34
38
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
35
39
|
|
|
36
40
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -54,12 +58,11 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
54
58
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
55
59
|
|
|
56
60
|
var FloorplanSection = function FloorplanSection(_ref) {
|
|
57
|
-
var _floorplan$units$, _floorplan$units$2;
|
|
61
|
+
var _floorplan$units$, _floorplan$units$2, _floorplan$property;
|
|
58
62
|
|
|
59
63
|
var contactClickHandler = _ref.contactClickHandler,
|
|
60
64
|
applyClickHandler = _ref.applyClickHandler,
|
|
61
|
-
floorplanId = _ref.floorplanId
|
|
62
|
-
contactPhone = _ref.contactPhone;
|
|
65
|
+
floorplanId = _ref.floorplanId;
|
|
63
66
|
|
|
64
67
|
var _useState = (0, _react.useState)({}),
|
|
65
68
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -91,6 +94,17 @@ var FloorplanSection = function FloorplanSection(_ref) {
|
|
|
91
94
|
errorLoading = _useState12[0],
|
|
92
95
|
setErrorLoading = _useState12[1];
|
|
93
96
|
|
|
97
|
+
var mapRef = (0, _react.useRef)(null);
|
|
98
|
+
|
|
99
|
+
var handleRefToMap = function handleRefToMap() {
|
|
100
|
+
var _mapRef$current;
|
|
101
|
+
|
|
102
|
+
(_mapRef$current = mapRef.current) === null || _mapRef$current === void 0 ? void 0 : _mapRef$current.scrollIntoView({
|
|
103
|
+
behavior: "smooth",
|
|
104
|
+
block: "center"
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
|
|
94
108
|
(0, _react.useEffect)(function () {
|
|
95
109
|
Promise.all([(0, _FloorplanService.getFloorplan)(floorplanId), (0, _FloorplanService.getFloorplanVariations)(floorplanId), (0, _FloorplanService.getSimilarFloorplans)(floorplanId), (0, _FloorplanService.getTestimonials)(floorplanId)]).then(function (data) {
|
|
96
110
|
var floorplanData = _objectSpread({}, data[0]);
|
|
@@ -109,6 +123,19 @@ var FloorplanSection = function FloorplanSection(_ref) {
|
|
|
109
123
|
setIsLoading(false);
|
|
110
124
|
});
|
|
111
125
|
}, [floorplanId]);
|
|
126
|
+
|
|
127
|
+
var availableDates = function availableDates() {
|
|
128
|
+
var sortAvailabileDates = function sortAvailabileDates(a, b) {
|
|
129
|
+
return (0, _moment.default)(a, "MMMM YYYY").diff((0, _moment.default)(b, "MMMM YYYY"));
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
var dates = new Set();
|
|
133
|
+
floorplan.units.forEach(function (unit) {
|
|
134
|
+
dates.add((0, _Utils.dateToMoment)(unit.moveInDate).format("MMMM YYYY"));
|
|
135
|
+
});
|
|
136
|
+
return Array.from(dates).sort(sortAvailabileDates);
|
|
137
|
+
};
|
|
138
|
+
|
|
112
139
|
return /*#__PURE__*/_react.default.createElement("section", {
|
|
113
140
|
className: "section-floorplan"
|
|
114
141
|
}, isLoading ? /*#__PURE__*/_react.default.createElement("section", {
|
|
@@ -118,7 +145,8 @@ var FloorplanSection = function FloorplanSection(_ref) {
|
|
|
118
145
|
}, /*#__PURE__*/_react.default.createElement("h2", null, "Uh-oh, this is a 404")) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_FloorplanHero.FloorplanHero, {
|
|
119
146
|
floorplan: floorplan,
|
|
120
147
|
contactClickHandler: contactClickHandler,
|
|
121
|
-
applyClickHandler: applyClickHandler
|
|
148
|
+
applyClickHandler: applyClickHandler,
|
|
149
|
+
handleRefToMap: handleRefToMap
|
|
122
150
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
123
151
|
className: "container"
|
|
124
152
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -129,56 +157,72 @@ var FloorplanSection = function FloorplanSection(_ref) {
|
|
|
129
157
|
className: "floorplan-card--featured"
|
|
130
158
|
}, floorplan.bedroom, " Bedroom | ", floorplan.bathroom, " Bathroom ", (0, _Utils.enumToString)(floorplan.style)), /*#__PURE__*/_react.default.createElement("p", {
|
|
131
159
|
className: "floorplan-card--featured"
|
|
132
|
-
},
|
|
160
|
+
}, (0, _Utils.rangeFrom)(floorplan.units, "squareFoot"), " Square Feet"), /*#__PURE__*/_react.default.createElement("p", {
|
|
133
161
|
className: "floorplan-card--featured"
|
|
134
162
|
}, "$", (0, _Utils.rangeFrom)(floorplan.units, "rent"), "/mo"), /*#__PURE__*/_react.default.createElement("p", {
|
|
135
163
|
className: "floorplan-card--featured"
|
|
136
164
|
}, "$", (0, _Utils.rangeFrom)(floorplan.units, "deposit"), " Security Deposit"), /*#__PURE__*/_react.default.createElement("p", null, floorplan.description)), floorplan.amenities.length > 0 ? /*#__PURE__*/_react.default.createElement(_Card.Card, {
|
|
137
165
|
title: "Amenities"
|
|
138
|
-
}, floorplan.amenities.filter(function (amenity) {
|
|
166
|
+
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, floorplan.amenities.filter(function (amenity) {
|
|
139
167
|
return amenity.featured;
|
|
140
168
|
}).map(function (amenity) {
|
|
141
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
142
|
-
|
|
143
|
-
|
|
169
|
+
return /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
170
|
+
key: "floorplan-amenity-" + amenity.id,
|
|
171
|
+
isFeatured: true
|
|
144
172
|
}, amenity.name);
|
|
145
|
-
}),
|
|
173
|
+
}), floorplan.amenities.filter(function (amenity) {
|
|
146
174
|
return !amenity.featured;
|
|
147
175
|
}).map(function (amenity) {
|
|
148
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
176
|
+
return /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
149
177
|
key: "floorplan-amenity-" + amenity.id
|
|
150
178
|
}, amenity.name);
|
|
151
|
-
})), floorplanVariations.length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h5", null, "Variations"), /*#__PURE__*/_react.default.createElement(
|
|
152
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
179
|
+
})), floorplanVariations.length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h5", null, "Variations"), /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, floorplanVariations.map(function (variation, i) {
|
|
180
|
+
return /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
153
181
|
key: "floorplan-variation-" + i
|
|
154
182
|
}, variation.variation);
|
|
155
183
|
}))) : "") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), testimonials.length > 0 ? /*#__PURE__*/_react.default.createElement(_TestimonialsCard.TestimonialsCard, {
|
|
156
184
|
testimonials: testimonials
|
|
157
|
-
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_Card.Card, null, /*#__PURE__*/_react.default.createElement(
|
|
185
|
+
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_Card.Card, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
186
|
+
ref: mapRef,
|
|
187
|
+
id: "location"
|
|
188
|
+
}, /*#__PURE__*/_react.default.createElement(_MapSection.MapSection, {
|
|
158
189
|
src: (0, _Utils.addressToGoogleMap)((_floorplan$units$ = floorplan.units[0]) === null || _floorplan$units$ === void 0 ? void 0 : _floorplan$units$.address, (_floorplan$units$2 = floorplan.units[0]) === null || _floorplan$units$2 === void 0 ? void 0 : _floorplan$units$2.zipcode)
|
|
159
|
-
})), /*#__PURE__*/_react.default.createElement(_Card.Card, {
|
|
190
|
+
}))), /*#__PURE__*/_react.default.createElement(_Card.Card, {
|
|
160
191
|
title: "Pets"
|
|
161
|
-
}, /*#__PURE__*/_react.default.createElement("h5", null, "Permitted"), /*#__PURE__*/_react.default.createElement(
|
|
162
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
163
|
-
key: "floorplan-permitted-pet-" + i
|
|
192
|
+
}, /*#__PURE__*/_react.default.createElement("h5", null, "Permitted"), /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, (0, _FloorplanService.permittedPets)(floorplan).map(function (pet, i) {
|
|
193
|
+
return /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
194
|
+
key: "floorplan-permitted-pet-" + i,
|
|
195
|
+
bulletIcon: "check",
|
|
196
|
+
bulletColor: "green"
|
|
164
197
|
}, pet);
|
|
165
|
-
})), (0, _FloorplanService.notPermittedPets)(floorplan).length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h5", null, "Not Permitted"), /*#__PURE__*/_react.default.createElement(
|
|
166
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
167
|
-
key: "floorplan-not-permitted-pet-" + i
|
|
198
|
+
})), (0, _FloorplanService.notPermittedPets)(floorplan).length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h5", null, "Not Permitted"), /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, (0, _FloorplanService.notPermittedPets)(floorplan).map(function (pet, i) {
|
|
199
|
+
return /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
200
|
+
key: "floorplan-not-permitted-pet-" + i,
|
|
201
|
+
bulletColor: "brown",
|
|
202
|
+
bulletIcon: "close"
|
|
168
203
|
}, pet);
|
|
169
204
|
}))) : "", (0, _FloorplanService.petPolicy)(floorplan) ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h5", null, "Additional Information"), /*#__PURE__*/_react.default.createElement("p", null, (0, _FloorplanService.petPolicy)(floorplan))) : ""), /*#__PURE__*/_react.default.createElement(_Card.Card, {
|
|
205
|
+
title: "Availability"
|
|
206
|
+
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, availableDates().map(function (availableDate) {
|
|
207
|
+
return /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
208
|
+
key: "floorplan-unit-availability-" + availableDate,
|
|
209
|
+
bulletIcon: "calendar"
|
|
210
|
+
}, "Available in ", /*#__PURE__*/_react.default.createElement("strong", null, (0, _Utils.capitalizeFirstLetter)(availableDate)));
|
|
211
|
+
}))), /*#__PURE__*/_react.default.createElement(_Card.Card, {
|
|
170
212
|
title: "Utilities"
|
|
171
|
-
}, /*#__PURE__*/_react.default.createElement("h5", null, "Paid By Landlord"), /*#__PURE__*/_react.default.createElement(
|
|
213
|
+
}, /*#__PURE__*/_react.default.createElement("h5", null, "Paid By Landlord"), /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, floorplan.utilities.filter(function (utility) {
|
|
172
214
|
return utility.type === _Floorplan.UtilityType.INCLUDED_UTILITY;
|
|
173
215
|
}).map(function (utility) {
|
|
174
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
175
|
-
key: "floorplan-included-utility-" + utility.id
|
|
216
|
+
return /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
217
|
+
key: "floorplan-included-utility-" + utility.id,
|
|
218
|
+
bulletIcon: "home"
|
|
176
219
|
}, (0, _Utils.capitalizeFirstLetter)(utility.name));
|
|
177
|
-
})), /*#__PURE__*/_react.default.createElement("h5", null, "Paid By Tenant"), /*#__PURE__*/_react.default.createElement(
|
|
220
|
+
})), /*#__PURE__*/_react.default.createElement("h5", null, "Paid By Tenant"), /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, floorplan.utilities.filter(function (utility) {
|
|
178
221
|
return utility.type === _Floorplan.UtilityType.RESIDENT_UTILITY;
|
|
179
222
|
}).map(function (utility) {
|
|
180
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
181
|
-
key: "floorplan-resident-utility-" + utility.id
|
|
223
|
+
return /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
224
|
+
key: "floorplan-resident-utility-" + utility.id,
|
|
225
|
+
bulletIcon: "dollar"
|
|
182
226
|
}, (0, _Utils.capitalizeFirstLetter)(utility.name));
|
|
183
227
|
}))), similarFloorplans.length > 0 ? /*#__PURE__*/_react.default.createElement(_SimilarFloorplanCard.SimilarFloorplanCard, {
|
|
184
228
|
similarFloorplans: similarFloorplans
|
|
@@ -186,9 +230,9 @@ var FloorplanSection = function FloorplanSection(_ref) {
|
|
|
186
230
|
className: "contact-card"
|
|
187
231
|
}, /*#__PURE__*/_react.default.createElement(_Card.Card, {
|
|
188
232
|
featured: true
|
|
189
|
-
}, /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("i", null, "Questions?")), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("i", null, "Call or text us anytime:")), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("a", {
|
|
190
|
-
href: "tel:" +
|
|
191
|
-
}, (0, _Utils.formatPhoneNumber)(
|
|
233
|
+
}, /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("i", null, "Questions?")), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("i", null, "Call or text us anytime:")), (_floorplan$property = floorplan.property) !== null && _floorplan$property !== void 0 && _floorplan$property.phone ? /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("a", {
|
|
234
|
+
href: "tel:" + floorplan.property.phone
|
|
235
|
+
}, (0, _Utils.formatPhoneNumber)(floorplan.property.phone))) : "", /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
|
|
192
236
|
variant: "tertiary",
|
|
193
237
|
onClick: contactClickHandler,
|
|
194
238
|
size: "large"
|
|
@@ -196,4 +240,4 @@ var FloorplanSection = function FloorplanSection(_ref) {
|
|
|
196
240
|
};
|
|
197
241
|
|
|
198
242
|
exports.FloorplanSection = FloorplanSection;
|
|
199
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGbG9vcnBsYW5TZWN0aW9uIiwiY29udGFjdENsaWNrSGFuZGxlciIsImFwcGx5Q2xpY2tIYW5kbGVyIiwiZmxvb3JwbGFuSWQiLCJjb250YWN0UGhvbmUiLCJ1c2VTdGF0ZSIsImZsb29ycGxhbiIsInNldEZsb29ycGxhbiIsInNpbWlsYXJGbG9vcnBsYW5zIiwic2V0U2ltaWxhckZsb29ycGxhbnMiLCJmbG9vcnBsYW5WYXJpYXRpb25zIiwic2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyIsInRlc3RpbW9uaWFscyIsInNldFRlc3RpbW9uaWFscyIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsImVycm9yTG9hZGluZyIsInNldEVycm9yTG9hZGluZyIsInVzZUVmZmVjdCIsIlByb21pc2UiLCJhbGwiLCJnZXRGbG9vcnBsYW4iLCJnZXRGbG9vcnBsYW5WYXJpYXRpb25zIiwiZ2V0U2ltaWxhckZsb29ycGxhbnMiLCJnZXRUZXN0aW1vbmlhbHMiLCJ0aGVuIiwiZGF0YSIsImZsb29ycGxhbkRhdGEiLCJhY3RpdmVVbml0cyIsInVuaXRzIiwiZmlsdGVyIiwidW5pdCIsImFjdGl2ZSIsImNhdGNoIiwiZmluYWxseSIsImJlZHJvb20iLCJiYXRocm9vbSIsImVudW1Ub1N0cmluZyIsInN0eWxlIiwicmFuZ2VGcm9tIiwiZGVzY3JpcHRpb24iLCJhbWVuaXRpZXMiLCJsZW5ndGgiLCJhbWVuaXR5IiwiZmVhdHVyZWQiLCJtYXAiLCJpZCIsIm5hbWUiLCJ2YXJpYXRpb24iLCJpIiwiYWRkcmVzc1RvR29vZ2xlTWFwIiwiYWRkcmVzcyIsInppcGNvZGUiLCJwZXJtaXR0ZWRQZXRzIiwicGV0Iiwibm90UGVybWl0dGVkUGV0cyIsInBldFBvbGljeSIsInV0aWxpdGllcyIsInV0aWxpdHkiLCJ0eXBlIiwiVXRpbGl0eVR5cGUiLCJJTkNMVURFRF9VVElMSVRZIiwiY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIiwiUkVTSURFTlRfVVRJTElUWSIsImZvcm1hdFBob25lTnVtYmVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Zsb29ycGxhbi9zZWN0aW9uL0Zsb29ycGxhblNlY3Rpb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZUVmZmVjdCwgdXNlU3RhdGV9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtGbG9vcnBsYW4sIEZsb29ycGxhblZhcmlhdGlvbiwgU2ltaWxhckZsb29ycGxhbiwgVGVzdGltb25pYWwsIFV0aWxpdHlUeXBlfSBmcm9tIFwiLi4vZGF0YS9GbG9vcnBsYW5cIjtcbmltcG9ydCB7XG4gICAgZ2V0Rmxvb3JwbGFuLFxuICAgIGdldEZsb29ycGxhblZhcmlhdGlvbnMsXG4gICAgZ2V0U2ltaWxhckZsb29ycGxhbnMsXG4gICAgZ2V0VGVzdGltb25pYWxzLFxuICAgIG5vdFBlcm1pdHRlZFBldHMsXG4gICAgcGVybWl0dGVkUGV0cyxcbiAgICBwZXRQb2xpY3lcbn0gZnJvbSBcIi4uL3NlcnZpY2UvRmxvb3JwbGFuU2VydmljZVwiO1xuaW1wb3J0IFwiLi9hc3NldHMvRmxvb3JwbGFuU2VjdGlvbi5zY3NzXCI7XG5pbXBvcnQge0dhbGxlcnlIZXJvU2tlbGV0b259IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dhbGxlcnlIZXJvU2tlbGV0b25cIjtcbmltcG9ydCB7Rmxvb3JwbGFuSGVyb30gZnJvbSBcIi4vRmxvb3JwbGFuSGVyb1wiO1xuaW1wb3J0IHthZGRyZXNzVG9Hb29nbGVNYXAsIGNhcGl0YWxpemVGaXJzdExldHRlciwgZW51bVRvU3RyaW5nLCBmb3JtYXRQaG9uZU51bWJlciwgcmFuZ2VGcm9tfSBmcm9tIFwiLi4vLi4vdXRpbHMvVXRpbHNcIjtcbmltcG9ydCB7Q2FyZH0gZnJvbSBcIi4uLy4uL2NhcmQvQ2FyZFwiO1xuaW1wb3J0IHtUZXN0aW1vbmlhbHNDYXJkfSBmcm9tIFwiLi4vY2FyZC9UZXN0aW1vbmlhbHNDYXJkXCI7XG5pbXBvcnQge01hcFNlY3Rpb259IGZyb20gXCIuLi8uLi9tYXAvTWFwU2VjdGlvblwiO1xuaW1wb3J0IHtTaW1pbGFyRmxvb3JwbGFuQ2FyZH0gZnJvbSBcIi4uL2NhcmQvU2ltaWxhckZsb29ycGxhbkNhcmRcIjtcbmltcG9ydCB7QnV0dG9ufSBmcm9tIFwiQGNvbnRlbnRtdW5jaC9tdW5jaGVyLXVpXCI7XG5cbmV4cG9ydCBjb25zdCBGbG9vcnBsYW5TZWN0aW9uOiBSZWFjdC5GQzxGbG9vcnBsYW5TZWN0aW9uUHJvcHM+ID0gKFxuICAgIHtcbiAgICAgICAgY29udGFjdENsaWNrSGFuZGxlcixcbiAgICAgICAgYXBwbHlDbGlja0hhbmRsZXIsXG4gICAgICAgIGZsb29ycGxhbklkLFxuICAgICAgICBjb250YWN0UGhvbmVcbiAgICB9KSA9PiB7XG4gICAgY29uc3QgW2Zsb29ycGxhbiwgc2V0Rmxvb3JwbGFuXSA9IHVzZVN0YXRlPEZsb29ycGxhbj4oe30gYXMgRmxvb3JwbGFuKTtcbiAgICBjb25zdCBbc2ltaWxhckZsb29ycGxhbnMsIHNldFNpbWlsYXJGbG9vcnBsYW5zXSA9IHVzZVN0YXRlPFNpbWlsYXJGbG9vcnBsYW5bXT4oW10pO1xuICAgIGNvbnN0IFtmbG9vcnBsYW5WYXJpYXRpb25zLCBzZXRGbG9vcnBsYW5WYXJpYXRpb25zXSA9IHVzZVN0YXRlPEZsb29ycGxhblZhcmlhdGlvbltdPihbXSk7XG4gICAgY29uc3QgW3Rlc3RpbW9uaWFscywgc2V0VGVzdGltb25pYWxzXSA9IHVzZVN0YXRlPFRlc3RpbW9uaWFsW10+KFtdKTtcbiAgICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgW2Vycm9yTG9hZGluZywgc2V0RXJyb3JMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBQcm9taXNlLmFsbChbXG4gICAgICAgICAgICBnZXRGbG9vcnBsYW4oZmxvb3JwbGFuSWQpLFxuICAgICAgICAgICAgZ2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyhmbG9vcnBsYW5JZCksXG4gICAgICAgICAgICBnZXRTaW1pbGFyRmxvb3JwbGFucyhmbG9vcnBsYW5JZCksXG4gICAgICAgICAgICBnZXRUZXN0aW1vbmlhbHMoZmxvb3JwbGFuSWQpXG4gICAgICAgIF0pXG4gICAgICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZsb29ycGxhbkRhdGEgPSB7Li4uZGF0YVswXX07XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlVW5pdHMgPSBmbG9vcnBsYW5EYXRhLnVuaXRzLmZpbHRlcih1bml0ID0+IHVuaXQuYWN0aXZlKTtcbiAgICAgICAgICAgICAgICBmbG9vcnBsYW5EYXRhLnVuaXRzID0gYWN0aXZlVW5pdHM7XG4gICAgICAgICAgICAgICAgc2V0Rmxvb3JwbGFuKGZsb29ycGxhbkRhdGEpO1xuICAgICAgICAgICAgICAgIHNldEZsb29ycGxhblZhcmlhdGlvbnMoZGF0YVsxXSk7XG4gICAgICAgICAgICAgICAgc2V0U2ltaWxhckZsb29ycGxhbnMoZGF0YVsyXSk7XG4gICAgICAgICAgICAgICAgc2V0VGVzdGltb25pYWxzKGRhdGFbM10pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RXJyb3JMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICB9LCBbZmxvb3JwbGFuSWRdKTtcbiAgICByZXR1cm4gKFxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uLWZsb29ycGxhblwiPlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlzTG9hZGluZyA/IDxzZWN0aW9uIGNsYXNzTmFtZT1cInNlY3Rpb24tZmxvb3JwbGFuLS1oZXJvXCI+PEdhbGxlcnlIZXJvU2tlbGV0b24vPjwvc2VjdGlvbj4gOiA8PlxuICAgICAgICAgICAgICAgICAgICB7ZXJyb3JMb2FkaW5nID9cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cImRpdi1mdWxsLS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+VWgtb2gsIHRoaXMgaXMgYSA0MDQ8L2gyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPiA6XG4gICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGbG9vcnBsYW5IZXJvIGZsb29ycGxhbj17Zmxvb3JwbGFufSBjb250YWN0Q2xpY2tIYW5kbGVyPXtjb250YWN0Q2xpY2tIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGx5Q2xpY2tIYW5kbGVyPXthcHBseUNsaWNrSGFuZGxlcn0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS1jYXJkc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJEZXRhaWxzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNhcmQtLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4uYmVkcm9vbX0gQmVkcm9vbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHtmbG9vcnBsYW4uYmF0aHJvb219IEJhdGhyb29tIHtlbnVtVG9TdHJpbmcoZmxvb3JwbGFuLnN0eWxlKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNhcmQtLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cmFuZ2VGcm9tKGZsb29ycGxhbi51bml0cywgXCJzcXVhcmVGb290XCIpfSBTcXVhcmUgRmVldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY2FyZC0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtyYW5nZUZyb20oZmxvb3JwbGFuLnVuaXRzLCBcInJlbnRcIil9L21vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi1jYXJkLS1mZWF0dXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3JhbmdlRnJvbShmbG9vcnBsYW4udW5pdHMsIFwiZGVwb3NpdFwiKX0gU2VjdXJpdHkgRGVwb3NpdDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLmFtZW5pdGllcy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJBbWVuaXRpZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW4uYW1lbml0aWVzLmZpbHRlcihhbWVuaXR5ID0+IGFtZW5pdHkuZmVhdHVyZWQpLm1hcChhbWVuaXR5ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi1jYXJkLS1mZWF0dXJlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17XCJmbG9vcnBsYW4tYW1lbml0eS1mZWF0dXJlZC1cIiArIGFtZW5pdHkuaWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2FtZW5pdHkubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW4uYW1lbml0aWVzLmZpbHRlcihhbWVuaXR5ID0+ICFhbWVuaXR5LmZlYXR1cmVkKS5tYXAoYW1lbml0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17XCJmbG9vcnBsYW4tYW1lbml0eS1cIiArIGFtZW5pdHkuaWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHthbWVuaXR5Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW5WYXJpYXRpb25zLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlZhcmlhdGlvbnM8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuVmFyaWF0aW9ucy5tYXAoKHZhcmlhdGlvbiwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBrZXk9e1wiZmxvb3JwbGFuLXZhcmlhdGlvbi1cIiArIGl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YXJpYXRpb24udmFyaWF0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+IDogPD48Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RpbW9uaWFscy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRlc3RpbW9uaWFsc0NhcmQgdGVzdGltb25pYWxzPXt0ZXN0aW1vbmlhbHN9Lz4gOiA8PjwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1hcFNlY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXthZGRyZXNzVG9Hb29nbGVNYXAoZmxvb3JwbGFuLnVuaXRzWzBdPy5hZGRyZXNzLCBmbG9vcnBsYW4udW5pdHNbMF0/LnppcGNvZGUpfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkIHRpdGxlPVwiUGV0c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5QZXJtaXR0ZWQ8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVybWl0dGVkUGV0cyhmbG9vcnBsYW4pLm1hcCgocGV0LCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBrZXk9e1wiZmxvb3JwbGFuLXBlcm1pdHRlZC1wZXQtXCIgKyBpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3BldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bm90UGVybWl0dGVkUGV0cyhmbG9vcnBsYW4pLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PjxoNT5Ob3QgUGVybWl0dGVkPC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdFBlcm1pdHRlZFBldHMoZmxvb3JwbGFuKS5tYXAoKHBldCwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBrZXk9e1wiZmxvb3JwbGFuLW5vdC1wZXJtaXR0ZWQtcGV0LVwiICsgaX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3BldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwifVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXRQb2xpY3koZmxvb3JwbGFuKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5BZGRpdGlvbmFsIEluZm9ybWF0aW9uPC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57cGV0UG9saWN5KGZsb29ycGxhbil9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJVdGlsaXRpZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+UGFpZCBCeSBMYW5kbG9yZDwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW4udXRpbGl0aWVzLmZpbHRlcih1dGlsaXR5ID0+IHV0aWxpdHkudHlwZSA9PT0gVXRpbGl0eVR5cGUuSU5DTFVERURfVVRJTElUWSkubWFwKHV0aWxpdHkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtcImZsb29ycGxhbi1pbmNsdWRlZC11dGlsaXR5LVwiICsgdXRpbGl0eS5pZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjYXBpdGFsaXplRmlyc3RMZXR0ZXIodXRpbGl0eS5uYW1lKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+UGFpZCBCeSBUZW5hbnQ8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLnV0aWxpdGllcy5maWx0ZXIodXRpbGl0eSA9PiB1dGlsaXR5LnR5cGUgPT09IFV0aWxpdHlUeXBlLlJFU0lERU5UX1VUSUxJVFkpLm1hcCh1dGlsaXR5ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17XCJmbG9vcnBsYW4tcmVzaWRlbnQtdXRpbGl0eS1cIiArIHV0aWxpdHkuaWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHV0aWxpdHkubmFtZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzaW1pbGFyRmxvb3JwbGFucy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2ltaWxhckZsb29ycGxhbkNhcmQgc2ltaWxhckZsb29ycGxhbnM9e3NpbWlsYXJGbG9vcnBsYW5zfS8+IDogXCJcIn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWN0LWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCBmZWF0dXJlZD17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxpPlF1ZXN0aW9ucz88L2k+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aT5DYWxsIG9yIHRleHQgdXMgYW55dGltZTo8L2k+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17XCJ0ZWw6XCIgKyBjb250YWN0UGhvbmV9Pntmb3JtYXRQaG9uZU51bWJlcihjb250YWN0UGhvbmUpfTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiIG9uQ2xpY2s9e2NvbnRhY3RDbGlja0hhbmRsZXJ9IHNpemU9XCJsYXJnZVwiPkNvbnRhY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDCuzwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvb3JwbGFuU2VjdGlvblByb3BzIHtcbiAgICBjb250YWN0Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGFwcGx5Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGZsb29ycGxhbklkOiBzdHJpbmc7XG4gICAgY29udGFjdFBob25lPzogc3RyaW5nO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFD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
|
|
243
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGbG9vcnBsYW5TZWN0aW9uIiwiY29udGFjdENsaWNrSGFuZGxlciIsImFwcGx5Q2xpY2tIYW5kbGVyIiwiZmxvb3JwbGFuSWQiLCJ1c2VTdGF0ZSIsImZsb29ycGxhbiIsInNldEZsb29ycGxhbiIsInNpbWlsYXJGbG9vcnBsYW5zIiwic2V0U2ltaWxhckZsb29ycGxhbnMiLCJmbG9vcnBsYW5WYXJpYXRpb25zIiwic2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyIsInRlc3RpbW9uaWFscyIsInNldFRlc3RpbW9uaWFscyIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsImVycm9yTG9hZGluZyIsInNldEVycm9yTG9hZGluZyIsIm1hcFJlZiIsInVzZVJlZiIsImhhbmRsZVJlZlRvTWFwIiwiY3VycmVudCIsInNjcm9sbEludG9WaWV3IiwiYmVoYXZpb3IiLCJibG9jayIsInVzZUVmZmVjdCIsIlByb21pc2UiLCJhbGwiLCJnZXRGbG9vcnBsYW4iLCJnZXRGbG9vcnBsYW5WYXJpYXRpb25zIiwiZ2V0U2ltaWxhckZsb29ycGxhbnMiLCJnZXRUZXN0aW1vbmlhbHMiLCJ0aGVuIiwiZGF0YSIsImZsb29ycGxhbkRhdGEiLCJhY3RpdmVVbml0cyIsInVuaXRzIiwiZmlsdGVyIiwidW5pdCIsImFjdGl2ZSIsImNhdGNoIiwiZmluYWxseSIsImF2YWlsYWJsZURhdGVzIiwic29ydEF2YWlsYWJpbGVEYXRlcyIsImEiLCJiIiwibW9tZW50IiwiZGlmZiIsImRhdGVzIiwiU2V0IiwiZm9yRWFjaCIsImFkZCIsImRhdGVUb01vbWVudCIsIm1vdmVJbkRhdGUiLCJmb3JtYXQiLCJBcnJheSIsImZyb20iLCJzb3J0IiwiYmVkcm9vbSIsImJhdGhyb29tIiwiZW51bVRvU3RyaW5nIiwic3R5bGUiLCJyYW5nZUZyb20iLCJkZXNjcmlwdGlvbiIsImFtZW5pdGllcyIsImxlbmd0aCIsImFtZW5pdHkiLCJmZWF0dXJlZCIsIm1hcCIsImlkIiwibmFtZSIsInZhcmlhdGlvbiIsImkiLCJhZGRyZXNzVG9Hb29nbGVNYXAiLCJhZGRyZXNzIiwiemlwY29kZSIsInBlcm1pdHRlZFBldHMiLCJwZXQiLCJub3RQZXJtaXR0ZWRQZXRzIiwicGV0UG9saWN5IiwiYXZhaWxhYmxlRGF0ZSIsImNhcGl0YWxpemVGaXJzdExldHRlciIsInV0aWxpdGllcyIsInV0aWxpdHkiLCJ0eXBlIiwiVXRpbGl0eVR5cGUiLCJJTkNMVURFRF9VVElMSVRZIiwiUkVTSURFTlRfVVRJTElUWSIsInByb3BlcnR5IiwicGhvbmUiLCJmb3JtYXRQaG9uZU51bWJlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mbG9vcnBsYW4vc2VjdGlvbi9GbG9vcnBsYW5TZWN0aW9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGV9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtGbG9vcnBsYW4sIEZsb29ycGxhblZhcmlhdGlvbiwgU2ltaWxhckZsb29ycGxhbiwgVGVzdGltb25pYWwsIFV0aWxpdHlUeXBlfSBmcm9tIFwiLi4vZGF0YS9GbG9vcnBsYW5cIjtcbmltcG9ydCB7XG4gICAgZ2V0Rmxvb3JwbGFuLFxuICAgIGdldEZsb29ycGxhblZhcmlhdGlvbnMsXG4gICAgZ2V0U2ltaWxhckZsb29ycGxhbnMsXG4gICAgZ2V0VGVzdGltb25pYWxzLFxuICAgIG5vdFBlcm1pdHRlZFBldHMsXG4gICAgcGVybWl0dGVkUGV0cyxcbiAgICBwZXRQb2xpY3lcbn0gZnJvbSBcIi4uL3NlcnZpY2UvRmxvb3JwbGFuU2VydmljZVwiO1xuaW1wb3J0IFwiLi9hc3NldHMvRmxvb3JwbGFuU2VjdGlvbi5zY3NzXCI7XG5pbXBvcnQge0dhbGxlcnlIZXJvU2tlbGV0b259IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dhbGxlcnlIZXJvU2tlbGV0b25cIjtcbmltcG9ydCB7Rmxvb3JwbGFuSGVyb30gZnJvbSBcIi4vRmxvb3JwbGFuSGVyb1wiO1xuaW1wb3J0IHtcbiAgICBhZGRyZXNzVG9Hb29nbGVNYXAsXG4gICAgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyLFxuICAgIGRhdGVUb01vbWVudCxcbiAgICBlbnVtVG9TdHJpbmcsXG4gICAgZm9ybWF0UGhvbmVOdW1iZXIsXG4gICAgcmFuZ2VGcm9tXG59IGZyb20gXCIuLi8uLi91dGlscy9VdGlsc1wiO1xuaW1wb3J0IHtDYXJkfSBmcm9tIFwiLi4vLi4vY2FyZC9DYXJkXCI7XG5pbXBvcnQge1Rlc3RpbW9uaWFsc0NhcmR9IGZyb20gXCIuLi9jYXJkL1Rlc3RpbW9uaWFsc0NhcmRcIjtcbmltcG9ydCB7TWFwU2VjdGlvbn0gZnJvbSBcIi4uLy4uL21hcC9NYXBTZWN0aW9uXCI7XG5pbXBvcnQge1NpbWlsYXJGbG9vcnBsYW5DYXJkfSBmcm9tIFwiLi4vY2FyZC9TaW1pbGFyRmxvb3JwbGFuQ2FyZFwiO1xuaW1wb3J0IHtCdXR0b24sIExpLCBVbH0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5cbmV4cG9ydCBjb25zdCBGbG9vcnBsYW5TZWN0aW9uOiBSZWFjdC5GQzxGbG9vcnBsYW5TZWN0aW9uUHJvcHM+ID0gKFxuICAgIHtcbiAgICAgICAgY29udGFjdENsaWNrSGFuZGxlcixcbiAgICAgICAgYXBwbHlDbGlja0hhbmRsZXIsXG4gICAgICAgIGZsb29ycGxhbklkXG4gICAgfSkgPT4ge1xuICAgIGNvbnN0IFtmbG9vcnBsYW4sIHNldEZsb29ycGxhbl0gPSB1c2VTdGF0ZTxGbG9vcnBsYW4+KHt9IGFzIEZsb29ycGxhbik7XG4gICAgY29uc3QgW3NpbWlsYXJGbG9vcnBsYW5zLCBzZXRTaW1pbGFyRmxvb3JwbGFuc10gPSB1c2VTdGF0ZTxTaW1pbGFyRmxvb3JwbGFuW10+KFtdKTtcbiAgICBjb25zdCBbZmxvb3JwbGFuVmFyaWF0aW9ucywgc2V0Rmxvb3JwbGFuVmFyaWF0aW9uc10gPSB1c2VTdGF0ZTxGbG9vcnBsYW5WYXJpYXRpb25bXT4oW10pO1xuICAgIGNvbnN0IFt0ZXN0aW1vbmlhbHMsIHNldFRlc3RpbW9uaWFsc10gPSB1c2VTdGF0ZTxUZXN0aW1vbmlhbFtdPihbXSk7XG4gICAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFtlcnJvckxvYWRpbmcsIHNldEVycm9yTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICBjb25zdCBtYXBSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IGhhbmRsZVJlZlRvTWFwID0gKCkgPT4ge1xuICAgICAgICBtYXBSZWYuY3VycmVudD8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgICAgICAgICBibG9jazogXCJjZW50ZXJcIlxuICAgICAgICB9KTtcbiAgICB9O1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgIGdldEZsb29ycGxhbihmbG9vcnBsYW5JZCksXG4gICAgICAgICAgICBnZXRGbG9vcnBsYW5WYXJpYXRpb25zKGZsb29ycGxhbklkKSxcbiAgICAgICAgICAgIGdldFNpbWlsYXJGbG9vcnBsYW5zKGZsb29ycGxhbklkKSxcbiAgICAgICAgICAgIGdldFRlc3RpbW9uaWFscyhmbG9vcnBsYW5JZClcbiAgICAgICAgXSlcbiAgICAgICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmxvb3JwbGFuRGF0YSA9IHsuLi5kYXRhWzBdfTtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVVbml0cyA9IGZsb29ycGxhbkRhdGEudW5pdHMuZmlsdGVyKHVuaXQgPT4gdW5pdC5hY3RpdmUpO1xuICAgICAgICAgICAgICAgIGZsb29ycGxhbkRhdGEudW5pdHMgPSBhY3RpdmVVbml0cztcbiAgICAgICAgICAgICAgICBzZXRGbG9vcnBsYW4oZmxvb3JwbGFuRGF0YSk7XG4gICAgICAgICAgICAgICAgc2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyhkYXRhWzFdKTtcbiAgICAgICAgICAgICAgICBzZXRTaW1pbGFyRmxvb3JwbGFucyhkYXRhWzJdKTtcbiAgICAgICAgICAgICAgICBzZXRUZXN0aW1vbmlhbHMoZGF0YVszXSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRFcnJvckxvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICB9KTtcblxuICAgIH0sIFtmbG9vcnBsYW5JZF0pO1xuXG4gICAgY29uc3QgYXZhaWxhYmxlRGF0ZXMgPSAoKTogc3RyaW5nW10gPT4ge1xuICAgICAgICBjb25zdCBzb3J0QXZhaWxhYmlsZURhdGVzID0gKGE6IHN0cmluZywgYjogc3RyaW5nKSA9PiBtb21lbnQoYSwgXCJNTU1NIFlZWVlcIikuZGlmZihtb21lbnQoYiwgXCJNTU1NIFlZWVlcIikpO1xuICAgICAgICBjb25zdCBkYXRlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgICBmbG9vcnBsYW4udW5pdHMuZm9yRWFjaCh1bml0ID0+IHtcbiAgICAgICAgICAgIGRhdGVzLmFkZChkYXRlVG9Nb21lbnQodW5pdC5tb3ZlSW5EYXRlKS5mb3JtYXQoXCJNTU1NIFlZWVlcIikpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShkYXRlcykuc29ydChzb3J0QXZhaWxhYmlsZURhdGVzKTtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwic2VjdGlvbi1mbG9vcnBsYW5cIj5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpc0xvYWRpbmcgPyA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uLWZsb29ycGxhbi0taGVyb1wiPjxHYWxsZXJ5SGVyb1NrZWxldG9uLz48L3NlY3Rpb24+IDogPD5cbiAgICAgICAgICAgICAgICAgICAge2Vycm9yTG9hZGluZyA/XG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJkaXYtZnVsbC0tY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPlVoLW9oLCB0aGlzIGlzIGEgNDA0PC9oMj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4gOlxuICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rmxvb3JwbGFuSGVybyBmbG9vcnBsYW49e2Zsb29ycGxhbn0gY29udGFjdENsaWNrSGFuZGxlcj17Y29udGFjdENsaWNrSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBseUNsaWNrSGFuZGxlcj17YXBwbHlDbGlja0hhbmRsZXJ9IGhhbmRsZVJlZlRvTWFwPXtoYW5kbGVSZWZUb01hcH0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS1jYXJkc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJEZXRhaWxzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNhcmQtLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4uYmVkcm9vbX0gQmVkcm9vbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHtmbG9vcnBsYW4uYmF0aHJvb219IEJhdGhyb29tIHtlbnVtVG9TdHJpbmcoZmxvb3JwbGFuLnN0eWxlKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNhcmQtLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyYW5nZUZyb20oZmxvb3JwbGFuLnVuaXRzLCBcInNxdWFyZUZvb3RcIil9IFNxdWFyZSBGZWV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi1jYXJkLS1mZWF0dXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3JhbmdlRnJvbShmbG9vcnBsYW4udW5pdHMsIFwicmVudFwiKX0vbW9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNhcmQtLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cmFuZ2VGcm9tKGZsb29ycGxhbi51bml0cywgXCJkZXBvc2l0XCIpfSBTZWN1cml0eSBEZXBvc2l0PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW4uYW1lbml0aWVzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCB0aXRsZT1cIkFtZW5pdGllc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLmFtZW5pdGllcy5maWx0ZXIoYW1lbml0eSA9PiBhbWVuaXR5LmZlYXR1cmVkKS5tYXAoYW1lbml0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tYW1lbml0eS1cIiArIGFtZW5pdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNGZWF0dXJlZD17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2FtZW5pdHkubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW4uYW1lbml0aWVzLmZpbHRlcihhbWVuaXR5ID0+ICFhbWVuaXR5LmZlYXR1cmVkKS5tYXAoYW1lbml0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tYW1lbml0eS1cIiArIGFtZW5pdHkuaWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHthbWVuaXR5Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW5WYXJpYXRpb25zLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlZhcmlhdGlvbnM8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuVmFyaWF0aW9ucy5tYXAoKHZhcmlhdGlvbiwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLXZhcmlhdGlvbi1cIiArIGl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YXJpYXRpb24udmFyaWF0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+IDogPD48Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RpbW9uaWFscy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRlc3RpbW9uaWFsc0NhcmQgdGVzdGltb25pYWxzPXt0ZXN0aW1vbmlhbHN9Lz4gOiA8PjwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiByZWY9e21hcFJlZn0gaWQ9XCJsb2NhdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFwU2VjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXthZGRyZXNzVG9Hb29nbGVNYXAoZmxvb3JwbGFuLnVuaXRzWzBdPy5hZGRyZXNzLCBmbG9vcnBsYW4udW5pdHNbMF0/LnppcGNvZGUpfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkIHRpdGxlPVwiUGV0c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5QZXJtaXR0ZWQ8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVybWl0dGVkUGV0cyhmbG9vcnBsYW4pLm1hcCgocGV0LCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLXBlcm1pdHRlZC1wZXQtXCIgKyBpfSBidWxsZXRJY29uPVwiY2hlY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRDb2xvcj1cImdyZWVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge25vdFBlcm1pdHRlZFBldHMoZmxvb3JwbGFuKS5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD48aDU+Tm90IFBlcm1pdHRlZDwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RQZXJtaXR0ZWRQZXRzKGZsb29ycGxhbikubWFwKChwZXQsIGkpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi1ub3QtcGVybWl0dGVkLXBldC1cIiArIGl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0Q29sb3I9XCJicm93blwiIGJ1bGxldEljb249XCJjbG9zZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGV0UG9saWN5KGZsb29ycGxhbikgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+QWRkaXRpb25hbCBJbmZvcm1hdGlvbjwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3BldFBvbGljeShmbG9vcnBsYW4pfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJBdmFpbGFiaWxpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZURhdGVzKCkubWFwKGF2YWlsYWJsZURhdGUgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi11bml0LWF2YWlsYWJpbGl0eS1cIiArIGF2YWlsYWJsZURhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJjYWxlbmRhclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdmFpbGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gPHN0cm9uZz57Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGF2YWlsYWJsZURhdGUpfTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkIHRpdGxlPVwiVXRpbGl0aWVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlBhaWQgQnkgTGFuZGxvcmQ8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLnV0aWxpdGllcy5maWx0ZXIodXRpbGl0eSA9PiB1dGlsaXR5LnR5cGUgPT09IFV0aWxpdHlUeXBlLklOQ0xVREVEX1VUSUxJVFkpLm1hcCh1dGlsaXR5ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4taW5jbHVkZWQtdXRpbGl0eS1cIiArIHV0aWxpdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJob21lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjYXBpdGFsaXplRmlyc3RMZXR0ZXIodXRpbGl0eS5uYW1lKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+UGFpZCBCeSBUZW5hbnQ8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLnV0aWxpdGllcy5maWx0ZXIodXRpbGl0eSA9PiB1dGlsaXR5LnR5cGUgPT09IFV0aWxpdHlUeXBlLlJFU0lERU5UX1VUSUxJVFkpLm1hcCh1dGlsaXR5ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tcmVzaWRlbnQtdXRpbGl0eS1cIiArIHV0aWxpdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJkb2xsYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NhcGl0YWxpemVGaXJzdExldHRlcih1dGlsaXR5Lm5hbWUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c2ltaWxhckZsb29ycGxhbnMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNpbWlsYXJGbG9vcnBsYW5DYXJkIHNpbWlsYXJGbG9vcnBsYW5zPXtzaW1pbGFyRmxvb3JwbGFuc30vPiA6IFwiXCJ9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFjdC1jYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgZmVhdHVyZWQ9e3RydWV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aT5RdWVzdGlvbnM/PC9pPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGk+Q2FsbCBvciB0ZXh0IHVzIGFueXRpbWU6PC9pPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5wcm9wZXJ0eT8ucGhvbmUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPXtcInRlbDpcIiArIGZsb29ycGxhbi5wcm9wZXJ0eS5waG9uZX0+e2Zvcm1hdFBob25lTnVtYmVyKGZsb29ycGxhbi5wcm9wZXJ0eS5waG9uZSl9PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiIG9uQ2xpY2s9e2NvbnRhY3RDbGlja0hhbmRsZXJ9IHNpemU9XCJsYXJnZVwiPkNvbnRhY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDCuzwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvb3JwbGFuU2VjdGlvblByb3BzIHtcbiAgICBjb250YWN0Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGFwcGx5Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGZsb29ycGxhbklkOiBzdHJpbmc7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQVNBOztBQUNBOztBQUNBOztBQUNBOztBQVFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVPLElBQU1BLGdCQUFpRCxHQUFHLFNBQXBEQSxnQkFBb0QsT0FLdkQ7RUFBQTs7RUFBQSxJQUhGQyxtQkFHRSxRQUhGQSxtQkFHRTtFQUFBLElBRkZDLGlCQUVFLFFBRkZBLGlCQUVFO0VBQUEs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
|
|
@@ -2,13 +2,13 @@ import React from "react";
|
|
|
2
2
|
import "./assets/FloorplansHeader.scss";
|
|
3
3
|
import "../filter/assets/FloorplanDropDown.scss";
|
|
4
4
|
import { FloorplanFilters } from "../data/FloorplanFilters";
|
|
5
|
-
import {
|
|
5
|
+
import { FloorplanCardData } from "../data/Floorplan";
|
|
6
6
|
export declare const FloorplansHeader: React.FC<FloorplansHeaderProps>;
|
|
7
7
|
export interface FloorplansHeaderProps {
|
|
8
8
|
title?: string;
|
|
9
9
|
filters: FloorplanFilters;
|
|
10
|
-
floorplans:
|
|
11
|
-
setCurrentFloorplans: (floorplans:
|
|
10
|
+
floorplans: FloorplanCardData[];
|
|
11
|
+
setCurrentFloorplans: (floorplans: FloorplanCardData[]) => void;
|
|
12
12
|
isCondensed?: boolean;
|
|
13
13
|
currentFloorplansCount: number;
|
|
14
14
|
}
|
|
@@ -270,4 +270,4 @@ var FloorplansHeader = function FloorplansHeader(_ref) {
|
|
|
270
270
|
};
|
|
271
271
|
|
|
272
272
|
exports.FloorplansHeader = FloorplansHeader;
|
|
273
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGbG9vcnBsYW5zSGVhZGVyIiwidGl0bGUiLCJmaWx0ZXJzIiwiZmxvb3JwbGFucyIsInNldEN1cnJlbnRGbG9vcnBsYW5zIiwiaXNDb25kZW5zZWQiLCJjdXJyZW50Rmxvb3JwbGFuc0NvdW50IiwidXNlU3RhdGUiLCJiZWRyb29tRmlsdGVycyIsInNldEJlZHJvb21GaWx0ZXJzIiwiYXZhaWxhYmlsaXR5RmlsdGVycyIsInNldEF2YWlsYWJpbGl0eUZpbHRlcnMiLCJzdHlsZUZpbHRlcnMiLCJzZXRTdHlsZUZpbHRlcnMiLCJkZWZhdWx0TWluUmVudCIsIm1pblJlbnQiLCJzZXRNaW5SZW50IiwiZGVmYXVsdE1heFJlbnQiLCJtYXhSZW50Iiwic2V0TWF4UmVudCIsInNvcnRCeSIsInNldFNvcnRCeSIsImN1cnJlbnRGaWx0ZXJzIiwiaGFuZGxlU29ydEFuZEZpbHRlciIsIndpdGhDdXJyZW50RmlsdGVycyIsInNvcnRBbmRGaWx0ZXIiLCJoYW5kbGVNaW5SZW50Q2hhbmdlIiwicmVudCIsImhhbmRsZU1heFJlbnRDaGFuZ2UiLCJoYW5kbGVCZWRyb29tRmlsdGVyQ2hhbmdlIiwiZmlsdGVyIiwiaW5kZXgiLCJpbmRleE9mIiwiY3VycmVudEJlZHJvb21GaWx0ZXJzIiwic3BsaWNlIiwicHVzaCIsImhhbmRsZUF2YWlsYWJpbGl0eUZpbHRlckNoYW5nZSIsImN1cnJlbnRBdmFpbGFiaWxpdHlGaWx0ZXJzIiwiaGFuZGxlUHJpY2VDaGFuZ2UiLCJyYW5nZSIsIm1pbiIsIm1heCIsImhhbmRsZVN0eWxlRmlsdGVyQ2hhbmdlIiwiY3VycmVudFN5bGVGaWx0ZXJzIiwiaGFuZGxlU29ydENoYW5nZSIsImJlZHJvb20iLCJhdmFpbGFiaWxpdHkiLCJzdHlsZSIsInNvcnQiLCJzb3J0QmVkcm9vbXMiLCJtYXAiLCJzb3J0QXZhaWxhYmlsaXR5IiwidG9TdHJpbmciLCJjYXBpdGFsaXplRmlyc3RMZXR0ZXIiLCJlbnVtVG9TdHJpbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmxvb3JwbGFuL3NlY3Rpb24vRmxvb3JwbGFuc0hlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlU3RhdGV9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFwiLi9hc3NldHMvRmxvb3JwbGFuc0hlYWRlci5zY3NzXCI7XG5pbXBvcnQgXCIuLi9maWx0ZXIvYXNzZXRzL0Zsb29ycGxhbkRyb3BEb3duLnNjc3NcIjtcbmltcG9ydCB7SWNvbiwgUGlsbCwgUmFuZ2V9IGZyb20gXCJAY29udGVudG11bmNoL211bmNoZXItdWlcIjtcblxuaW1wb3J0IHtDdXJyZW50RmlsdGVycywgRmxvb3JwbGFuRmlsdGVycywgU29ydEJ5fSBmcm9tIFwiLi4vZGF0YS9GbG9vcnBsYW5GaWx0ZXJzXCI7XG5pbXBvcnQge2RlZmF1bHRNYXhSZW50LCBkZWZhdWx0TWluUmVudH0gZnJvbSBcIi4uL2RhdGEvRmxvb3JwbGFuXCI7XG5pbXBvcnQge0JlZHJvb21GaWx0ZXIsIHNvcnRCZWRyb29tc30gZnJvbSBcIi4vZmlsdGVyL0JlZHJvb21cIjtcbmltcG9ydCB7c29ydEFuZEZpbHRlcn0gZnJvbSBcIi4uL3NlcnZpY2UvRmxvb3JwbGFuU2VydmljZVwiO1xuaW1wb3J0IHtNb250aH0gZnJvbSBcIi4uL2RhdGEvQ2FsZW5kYXJcIjtcbmltcG9ydCB7QXZhaWxhYmlsaXR5RmlsdGVyLCBzb3J0QXZhaWxhYmlsaXR5fSBmcm9tIFwiLi9maWx0ZXIvQXZhaWxhYmlsaXR5XCI7XG5pbXBvcnQge1ByaWNlRmlsdGVyfSBmcm9tIFwiLi9maWx0ZXIvUHJpY2VcIjtcbmltcG9ydCB7U3R5bGVGaWx0ZXJ9IGZyb20gXCIuL2ZpbHRlci9TdHlsZVwiO1xuaW1wb3J0IHtTb3J0fSBmcm9tIFwiLi9maWx0ZXIvU29ydFwiO1xuaW1wb3J0IHtGbG9vcnBsYW5EZXRhaWxzLCBGbG9vcnBsYW5TdHlsZX0gZnJvbSBcIi4uL2RhdGEvRmxvb3JwbGFuXCI7XG5pbXBvcnQge2NhcGl0YWxpemVGaXJzdExldHRlciwgZW51bVRvU3RyaW5nfSBmcm9tIFwiLi4vLi4vdXRpbHMvVXRpbHNcIjtcblxuZXhwb3J0IGNvbnN0IEZsb29ycGxhbnNIZWFkZXI6IFJlYWN0LkZDPEZsb29ycGxhbnNIZWFkZXJQcm9wcz4gPSAoXG4gICAge1xuICAgICAgICB0aXRsZSxcbiAgICAgICAgZmlsdGVycyxcbiAgICAgICAgZmxvb3JwbGFucyxcbiAgICAgICAgc2V0Q3VycmVudEZsb29ycGxhbnMsXG4gICAgICAgIGlzQ29uZGVuc2VkLFxuICAgICAgICBjdXJyZW50Rmxvb3JwbGFuc0NvdW50XG4gICAgfSkgPT4ge1xuXG4gICAgY29uc3QgW2JlZHJvb21GaWx0ZXJzLCBzZXRCZWRyb29tRmlsdGVyc10gPSB1c2VTdGF0ZTxudW1iZXJbXT4oW10pO1xuICAgIGNvbnN0IFthdmFpbGFiaWxpdHlGaWx0ZXJzLCBzZXRBdmFpbGFiaWxpdHlGaWx0ZXJzXSA9IHVzZVN0YXRlPE1vbnRoW10+KFtdKTtcbiAgICBjb25zdCBbc3R5bGVGaWx0ZXJzLCBzZXRTdHlsZUZpbHRlcnNdID0gdXNlU3RhdGU8Rmxvb3JwbGFuU3R5bGVbXT4oW10pO1xuICAgIGNvbnN0IFttaW5SZW50LCBzZXRNaW5SZW50XSA9IHVzZVN0YXRlPG51bWJlcj4oZGVmYXVsdE1pblJlbnQpO1xuICAgIGNvbnN0IFttYXhSZW50LCBzZXRNYXhSZW50XSA9IHVzZVN0YXRlPG51bWJlcj4oZGVmYXVsdE1heFJlbnQpO1xuICAgIGNvbnN0IFtzb3J0QnksIHNldFNvcnRCeV0gPSB1c2VTdGF0ZTxTb3J0Qnk+KFwiZmVhdHVyZWRcIik7XG5cbiAgICBjb25zdCBjdXJyZW50RmlsdGVyczogQ3VycmVudEZpbHRlcnMgPSB7XG4gICAgICAgIGJlZHJvb21GaWx0ZXJzLCBhdmFpbGFiaWxpdHlGaWx0ZXJzLCBzdHlsZUZpbHRlcnMsIG1pblJlbnQsIG1heFJlbnQsIHNvcnRCeVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVTb3J0QW5kRmlsdGVyID0gKHdpdGhDdXJyZW50RmlsdGVyczogQ3VycmVudEZpbHRlcnMpID0+IHtcbiAgICAgICAgc2V0Q3VycmVudEZsb29ycGxhbnMoc29ydEFuZEZpbHRlcihmbG9vcnBsYW5zLCB3aXRoQ3VycmVudEZpbHRlcnMpKTtcbiAgICB9O1xuICAgIGNvbnN0IGhhbmRsZU1pblJlbnRDaGFuZ2UgPSAocmVudDogbnVtYmVyKSA9PiB7XG4gICAgICAgIHNldE1pblJlbnQocmVudCk7XG4gICAgICAgIGhhbmRsZVNvcnRBbmRGaWx0ZXIoey4uLmN1cnJlbnRGaWx0ZXJzLCBtaW5SZW50OiByZW50fSk7XG4gICAgfVxuICAgIGNvbnN0IGhhbmRsZU1heFJlbnRDaGFuZ2UgPSAocmVudDogbnVtYmVyKSA9PiB7XG4gICAgICAgIHNldE1heFJlbnQocmVudCk7XG4gICAgICAgIGhhbmRsZVNvcnRBbmRGaWx0ZXIoey4uLmN1cnJlbnRGaWx0ZXJzLCBtYXhSZW50OiByZW50fSk7XG4gICAgfVxuICAgIGNvbnN0IGhhbmRsZUJlZHJvb21GaWx0ZXJDaGFuZ2UgPSAoZmlsdGVyOiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSBiZWRyb29tRmlsdGVycy5pbmRleE9mKGZpbHRlcik7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRCZWRyb29tRmlsdGVycyA9IFsuLi5iZWRyb29tRmlsdGVyc107XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICBjdXJyZW50QmVkcm9vbUZpbHRlcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1cnJlbnRCZWRyb29tRmlsdGVycy5wdXNoKGZpbHRlcik7XG4gICAgICAgIH1cbiAgICAgICAgc2V0QmVkcm9vbUZpbHRlcnMoY3VycmVudEJlZHJvb21GaWx0ZXJzKTtcbiAgICAgICAgaGFuZGxlU29ydEFuZEZpbHRlcih7Li4uY3VycmVudEZpbHRlcnMsIGJlZHJvb21GaWx0ZXJzOiBjdXJyZW50QmVkcm9vbUZpbHRlcnN9KTtcbiAgICB9O1xuICAgIGNvbnN0IGhhbmRsZUF2YWlsYWJpbGl0eUZpbHRlckNoYW5nZSA9IChmaWx0ZXI6IE1vbnRoKSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gYXZhaWxhYmlsaXR5RmlsdGVycy5pbmRleE9mKGZpbHRlcik7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRBdmFpbGFiaWxpdHlGaWx0ZXJzID0gWy4uLmF2YWlsYWJpbGl0eUZpbHRlcnNdO1xuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgY3VycmVudEF2YWlsYWJpbGl0eUZpbHRlcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1cnJlbnRBdmFpbGFiaWxpdHlGaWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICAgICAgfVxuICAgICAgICBzZXRBdmFpbGFiaWxpdHlGaWx0ZXJzKGN1cnJlbnRBdmFpbGFiaWxpdHlGaWx0ZXJzKTtcbiAgICAgICAgaGFuZGxlU29ydEFuZEZpbHRlcih7Li4uY3VycmVudEZpbHRlcnMsIGF2YWlsYWJpbGl0eUZpbHRlcnM6IGN1cnJlbnRBdmFpbGFiaWxpdHlGaWx0ZXJzfSk7XG4gICAgfTtcbiAgICBjb25zdCBoYW5kbGVQcmljZUNoYW5nZSA9IChyYW5nZTogUmFuZ2UpID0+IHtcbiAgICAgICAgc2V0TWluUmVudChyYW5nZS5taW4pO1xuICAgICAgICBzZXRNYXhSZW50KHJhbmdlLm1heCk7XG4gICAgICAgIGhhbmRsZVNvcnRBbmRGaWx0ZXIoey4uLmN1cnJlbnRGaWx0ZXJzLCBtaW5SZW50OiByYW5nZS5taW4sIG1heFJlbnQ6IHJhbmdlLm1heH0pO1xuICAgIH1cbiAgICBjb25zdCBoYW5kbGVTdHlsZUZpbHRlckNoYW5nZSA9IChmaWx0ZXI6IEZsb29ycGxhblN0eWxlKSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gc3R5bGVGaWx0ZXJzLmluZGV4T2YoZmlsdGVyKTtcbiAgICAgICAgY29uc3QgY3VycmVudFN5bGVGaWx0ZXJzID0gWy4uLnN0eWxlRmlsdGVyc107XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICBjdXJyZW50U3lsZUZpbHRlcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1cnJlbnRTeWxlRmlsdGVycy5wdXNoKGZpbHRlcik7XG4gICAgICAgIH1cbiAgICAgICAgc2V0U3R5bGVGaWx0ZXJzKGN1cnJlbnRTeWxlRmlsdGVycyk7XG4gICAgICAgIGhhbmRsZVNvcnRBbmRGaWx0ZXIoey4uLmN1cnJlbnRGaWx0ZXJzLCBzdHlsZUZpbHRlcnM6IGN1cnJlbnRTeWxlRmlsdGVyc30pO1xuICAgIH07XG4gICAgY29uc3QgaGFuZGxlU29ydENoYW5nZSA9IChzb3J0Qnk6IFNvcnRCeSkgPT4ge1xuICAgICAgICBzZXRTb3J0Qnkoc29ydEJ5KTtcbiAgICAgICAgaGFuZGxlU29ydEFuZEZpbHRlcih7Li4uY3VycmVudEZpbHRlcnMsIHNvcnRCeTogc29ydEJ5fSk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwidW5pdHMtaGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17aXNDb25kZW5zZWQgPyBcIlwiIDogXCJjb250YWluZXJcIn0+XG4gICAgICAgICAgICAgICAgPGgyPnt0aXRsZX08L2gyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidW5pdHMtZmlsdGVyc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbHRlci1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImZpbHRlci1sYWJlbFwiPkZpbHRlciBCeTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJlZHJvb21GaWx0ZXIgZmlsdGVycz17ZmlsdGVycy5iZWRyb29tfSBoYW5kbGVGaWx0ZXJDaGFuZ2U9e2hhbmRsZUJlZHJvb21GaWx0ZXJDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEZpbHRlcnM9e2JlZHJvb21GaWx0ZXJzfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEF2YWlsYWJpbGl0eUZpbHRlciBmaWx0ZXJzPXtmaWx0ZXJzLmF2YWlsYWJpbGl0eX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUZpbHRlckNoYW5nZT17aGFuZGxlQXZhaWxhYmlsaXR5RmlsdGVyQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEZpbHRlcnM9e2F2YWlsYWJpbGl0eUZpbHRlcnN9Lz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcmljZUZpbHRlciBtaW5WYWx1ZT17bWluUmVudH0gbWF4VmFsdWU9e21heFJlbnR9IHNldE1pblZhbHVlPXtoYW5kbGVNaW5SZW50Q2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNYXhWYWx1ZT17aGFuZGxlTWF4UmVudENoYW5nZX0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZUZpbHRlciBmaWx0ZXJzPXtmaWx0ZXJzLnN0eWxlfSBoYW5kbGVGaWx0ZXJDaGFuZ2U9e2hhbmRsZVN0eWxlRmlsdGVyQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50RmlsdGVycz17c3R5bGVGaWx0ZXJzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsdGVyLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiZmlsdGVyLWxhYmVsXCI+U29ydCBCeTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNvcnQgc29ydEJ5PXtzb3J0Qnl9IGhhbmRsZVNvcnRDaGFuZ2U9e2hhbmRsZVNvcnRDaGFuZ2V9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBpbGxzXCI+XG4gICAgICAgICAgICAgICAgICAgIHtiZWRyb29tRmlsdGVycy5zb3J0KHNvcnRCZWRyb29tcykubWFwKGJlZHJvb20gPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFBpbGwga2V5PXtiZWRyb29tfSBwaWxsQ2xvc2VIYW5kbGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQmVkcm9vbUZpbHRlckNoYW5nZShiZWRyb29tKVxuICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2JlZHJvb20gKyBcIiBiZWRyb29tXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1BpbGw+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICB7YXZhaWxhYmlsaXR5RmlsdGVycy5zb3J0KHNvcnRBdmFpbGFiaWxpdHkpLm1hcCgoYXZhaWxhYmlsaXR5OiBNb250aCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFBpbGwga2V5PXthdmFpbGFiaWxpdHkudG9TdHJpbmcoKX0gcGlsbENsb3NlSGFuZGxlcj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUF2YWlsYWJpbGl0eUZpbHRlckNoYW5nZShhdmFpbGFiaWxpdHkpXG4gICAgICAgICAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YXZhaWxhYmlsaXR5LnRvU3RyaW5nKCkgKyBcIiBhdmFpbGFiaWxpdHlcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUGlsbD5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pblJlbnQgPT09IGRlZmF1bHRNaW5SZW50ICYmIG1heFJlbnQgPT09IGRlZmF1bHRNYXhSZW50ID8gXCJcIiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBpbGwga2V5PVwicmVudFwiIHBpbGxDbG9zZUhhbmRsZXI9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlUHJpY2VDaGFuZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluOiBkZWZhdWx0TWluUmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heDogZGVmYXVsdE1heFJlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1wiJFwiICsgbWluUmVudCArIFwiIC0gJFwiICsgbWF4UmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1BpbGw+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAge3N0eWxlRmlsdGVycy5tYXAoc3R5bGUgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFBpbGwga2V5PXtzdHlsZX0gcGlsbENsb3NlSGFuZGxlcj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVN0eWxlRmlsdGVyQ2hhbmdlKHN0eWxlKVxuICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2NhcGl0YWxpemVGaXJzdExldHRlcihlbnVtVG9TdHJpbmcoc3R5bGUpKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUGlsbD5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsdGVyLXJlc3VsdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEljb24gbmFtZT1cImZpbHRlclwiLz4mbmJzcDtUb3RhbDoge2N1cnJlbnRGbG9vcnBsYW5zQ291bnR9IFJlc3VsdHNcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9oZWFkZXI+XG4gICAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG9vcnBsYW5zSGVhZGVyUHJvcHMge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGZpbHRlcnM6IEZsb29ycGxhbkZpbHRlcnM7XG4gICAgZmxvb3JwbGFuczogRmxvb3JwbGFuRGV0YWlsc1tdO1xuICAgIHNldEN1cnJlbnRGbG9vcnBsYW5zOiAoZmxvb3JwbGFuczogRmxvb3JwbGFuRGV0YWlsc1tdKSA9PiB2b2lkO1xuICAgIGlzQ29uZGVuc2VkPzogYm9vbGVhbjtcbiAgICBjdXJyZW50Rmxvb3JwbGFuc0NvdW50OiBudW1iZXI7XG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7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
|
|
273
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGbG9vcnBsYW5zSGVhZGVyIiwidGl0bGUiLCJmaWx0ZXJzIiwiZmxvb3JwbGFucyIsInNldEN1cnJlbnRGbG9vcnBsYW5zIiwiaXNDb25kZW5zZWQiLCJjdXJyZW50Rmxvb3JwbGFuc0NvdW50IiwidXNlU3RhdGUiLCJiZWRyb29tRmlsdGVycyIsInNldEJlZHJvb21GaWx0ZXJzIiwiYXZhaWxhYmlsaXR5RmlsdGVycyIsInNldEF2YWlsYWJpbGl0eUZpbHRlcnMiLCJzdHlsZUZpbHRlcnMiLCJzZXRTdHlsZUZpbHRlcnMiLCJkZWZhdWx0TWluUmVudCIsIm1pblJlbnQiLCJzZXRNaW5SZW50IiwiZGVmYXVsdE1heFJlbnQiLCJtYXhSZW50Iiwic2V0TWF4UmVudCIsInNvcnRCeSIsInNldFNvcnRCeSIsImN1cnJlbnRGaWx0ZXJzIiwiaGFuZGxlU29ydEFuZEZpbHRlciIsIndpdGhDdXJyZW50RmlsdGVycyIsInNvcnRBbmRGaWx0ZXIiLCJoYW5kbGVNaW5SZW50Q2hhbmdlIiwicmVudCIsImhhbmRsZU1heFJlbnRDaGFuZ2UiLCJoYW5kbGVCZWRyb29tRmlsdGVyQ2hhbmdlIiwiZmlsdGVyIiwiaW5kZXgiLCJpbmRleE9mIiwiY3VycmVudEJlZHJvb21GaWx0ZXJzIiwic3BsaWNlIiwicHVzaCIsImhhbmRsZUF2YWlsYWJpbGl0eUZpbHRlckNoYW5nZSIsImN1cnJlbnRBdmFpbGFiaWxpdHlGaWx0ZXJzIiwiaGFuZGxlUHJpY2VDaGFuZ2UiLCJyYW5nZSIsIm1pbiIsIm1heCIsImhhbmRsZVN0eWxlRmlsdGVyQ2hhbmdlIiwiY3VycmVudFN5bGVGaWx0ZXJzIiwiaGFuZGxlU29ydENoYW5nZSIsImJlZHJvb20iLCJhdmFpbGFiaWxpdHkiLCJzdHlsZSIsInNvcnQiLCJzb3J0QmVkcm9vbXMiLCJtYXAiLCJzb3J0QXZhaWxhYmlsaXR5IiwidG9TdHJpbmciLCJjYXBpdGFsaXplRmlyc3RMZXR0ZXIiLCJlbnVtVG9TdHJpbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmxvb3JwbGFuL3NlY3Rpb24vRmxvb3JwbGFuc0hlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlU3RhdGV9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFwiLi9hc3NldHMvRmxvb3JwbGFuc0hlYWRlci5zY3NzXCI7XG5pbXBvcnQgXCIuLi9maWx0ZXIvYXNzZXRzL0Zsb29ycGxhbkRyb3BEb3duLnNjc3NcIjtcbmltcG9ydCB7SWNvbiwgUGlsbCwgUmFuZ2V9IGZyb20gXCJAY29udGVudG11bmNoL211bmNoZXItdWlcIjtcblxuaW1wb3J0IHtDdXJyZW50RmlsdGVycywgRmxvb3JwbGFuRmlsdGVycywgU29ydEJ5fSBmcm9tIFwiLi4vZGF0YS9GbG9vcnBsYW5GaWx0ZXJzXCI7XG5pbXBvcnQge2RlZmF1bHRNYXhSZW50LCBkZWZhdWx0TWluUmVudCwgRmxvb3JwbGFuQ2FyZERhdGF9IGZyb20gXCIuLi9kYXRhL0Zsb29ycGxhblwiO1xuaW1wb3J0IHtCZWRyb29tRmlsdGVyLCBzb3J0QmVkcm9vbXN9IGZyb20gXCIuL2ZpbHRlci9CZWRyb29tXCI7XG5pbXBvcnQge3NvcnRBbmRGaWx0ZXJ9IGZyb20gXCIuLi9zZXJ2aWNlL0Zsb29ycGxhblNlcnZpY2VcIjtcbmltcG9ydCB7TW9udGh9IGZyb20gXCIuLi9kYXRhL0NhbGVuZGFyXCI7XG5pbXBvcnQge0F2YWlsYWJpbGl0eUZpbHRlciwgc29ydEF2YWlsYWJpbGl0eX0gZnJvbSBcIi4vZmlsdGVyL0F2YWlsYWJpbGl0eVwiO1xuaW1wb3J0IHtQcmljZUZpbHRlcn0gZnJvbSBcIi4vZmlsdGVyL1ByaWNlXCI7XG5pbXBvcnQge1N0eWxlRmlsdGVyfSBmcm9tIFwiLi9maWx0ZXIvU3R5bGVcIjtcbmltcG9ydCB7U29ydH0gZnJvbSBcIi4vZmlsdGVyL1NvcnRcIjtcbmltcG9ydCB7Rmxvb3JwbGFuRGV0YWlscywgRmxvb3JwbGFuU3R5bGV9IGZyb20gXCIuLi9kYXRhL0Zsb29ycGxhblwiO1xuaW1wb3J0IHtjYXBpdGFsaXplRmlyc3RMZXR0ZXIsIGVudW1Ub1N0cmluZ30gZnJvbSBcIi4uLy4uL3V0aWxzL1V0aWxzXCI7XG5cbmV4cG9ydCBjb25zdCBGbG9vcnBsYW5zSGVhZGVyOiBSZWFjdC5GQzxGbG9vcnBsYW5zSGVhZGVyUHJvcHM+ID0gKFxuICAgIHtcbiAgICAgICAgdGl0bGUsXG4gICAgICAgIGZpbHRlcnMsXG4gICAgICAgIGZsb29ycGxhbnMsXG4gICAgICAgIHNldEN1cnJlbnRGbG9vcnBsYW5zLFxuICAgICAgICBpc0NvbmRlbnNlZCxcbiAgICAgICAgY3VycmVudEZsb29ycGxhbnNDb3VudFxuICAgIH0pID0+IHtcblxuICAgIGNvbnN0IFtiZWRyb29tRmlsdGVycywgc2V0QmVkcm9vbUZpbHRlcnNdID0gdXNlU3RhdGU8bnVtYmVyW10+KFtdKTtcbiAgICBjb25zdCBbYXZhaWxhYmlsaXR5RmlsdGVycywgc2V0QXZhaWxhYmlsaXR5RmlsdGVyc10gPSB1c2VTdGF0ZTxzdHJpbmdbXT4oW10pO1xuICAgIGNvbnN0IFtzdHlsZUZpbHRlcnMsIHNldFN0eWxlRmlsdGVyc10gPSB1c2VTdGF0ZTxGbG9vcnBsYW5TdHlsZVtdPihbXSk7XG4gICAgY29uc3QgW21pblJlbnQsIHNldE1pblJlbnRdID0gdXNlU3RhdGU8bnVtYmVyPihkZWZhdWx0TWluUmVudCk7XG4gICAgY29uc3QgW21heFJlbnQsIHNldE1heFJlbnRdID0gdXNlU3RhdGU8bnVtYmVyPihkZWZhdWx0TWF4UmVudCk7XG4gICAgY29uc3QgW3NvcnRCeSwgc2V0U29ydEJ5XSA9IHVzZVN0YXRlPFNvcnRCeT4oXCJmZWF0dXJlZFwiKTtcblxuICAgIGNvbnN0IGN1cnJlbnRGaWx0ZXJzOiBDdXJyZW50RmlsdGVycyA9IHtcbiAgICAgICAgYmVkcm9vbUZpbHRlcnMsIGF2YWlsYWJpbGl0eUZpbHRlcnMsIHN0eWxlRmlsdGVycywgbWluUmVudCwgbWF4UmVudCwgc29ydEJ5XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZVNvcnRBbmRGaWx0ZXIgPSAod2l0aEN1cnJlbnRGaWx0ZXJzOiBDdXJyZW50RmlsdGVycykgPT4ge1xuICAgICAgICBzZXRDdXJyZW50Rmxvb3JwbGFucyhzb3J0QW5kRmlsdGVyKGZsb29ycGxhbnMsIHdpdGhDdXJyZW50RmlsdGVycykpO1xuICAgIH07XG4gICAgY29uc3QgaGFuZGxlTWluUmVudENoYW5nZSA9IChyZW50OiBudW1iZXIpID0+IHtcbiAgICAgICAgc2V0TWluUmVudChyZW50KTtcbiAgICAgICAgaGFuZGxlU29ydEFuZEZpbHRlcih7Li4uY3VycmVudEZpbHRlcnMsIG1pblJlbnQ6IHJlbnR9KTtcbiAgICB9XG4gICAgY29uc3QgaGFuZGxlTWF4UmVudENoYW5nZSA9IChyZW50OiBudW1iZXIpID0+IHtcbiAgICAgICAgc2V0TWF4UmVudChyZW50KTtcbiAgICAgICAgaGFuZGxlU29ydEFuZEZpbHRlcih7Li4uY3VycmVudEZpbHRlcnMsIG1heFJlbnQ6IHJlbnR9KTtcbiAgICB9XG4gICAgY29uc3QgaGFuZGxlQmVkcm9vbUZpbHRlckNoYW5nZSA9IChmaWx0ZXI6IG51bWJlcikgPT4ge1xuICAgICAgICBjb25zdCBpbmRleCA9IGJlZHJvb21GaWx0ZXJzLmluZGV4T2YoZmlsdGVyKTtcbiAgICAgICAgY29uc3QgY3VycmVudEJlZHJvb21GaWx0ZXJzID0gWy4uLmJlZHJvb21GaWx0ZXJzXTtcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIGN1cnJlbnRCZWRyb29tRmlsdGVycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudEJlZHJvb21GaWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICAgICAgfVxuICAgICAgICBzZXRCZWRyb29tRmlsdGVycyhjdXJyZW50QmVkcm9vbUZpbHRlcnMpO1xuICAgICAgICBoYW5kbGVTb3J0QW5kRmlsdGVyKHsuLi5jdXJyZW50RmlsdGVycywgYmVkcm9vbUZpbHRlcnM6IGN1cnJlbnRCZWRyb29tRmlsdGVyc30pO1xuICAgIH07XG4gICAgY29uc3QgaGFuZGxlQXZhaWxhYmlsaXR5RmlsdGVyQ2hhbmdlID0gKGZpbHRlcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gYXZhaWxhYmlsaXR5RmlsdGVycy5pbmRleE9mKGZpbHRlcik7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRBdmFpbGFiaWxpdHlGaWx0ZXJzID0gWy4uLmF2YWlsYWJpbGl0eUZpbHRlcnNdO1xuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgY3VycmVudEF2YWlsYWJpbGl0eUZpbHRlcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1cnJlbnRBdmFpbGFiaWxpdHlGaWx0ZXJzLnB1c2goZmlsdGVyKTtcbiAgICAgICAgfVxuICAgICAgICBzZXRBdmFpbGFiaWxpdHlGaWx0ZXJzKGN1cnJlbnRBdmFpbGFiaWxpdHlGaWx0ZXJzKTtcbiAgICAgICAgaGFuZGxlU29ydEFuZEZpbHRlcih7Li4uY3VycmVudEZpbHRlcnMsIGF2YWlsYWJpbGl0eUZpbHRlcnM6IGN1cnJlbnRBdmFpbGFiaWxpdHlGaWx0ZXJzfSk7XG4gICAgfTtcbiAgICBjb25zdCBoYW5kbGVQcmljZUNoYW5nZSA9IChyYW5nZTogUmFuZ2UpID0+IHtcbiAgICAgICAgc2V0TWluUmVudChyYW5nZS5taW4pO1xuICAgICAgICBzZXRNYXhSZW50KHJhbmdlLm1heCk7XG4gICAgICAgIGhhbmRsZVNvcnRBbmRGaWx0ZXIoey4uLmN1cnJlbnRGaWx0ZXJzLCBtaW5SZW50OiByYW5nZS5taW4sIG1heFJlbnQ6IHJhbmdlLm1heH0pO1xuICAgIH1cbiAgICBjb25zdCBoYW5kbGVTdHlsZUZpbHRlckNoYW5nZSA9IChmaWx0ZXI6IEZsb29ycGxhblN0eWxlKSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gc3R5bGVGaWx0ZXJzLmluZGV4T2YoZmlsdGVyKTtcbiAgICAgICAgY29uc3QgY3VycmVudFN5bGVGaWx0ZXJzID0gWy4uLnN0eWxlRmlsdGVyc107XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICBjdXJyZW50U3lsZUZpbHRlcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1cnJlbnRTeWxlRmlsdGVycy5wdXNoKGZpbHRlcik7XG4gICAgICAgIH1cbiAgICAgICAgc2V0U3R5bGVGaWx0ZXJzKGN1cnJlbnRTeWxlRmlsdGVycyk7XG4gICAgICAgIGhhbmRsZVNvcnRBbmRGaWx0ZXIoey4uLmN1cnJlbnRGaWx0ZXJzLCBzdHlsZUZpbHRlcnM6IGN1cnJlbnRTeWxlRmlsdGVyc30pO1xuICAgIH07XG4gICAgY29uc3QgaGFuZGxlU29ydENoYW5nZSA9IChzb3J0Qnk6IFNvcnRCeSkgPT4ge1xuICAgICAgICBzZXRTb3J0Qnkoc29ydEJ5KTtcbiAgICAgICAgaGFuZGxlU29ydEFuZEZpbHRlcih7Li4uY3VycmVudEZpbHRlcnMsIHNvcnRCeTogc29ydEJ5fSk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwidW5pdHMtaGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17aXNDb25kZW5zZWQgPyBcIlwiIDogXCJjb250YWluZXJcIn0+XG4gICAgICAgICAgICAgICAgPGgyPnt0aXRsZX08L2gyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidW5pdHMtZmlsdGVyc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbHRlci1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImZpbHRlci1sYWJlbFwiPkZpbHRlciBCeTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJlZHJvb21GaWx0ZXIgZmlsdGVycz17ZmlsdGVycy5iZWRyb29tfSBoYW5kbGVGaWx0ZXJDaGFuZ2U9e2hhbmRsZUJlZHJvb21GaWx0ZXJDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEZpbHRlcnM9e2JlZHJvb21GaWx0ZXJzfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEF2YWlsYWJpbGl0eUZpbHRlciBmaWx0ZXJzPXtmaWx0ZXJzLmF2YWlsYWJpbGl0eX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUZpbHRlckNoYW5nZT17aGFuZGxlQXZhaWxhYmlsaXR5RmlsdGVyQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEZpbHRlcnM9e2F2YWlsYWJpbGl0eUZpbHRlcnN9Lz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcmljZUZpbHRlciBtaW5WYWx1ZT17bWluUmVudH0gbWF4VmFsdWU9e21heFJlbnR9IHNldE1pblZhbHVlPXtoYW5kbGVNaW5SZW50Q2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNYXhWYWx1ZT17aGFuZGxlTWF4UmVudENoYW5nZX0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZUZpbHRlciBmaWx0ZXJzPXtmaWx0ZXJzLnN0eWxlfSBoYW5kbGVGaWx0ZXJDaGFuZ2U9e2hhbmRsZVN0eWxlRmlsdGVyQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50RmlsdGVycz17c3R5bGVGaWx0ZXJzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsdGVyLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiZmlsdGVyLWxhYmVsXCI+U29ydCBCeTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNvcnQgc29ydEJ5PXtzb3J0Qnl9IGhhbmRsZVNvcnRDaGFuZ2U9e2hhbmRsZVNvcnRDaGFuZ2V9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBpbGxzXCI+XG4gICAgICAgICAgICAgICAgICAgIHtiZWRyb29tRmlsdGVycy5zb3J0KHNvcnRCZWRyb29tcykubWFwKGJlZHJvb20gPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFBpbGwga2V5PXtiZWRyb29tfSBwaWxsQ2xvc2VIYW5kbGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQmVkcm9vbUZpbHRlckNoYW5nZShiZWRyb29tKVxuICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2JlZHJvb20gKyBcIiBiZWRyb29tXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1BpbGw+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICB7YXZhaWxhYmlsaXR5RmlsdGVycy5zb3J0KHNvcnRBdmFpbGFiaWxpdHkpLm1hcCgoYXZhaWxhYmlsaXR5OiBzdHJpbmcpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxQaWxsIGtleT17YXZhaWxhYmlsaXR5LnRvU3RyaW5nKCl9IHBpbGxDbG9zZUhhbmRsZXI9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVBdmFpbGFiaWxpdHlGaWx0ZXJDaGFuZ2UoYXZhaWxhYmlsaXR5KVxuICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2F2YWlsYWJpbGl0eS50b1N0cmluZygpICsgXCIgYXZhaWxhYmlsaXR5XCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1BpbGw+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5SZW50ID09PSBkZWZhdWx0TWluUmVudCAmJiBtYXhSZW50ID09PSBkZWZhdWx0TWF4UmVudCA/IFwiXCIgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQaWxsIGtleT1cInJlbnRcIiBwaWxsQ2xvc2VIYW5kbGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVByaWNlQ2hhbmdlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbjogZGVmYXVsdE1pblJlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXg6IGRlZmF1bHRNYXhSZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcIiRcIiArIG1pblJlbnQgKyBcIiAtICRcIiArIG1heFJlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9QaWxsPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHtzdHlsZUZpbHRlcnMubWFwKHN0eWxlID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxQaWxsIGtleT17c3R5bGV9IHBpbGxDbG9zZUhhbmRsZXI9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTdHlsZUZpbHRlckNoYW5nZShzdHlsZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjYXBpdGFsaXplRmlyc3RMZXR0ZXIoZW51bVRvU3RyaW5nKHN0eWxlKSl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1BpbGw+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbHRlci1yZXN1bHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJmaWx0ZXJcIi8+Jm5ic3A7VG90YWw6IHtjdXJyZW50Rmxvb3JwbGFuc0NvdW50fSBSZXN1bHRzXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvaGVhZGVyPlxuICAgICk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvb3JwbGFuc0hlYWRlclByb3BzIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBmaWx0ZXJzOiBGbG9vcnBsYW5GaWx0ZXJzO1xuICAgIGZsb29ycGxhbnM6IEZsb29ycGxhbkNhcmREYXRhW107XG4gICAgc2V0Q3VycmVudEZsb29ycGxhbnM6IChmbG9vcnBsYW5zOiBGbG9vcnBsYW5DYXJkRGF0YVtdKSA9PiB2b2lkO1xuICAgIGlzQ29uZGVuc2VkPzogYm9vbGVhbjtcbiAgICBjdXJyZW50Rmxvb3JwbGFuc0NvdW50OiBudW1iZXI7XG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7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
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { FloorplanCardData } from "../data/Floorplan";
|
|
3
3
|
export declare const FloorplansSection: React.FC<FloorplansSectionProps>;
|
|
4
4
|
export interface FloorplansSectionProps {
|
|
5
|
-
floorplans:
|
|
5
|
+
floorplans: FloorplanCardData[];
|
|
6
6
|
title?: string;
|
|
7
7
|
isCondensed?: boolean;
|
|
8
8
|
}
|
|
@@ -79,4 +79,4 @@ FloorplansSection.defaultProps = {
|
|
|
79
79
|
title: "Floor plans",
|
|
80
80
|
isCondensed: true
|
|
81
81
|
};
|
|
82
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGbG9vcnBsYW5zU2VjdGlvbiIsImZsb29ycGxhbnMiLCJ0aXRsZSIsImlzQ29uZGVuc2VkIiwidXNlU3RhdGUiLCJmaWx0ZXJlZEZsb29ycGxhbnMiLCJzZXRGaWx0ZXJlZEZsb29ycGxhbnMiLCJsZW5ndGgiLCJmaWx0ZXJlZEZsb29ycGxhbnNDb3VudCIsInNldEZpbHRlcmVkRmxvb3JwbGFuc0NvdW50Iiwic2V0Q3VycmVudEZsb29ycGxhbnMiLCJjdXJyZW50Rmxvb3JwbGFucyIsImZpbHRlcnNGcm9tIiwibWFwIiwidW5pdCIsImkiLCJkZWZhdWx0UHJvcHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmxvb3JwbGFuL3NlY3Rpb24vRmxvb3JwbGFuc1NlY3Rpb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZVN0YXRlfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7Rmxvb3JwbGFuQ2FyZERhdGF9IGZyb20gXCIuLi9kYXRhL0Zsb29ycGxhblwiO1xuaW1wb3J0IHtGbG9vcnBsYW5zSGVhZGVyfSBmcm9tIFwiLi9GbG9vcnBsYW5zSGVhZGVyXCI7XG5pbXBvcnQge2ZpbHRlcnNGcm9tfSBmcm9tIFwiLi4vc2VydmljZS9GbG9vcnBsYW5TZXJ2aWNlXCI7XG5pbXBvcnQge0Zsb29ycGxhbkNhcmR9IGZyb20gXCIuLi9jYXJkL0Zsb29ycGxhbkNhcmRcIjtcblxuZXhwb3J0IGNvbnN0IEZsb29ycGxhbnNTZWN0aW9uOiBSZWFjdC5GQzxGbG9vcnBsYW5zU2VjdGlvblByb3BzPiA9IChcbiAgICB7Zmxvb3JwbGFucywgdGl0bGUsIGlzQ29uZGVuc2VkfSkgPT4ge1xuICAgIGNvbnN0IFtmaWx0ZXJlZEZsb29ycGxhbnMsIHNldEZpbHRlcmVkRmxvb3JwbGFuc10gPSB1c2VTdGF0ZTxGbG9vcnBsYW5DYXJkRGF0YVtdPihmbG9vcnBsYW5zKTtcbiAgICBjb25zdCBbZmlsdGVyZWRGbG9vcnBsYW5zQ291bnQsIHNldEZpbHRlcmVkRmxvb3JwbGFuc0NvdW50XSA9IHVzZVN0YXRlPG51bWJlcj4oZmxvb3JwbGFucy5sZW5ndGgpO1xuXG4gICAgY29uc3Qgc2V0Q3VycmVudEZsb29ycGxhbnMgPSAoY3VycmVudEZsb29ycGxhbnM6IEZsb29ycGxhbkNhcmREYXRhW10pID0+IHtcbiAgICAgICAgc2V0RmlsdGVyZWRGbG9vcnBsYW5zKGN1cnJlbnRGbG9vcnBsYW5zKTtcbiAgICAgICAgc2V0RmlsdGVyZWRGbG9vcnBsYW5zQ291bnQoY3VycmVudEZsb29ycGxhbnMubGVuZ3RoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwic2VjdGlvbi11bml0c1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtpc0NvbmRlbnNlZCA/IFwiY29udGFpbmVyXCIgOiBcIlwifT5cbiAgICAgICAgICAgICAgICAgICAgPEZsb29ycGxhbnNIZWFkZXIgdGl0bGU9e3RpdGxlfSBmaWx0ZXJzPXtmaWx0ZXJzRnJvbShmbG9vcnBsYW5zKX0gZmxvb3JwbGFucz17Zmxvb3JwbGFuc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q3VycmVudEZsb29ycGxhbnM9e3NldEN1cnJlbnRGbG9vcnBsYW5zfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0NvbmRlbnNlZD17aXNDb25kZW5zZWR9IGN1cnJlbnRGbG9vcnBsYW5zQ291bnQ9e2ZpbHRlcmVkRmxvb3JwbGFuc0NvdW50fS8+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2lzQ29uZGVuc2VkID8gXCJcIiA6IFwiY29udGFpbmVyXCJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1bml0cy1ib2R5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJlZEZsb29ycGxhbnMubWFwKCh1bml0LCBpKSA9PiAoPEZsb29ycGxhbkNhcmQgZmxvb3JwbGFuPXt1bml0fSBrZXk9e2l9Lz4pKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC8+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvb3JwbGFuc1NlY3Rpb25Qcm9wcyB7XG4gICAgZmxvb3JwbGFuczogRmxvb3JwbGFuQ2FyZERhdGFbXTtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpc0NvbmRlbnNlZD86IGJvb2xlYW47XG59XG5cbkZsb29ycGxhbnNTZWN0aW9uLmRlZmF1bHRQcm9wcyA9IHtcbiAgICB0aXRsZTogXCJGbG9vciBwbGFuc1wiLFxuICAgIGlzQ29uZGVuc2VkOiB0cnVlLFxufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVPLElBQU1BLGlCQUFtRCxHQUFHLFNBQXREQSxpQkFBc0QsT0FDMUI7RUFBQSxJQUFwQ0MsVUFBb0MsUUFBcENBLFVBQW9DO0VBQUEsSUFBeEJDLEtBQXdCLFFBQXhCQSxLQUF3QjtFQUFBLElBQWpCQyxXQUFpQixRQUFqQkEsV0FBaUI7O0VBQ3JDLGdCQUFvRCxJQUFBQyxlQUFBLEVBQThCSCxVQUE5QixDQUFwRDtFQUFBO0VBQUEsSUFBT0ksa0JBQVA7RUFBQSxJQUEyQkMscUJBQTNCOztFQUNBLGlCQUE4RCxJQUFBRixlQUFBLEVBQWlCSCxVQUFVLENBQUNNLE1BQTVCLENBQTlEO0VBQUE7RUFBQSxJQUFPQyx1QkFBUDtFQUFBLElBQWdDQywwQkFBaEM7O0VBRUEsSUFBTUMsb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUF1QixDQUFDQyxpQkFBRCxFQUE0QztJQUNyRUwscUJBQXFCLENBQUNLLGlCQUFELENBQXJCO0lBQ0FGLDBCQUEwQixDQUFDRSxpQkFBaUIsQ0FBQ0osTUFBbkIsQ0FBMUI7RUFDSCxDQUhEOztFQUtBLG9CQUNJLHlFQUNJO0lBQVMsU0FBUyxFQUFDO0VBQW5CLGdCQUNJO0lBQUssU0FBUyxFQUFFSixXQUFXLEdBQUcsV0FBSCxHQUFpQjtFQUE1QyxnQkFDSSw2QkFBQyxrQ0FBRDtJQUFrQixLQUFLLEVBQUVELEtBQXpCO0lBQWdDLE9BQU8sRUFBRSxJQUFBVSw2QkFBQSxFQUFZWCxVQUFaLENBQXpDO0lBQWtFLFVBQVUsRUFBRUEsVUFBOUU7SUFDa0Isb0JBQW9CLEVBQUVTLG9CQUR4QztJQUVrQixXQUFXLEVBQUVQLFdBRi9CO0lBRTRDLHNCQUFzQixFQUFFSztFQUZwRSxFQURKLGVBS0k7SUFBSyxTQUFTLEVBQUVMLFdBQVcsR0FBRyxFQUFILEdBQVE7RUFBbkMsZ0JBQ0k7SUFBSyxTQUFTLEVBQUM7RUFBZixHQUVRRSxrQkFBa0IsQ0FBQ1EsR0FBbkIsQ0FBdUIsVUFBQ0MsSUFBRCxFQUFPQyxDQUFQO0lBQUEsb0JBQWMsNkJBQUMsNEJBQUQ7TUFBZSxTQUFTLEVBQUVELElBQTFCO01BQWdDLEdBQUcsRUFBRUM7SUFBckMsRUFBZDtFQUFBLENBQXZCLENBRlIsQ0FESixDQUxKLENBREosQ0FESixDQURKO0FBbUJILENBN0JNOzs7QUFxQ1BmLGlCQUFpQixDQUFDZ0IsWUFBbEIsR0FBaUM7RUFDN0JkLEtBQUssRUFBRSxhQURzQjtFQUU3QkMsV0FBVyxFQUFFO0FBRmdCLENBQWpDIn0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./assets/HeroBadgeStats.scss";
|
|
3
|
+
export declare const HeroBadgeStats: React.FC<HeroBadgeStatsProps>;
|
|
4
|
+
export interface HeroBadgeStatsProps {
|
|
5
|
+
currentView: "photo" | "virtual tour" | "video tour";
|
|
6
|
+
setCurrentView: (currentView: "photo" | "virtual tour" | "video tour") => void;
|
|
7
|
+
totalAssets: number;
|
|
8
|
+
virtualTour?: string;
|
|
9
|
+
videoTours: string[];
|
|
10
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.HeroBadgeStats = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _muncherUi = require("@contentmunch/muncher-ui");
|
|
11
|
+
|
|
12
|
+
var _cameraIcon = _interopRequireDefault(require("../card/assets/camera-icon.png"));
|
|
13
|
+
|
|
14
|
+
var _icon = _interopRequireDefault(require("../card/assets/360-icon.png"));
|
|
15
|
+
|
|
16
|
+
var _videoIcon = _interopRequireDefault(require("../card/assets/video-icon.png"));
|
|
17
|
+
|
|
18
|
+
require("./assets/HeroBadgeStats.scss");
|
|
19
|
+
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
22
|
+
var HeroBadgeStats = function HeroBadgeStats(_ref) {
|
|
23
|
+
var currentView = _ref.currentView,
|
|
24
|
+
setCurrentView = _ref.setCurrentView,
|
|
25
|
+
totalAssets = _ref.totalAssets,
|
|
26
|
+
virtualTour = _ref.virtualTour,
|
|
27
|
+
videoTours = _ref.videoTours;
|
|
28
|
+
|
|
29
|
+
var makePlural = function makePlural(length) {
|
|
30
|
+
return length > 1 ? "s" : "";
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
34
|
+
className: "hero-badge--stats"
|
|
35
|
+
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Badge, {
|
|
36
|
+
variant: "tertiary"
|
|
37
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
38
|
+
className: currentView === "photo" ? "item selected" : "item"
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
|
|
40
|
+
size: "small",
|
|
41
|
+
variant: "primary",
|
|
42
|
+
rounded: true,
|
|
43
|
+
onClick: function onClick() {
|
|
44
|
+
setCurrentView("photo");
|
|
45
|
+
}
|
|
46
|
+
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
47
|
+
className: "camera-icon",
|
|
48
|
+
src: _cameraIcon.default,
|
|
49
|
+
alt: "camera icon"
|
|
50
|
+
}), /*#__PURE__*/_react.default.createElement("p", null, totalAssets)), /*#__PURE__*/_react.default.createElement("p", {
|
|
51
|
+
className: "main"
|
|
52
|
+
}, totalAssets, " Photo", makePlural(totalAssets))), virtualTour ? /*#__PURE__*/_react.default.createElement("div", {
|
|
53
|
+
className: currentView === "virtual tour" ? "item selected" : "item"
|
|
54
|
+
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
|
|
55
|
+
size: "small",
|
|
56
|
+
variant: "primary",
|
|
57
|
+
rounded: true,
|
|
58
|
+
onClick: function onClick() {
|
|
59
|
+
setCurrentView("virtual tour");
|
|
60
|
+
}
|
|
61
|
+
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
62
|
+
className: "virtual-tour-icon",
|
|
63
|
+
src: _icon.default,
|
|
64
|
+
alt: "virtual tour icon"
|
|
65
|
+
}), /*#__PURE__*/_react.default.createElement("p", null, "1")), /*#__PURE__*/_react.default.createElement("p", {
|
|
66
|
+
className: "main"
|
|
67
|
+
}, "1 Virtual Tour")) : "", videoTours.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
|
|
68
|
+
className: currentView === "video tour" ? "item selected" : "item"
|
|
69
|
+
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
|
|
70
|
+
size: "small",
|
|
71
|
+
variant: "primary",
|
|
72
|
+
rounded: true,
|
|
73
|
+
onClick: function onClick() {
|
|
74
|
+
setCurrentView("video tour");
|
|
75
|
+
}
|
|
76
|
+
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
77
|
+
className: "video-tour-icon",
|
|
78
|
+
src: _videoIcon.default,
|
|
79
|
+
alt: "video tour icon"
|
|
80
|
+
}), /*#__PURE__*/_react.default.createElement("p", null, videoTours.length)), /*#__PURE__*/_react.default.createElement("p", {
|
|
81
|
+
className: "main"
|
|
82
|
+
}, videoTours.length, " Video Tour", makePlural(videoTours.length))) : ""));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
exports.HeroBadgeStats = HeroBadgeStats;
|
|
86
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJIZXJvQmFkZ2VTdGF0cyIsImN1cnJlbnRWaWV3Iiwic2V0Q3VycmVudFZpZXciLCJ0b3RhbEFzc2V0cyIsInZpcnR1YWxUb3VyIiwidmlkZW9Ub3VycyIsIm1ha2VQbHVyYWwiLCJsZW5ndGgiLCJjYW1lcmFJY29uIiwidG91ckljb24iLCJ2aWRlb0ljb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmxvb3JwbGFuL3NlY3Rpb24vSGVyb0JhZGdlU3RhdHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7QmFkZ2UsIEJ1dHRvbn0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IGNhbWVyYUljb24gZnJvbSBcIi4uL2NhcmQvYXNzZXRzL2NhbWVyYS1pY29uLnBuZ1wiO1xuaW1wb3J0IHRvdXJJY29uIGZyb20gXCIuLi9jYXJkL2Fzc2V0cy8zNjAtaWNvbi5wbmdcIjtcbmltcG9ydCB2aWRlb0ljb24gZnJvbSBcIi4uL2NhcmQvYXNzZXRzL3ZpZGVvLWljb24ucG5nXCI7XG5pbXBvcnQgXCIuL2Fzc2V0cy9IZXJvQmFkZ2VTdGF0cy5zY3NzXCI7XG5cbmV4cG9ydCBjb25zdCBIZXJvQmFkZ2VTdGF0czogUmVhY3QuRkM8SGVyb0JhZGdlU3RhdHNQcm9wcz4gPSAoXG4gICAge2N1cnJlbnRWaWV3LCBzZXRDdXJyZW50VmlldywgdG90YWxBc3NldHMsIHZpcnR1YWxUb3VyLCB2aWRlb1RvdXJzfSkgPT4ge1xuICAgIGNvbnN0IG1ha2VQbHVyYWwgPSAobGVuZ3RoOiBudW1iZXIpID0+IGxlbmd0aCA+IDEgPyBcInNcIiA6IFwiXCI7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoZXJvLWJhZGdlLS1zdGF0c1wiPlxuICAgICAgICAgICAgPEJhZGdlIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjdXJyZW50VmlldyA9PT0gXCJwaG90b1wiID8gXCJpdGVtIHNlbGVjdGVkXCIgOiBcIml0ZW1cIn0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b24gc2l6ZT1cInNtYWxsXCIgdmFyaWFudD1cInByaW1hcnlcIiByb3VuZGVkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0Q3VycmVudFZpZXcoXCJwaG90b1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fT48aW1nIGNsYXNzTmFtZT1cImNhbWVyYS1pY29uXCIgc3JjPXtjYW1lcmFJY29ufSBhbHQ9XCJjYW1lcmEgaWNvblwiIC8+PHA+e3RvdGFsQXNzZXRzfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm1haW5cIj57dG90YWxBc3NldHN9IFBob3Rve21ha2VQbHVyYWwodG90YWxBc3NldHMpfTwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB7dmlydHVhbFRvdXIgP1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y3VycmVudFZpZXcgPT09IFwidmlydHVhbCB0b3VyXCIgPyBcIml0ZW0gc2VsZWN0ZWRcIiA6IFwiaXRlbVwifT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gc2l6ZT1cInNtYWxsXCIgdmFyaWFudD1cInByaW1hcnlcIiByb3VuZGVkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRDdXJyZW50VmlldyhcInZpcnR1YWwgdG91clwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJ2aXJ0dWFsLXRvdXItaWNvblwiIHNyYz17dG91ckljb259IGFsdD1cInZpcnR1YWwgdG91ciBpY29uXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD4xPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtYWluXCI+MSBWaXJ0dWFsIFRvdXI8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAge3ZpZGVvVG91cnMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjdXJyZW50VmlldyA9PT0gXCJ2aWRlbyB0b3VyXCIgPyBcIml0ZW0gc2VsZWN0ZWRcIiA6IFwiaXRlbVwifT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gc2l6ZT1cInNtYWxsXCIgdmFyaWFudD1cInByaW1hcnlcIiByb3VuZGVkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRDdXJyZW50VmlldyhcInZpZGVvIHRvdXJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwidmlkZW8tdG91ci1pY29uXCIgc3JjPXt2aWRlb0ljb259IGFsdD1cInZpZGVvIHRvdXIgaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3ZpZGVvVG91cnMubGVuZ3RofTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibWFpblwiPnt2aWRlb1RvdXJzLmxlbmd0aH0gVmlkZW8gVG91cnttYWtlUGx1cmFsKHZpZGVvVG91cnMubGVuZ3RoKX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiA6IFwiXCJ9XG4gICAgICAgICAgICA8L0JhZGdlPlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBIZXJvQmFkZ2VTdGF0c1Byb3BzIHtcbiAgICBjdXJyZW50VmlldzogXCJwaG90b1wiIHwgXCJ2aXJ0dWFsIHRvdXJcIiB8IFwidmlkZW8gdG91clwiO1xuICAgIHNldEN1cnJlbnRWaWV3OiAoY3VycmVudFZpZXc6IFwicGhvdG9cIiB8IFwidmlydHVhbCB0b3VyXCIgfCBcInZpZGVvIHRvdXJcIikgPT4gdm9pZDtcbiAgICB0b3RhbEFzc2V0czogbnVtYmVyO1xuICAgIHZpcnR1YWxUb3VyPzogc3RyaW5nO1xuICAgIHZpZGVvVG91cnM6IHN0cmluZ1tdO1xufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRU8sSUFBTUEsY0FBNkMsR0FBRyxTQUFoREEsY0FBZ0QsT0FDZTtFQUFBLElBQXZFQyxXQUF1RSxRQUF2RUEsV0FBdUU7RUFBQSxJQUExREMsY0FBMEQsUUFBMURBLGNBQTBEO0VBQUEsSUFBMUNDLFdBQTBDLFFBQTFDQSxXQUEwQztFQUFBLElBQTdCQyxXQUE2QixRQUE3QkEsV0FBNkI7RUFBQSxJQUFoQkMsVUFBZ0IsUUFBaEJBLFVBQWdCOztFQUN4RSxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFDQyxNQUFEO0lBQUEsT0FBb0JBLE1BQU0sR0FBRyxDQUFULEdBQWEsR0FBYixHQUFtQixFQUF2QztFQUFBLENBQW5COztFQUNBLG9CQUNJO0lBQUssU0FBUyxFQUFDO0VBQWYsZ0JBQ0ksNkJBQUMsZ0JBQUQ7SUFBTyxPQUFPLEVBQUM7RUFBZixnQkFDSTtJQUFLLFNBQVMsRUFBRU4sV0FBVyxLQUFLLE9BQWhCLEdBQTBCLGVBQTFCLEdBQTRDO0VBQTVELGdCQUNJLDZCQUFDLGlCQUFEO0lBQVEsSUFBSSxFQUFDLE9BQWI7SUFBcUIsT0FBTyxFQUFDLFNBQTdCO0lBQXVDLE9BQU8sRUFBRSxJQUFoRDtJQUNRLE9BQU8sRUFBRSxtQkFBTTtNQUNYQyxjQUFjLENBQUMsT0FBRCxDQUFkO0lBQ0g7RUFIVCxnQkFHVztJQUFLLFNBQVMsRUFBQyxhQUFmO0lBQTZCLEdBQUcsRUFBRU0sbUJBQWxDO0lBQThDLEdBQUcsRUFBQztFQUFsRCxFQUhYLGVBRzZFLHdDQUFJTCxXQUFKLENBSDdFLENBREosZUFNSTtJQUFHLFNBQVMsRUFBQztFQUFiLEdBQXFCQSxXQUFyQixZQUF3Q0csVUFBVSxDQUFDSCxXQUFELENBQWxELENBTkosQ0FESixFQVNLQyxXQUFXLGdCQUNSO0lBQUssU0FBUyxFQUFFSCxXQUFXLEtBQUssY0FBaEIsR0FBaUMsZUFBakMsR0FBbUQ7RUFBbkUsZ0JBQ0ksNkJBQUMsaUJBQUQ7SUFBUSxJQUFJLEVBQUMsT0FBYjtJQUFxQixPQUFPLEVBQUMsU0FBN0I7SUFBdUMsT0FBTyxFQUFFLElBQWhEO0lBQ1EsT0FBTyxFQUFFLG1CQUFNO01BQ1hDLGNBQWMsQ0FBQyxjQUFELENBQWQ7SUFDSDtFQUhULGdCQUlJO0lBQUssU0FBUyxFQUFDLG1CQUFmO0lBQW1DLEdBQUcsRUFBRU8sYUFBeEM7SUFBa0QsR0FBRyxFQUFDO0VBQXRELEVBSkosZUFLSSw0Q0FMSixDQURKLGVBUUk7SUFBRyxTQUFTLEVBQUM7RUFBYixvQkFSSixDQURRLEdBVUMsRUFuQmpCLEVBb0JLSixVQUFVLENBQUNFLE1BQVgsR0FBb0IsQ0FBcEIsZ0JBQ0c7SUFBSyxTQUFTLEVBQUVOLFdBQVcsS0FBSyxZQUFoQixHQUErQixlQUEvQixHQUFpRDtFQUFqRSxnQkFDSSw2QkFBQyxpQkFBRDtJQUFRLElBQUksRUFBQyxPQUFiO0lBQXFCLE9BQU8sRUFBQyxTQUE3QjtJQUF1QyxPQUFPLEVBQUUsSUFBaEQ7SUFDUSxPQUFPLEVBQUUsbUJBQU07TUFDWEMsY0FBYyxDQUFDLFlBQUQsQ0FBZDtJQUNIO0VBSFQsZ0JBSUk7SUFBSyxTQUFTLEVBQUMsaUJBQWY7SUFBaUMsR0FBRyxFQUFFUSxrQkFBdEM7SUFBaUQsR0FBRyxFQUFDO0VBQXJELEVBSkosZUFLSSx3Q0FBSUwsVUFBVSxDQUFDRSxNQUFmLENBTEosQ0FESixlQVFJO0lBQUcsU0FBUyxFQUFDO0VBQWIsR0FBcUJGLFVBQVUsQ0FBQ0UsTUFBaEMsaUJBQW1ERCxVQUFVLENBQUNELFVBQVUsQ0FBQ0UsTUFBWixDQUE3RCxDQVJKLENBREgsR0FVWSxFQTlCakIsQ0FESixDQURKO0FBb0NILENBdkNNIn0=
|