PageSourceSearch

https://virtrolio.web.app/main-es2015.js

js virtrolio.web.app collected 2026-10-03 12:39:30 UTC 648,872 bytes, 6,818 lines download raw bytes

1(self["webpackChunkvirtrolio_site"] = self["webpackChunkvirtrolio_site"] || []).push([["main"],{
2
3/***/ 98255:
4/*!*******************************************************!*\
5  !*** ./$_lazy_route_resources/ lazy namespace object ***!
6  \*******************************************************/
7/***/ (function(module) {
8
9function webpackEmptyAsyncContext(req) {
10	// Here Promise.resolve().then() is used instead of new Promise() to prevent
11	// uncaught exception popping up in devtools
12	return Promise.resolve().then(function() {
13		var e = new Error("Cannot find module '" + req + "'");
14		e.code = 'MODULE_NOT_FOUND';
15		throw e;
16	});
17}
18webpackEmptyAsyncContext.keys = function() { return []; };
19webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;
20webpackEmptyAsyncContext.id = 98255;
21module.exports = webpackEmptyAsyncContext;
22
23/***/ }),
24
25/***/ 90158:
26/*!***************************************!*\
27  !*** ./src/app/app-routing.module.ts ***!
28  \***************************************/
29/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
30
31"use strict";
32__webpack_require__.r(__webpack_exports__);
33/* harmony export */ __webpack_require__.d(__webpack_exports__, {
34/* harmony export */   "AppRoutingModule": function() { return /* binding */ AppRoutingModule; }
35/* harmony export */ });
36/* harmony import */ var _angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @angular/fire/auth-guard */ 68386);
37/* harmony import */ var _core_pending_changes_guard__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/pending-changes.guard */ 88989);
38/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @angular/router */ 39895);
39/* harmony import */ var _pages_about_about_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pages/about/about.component */ 73794);
40/* harmony import */ var _pages_access_denied_beta_access_denied_beta_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pages/access-denied-beta/access-denied-beta.component */ 40970);
41/* harmony import */ var _pages_access_denied_access_denied_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pages/access-denied/access-denied.component */ 91452);
42/* harmony import */ var _pages_contact_contact_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pages/contact/contact.component */ 45996);
43/* harmony import */ var _pages_faq_faq_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./pages/faq/faq.component */ 16459);
44/* harmony import */ var _pages_home_home_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./pages/home/home.component */ 25245);
45/* harmony import */ var _pages_invalid_link_invalid_link_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./pages/invalid-link/invalid-link.component */ 84892);
46/* harmony import */ var _pages_msg_sent_msg_sent_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./pages/msg-sent/msg-sent.component */ 88198);
47/* harmony import */ var _pages_my_virtrolio_my_virtrolio_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./pages/my-virtrolio/my-virtrolio.component */ 32093);
48/* harmony import */ var _pages_page_not_found_page_not_found_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./pages/page-not-found/page-not-found.component */ 78340);
49/* harmony import */ var _pages_privacy_policy_privacy_policy_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./pages/privacy-policy/privacy-policy.component */ 3654);
50/* harmony import */ var _pages_settings_settings_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./pages/settings/settings.component */ 65814);
51/* harmony import */ var _pages_signing_auth_redirect_signing_auth_redirect_component__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./pages/signing-auth-redirect/signing-auth-redirect.component */ 83964);
52/* harmony import */ var _pages_signing_signing_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./pages/signing/signing.component */ 63168);
53/* harmony import */ var _pages_terms_of_service_terms_of_service_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./pages/terms-of-service/terms-of-service.component */ 21912);
54/* harmony import */ var _pages_viewing_viewing_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./pages/viewing/viewing.component */ 68106);
55/* harmony import */ var _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./core/login-resolver */ 55249);
56/* harmony import */ var _pages_maintenance_maintenance_component__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./pages/maintenance/maintenance.component */ 20479);
57/* harmony import */ var _pages_rejecc_rejecc_component__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./pages/rejecc/rejecc.component */ 79668);
58/* harmony import */ var _core_signing_guard__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./core/signing.guard */ 49001);
59/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @angular/core */ 37716);
60
61
62
63// Pages
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80// Services & Guards
81
82
83
84
85
86
87const redirectUnauthorized = () => (0,_angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__.redirectUnauthorizedTo)(['/access-denied']);
88const routes = [
89    {
90        path: '',
91        component: _pages_home_home_component__WEBPACK_IMPORTED_MODULE_6__.HomeComponent,
92        resolve: { user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver },
93    },
94    { path: 'about', component: _pages_about_about_component__WEBPACK_IMPORTED_MODULE_1__.AboutComponent },
95    { path: 'access-denied-beta', component: _pages_access_denied_beta_access_de
95nied_beta_component__WEBPACK_IMPORTED_MODULE_2__.AccessDeniedBetaComponent },
96    { path: 'access-denied', component: _pages_access_denied_access_denied_component__WEBPACK_IMPORTED_MODULE_3__.AccessDeniedComponent },
97    { path: 'contact', component: _pages_contact_contact_component__WEBPACK_IMPORTED_MODULE_4__.ContactComponent },
98    { path: 'faq', component: _pages_faq_faq_component__WEBPACK_IMPORTED_MODULE_5__.FaqComponent },
99    {
100        path: 'invalid-link',
101        component: _pages_invalid_link_invalid_link_component__WEBPACK_IMPORTED_MODULE_7__.InvalidLinkComponent,
102        // canActivate: [ PreventURLAccessGuard ]
103    },
104    {
105        path: 'maintenance',
106        component: _pages_maintenance_maintenance_component__WEBPACK_IMPORTED_MODULE_18__.MaintenanceComponent,
107        // canActivate: [ PreventURLAccessGuard ]
108    },
109    {
110        path: 'msg-sent',
111        component: _pages_msg_sent_msg_sent_component__WEBPACK_IMPORTED_MODULE_8__.MsgSentComponent,
112        // canActivate: [ PreventURLAccessGuard ],
113    },
114    {
115        path: 'my-virtrolio',
116        component: _pages_my_virtrolio_my_virtrolio_component__WEBPACK_IMPORTED_MODULE_9__.MyVirtrolioComponent,
117        canActivate: [_angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__.AngularFireAuthGuard],
118        data: { authGuardPipe: redirectUnauthorized },
119        resolve: { user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver },
120    },
121    { path: 'privacy-policy', component: _pages_privacy_policy_privacy_policy_component__WEBPACK_IMPORTED_MODULE_11__.PrivacyPolicyComponent },
122    {
123        path: 'rejecc',
124        component: _pages_rejecc_rejecc_component__WEBPACK_IMPORTED_MODULE_19__.RejeccComponent,
125        // canActivate: [ PreventURLAccessGuard ]
126    },
127    {
128        path: 'settings',
129        component: _pages_settings_settings_component__WEBPACK_IMPORTED_MODULE_12__.SettingsComponent,
130        canActivate: [_angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__.AngularFireAuthGuard],
131        data: { authGuardPipe: redirectUnauthorized },
132        resolve: { user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver },
133    },
134    {
135        path: 'signing',
136        component: _pages_signing_signing_component__WEBPACK_IMPORTED_MODULE_14__.SigningComponent,
137        canActivate: [_core_signing_guard__WEBPACK_IMPORTED_MODULE_20__.SigningGuard],
138        resolve: { user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver },
139        canDeactivate: [_core_pending_changes_guard__WEBPACK_IMPORTED_MODULE_0__.PendingChangesGuard],
140    },
141    {
142        path: 'signing-auth-redirect',
143        component: _pages_signing_auth_redirect_signing_auth_redirect_component__WEBPACK_IMPORTED_MODULE_13__.SigningAuthRedirectComponent,
144        // canActivate: [ PreventURLAccessGuard ]
145    },
146    { path: 'terms-of-service', component: _pages_terms_of_service_terms_of_service_component__WEBPACK_IMPORTED_MODULE_15__.TermsOfServiceComponent },
147    {
148        path: 'viewing',
149        component: _pages_viewing_viewing_component__WEBPACK_IMPORTED_MODULE_16__.ViewingComponent,
150        canActivate: [_angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__.AngularFireAuthGuard],
151        data: { authGuardPipe: redirectUnauthorized },
152        resolve: { user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver },
153    },
154    { path: 'page-not-found', component: _pages_page_not_found_page_not_found_component__WEBPACK_IMPORTED_MODULE_10__.PageNotFoundComponent },
155    { path: '**', pathMatch: 'full', redirectTo: '/page-not-found' },
156];
157class AppRoutingModule {
158}
159AppRoutingModule.ɵfac = function AppRoutingModule_Factory(t) { return new (t || AppRoutingModule)(); };
160AppRoutingModule.ɵmod = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_22__["ɵɵdefineNgModule"]({ type: AppRoutingModule });
161AppRoutingModule.ɵinj = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_22__["ɵɵdefineInjector"]({ imports: [[
162            _angular_router__WEBPACK_IMPORTED_MODULE_23__.RouterModule.forRoot(routes, {
163                scrollPositionRestoration: 'enabled',
164                anchorScrolling: 'enabled',
165                onSameUrlNavigation: 'reload',
166                relativeLinkResolution: 'legacy',
167            }),
168        ], _angular_router__WEBPACK_IMPORTED_MODULE_23__.RouterModule] });
169(function () { (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_22__["ɵɵsetNgModuleScope"](AppRoutingModule, { imports: [_angular_router__WEBPACK_IMPORTED_MODULE_23__.RouterModule], exports: [_angular_router__WEBPACK_IMPORTED_MODULE_23__.RouterModule] }); })();
170
171
172/***/ }),
173
174/***/ 55041:
175/*!**********************************!*\
176  !*** ./src/app/app.component.ts ***!
177  \**********************************/
178/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
179
180"use strict";
181__webpack_require__.r(__webpack_exports__);
182/* harmony export */ __webpack_require__.d(__webpack_exports__, {
183/* harmony export */   "AppComponent": function() { return /* binding */ AppComponent; }
184/* harmony export */ });
185/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 37716);
186/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ngx-cookie-service */ 31584);
187
188
189function AppComponent_div_5_Template(rf, ctx) { if (rf & 1) {
190    const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetCurrentView"]();
191    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 4);
192    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div");
193    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2, " Virtrolio uses cookies to enhance the user experience. By continuing to use our website, you consent to our use of cookies. See our ");
194    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "a", 5);
195    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](4, "Terms of Service");
196    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
197    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](5, " for more information. ");
198    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
199    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "button", 6);
200    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("click", function AppComponent_div_5_Template_button_click_6_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵrestoreView"](_r2); const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"](); return ctx_r1.cookieService.set("new-user-cookie", "false", 365); });
201    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "span", 7);
202    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "\u00D7");
203    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
204    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
205    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
206} }
207/**
208 * Controls 'new user' cookie, displaying an alert if their browser hasn't visited the site before.
209 */
210class AppComponent {
211    constructor(cookieService) {
212        this.cookieService = cookieService;
213        this.title = 'virtrolio-site';
214    }
215    ngOnInit() {
216        // Generate new-user-cookie if it does not exist
217        if (this.cookieService.check('new-user-cookie') === false) {
218            this.cookieService.set('new-user-cookie', 'true', 365);
219        }
220    }
221}
222AppComponent.BETA = false;
223AppComponent.ɵfac = function AppComponent_Factory(t) { return new (t || AppComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ngx_cookie_service__WEBPACK_IMPORTED_MODULE_1__.CookieService)); };
224AppComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ type: AppComponent, selectors: [["app-root"]], decls: 7, vars: 1, consts: [["id", "navbar-filler"], ["id", "content-wrapper"], [1, "col-12", "justify-content-center"], ["class", "alert alert-primary col-sm-8 align-items-center d-flex", "id", "cookie-alert", "role", "alert", 4, "ngIf"], ["id", "cookie-alert", "role", "alert", 1, "alert", "alert-primary", "col-sm-8", "align-items-center", "d-flex"], ["routerLink", "/terms-of-service"], ["id", "cookie-alert-button", "type", "button", 1, "close", "ml-2", 3, "click"], ["aria-hidden", "true"]], template: function AppComponent_Template(rf, ctx) { if (rf & 1) {
225        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](0, "app-navbar");
226        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](1, "div", 0);
227        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "div", 1);
228        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](3, "router-outlet");
229        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
230        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 2);
231        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](5, AppComponent_div_5_Template, 9, 0, "div", 3);
232        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
233        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](6, "app-footer");
234    } if (rf & 2) {
235        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](5);
236        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngIf", ctx.cookieService.get("new-user-cookie") 
236== "true");
237    } }, styles: ["#navbar-filler[_ngcontent-%COMP%] {\n  \n  height: var(--navbar-height);\n}\n\n#cookie-alert[_ngcontent-%COMP%] {\n  position: fixed;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  bottom: 1em;\n  z-index: 2000;\n}\n\n#cookie-alert-button[_ngcontent-%COMP%] {\n  padding-bottom: 0.15em;\n}\n\n#content-wrapper[_ngcontent-%COMP%] {\n  \n  min-height: calc(100vh - var(--footer-height) - var(--navbar-height));\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsNERBQTREO0VBQzVELDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLGVBQWU7RUFDZixTQUFTO0VBQ1QsZ0NBQWdDO0VBQ2hDLFdBQVc7RUFDWCxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxvRUFBb0U7RUFDcEUscUVBQXFFO0FBQ3ZFIiwiZmlsZSI6ImFwcC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI25hdmJhci1maWxsZXIge1xuICAvKiBUcmFuc3BhcmVudCBkaXYgdG8gcHVzaCByb3V0ZXItb3V0bGV0IGNvbnRlbnQgZG93bndhcmRzICovXG4gIGhlaWdodDogdmFyKC0tbmF2YmFyLWhlaWdodCk7XG59XG5cbiNjb29raWUtYWxlcnQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGJvdHRvbTogMWVtO1xuICB6LWluZGV4OiAyMDAwO1xufVxuXG4jY29va2llLWFsZXJ0LWJ1dHRvbiB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjE1ZW07XG59XG5cbiNjb250ZW50LXdyYXBwZXIge1xuICAvKiBQcmV2ZW50cyBmb290ZXIgY29sbGFwc2UgdG8gdG9wIG9mIHNjcmVlbiB3aGlsZSBjb21wb25lbnQgbG9hZHMgKi9cbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWZvb3Rlci1oZWlnaHQpIC0gdmFyKC0tbmF2YmFyLWhlaWdodCkpO1xufVxuIl19 */"] });
238
239
240/***/ }),
241
242/***/ 36747:
243/*!*******************************!*\
244  !*** ./src/app/app.module.ts ***!
245  \*******************************/
246/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
247
248"use strict";
249__webpack_require__.r(__webpack_exports__);
250/* harmony export */ __webpack_require__.d(__webpack_exports__, {
251/* harmony export */   "AppModule": function() { return /* binding */ AppModule; }
252/* harmony export */ });
253/* harmony import */ var _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! @angular/platform-browser/animations */ 75835);
254/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
255/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! @angular/common */ 38583);
256/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! @angular/forms */ 3679);
257/* harmony import */ var _angular_fire__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! @angular/fire */ 50057);
258/* harmony import */ var _angular_fire_analytics__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! @angular/fire/analytics */ 71037);
259/* harmony import */ var _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! @angular/fire/firestore */ 56717);
260/* harmony import */ var _angular_fire_auth__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! @angular/fire/auth */ 49743);
261/* harmony import */ var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! @angular/fire/storage */ 68274);
262/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../environments/environment */ 92340);
263/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ngx-cookie-service */ 31584);
264/* harmony import */ var ngx_markdown__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ngx-markdown */ 76715);
265/* harmony import */ var ngx_toastr__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ngx-toastr */ 49344);
266/* harmony import */ var _app_routing_module__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./app-routing.module */ 90158);
267/* harmony import */ var _app_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app.component */ 55041);
268/* harmony import */ var _core_core_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./core/core.module */ 40294);
269/* harmony import */ var _shared_shared_module__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./shared/shared.module */ 44466);
270/* harmony import */ var _pages_about_about_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./pages/about/about.component */ 73794);
271/* harmony import */ var _pages_access_denied_beta_access_denied_beta_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./pages/access-denied-beta/access-denied-beta.component */ 40970);
272/* harmony import */ var _pages_access_denied_access_denied_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./pages/access-denied/access-denied.component */ 91452);
273/* harmony import */ var _pages_contact_contact_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./pages/contact/contact.component */ 45996);
274/* harmony import */ var _pages_faq_faq_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./pages/faq/faq.component */ 16459);
275/* harmony import */ var _pages_home_home_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./pages/home/home.component */ 25245);
276/* harmony import */ var _pages_viewing_messages_image_footer_image_footer_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./pages/viewing/messages/image-footer/image-footer.component */ 46438);
277/* harmony import */ var _pages_signing_image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./pages/signing/image-modal/image-modal.component */ 16843);
278/* harmony import */ var _pages_invalid_link_invalid_link_component__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./pages/invalid-link/invalid-link.component */ 84892);
279/* harmony import */ var _pages_maintenance_maintenance_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./pages/maintenance/maintenance.component */ 20479);
280/* harmony import */ var _pages_viewing_message_modal_message_modal_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./pages/viewing/message-modal/message-modal.component */ 1641);
281/* harmony import */ var _pages_viewing_messages_messages_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./pages/viewing/messages/messages.component */ 2360);
282/* harmony import */ var _pages_msg_sent_msg_sent_component__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./pages/msg-sent/msg-sent.component */ 88198);
283/* harmony import */ var _pages_my_virtrolio_my_virtrolio_component__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./pages/my-virtrolio/my-virtrolio.component */ 32093);
284/* harmony import */ var _pages_page_not_found_page_not_found_component__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./pages/page-not-found/page-not-found.component */ 78340);
285/* harmony import */ var _pages_privacy_policy_privacy_policy_component__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./pages/privacy-policy/privacy-policy.component */ 3654);
286/* harmony import */ var _pages_rejecc_rejecc_component__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./pages/rejecc/rejecc.component */ 79668);
287/* harmony import */ var _pages_viewing_responses_list_responses_list_component__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./pages/viewing/responses-list/responses-list.component */ 39161);
288/* harmony import */ var _pages_settings_settings_component__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./pages/settings/settings.component */ 65814);
289/* harmony import */ var _pages_signing_auth_redirect_signing_auth_redirect_component__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./pages/signing-auth-redirect/signing-auth-redirect.component */ 83964);
290/* harmony import */ var _pages_signing_signing_component__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./pages/signing/signing.component */ 63168);
291/* harmony import */ var _pages_viewing_single_message_single_message_component__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./pages/viewing/single-message/single-message.component */ 60189);
292/* harmony import */ var _pages_terms_of_service_terms_of_service_component__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./pages/terms-of-service/terms-of-service.component */ 21912);
293/* harmony import */ var _pages_viewing_viewing_component__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./pages/viewing/viewing.component */ 68106);
294/* harmony import */ var ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ngx-bootstrap/alert */ 33947);
295/* harmony import */ var _core_login_resolver__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./core/login-resolver */ 55249);
296/* harmony import */ var ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ngx-bootstrap/modal */ 63301);
297/* harmony import */ var _core_pending_changes_guard__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./core/pending-changes.guard */ 88989);
298/* harmony import */ var _pages_signing_error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./pages/signing/error-alert/error-alert.component */ 27286);
299/* harmony import */ var ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ngx-bootstrap/tooltip */ 25575);
300/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! @angular/core */ 37716);
301/* harmony import */ var _core_navbar_navbar_component__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./core/navbar/navbar.component */ 1239);
302/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! @angular/router */ 39895);
303/* harmony import */ var _core_footer_footer_component__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./core/footer/footer.component */ 91229);
304// Angular
305
306
307
308
309// Firebase
310
311
312
313
314
315
316// External Libraries
317
318
319
320// App
321
322
323
324
325// Pages
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350// Services
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367class AppModule {
368}
369AppModule.ɵfac = function AppModule_Factory(t) { return new (t || AppModule)(); };
370AppModule.ɵmod = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_37__["ɵɵdefineNgModule"]({ type: AppModule, bootstrap: [_app_component__WEBPACK_IMPORTED_MODULE_2__.AppComponent] });
371AppModule.ɵinj = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_37__["ɵɵdefineInjector"]({ providers: [ngx_cookie_service__WEBPACK_IMPORTED_MODULE_38__.CookieService, _core_login_resolver__WEBPACK_IMPORTED_MODULE_30__.LoginResolver, _core_pending_changes_guard__WEBPACK_IMPORTED_MODULE_32__.PendingChangesGuard], imports: [[
372            ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_29__.AlertModule.forRoot(),
373            _angular_fire_analytics__WEBPACK_IMPORTED_MODULE_39__.AngularFireAnalyticsModule,
374            _angular_fire_auth__WEBPACK_IMPORTED_MODULE_40__.AngularFireAuthModule,
375            _angular_fire__WEBPACK_IMPORTED_MODULE_41__.AngularFireModule.initializeApp(_environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.firebase),
376            _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_42__.AngularFirestoreModule,
377            _angular_fire_storage__WEBPACK_IMPORTED_MODULE_43__.AngularFireStorageModule,
378            _app_routing_module__WEBPACK_IMPORTED_MODULE_1__.AppRoutingModule,
379            _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_44__.BrowserAnimationsModule,
380            _angular_platform_browser__WEBPACK_IMPORTED_MODULE_45__.BrowserModule,
381            _angular_common__WEBPACK_IMPORTED_MODULE_46__.CommonModule,
382            _core_core_module__WEBPACK_IMPORTED_MODULE_3__.CoreModule,
383            _angular_forms__WEBPACK_IMPORTED_MODULE_47__.FormsModule,
384            ngx_markdown__WEBPACK_IMPORTED_MODULE_48__.MarkdownModule.forRoot({
385                // set various markdown options
386                markedOptions: {
387                    provide: ngx_markdown__WEBPACK_IMPORTED_MODULE_48__.MarkedOptions,
388                    useValue: {
389                        // makes having 2 newlines for a line break unnecessary
390                        breaks: true,
391                    },
392                },
393            }),
394            ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_31__.ModalModule.forRoot(),
395            _shared_shared_module__WEBPACK_IMPORTED_MODULE_4__.SharedModule,
396            ngx_toastr__WEBPACK_IMPORTED_MODULE_49__.ToastrModule.forRoot(),
397            ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_34__.TooltipModule,
398        ]] });
399(function () { (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_37__["ɵɵsetNgModuleScope"](AppModule, { declarations: [_pages_access_de
399nied_beta_access_denied_beta_component__WEBPACK_IMPORTED_MODULE_6__.AccessDeniedBetaComponent,
400        _pages_access_denied_access_denied_component__WEBPACK_IMPORTED_MODULE_7__.AccessDeniedComponent,
401        _app_component__WEBPACK_IMPORTED_MODULE_2__.AppComponent,
402        _pages_about_about_component__WEBPACK_IMPORTED_MODULE_5__.AboutComponent,
403        _pages_contact_contact_component__WEBPACK_IMPORTED_MODULE_8__.ContactComponent,
404        _pages_signing_error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_33__.ErrorAlertComponent,
405        _pages_faq_faq_component__WEBPACK_IMPORTED_MODULE_9__.FaqComponent,
406        _pages_home_home_component__WEBPACK_IMPORTED_MODULE_10__.HomeComponent,
407        _pages_viewing_messages_messages_component__WEBPACK_IMPORTED_MODULE_16__.MessagesComponent,
408        _pages_msg_sent_msg_sent_component__WEBPACK_IMPORTED_MODULE_17__.MsgSentComponent,
409        _pages_my_virtrolio_my_virtrolio_component__WEBPACK_IMPORTED_MODULE_18__.MyVirtrolioComponent,
410        _pages_viewing_messages_image_footer_image_footer_component__WEBPACK_IMPORTED_MODULE_11__.ImageFooterComponent,
411        _pages_signing_image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_12__.ImageModalComponent,
412        _pages_invalid_link_invalid_link_component__WEBPACK_IMPORTED_MODULE_13__.InvalidLinkComponent,
413        _pages_viewing_message_modal_message_modal_component__WEBPACK_IMPORTED_MODULE_15__.MessageModalComponent,
414        _pages_maintenance_maintenance_component__WEBPACK_IMPORTED_MODULE_14__.MaintenanceComponent,
415        _pages_page_not_found_page_not_found_component__WEBPACK_IMPORTED_MODULE_19__.PageNotFoundComponent,
416        _pages_privacy_policy_privacy_policy_component__WEBPACK_IMPORTED_MODULE_20__.PrivacyPolicyComponent,
417        _pages_rejecc_rejecc_component__WEBPACK_IMPORTED_MODULE_21__.RejeccComponent,
418        _pages_viewing_responses_list_responses_list_component__WEBPACK_IMPORTED_MODULE_22__.ResponsesListComponent,
419        _pages_settings_settings_component__WEBPACK_IMPORTED_MODULE_23__.SettingsComponent,
420        _pages_signing_auth_redirect_signing_auth_redirect_component__WEBPACK_IMPORTED_MODULE_24__.SigningAuthRedirectComponent,
421        _pages_signing_signing_component__WEBPACK_IMPORTED_MODULE_25__.SigningComponent,
422        _pages_viewing_single_message_single_message_component__WEBPACK_IMPORTED_MODULE_26__.SingleMessageComponent,
423        _pages_terms_of_service_terms_of_service_component__WEBPACK_IMPORTED_MODULE_27__.TermsOfServiceComponent,
424        _pages_viewing_viewing_component__WEBPACK_IMPORTED_MODULE_28__.ViewingComponent], imports: [ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_29__.AlertModule, _angular_fire_analytics__WEBPACK_IMPORTED_MODULE_39__.AngularFireAnalyticsModule,
425        _angular_fire_auth__WEBPACK_IMPORTED_MODULE_40__.AngularFireAuthModule, _angular_fire__WEBPACK_IMPORTED_MODULE_41__.AngularFireModule, _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_42__.AngularFirestoreModule,
426        _angular_fire_storage__WEBPACK_IMPORTED_MODULE_43__.AngularFireStorageModule,
427        _app_routing_module__WEBPACK_IMPORTED_MODULE_1__.AppRoutingModule,
428        _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_44__.BrowserAnimationsModule,
429        _angular_platform_browser__WEBPACK_IMPORTED_MODULE_45__.BrowserModule,
430        _angular_common__WEBPACK_IMPORTED_MODULE_46__.CommonModule,
431        _core_core_module__WEBPACK_IMPORTED_MODULE_3__.CoreModule,
432        _angular_forms__WEBPACK_IMPORTED_MODULE_47__.FormsModule, ngx_markdown__WEBPACK_IMPORTED_MODULE_48__.MarkdownModule, ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_31__.ModalModule, _shared_shared_module__WEBPACK_IMPORTED_MODULE_4__.SharedModule, ngx_toastr__WEBPACK_IMPORTED_MODULE_49__.ToastrModule, ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_34__.TooltipModule] }); })();
433_angular_core__WEBPACK_IMPORTED_MODULE_37__["ɵɵsetComponentScope"](_app_component__WEBPACK_IMPORTED_MODULE_2__.AppComponent, [_core_navbar_navbar_component__WEBPACK_IMPORTED_MODULE_35__.NavbarComponent, _angular_router__WEBPACK_IMPORTED_MODULE_50__.RouterOutlet, _angular_common__WEBPACK_IMPORTED_MODULE_46__.NgIf, _angular_router__WEBPACK_IMPORTED_MODULE_50__.RouterLinkWithHref, _core_footer_footer_component__WEBPACK_IMPORTED_MODULE_36__.FooterComponent], []);
434
435
436/***/ }),
437
438/***/ 87341:
439/*!**************************************!*\
440  !*** ./src/app/core/auth.service.ts ***!
441  \**************************************/
442/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
443
444"use strict";
445__webpack_require__.r(__webpack_exports__);
446/* harmony export */ __webpack_require__.d(__webpack_exports__, {
447/* harmony export */   "AuthService": function() { return /* binding */ AuthService; }
448/* harmony export */ });
449/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tslib */ 64762);
450/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rxjs/operators */ 15257);
451/* harmony import */ var _common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./common.service */ 80150);
452/* harmony import */ var firebase_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! firebase/app */ 42329);
453/* harmony import */ var firebase_auth__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! firebase/auth */ 71952);
454/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 37716);
455/* harmony import */ var _angular_fire_auth__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/fire/auth */ 49743);
456/* harmony import */ var _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/fire/firestore */ 56717);
457/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/router */ 39895);
458/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/common */ 38583);
459/* harmony import */ var ngx_device_detector__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ngx-device-detector */ 1135);
460
461
462
463
464
465var auth = firebase_app__WEBPACK_IMPORTED_MODULE_1__.default.auth;
466
467
468
469
470
471
472class AuthService {
473    constructor(afa, afs, router, location, deviceDetectorService) {
474        this.afa = afa;
475        this.afs = afs;
476        this.router = router;
477        this.location = location;
478        this.deviceDetectorService = deviceDetectorService;
479        this.afa.user.subscribe((user) => (this.user = user));
480    }
481    /**
482     * Generates a random string of characters of length AppAuthService.keyLength using the characters in
483     * AppAuthService.keyOptions.
484     */
485    static generateKey() {
486        let key = '';
487        for (let i = 0; i < AuthService.KEY_LENGTH; i++) {
488            key += AuthService.KEY_OPTIONS.charAt(Math.floor(Math.random() * AuthService.KEY_OPTIONS.length));
489        }
490        return key;
491    }
492    /**
493     * Combines the desired routerLink and queryParams into one string, adding all necessary ?, = and &.
494     * Used to create a path param for this.location.go().
495     * @param path - the desired routerLink
496     * @param queryParams - all query params to be added onto the routerLink
497     */
498    static parseQueryParams(path, queryParams) {
499        let redirectPath = path;
500        if (queryParams) {
501            redirectPath += '?';
502            for (const param in queryParams) {
503                if (queryParams.hasOwnProperty(param)) {
504                    redirectPath += param + '=' + queryParams[param] + '&';
505                }
506            }
507            // Remove the extra ampersand at the end
508            return redirectPath.slice(0, -1);
509        }
510        else {
511            return path;
512        }
513    }
514    /**
515     * @param uid - Optional - The user ID of the user's data to retrieve. Defaults to the current user.
516     * @returns The Firestore document containing the user's data.
517     */
518    getUserData(uid = this.uid()) {
519        return (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, function* () {
520            const userRef = this.afs
521                .collection('users')
522                .doc(uid);
523            return yield userRef
524                .valueChanges()
525                .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.take)(1))
526                .toPromise()
527                .catch((error) => {
528                _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
529            });
530        });
531    }
532    /**
533     * Displays an error using an alert, then logs the user out, and then redirects them to the access-denied page.
534     * @param error - The error to be displayed
535     */
536    errorLogout(error) {
537        _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
538        return this.afa
539            .signOut()
540            .then(() => this.router.navigate(['/access-denied']))
541            .catch((soError) => _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(soError));
542    }
543    /**
544     * @returns The current User object.
545     */
546    getUser() {
547        this.throwErrorIfLoggedOut('access your user data');
548        return this.user;
549    }
550    /**
551     * Logs the user into the website using Firebase Authentication and the specified provider.
552     * User data creation is handled ONLY for desktop devices.
553     * Any page calling login **must** call AuthService.redirectLoginUserCreation() in ngOnInit() of the page that it
554     * redirects to, which is the routeTo param. Otherwise, mobile users will not be able to create a user. Upon login,
555     * the user will be redirected to a new page as defined in routeTo.
556     * @param routeTo - The routerLink that the user will be redirected to on a successful login.
557     * @param queryParams - Optional - Any query params to be passed during navigation after successful navigation.
558     * @returns A promise evaluating to true if the redirect is successful (only returned on desktop devices).
559     * @throws Error - If the login fails
560     */
561    login(routeTo, queryParams) {
562        return (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, function* () {
563            if (typeof routeTo === 'undefined' || !routeTo) {
564                throw new Error('Route was not provided');
565            }
566            // Prepare sign-in provider(s)
567            const googleAuthProvider = new auth.GoogleAuthProvider();
568            // Check device type
569            if (this.deviceDetectorService.isDesktop()) {
570                // Device is desktop, so use sign-in with popup
571                return this.afa
572                    .signInWithPopup(new auth.GoogleAuthProvider())
573                    .then((userCredentials) => {
574                    if (userCredentials.user) {
575                        // If user is not null
576                        return this.createUser(userCredentials.user).then(() => {
577                            return this.router.navigate([routeTo], { queryParams });
578                        });
579                    }
580                    else {
581                        return this.errorLogout('Null User Credentials on login: ' + userCredentials);
582                    }
583                })
584                    .catch((error) => {
585                    this.errorLogout(error);
586                });
587            }
588            else {
589                // Device is phone/tablet, so use sign-in with redirect
590                const redirectPath = AuthService.parseQueryParams(routeTo, queryParams);
591                this.location.go(redirectPath);
592                // Sign-in with Redirect is necessary to support popup browsers which do not have support for multiple tabs)
593                return this.afa.signInWithRedirect(googleAuthProvider).catch((error) => {
594                    this.errorLogout(error);
595                });
596            }
597        });
598    }
599    /**
600     * Logs the user out of the website using Firebase Authentication.
601     * Upon successful logout, the user will be redirected to the home page.
602     * @returns A promise evaluating to true if the redirect is successful.
603     * @throws Error - If the logout fails
604     */
605    logout() {
606        return this.afa
607            .signOut()
608            .then(() => {
609            return this.router.navigate(['/']);
610        })
611            .catch((error) => {
612            _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
613            return this.router.navigate(['/']);
614        });
615    }
616    /**
617     * Creates a new VirtrolioUser document in the 'users' collection of the database only if the document for the
618     * currently logged in user doesn't exist.
619     * @param user: The user object returned by the Firebase Authentication login process.
620     * @throws ReferenceError - If the Firestore documents for the user or list of beta tester
620s is missing
621     * @throws Error - If a write to Firestore fails
622     */
623    createUser(user) {
624        return (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, function* () {
625            // Not using this.getUserData() because userRef is required
626            const userRef = this.afs
627                .collection('users')
628                .doc(user.uid);
629            const userDoc = yield userRef
630                .valueChanges()
631                .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.take)(1))
632                .toPromise()
633                .catch((error) => {
634                throw new Error('User Creation Error:' + error);
635            });
636            if (!userDoc) {
637                // User doesn't exist in database
638                const userData = {
639                    displayName: user.displayName,
640                    key: AuthService.generateKey(),
641                    profilePic: user.photoURL,
642                };
643                yield userRef.set(userData).catch((error) => {
644                    throw new Error('User Creation Error:' + error);
645                });
646            }
647            else {
648                // User exists in database, make sure all fields are present
649                if (!('key' in userDoc)) {
650                    yield userRef
651                        .update({ key: AuthService.generateKey() })
652                        .catch((error) => {
653                        throw new Error('User Creation Error:' + error);
654                    });
655                }
656                if (!('displayName' in userDoc)) {
657                    yield userRef
658                        .update({ displayName: user.displayName })
659                        .catch((error) => {
660                        throw new Error('User Creation Error:' + error);
661                    });
662                }
663                if (!('profilePic' in userDoc)) {
664                    yield userRef.update({ profilePic: user.photoURL }).catch((error) => {
665                        throw new Error('User Creation Error:' + error);
666                    });
667                }
668            }
669        });
670    }
671    /**
672     * Handles the user creation if the user was signed in using signInWithRedirect() (called on mobile devices) instead
673     * of signInWithPopup(). Should be called on any page that could potentially be a page that the user is redirected to
674     * after calling AuthService.login(). User creation for devices using signInWithPopup() (desktops) is handled in
675     * AuthService.login().
676     */
677    redirectLoginUserCreation() {
678        return (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, function* () {
679            const userCredentials = yield this.afa.getRedirectResult();
680            // user will be null if signInWithRedirect wasn't called right before
681            if (userCredentials.user) {
682                yield this.createUser(userCredentials.user).catch((error) => {
683                    return this.errorLogout(error);
684                });
685            }
686        });
687    }
688    /**
689     * Should not be used on pages/guards that are not protected by the LoginResolver.
690     * If async functionality is required, use asyncIsLoggedIn() instead.
691     * @returns True if the user is logged in.
692     */
693    isLoggedIn() {
694        return this.user != null;
695    }
696    /**
697     * Identical to isLoggedIn(), except using a promise. Allows the caller to utilize .then() or await.
698     * If the usage of .then() or await by the caller is not required, isLoggedIn() should be used instead.
699     * @returns a Promise evaluating to True if the user is logged in.
700     */
701    asyncIsLoggedIn() {
702        return (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, function* () {
703            const user = yield this.afa.user.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.take)(1)).toPromise();
704            return !!user;
705        });
706    }
707    /**
708     * Throws a ReferenceError if the user is logged out instead of returning false (that's isLoggedIn()).
709     * Does nothing if the user is logged in.
710     * The Error is designed in such a way that the error message can be displayed to the user using a Modal or an Alert.
711     * @param attemptedOperation - The operation that is not permitted if the user is logged out, such as 'send a
712     *   message'. Should be in present tense and be in user-friendly language.
713     * @throws ReferenceError - If the user is not logged in
714     */
715    asyncThrowErrorIfLoggedOut(attemptedOperation) {
716        return (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, function* () {
717            if (!(yield this.asyncIsLoggedIn())) {
718                throw new ReferenceError('Cannot ' + attemptedOperation + ' because you are not logged in.');
719            }
720        });
721    }
722    /**
723     * Throws a ReferenceError if the user is logged out instead of returning false (that's isLoggedIn()).
724     * Does nothing if the user is logged in.
725     * The Error is designed in such a way that the error message can be displayed to the user using a Modal or an Alert.
726     * @param attemptedOperation - The operation that is not permitted if the user is logged out, such as 'send a
727     *   message'. Should be in present tense and be in user-friendly language.
728     * @throws ReferenceError - If the user is not logged in
729     */
730    throwErrorIfLoggedOut(attemptedOperation) {
731        if (!this.isLoggedIn()) {
732            throw new ReferenceError('Cannot ' + attemptedOperation + ' because you are not logged in.');
733        }
734    }
735    /**
736     * @param uid - The uid to get the profile picture of. Defaults to the current user if not provided.
737     * @returns The URL to the user's profile picture.
738     * @throws ReferenceError - If the user is not logged in or doesn't exist
739     */
740    profilePictureLink(uid = this.uid()) {
741        return (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, function* () {
742            yield this.asyncThrowErrorIfLoggedOut('get your profile picture');
743            // noinspection DuplicatedCode
744            if (uid === this.uid()) {
745                // Avoid unnecessary database reads by getting current user data directly from Firebase Authentication
746                return this.user.photoURL;
747            }
748            else {
749                const userDoc = yield this.getUserData(uid);
750                if (userDoc) {
751                    return userDoc.profilePic;
752                }
753                else {
754                    throw new ReferenceError("User document doesn't exist");
755                }
756            }
757        });
758    }
759    /**
760     * Same as profilePictureLink, except not async to avoid the navbar trying to load the picture before the async call
761     * completes. This method should <u>**NOT**</u> be called by anything except the navbar. Use profilePictureLink()
762     * instead.
763     * @returns The URL to the user's profile picture.
764     * @throws ReferenceError - If the user is not logged in
765     */
766    notAsyncProfilePictureLink() {
767        return this.user.photoURL;
768    }
769    /**
770     * @param uid - The uid to get the display name of. Defaults to the current user if not provided.
771     * @returns The Display Name of the user as defined in the account that they use to sign in.
772     * @throws ReferenceError - If the user is not logged in or doesn't exist
773     */
774    displayName(uid = this.uid()) {
775        return (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, function* () {
776            yield this.asyncThrowErrorIfLoggedOut('get your name');
777            // noinspection DuplicatedCode
778            if (uid === this.uid()) {
779                // Avoid unnecessary database reads by getting current user data directly from Firebase Authentication
780                return this.user.displayName;
781            }
782            else {
783                const userDoc = yield this.getUserData(uid);
784                if (userDoc) {
785                    return userDoc.displayName;
786                }
787                else {
788                    throw new ReferenceError("User document doesn't exist");
789                }
790            }
791        });
792    }
793    /**
794     * @returns The user's Firebase Authentication User ID.
795     * @throws ReferenceError - If the user is not logged in
796     */
797    uid() {
798        this.throwErrorIfLoggedOut('get your user ID');
799        return this.user.uid;
800    }
801    /**
802     * Checks if the provided user exists in the Users collection in the database.
803     * This method should only be called if the user has logged in at least once before.
804     * @param uid - The UID of the user to check
805     * @throws Error - If the argument is blank, null or undefined.
806     */
807    userExists(uid) {
808        return (0,tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, function* () {
809            if (typeof uid === 'undefined' || !uid) {
810                throw new Error('Argument UID was not provided');
811            }
812            const userRef = this.afs.collection('users').doc(uid);
813            return userRef
814                .snapshotChanges()
815                .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.take)(1))
816                .toPromise()
817                .then((userDoc) => {
818                return userDoc.payload.exists;
819            })
820                .catch((error) => alert(error));
821        });
822    }
823}
824AuthService.KEY_LENGTH = 7;
825AuthService.KEY_OPTIONS = 'qwertyuipasdfghjkzxcvbnmQWERTYUPASDFGHJKLZXCVBNM123456789';
826AuthService.ɵfac = function AuthService_Factory(t) { return new (t || AuthService)(_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_angular_fire_auth__WEBPACK_IMPORTED_MODULE_6__.AngularFireAuth), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_angular_fire_firestore__WEBPACK_IMPORTED_MODULE_7__.AngularFirestore), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_angular_common__WEBPACK_IMPORTED_MODULE_9__.Location), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](ngx_device_detector__WEBPACK_IMPORTED_MODULE_10__.DeviceDetectorService)); };
827AuthService.ɵprov = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdefineInjectable"]({ token: AuthService, factory: AuthService.ɵfac, providedIn: 'root' });
828
829
830/***/ }),
831
832/***/ 80150:
833/*!****************************************!*\
834  !*** ./src/app/core/common.service.ts ***!
835  \****************************************/
836/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
837
838"use strict";
839__webpack_require__.r(__webpack_exports__);
840/* harmony export */ __webpack_require__.d(__webpack_exports__, {
841/* harmony export */   "CommonService": function() { return /* binding */ CommonService; }
842/* harmony export */ });
843/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ 64762);
844/* harmony import */ var yaml__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! yaml */ 53782);
845/* harmony import */ var yaml__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(yaml__WEBPACK_IMPORTED_MODULE_0__);
846/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 37716);
847/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/common/http */ 91841);
848
849
850
851
852class CommonService {
853    constructor(http) {
854        this.http = http;
855    }
856    /**
857     * Displays an error to the user using an alert and a human-readable prefix.
858     * @param error - The error to display to the user.
859     */
860    static displayError(error) {
861        alert("An error occurred. Here are the details that you can report to our team through the 'Contact Us' page:\n" +
862            error);
863    }
864    parseYAMLFromFile(path) {
865        return (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, function* () {
866            const yamlText = yield this.http
867                .get(path, {
868                observe: 'body',
869                responseType: 'text',
870            })
871                .toPromise();
872            return yaml__WEBPACK_IMPORTED_MODULE_0___default().parse(yamlText);
873        });
874    }
875}
876CommonService.CURRENT_YEAR = new Date().getFullYear();
877CommonService.ɵfac = function CommonService_Factory(t) { return new (t || CommonService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpClient)); };
878CommonService.ɵprov = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({ token: CommonService, factory: CommonService.ɵfac, providedIn: 'root' });
879
880
881/***/ }),
882
883/***/ 40294:
884/*!*************************************!*\
885  !*** ./src/app/core/core.module.ts ***!
886  \*************************************/
887/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
888
889"use strict";
890__webpack_require__.r(__webpack_exports__);
891/* harmony export */ __webpack_require__.d(__webpack_exports__, {
892/* harmony export */   "CoreModule": function() { return /* binding */ CoreModule; }
893/* harmony export */ });
894/* harmony import */ var _navbar_navbar_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./navbar/navbar.component */ 1239);
895/* harmony import */ var _footer_footer_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./footer/footer.component */ 91229);
896/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/router */ 39895);
897/* harmony import */ var _app_routing_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../app-routing.module */ 90158);
898/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/common */ 38583);
899/* harmony import */ var _angular_fire__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/fire */ 50057);
900/* harmony import */ var _environments_environment_prod__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../environments/environment.prod */ 89019);
901/* harmony import */ var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/fire/storage */ 68274);
902/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/common/http */ 91841);
903/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 37716);
904
905
906
907
908
909
910
911
912
913
914
915class CoreModule {
916}
917CoreModule.ɵfac = function CoreModule_Factory(t) { return new (t || CoreModule)(); };
918CoreModule.ɵmod = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineNgModule"]({ type: CoreModule });
919CoreModule.ɵinj = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineInjector"]({ providers: [], imports: [[
920            _angular_fire__WEBPACK_IMPORTED_MODULE_5__.AngularFireModule.initializeApp(_environments_environment_prod__WEBPACK_IMPORTED_MODULE_3__.environment.firebase),
921            _angular_fire_storage__WEBPACK_IMPORTED_MODULE_6__.AngularFireStorageModule,
922            _angular_router__WEBPACK_IMPORTED_MODULE_7__.RouterModule,
923            _app_routing_module__WEBPACK_IMPORTED_MODULE_2__.AppRoutingModule,
924            _angular_common__WEBPACK_IMPORTED_MODULE_8__.CommonModule,
925            _angular_common_http__WEBPACK_IMPORTED_MODULE_9__.HttpClientModule,
926        ]] });
927(function () { (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsetNgModuleScope"](CoreModule, { declarations: [_navbar_navbar_component__WEBPACK_IMPORTED_MODULE_0__.NavbarComponent, _footer_footer_component__WEBPACK_IMPORTED_MODULE_1__.FooterComponent], imports: [_angular_fire__WEBPACK_IMPORTED_MODULE_5__.AngularFireModule, _angular_fire_storage__WEBPACK_IMPORTED_MODULE_6__.AngularFireStorageModule,
928        _angular_router__WEBPACK_IMPORTED_MODULE_7__.RouterModule,
929        _app_routing_module__WEBPACK_IMPORTED_MODULE_2__.AppRoutingModule,
930        _angular_common__WEBPACK_IMPORTED_MODULE_8__.CommonModule,
931        _angular_common_http__WEBPACK_IMPORTED_MODULE_9__.HttpClientModule], exports: [_navbar_navbar_component__WEBPACK_IMPORTED_MODULE_0__.NavbarComponent, _footer_footer_component__WEBPACK_IMPORTED_MODULE_1__.FooterComponent] }); })();
932
933
934/***/ }),
935
936/***/ 87181:
937/*!**************************************!*\
938  !*** ./src/app/core/font.service.ts ***!
939  \**************************************/
940/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
941
942"use strict";
943__webpack_require__.r(__webpack_exports__);
944/* harmony export */ __webpack_require__.d(__webpack_exports__, {
945/* harmony export */   "FontService": function() { return /* binding */ FontService; }
946/* harmony export */ });
947/* harmony import */ var _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/interfaces/fonts */ 74743);
948/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 37716);
949
950
951class FontService {
952    constructor() { }
953}
954// Note how you don't have to override the default values if you don't want to
955FontService.Arial = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Arial', 'sans-serif');
956FontService.ComicSansMS = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Comic Sans MS', 'sans-serif');
957FontService.CourierNew = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Courier New', 'monospace');
958FontService.DancingScript = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Dancing Script', 'cursive');
959FontService.Montserrat = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Montserrat', 'sans-serif');
960FontService.Roboto = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Roboto', 'sans-serif');
961FontService.Merriweather = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Merriweather', 'serif');
962FontService.Lobster = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Lobster', 'sans-serif');
963FontService.IndieFlower = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Indie Flower', 'sans-serif');
964FontService.PatrickHand = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Patrick Hand', 'sans-serif');
965FontService.PermanentMarker = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Permanent Marker', 'sans-serif');
966FontService.Sacramento = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Sacramento', 'cursive');
967FontService.SpecialElite = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Special Elite', 'sans-serif');
968FontService.TimesNewRoman = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Times New Roman', 'serif');
969FontService.PoiretOne = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Poiret One', 'sans-serif');
970FontService.PressStart = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Press Start', 'sans-serif');
971FontService.FONTS = {
972    Arial: FontService.Arial,
973    'Comic Sans MS': FontService.ComicSansMS,
974    'Courier New': FontService.CourierNew,
975    'Dancing Script': FontService.DancingScript,
976    'Indie Flower': FontService.IndieFlower,
977    Lobster: FontService.Lobster,
978    Merriweather: FontService.Merriweather,
979    Montserrat: FontService.Montserrat,
980    'Patrick Hand': FontService.PatrickHand,
981    'Permanent Marker': FontService.PermanentMarker,
982    'Poiret One': FontService.PoiretOne,
983    'Press Start': FontService.PressStart,
984    Roboto: FontService.Roboto,
985    Sacramento: FontService.Sacramento,
986    'Special Elite': FontService.SpecialElite,
987    'Times New Roman': FontService.TimesNewRoman,
988};
989FontService.ɵfac = function FontService_Factory(t) { return new (t || FontService)(); };
990FontService.ɵprov = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjectable"]({ token: FontService, factory: FontService.ɵfac, providedIn: 'root' });
991
992
993/***/ }),
994
995/***/ 91229:
996/*!*************************************************!*\
997  !*** ./src/app/core/footer/footer.component.ts ***!
998  \*************************************************/
999/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1000
1001"use strict";
1002__webpack_require__.r(__webpack_exports__);
1003/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1004/* harmony export */   "FooterComponent": function() { return /* binding */ FooterComponent; }
1005/* harmony export */ });
1006/* harmony import */ var _common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common.service */ 80150);
1007/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 37716);
1008
1009
1010class FooterComponent {
1011    constructor() {
1012        this.currentYear = _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.CURRENT_YEAR;
1013    }
1014    ngOnInit() { }
1015}
1016FooterComponent.ɵfac = function FooterComponent_Factory(t) { return new (t || FooterComponent)(); };
1017FooterComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ type: FooterComponent, selectors: [["app-footer"]], decls: 15, vars: 1, consts: [["id", "footer", 
10171, "vertical-center", "align-items-center"], ["href", "https://www.facebook.com/virtrolio/", "target", "_blank", 1, "m-4"], ["src", "../../../assets/images/icons/facebook.svg", "alt", "Our Facebook", 1, "social-icon"], ["href", "https://www.instagram.com/virtrolio/", "target", "_blank", 1, "m-4"], ["src", "../../../assets/images/icons/instagram.svg", "alt", "Our Instagram", 1, "social-icon"], ["href", "mailto:[email protected]", "target", "_blank", 1, "m-4"], ["src", "../../../assets/images/icons/mail.svg", "alt", "Our Email", 1, "social-icon"], ["id", "legal"], ["href", "/terms-of-service"], ["href", "/privacy-policy"]], template: function FooterComponent_Template(rf, ctx) { if (rf & 1) {
1018        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "footer", 0);
1019        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div");
1020        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "a", 1);
1021        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](3, "img", 2);
1022        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
1023        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](4, "a", 3);
1024        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](5, "img", 4);
1025        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
1026        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](6, "a", 5);
1027        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](7, "img", 6);
1028        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
1029        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
1030        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](8, "div", 7);
1031        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](9, "a", 8);
1032        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](10, "Terms of Service");
1033        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
1034        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](11, " | ");
1035        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](12, "a", 9);
1036        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](13, "Privacy Policy");
1037        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
1038        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](14);
1039        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
1040        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
1041    } if (rf & 2) {
1042        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](14);
1043        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"](" | \u00A9 Virtrolio 2020-", ctx.currentYear, " ");
1044    } }, styles: ["footer[_ngcontent-%COMP%] {\n  left: 0;\n  bottom: 0;\n  margin-bottom: 0;\n  width: 100%;\n  background-color: var(--darkest-accent);\n  color: white;\n  position: relative;\n  height: var(--footer-height);\n  display: flex;\n  flex-direction: column;\n  z-index: 1000;\n}\n\nfooter[_ngcontent-%COMP%]    > *[_ngcontent-%COMP%] {\n  margin: 0.3em 0;\n}\n\n#legal[_ngcontent-%COMP%] {\n  text-align: center;\n  font-size: 0.8em;\n}\n\na[_ngcontent-%COMP%] {\n  color: white;\n}\n\n.social-icon[_ngcontent-%COMP%] {\n  height: 2em;\n  width: 2em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvb3Rlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsT0FBTztFQUNQLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsV0FBVztFQUNYLHVDQUF1QztFQUN2QyxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLDRCQUE0QjtFQUM1QixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLGFBQWE7QUFDZjs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsV0FBVztFQUNYLFVBQVU7QUFDWiIsImZpbGUiOiJmb290ZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImZvb3RlciB7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmtlc3QtYWNjZW50KTtcbiAgY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogdmFyKC0tZm9vdGVyLWhlaWdodCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbmZvb3RlciA+ICoge1xuICBtYXJnaW46IDAuM2VtIDA7XG59XG5cbiNsZWdhbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cblxuYSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnNvY2lhbC1pY29uIHtcbiAgaGVpZ2h0OiAyZW07XG4gIHdpZHRoOiAyZW07XG59XG4iXX0= */"] });
1045
1046
1047/***/ }),
1048
1049/***/ 55249:
1050/*!****************************************!*\
1051  !*** ./src/app/core/login-resolver.ts ***!
1052  \****************************************/
1053/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1054
1055"use strict";
1056__webpack_require__.r(__webpack_exports__);
1057/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1058/* harmony export */   "LoginResolver": function() { return /* binding */ LoginResolver; }
1059/* harmony export */ });
1060/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs/operators */ 15257);
1061/* harmony import */ var firebase_auth__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! firebase/auth */ 71952);
1062/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 37716);
1063/* harmony import */ var _angular_fire_auth__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/fire/auth */ 49743);
1064
1065
1066
1067
1068class LoginResolver {
1069    constructor(angularFireAuth) {
1070        this.angularFireAuth = angularFireAuth;
1071    }
1072    // noinspection JSUnusedLocalSymbols
1073    resolve(route, state) {
1074        return this.angularFireAuth.user.pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_1__.take)(1));
1075    }
1076}
1077LoginResolver.ɵfac = function LoginResolver_Factory(t) { return new (t || LoginResolver)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_angular_fire_auth__WEBPACK_IMPORTED_MODULE_3__.AngularFireAuth)); };
1078LoginResolver.ɵprov = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({ token: LoginResolver, factory: LoginResolver.ɵfac });
1079
1080
1081/***/ }),
1082
1083/***/ 84468:
1084/*!****************************************!*\
1085  !*** ./src/app/core/msg-io.service.ts ***!
1086  \****************************************/
1087/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1088
1089"use strict";
1090__webpack_require__.r(__webpack_exports__);
1091/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1092/* harmony export */   "MsgIoService": function() { return /* binding */ MsgIoService; }
1093/* harmony export */ });
1094/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! tslib */ 64762);
1095/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/core */ 37716);
1096/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! rxjs/operators */ 88002);
1097/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! rxjs/operators */ 15257);
1098/* harmony import */ var _common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./common.service */ 80150);
1099/* harmony import */ var _font_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./font.service */ 87181);
1100/* harmony import */ var firebase_app__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! firebase/app */ 42329);
1101/* harmony import */ var firebase_firestore__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! firebase/firestore */ 72491);
1102/* harmony import */ var _shared_interfaces_messages__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared/interfaces/messages */ 38031);
1103/* harmony import */ var _storage_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./storage.service */ 66498);
1104/* harmony import */ var _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @angular/fire/firestore */ 56717);
1105/* harmony import */ var _auth_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./auth.service */ 87341);
1106/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
1107/* harmony import */ var _sharing_link_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./sharing-link.service */ 84157);
1108/* harmony import */ var _signing_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./signing.service */ 89214);
1109
1110
1111
1112
1113
1114
1115
1116
1117var firestore = firebase_app__WEBPACK_IMPORTED_MODULE_2__.default.firestore;
1118var Timestamp = firestore.Timestamp;
1119
1120
1121
1122
1123
1124
1125
1126
1127class MsgIoService {
1128    constructor(afs, authService, sanitizer, sharingLinkService, signingService, storageService) {
1129        this.afs = afs;
1130        this.authService = authService;
1131        this.sanitizer = sanitizer;
1132        this.sharingLinkService = sharingLinkService;
1133        this.signingService = signingService;
1134        this.storageService = storageService;
1135        this.messagesCollection = afs.collection('messages');
1136    }
1137    /**
1138     * Helper method for sendMessage(). Checks the contents of the provided message to verify that there are no errors,
1139     * and that all required fields were provided. Throws an error if any field is incorrect or not provided.
1140     * @param message - The message to be checked.
1141     * @throws Error - If any field is blank, null, undefined or otherwise invalid.
1142     * @throws RangeError - If the contents of the message exceed the value of the maxMessageLength constant defined
1143     * in MsgIoService.
1144     */
1145    verifyMessage(message) {
1146        const sanitizedContents = this.sanitizer.sanitize(_angular_core__WEBPACK_IMPORTED_MODULE_9__.SecurityContext.HTML, message.contents);
1147        if (typeof message.to === 'undefined' || !message.to) {
1148            // This condition (used several times below) checks for undefined, null or empty strings
1149            throw new Error('Recipient UID was not provided');
1150        }
1151        else if (typeof message.contents === 'undefined' || !message.contents) {
1152            throw new Error('Message contents were not provided');
1153        }
1154        else if (!/\S+/.test(message.contents)) {
1155            // Ensure messages does not solely consist of whitespace
1156            throw new Error('Message contents cannot solely consist of whitespace/blanks');
1157        }
1158        else if (typeof message.backColor === 'undefined' || !message.backColor) {
1159            throw new Error('Background color was not provided');
1160        }
1161        else if (typeof message.fontColor === 'undefined' || !message.fontColor) {
1162            throw new Error('Font color was not provided');
1163        }
1164        else if (typeof message.fontFamily === 'undefined' ||
1165            !message.fontFamily) {
1166            throw new Error('Font family was not provided');
1167        }
1168        else if (sanitizedContents.length > MsgIoService.MAX_MSG_LENGTH) {
1169            throw new RangeError('Message is too long. The max length is ' +
1170                MsgIoService.MAX_MSG_LENGTH +
1171                ' characters, ' +
1172                'and the provided message is ' +
1173                sanitizedContents.length +
1174                ' characters long.\n' +
1175                'Remember that some character such as line breaks, emojis and other languages have a length longer than one per character.');
1176        }
1177        else if (!/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(message.fontColor)) {
1178            // Match for hex code such as: #FFFFFF
1179            throw new Error("Provided font color is not a valid hex code. Did you forget to include '#'?" +
1180                ' Provided color code: ' +
1181                message.fontColor);
1182        }
1183        else if (!/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(message.backColor)) {
1184            // Match for hex code such as: #FFFFFF
1185            throw new Error("Provided background color is not a valid hex code. Did you forget to include '#'?" +
1186                ' Provided color code: ' +
1187                message.backColor);
1188        }
1189        else if (!(message.fontFamily in _font_service__WEBPACK_IMPORTED_MODULE_1__.FontService.FONTS)) {
1190            throw new Error("Provided font family is not supported or doesn't exist: " +
1191                message.fontFamily);
1192        }
1193        // Return not needed as an error will be thrown if something is wrong
1194    }
1195    /**
1196     * @returns A blank VirtrolioMessageTemplate, which should be modified the returned template to fill in the user data
1197     * and then passed into MsgIoService.sendMessage().
1198     */
1199    createBlankMessage() {
1200        return new _shared_interfaces_messages__WEBPACK_IMPORTED_MODULE_4__.VirtrolioMessageTemplate();
1201    }
1202    /**
1203     * Collects ALL messages from the Firestore messages database that were sent to a particular user.
1204     * Pay careful attention to the fields that are returned in a VirtrolioMessage by reading
1205     * shared/interfaces/messages.ts. A VirtrolioMessage is NOT identical to a VirtrolioMessageTemplate.
1206     * @returns An Observable that will contain an array of all messages sent to uid, including the message IDs.
1207     * @throws Error - If the argument is blank, null or undefined.
1208     */
1209    getMessages() {
1210        this.authService.throwErrorIfLoggedOut('get your messages');
1211        return this.afs
1212            .collection('messages', (ref) => ref
1213            .where('to', '==', this.authService.uid())
1214            .orderBy('timestamp', 'desc'))
1215            .snapshotChanges()
1216            .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_10__.map)((actions) => actions.map((a) => {
1217            const data = a.payload.doc.data();
1218            const id = a.payload.doc.id;
1219            return Object.assign({ id }, data);
1220        })));
1221    }
1222    /**
1223     * Collects a SINGLE message from the Firestore messages database based on a message ID.
1224     * Pay careful attention to the fields that are returned in a VirtrolioMessage by reading
1225     * shared/interfaces/messages.ts. A VirtrolioMessage is NOT identical to a VirtrolioMessageTemplate.
1226     * @param msgID - The ID of the message to be received.
1227     */
1228    getMessage(msgID) {
1229        this.authService.throwErrorIfLoggedOut('fetch a message');
1230        const msgRef = this.afs
1231            .collection('messages')
1232            .doc(msgID);
1233        return msgRef.snapshotChanges().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_10__.map)((document) => {
1234            const data = document.payload.data();
1235            const id = document.payload.id;
1236            return Object.assign({ id }, data);
1237        }));
1238    }
1239    /**
1240     * Marks the specified message as read by changing the isRead property of the message.
1241     * To avoid unnecessary writes, the caller of this method should check the isRead property prior to calling
1242     * this method. If that property is already true, this method should not be called.
1243     * The check should be done using the local copy of the message object that is used to display that message.
1244     * DO NOT get a new copy of the message - that would increase reads.
1245     * Assumes the message exists.
1246     * @param id - The ID of the message to mark as read.
1247     */
1248    markAsRead(id) {
1249        return (0,tslib__WEBPACK_IMPORTED_MODULE_11__.__awaiter)(this, void 0, void 0, function* () {
1250            yield this.afs
1251                .collection('messages')
1252                .doc(id)
1253                .update({ isRead: true })
1254                .catch((error) => {
1255                _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
1256            });
1257        });
1258    }
1259    /**
1260     * Checks to see if the current user has already signed another user's virtrolio.
1261     * Assumes the UIDs were already checked to be valid.
1262     * @param toUID - The recipient of the message.
1263     * @returns true - If the current user has already signed the virtrolio of toUID.
1264     */
1265    checkForMessage(toUID) {
1266        return (0,tslib__WEBPACK_IMPORTED_MODULE_11__.__awaiter)(this, void 0, void 0, function* () {
1267            const msgRef = yield this.afs
1268                .collection('messages')
1269                .doc(this.authService.uid() +
1270                '-' +
1271                toUID +
1272                '-' +
1273                MsgIoService.CURRENT_VERSION);
1274            const msgDoc = yield msgRef
1275                .valueChanges()
1276                .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_12__.take)(1))
1277                .toPromise();
1278            return !!msgDoc;
1279        });
1280    }
1281    /**
1282     * Used to send a Virtrolio message (defined by VirtrolioMessageTemplate) by adding it to the Firestore database.
1283     * @param messageTemplate - The contents and settings of the message. This should be a VirtrolioMessageTemplate that
1284     * was created by MsgIoService.createBlankMessage and then modified to fill in the user data. You should **NOT** try
1285     * to pass in a VirtrolioMessageTemplate that you create yourself.
1286     * @param key - The key of the recipient of the message. This should be extracted from the URL provided by the sender.
1287     * @throws RangeError - Thrown by helper method this.verifyMessage()
1288     * @throws Error - Thrown by helper method this.verifyMessage()
1289     * @throws TypeError - If the key is incorrect
1290     * @throws ReferenceError - If this method is called when logged out
1291     */
1292    sendMessage(messageTemplate, key) {
1293        return (0,tslib__WEBPACK_IMPORTED_MODULE_11__.__awaiter)(this, void 0, void 0, function* () {
1294            // Check message object contents for validity
1295            this.verifyMessage(messageTemplate);
1296            // Verify user is logged in
1297            yield this.authService.asyncThrowErrorIfLoggedOut('send a message');
1298            // Verify the virtrolio has not already been signed
1299            if (yield this.checkForMessage(messageTemplate.to)) {
1300                throw new Error("You have already signed this person's virtrolio. If you want to sign it again," +
1301                    " you'll have to ask them to delete your original message first.");
1302            }
1303            // Verify correct key
1304            const keyIsCorrect = yield this.sharingLinkService.checkKey(messageTemplate.to, key);
1305            if (keyIsCorrect) {
1306                // Remove XSS content from message contents
1307                messageTemplate.contents = this.sanitizer.sanitize(_angular_core__WEBPACK_IMPORTED_MODULE_9__.SecurityContext.HTML, messageTemplate.contents);
1308                // Generate target message id
1309                const messageId = this.authService.uid() +
1310                    '-' +
1311                    messageTemplate.to +
1312                    '-' +
1313                    MsgIoService.CURRENT_VERSION;
1314                // Upload images
1315                const images = yield this.storageService.uploadImages(messageId, this.signingService.images);
1316                // Add remaining autogenerated fields
1317                const message = Object.assign(Object.assign({}, messageTemplate), { from: this.authService.uid(), timestamp: Timestamp.now(), images, isRead: false, year: _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.CURRENT_YEAR, fromName: yield this.authService.displayName(), fromPic: yield this.authService.profilePictureLink(), key });
1318                // Send the message
1319                const msgRef = this.messagesCollection.doc(messageId);
1320                yield msgRef.set(message).catch((error) => {
1321                    _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
1322                });
1323            }
1324            else {
1325                throw new TypeError('Incorrect key');
1326            }
1327        });
1328    }
1329    /**
1330     * Deletes a message PERMANENTLY. The caller of this method is responsible for alerting the user that the deletion is
1331     * irreversible.
1332     * It is highly suggested that the caller display a confirmation dialog to confirm the deletion before calling this
1333     * method, as there is no way to reverse this operation. Not even if you say 'please'.
1334     * @param mID - The message/document ID of the message to be deleted.
1335     */
1336    deleteMessage(mID) {
1337        return (0,tslib__WEBPACK_IMPORTED_MODULE_11__.__awaiter)(this, void 0, void 0, function* () {
1338            yield this.storageService.deleteFiles(`${_storage_service__WEBPACK_IMPORTED_MODULE_5__.StorageService.MESSAGE_IMG_BASE_PATH}/${mID}`);
1339            yield this.afs.collection('messages').doc(mID).delete();
1340        });
1341    }
1342}
1343MsgIoService.CURRENT_VERSION = '2021.1';
1344MsgIoService.MAX_MSG_LENGTH = 15000;
1345MsgIoService.ɵfac = function MsgIoService_Factory(t) { return new (t || MsgIoService)(_angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_angular_fire_firestore__WEBPACK_IMPORTED_MODULE_13__.AngularFirestore), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_auth_service__WEBPACK_IMPORTED_MODULE_6__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_14__.DomSanitizer), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_sharing_link_service__WEBPACK_IMPORTED_MODULE_7__.SharingLinkService), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_signing_service__WEBPACK_IMPORTED_MODULE_8__.SigningService), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_storage_service__WEBPACK_IMPORTED_MODULE_5__.StorageService)); };
1346MsgIoService.ɵprov = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵdefineInjectable"]({ token: MsgIoService, factory: MsgIoService.ɵfac, providedIn: 'root' });
1347
1348
1349/***/ }),
1350
1351/***/ 1239:
1352/*!*************************************************!*\
1353  !*** ./src/app/core/navbar/navbar.component.ts ***!
1354  \*************************************************/
1355/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1356
1357"use strict";
1358__webpack_require__.r(__webpack_exports__);
1359/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1360/* harmony export */   "NavbarComponent": function() { return /* binding */ NavbarComponent; }
1361/* harmony export */ });
1362/* harmony import */ var _changelog_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./changelog.json */ 80925);
1363/* harmony import */ var _app_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../app.component */ 55041);
1364/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ 39895);
1365/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 37716);
1366/* harmony import */ var _auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../auth.service */ 87341);
1367/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/common */ 38583);
1368
1369
1370
1371
1372
1373
1374
1375function NavbarComponent_li_26_Template(rf, ctx) { if (rf & 1) {
1376    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "li", 37);
1377} }
1378function NavbarComponent_div_36_Template(rf, ctx) { if (rf & 1) {
1379    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 38);
1380    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](1, "img", 39);
1381    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1382} if (rf & 2) {
1383    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
1384    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
1385    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpropertyInterpolate"]("src", ctx_r1.authService.n
1385otAsyncProfilePictureLink(), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵsanitizeUrl"]);
1386} }
1387function NavbarComponent_ng_container_60_div_1_span_4_Template(rf, ctx) { if (rf & 1) {
1388    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "span");
1389    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](1, "br");
1390    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "small");
1391    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "em");
1392    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](4, "You can send one new message to each of your friends with this update! ");
1393    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1394    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](5, "\uD83D\uDC8C");
1395    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1396    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1397} }
1398function NavbarComponent_ng_container_60_div_1_ng_container_6_li_1_Template(rf, ctx) { if (rf & 1) {
1399    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "li");
1400    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "span");
1401    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](2);
1402    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1403    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3, "\u00A0");
1404    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "u");
1405    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](5);
1406    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1407    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](6);
1408    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1409} if (rf & 2) {
1410    const item_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]().$implicit;
1411    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
1412    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵattribute"]("class", item_r7.typeCSS);
1413    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
1414    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"]("[", item_r7.type, "]");
1415    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
1416    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](item_r7.location);
1417    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
1418    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](": ", item_r7.content, " ");
1419} }
1420function NavbarComponent_ng_container_60_div_1_ng_container_6_Template(rf, ctx) { if (rf & 1) {
1421    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerStart"](0);
1422    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, NavbarComponent_ng_container_60_div_1_ng_container_6_li_1_Template, 7, 4, "li", 40);
1423    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerEnd"]();
1424} if (rf & 2) {
1425    const item_r7 = ctx.$implicit;
1426    const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](3);
1427    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
1428    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", item_r7.betaFlag === false || ctx_r6.beta === true);
1429} }
1430function NavbarComponent_ng_container_60_div_1_Template(rf, ctx) { if (rf & 1) {
1431    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div");
1432    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "p");
1433    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "strong");
1434    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3);
1435    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1436    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](4, NavbarComponent_ng_container_60_div_1_span_4_Template, 6, 0, "span", 40);
1437    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1438    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](5, "ul");
1439    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](6, NavbarComponent_ng_container_60_div_1_ng_container_6_Template, 2, 1, "ng-container", 34);
1440    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1441    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1442} if (rf & 2) {
1443    const version_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]().$implicit;
1444    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
1445    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate2"]("v", version_r3.versionNumber, " | ", version_r3.releaseDate, "");
1446    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
1447    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", version_r3.newMessageAvailable);
1448    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
1449    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", version_r3.items);
1450} }
1451function NavbarComponent_ng_container_60_Template(rf, ctx) { if (rf & 1) {
1452    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerStart"](0);
1453    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, NavbarC
1453omponent_ng_container_60_div_1_Template, 7, 4, "div", 40);
1454    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerEnd"]();
1455} if (rf & 2) {
1456    const version_r3 = ctx.$implicit;
1457    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
1458    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
1459    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", version_r3.betaUpdate === false || ctx_r2.beta === true);
1460} }
1461const _c0 = function () { return { exact: true }; };
1462class NavbarComponent {
1463    constructor(authService, router) {
1464        this.authService = authService;
1465        this.router = router;
1466        this.changelog = _changelog_json__WEBPACK_IMPORTED_MODULE_0__;
1467        this.beta = _app_component__WEBPACK_IMPORTED_MODULE_1__.AppComponent.BETA;
1468        router.events.subscribe((event) => {
1469            if (event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_4__.NavigationStart) {
1470                $('#changelog').modal('hide');
1471            }
1472        });
1473    }
1474    ngOnInit() {
1475        /* Make hamburger menu collapse on item click */
1476        $('.navbar-nav>li>a').on('click', () => {
1477            $('.navbar-collapse').collapse('hide');
1478        });
1479    }
1480    ngOnDestroy() {
1481        $('#changelog').modal('hide');
1482    }
1483}
1484NavbarComponent.ɵfac = function NavbarComponent_Factory(t) { return new (t || NavbarComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_4__.Router)); };
1485NavbarComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineComponent"]({ type: NavbarComponent, selectors: [["app-navbar"]], decls: 64, vars: 8, consts: [[1, "navbar", "navbar-expand-md", "navbar-dark", "bg-light"], ["id", "navbar_title", "routerLink", "", 1, "navbar-brand"], ["alt", "Virtrolio Logo", "height", "30", "src", "../../../assets/images/logo_inverted-circle.png", "width", "30", 1, "d-inline-block", "align-top"], ["aria-controls", "navbarNav", "aria-expanded", "false", "aria-label", "Toggle navigation", "data-target", "#navbarNav", "data-toggle", "collapse", "type", "button", 1, "navbar-toggler"], [1, "navbar-toggler-icon"], ["id", "navbarNav", 1, "collapse", "navbar-collapse"], [1, "navbar-nav", "ml-2"], [1, "nav-item"], ["routerLink", "", "routerLinkActive", "navbar-nav-active", 1, "nav-link", 3, "routerLinkActiveOptions"], ["routerLink", "my-virtrolio", "routerLinkActive", "navbar-nav-active", 1, "nav-link", 3, "hidden"], ["routerLink", "about", "routerLinkActive", "navbar-nav-active", 1, "nav-link"], ["routerLink", "faq", "routerLinkActive", "navbar-nav-active", 1, "nav-link"], ["routerLink", "contact", "routerLinkActive", "navbar-nav-active", 1, "nav-link"], ["role", "button", "data-toggle", "modal", "data-target", "#changelog", 1, "nav-link"], ["class", "dropdown-divider d-block d-sm-block d-md-none", 4, "ngIf"], [1, "nav-item", "d-block", "d-sm-block", "d-md-none"], ["routerLink", "settings", 1, "nav-link", 3, "hidden"], ["href", "#", 1, "nav-link", 3, "hidden", "click"], [1, "float-right", "d-none", "d-md-block", "d-lg-block", "d-xl-block"], [1, "dropdown", "dropleft"], ["aria-expanded", "false", "aria-haspopup", "true", "data-toggle", "dropdown", "href", "#", "id", "dropdownMenuLink", "role", "button"], ["class", "float-right profile-pic-container", 4, "ngIf"], ["aria-labelledby", "dropdownMenuButton", 1, "dropdown-menu"], ["routerLink", "settings", 1, "dropdown-item"], ["href", "#", "id", "logout-text", 1, "dropdown-item", 3, "click"], ["id", "changelog", "tabindex", "-1", "role", "dialog", "aria-labelledby", "changelog-label", "aria-hidden", "true", 1, "modal", "fade"], [1, "modal-dialog", "modal-dialog-centered", "modal-lg"], [1, "modal-content"], [1, "modal-header"], ["id", "changelog-label", 1, "modal-title"], ["type", "button", "data-dismiss", "modal", "aria-label", "Close", 1, "close"], ["aria-hidden", "true"], ["id", "changelog-body", 1, "modal-body"], ["id", "changelog-note"], [4, "ngFor", "ngForOf"], [1, "modal-footer"], ["type", "button", "data-dismiss", "modal", 1, "btn", "btn-secondary"], [1, "dropdown-divider", "d-block", "d-sm-block", "d-md-none"], [1, "float-right", "profile-pic-container"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [4, "ngIf"]], template: function NavbarComponent_Template(rf, ctx) { if (rf & 1) {
1486        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "nav", 0);
1487        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "a", 1);
1488        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](2, "img", 2);
1489        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3, " Virtrolio ");
1490        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1491        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "button", 3);
1492        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](5, "span", 4);
1493        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1494        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "div", 5);
1495        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](7, "ul", 6);
1496        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "li", 7);
1497        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](9, "a", 8);
1498        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](10, "Home");
1499        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1500        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1501        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](11, "li", 7);
1502        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "a", 9);
1503        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](13, "My virtrolio");
1504        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1505        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1506        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](14, "li", 7);
1507        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](15, "a", 10);
1508        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](16, "About Us");
1509        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1510        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1511        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](17, "li", 7);
1512        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](18, "a", 11);
1513        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](19, "FAQ");
1514        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1515        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1516        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](20, "li", 7);
1517        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](21, "a", 12);
1518        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](22, "Contact Us");
1519        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1520        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1521        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](23, "li", 7);
1522        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](24, "a", 13);
1523        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](25, "What's New?");
1524        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1525        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1526        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](26, NavbarC
1526omponent_li_26_Template, 1, 0, "li", 14);
1527        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](27, "li", 15);
1528        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](28, "a", 16);
1529        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](29, "Settings");
1530        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1531        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1532        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](30, "li", 15);
1533        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](31, "a", 17);
1534        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function NavbarComponent_Template_a_click_31_listener() { return ctx.authService.logout(); });
1535        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](32, "Logout");
1536        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1537        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1538        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1539        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1540        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](33, "div", 18);
1541        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](34, "div", 19);
1542        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](35, "a", 20);
1543        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](36, NavbarComponent_div_36_Template, 2, 1, "div", 21);
1544        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1545        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](37, "div", 22);
1546        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](38, "a", 23);
1547        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](39, "Settings");
1548        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1549        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](40, "a", 24);
1550        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function NavbarComponent_Template_a_click_40_listener() { return ctx.authService.logout(); });
1551        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](41, "Logout");
1552        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1553        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1554        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1555        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1556        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1557        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](42, "div", 25);
1558        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](43, "div", 26);
1559        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](44, "div", 27);
1560        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](45, "div", 28);
1561        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](46, "h5", 29);
1562        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](47, "Changelog");
1563        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1564        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](48, "button", 30);
1565        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](49, "span", 31);
1566        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](50, "\u00D7");
1567        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1568        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1569        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1570        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](51, "div", 32);
1571        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](52, "p");
1572        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](53, " New features, fixes, and updates will be posted here whenever we update the website! ");
1573        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1574        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](54, "p", 33);
1575        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](55, "small");
1576        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](56, "Note: Whenever we release an update to the 'signing' page, we may, at our discretion, allow you to send ");
1577        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](57, "em");
1578        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](58, "another");
1579        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1580        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](59, " message to each of your friends' virtrolios as if it were a new year! This ensures that you will be able to enjoy any new features that we develop. Keep an eye out for versions with a \uD83D\uDC8C emoji next to them to see if you're allowed to send an extra message!");
1581        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1582        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1583        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](60, NavbarC
1583omponent_ng_container_60_Template, 2, 1, "ng-container", 34);
1584        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1585        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](61, "div", 35);
1586        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](62, "button", 36);
1587        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](63, " Close ");
1588        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1589        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1590        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1591        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1592        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
1593    } if (rf & 2) {
1594        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](9);
1595        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("routerLinkActiveOptions", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpureFunction0"](7, _c0));
1596        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
1597        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("hidden", !ctx.authService.isLoggedIn());
1598        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](14);
1599        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.authService.isLoggedIn());
1600        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
1601        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("hidden", !ctx.authService.isLoggedIn());
1602        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
1603        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("hidden", !ctx.authService.isLoggedIn());
1604        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](5);
1605        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.authService.isLoggedIn());
1606        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](24);
1607        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", ctx.changelog);
1608    } }, directives: [_angular_router__WEBPACK_IMPORTED_MODULE_4__.RouterLinkWithHref, _angular_router__WEBPACK_IMPORTED_MODULE_4__.RouterLinkActive, _angular_common__WEBPACK_IMPORTED_MODULE_5__.NgIf, _angular_common__WEBPACK_IMPORTED_MODULE_5__.NgForOf], styles: [".navbar[_ngcontent-%COMP%] {\r\n  background: var(--accent);\r\n  background: linear-gradient(\r\n    90deg,\r\n    var(--navbar-left) 0%,\r\n    var(--navbar-right) 100%\r\n  );\r\n  position: fixed;\r\n  top: 0;\r\n  width: 100%;\r\n  z-index: 1;\r\n  height: var(--navbar-height);\r\n  padding: 0;\r\n}\r\n\r\n#navbar_title[_ngcontent-%COMP%] {\r\n  font-family: Montserrat, sans-serif;\r\n  font-weight: 400;\r\n  color: white;\r\n  margin-left: 1em;\r\n}\r\n\r\n#logout-text[_ngcontent-%COMP%] {\r\n  color: red;\r\n}\r\n\r\n.navbar-nav-active[_ngcontent-%COMP%] {\r\n  color: #ffffff !important;\r\n  -webkit-text-decoration: underline #ffffffbf !important;\r\n          text-decoration: underline #ffffffbf !important;\r\n  text-underline-offset: 0.2em;\r\n}\r\n\r\n.navbar-nav[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%] {\r\n  color: #fefefe;\r\n  opacity: 0.75;\r\n}\r\n\r\n.navbar-nav[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]:hover   a[_ngcontent-%COMP%]:hover {\r\n  color: #ffffff;\r\n  opacity: 1;\r\n}\r\n\r\n.profile-pic[_ngcontent-%COMP%] {\r\n  width: 100%;\r\n}\r\n\r\n.profile-pic[_ngcontent-%COMP%]:hover {\r\n  opacity: 0.75;\r\n}\r\n\r\n.profile-pic-container[_ngcontent-%COMP%] {\r\n  margin-right: 1em;\r\n}\r\n\r\n.navbar-collapse[_ngcontent-%COMP%] {\r\n  background: rgba(255, 255, 255, 0);\r\n  padding: 0 1em;\r\n}\r\n\r\n.navbar-toggler[_ngcontent-%COMP%] {\r\n  margin-right: 1em;\r\n  border-color: rgba(255, 255, 255, 0.2);\r\n}\r\n\r\n.navbar-toggler-icon[_ngcontent-%COMP%] {\r\n  \r\n  background-image: url('hamburger-icon-custom-white.svg');\r\n}\r\n\r\n\r\n\r\n@media (max-width: 767px) {\r\n  .navbar-collapse[_ngcontent-%COMP%] {\r\n    background: var(--accent);\r\n    background: linear-gradient(\r\n      90deg,\r\n      rgba(250, 128, 114, 1) 0%,\r\n      rgba(251, 91, 91, 1) 100%\r\n    );\r\n    box-shadow: 0 0.5em 1em -1em black;\r\n    border-radius: 0 0 1em 1em;\r\n    font-weight: bold;\r\n    padding-bottom: 1em;\r\n  }\r\n}\r\n\r\n\r\n\r\n#changelog-body[_ngcontent-%COMP%] {\r\n  max-height: 25em;\r\n  overflow: auto;\r\n}\r\n\r\n#changelog-note[_ngcontent-%COMP%] {\r\n  line-height: 1em;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n.changelog-new[_ngcontent-%COMP%] {\r\n  color: #41af14;\r\n  font-weight: bold;\r\n}\r\n\r\n\r\n\r\n.changelog-upd[_ngcontent-%COMP%] {\r\n  color: dodgerblue;\r\n  font-weight: bold;\r\n}\r\n\r\n\r\n\r\n.changelog-fix[_ngcontent-%COMP%] {\r\n  color: red;\r\n  font-weight: bold;\r\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UseUJBQXlCO0VBQ3pCOzs7O0dBSUM7RUFDRCxlQUFlO0VBQ2YsTUFBTTtFQUNOLFdBQVc7RUFDWCxVQUFVO0VBQ1YsNEJBQTRCO0VBQzVCLFVBQVU7QUFDWjs7QUFFQTtFQUNFLG1DQUFtQztFQUNuQyxnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6Qix1REFBK0M7VUFBL0MsK0NBQStDO0VBQy9DLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsVUFBVTtBQUNaOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0Usa0NBQWtDO0VBQ2xDLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0UsK0VBQStFO0VBQy9FLHdEQUE2RTtBQUMvRTs7QUFFQSwyQ0FBMkM7O0FBQzNDO0VBQ0U7SUFDRSx5QkFBeUI7SUFDekI7Ozs7S0FJQztJQUNELGtDQUFrQztJQUNsQywwQkFBMEI7SUFDMUIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtFQUNyQjtBQUNGOztBQUVBLGNBQWM7O0FBQ2Q7RUFDRSxnQkFBZ0I7RUFDaEIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQSw2RkFBNkY7O0FBQzdGLCtCQUErQjs7QUFDL0I7RUFDRSxjQUFjO0VBQ2QsaUJBQWlCO0FBQ25COztBQUVBLCtCQUErQjs7QUFDL0I7RUFDRSxpQkFBaUI7RUFDakIsaUJBQWlCO0FBQ25COztBQUVBLCtCQUErQjs7QUFDL0I7RUFDRSxVQUFVO0VBQ1YsaUJBQWlCO0FBQ25CIiwiZmlsZSI6Im5hdmJhci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm5hdmJhciB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcbiAgICA5MGRlZyxcclxuICAgIHZhcigtLW5hdmJhci1sZWZ0KSAwJSxcclxuICAgIHZhcigtLW5hdmJhci1yaWdodCkgMTAwJVxyXG4gICk7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAxO1xyXG4gIGhlaWdodDogdmFyKC0tbmF2YmFyLWhlaWdodCk7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuI25hdmJhcl90aXRsZSB7XHJcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDt
1608cclxuICBjb2xvcjogd2hpdGU7XHJcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcclxufVxyXG5cclxuI2xvZ291dC10ZXh0IHtcclxuICBjb2xvcjogcmVkO1xyXG59XHJcblxyXG4ubmF2YmFyLW5hdi1hY3RpdmUge1xyXG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgI2ZmZmZmZmJmICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjJlbTtcclxufVxyXG5cclxuLm5hdmJhci1uYXYgbGkgYSB7XHJcbiAgY29sb3I6ICNmZWZlZmU7XHJcbiAgb3BhY2l0eTogMC43NTtcclxufVxyXG5cclxuLm5hdmJhci1uYXYgbGk6aG92ZXIgYTpob3ZlciB7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLnByb2ZpbGUtcGljIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnByb2ZpbGUtcGljOmhvdmVyIHtcclxuICBvcGFjaXR5OiAwLjc1O1xyXG59XHJcblxyXG4ucHJvZmlsZS1waWMtY29udGFpbmVyIHtcclxuICBtYXJnaW4tcmlnaHQ6IDFlbTtcclxufVxyXG5cclxuLm5hdmJhci1jb2xsYXBzZSB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcclxuICBwYWRkaW5nOiAwIDFlbTtcclxufVxyXG5cclxuLm5hdmJhci10b2dnbGVyIHtcclxuICBtYXJnaW4tcmlnaHQ6IDFlbTtcclxuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxufVxyXG5cclxuLm5hdmJhci10b2dnbGVyLWljb24ge1xyXG4gIC8qIFJlcGxhY2UgdGhlIGhhbWJ1cmdlciBpY29uIGltYWdlIHdpdGggYSBjdXN0b20gU1ZHIHRoYXQgaGFzIGN1c3RvbSBjb2xvdXJzICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvaGFtYnVyZ2VyLWljb24tY3VzdG9tLXdoaXRlLnN2Zyk7XHJcbn1cclxuXHJcbi8qIEFsdGVybmF0ZSBmb3JtYXR0aW5nIGZvciBtb2JpbGUgbmF2YmFyICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gIC5uYXZiYXItY29sbGFwc2Uge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuICAgICAgOTBkZWcsXHJcbiAgICAgIHJnYmEoMjUwLCAxMjgsIDExNCwgMSkgMCUsXHJcbiAgICAgIHJnYmEoMjUxLCA5MSwgOTEsIDEpIDEwMCVcclxuICAgICk7XHJcbiAgICBib3gtc2hhZG93OiAwIDAuNWVtIDFlbSAtMWVtIGJsYWNrO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDFlbSAxZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XHJcbiAgfVxyXG59XHJcblxyXG4vKiBDaGFuZ2Vsb2cgKi9cclxuI2NoYW5nZWxvZy1ib2R5IHtcclxuICBtYXgtaGVpZ2h0OiAyNWVtO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4jY2hhbmdlbG9nLW5vdGUge1xyXG4gIGxpbmUtaGVpZ2h0OiAxZW07XHJcbn1cclxuXHJcbi8qIFRoZXNlIGZvcm1hdCB0aGUgY2hhbmdlbG9nIGl0ZW1zIGFuZCBhcmUgdXNlZCBjb25kaXRpb25hbGx5LCBzbyBzdXBwcmVzc2lvbiBpcyBuZWNlc3NhcnkgKi9cclxuLypub2luc3BlY3Rpb24gQ3NzVW51c2VkU3ltYm9sKi9cclxuLmNoYW5nZWxvZy1uZXcge1xyXG4gIGNvbG9yOiAjNDFhZjE0O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4vKm5vaW5zcGVjdGlvbiBDc3NVbnVzZWRTeW1ib2wqL1xyXG4uY2hhbmdlbG9nLXVwZCB7XHJcbiAgY29sb3I6IGRvZGdlcmJsdWU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qbm9pbnNwZWN0aW9uIENzc1VudXNlZFN5bWJvbCovXHJcbi5jaGFuZ2Vsb2ctZml4IHtcclxuICBjb2xvcjogcmVkO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbiJdfQ== */"] });
1609
1610
1611/***/ }),
1612
1613/***/ 88989:
1614/*!***********************************************!*\
1615  !*** ./src/app/core/pending-changes.guard.ts ***!
1616  \***********************************************/
1617/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1618
1619"use strict";
1620__webpack_require__.r(__webpack_exports__);
1621/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1622/* harmony export */   "PendingChangesGuard": function() { return /* binding */ PendingChangesGuard; }
1623/* harmony export */ });
1624/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 37716);
1625
1626class PendingChangesGuard {
1627    /**
1628     * Returns a warning if a user attempts to navigate away and canDeactivate() is false
1629     * Note that the warning message specified will only show when navigating within the angular app.
1630     * When navigating outside the app, the browser will show a generic confirm dialogue.
1631     * @param component - the component that will get deactivated
1632     */
1633    canDeactivate(component) {
1634        return component.canDeactivate()
1635            ? true
1636            : confirm('WARNING: Your message has not been sent yet. Press Cancel to go back to complete and send your message, or OK to discard your message.');
1637    }
1638}
1639PendingChangesGuard.ɵfac = function PendingChangesGuard_Factory(t) { return new (t || PendingChangesGuard)(); };
1640PendingChangesGuard.ɵprov = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({ token: PendingChangesGuard, factory: PendingChangesGuard.ɵfac });
1641
1642
1643/***/ }),
1644
1645/***/ 84157:
1646/*!**********************************************!*\
1647  !*** ./src/app/core/sharing-link.service.ts ***!
1648  \**********************************************/
1649/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1650
1651"use strict";
1652__webpack_require__.r(__webpack_exports__);
1653/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1654/* harmony export */   "SharingLinkService": function() { return /* binding */ SharingLinkService; }
1655/* harmony export */ });
1656/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ 64762);
1657/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs/operators */ 15257);
1658/* harmony import */ var _auth_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./auth.service */ 87341);
1659/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 37716);
1660/* harmony import */ var _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/fire/firestore */ 56717);
1661
1662
1663
1664
1665
1666
1667class SharingLinkService {
1668    constructor(authService, afs) {
1669        this.authService = authService;
1670        this.afs = afs;
1671    }
1672    /**
1673     * Generates the shareable signing link for the current user. The signing link has two query parameters that are used
1674     * by Angular routerLink. The first is 'uid', which is the current user's Firebase Authentication User ID.
1675     * The second is 'key', which is generated by AppAuthService.changeKey().
1676     * @returns The sharable signing link for the current user, usable by FriendLinkComponent.
1677     * @throws ReferenceError - If the user is not logged in
1678     */
1679    getLink() {
1680        return (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, function* () {
1681            yield this.authService.asyncThrowErrorIfLoggedOut('get your sharing link');
1682            let link = 'https://virtrolio.web.app/signing?uid=';
1683            const user = this.authService.uid();
1684            link += user + '&key=';
1685            const userRef = this.afs
1686                .collection('users')
1687                .doc(user);
1688            let userDoc = yield userRef
1689                .valueChanges()
1690                .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1))
1691                .toPromise();
1692            if (!userDoc) {
1693                yield this.authService.createUser(this.authService.getUser());
1694                userDoc = yield userRef.valueChanges().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1)).toPromise();
1695            }
1696            let key = userDoc.key;
1697            if (typeof key === 'undefined' || !key) {
1698                yield this.changeKey();
1699                key = (yield userRef.valueChanges().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1)).toPromise()).key;
1700            }
1701            link += key;
1702            return link;
1703        });
1704    }
1705    /**
1706     * Verifies if the provided key matches the key for the provided user in the database.
1707     * Used to verify a correct link before allowing a user to sign someone else's Virtrolio.
1708     * @param uid - The user ID of the user to check the key against. Usually the **recipient** of the message.
1709     * @param key - The key provided by the sender to verify. Should be obtained from the provided 'key' query parameter
1710     * in the URL.
1711     * @returns - A promise evaluating to true if the key is correct, false if the key is incorrect.
1712     * @throws Error - If either argument is blank, null or undefined.
1713     * @throws ReferenceError - if the UID does not exist or the user is logged out.
1714     */
1715    checkKey(uid, key) {
1716        return (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, function* () {
1717            if (typeof uid === 'undefined' || !uid) {
1718                throw new Error('Argument UID was not provided');
1719            }
1720            else if (typeof key === 'undefined' || !key) {
1721                throw new Error('Argument Key was not provided');
1722            }
1723            yield this.authService.asyncThrowErrorIfLoggedOut('verify the key that you provided');
1724            return this.authService.userExists(uid).then((userExists) => (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, function* () {
1725                if (userExists) {
1726                    const userRef = this.afs
1727                        .collection('users')
1728                        .doc(uid);
1729                    const userDoc = yield userRef.valueChanges().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1)).toPromise();
1730                    return key === userDoc.key;
1731                }
1732                else {
1733                    throw new ReferenceError("User does not exist in the 'users' database");
1734                }
1735            }));
1736        });
1737    }
1738    /**
1739     * Replaces the current user's key with a new and randomly generated key.
1740     * No parameters are expected because only the key of the currently logged in user can be changed.
1741     * Assumes that the user is logged in (components using this method should be protected using AuthGuard)
1742     * @throws ReferenceError - If the user is not logged in
1743     */
1744    changeKey() {
1745        return (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, function* () {
1746            yield this.authService.asyncThrowErrorIfLoggedOut('change your key');
1747            const user = this.authService.uid();
1748            const userRef = this.afs
1749                .collection('users')
1750                .doc(user);
1751            const userDoc = yield userRef.valueChanges().pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1)).toPromise();
1752            if (!('key' in userDoc)) {
1753                // This triggers if the key doesn't exist
1754                return userRef.update({ key: _auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService.generateKey() });
1755            }
1756            else {
1757                // If the key does exist, need to make sure the new key is unique
1758                const oldKey = userDoc.key;
1759                let newKey = _auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService.generateKey();
1760                while (oldKey === newKey) {
1761                    newKey = _auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService.generateKey();
1762                }
1763                return userRef.update({ key: newKey });
1764            }
1765        });
1766    }
1767}
1768SharingLinkService.ɵfac = function SharingLinkService_Factory(t) { return new (t || SharingLinkService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_angular_fire_firestore__WEBPACK_IMPORTED_MODULE_4__.AngularFirestore)); };
1769SharingLinkService.ɵprov = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineInjectable"]({ token: SharingLinkService, factory: SharingLinkService.ɵfac, providedIn: 'root' });
1770
1771
1772/***/ }),
1773
1774/***/ 49001:
1775/*!***************************************!*\
1776  !*** ./src/app/core/signing.guard.ts ***!
1777  \***************************************/
1778/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1779
1780"use strict";
1781__webpack_require__.r(__webpack_exports__);
1782/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1783/* harmony export */   "SigningGuard": function() { return /* binding */ SigningGuard; }
1784/* harmony export */ });
1785/* harmony import */ var _common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./common.service */ 80150);
1786/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 37716);
1787/* harmony import */ var _auth_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./auth.service */ 87341);
1788/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/router */ 39895);
1789/* harmony import */ var _msg_io_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./msg-io.service */ 84468);
1790/* harmony import */ var _sharing_link_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./sharing-link.service */ 84157);
1791
1792
1793
1794
1795
1796
1797/**
1798 * AuthGuard on all /signing pages. Redirects to /signing-auth-redirect if not signed in, redirect to /invalid-link
1799 * if invalid uid or key.
1800 *
1801 * @param uid - extracted from url manually using RegEx
1802 * @param key - extracted from url manually using RegEx
1803 *
1804 */
1805class SigningGuard {
1806    constructor(authService, route, router, msgIOService, sharingLinkService) {
1807        this.authService = authService;
1808        this.route = route;
1809        this.router = router;
1810        this.msgIOService = msgIOService;
1811        this.sharingLinkService = sharingLinkService;
1812        this.maintenance = false;
1813    }
1814    // noinspection JSUnusedLocalSymbols
1815    canActivate(next, state) {
1816        if (this.maintenance) {
1817            this.router
1818                .navigate(['/maintenance'])
1819                .catch((e) => _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e));
1820            return false;
1821        }
1822        else {
1823            // Regex Extraction of 'uid' and 'key' params
1824            try {
1825                const linkStr = window.location.href;
1826                SigningGuard.uid = linkStr.match(/uid=([^&]*)/)[1];
1827                SigningGuard.key = linkStr.match(/key=([^&]*)/)[1];
1828            }
1829            catch (error) {
1830                // Displaying alert is not necessary since an error is only thrown when one of the query params is
1831                // missing/invalid = invalid link
1832                this.router
1833                    .navigate(['/invalid-link'])
1834                    .catch((error) => _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error));
1835            }
1836            // User must be signed in
1837            return this.authService.asyncIsLoggedIn().then((isLoggedIn) => {
1838                if (!isLoggedIn) {
1839                    this.router
1840                        .navigate(['/signing-auth-redirect'], {
1841                        queryParams: {
1842                            uid: SigningGuard.uid,
1843                            key: SigningGuard.key,
1844                        },
1845                    })
1846                        .catch((e) => _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e));
1847                    return false;
1848                }
1849                else {
1850                    // Sender must not have previously signed the recipient's virtrolio
1851                    return this.sharingLinkService
1852                        .checkKey(SigningGuard.uid, SigningGuard.key)
1853                        .then((validKey) => {
1854                        if (validKey === false) {
1855                            this.router
1856                                .navigate(['/invalid-link'])
1857                                .catch((error) => _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error));
1858                            return false;
1859                        }
1860                        this.msgIOService
1861                            .checkForMessage(SigningGuard.uid)
1862                            .then((signed) => {
1863                            if (signed) {
1864                                this.router
1865                                    .navigate(['/rejecc'])
1866                                    .catch((error) => _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error));
1867                                return false;
1868                            }
1869                            else {
1870                                return true;
1871                            }
1872                        })
1873                            .catch((error) => {
1874                            // Only possibilities for a Firebase error getting thrown:
1875                            // 1. Not logged in
1876                            // 2. Requested message was NOT sent by current user (impossible based on logic of checkMessage()
1877                            // unless someone modifies the source code)
1878                            _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
1879                            this.router
1880                                .navigate(['/signing-auth-redirect'], {
1881                                queryParams: {
1882                                    uid: SigningGuard.uid,
1883                                    key: SigningGuard.key,
1884                                },
1885                            })
1886                                .catch((navError) => _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(navError));
1887                        });
1888                        return true;
1889                    })
1890                        .catch((error) => {
1891                        _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
1892                        this.router
1893                            .navigate(['/invalid-link'])
1894                            .catch((e) => _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e));
1895                        return false;
1896                    });
1897                }
1898            });
1899        }
1900    }
1901}
1902SigningGuard.uid = 'invalid';
1903SigningGuard.key = 'invalid';
1904SigningGuard.ɵfac = function SigningGuard_Factory(t) { return new (t || SigningGuard)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_auth_service__WEBPACK_IMPORTED_MODULE_1__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_5__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_5__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_msg_io_service__WEBPACK_IMPORTED_MODULE_2__.MsgIoService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_sharing_link_service__WEBPACK_IMPORTED_MODULE_3__.SharingLinkService)); };
1905SigningGuard.ɵprov = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineInjectable"]({ token: SigningGuard, factory: SigningGuard.ɵfac, providedIn: 'root' });
1906
1907
1908/***/ }),
1909
1910/***/ 89214:
1911/*!*****************************************!*\
1912  !*** ./src/app/core/signing.service.ts ***!
1913  \*****************************************/
1914/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1915
1916"use strict";
1917__webpack_require__.r(__webpack_exports__);
1918/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1919/* harmony export */   "SigningService": function() { return /* binding */ SigningService; }
1920/* harmony export */ });
1921/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 37716);
1922/* harmony import */ var _msg_io_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./msg-io.service */ 84468);
1923/* harmony import */ var _font_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./font.service */ 87181);
1924/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
1925
1926
1927
1928
1929
1930class SigningService {
1931    constructor(sanitizer) {
1932        this.sanitizer = sanitizer;
1933        this.fontDict = _font_service__WEBPACK_IMPORTED_MODULE_1__.FontService.FONTS;
1934        this.maxCharCount = _msg_io_service__WEBPACK_IMPORTED_MODULE_0__.MsgIoService.MAX_MSG_LENGTH;
1935    }
1936    /**
1937     * Sets all class variables to their default values
1938     */
1939    resetDefaultValues() {
1940        this.signingBoxText = '';
1941        this.sanitizedText = '';
1942        this.backgroundColor = '#ffffff';
1943        this.textColor = '#000000';
1944        this.canSend = false;
1945        this.charCount = 0;
1946        this.charCountColor = '#bbbbbb';
1947        this.currentFont = 'Arial';
1948        this.currentFontFamily = 'Arial, sans-serif';
1949        this.currentFontDisplay = 'Arial';
1950        this.images = [];
1951        this.imageURLs = [];
1952    }
1953    /**
1954     * @param font - Font selected from dropdown menu
1955     */
1956    selectFont(font) {
1957        this.currentFont = font;
1958        this.currentFontFamily = font + ',' + this.fontDict[font].backupFont;
1959        this.currentFontDisplay = this.fontDict[font].fontFamily;
1960    }
1961    /**
1962     * Adds markdown formatting characters around selected text within textbox.
1963     * @param textbox - textbox in which user types.
1964     * @param formatChars - formatting character(s) to be placed around the selected text
1965     * @param endChars - Optional - The ending character, if different from the starting character
1966     */
1967    addFormatting(textbox, formatChars, endChars) {
1968        const start = textbox.selectionStart;
1969        const end = textbox.selectionEnd;
1970        const text = textbox.value;
1971        const scrollPos = textbox.scrollTop;
1972        // If the end character was not provided, we assume it will be the same as the start character
1973        if (typeof endChars === 'undefined' || !endChars) {
1974            endChars = formatChars;
1975        }
1976        textbox.value = this.signingBoxText =
1977            text.slice(0, start) +
1978                formatChars +
1979                text.slice(start, end) +
1980                endChars +
1981                text.slice(end);
1982        // timeout so that it sets the selection range AFTER the textbox is modified
1983        setTimeout(() => {
1984            textbox.focus();
1985            textbox.scrollTop = scrollPos;
1986            // special case for underline or if no text was highlighted
1987            // underline should always be on the outside (since it's html instead of markdown)
1988            if (formatChars === '<u>' || start === end) {
1989                textbox.setSelectionRange(start + formatChars.length, end + formatChars.length);
1990            }
1991            // otherwise keep the text highlighted
1992            else {
1993                textbox.setSelectionRange(start, end + formatChars.length + endChars.length);
1994            }
1995        }, 0);
1996    }
1997    /**
1998     * Update character count value and text colour
1999     * @param textbox - textbox in which user types.
2000     */
2001    updateCount(textbox) {
2002        this.sanitizedText = this.sanitizer.sanitize(_angular_core__WEBPACK_IMPORTED_MODULE_2__.SecurityContext.HTML, this.signingBoxText);
2003        this.charCount = this.sanitizedText.length;
2004        this.charCountColor =
2005            this.charCount >
2005 this.maxCharCount ? '#EE1111' : '#b0b0b0';
2006        this.canSend = 0 < this.charCount && this.charCount <= this.maxCharCount;
2007    }
2008}
2009SigningService.ɵfac = function SigningService_Factory(t) { return new (t || SigningService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__.DomSanitizer)); };
2010SigningService.ɵprov = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({ token: SigningService, factory: SigningService.ɵfac, providedIn: 'root' });
2011
2012
2013/***/ }),
2014
2015/***/ 66498:
2016/*!*****************************************!*\
2017  !*** ./src/app/core/storage.service.ts ***!
2018  \*****************************************/
2019/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2020
2021"use strict";
2022__webpack_require__.r(__webpack_exports__);
2023/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2024/* harmony export */   "StorageService": function() { return /* binding */ StorageService; }
2025/* harmony export */ });
2026/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ 64762);
2027/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uuid */ 61319);
2028/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 37716);
2029/* harmony import */ var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/fire/storage */ 68274);
2030
2031
2032
2033
2034class StorageService {
2035    constructor(storageService) {
2036        this.storageService = storageService;
2037    }
2038    static getFileExtension(file) {
2039        return file.name.split('.').pop();
2040    }
2041    static generatePath(messageId, extension) {
2042        return `${StorageService.MESSAGE_IMG_BASE_PATH}/${messageId}/${(0,uuid__WEBPACK_IMPORTED_MODULE_0__.default)()}.${extension}`;
2043    }
2044    uploadImages(messageId, images) {
2045        return (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, function* () {
2046            if (images.length === 0) {
2047                return [];
2048            }
2049            return Promise.all(images.map((imageFile) => (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, function* () {
2050                const extension = StorageService.getFileExtension(imageFile);
2051                const targetPath = StorageService.generatePath(messageId, extension);
2052                const targetStorageRef = this.storageService.ref(targetPath);
2053                const uploadTask = targetStorageRef.put(imageFile);
2054                // Wait for the upload to complete
2055                yield uploadTask.snapshotChanges().toPromise();
2056                // Return the path
2057                return targetPath;
2058            })));
2059        });
2060    }
2061    /**
2062     * Delete all files in the folder provided.
2063     *
2064     * @param folderPath - The folder to delete.
2065     */
2066    deleteFiles(folderPath) {
2067        return (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, function* () {
2068            this.storageService
2069                .ref(folderPath)
2070                .listAll()
2071                .toPromise()
2072                .then((res) => res.items.forEach((file) => file.delete()));
2073        });
2074    }
2075}
2076StorageService.MESSAGE_IMG_BASE_PATH = 'messages';
2077StorageService.ɵfac = function StorageService_Factory(t) { return new (t || StorageService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_angular_fire_storage__WEBPACK_IMPORTED_MODULE_3__.AngularFireStorage)); };
2078StorageService.ɵprov = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({ token: StorageService, factory: StorageService.ɵfac, providedIn: 'root' });
2079
2080
2081/***/ }),
2082
2083/***/ 91225:
2084/*!*****************************************!*\
2085  !*** ./src/app/core/viewing.service.ts ***!
2086  \*****************************************/
2087/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2088
2089"use strict";
2090__webpack_require__.r(__webpack_exports__);
2091/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2092/* harmony export */   "ViewingService": function() { return /* binding */ ViewingService; }
2093/* harmony export */ });
2094/* harmony import */ var _font_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./font.service */ 87181);
2095/* harmony import */ var _common_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common.service */ 80150);
2096/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 37716);
2097/* harmony import */ var _msg_io_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./msg-io.service */ 84468);
2098/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ 39895);
2099/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/common */ 38583);
2100/* harmony import */ var ngx_toastr__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ngx-toastr */ 49344);
2101
2102
2103
2104
2105
2106
2107
2108class ViewingService {
2109    /**
2110     * Retrieve message data from database
2111     */
2112    constructor(msgIo, route, router, vps, toastr) {
2113        this.msgIo = msgIo;
2114        this.route = route;
2115        this.router = router;
2116        this.vps = vps;
2117        this.toastr = toastr;
2118        this.isCarouselView = false;
2119        this.fonts = _font_service__WEBPACK_IMPORTED_MODULE_0__.FontService.FONTS;
2120    }
2121    getMessageById(id) {
2122        this.msgIo.getMessage(id).subscribe((message) => {
2123            this.singleMessage = message;
2124        });
2125    }
2126    decodeHtml(html) {
2127        const txt = document.createElement('textarea');
2128        txt.innerHTML = html;
2129        return txt.value;
2130    }
2131    /**
2132     * Format the timestamp depending on how much time as elapsed
2133     * @param nowMillis time in milliseconds upon ngOnInit()
2134     * @param millis message Timestamp in milliseconds
2135     * @param date message Timestamp as a date
2136     */
2137    timeSince(nowMillis, millis, date) {
2138        const secondsPast = (nowMillis - millis) / 1000;
2139        if (secondsPast < 1) {
2140            return 'Just now';
2141        }
2142        if (secondsPast < 60) {
2143            return Math.round(secondsPast).toString() + 's ago';
2144        }
2145        if (secondsPast < 3600) {
2146            return Math.round(secondsPast / 60).toString() + 'm ago';
2147        }
2148        if (secondsPast < 86400) {
2149            return Math.round(secondsPast / 3600).toString() + 'h ago';
2150        }
2151        if (secondsPast <= 172800) {
2152            return '1 day ago';
2153        }
2154        if (secondsPast <= 604800) {
2155            return Math.round(secondsPast / 86400).toString() + ' days ago';
2156        }
2157        if (secondsPast > 604800) {
2158            // Return the full date if the Timestamp is past a week ago
2159            return date;
2160        }
2161    }
2162    /**
2163     * Format the timestamp depending on how much time as elapsed
2164     * @param date message Timestamp as a date
2165     */
2166    getDateSent(date) {
2167        return date;
2168    }
2169    /**
2170     * When you click 'x' on a message, messageToDelete will be assigned the value of that message's id
2171     * @param mID message id
2172     */
2173    setMessageToDelete(mID) {
2174        this.messageToDelete = mID;
2175    }
2176    /**
2177     * Wrapper around deleteMessage()
2178     */
2179    deleteMessage() {
2180        this.msgIo
2181            .deleteMessage(this.messageToDelete)
2182            .then(() => {
2183            this.toastr.success('Message deleted successfully', 'Poof!', {
2184                positionClass: 'toast-bottom-full-width',
2185            });
2186        })
2187            .catch((e) => {
2188            _common_service__WEBPACK_IMPORTED_MODULE_1__.CommonService.displayError(e);
2189        });
2190    }
2191    /**
2192     * Append messageId query params to the url
2193     * @param id messageId
2194     */
2195    bookmarkMessage(id) { }
2196}
2197ViewingService.ɵfac = function ViewingService_Factory(t) { return new (t || ViewingService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_msg_io_service__WEBPACK_IMPORTED_MODULE_2__.MsgIoService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_4__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_4__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_angular_common__WEBPACK_IMPORTED_MODULE_5__.Vie
2197wportScroller), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](ngx_toastr__WEBPACK_IMPORTED_MODULE_6__.ToastrService)); };
2198ViewingService.ɵprov = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineInjectable"]({ token: ViewingService, factory: ViewingService.ɵfac, providedIn: 'root' });
2199
2200
2201/***/ }),
2202
2203/***/ 73794:
2204/*!************************************************!*\
2205  !*** ./src/app/pages/about/about.component.ts ***!
2206  \************************************************/
2207/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2208
2209"use strict";
2210__webpack_require__.r(__webpack_exports__);
2211/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2212/* harmony export */   "AboutComponent": function() { return /* binding */ AboutComponent; }
2213/* harmony export */ });
2214/* harmony import */ var _contributors_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./contributors.json */ 53679);
2215/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 37716);
2216/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
2217/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/router */ 39895);
2218/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ 38583);
2219
2220
2221
2222
2223
2224function AboutComponent_div_39_div_14_Template(rf, ctx) { if (rf & 1) {
2225    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div");
2226    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1, " GitHub: ");
2227    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "a", 24);
2228    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3);
2229    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2230    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2231} if (rf & 2) {
2232    const contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().$implicit;
2233    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
2234    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("href", "https://github.com/", contributor_r1.social.github, "", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]);
2235    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2236    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](contributor_r1.social.github);
2237} }
2238function AboutComponent_div_39_div_15_a_2_Template(rf, ctx) { if (rf & 1) {
2239    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "a", 24);
2240    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1);
2241    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2242} if (rf & 2) {
2243    const contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](2).$implicit;
2244    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("href", "https://www.instagram.com/", contributor_r1.social.instagram, "", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]);
2245    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2246    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"]("@", contributor_r1.social.instagram, "");
2247} }
2248function AboutComponent_div_39_div_15_Template(rf, ctx) { if (rf & 1) {
2249    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div");
2250    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1, " Instagram: ");
2251    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](2, AboutComponent_div_39_div_15_a_2_Template, 2, 2, "a", 27);
2252    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2253} if (rf & 2) {
2254    const contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().$implicit;
2255    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
2256    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.instagram);
2257} }
2258function AboutComponent_div_39_div_16_Template(rf, ctx) { if (rf & 1) {
2259    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div");
2260    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1, " LinkedIn: ");
2261    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "a", 24);
2262    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3);
2263    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2264    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2265} if (rf & 2) {
2266    const contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().$implicit;
2267    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
2268    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate"]("href", contributor_r1.social.linkedIn, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]);
2269    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2270    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](contributor_r1.name);
2271} }
2272function AboutComponent_div_39_div_17_Template(rf, ctx) { if (rf & 1) {
2273    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div");
2274    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1, " Website: ");
2275    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "a", 24);
2276    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3);
2277    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2278    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2279} if (rf & 2) {
2280    const contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().$implicit;
2281    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
2282    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("href", "https://", contributor_r1.social.website, "", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]);
2283    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2284    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](contributor_r1.social.website);
2285} }
2286function AboutComponent_div_39_Template(rf, ctx) { if (rf & 1) {
2287    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div");
2288    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div", 18);
2289    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "div", 19);
2290    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](3, "img", 20);
2291    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](4, "img", 21);
2292    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2293    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](5, "div", 22);
2294    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](6, "p", 23);
2295    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](7, "p", 5);
2296    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](8, "a", 24);
2297    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](9);
2298    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2299    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2300    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2301    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](10, "div", 25);
2302    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](11, "p");
2303    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](12, "strong");
2304    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](13);
2305    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2306    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2307    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](14, AboutComponent_div_39_div_14_Template, 4, 2, "div", 26);
2308    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](15, AboutComponent_div_39_div_15_Template, 3, 1, "div", 26);
2309    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](16, AboutComponent_div_39_div_16_Template, 4, 2, "div", 26);
2310    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](17, AboutComponent_div_39_div_17_Template, 4, 2, "div", 26);
2311    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2312    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2313    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](18, "hr");
2314    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2315} if (rf & 2) {
2316    const contributor_r1 = ctx.$implicit;
2317    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](3);
2318    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("alt", "Picture of ", contributor_r1.name, "");
2319    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate"]("src", contributor_r1.images.regular, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]);
2320    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2321    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("alt", "Silly picture of ", contributor_r1.name, "");
2322    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate"]("src", contributor_r1.images.silly, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]);
2323    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
2324    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("innerHTML", contributor_r1.blurb, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeHtml"]);
2325    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
2326    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate"]("href", contributor_r1.sharingLink, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]);
2327    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2328    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"]("Click here to sign ", contributor_r1.name, "'s virtrolio.");
2329    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](4);
2330    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"]("Contact ", contributor_r1.name, "");
2331    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2332    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.github);
2333    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2334    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.instagram);
2335    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2336    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.linkedIn);
2337    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2338    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.website);
2339} }
2340/**
2341 * About component, with a short blurb at the top and a row for each contributor.
2342 */
2343class AboutComponent {
2344    constructor(title) {
2345        this.title = title;
2346        this.contributors = _contributors_json__WEBPACK_IMPORTED_MODULE_0__;
2347    }
2348    ngOnInit() {
2349        this.title.setTitle('About Us | Virtrolio');
2350    }
2351}
2352AboutComponent.ɵfac = function AboutComponent_Factory(t) { return new (t || AboutComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__.Title)); };
2353AboutComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ type: AboutComponent, selectors: [["app-about"]], decls: 40, vars: 1, consts: [[1, "pt-5", "container"], [1, "about-us-section"], [1, "row"], [1, "col-12", "col-lg-8"], [1, "mb-3", "header-text"], [1, "about-us-body"], ["routerLink", "/contact"], ["href", "https://bit.ly/virtrolioYouT00b", "target", "_blank"], ["href", "/signing?uid=6sXs48Uwj3ZSPX7JUPsuvdosfRm1&key=VirtrolioTeam"], [1, "col-4", "d-none", "d-lg-block"], [1, "vertical-center", "about-us-img-container"], ["alt", "About us illustration", "src", "../../../assets/images/about.svg", 1, "about-us-img"], [1, "row", "mt-3", "mt-lg-5"], [1, "vertical-center", "about-us-img-container", "p-5"], ["alt", "About us illustration", "src", "../../../assets/images/charity.svg", 1, "about-us-img"], ["href", "https://www.who.int/emergencie
2353s/diseases/novel-coronavirus-2019/donate", "target", "_blank"], [1, "col-12"], [4, "ngFor", "ngForOf"], [1, "row", "d-flex", "my-2"], [1, "col-md-2", "order-md-2", "image-container", "vertical-center"], [1, "img-fluid", "regular-picture", 3, "alt", "src"], [1, "img-fluid", "silly-picture", 3, "alt", "src"], [1, "col-md-7", "order-md-3", "mt-3", "mt-md-0", "vertical-center"], [1, "text-justify", "about-us-body", 3, "innerHTML"], ["target", "_blank", 3, "href"], [1, "col-md-3", "order-md-1"], [4, "ngIf"], ["target", "_blank", 3, "href", 4, "ngIf"]], template: function AboutComponent_Template(rf, ctx) { if (rf & 1) {
2354        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 0);
2355        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div", 1);
2356        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "div", 2);
2357        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](3, "div", 3);
2358        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](4, "h1", 4);
2359        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](5, "About us");
2360        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2361        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](6, "p", 5);
2362        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](7, " We\u2019re a group of undergraduate university students who remember exactly what it was like back in high school (at The Woodlands Secondary School, to be exact, woot woot), and we especially remember what those last few months of senior year meant to many of us. With the COVID-19 pandemic leading to lockdowns and social distancing, we wanted to create an alternative way for graduating students (and others!) to be able to send each other messages in a medium that they can cherish with them as they continue on in their journeys. ");
2363        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](8, "br");
2364        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](9, "br");
2365        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](10, " Want to get in touch with us? Visit the ");
2366        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](11, "a", 6);
2367        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](12, "Contact Us");
2368        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2369        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](13, " page or check out our ");
2370        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](14, "a", 7);
2371        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](15, "YouTube channel");
2372        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2373        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](16, ". You can also sign the team's virtrolio by ");
2374        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](17, "a", 8);
2375        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](18, " clicking here");
2376        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2377        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](19, ". ");
2378        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2379        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2380        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](20, "div", 9);
2381        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](21, "div", 10);
2382        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](22, "img", 11);
2383        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2384        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2385        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2386        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](23, "div", 12);
2387        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](24, "div", 9);
2388        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](25, "div", 13);
2389        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](26, "img", 14);
2390        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2391        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2392        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](27, "div", 3);
2393        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](28, "h3", 4);
2394        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](29, "Charity");
2395        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2396        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](30, "p", 5);
2397        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](31, " COVID-19 has affected people around the world and it has created problems far more pressing than an absence of yearbook signing. With this in mind, Virtrolio has decided to donate 5 cents for each of the first 2000 Virtrolio accounts created between June 15th, 2021 and June 29th, 2021 to the ");
2398        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](32, "a", 15);
2399        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](33, "COVID-19 Solidarity Response Fund");
2400        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2401        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](34, ". We personally guarantee that we will pay the full amount for the first 2000 accounts created in this period and if funds are available, we will try to match this amount for the next 1000 accounts. Thank y
2401ou for your support. ");
2402        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2403        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2404        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2405        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](35, "div", 12);
2406        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](36, "div", 16);
2407        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](37, "h3", 4);
2408        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](38, "Meet the Team!");
2409        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2410        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](39, AboutComponent_div_39_Template, 19, 12, "div", 17);
2411        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2412        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2413        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2414        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2415    } if (rf & 2) {
2416        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](39);
2417        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", ctx.contributors);
2418    } }, directives: [_angular_router__WEBPACK_IMPORTED_MODULE_3__.RouterLinkWithHref, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf], styles: ["#title[_ngcontent-%COMP%] {\n  text-align: center;\n  font-size: 5em;\n}\n\n#title-blurb[_ngcontent-%COMP%] {\n  border-left: 3px solid var(--accent);\n  padding-left: 2em;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #title-blurb[_ngcontent-%COMP%] {\n    border-left: none;\n    padding-left: 0;\n  }\n}\n\n#meet-the-team-title[_ngcontent-%COMP%] {\n  text-align: center;\n}\n\n.jumbotron[_ngcontent-%COMP%] {\n  padding-top: 2em;\n  padding-bottom: 0;\n}\n\n.regular-picture[_ngcontent-%COMP%]:hover {\n  opacity: 0;\n}\n\n.regular-picture[_ngcontent-%COMP%] {\n  z-index: 0;\n  width: 100%;\n}\n\n.silly-picture[_ngcontent-%COMP%] {\n  position: absolute;\n  z-index: -1;\n  width: 100%;\n}\n\n.image-container[_ngcontent-%COMP%] {\n  padding: 0;\n  overflow: hidden;\n}\n\n.image-container[_ngcontent-%COMP%], .image-container[_ngcontent-%COMP%]    > img[_ngcontent-%COMP%] {\n  overflow: hidden !important;\n}\n\nul[_ngcontent-%COMP%] {\n  word-break: break-word;\n}\n\n#special[_ngcontent-%COMP%] {\n  flex-direction: row !important;\n}\n\n.about-us-img[_ngcontent-%COMP%] {\n  width: 100%;\n}\n\n.about-us-img-container[_ngcontent-%COMP%] {\n  height: 100%;\n}\n\n.about-us-body[_ngcontent-%COMP%] {\n  font-family: 'Roboto', sans-serif;\n  font-size: 1em;\n  text-align: justify;\n}\n\n.contact-list[_ngcontent-%COMP%] {\n  list-style-type: none;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFib3V0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUJBQXFCOztBQUVyQjtFQUNFLGtCQUFrQjtFQUNsQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0Usb0NBQW9DO0VBQ3BDLGlCQUFpQjtBQUNuQjs7QUFFQSxXQUFXOztBQUNYO0VBQ0U7SUFDRSxpQkFBaUI7SUFDakIsZUFBZTtFQUNqQjtBQUNGOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLFVBQVU7
2418RUFDVixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFVBQVU7RUFDVixnQkFBZ0I7QUFDbEI7O0FBRUE7O0VBRUUsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsOEJBQThCO0FBQ2hDOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsaUNBQWlDO0VBQ2pDLGNBQWM7RUFDZCxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxxQkFBcUI7QUFDdkIiLCJmaWxlIjoiYWJvdXQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHx8IFRpdGxlIGNvbnRlbnQgKi9cblxuI3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDVlbTtcbn1cblxuI3RpdGxlLWJsdXJiIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICN0aXRsZS1ibHVyYiB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbiNtZWV0LXRoZS10ZWFtLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uanVtYm90cm9uIHtcbiAgcGFkZGluZy10b3A6IDJlbTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5yZWd1bGFyLXBpY3R1cmU6aG92ZXIge1xuICBvcGFjaXR5OiAwO1xufVxuXG4ucmVndWxhci1waWN0dXJlIHtcbiAgei1pbmRleDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWxseS1waWN0dXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5pbWFnZS1jb250YWluZXIge1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW1hZ2UtY29udGFpbmVyLFxuLmltYWdlLWNvbnRhaW5lciA+IGltZyB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxudWwge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4jc3BlY2lhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbn1cblxuLmFib3V0LXVzLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWJvdXQtdXMtaW1nLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmFib3V0LXVzLWJvZHkge1xuICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4uY29udGFjdC1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuIl19 */"] });
2419
2420
2421/***/ }),
2422
2423/***/ 40970:
2424/*!**************************************************************************!*\
2425  !*** ./src/app/pages/access-denied-beta/access-denied-beta.component.ts ***!
2426  \**************************************************************************/
2427/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2428
2429"use strict";
2430__webpack_require__.r(__webpack_exports__);
2431/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2432/* harmony export */   "AccessDeniedBetaComponent": function() { return /* binding */ AccessDeniedBetaComponent; }
2433/* harmony export */ });
2434/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 37716);
2435/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
2436/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ 39895);
2437
2438
2439
2440class AccessDeniedBetaComponent {
2441    constructor(title) {
2442        this.title = title;
2443    }
2444    ngOnInit() {
2445        this.title.setTitle('Beta Website Access Denied | Virtrolio');
2446    }
2447}
2448AccessDeniedBetaComponent.ɵfac = function AccessDeniedBetaComponent_Factory(t) { return new (t || AccessDeniedBetaComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); };
2449AccessDeniedBetaComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ type: AccessDeniedBetaComponent, selectors: [["app-access-denied-beta"]], decls: 25, vars: 0, consts: [[1, "container", "vertical-center", "montserrat", "align-items-center"], [1, "row", "mx-3", "mt-3"], [1, "display-text"], [1, "row", "mx-3", "col-md-7", "justify-content-center"], [1, "display-body-text"], ["href", "https://virtrolio.web.app"], [1, "row", "justify-content-center", "mx-3", "mt-3"], ["alt", "Padlock graphic", "id", "graphic", "src", "../../../assets/images/AccessDenied.svg"], [1, "row", "justify-content-center", "mt-5", "mb-3"], ["role", "button", "href", "https://virtrolio.web.app", 1, "btn", "btn-lg", "btn-primary", "mt-3", "mx-3"], ["routerLink", "", 1, "btn", "btn-lg", "btn-secondary", "mt-3"]], template: function AccessDeniedBetaComponent_Template(rf, ctx) { if (rf & 1) {
2450        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
2451        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1);
2452        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2);
2453        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "Access Denied - Not a Beta Tester");
2454        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2455        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2456        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3);
2457        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "p", 4);
2458        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, " Oops! You tried to login to the beta website, but you aren't a beta tester! ");
2459        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2460        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "p", 4);
2461        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](8, "strong");
2462        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](9, "If you are not a beta tester, please ");
2463        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](10, "a", 5);
2464        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, " click here");
2465        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2466        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](12, " to use the public website.");
2467        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2468        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2469        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "p", 4);
2470        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](14, " If you ");
2471        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "strong");
2472        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, "are");
2473        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2474        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](17, " a beta tester and are seeing this message, please follow the instructions in the #instructions channel in the Beta Tester Discord to gain access. Message a Software Developer if you continue to experience problems. ");
2475        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2476        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2477        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](18, "div", 6);
2478        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](19, "img", 7);
2479        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2480        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](20, "div", 8);
2481        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](21, "a", 9);
2482        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](22, "Go to the Public Website");
2483        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2484        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](23, "button", 10);
2485        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](24, " Back to Beta Website ");
2486        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2487        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2488        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2489    } }, directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink], styles: ["#graphic[_ngcontent-%COMP%] {\n  height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n  font-size: 2.5em;\n  text-align: center;\n}\n\n.subtitle-text[_ngcontent-%COMP%] {\n  font-size: large;\n  text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #graphic[_ngcontent-%COMP%] {\n    height: 5em;\n  }\n\n  #title-text[_ngcontent-%COMP%] {\n    font-size: 2em;\n  }\n\n  #subtitle-text[_ngcontent-%COMP%] {\n    font-size: 1em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjY2Vzcy1kZW5pZWQtYmV0YS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUEsV0FBVzs7QUFDWDtFQUNFO0lBQ0UsV0FBVztFQUNiOztFQUVBO0lBQ0UsY0FBYztFQUNoQjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7QUFDRiIsImZpbGUiOiJhY2Nlc3MtZGVuaWVkLWJldGEuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNncmFwaGljIHtcbiAgaGVpZ2h0OiAxMGVtO1xufVxuXG4jdGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnN1YnRpdGxlLXRleHQge1xuICBmb250LXNpemU6IGxhcmdlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjZ3JhcGhpYyB7XG4gICAgaGVpZ2h0OiA1ZW07XG4gIH1cblxuICAjdGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gIH1cblxuICAjc3VidGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cbiJdfQ== */"] });
2490
2491
2492/***/ }),
2493
2494/***/ 91452:
2495/*!****************************************************************!*\
2496  !*** ./src/app/pages/access-denied/access-denied.component.ts ***!
2497  \****************************************************************/
2498/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2499
2500"use strict";
2501__webpack_require__.r(__webpack_exports__);
2502/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2503/* harmony export */   "AccessDeniedComponent": function() { return /* binding */ AccessDeniedComponent; }
2504/* harmony export */ });
2505/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 37716);
2506/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
2507/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ 39895);
2508
2509
2510
2511class AccessDeniedComponent {
2512    constructor(title) {
2513        this.title = title;
2514    }
2515    ngOnInit() {
2516        this.title.setTitle('Access Denied | Virtrolio');
2517    }
2518}
2519AccessDeniedComponent.ɵfac = function AccessDeniedComponent_Factory(t) { return new (t || AccessDeniedComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); };
2520AccessDeniedComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ type: AccessDeniedComponent, selectors: [["app-access-denied"]], decls: 17, vars: 0, consts: [[1, "container", "vertical-center", "montserrat", "align-items-center"], [1, "row", "mx-3", "mt-3"], [1, "display-text"], [1, "row", "mx-3", "col-md-7"], [1, "display-body-text"], ["routerLink", "/"], [1, "row", "justify-content-center", "mx-3", "mt-3"], ["alt", "Padlock graphic", "id", "graphic", "src", "../../../assets/images/AccessDenied.svg"], [1, "row", "justify-content-center", "my-3"], ["routerLink", "", 1, "btn-lg", "btn-primary", "mt-5"]], template: function AccessDeniedComponent_Template(rf, ctx) { if (rf & 1) {
2521        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
2522        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1);
2523        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2);
2524        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "Access Denied");
2525        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2526        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2527        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3);
2528        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "p", 4);
2529        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, " You may be trying to access a page you need to be logged in for! Please go to our ");
2530        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "a", 5);
2531        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "home page");
2532        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2533        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](9, " and sign in from there. ");
2534        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2535        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](10, "p", 4);
2536        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, " If you are signed in and you are still seeing this message, then you may be trying to access a web page that you shouldn't be allowed to visit whenever you want. Sorry! ");
2537        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2538        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2539        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](12, "div", 6);
2540        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](13, "img", 7);
2541        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2542        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](14, "div", 8);
2543        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "button", 9);
2544        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, "Back to Home");
2545        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2546        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2547        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2548    } }, directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLinkWithHref, _angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink], styles: ["#graphic[_ngcontent-%COMP%] {\n  height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n  font-size: 2.5em;\n  text-align: center;\n}\n\n.subtitle-text[_ngcontent-%COMP%] {\n  font-size: large;\n  text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #graphic[_ngcontent-%COMP%] {\n    height: 5em;\n  }\n\n  #title-text[_ngcontent-%COMP%] {\n    font-size: 2em;\n  }\n\n  #subtitle-text[_ngcontent-%COMP%] {\n    font-size: 1em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjY2Vzcy1kZW5pZWQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0FBQ3BCOztBQUVBLFdBQVc7O0FBQ1g7RUFDRTtJQUNFLFdBQVc7RUFDYjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7O0VBRUE7SUFDRSxjQUFjO0VBQ2hCO0FBQ0YiLCJmaWxlIjoiYWNjZXNzLWRlbmllZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2dyYXBoaWMge1xuICBoZWlnaHQ6IDEwZW07XG59XG5cbiN0aXRsZS10ZXh0IHtcbiAgZm9udC1zaXplOiAyLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3VidGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogbGFyZ2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNncmFwaGljIHtcbiAgICBoZWlnaHQ6IDVlbTtcbiAgfVxuXG4gICN0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgfVxuXG4gICNzdWJ0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuIl19 */"] });
2549
2550
2551/***/ }),
2552
2553/***/ 45996:
2554/*!****************************************************!*\
2555  !*** ./src/app/pages/contact/contact.component.ts ***!
2556  \****************************************************/
2557/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2558
2559"use strict";
2560__webpack_require__.r(__webpack_exports__);
2561/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2562/* harmony export */   "ContactComponent": function() { return /* binding */ ContactComponent; }
2563/* harmony export */ });
2564/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 37716);
2565/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
2566
2567
2568class ContactComponent {
2569    constructor(title) {
2570        this.title = title;
2571    }
2572    ngOnInit() {
2573        this.title.setTitle('Contact Us | Virtrolio');
2574    }
2575}
2576ContactComponent.ɵfac = function ContactComponent_Factory(t) { return new (t || ContactComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); };
2577ContactComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ type: ContactComponent, selectors: [["app-contact"]], decls: 37, vars: 0, consts: [[1, "pt-5", "container"], [1, "mb-3", "header-text"], [1, "row", "body-text"], [1, "col-12", "col-lg-6"], ["href", "https://github.com/virtrolio/virtrolio-site/issues/new", "target", "_blank"], ["href", "mailto:[email protected]", "target", "_blank"], ["href", "https://www.facebook.com/virtrolio/", "target", "_blank"], ["href", "https://www.instagram.com/virtrolio/", "target", "_blank"], ["href", "https://github.com/virtrolio/virtrolio-site", "target", "_blank"], [1, "col-lg-6", "order-2", "py-5", "py-lg-0"], ["id", "graphic-container justify-content-center"], ["alt", "pink cloud graphic", "id", "graphic", "src", "../../../assets/images/ContactUs.svg"]], template: function ContactComponent_Template(rf, ctx) { if (rf & 1) {
2578        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
2579        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "h1", 1);
2580        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2, "Contact Us");
2581        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2582        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](3, "br");
2583        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 2);
2584        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "div", 3);
2585        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "p");
2586        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "strong");
2587        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "Got a question, comment, suggestion or concern?");
2588        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2589        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](9, "br");
2590        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](10, "a", 4);
2591        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, "Open an issue on our GitHub");
2592        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2593        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](12, " or email us at ");
2594        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "a", 5);
2595        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](14, "[email protected]");
2596        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2597        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](15, ". ");
2598        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2599        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](16, "p");
2600        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](17, "strong");
2601        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](18, "Looking for our social media?");
2602        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2603        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](19, "br");
2604        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](20, " You're welcome to visit and contact us through our ");
2605        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](21, "a", 6);
2606        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](22, " Facebook");
2607        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2608        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](23, " and ");
2609        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](24, "a", 7);
2610        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](25, "Instagram");
2611        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2612        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](26, " pages. ");
2613        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2614        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](27, "p");
2615        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](28, "strong");
2616        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](29, "Want to contribute to our project?");
2617        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2618        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](30, "br");
2619        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](31, "a", 8);
2620        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](32, "Open a pull request");
2621        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2622        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](33, " on our repository. ");
2623        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2624        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2625        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](34, "div", 9);
2626        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](35, "div", 10);
2627        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](36, "img", 11);
2628        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2629        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2630        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2631        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
2632    } }, styles: ["#graphic[_ngcontent-%COMP%] {\n  height: 12em;\n  margin-left: auto;\n  margin-right: auto;\n  width: 100%;\n}\n\n#graphic-container[_ngcontent-%COMP%] {\n  width: 100%;\n}\n\n#title[_ngcontent-%COMP%] {\n  text-align: center;\n  font-size: 4em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbnRhY3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixjQUFjO0FBQ2hCIiwiZmlsZSI6ImNvbnRhY3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNncmFwaGljIHtcbiAgaGVpZ2h0OiAxMmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cblxuI2dyYXBoaWMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiN0aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiA0ZW07XG59XG4iXX0= */"] });
2633
2634
2635/***/ }),
2636
2637/***/ 16459:
2638/*!********************************************!*\
2639  !*** ./src/app/pages/faq/faq.component.ts ***!
2640  \********************************************/
2641/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2642
2643"use strict";
2644__webpack_require__.r(__webpack_exports__);
2645/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2646/* harmony export */   "FaqComponent": function() { return /* binding */ FaqComponent; }
2647/* harmony export */ });
2648/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 37716);
2649/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
2650/* harmony import */ var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/common.service */ 80150);
2651/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/common */ 38583);
2652/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ 39895);
2653
2654
2655
2656
2657
2658function FaqComponent_div_4_div_3_Template(rf, ctx) { if (rf & 1) {
2659    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 8);
2660    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div", 9);
2661    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "h2", 10);
2662    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](3, "button", 11);
2663    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](4);
2664    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2665    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2666    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2667    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](5, "div", 12);
2668    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](6, "div", 13);
2669    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2670    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2671} if (rf & 2) {
2672    const question_r4 = ctx.$implicit;
2673    const q_r5 = ctx.index;
2674    const s_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().index;
2675    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2676    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate2"]("id", "question", s_r2, "-", q_r5, "");
2677    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
2678    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵattribute"]("aria-controls", "answer" + s_r2 + "-" + q_r5)("data-target", "#answer" + s_r2 + "-" + q_r5);
2679    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2680    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"](" ", question_r4.question, " ");
2681    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2682    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate2"]("id", "answer", s_r2, "-", q_r5, "");
2683    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵattribute"]("data-parent", "#section-header" + s_r2);
2684    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2685    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("innerHTML", question_r4.answer, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeHtml"]);
2686} }
2687function FaqComponent_div_4_Template(rf, ctx) { if (rf & 1) {
2688    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 5);
2689    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "h2", 6);
2690    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](2);
2691    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2692    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](3, FaqComponent_div_4_div_3_Template, 7, 9, "div", 7);
2693    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2694} if (rf & 2) {
2695    const section_r1 = ctx.$implicit;
2696    const s_r2 = ctx.index;
2697    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("id", "section-header", s_r2, "");
2698    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
2699    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](section_r1.sectionTitle);
2700    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
2701    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", section_r1.questions);
2702} }
2703class FaqComponent {
2704    constructor(title, commonService) {
2705        this.title = title;
2706        this.commonService = commonService;
2707        this.commonService
2708            .parseYAMLFromFile('./assets/data/faq.content.yml')
2709            .then((data) => (this.faqContent = data));
2710    }
2711    ngOnInit() {
2712        this.title.setTitle('Frequently Asked Questions | Virtrolio');
2713    }
2714}
2715FaqComponent.ɵfac = function FaqComponent_Factory(t) { return new (t || FaqComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__.Title), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService)); };
2716FaqComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ type: FaqComponent, selectors: [["app-faq"]], decls: 12, vars: 1, consts: [[1, "pt-5", "container"], [1, "mb-3", "header-text"], ["class", "accordion mb-5", 3, "id", 4, "ngFor", "ngForOf"], [1, "justify-content-center", "vertical-center", "py-4"], ["routerLink", "/contact"], [1, "accordion", "mb-5", 3, "id"], [1, "subheader-text"], ["class", "card", 4, "ngFor", "ngForOf"], [1, "card"], [1, "card-header", 3, "id"], [1, "mb-0"], ["aria-expanded", "false", "data-toggle", "collapse", "type", "button", 1, "btn", "btn-link"], ["aria-labelledby", "question", 1, "collapse", 3, "id"], [1, "card-body", "card-align", 3, "innerHTML"]], template: function FaqComponent_Template(rf, ctx) { if (rf & 1) {
2717        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 0);
2718        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "h1", 1);
2719        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](2, "Frequently Asked Questions");
2720        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2721        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](3, "br");
2722        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](4, FaqComponent_div_4_Template, 4, 3, "div", 2);
2723        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](5, "hr");
2724        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](6, "div", 3);
2725        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](7, "p");
2726        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](8, " Didn't find what you were looking for? Send us your question with the ");
2727        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](9, "a", 4);
2728        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](10, "Contact Us");
2729        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2730        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](11, " page! ");
2731        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2732        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2733        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
2734    } if (rf & 2) {
2735        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](4);
2736        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", ctx.faqContent);
2737    } }, directives: [_angular_common__WEBPACK_IMPORTED_MODULE_3__.NgForOf, _angular_router__WEBPACK_IMPORTED_MODULE_4__.RouterLinkWithHref], styles: [".card-align[_ngcontent-%COMP%] {\n  padding: 1.25rem 2rem;\n}\n\n#title[_ngcontent-%COMP%] {\n  text-align: center;\n  font-size: 4em;\n  margin-top: 2em;\n}\n\n#bottom-text[_ngcontent-%COMP%] {\n  text-align: center;\n}\n\n.btn-link[_ngcontent-%COMP%] {\n  text-align: left;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZhcS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxlQUFlO0FBQ2pCOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCIiwi
2737ZmlsZSI6ImZhcS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNhcmQtYWxpZ24ge1xuICBwYWRkaW5nOiAxLjI1cmVtIDJyZW07XG59XG5cbiN0aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiA0ZW07XG4gIG1hcmdpbi10b3A6IDJlbTtcbn1cblxuI2JvdHRvbS10ZXh0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYnRuLWxpbmsge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuIl19 */"] });
2738
2739
2740/***/ }),
2741
2742/***/ 25245:
2743/*!**********************************************!*\
2744  !*** ./src/app/pages/home/home.component.ts ***!
2745  \**********************************************/
2746/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2747
2748"use strict";
2749__webpack_require__.r(__webpack_exports__);
2750/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2751/* harmony export */   "HomeComponent": function() { return /* binding */ HomeComponent; }
2752/* harmony export */ });
2753/* harmony import */ var aos__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aos */ 68096);
2754/* harmony import */ var aos__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aos__WEBPACK_IMPORTED_MODULE_0__);
2755/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 37716);
2756/* harmony import */ var _core_auth_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/auth.service */ 87341);
2757/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
2758/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ 38583);
2759/* harmony import */ var ngx_markdown__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ngx-markdown */ 76715);
2760/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/router */ 39895);
2761
2762
2763
2764
2765
2766
2767
2768function HomeComponent_div_1_Template(rf, ctx) { if (rf & 1) {
2769    const _r10 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"]();
2770    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 45);
2771    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](1, "img", 46);
2772    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](2, "div", 47);
2773    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](3, "h1", 48);
2774    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](4, " Stay connected. ");
2775    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2776    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](5, "h1", 49);
2777    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](6, " Even when you're apart. ");
2778    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2779    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](7, "img", 50);
2780    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function HomeComponent_div_1_Template_img_click_7_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r10); const ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); return ctx_r9.onClickChevron(); });
2781    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2782    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2783    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2784} }
2785function HomeComponent_ng_template_2_Template(rf, ctx) { if (rf & 1) {
2786    const _r12 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"]();
2787    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 45);
2788    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "div", 47);
2789    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](2, "h1", 51);
2790    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](3, " Stay connected. ");
2791    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2792    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "h1", 52);
2793    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5, "Even when you're apart.");
2794    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2795    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](6, "img", 53);
2796    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function HomeComponent_ng_template_2_Template_img_click_6_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r12); const ctx_r11 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); return ctx_r11.onClickChevron(); });
2797    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2798    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2799    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2800} }
2801function HomeComponent_div_16_Template(rf, ctx) { if (rf & 1) {
2802    const _r14 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"]();
2803    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div");
2804    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "p", 54);
2805    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](2, " Sign in below to create your own virtrolio! ");
2806    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2807    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](3, "div", 55);
2808    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "button", 56);
2809    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function HomeComponent_div_16_Template_button_click_4_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r14); const ctx_r13 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); return ctx_r13.authService.login("/my-virtrolio"); });
2810    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](5, "img", 57);
2811    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](6, "span");
2812    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](7, "Sign in with Google");
2813    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2814    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2815    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2816    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](8, "div", 58);
2817    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](9, "p", 59);
2818    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](10, " By signing up for/signing into our service, you are agreeing to our ");
2819    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](11, "a", 60);
2820    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](12, "Terms of Service.");
2821    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2822    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2823    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](13, "p", 61);
2824    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](14, " At this time, we do not support signing in using providers other than Google. ");
2825    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2826    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2827    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2828} }
2829function HomeComponent_ng_template_17_Template(rf, ctx) { if (rf & 1) {
2830    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 62);
2831    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "p", 63);
2832    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](2, " You're already signed in! Click the button to go to your virtrolio. ");
2833    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2834    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2835    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](3, "div", 64);
2836    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "button", 65);
2837    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5, " Go to my virtrolio ");
2838    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2839    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2840} }
2841function HomeComponent_div_98_Template(rf, ctx) { if (rf & 1) {
2842    const _r16 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"]();
2843    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div");
2844    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "div", 62);
2845    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](2, "h3", 66);
2846    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](3, " Ready to get signing? ");
2847    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2848    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "p", 63);
2849    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5, "Sign in and get your virtrolio!");
2850    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2851    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2852    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](6, "div", 55);
2853    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](7, "button", 56);
2854    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function HomeComponent_div_98_Template_button_click_7_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r16); const ctx_r15 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); return ctx_r15.authService.login("/my-virtrolio"); });
2855    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](8, "img", 57);
2856    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](9, "span");
2857    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](10, "Sign in with Google");
2858    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2859    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2860    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2861    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2862} }
2863function HomeComponent_ng_template_99_Template(rf, ctx) { if (rf & 1) {
2864    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 62);
2865    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "h3", 67);
2866    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](2, "You're all set!");
2867    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2868    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2869    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](3, "div", 64);
2870    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "button", 68);
2871    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5, " Go to my virtrolio ");
2872    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2873    _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2874} }
2875class HomeComponent {
2876    constructor(authService, title) {
2877        this.authService = authService;
2878        this.title = title;
2879        // Initialize Animate on Scroll library
2880        // In constructor instead of ngOnInit to avoid the page breaking when routerLinking to home
2881        aos__WEBPACK_IMPORTED_MODULE_0__.init();
2882        this.getScreenSize();
2883    }
2884    /**
2885     * "Subscribes" to the window resize event to update current value of viewport height
2886     */
2887    getScreenSize() {
2888        this.screenHeight = window.innerHeight;
2889    }
2890    ngOnInit() {
2891        this.title.setTitle("Virtrolio - Stay connected. Even when you're apart.");
2892    }
2893    /**
2894     * Scroll within page without linking to fragments
2895     */
2896    onClickChevron() {
2897        document.getElementById('info').scrollIntoView({ behavior: 'smooth' });
2898    }
2899}
2900HomeComponent.ɵfac = function HomeComponent_Factory(t) { return new (t || HomeComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_1__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__.Title)); };
2901HomeComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineComponent"]({ type: HomeComponent, selectors: [["app-home"]], hostBindings: function HomeComponent_HostBindings(rf, ctx) { if (rf & 1) {
2902        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("resize", function HomeComponent_resize_HostBindingHandler($event) { return ctx.getScreenSize($event); }, false, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresolveWindow"]);
2903    } }, decls: 101, vars: 6, consts: [[1, "container-fluid", "full-width", "home-background"], ["class", "container-fluid full-width vertical-center home-img-background", 4, "ngIf", "ngIfElse"], ["mobileLandscape", ""], ["id", "info"], [1, "pt-5", "vertical-center", "body-container"], [1, "d-flex", "justify-content-center"], ["data-aos", "zoom-in", "data-aos-duration", "1000", "data-aos-once", "true", 1, "col-12", "col-sm-12", "col-md-12", "col-lg-8", "col-xl-8"], [1, "mb-3", "px-5", "home-text", "header-text"], [1, "lead", "px-5", "home-text", "body-text"], ["id", "login-virtrolio-button", 1, "px-5"], [4, "ngIf", "ngIfElse"], ["MyVirtrolio", ""], ["id", "viewing-demo", 1, "full-width", "demo-section"], ["data-aos", "fade-left", "data-aos-duration", "2000", "data-aos-once", "true", 1, "full-width", "demo-image", "d-none", "d-md-block", "viewing-demo-image"], [1, "vertical-center", "mx-5", "px-5", "viewing-demo-text-container"], [1, "demo-title"], [1, "full-width", "demo-image", "d-block", "d-md-none", "viewing-demo-image"], [1, "py-4", "center-children", "vertical-center", "body-container"], [1, ""], [1, "col-12", "col-sm-12", "col-md-12", "col-lg-8", "col-xl-8"], [1, "row"], [1, "order-md-1", "col-12", "col-sm-12", "col-md-12", "col-lg-6", "col-xl-8", "px-5"], [1, "card", "mr-4", "mb-5", "rounded", "border-0"], [1, "body-header-text"], [1, "lead", "body-text"], ["href", "/privacy-policy"], [1, "lead", "home-text", "body-text"], [1, "card", "mr-4", "rounded", "border-0"], [2, "color", "#d1155a"], [2, "font-family", "'Indie Flower', sans-serif"], [1, "order-md-2", "col-lg-6", "col-xl-4", "mt-4", "d-none", "d-lg-block"], [1, "vertical-center", "card-container"], ["data-aos", "flip-left", "data-aos-duration", "2000", "data-aos-once", "true", 1, "card", "shadow"], [1, "card-header"], [1, "profile-pic-container-small", "mr-2"], ["alt", "profile-pic", "src", "../../../assets/images/logo_reg.png", 1, "profile-pic"], [1, "card-header-text"], ["emoji", "", 1, "card-body", "card-message"], ["id", "signing-demo", 1, "full-width", "demo-section"], ["data-aos", "fade-right", "data-aos-duration", "2000", "data-aos-once", "true", 1, "full-width", "demo-image", "d-none", "d-md-block", "signing-demo-image"], [1, "vertical-center", "mx-5", "px-5", "signing-demo-text-container"], [1, "full-width", "demo-image", "d-block", "d-md-none", "signing-demo-image"], [1, "py-1", "vertical-center", "body-container"], ["id", "login-virtrolio-button-bottom", 1, "px-5"], ["MyVirtrolioBottom", ""], [1, "container-fluid", "full-width", "vertical-center", "home-img-background"], ["alt", "Virtrolio Logo", "id", "bg-logo-img", "data-aos", "zoom-in-up", "data-aos-duration", "1500", "src", "../../../assets/images/logo_inverted-no-back.png", 1, "d-none", "d-xl-block"], [1, "title-container"], ["data-aos", "zoom-in", "data-aos-duration", "500", "data-aos-once", "true", "id", "title-header"], ["data-aos", "zoom-in", "data-aos-duration", "1000", "data-aos-once", "true", "id", "title-subtitle"], ["alt", "down", "height", "48", "id", "chevron", "src", "../../../assets/images/icons/chevron-down.svg", "width", "48", 3, "click"], ["data-aos", "zoom-in", "data-aos-duration", "500", "data-aos-once", "true", "id", "title-header-mobile-landscape"], ["id", "title-subtitle-mobile-landscape"], ["alt", "down", "height", "48", "id", "chevron-mobile-landscape", "src", "../../../assets/images/icons/chevron-down.svg", "width", "48", 3, "click"], ["id", "bolded-body-text", 1, "lead"], [1, "row", "d-flex", "justify-content-center", "mt-4"], ["type", "button", 1, "btn", "btn-outline-dark", "google-sign-in-btn", 3, "click"], ["alt", "Google Logo", "height", "23", "src", "../../../assets/images/icons/google.svg", "width", "23"], ["id", "disclaimer-text"], [1, "lead", "pt-4"], ["href", "/terms-of-service"], [1, "lead"], [1, "justify-content-center", "text-center", "pt-1"], [1, "lead", "pb-1"], [1, "d-flex", "justify-content-center", "pt-1"], ["id", "my-virtrolio", "routerLink", "/my-v
2903irtrolio", "type", "button", 1, "btn-lg", "btn-primary"], [1, "mb-1", "px-5", "home-text", "ready-text"], [1, "mb-1", "px-5", "home-text", "ready-text", "pb-4"], ["id", "my-virtrolio-bottom", "routerLink", "/my-virtrolio", "type", "button", 1, "btn-lg", "btn-primary"]], template: function HomeComponent_Template(rf, ctx) { if (rf & 1) {
2904        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 0);
2905        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](1, HomeComponent_div_1_Template, 8, 0, "div", 1);
2906        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](2, HomeComponent_ng_template_2_Template, 7, 0, "ng-template", null, 2, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplateRefExtractor"]);
2907        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2908        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](4, "a", 3);
2909        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](5, "div", 4);
2910        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](6, "div", 5);
2911        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](7, "div", 6);
2912        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](8, "h2", 7);
2913        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](9, "What is a virtrolio?");
2914        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2915        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](10, "p", 8);
2916        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](11, " A ");
2917        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](12, "em");
2918        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](13, "virtrolio");
2919        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2920        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](14, " is a virtual folio\u2014an online version of those last few pages in your yearbook that you use to write personal and long-lasting messages to your friends. In other words, you can create your own virtrolio, share it with friends, and have them write customized messages for you to keep. Whenever you want, you can view your virtrolio and all the messages you have received from your friends! ");
2921        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2922        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](15, "div", 9);
2923        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](16, HomeComponent_div_16_Template, 15, 0, "div", 10);
2924        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](17, HomeComponent_ng_template_17_Template, 6, 0, "ng-template", null, 11, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplateRefExtractor"]);
2925        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2926        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2927        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2928        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2929        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](19, "div", 12);
2930        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](20, "div", 13);
2931        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](21, "div", 14);
2932        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](22, "h2", 15);
2933        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](23, "A virtual take on");
2934        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2935        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](24, "h2", 15);
2936        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](25, "yearbook signing");
2937        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2938        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2939        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2940        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](26, "div", 16);
2941        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](27, "div", 14);
2942        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](28, "h2", 15);
2943        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](29, "A virtual take\u00A0on");
2944        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2945        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](30, "h2", 15);
2946        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](31, "yearbook signing");
2947        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2948        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2949        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2950        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2951        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](32, "div", 17);
2952        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](33, "div", 18);
2953        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](34, "div", 19);
2954        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](35, "div", 20);
2955        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](36, "div", 21);
2956        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](37, "div", 22);
2957        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](38, "h3", 23);
2958        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](39, "Why use Virtrolio?");
2959        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2960        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](40, "p", 24);
2961        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](41, " Using Virtrolio offers you an authentic yearbook signing experience, and that means ");
2962        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](42, "em");
2963        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](43, "privacy");
2964        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2965        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](44, ". You can only view virtrolio messages sent directly to you (see our ");
2966        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](45, "a", 25);
2967        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](4
29676, "Privacy Policy");
2968        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2969        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](47, " for more details). ");
2970        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2971        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2972        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](48, "div", 22);
2973        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](49, "h3", 23);
2974        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](50, "How can I make a virtrolio?");
2975        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2976        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](51, "p", 26);
2977        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](52, " It's easy to create a virtrolio! Sign in with your Google account and a custom virtrolio link will be generated for you. Share this link with your friends so they can sign your virtrolio. ");
2978        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2979        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2980        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](53, "div", 27);
2981        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](54, "h3", 23);
2982        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](55, " What does signing a virtrolio look like? ");
2983        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2984        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](56, "p", 26);
2985        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](57, " We offer you an array of message customization tools, including ");
2986        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](58, "span", 28);
2987        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](59, "colour pickers");
2988        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2989        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](60, ", ");
2990        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](61, "span", 29);
2991        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](62, "b");
2992        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](63, "fonts");
2993        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2994        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2995        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](64, ", emojis \uD83D\uDE0D, and a markdown editor\u2014all so that you can truly express yourself. ");
2996        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2997        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2998        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
2999        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](65, "div", 30);
3000        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](66, "div", 31);
3001        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](67, "div", 32);
3002        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](68, "div", 33);
3003        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](69, "span", 34);
3004        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](70, "img", 35);
3005        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3006        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](71, "span", 36);
3007        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](72, "Mike H.");
3008        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3009        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3010        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](73, "markdown", 37);
3011        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](74, "University across the country, huh? I don't know what I'm going to do without you next year. I'll call you whenever I can. Until I see you again! :heart: ");
3012        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3013        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3014        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3015        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3016        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3017        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3018        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3019        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3020        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](75, "div", 38);
3021        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](76, "div", 39);
3022        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](77, "div", 40);
3023        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](78, "h2", 15);
3024        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](79, "Give your messages");
3025        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3026        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](80, "h2", 15);
3027        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](81, "your ");
3028        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](82, "i");
3029        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](83, "signature");
3030        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3031        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](84, " touch");
3032        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3033        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3034        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3035        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](85, "div", 41);
3036        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](86, "div", 40);
3037        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](87, "h2", 15);
3038        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](88, "Give your messages");
3039        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3040        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](89, "h2", 15);
3041        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](90, "your ");
3042        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](91, "i");
3043        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](92, "signature");
3044        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3045        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](93, " touch");
3046        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3047        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3048        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3049        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3050        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](94, "div", 42);
3051        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](95, "div", 5);
3052        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](96, "div", 6);
3053        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](97, "div", 43);
3054        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](98, HomeComponent_div_98_Template, 11, 0, "div", 10);
3055        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](99, HomeComponent_ng_template_99_Template, 6, 0, "ng-template", null, 44, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplateRefExtractor"]);
3056        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3057        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3058        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3059        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"]();
3060    } if (rf & 2) {
3061        const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](3);
3062        const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](18);
3063        const _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](100);
3064        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](1);
3065        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", ctx.screenHeight > 420)("ngIfElse", _r1);
3066        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](15);
3067        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", !ctx.authService.isLoggedIn())("ngIfElse", _r4);
3068        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](82);
3069        _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", !ctx.authService.isLoggedIn())("ngIfElse", _r7);
3070    } }, directives: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf, ngx_markdown__WEBPACK_IMPORTED_MODULE_5__.MarkdownComponent, _angular_router__WEBPACK_IMPORTED_MODULE_6__.RouterLink], styles: [".home-background[_ngcontent-%COMP%] {\n  background: linear-gradient(\n    90deg,\n    var(--navbar-left) 0%,\n    var(--navbar-right) 100%\n  );\n  height: calc(100vh - var(--navbar-height));\n  overflow: hidden;\n}\n\n\n\n#bg-logo-img[_ngcontent-%COMP%] {\n  position: absolute;\n  opacity: 0.25;\n  right: 0;\n  height: 50em;\n  width: 50em;
3070\n}\n\n.title-container[_ngcontent-%COMP%] {\n  font-family: 'Roboto', sans-serif;\n  position: relative;\n  padding-left: 10vw;\n}\n\n#title-header[_ngcontent-%COMP%] {\n  font-size: 6em;\n  color: white;\n}\n\n#title-subtitle[_ngcontent-%COMP%] {\n  font-size: 2em;\n  font-weight: 400;\n  color: white;\n  margin-top: 1em;\n}\n\n#title-header-mobile-landscape[_ngcontent-%COMP%] {\n  font-size: 4em;\n  color: white;\n}\n\n#title-subtitle-mobile-landscape[_ngcontent-%COMP%] {\n  font-size: 1em;\n  font-weight: 400;\n  color: white;\n  margin-top: 0.5em;\n}\n\n#chevron[_ngcontent-%COMP%] {\n  margin-top: 2em;\n  cursor: pointer;\n}\n\n#chevron-mobile-landscape[_ngcontent-%COMP%] {\n  margin-top: 0;\n  cursor: pointer;\n}\n\n.home-img-background[_ngcontent-%COMP%] {\n  background: url('bg-curve.svg') no-repeat center bottom;\n  background-size: 100%;\n  height: calc(100vh - var(--navbar-height));\n  overflow: hidden;\n  position: absolute;\n  left: 0;\n  right: 0;\n}\n\n.demo-section[_ngcontent-%COMP%] {\n  height: 70vh;\n  overflow: hidden;\n}\n\n.demo-image[_ngcontent-%COMP%] {\n  overflow: hidden;\n  position: relative;\n  height: 100%;\n  left: 0;\n  right: 0;\n}\n\n.card-container[_ngcontent-%COMP%] {\n  height: 100%;\n}\n\n#card-text[_ngcontent-%COMP%] {\n  background: var(--accent);\n  font-family: Roboto, sans-serif;\n  color: white;\n}\n\n#viewing-demo[_ngcontent-%COMP%] {\n  background: linear-gradient(\n    90deg,\n    var(--navbar-left) 0%,\n    var(--navbar-right) 100%\n  );\n}\n\n#signing-demo[_ngcontent-%COMP%] {\n  background: linear-gradient(129deg, #86d5d3, #a4e681, #edc556, #fa8072);\n  background-size: 800% 800%;\n  animation: SectionGradientAnimation 10s ease infinite;\n}\n\n.viewing-demo-image[_ngcontent-%COMP%] {\n  background: url('viewing-demo.svg') no-repeat center;\n  background-size: cover;\n}\n\n.signing-demo-image[_ngcontent-%COMP%] {\n  background: url('signing-demo.svg') no-repeat center;\n  background-size: cover;\n}\n\n.viewing-demo-text-container[_ngcontent-%COMP%] {\n  font-family: 'Roboto', sans-serif;\n  position: absolute;\n  left: 0;\n  text-align: left;\n  height: 100%;\n}\n\n.signing-demo-text-container[_ngcontent-%COMP%] {\n  font-family: 'Roboto', sans-serif;\n  position: absolute;\n  right: 0;\n  text-align: right;\n  height: 100%;\n}\n\n.demo-title[_ngcontent-%COMP%] {\n  font-size: 3em;\n  font-weight: 400;\n  color: white;\n  text-shadow: 0.1em 0.1em 0.2em rgba(0, 0, 0, 0.5);\n  white-space: normal;\n}\n\n\n\n.body-container[_ngcontent-%COMP%] {\n  margin: 5em 0;\n}\n\n#bolded-body-text[_ngcontent-%COMP%] {\n  font-weight: 600;\n  text-align: center;\n}\n\n#disclaimer-text[_ngcontent-%COMP%]    > p[_ngcontent-%COMP%] {\n  font-size: 1em;\n  text-align: center;\n}\n\n.header-text[_ngcontent-%COMP%] {\n  font-size: 3em;\n  font-weight: bold;\n}\n\n.ready-text[_ngcontent-%COMP%] {\n  font-size: 2em;\n  font-weight: bold;\n  text-align: center;\n}\n\n.body-header-text[_ngcontent-%COMP%] {\n  font-size: 1.2em;\n}\n\n.body-text[_ngcontent-%COMP%] {\n  font-family: 'Roboto', sans-serif;\n  font-size: 1em;\n}\n\n#login-virtrolio-button[_ngcontent-%COMP%] {\n  padding: 3em 0 3em 0;\n}\n\n.card-header-text[_ngcontent-%COMP%] {\n  font-weight: bold;\n  margin-top: 0.2em;\n}\n\n.card-header[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n}\n\n.card-message[_ngcontent-%COMP%] {\n  background: var(--accent);\n  padding: 3em;\n  color: white;\n  font-size: 1em;\n  font-weight: bold;\n}\n\n.profile-pic-container-small[_ngcontent-%COMP%] {\n  background: rgba(255, 255, 255, 0);\n  height: 2em;\n  width: 2em;\n  border-radius: 100%;\n  display: flex;\n}\n\n@media only screen and (max-width: 768px) {\n  #title-header[_ngcontent-%COMP%] {\n    font-size: 10vw;\n    color: white;\n  }\n\n  #title-subtitle[_ngcontent-%COMP%] {\n    font-size: 4vw;\n    font-weight: 400;\n    color: white;\n    margin-top: 1em;\n    line-height: 0;\n  }\n\n  .header-text[_ngcontent-%COMP%] {\n    font-size: 2em;\n    font-weight: bold;\n  }\n\n  .body-text[_ngcontent-%COMP%] {\n    font-family: 'Roboto', sans-serif;\n    font-size: 1em;\n  }\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n  width: 0.2em;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n  opacity: 0;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n  background: #efefef;\n  opacity: 0.1;\n  border-radius: 1em;\n}\n\n\n\n#btn-info[_ngcontent-%COMP%] {\n  border-radius: 6em;\n  background-color: var(--accent);\n  color: #ffffff;\n}\n\n#btn-info[_ngcontent-%COMP%]:hover {\n  background-color: var(--dark-accent);\n}\n\n\n\n#info[_ngcontent-%COMP%]::before {\n  content: '';\n  display: block;\n  height: 50px;\n  margin: -50px 0 0 0;\n}\n\n\n\n@keyframes SectionGradientAnimation {\n  0% {\n    background-position: 0 0;\n  }\n  50% {\n    background-position: 93% 100%;\n  }\n  100% {\n    background-position: 0 0;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvbWUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkI7O0FBRTNCO0VBQ0U7Ozs7R0FJQztFQUNELDBDQUEwQztFQUMxQyxnQkFBZ0I7QUFDbEI7O0FBRUEsdUVBQXVFOztBQUN2RTtFQUNFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsUUFBUTtFQUNSLFlBQVk7RUFDWixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxpQ0FBaUM7RUFDakMsa0JBQWtCO0VBQ2xCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxZQUFZO0FBQ2Q7O0F
3070BRUE7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsY0FBYztFQUNkLFlBQVk7QUFDZDs7QUFFQTtFQUNFLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGVBQWU7RUFDZixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLGVBQWU7QUFDakI7O0FBRUE7RUFDRSx1REFBOEU7RUFDOUUscUJBQXFCO0VBQ3JCLDBDQUEwQztFQUMxQyxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLE9BQU87RUFDUCxRQUFRO0FBQ1Y7O0FBRUE7RUFDRSxZQUFZO0VBQ1osZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osT0FBTztFQUNQLFFBQVE7QUFDVjs7QUFFQTtFQUNFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QiwrQkFBK0I7RUFDL0IsWUFBWTtBQUNkOztBQUVBO0VBQ0U7Ozs7R0FJQztBQUNIOztBQUVBO0VBQ0UsdUVBQXVFO0VBQ3ZFLDBCQUEwQjtFQUcxQixxREFBcUQ7QUFDdkQ7O0FBRUE7RUFDRSxvREFBMkU7RUFDM0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0Usb0RBQTJFO0VBQzNFLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLGlDQUFpQztFQUNqQyxrQkFBa0I7RUFDbEIsT0FBTztFQUNQLGdCQUFnQjtFQUNoQixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxpQ0FBaUM7RUFDakMsa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixpQkFBaUI7RUFDakIsWUFBWTtBQUNkOztBQUVBO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osaURBQWlEO0VBQ2pELG1CQUFtQjtBQUNyQjs7QUFFQSxxQkFBcUI7O0FBRXJCO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxpQ0FBaUM7RUFDakMsY0FBYztBQUNoQjs7QUFFQTtFQUNFLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixZQUFZO0VBQ1osY0FBYztFQUNkLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGtDQUFrQztFQUNsQyxXQUFXO0VBQ1gsVUFBVTtFQUNWLG1CQUFtQjtFQUNuQixhQUFhO0FBQ2Y7O0FBRUE7RUFDRTtJQUNFLGVBQWU7SUFDZixZQUFZO0VBQ2Q7O0VBRUE7SUFDRSxjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixlQUFlO0lBQ2YsY0FBYztFQUNoQjs7RUFFQTtJQUNFLGNBQWM7SUFDZCxpQkFBaUI7RUFDbkI7O0VBRUE7SUFDRSxpQ0FBaUM7SUFDakMsY0FBYztFQUNoQjtBQUNGOztBQUVBLGtCQUFrQjs7QUFFbEI7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxVQUFVO0FBQ1o7O0FBRUE7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLGtCQUFrQjtBQUNwQjs7QUFFQSxxQkFBcUI7O0FBRXJCO0VBQ0Usa0JBQWtCO0VBQ2xCLCtCQUErQjtFQUMvQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0Usb0NBQW9DO0FBQ3RDOztBQUVBLGdDQUFnQzs7QUFDaEM7RUFDRSxXQUFXO0VBQ1gsY0FBYztFQUNkLFlBQVk7RUFDWixtQkFBbUI7QUFDckI7O0FBRUEsa0JBQWtCOztBQTBCbEI7RUFDRTtJQUNFLHdCQUF3QjtFQUMxQjtFQUNBO0lBQ0UsNkJBQTZCO0VBQy9CO0VBQ0E7SUFDRSx3QkFBd0I7RUFDMUI7QUFDRiIsImZpbGUiOiJob21lLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB8fCBGdWxsIFNjcmVlbiBMYW5kaW5nICovXG5cbi5ob21lLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgOTBkZWcsXG4gICAgdmFyKC0tbmF2YmFyLWxlZnQpIDAlLFxuICAgIHZhcigtLW5hdmJhci1yaWdodCkgMTAwJVxuICApO1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1uYXZiYXItaGVpZ2h0KSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIExhcmdlIGxvZ28gaW4gdGhlIGJhY2tncm91bmQgZm9yIHdoZW4gdGhlcmUgaXMgbm8gaW1hZ2UgdG8gZmVhdHVyZSAqL1xuI2JnLWxvZ28taW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwLjI1O1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiA1MGVtO1xuICB3aWR0aDogNTBlbTtcbn1cblxuLnRpdGxlLWNvbnRhaW5lciB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDEwdnc7XG59XG5cbiN0aXRsZS1oZWFkZXIge1xuICBmb250LXNpemU6IDZlbTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4jdGl0bGUtc3VidGl0bGUge1xuICBmb250LXNpemU6IDJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbiN0aXRsZS1oZWFkZXItbW9iaWxlLWxhbmRzY2FwZSB7XG4gIGZvbnQtc2l6ZTogNGVtO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbiN0aXRsZS1zdWJ0aXRsZS1tb2JpbGUtbGFuZHNjYXBlIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG5cbiNjaGV2cm9uIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiNjaGV2cm9uLW1vYmlsZS1sYW5kc2NhcGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5ob21lLWltZy1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2JnLWN1cnZlLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLW5hdmJhci1oZWlnaHQpKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuLmRlbW8tc2VjdGlvbiB7XG4gIGhlaWdodDogNzB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRlbW8taW1hZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5jYXJkLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuI2NhcmQtdGV4dCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuI3ZpZXdpbmctZGVtbyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICA5MGRlZyxcbiAgICB2YXIoLS1uYXZiYXItbGVmdCkgMCUsXG4gICAgdmFyKC0tbmF2YmFyLXJpZ2h0KSAxMDAlXG4gICk7XG59XG5cbiNzaWduaW5nLWRlbW8ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTI5ZGVnLCAjODZkNWQzLCAjYTRlNjgxLCAjZWRjNTU2LCAjZmE4MDcyKTtcbiAgYmFja2dyb3VuZC1zaXplOiA4MDAlIDgwMCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBTZWN0aW9uR3JhZGllbnRBbmltYXRpb24gMTBzIGVhc2UgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBTZWN0aW9uR3JhZGllbnRBbmltYXRpb24gMTBzIGVhc2UgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogU2VjdGlvbkdyYWRpZW50QW5pbWF0aW9uIDEwcyBlYXNlIGluZmluaXRlO1xufVxuXG4udmlld2luZy1kZW1vLWltYWdlIHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3ZpZXdpbmctZGVtby5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uc2lnbmluZy1kZW1vLWltYWdlIHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3NpZ25pbmctZGVtby5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4udmlld2luZy1kZW1vLXRleHQtY29udGFpbmVyIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnNpZ25pbmctZGVtby10ZXh0LWNvbnRhaW5lciB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmRlbW8tdGl0bGUge1xuICBmb250LXNpemU6IDNlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDt
3070cbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXNoYWRvdzogMC4xZW0gMC4xZW0gMC4yZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vKiB8fCBCb2R5LVNwZWNpZmljICovXG5cbi5ib2R5LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogNWVtIDA7XG59XG5cbiNib2xkZWQtYm9keS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jZGlzY2xhaW1lci10ZXh0ID4gcCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oZWFkZXItdGV4dCB7XG4gIGZvbnQtc2l6ZTogM2VtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnJlYWR5LXRleHQge1xuICBmb250LXNpemU6IDJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJvZHktaGVhZGVyLXRleHQge1xuICBmb250LXNpemU6IDEuMmVtO1xufVxuXG4uYm9keS10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuI2xvZ2luLXZpcnRyb2xpby1idXR0b24ge1xuICBwYWRkaW5nOiAzZW0gMCAzZW0gMDtcbn1cblxuLmNhcmQtaGVhZGVyLXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLXRvcDogMC4yZW07XG59XG5cbi5jYXJkLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5jYXJkLW1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBwYWRkaW5nOiAzZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucHJvZmlsZS1waWMtY29udGFpbmVyLXNtYWxsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgaGVpZ2h0OiAyZW07XG4gIHdpZHRoOiAyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3RpdGxlLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAxMHZ3O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gICN0aXRsZS1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiA0dnc7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICB9XG5cbiAgLmhlYWRlci10ZXh0IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5ib2R5LXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuXG4vKiB8fCBTY3JvbGxiYXJzICovXG5cbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC4yZW07XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBvcGFjaXR5OiAwO1xufVxuXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogI2VmZWZlZjtcbiAgb3BhY2l0eTogMC4xO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG59XG5cbi8qIHx8IE1pc2NlbGxhbmVvdXMgKi9cblxuI2J0bi1pbmZvIHtcbiAgYm9yZGVyLXJhZGl1czogNmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuI2J0bi1pbmZvOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyay1hY2NlbnQpO1xufVxuXG4vKiBmcmFnbWVudCBwYWRkaW5nIGZvciBoZWFkZXIgKi9cbiNpbmZvOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luOiAtNTBweCAwIDAgMDtcbn1cblxuLyogfHwgQW5pbWF0aW9ucyAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgU2VjdGlvbkdyYWRpZW50QW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxuICA1MCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkzJSAxMDAlO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgU2VjdGlvbkdyYWRpZW50QW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxuICA1MCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkzJSAxMDAlO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIFNlY3Rpb25HcmFkaWVudEFuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIH1cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MyUgMTAwJTtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIH1cbn1cbiJdfQ== */"] });
3071
3072
3073/***/ }),
3074
3075/***/ 84892:
3076/*!**************************************************************!*\
3077  !*** ./src/app/pages/invalid-link/invalid-link.component.ts ***!
3078  \**************************************************************/
3079/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3080
3081"use strict";
3082__webpack_require__.r(__webpack_exports__);
3083/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3084/* harmony export */   "InvalidLinkComponent": function() { return /* binding */ InvalidLinkComponent; }
3085/* harmony export */ });
3086/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 37716);
3087/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
3088/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ 39895);
3089
3090
3091
3092class InvalidLinkComponent {
3093    constructor(title) {
3094        this.title = title;
3095    }
3096    ngOnInit() {
3097        this.title.setTitle("Invalid Sharing Link | Virtrolio - Stay connected. Even when you're apart.");
3098    }
3099}
3100InvalidLinkComponent.ɵfac = function InvalidLinkComponent_Factory(t) { return new (t || InvalidLinkComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); };
3101InvalidLinkComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ type: InvalidLinkComponent, selectors: [["app-invalid-link"]], decls: 17, vars: 0, consts: [[1, "container", "vertical-center", "montserrat"], [1, "row", "justify-content-center", "mx-3", "mt-3"], [1, "display-text"], [1, "row", "justify-content-center", "mx-3"], [1, "display-body-text"], ["alt", "Invalid link image", "id", "graphic", "src", "../../../assets/images/InvalidLink.svg"], [1, "row", "justify-content-center", "my-3"], ["routerLink", "", 1, "btn-lg", "btn-primary", "mt-5"]], template: function InvalidLinkComponent_Template(rf, ctx) { if (rf & 1) {
3102        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
3103        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1);
3104        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2);
3105        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "This sharing link is invalid!");
3106        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3107        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3108        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3);
3109        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "p", 4);
3110        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, " You are trying to access a sharing link that never existed or doesn't work anymore.");
3111        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](7, "br");
3112        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "If you're trying to sign your friend's virtrolio, make sure to ask for their ");
3113        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "em");
3114        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, "newest");
3115        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3116        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, " sharing link. ");
3117        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3118        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3119        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](12, "div", 1);
3120        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](13, "img", 5);
3121        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3122        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](14, "div", 6);
3123        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "button", 7);
3124        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, "Back to Home");
3125        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3126        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3127        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3128    } }, directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink], styles: ["#graphic[_ngcontent-%COMP%] {\n  height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n  font-size: 2.5em;\n  text-align: center;\n}\n\n#subtitle-text[_ngcontent-%COMP%] {\n  font-size: large;\n  text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #graphic[_ngcontent-%COMP%] {\n    height: 5em;\n  }\n\n  #title-text[_ngcontent-%COMP%] {\n    font-size: 2em;\n  }\n\n  #subtitle-text[_ngcontent-%COMP%] {\n    font-size: 1em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImludmFsaWQtbGluay5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUEsV0FBVzs7QUFDWDtFQUNFO0lBQ0UsV0FBVztFQUNiOztFQUVBO0lBQ0UsY0FBYztFQUNoQjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7QUFDRiIsImZpbGUiOiJpbnZhbGlkLWxpbmsuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNncmFwaGljIHtcbiAgaGVpZ2h0OiAxMGVtO1xufVxuXG4jdGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3N1YnRpdGxlLXRleHQge1xuICBmb250LXNpemU6IGxhcmdlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjZ3JhcGhpYyB7XG4gICAgaGVpZ2h0OiA1ZW07XG4gIH1cblxuICAjdGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gIH1cblxuICAjc3VidGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cbiJdfQ== */"] });
3129
3130
3131/***/ }),
3132
3133/***/ 20479:
3134/*!************************************************************!*\
3135  !*** ./src/app/pages/maintenance/maintenance.component.ts ***!
3136  \************************************************************/
3137/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3138
3139"use strict";
3140__webpack_require__.r(__webpack_exports__);
3141/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3142/* harmony export */   "MaintenanceComponent": function() { return /* binding */ MaintenanceComponent; }
3143/* harmony export */ });
3144/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 37716);
3145/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
3146/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ 39895);
3147
3148
3149
3150class MaintenanceComponent {
3151    constructor(title) {
3152        this.title = title;
3153    }
3154    ngOnInit() {
3155        this.title.setTitle('Under Maintenance - Try again later! | Virtrolio');
3156    }
3157}
3158MaintenanceComponent.ɵfac = function MaintenanceComponent_Factory(t) { return new (t || MaintenanceComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); };
3159MaintenanceComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ type: MaintenanceComponent, selectors: [["app-maintenance"]], decls: 18, vars: 0, consts: [[1, "container", "vertical-center", "montserrat", "align-items-center"], [1, "row", "justify-content-center", "col-md-6", "m-2"], [1, "display-text"], ["id", "maintenance-subheading", 1, "display-body-text"], ["routerLink", "/my-v
3159irtrolio"], [1, "display-body-text"], [1, "row", "justify-content-center", "mx-3", "mt-3"], ["src", "../../../assets/images/Maintenance.svg", "alt", "Under construction image", "id", "graphic"], [1, "row", "justify-content-center", "m-2"], ["routerLink", "/my-virtrolio", 1, "btn-lg", "btn-primary", "mt-5", "mb-2", "mx-3"], ["routerLink", "/", 1, "btn-lg", "btn-primary", "mt-5", "mb-2", "mx-3"]], template: function MaintenanceComponent_Template(rf, ctx) { if (rf & 1) {
3160        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
3161        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1);
3162        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2);
3163        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "Our website is currently under maintenance.");
3164        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3165        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "p", 3);
3166        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](5, " While you can view ");
3167        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "a", 4);
3168        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](7, "your virtrolio");
3169        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3170        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, " (and the rest of the website) as usual, sending messages will be unavailable for the time being. ");
3171        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3172        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "p", 5);
3173        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, "We apologize for the inconvenience.");
3174        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3175        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3176        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](11, "div", 6);
3177        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](12, "img", 7);
3178        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3179        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "div", 8);
3180        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](14, "button", 9);
3181        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](15, " My virtrolio ");
3182        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3183        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](16, "button", 10);
3184        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](17, " Back to Home ");
3185        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3186        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3187        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3188    } }, directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLinkWithHref, _angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink], styles: ["#graphic[_ngcontent-%COMP%] {\n  height: 10em;\n}\n\nh2[_ngcontent-%COMP%], h5[_ngcontent-%COMP%] {\n  text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #graphic[_ngcontent-%COMP%] {\n    height: 5em;\n  }\n\n  #maintenance-heading[_ngcontent-%COMP%] {\n    font-size: 1.4em;\n  }\n\n  #maintenance-subheading[_ngcontent-%COMP%] {\n    font-size: 1em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW50ZW5hbmNlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7O0VBRUUsa0JBQWtCO0FBQ3BCOztBQUVBLFdBQVc7O0FBQ1g7RUFDRTtJQUNFLFdBQVc7RUFDYjs7RUFFQTtJQUNFLGdCQUFnQjtFQUNsQjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7QUFDRiIsImZpbGUiOiJtYWludGVuYW5jZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2dyYXBoaWMge1xuICBoZWlnaHQ6IDEwZW07XG59XG5cbmgyLFxuaDUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjZ3JhcGhpYyB7XG4gICAgaGVpZ2h0OiA1ZW07XG4gIH1cblxuICAjbWFpbnRlbmFuY2UtaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxLjRlbTtcbiAgfVxuXG4gICNtYWludGVuYW5jZS1zdWJoZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuIl19 */"] });
3189
3190
3191/***/ }),
3192
3193/***/ 88198:
3194/*!******************************************************!*\
3195  !*** ./src/app/pages/msg-sent/msg-sent.component.ts ***!
3196  \******************************************************/
3197/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3198
3199"use strict";
3200__webpack_require__.r(__webpack_exports__);
3201/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3202/* harmony export */   "MsgSentComponent": function() { return /* binding */ MsgSentComponent; }
3203/* harmony export */ });
3204/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 37716);
3205/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/router */ 39895);
3206/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
3207
3208
3209
3210class MsgSentComponent {
3211    constructor(route, title) {
3212        this.route = route;
3213        this.title = title;
3214        this.name = 'Your friend';
3215    }
3216    ngOnInit() {
3217        this.route.queryParams.subscribe((params) => {
3218            this.name = params.name;
3219            this.title.setTitle('Message sent to ' +
3220                params.name +
3221                "! | Virtrolio - Stay connected. Even when you're apart.");
3222        });
3223    }
3224}
3225MsgSentComponent.ɵfac = function MsgSentComponent_Factory(t) { return new (t || MsgSentComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_1__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__.Title)); };
3226MsgSentComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ type: MsgSentComponent, selectors: [["app-msg-sent"]], decls: 11, vars: 1, consts: [[1, "container", "vertical-center", "montserrat"], [1, "row", "mx-3", "mt-3", "justify-content-center"], [1, "display-text"], [1, "row", "mx-2", "my-5", "justify-content-center"], ["alt", "Paper plane graphic", "id", "graphic", "src", "../../../assets/images/MessageSent-Light.svg"], ["id", "buttons", 1, "row", "justify-content-center", "mb-3"], ["routerLink", "/my-v
3226irtrolio", "type", "button", 1, "col-sm-4", "col-md-3", "btn", "btn-primary"], ["routerLink", "", "type", "button", 1, "col-sm-4", "col-md-3", "btn", "btn-primary"]], template: function MsgSentComponent_Template(rf, ctx) { if (rf & 1) {
3227        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
3228        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1);
3229        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2);
3230        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3);
3231        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3232        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3233        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3);
3234        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](5, "img", 4);
3235        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3236        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "div", 5);
3237        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "button", 6);
3238        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, " My virtrolio ");
3239        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3240        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "button", 7);
3241        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, " Home Page ");
3242        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3243        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3244        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3245    } if (rf & 2) {
3246        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](3);
3247        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtextInterpolate1"](" ", ctx.name ? ctx.name : "Your friend", " will receive your message soon! ");
3248    } }, directives: [_angular_router__WEBPACK_IMPORTED_MODULE_1__.RouterLink], styles: ["#graphic[_ngcontent-%COMP%] {\n  height: 15em;\n}\n\n#buttons[_ngcontent-%COMP%]    > button[_ngcontent-%COMP%] {\n  margin: 2em 1em 0;\n  font-size: 1.1em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n  font-size: 2em;\n  text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #graphic[_ngcontent-%COMP%] {\n    height: 10em;\n  }\n\n  #title-text[_ngcontent-%COMP%] {\n    font-size: 1.5em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1zZy1zZW50LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGtCQUFrQjtBQUNwQjs7QUFFQSxXQUFXOztBQUNYO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7O0VBRUE7SUFDRSxnQkFBZ0I7RUFDbEI7QUFDRiIsImZpbGUiOiJtc2ctc2VudC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2dyYXBoaWMge1xuICBoZWlnaHQ6IDE1ZW07XG59XG5cbiNidXR0b25zID4gYnV0dG9uIHtcbiAgbWFyZ2luOiAyZW0gMWVtIDA7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbiN0aXRsZS10ZXh0IHtcbiAgZm9udC1zaXplOiAyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNncmFwaGljIHtcbiAgICBoZWlnaHQ6IDEwZW07XG4gIH1cblxuICAjdGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgfVxufVxuIl19 */"] });
3249
3250
3251/***/ }),
3252
3253/***/ 32093:
3254/*!**************************************************************!*\
3255  !*** ./src/app/pages/my-virtrolio/my-virtrolio.component.ts ***!
3256  \**************************************************************/
3257/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3258
3259"use strict";
3260__webpack_require__.r(__webpack_exports__);
3261/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3262/* harmony export */   "MyVirtrolioComponent": function() { return /* binding */ MyVirtrolioComponent; }
3263/* harmony export */ });
3264/* harmony import */ var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/common.service */ 80150);
3265/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 37716);
3266/* harmony import */ var _core_auth_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/auth.service */ 87341);
3267/* harmony import */ var _core_sharing_link_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core/sharing-link.service */ 84157);
3268/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ 39895);
3269/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
3270/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/common */ 38583);
3271/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/forms */ 3679);
3272
3273
3274
3275
3276
3277
3278
3279
3280function MyVirtrolioComponent_div_52_Template(rf, ctx) { if (rf & 1) {
3281    const _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
3282    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 47);
3283    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "label", 48);
3284    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](2, "Share");
3285    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3286    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "button", 49);
3287    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_div_52_Template_button_click_3_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r7); const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); return ctx_r6.shareLink(); });
3288    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](4, " Share your link ");
3289    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3290    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3291} }
3292function MyVirtrolioComponent_ng_template_53_Template(rf, ctx) { if (rf & 1) {
3293    const _r9 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
3294    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 50);
3295    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "div");
3296    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "h6");
3297    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3, "Use the buttons below to share your link!");
3298    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3299    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3300    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "button", 51);
3301    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_ng_template_53_Template_button_click_4_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r9); const ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); return ctx_r8.postOnSocial("facebook"); });
3302    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](5, "img", 52);
3303    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "span", 53);
3304    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](7, "Facebook");
3305    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3306    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3307    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "button", 54);
3308    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_ng_template_53_Template_button_click_8_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r9); const ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); return ctx_r10.postOnSocial("twitter"); });
3309    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](9, "img", 55);
3310    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "span");
3311    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](11, "Twitter");
3312    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3313    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3314    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "button", 56);
3315    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_ng_template_53_Template_button_click_12_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r9); const ctx_r11 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); return ctx_r11.postOnSocial("email"); });
3316    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](13, "img", 57);
3317    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](14, "span", 53);
3318    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](15, "Email");
3319    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3320    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3321    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](16, "hr");
3322    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3323} }
3324function MyVirtrolioComponent_div_61_Template(rf, ctx) { if (rf & 1) {
3325    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 58);
3326    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](1, " Are you sure? Generating a new link will invalidate any other links that you have generated! Click generate again to confirm. ");
3327    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3328} }
3329/**
3330 * 'My virtrolio.' Displays your virtrolio as a 'book' on screen and allows you to generate a sharing link.
3331 */
3332class MyVirtrolioComponent {
3333    constructor(authService, sharingLinkService, router, title) {
3334        this.authService = authService;
3335        this.sharingLinkService = sharingLinkService;
3336        this.router = router;
3337        this.title = title;
3338        this.currentYear = _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.CURRENT_YEAR;
3339        /** Default values */
3340        this.link = 'Getting your link...';
3341        this.linkReady = false;
3342        this.showWarningText = false;
3343        this.copyButtonText = 'Copy';
3344    }
3345    ngOnInit() {
3346        this.authService.displayName().then((displayName) => {
3347            this.displayName = displayName;
3348            this.title.setTitle(displayName + "'s Virtrolio | Virtrolio");
3349        });
3350        this.authService
3351            .redirectLoginUserCreation()
3352            .catch((error) => _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error));
3353        this.navigator = window.navigator;
3354    }
3355    ngOnDestroy() {
3356        $('#link-gen').modal('hide');
3357        $('#send-message').modal('hide');
3358    }
3359    /**
3360     * Check if user can share using a native sharing mechanism (i.e. if they are on mobile)
3361     * @returns - True if the user has a native sharing mechanism available
3362     */
3363    canShare() {
3364        return this.navigator && this.navigator.share;
3365    }
3366    /**
3367     * Selects an inputElement's field and copies its contents to the clipboard, updating the button to confirm the copy
3368     * @param inputElement - the element to read from
3369     */
3370    copyLink(inputElement) {
3371        inputElement.select();
3372        inputElement.setSelectionRange(0, 10000);
3373        document.execCommand('copy');
3374        this.copyButtonText = 'Copied!';
3375    }
3376    /**
3377     * Fetches the user's sharing link, alerts an error on invali
3377d link
3378     */
3379    setLink() {
3380        this.copyButtonText = 'Copy';
3381        this.sharingLinkService.getLink().then((link) => {
3382            this.link = link;
3383            this.linkReady = true;
3384        });
3385    }
3386    /**
3387     * Attempts to navigate by router to a sharing link based on what is inputted in the 'send a message' input field
3388     * (query params extracted with regEx if possible)
3389     */
3390    navigateToLink() {
3391        if (this.visitLink) {
3392            try {
3393                // noinspection JSIgnoredPromiseFromCall
3394                this.visitLinkUID = this.visitLink.match(/uid=([^&]*)/)[1];
3395                this.visitLinkKEY = this.visitLink.match(/key=([^&]*)/)[1];
3396                window.location.href =
3397                    '/signing?uid=' + this.visitLinkUID + '&key=' + this.visitLinkKEY;
3398            }
3399            catch (e) {
3400                this.router
3401                    .navigate(['/invalid-link'])
3402                    .catch((e) => _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e));
3403            }
3404        }
3405    }
3406    /**
3407     * Share 'sharing link' using device native sharing mechanism. Should only be available on the front end to the user
3408     * if they have a native sharing mechanism.
3409     */
3410    shareLink() {
3411        if (this.canShare()) {
3412            this.navigator
3413                .share({
3414                title: this.displayName +
3415                    "'s virtrolio for " +
3416                    _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.CURRENT_YEAR +
3417                    '!',
3418                text: 'Sign my virtual yearbook!',
3419                url: this.link,
3420            })
3421                .catch((error) => _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('Sharing Error: ' + error));
3422        }
3423        else {
3424            _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('Sharing Error: Native Share not supported on this browser: ' +
3425                navigator.userAgent);
3426        }
3427    }
3428    /**
3429     * Share the user's sharing link on the appropriate platform
3430     * @param platform - platform on which to post the sharing link
3431     */
3432    postOnSocial(platform) {
3433        const urlFriendlyLink = 'https%3A//virtrolio.web.app/signing?uid=' +
3434            this.authService.uid() +
3435            '%26key=' +
3436            this.link.match(/key=([^&]*)/)[1];
3437        const bodyText = 'Sign%20my%20virtual%20yearbook!';
3438        if (platform === 'facebook') {
3439            window.open('https://www.facebook.com/sharer/sharer.php?u=' + urlFriendlyLink, '_blank');
3440        }
3441        else if (platform === 'twitter') {
3442            window.open('https://twitter.com/intent/tweet?url=' +
3443                urlFriendlyLink +
3444                '&text=' +
3445                bodyText, '_blank');
3446        }
3447        else if (platform === 'email') {
3448            window.open('mailto:?subject=' +
3449                'Virtrolio%20-%20Online%20Yearbook%20Signing!' +
3450                '&body=' +
3451                bodyText +
3452                '%0D%0A' +
3453                urlFriendlyLink, '_blank');
3454        }
3455        else {
3456            _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('Sharing Error: Unsupported social media platform: ' + platform);
3457        }
3458    }
3459    /**
3460     * Toggles between displaying warning text and updating the sharing link in the text box.
3461     */
3462    warnAndGenerate() {
3463        if (this.showWarningText) {
3464            this.link = 'Generating new link...';
3465            this.linkReady = false;
3466            this.copyButtonText = 'Copy';
3467            this.sharingLinkService
3468                .changeKey()
3469                .then(() => this.setLink())
3470                .catch((error) => _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error));
3471            this.setLink();
3472        }
3473        this.showWarningText = !this.showWarningText;
3474    }
3475}
3476MyVirtrolioComponent.ɵfac = function MyVirtrolioComponent_Factory(t) { return new (t || MyVirtrolioComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_1__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_core_sharing_link_service__WEBPACK_IMPORTED_MODULE_2__.SharingLinkService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_4__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__.Title)); };
3477MyVirtrolioComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineComponent"]({ type: MyVirtrolioComponent, selectors: [["app-my-virtrolio"]], decls: 94, vars: 11, consts: [[1, "container", "montserrat", "vertical-center"], [1, "row", "justify-content-center"], [1, "vertical-center", "mx-5", "my-3", "my-lg-0"], ["id", "virtrolio-outer-div", "routerLink", "/viewing", 1, "bg-primary", "rounded"], ["id", "virtrolio-title", 1, "bg-light", "p-3", "mt-4", "m-4", "rounded", "vertical-center"], [1, "mt-5"], ["id", "users-virtrolio"], [1, "col-lg-3", "col-md-4", "col-sm-5", "px-2", "vertical-center"], ["id", "buttons"], [1, "row"], ["data-target", "#link-gen", "data-toggle", "modal", "type", "button", 1, "btn-lg", "btn-primary", 3, "click"], ["routerLink", "/viewing", "type", "button", 1, "btn-lg", "btn-primary"], ["data-target", "#send-message", "data-toggle", "modal", "type", "button", 1, "btn-lg", "btn-primary"], ["routerLink", "/settings", "type", "button", 1, "btn-lg", "btn-primary"], [1, "col-lg-1"], ["aria-hidden", "true", "aria-labelledby", "link-gen-title", "id", "link-gen", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["role", "document", 1, "modal-dialog", "modal-dialog-centered"], [1, "modal-content"], [1, "modal-header"], ["id", "link-gen-title", 1, "modal-title"], ["aria-label", "Close", "data-dismiss", "modal", "type", "button", 1, "close"], ["aria-hidden", "true"], [1, "modal-body", "sharing-link-body"], ["for", "sharing-link-field"], [1, "align-items-center", "my-3"], [1, "input-group", "mb-3"], ["id", "sharing-link-field", "readonly", "", "type", "text", 1, "form-control", 3, "disabled", "value", "click"], ["sharingLink", ""], [1, "input-group-append"], ["id", "button-copy", "type", "button", 1, "btn", "btn-primary", "align-middle", 3, "disabled", "click"], ["id", "sharing-link-buttons", 1, "row", "justify-content-center"], ["class", "col
3477-sm-5 px-0 vertical-center my-2 mx-sm-1", 4, "ngIf", "ngIfElse"], ["desktopSharing", ""], [1, "col-sm-5", "px-0"], ["for", "button-new-link"], ["id", "button-new-link", "type", "button", 1, "btn", "btn-secondary", "w-100", "my-2", "mx-sm-1", 3, "click"], ["id", "warning-div", 4, "ngIf"], ["id", "generate-link-desc", 1, "mt-3"], ["aria-hidden", "true", "aria-labelledby", "send-message-modal-title", "id", "send-message", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["id", "send-message-modal-title", 1, "modal-title"], [1, "input-group"], ["for", "input-sharing-field", "id", "input-sharing-label", 2, "display", "none"], ["id", "input-sharing-field", "type", "text", "placeholder", "Input your friend's link here", "aria-label", "sign-friend", 1, "form-control", 3, "ngModel", "click", "ngModelChange"], ["inputSharing", ""], ["aria-label", "Close", "data-dismiss", "modal", "id", "button-go", "type", "button", 1, "btn", "btn-primary", "align-middle", "button-modal", 3, "click"], [1, "modal-footer"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-secondary"], [1, "col-sm-5", "px-0", "vertical-center", "my-2", "mx-sm-1"], ["for", "button-share-mobile"], ["id", "button-share-mobile", "type", "button", 1, "btn", "btn-success", "w-100", 3, "click"], ["id", "sharing-buttons", 1, "row", "w-100"], ["role", "button", "id", "facebook-button", 1, "btn", "btn-secondary", "col-sm-3", "mx-sm-3", "my-2", 3, "click"], ["src", "../../../assets/images/icons/facebook.svg", "alt", "Share with Facebook", 1, "mr-2"], [1, "mr-1"], ["role", "button", "id", "twitter-button", 1, "btn", "btn-secondary", "col-sm-3", "mx-sm-3", "my-2", 3, "click"], ["src", "../../../assets/images/icons/twitter.svg", "alt", "Share with Twitter", 1, "mr-2"], ["role", "button", "id", "email-button", 1, "btn", "btn-secondary", "col-sm-3", "mx-sm-3", "my-2", 3, "click"], ["src", "../../../assets/images/icons/mail.svg", "alt", "Share with Email", 1, "mr-2"], ["id", "warning-div"]], template: function MyVirtrolioComponent_Template(rf, ctx) { if (rf & 1) {
3478        const _r12 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
3479        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 0);
3480        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "div", 1);
3481        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "div", 2);
3482        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "div", 3);
3483        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "div", 4);
3484        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](5, "h1");
3485        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](6);
3486        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3487        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3488        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](7, "div", 5);
3489        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "h2", 6);
3490        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](9);
3491        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](10, "br");
3492        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](11, " virtrolio ");
3493        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3494        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3495        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3496        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3497        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "div", 7);
3498        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](13, "div", 8);
3499        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](14, "div", 9);
3500        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](15, "button", 10);
3501        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_button_click_15_listener() { ctx.setLink(); return ctx.showWarningText = false; });
3502        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](16, " Sharing Link ");
3503        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3504        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3505        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](17, "div", 9);
3506        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](18, "button", 11);
3507        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](19, " View Messages ");
3508        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3509        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3510        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](20, "div", 9);
3511        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](21, "button", 12);
3512        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](22, " Send a Message ");
3513        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3514        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3515        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](23, "div", 9);
3516        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](24, "button", 13);
3517        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](25, " Settings ");
3518        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3519        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3520        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3521        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3522        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](26, "div", 14);
3523        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3524        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3525        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](27, "div", 15);
3526        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](28, "div", 16);
3527        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](29, "div", 17);
3528        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](30, "div", 18);
3529        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](31, "h5", 19);
3530        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](32, " Ahoy, your sharing link has been prepared! ");
3531        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3532        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](33, "button", 20);
3533        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](34, "span", 21);
3534        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](35, "\u00D7");
3535        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3536        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3537        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3538        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](36, "div", 22);
3539        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](37, "p");
3540        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](38, " This is ");
3541        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](39, "b");
3542        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](40, "your");
3543        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3544        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](41, " sharing link; only share it with people you trust. ");
3545        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3546        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](42, "label", 23);
3547        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](43, "Your Link:");
3548        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3549        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](44, "div", 24);
3550        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](45, "div", 25);
3551        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](46, "input", 26, 27);
3552        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_input_click_46_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r12); const _r0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵreference"](47); return ctx.copyLink(_r0); });
3553        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3554        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](48, "div", 28);
3555        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](49, "button", 29);
3556        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_button_click_49_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r12); const _r0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵreference"](47); return ctx.copyLink(_r0); });
3557        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](50);
3558        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3559        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3560        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3561        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3562        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](51, "div", 30);
3563        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](52, MyVirtrolioComponent_div_52_Template, 5, 0, "div", 31);
3564        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](53, MyVirtrolioComponent_ng_template_53_Template, 17, 0, "ng-template", null, 32, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplateRefExtractor"]);
3565        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](55, "div", 33);
3566        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](56, "label", 34);
3567        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](57, "Click to generate a new link");
3568        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3569        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](58, "button", 35);
3570        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_button_click_58_listener() { return ctx.warnAndGenerate(); });
3571        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](59, " Generate new link ");
3572        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3573        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3574        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3575        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](60, "div", 9);
3576        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](61, MyVirtrolioComponent_div_61_Template, 2, 0, "div", 36);
3577        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](62, "div", 37);
3578        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](63, "h6");
3579        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](64, "Why would I want to generate a new link?");
3580        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3581        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](65, "p");
3582        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](66, " If you want people to stop being able to use your old one! Comes in handy if people are signing your virtrolio whom you don't approve of. ");
3583        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3584        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3585        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3586        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3587        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3588        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3589        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3590        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](67, "div", 38);
3591        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](68, "div", 16);
3592        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](69, "div", 17);
3593        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](70, "div", 18);
3594        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](71, "h5", 39);
3595        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](72, " Signing a friend's virtrolio ");
3596        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3597        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](73, "button", 20);
3598        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](74, "span", 21);
3599        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](75, "\u00D7");
3600        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3601        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3602        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3603        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](76, "div", 22);
3604        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](77, "p");
3605        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](78, " To sign a friend's virtrolio, they need to give you their 'sharing link'! You can paste your friend's sharing link below or directly into your browser search bar. To access ");
3606        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](79, "em");
3607        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](80, "your");
3608        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3609        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](81, " sharing link, click the 'Sharing Link' button on this page! ");
3610        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3611        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](82, "div", 24);
3612        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](83, "div", 40);
3613        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](84, "label", 41);
3614        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](85, "Visit friend link");
3615        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3616        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](86, "input", 42, 43);
3617        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_input_click_86_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r12); const _r5 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵreference"](87); return ctx.copyLink(_r5); })("ngModelChange", function MyVirtrolioComponent_Template_input_ngModelChange_86_listener($event) { return ctx.visitLink = $event; });
3618        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3619        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](88, "div", 28);
3620        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](89, "button", 44);
3621        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_button_click_89_listener() { return ctx.navigateToLink(); });
3622        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](90, " Go ");
3623        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3624        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3625        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3626        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3627        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3628        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](91, "div", 45);
3629        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](92, "button", 46);
3630        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](93, " Close ");
3631        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3632        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3633        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3634        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3635        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
3636    } if (rf & 2) {
3637        const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵreference"](54);
3638        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6);
3639        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate2"]("", ctx.currentYear - 1, "-", ctx.currentYear, "");
3640        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
3641        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", ctx.displayName, "'s ");
3642        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](37);
3643        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpropertyInterpolate"]("value", ctx.link);
3644        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("disabled", !ctx.linkReady);
3645        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3);
3646        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("disabled", !ctx.linkReady);
3647        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
3648        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", ctx.copyButtonText, " ");
3649        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
3650        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.canShare())("ngIfElse", _r2);
3651        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](9);
3652        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.showWarningText);
3653        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](25);
3654        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngModel", ctx.visitLink);
3655    } }, directives: [_angular_router__WEBPACK_IMPORTED_MODULE_4__.RouterLink, _angular_common__WEBPACK_IMPORTED_MODULE_6__.NgIf, _angular_forms__WEBPACK_IMPORTED_MODULE_7__.DefaultValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_7__.NgControlStatus, _angular_forms__WEBPACK_IMPORTED_MODULE_7__.NgModel], styles: ["#virtrolio-outer-div[_ngcontent-%COMP%] {\n  \n  height: 64vh;\n  width: 45vh;\n  box-shadow: 5px 10px var(--light-grey);\n  cursor: pointer;\n}\n\n.bg-primary[_ngcontent-%COMP%]:hover {\n  background-color: var(--dark-accent) !important;\n}\n\n.btn-primary[_ngcontent-%COMP%]:disabled {\n  background-color: var(--light-grey);\n}\n\n#virtrolio-title[_ngcontent-%COMP%] {\n  \n  height: 17vh;\n  text-align: center;\n}\n\n#virtrolio-title[_ngcontent-%COMP%]    > h1[_ngcontent-%COMP%] {\n  font-size: 180%;\n}\n\n#users-virtrolio[_ngcontent-%COMP%] {\n  \n  text-align: center;\n  color: white;\n  line-height: 1.5;\n  font-size: 140%;\n}\n\n\n\n#buttons[_ngcontent-%COMP%]    > *.row[_ngcontent-%COMP%]    > *[_ngcontent-%COMP%] {\n  \n  height: 4em;\n  width: 100%;\n  margin: 1.2em;\n  overflow: auto;\n  box-shadow: var(--signing-shadow);\n}\n\n\n\n.sharing-link-body[_ngcontent-%COMP%] {\n  text-align: center;\n  padding: 0.8em;\n}\n\n.sharing-link-body[_ngcontent-%COMP%]    > *[_ngcontent-%COMP%] {\n  \n  margin: 0.4em;\n}\n\n.sharing-link-body[_ngcontent-%COMP%]    > input[_ngcontent-%COMP%] {\n  \n  width: 60%;\n  height: 2em;\n  padding: 0.2em;\n  overflow-x: auto;\n}\n\n.sharing-link-body[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%], #sharing-link-buttons[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%], #sharing-link-buttons[_ngcontent-%COMP%]    > div[_ngcontent-%COMP%]    > label[_ngcontent-%COMP%] {\n  display: none;\n}\n\n#sharing-link-buttons[_ngcontent-%COMP%]    > div[_ngcontent-%COMP%] {\n  display: inline-block;\n}\n\n#sharing-link-field[_ngcontent-%COMP%] {\n  background: white;\n}\n\n#facebook-button[_ngcontent-%COMP%] {\n  background-color: #3b5998;\n}\n\n#twitter-button[_ngcontent-%COMP%] {\n  background-color: #1da1f2;\n}\n\n#email-button[_ngcontent-%COMP%] {\n  background-color: #b23122;\n}\n\n#sharing-buttons[_ngcontent-%COMP%]    > button[_ngcontent-%COMP%] {\n  border: 0;\n  font-size: 0.8em;\n}\n\n#sharing-buttons[_ngcontent-%COMP%]    > button[_ngcontent-%COMP%]    > img[_ngcontent-%COMP%] {\n  height: 80%;\n}\n\n.button-modal[_ngcontent-%COMP%] {\n  width: 4.5em;\n  padding: 0.4em;\n}\n\n#button-new-link[_ngcontent-%COMP%] {\n  height: 2.4em;\n  width: 10em;\n  padding: 0.2em;\n  margin: auto;\n}\n\n#warning-div[_ngcontent-%COMP%] {\n  color: #f05555;\n  text-align: center;\n  padding: 0.4em;\n}\n\n#generate-link-desc[_ngcontent-%COMP%] {\n  text-align: left;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm15LXZpcnRyb2xpby5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBCQUEwQjs7QUFFMUI7RUFDRSw4Q0FBOEM7RUFDOUMsWUFBWTtFQUNaLFdBQVc7RUFDWCxzQ0FBc0M7RUFDdEMsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLCtD
3655QUErQztBQUNqRDs7QUFFQTtFQUNFLG1DQUFtQztBQUNyQzs7QUFFQTtFQUNFLDJCQUEyQjtFQUMzQixZQUFZO0VBQ1osa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLCtDQUErQztFQUMvQyxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixlQUFlO0FBQ2pCOztBQUVBLG9CQUFvQjs7QUFFcEI7RUFDRSx1REFBdUQ7RUFDdkQsV0FBVztFQUNYLFdBQVc7RUFDWCxhQUFhO0VBQ2IsY0FBYztFQUNkLGlDQUFpQztBQUNuQzs7QUFFQSx1Q0FBdUM7O0FBRXZDO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSwrQ0FBK0M7RUFDL0MsYUFBYTtBQUNmOztBQUVBO0VBQ0UsMkJBQTJCO0VBQzNCLFVBQVU7RUFDVixXQUFXO0VBQ1gsY0FBYztFQUNkLGdCQUFnQjtBQUNsQjs7QUFFQTs7O0VBR0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsU0FBUztFQUNULGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFlBQVk7RUFDWixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLFdBQVc7RUFDWCxjQUFjO0VBQ2QsWUFBWTtBQUNkOztBQUVBO0VBQ0UsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCIiwiZmlsZSI6Im15LXZpcnRyb2xpby5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogfHwgVmlydHJvbGlvIGNvdmVyIHx8ICovXG5cbiN2aXJ0cm9saW8tb3V0ZXItZGl2IHtcbiAgLyogRGl2IGVuY2xvc2luZyB2aXJ0cm9saW8gKG91dHNpZGUgPGE+IHRhZykgKi9cbiAgaGVpZ2h0OiA2NHZoO1xuICB3aWR0aDogNDV2aDtcbiAgYm94LXNoYWRvdzogNXB4IDEwcHggdmFyKC0tbGlnaHQtZ3JleSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJnLXByaW1hcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLWFjY2VudCkgIWltcG9ydGFudDtcbn1cblxuLmJ0bi1wcmltYXJ5OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG59XG5cbiN2aXJ0cm9saW8tdGl0bGUge1xuICAvKiBUaXRsZSBvZiB0aGUgdmlydHJvbGlvICovXG4gIGhlaWdodDogMTd2aDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jdmlydHJvbGlvLXRpdGxlID4gaDEge1xuICBmb250LXNpemU6IDE4MCU7XG59XG5cbiN1c2Vycy12aXJ0cm9saW8ge1xuICAvKiBcIlVzZXIncyB2aXJ0cm9saW9cIiB0ZXh0IG9uIHZpcnRyb2xpbyBjb3ZlciAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1zaXplOiAxNDAlO1xufVxuXG4vKiB8fCBTaWRlIEJ1dHRvbnMgKi9cblxuI2J1dHRvbnMgPiAqLnJvdyA+ICoge1xuICAvKiBFYWNoIGluZGl2aWR1YWwgYnV0dG9uIHdpbGwgaGF2ZSB0aGVzZSBwcm9wZXJ0aWVzOiAqL1xuICBoZWlnaHQ6IDRlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMS4yZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaWduaW5nLXNoYWRvdyk7XG59XG5cbi8qIHwgU2hhcmluZyAmIFNlbmQgYSBtZXNzYWdlIGJ1dHRvbnMgKi9cblxuLnNoYXJpbmctbGluay1ib2R5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwLjhlbTtcbn1cblxuLnNoYXJpbmctbGluay1ib2R5ID4gKiB7XG4gIC8qIEVhY2ggaXRlbSBpbnNpZGUgYSBzaGFyaW5nLWxpbmsgbW9kYWwgYm9keSAqL1xuICBtYXJnaW46IDAuNGVtO1xufVxuXG4uc2hhcmluZy1saW5rLWJvZHkgPiBpbnB1dCB7XG4gIC8qIEZyaWVuZCBsaW5rIHRleHQgZmllbGQgKi9cbiAgd2lkdGg6IDYwJTtcbiAgaGVpZ2h0OiAyZW07XG4gIHBhZGRpbmc6IDAuMmVtO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uc2hhcmluZy1saW5rLWJvZHkgPiBsYWJlbCxcbiNzaGFyaW5nLWxpbmstYnV0dG9ucyA+IGxhYmVsLFxuI3NoYXJpbmctbGluay1idXR0b25zID4gZGl2ID4gbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jc2hhcmluZy1saW5rLWJ1dHRvbnMgPiBkaXYge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbiNzaGFyaW5nLWxpbmstZmllbGQge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuI2ZhY2Vib29rLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjU5OTg7XG59XG5cbiN0d2l0dGVyLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZGExZjI7XG59XG5cbiNlbWFpbC1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIzMTIyO1xufVxuXG4jc2hhcmluZy1idXR0b25zID4gYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuXG4jc2hhcmluZy1idXR0b25zID4gYnV0dG9uID4gaW1nIHtcbiAgaGVpZ2h0OiA4MCU7XG59XG5cbi5idXR0b24tbW9kYWwge1xuICB3aWR0aDogNC41ZW07XG4gIHBhZGRpbmc6IDAuNGVtO1xufVxuXG4jYnV0dG9uLW5ldy1saW5rIHtcbiAgaGVpZ2h0OiAyLjRlbTtcbiAgd2lkdGg6IDEwZW07XG4gIHBhZGRpbmc6IDAuMmVtO1xuICBtYXJnaW46IGF1dG87XG59XG5cbiN3YXJuaW5nLWRpdiB7XG4gIGNvbG9yOiAjZjA1NTU1O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNGVtO1xufVxuXG4jZ2VuZXJhdGUtbGluay1kZXNjIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbiJdfQ== */"] });
3656
3657
3658/***/ }),
3659
3660/***/ 78340:
3661/*!******************************************************************!*\
3662  !*** ./src/app/pages/page-not-found/page-not-found.component.ts ***!
3663  \******************************************************************/
3664/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3665
3666"use strict";
3667__webpack_require__.r(__webpack_exports__);
3668/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3669/* harmony export */   "PageNotFoundComponent": function() { return /* binding */ PageNotFoundComponent; }
3670/* harmony export */ });
3671/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 37716);
3672/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
3673/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ 39895);
3674
3675
3676
3677class PageNotFoundComponent {
3678    constructor(title) {
3679        this.title = title;
3680    }
3681    ngOnInit() {
3682        this.title.setTitle('Page Not Found | Virtrolio');
3683    }
3684}
3685PageNotFoundComponent.ɵfac = function PageNotFoundComponent_Factory(t) { return new (t || PageNotFoundComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); };
3686PageNotFoundComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ type: PageNotFoundComponent, selectors: [["app-page-not-found"]], decls: 17, vars: 0, consts: [[1, "container", "vertical-center", "montserrat"], [1, "row", "justify-content-center", "mx-3", "mt-3"], [1, "col-md-2"], [1, "col-md-8"], [1, "display-text"], [1, "row", "justify-content-center", "mx-3"], [1, "display-body-text"], ["href", "mailto:[email protected]"], ["alt", "Page Not Found graphic", "id", "pnf-graphic", "src", "../../../assets/images/PageNotFound.svg"], [1, "row", "justify-content-center", "my-3"], ["routerLink", "", 1, "btn-lg", "btn-primary", "mt-5"]], template: function PageNotFoundComponent_Template(rf, ctx) { if (rf & 1) {
3687        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
3688        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1);
3689        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](2, "div", 2);
3690        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "div", 3);
3691        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "h1", 4);
3692        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](5, "The page you are looking for doesn't exist");
3693        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3694        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3695        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](6, "div", 2);
3696        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3697        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "div", 5);
3698        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](8, "p", 6);
3699        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](9, " Should it? You can contact us at ");
3700        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](10, "a", 7);
3701        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, "[email protected]");
3702        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3703        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3704        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3705        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](12, "div", 1);
3706        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](13, "img", 8);
3707        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3708        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](14, "div", 9);
3709        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "button", 10);
3710        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, "Back to Home");
3711        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3712        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3713        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3714    } }, directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink], styles: ["#pnf-graphic[_ngcontent-%COMP%] {\n  height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n  font-size: 2.5em;
3714\n  text-align: center;\n}\n\n#subtitle-text[_ngcontent-%COMP%] {\n  font-size: large;\n  text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #graphic[_ngcontent-%COMP%] {\n    height: 5em;\n  }\n\n  #title-text[_ngcontent-%COMP%] {\n    font-size: 2em;\n  }\n\n  #subtitle-text[_ngcontent-%COMP%] {\n    font-size: 1em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhZ2Utbm90LWZvdW5kLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQSxXQUFXOztBQUNYO0VBQ0U7SUFDRSxXQUFXO0VBQ2I7O0VBRUE7SUFDRSxjQUFjO0VBQ2hCOztFQUVBO0lBQ0UsY0FBYztFQUNoQjtBQUNGIiwiZmlsZSI6InBhZ2Utbm90LWZvdW5kLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjcG5mLWdyYXBoaWMge1xuICBoZWlnaHQ6IDEwZW07XG59XG5cbiN0aXRsZS10ZXh0IHtcbiAgZm9udC1zaXplOiAyLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jc3VidGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogbGFyZ2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNncmFwaGljIHtcbiAgICBoZWlnaHQ6IDVlbTtcbiAgfVxuXG4gICN0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgfVxuXG4gICNzdWJ0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuIl19 */"] });
3715
3716
3717/***/ }),
3718
3719/***/ 3654:
3720/*!******************************************************************!*\
3721  !*** ./src/app/pages/privacy-policy/privacy-policy.component.ts ***!
3722  \******************************************************************/
3723/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3724
3725"use strict";
3726__webpack_require__.r(__webpack_exports__);
3727/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3728/* harmony export */   "PrivacyPolicyComponent": function() { return /* binding */ PrivacyPolicyComponent; }
3729/* harmony export */ });
3730/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 37716);
3731/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
3732
3733
3734class PrivacyPolicyComponent {
3735    constructor(title) {
3736        this.title = title;
3737    }
3738    ngOnInit() {
3739        this.title.setTitle('Privacy Policy | Virtrolio');
3740    }
3741}
3742PrivacyPolicyComponent.ɵfac = function PrivacyPolicyComponent_Factory(t) { return new (t || PrivacyPolicyComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); };
3743PrivacyPolicyComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ type: PrivacyPolicyComponent, selectors: [["app-privacy-policy"]], decls: 98, vars: 0, consts: [[1, "container"], [1, "text-center", "mt-3", "mb-3"], ["role", "alert", 1, "alert", "alert-primary"], ["href", "https://virtrolio.web.app", "target", "_blank"], ["href", "http://www.allaboutcookies.org", "target", "_blank"], ["href", "../terms-of-service"], ["href", "https://www.google.com/intl/en/policies/privacy", "target", "_blank"], ["href", "https://policies.google.com/technologies/partner-sites", "target", "_blank"], ["href", "https://cloud.google.com/terms/", "target", "_blank"], ["href", "https://tools.google.com/dlpage/gaoptout", "target", "_blank"], ["href", "mailto:[email protected]", "target", "_blank"]], template: function PrivacyPolicyComponent_Template(rf, ctx) { if (rf & 1) {
3744        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
3745        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "h1", 1);
3746        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2, "Privacy Policy");
3747        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3748        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "div", 2);
3749        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](4, " Last updated: June 16, 2021 ");
3750        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3751        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "h3");
3752        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, "SUMMARY");
3753        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3754        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "p");
3755        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, " We take your privacy very seriously and commit to being transparent about how we use the data we collect. This data broadly falls under \"Personal\" and \"Device\" information. First and foremost, we do not and will never sell or share any of your data with third-party advertisers. We only collect personal information essential for making online yearbook signings possible, including your name, email, profile picture, and of course, the messages you ask us to deliver. Similarly, we only collect device information needed to make the website work smoothly and securely. Sending and receiving messages works like normal yearbook signing. Once you send something, it becomes the property of the receiver. However, you are always responsible for the contents of the messages you send. This summary is for convenience only and does not supersede the full policy; please read the terms below carefully. ");
3756        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3757        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "h3");
3758        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, "OVERVIEW");
3759        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3760        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](11, "p");
3761        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](12, " This Privacy Policy describes how your personal information is collected, used, and shared when you visit ");
3762        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "a", 3);
3763        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](14, "https://virtrolio.web.app");
3764        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3765        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](15, " (the \u201CSite\u201D). ");
3766        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3767        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](16, "h3");
3768        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](17, "DEVICE INFORMATION WE COLLECT");
3769        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3770        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](18, "p");
3771        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](19, "We collect Device Information using the following technologies:");
3772        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3773        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](20, "ul");
3774        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](21, "li");
3775        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](22, " \u201CCookies\u201D are data files that are placed on your device or computer and often include an anonymous unique identifier. For more information about cookies, and how to disable cookies, visit ");
3776        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](23, "a", 4);
3777        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](24, "http://www.allaboutcookies.org");
3778        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3779        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](25, ". ");
3780        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3781        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](26, "li");
3782        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](27, " \u201CLog files\u201D track actions occurring on the Site, and collect data including your IP address, browser type, Internet service provider, referring/exit pages, and date/time stamps. ");
3783        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3784        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](28, "li");
3785        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](29, " \u201CWeb beacons,\u201D \u201Ctags,\u201D and \u201Cpixels\u201D are electronic files used to record information about how you browse the Site. ");
3786        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3787        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](30, "li");
3788        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](31, " Google Analytics also collects device information through us; see SHARING YOUR PERSONAL INFORMATION for more details. ");
3789        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3790        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3791        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](32, "h3");
3792        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](33, "PERSONAL INFORMATION WE COLLECT");
3793        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3794        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](34, "p");
3795        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](35, " \u201CPersonal Information\u201D refers to any of the information identified in this section. When you sign up or sign in with us we collect certain information from you, including your name, email address, and profile picture. ");
3796        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3797        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](36, "h5");
3798        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](37, "HOW DO WE USE YOUR PERSONAL INFORMATION?");
3799        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3800        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](38, "p");
3801        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](39, " We use your Personal Information in order to keep track of what email addresses have an account with us, what email addresses have signed others\u2019 virtrolios, and what name and profile picture to display when someone reads your message, among other applications. ");
3802        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3803        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](40, "p");
3804        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](41, " We use the Device Information that we collect to help us screen for potential risk and fraud (in particular, your IP address), and more generally to improve and optimize our Site (for example, by generating analytics about how our 
3804customers browse and interact with the Site, and to assess the effectiveness of our marketing and advertising campaigns). ");
3805        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3806        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](42, "h5");
3807        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](43, "SHARING YOUR PERSONAL INFORMATION");
3808        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3809        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](44, "p");
3810        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](45, " We share your Personal Information with third parties to help us use the information as described above. For example, we use Google Firebase to host our service and store your data, including messages which you author or receive. We also use Google Analytics to help us understand how our customers use the Site. Additionally, we make use of third-party sign-in providers such as Google in order to authenticate users who use our service. This means that we provide Google with certain parts of your data, which may be stored on servers outside your country. We only collect personal data that is essential to the core functionality of our Site. In addition, some anonymous data is used by us and relevant third-parties for analytical purposes. Your acceptance of our ");
3811        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](46, "a", 5);
3812        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](47, "Terms of Service");
3813        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3814        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](48, " and other relevant policies gives Virtrolio the right to share user and website data, in the manner described, to enable these services. ");
3815        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3816        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](49, "p");
3817        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](50, " Visit the following links for more information on how Google uses your information: ");
3818        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3819        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](51, "ul");
3820        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](52, "li");
3821        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](53, "a", 6);
3822        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](54, " https://www.google.com/intl/en/policies/privacy");
3823        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3824        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3825        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](55, "li");
3826        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](56, "a", 7);
3827        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](57, " https://policies.google.com/technologies/partner-sites");
3828        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3829        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3830        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](58, "li");
3831        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](59, "a", 8);
3832        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](60, " https://cloud.google.com/terms/");
3833        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3834        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3835        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3836        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](61, "p");
3837        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](62, " You can also opt-out of Google Analytics here: ");
3838        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](63, "a", 9);
3839        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](64, "https://tools.google.com/dlpage/gaoptout");
3840        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3841        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](65, ". ");
3842        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3843        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](66, "p");
3844        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](67, " Finally, we may also share your Personal Information to comply with applicable laws and regulations, to respond to a subpoena, search warrant or other lawful request for information we receive, or to otherwise protect our rights. ");
3845        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3846        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](68, "h3");
3847        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](69, "DO NOT TRACK");
3848        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3849        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](70, "p");
3850        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](71, " We do not alter our Site\u2019s data collection and use practices when we see a Do Not Track signal from your browser. ");
3851        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3852        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](72, "h3");
3853        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](73, "DATA OWNERSHIP & RETENTION");
3854        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3855        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](74, "p");
3856        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](75, " Our data ownership policies are designed to emulate real-life yearbook signings. By using our Service, you agree to your message text, message attributes and any attached images (collectively referred to hereafter as your \u201Cmessages\u201D or a \u201Cmessage\u201D) being governed by the following policy. ");
3857        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3858        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](76, "p");
3859        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](77, " Once you (the \u201Csender\u201D) send a message, you will no longer be able to modify your message, delete it, or save it, so please do so beforehand. By sending a message through our service to a person (the \u201Creceiver\u201D), you agree to transfer ownership of the data in your message to that person. If you, the sender, delete your Virtrolio account, your message data will remain on our servers under the ownership of the receiver unless deleted directly by us or by the receiver. Your content will not be publicly displayed or otherwise distributed by us but may be viewed by administrators and developers in order to provide and develop a better service. ");
3860        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3861        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](78, "p");
3862        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](79, " By receiving a message, you gain control over certain, but not all, aspects of that message. The receiver is the only user with the ability to delete a message (that they have received), and if a receiver chooses to delete their Virtrolio account and all their data, all messages they have received from other users will also be deleted. Modification of received messages is neither offered nor allowed by our platform. ");
3863        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3864        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](80, "p");
3865        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](81, " If you, the sender, create, upload, or otherwise disseminate content through Virtrolio that is deemed not to comply with our Terms or relevant policies and laws, the onus for the act remains on you regardless of the transfer of data ownership. The contents of a message are still associated with your account even after it has been sent to a receiver, and any investigation, inquiry, and consequences will be directed towards you, the sender. Receivers have the ability and right to flag or report a message they have received. ");
3866        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3867        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](82, "h3");
3868        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](83, "YOUR RIGHTS");
3869        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3870        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](84, "p");
3871        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](85, " If you are a European resident, you have the right to access personal information we hold about you and to ask that your personal information be corrected, updated, or deleted. Please contact us at the address below for more information. ");
3872        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3873        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](86, "h3");
3874        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](87, "CHANGES");
3875        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3876        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](88, "p");
3877        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](89, " We may update this privacy policy from time to time in order to reflect, for example, changes to our practices or for other operational, legal or regulatory reasons. ");
3878        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3879        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](90, "h3");
3880        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](91, "CONTACT US");
3881        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3882        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](92, "p");
3883        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](93, " For more information about our privacy practices, or if you have questions, comments, or complaints, please contact us by e-mail at ");
3884        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](94, "a", 10);
3885        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](95, "[email protected]");
3886        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3887        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](96, " or visit our Contact Us page for alternative options. ");
3888        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3889        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](97, "br");
3890        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3891    } }, styles: ["\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwcml2YWN5LXBvbGljeS5jb21wb25lbnQuY3NzIn0= */"] });
3892
3893
3894/***/ }),
3895
3896/***/ 79668:
3897/*!**************************************************!*\
3898  !*** ./src/app/pages/rejecc/rejecc.component.ts ***!
3899  \**************************************************/
3900/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3901
3902"use strict";
3903__webpack_require__.r(__webpack_exports__);
3904/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3905/* harmony export */   "RejeccComponent": function() { return /* binding */ RejeccComponent; }
3906/* harmony export */ });
3907/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 37716);
3908/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
3909/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ 39895);
3910
3911
3912
3913class RejeccComponent {
3914    constructor(title) {
3915        this.title = title;
3916    }
3917    ngOnInit() {
3918        this.title.setTitle('You seem familiar... | Virtrolio');
3919    }
3920}
3921RejeccComponent.ɵfac = function RejeccComponent_Factory(t) { return new (t || RejeccComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); };
3922RejeccComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ type: RejeccComponent, selectors: [["app-rejecc"]], decls: 14, vars: 0, consts: [[1, "container", "vertical-center", "montserrat"], [1, "row", "justify-content-center", "mx-3", "mt-3"], [1, "display-text"], [1, "row", "justify-content-center", "mx-3"], [1, "display-body-text"], ["alt", "Message already sent image", "id", "graphic", "src", "../../../assets/images/Rejecc.svg"], [1, "row", "justify-content-center", "my-3"], ["routerLink", "", 1, "btn-lg", "btn-primary", "mt-5"]], template: function RejeccComponent_Template(rf, ctx) { if (rf & 1) {
3923        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
3924        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1);
3925        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2);
3926        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "You seem familiar...");
3927        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3928        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3929        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3);
3930        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "p", 4);
3931        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, " You've already signed this virtrolio with this account!");
3932        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](7, "br");
3933        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "Ask your friend to delete your previous message if you want to send another one. ");
3934        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3935        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3936        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "div", 1);
3937        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](10, "img", 5);
3938        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3939        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](11, "div", 6);
3940        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](12, "button", 7);
3941        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](13, "Back to Home");
3942        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3943        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3944        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
3945    } }, directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink], styles: ["#graphic[_ngcontent-%COMP%] {\n  height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n  font-size: 2.5em;\n  text-align: center;\n}\n\n#subtitle-text[_ngcontent-%COMP%] {\n  font-size: large;\n  text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #graphic[_ngcontent-%COMP%] {\n    height: 5em;\n  }\n\n  #title-text[_ngcontent-%COMP%] {\n    font-size: 2em;\n  }\n\n  #subtitle-text[_ngcontent-%COMP%] {\n    font-size: 1em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlamVjYy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUEsV0FBVzs7QUFDWDtFQUNFO0lBQ0UsV0FBVztFQUNiOztFQUVBO0lBQ0UsY0FBYztFQUNoQjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7QUFDRiIsImZpbGUiOiJyZWplY2MuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNncmFwaGljIHtcbiAgaGVpZ2h0OiAxMGVtO1xufVxuXG4jdGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3N1YnRpdGxlLXRleHQge1xuICBmb250LXNpemU6IGxhcmdlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjZ3JhcGhpYyB7XG4gICAgaGVpZ2h0OiA1ZW07XG4gIH1cblxuICAjdGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gIH1cblxuICAjc3VidGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cbiJdfQ== */"] });
3946
3947
3948/***/ }),
3949
3950/***/ 65814:
3951/*!******************************************************!*\
3952  !*** ./src/app/pages/settings/settings.component.ts ***!
3953  \******************************************************/
3954/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3955
3956"use strict";
3957__webpack_require__.r(__webpack_exports__);
3958/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3959/* harmony export */   "SettingsComponent": function() { return /* binding */ SettingsComponent; }
3960/* harmony export */ });
3961/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ 64762);
3962/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs/operators */ 15257);
3963/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 37716);
3964/* harmony import */ var _core_auth_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/auth.service */ 87341);
3965/* harmony import */ var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../core/msg-io.service */ 84468);
3966/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
3967/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/router */ 39895);
3968
3969
3970
3971
3972
3973
3974
3975class SettingsComponent {
3976    constructor(authService, msgIoService, sanitizer, title) {
3977        this.authService = authService;
3978        this.msgIoService = msgIoService;
3979        this.sanitizer = sanitizer;
3980        this.title = title;
3981    }
3982    static decodeHtml(html) {
3983        const txt = document.createElement('textarea');
3984        txt.innerHTML = html;
3985        return txt.value;
3986    }
3987    ngOnInit() {
3988        this.title.setTitle('Settings | Virtrolio');
3989    }
3990    ngOnDestroy() {
3991        $('#download').modal('hide');
3992        $('#download-error').modal('hide');
3993        $('#delete-error').modal('hide');
3994    }
3995    /**
3996     * Converts the user's data and messages into JSONs and changes the href of their respective buttons to permit
3997     * downloading of the data.
3998     */
3999    generateDownloads() {
4000        return (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__awaiter)(this, void 0, void 0, function* () {
4001            const downloadModal = $('#download');
4002            const exportErrorModal = $('#download-error');
4003            try {
4004                // Get data
4005                // Looser types is to allow the message array to be replaced with a single error if there are no messages
4006                let messages = yield this.msgIoService
4007                    .getMessages()
4008                    .pipe((0,rxjs_operators__WEBPACK_IMPORTED_MODULE_3__.take)(1))
4009                    .toPromise();
4010                const userData = yield this.authService.getUserData();
4011                // Convert encoded text to normal text
4012                if (messages) {
4013                    messages.forEach((message) => {
4014                        message.contents = SettingsComponent.decodeHtml(message.contents);
4015                    });
4016                }
4017                else {
4018                    messages = [
4019                        {
4020                            error: 'No messages found',
4021                        },
4022                    ];
4023                }
4024                // Convert data to JSON
4025                const messagesJSON = JSON.stringify(messages, null, 2);
4026                const userJSON = JSON.stringify(userData, null, 2);
4027                // Set download buttons
4028                this.downloadMessagesData = this.sanitizer.bypassSecurityTrustUrl('data:text/json;charset=UTF-8,' + encodeURIComponent(messagesJSON));
4029                this.downloadUserData = this.sanitizer.bypassSecurityTrustUrl('data:text/json;charset=UTF-8,' + encodeURIComponent(userJSON));
4030                downloadModal.modal('show');
4031            }
4032            catch (e) {
4033                this.exportErrorText = e;
4034                exportErrorModal.modal('show');
4035                return;
4036            }
4037        });
4038    }
4039}
4040SettingsComponent.ɵfac = function SettingsComponent_Factory(t) { return new (t || SettingsComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_1__.MsgIoService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__.DomSanitizer), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__.Title)); };
4041SettingsComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineComponent"]({ type: SettingsComponent, selectors: [["app-settings"]], decls: 132, vars: 6, consts: [[1, "container", "py-5", "mb-5", "montserrat"], [1, "row", "d-flex", "justify-content-center"], [1, "col-sm-12", "col-md-8"], [1, "card", "shadow", "border", "p-3"], [1, "card-body"], [1, "mb-2"], ["type", "button", 1, "btn", "btn-info", 3, "click"], ["href", "/privacy-policy"], ["href", "mailto:[email protected]", "target", "_blank"], ["data-target", "#delete-error", "data-toggle", "modal", "type", "button", 1, "btn", "btn-danger"], ["aria-hidden", "true", "aria-labelledby", "download-label", "id", "download", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], [1, "modal-dialog", "modal-dialog-centered"], [1, "modal-content"], [1, "modal-header"], ["id", "download-label", 1, "modal-title"], ["aria-label", "Close", "data-dismiss", "modal", "type", "button", 1, "close"], ["aria-hidden", "true"], [1, "modal-body"], [1, "modal-footer"], ["download", "user.json", "title", "Download User Data", 1, "btn", "btn-info", 3, "href"], ["download", "messages.json", "title", "Download Messages", 1, "btn", "btn-info", 3, "href"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-secondary"], ["aria-hidden", "true", "aria-labelledby", "download-error-label", "id", "download-error", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["id", "download-error-label", 1, "modal-title"], ["data-dismiss", "modal", "routerLink", "/contact"], ["href", "mailto:[email protected]", "target", "_blank", "type", "button", 1, "btn", "btn-primary"], ["data-dismiss", "modal", "data-target", "#delete-error-modal", "data-toggle", "modal", "type", "button", 1, "btn", "btn-secondary"], ["aria-hidden", "true", "aria-labelledby", "delete-error-label", "id", "delete-error", "role", "dialog", "tabindex", "-2", 1, "modal", "fade"], ["id", "delete-error-label", 1, "modal-title"], ["target", "_blank", "type", "button", 1, "btn", "btn-danger", 3, "href"]], template: function SettingsComponent_Template(rf, ctx) { if (rf & 1) {
4042        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 0);
4043        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](1, "div", 1);
4044        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](2, "div", 2);
4045        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](3, "div", 3);
4046        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](4, "div", 4);
4047        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](5, "h2", 5);
4048        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](6, "Settings");
4049        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4050        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](7, "hr");
4051        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](8, "h2");
4052        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](9, "Download your Data");
4053        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4054        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](10, "p");
4055        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](11, " Clicking the button below will allow you to download all data associated with you that is stored on Virtrolio. This data includes your user data and messages that you have received. Note that this does not include messages written ");
4056        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](12, "b");
4057        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](13, "by");
4058        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4059        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](14, " you, as those messages are owned by the message recipient. ");
4060        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4061        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](15, "p");
4062        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](16, " The data will be provided in one of several file formats including .zip, .json, .csv, .txt or .xlsx. You may need additional software to open some of these file types. ");
4063        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](17, "u");
4064        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](18, "Virtrolio will not make any re
4064commendations on what software to use.");
4065        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4066        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4067        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](19, "p");
4068        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](20, "b");
4069        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](21, "Clicking the button below will generate your data. Please ensure you want to proceed before clicking the button.");
4070        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4071        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4072        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](22, "button", 6);
4073        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function SettingsComponent_Template_button_click_22_listener() { return ctx.generateDownloads(); });
4074        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](23, " Request Data ");
4075        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4076        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](24, "hr");
4077        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](25, "h2");
4078        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](26, "Delete Your Virtrolio Account");
4079        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4080        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](27, "h6");
4081        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](28, "b");
4082        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](29, "READ CAREFULLY:");
4083        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4084        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4085        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](30, "p");
4086        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](31, " The button below will request the deletion of your account on Virtrolio, the data associated with your account, and any messages that you have received. It will NOT delete messages sent by you since those messages are owned by the message recipient, as per our ");
4087        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](32, "a", 7);
4088        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](33, "Privacy Policy");
4089        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4090        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](34, ". If you would like these to be deleted, please ask the message recipient to delete it. ");
4091        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4092        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](35, "p");
4093        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](36, " If you have any questions, please email us directly at ");
4094        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](37, "a", 8);
4095        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](38, "[email protected]");
4096        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4097        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](39, ". ");
4098        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4099        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](40, "button", 9);
4100        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](41, " Delete Account ");
4101        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4102        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4103        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4104        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4105        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4106        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4107        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](42, "div", 10);
4108        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](43, "div", 11);
4109        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](44, "div", 12);
4110        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](45, "div", 13);
4111        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](46, "h5", 14);
4112        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](47, "Data Export");
4113        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4114        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](48, "button", 15);
4115        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](49, "span", 16);
4116        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](50, "\u00D7");
4117        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4118        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4119        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4120        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](51, "div", 17);
4121        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](52, "p");
4122        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](53, " Your data has been prepared. Please use the buttons below to download your data. ");
4123        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4124        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](54, "p");
4125        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](55, "b");
4126        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](56);
4127        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4128        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4129        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4130        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](57, "div", 18);
4131        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](58, "a", 19);
4132        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](59, " Download User Data");
4133        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4134        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](60, "a", 20);
4135        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](61, " Download Messages");
4136        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4137        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](62, "button", 21);
4138        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](63, " Close ");
4139        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4140        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4141        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4142        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4143        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4144        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](64, "div", 22);
4145        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](65, "div", 11);
4146        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](66, "div", 12);
4147        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](67, "div", 13);
4148        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](68, "h5", 23);
4149        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](69, "Data Export Error");
4150        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4151        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](70, "button", 15);
4152        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](71, "span", 16);
4153        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](72, "\u00D7");
4154        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4155        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4156        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4157        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](73, "div", 17);
4158        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](74, "p");
4159        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](75, "Oops! It looks like something went wrong during the data export.");
4160        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4161        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](76, "p");
4162        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](77, " Here are the details of the error that you can pass along to our team through the ");
4163        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](78, "a", 24);
4164        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](79, "Contact Us");
4165        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4166        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](80, " page if required: ");
4167        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4168        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](81, "p");
4169        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](82, "b");
4170        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](83);
4171        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4172        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4173        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](84, "p");
4174        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](85, "em");
4175        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](86, "Please close this window and try again.");
4176        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4177        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4178        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](87, "p");
4179        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](88, " Also, make sure that your internet connection is working properly, and that there aren't any firewalls on your computer that c
4179ould be blocking the download. ");
4180        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4181        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](89, "p");
4182        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](90, " If the error persists, please click the button below to send an email to the support team, or email us directly at ");
4183        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](91, "a", 8);
4184        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](92, "[email protected]");
4185        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4186        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](93, ". ");
4187        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4188        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4189        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](94, "div", 18);
4190        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](95, "a", 25);
4191        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](96, "Email Us");
4192        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4193        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](97, "button", 26);
4194        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](98, " Close ");
4195        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4196        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4197        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4198        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4199        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4200        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](99, "div", 27);
4201        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](100, "div", 11);
4202        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](101, "div", 12);
4203        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](102, "div", 13);
4204        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](103, "h5", 28);
4205        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](104, "Account Deletion");
4206        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4207        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](105, "button", 15);
4208        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](106, "span", 16);
4209        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](107, "\u00D7");
4210        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4211        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4212        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4213        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](108, "div", 17);
4214        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](109, "p");
4215        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](110, "u");
4216        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](111, "All requests for account deletion ");
4217        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](112, "em");
4218        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](113, "must");
4219        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4220        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](114, " be sent via email.");
4221        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4222        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4223        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](115, "p");
4224        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](116, " If you want to download your data before deleting your account, please use the Request Data function that is also on this page. You will need to close this modal to see it. ");
4225        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4226        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](117, "p");
4227        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](118, "b");
4228        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](119, "By clicking the 'Request Account Deletion' button below, I understand that my data will be removed PERMANENTLY. I also understand that I will NOT be able to re
4228cover, download or otherwise access my data after it is deleted.");
4229        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4230        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4231        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](120, "p");
4232        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](121, " If you are sure that you want to proceed, click the 'Request Account Deletion' button below to send us an email. ");
4233        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4234        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](122, "p");
4235        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](123, " If you have any questions, please email us directly at ");
4236        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](124, "a", 8);
4237        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](125, "[email protected]");
4238        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4239        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](126, ". ");
4240        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4241        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4242        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](127, "div", 18);
4243        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](128, "a", 29);
4244        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](129, "Request Account Deletion");
4245        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4246        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](130, "button", 21);
4247        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](131, " Close ");
4248        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4249        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4250        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4251        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4252        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4253    } if (rf & 2) {
4254        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](56);
4255        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtextInterpolate"](ctx.exportErrorText);
4256        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2);
4257        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("href", ctx.downloadUserData, _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]);
4258        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2);
4259        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("href", ctx.downloadMessagesData, _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]);
4260        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](23);
4261        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtextInterpolate"](ctx.exportErrorText);
4262        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](45);
4263        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpropertyInterpolate2"]("href", "mailto:[email protected]?subject=Account Deletion%20-%20", ctx.authService.uid(), "\n        &body=UID:%20", ctx.authService.uid(), "%0AReason for request:", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]);
4264    } }, directives: [_angular_router__WEBPACK_IMPORTED_MODULE_6__.RouterLinkWithHref], styles: [".container[_ngcontent-%COMP%] {\n  line-height: 1.6;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldHRpbmdzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxnQkFBZ0I7QUFDbEIiLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb250YWluZXIge1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuIl19 */"] });
4265
4266
4267/***/ }),
4268
4269/***/ 83964:
4270/*!********************************************************************************!*\
4271  !*** ./src/app/pages/signing-auth-redirect/signing-auth-redirect.component.ts ***!
4272  \********************************************************************************/
4273/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4274
4275"use strict";
4276__webpack_require__.r(__webpack_exports__);
4277/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4278/* harmony export */   "SigningAuthRedirectComponent": function() { return /* binding */ SigningAuthRedirectComponent; }
4279/* harmony export */ });
4280/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 37716);
4281/* harmony import */ var src_app_core_auth_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! src/app/core/auth.service */ 87341);
4282/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ 39895);
4283/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
4284
4285
4286
4287
4288class SigningAuthRedirectComponent {
4289    constructor(authService, route, title) {
4290        this.authService = authService;
4291        this.route = route;
4292        this.title = title;
4293    }
4294    goToSigning() {
4295        // noinspection JSIgnoredPromiseFromCall
4296        this.authService.login('/signing', { uid: this.uid, key: this.key });
4297    }
4298    ngOnInit() {
4299        this.title.setTitle('Please Sign In. | Virtrolio');
4300        this.route.queryParams.subscribe((params) => {
4301            this.uid = params.uid;
4302            this.key = params.key;
4303        });
4304    }
4305}
4306SigningAuthRedirectComponent.ɵfac = function SigningAuthRedirectComponent_Factory(t) { return new (t || SigningAuthRedirectComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](src_app_core_auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_2__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__.Title)); };
4307SigningAuthRedirectComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ type: SigningAuthRedirectComponent, selectors: [["app-friend-link"]], decls: 25, vars: 0, consts: [[1, "container", "vertical-center", "montserrat"], ["id", "title", 1, "row", "py-3", "mx-3", "justify-content-center"], [1, "display-text"], [1, "row", "mx-2", "mt-3", "mb-3", "justify-content-center"], ["alt", "Mail sent image", "id", "pen-graphic", "src", "../../../assets/images/FriendLink-Light.svg"], ["id", "buttons", 1, "row", "justify-content-center", "mb-3"], ["type", "button", 1, "btn", "btn-outline-dark", "google-sign-in-btn", "col-sm-4", "col-md-3", 3, "click"], ["alt", "Google Logo", "height", "23", "src", "../../../assets/images/icons/google.svg", "width", "23"], ["routerLink", "/", "type", "button", 1, "col-sm-4", "col-md-3", "btn", "btn-primary"], ["id", "redirect-disclaimer-text", 1, "text-center"], [1, "display-body-text"], ["href", "/terms-of-service"]], template: function SigningAuthRedirectComponent_Template(rf, ctx) { if (rf & 1) {
4308        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 0);
4309        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div", 1);
4310        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "h1", 2);
4311        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3, " We see you\u2019re trying to sign your friend\u2019s virtrolio.");
4312        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](4, "br");
4313        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](5, "We need you to sign ");
4314        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](6, "em");
4315        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](7, "in");
4316        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4317        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](8, " first. ");
4318        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4319        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4320        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](9, "div", 3);
4321        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](10, "img", 4);
4322        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4323        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](11, "div", 5);
4324        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](12, "button", 6);
4325        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("click", function SigningAuthRedirectComponent_Template_button_click_12_listener() { return ctx.goToSigning(); });
4326        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](13, "img", 7);
4327        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](14, "span");
4328        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](15, "Sign in with Google");
4329        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4330        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4331        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](16, "button", 8);
4332        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](17, " Home Page ");
4333        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4334        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4335        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](18, "div", 9);
4336        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](19, "p", 10);
4337        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](20, " By signing up for/signing into our service, you are agreeing to our ");
4338        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](21, "a", 11);
4339        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](22, "Terms of Service.");
4340        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4341        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4342        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](23, "p", 10);
4343        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](24, " At this time, we do not support signing in using providers other than Google. ");
4344        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4345        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4346        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4347    } }, directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink], styles: ["#pen-graphic[_ngcontent-%COMP%] {\n  height: 15em;\n}\n\n#buttons[_ngcontent-%COMP%]    > button[_ngcontent-%COMP%] {\n  \n  margin: 2em 1em 0;\n  font-size: 1.1em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n  \n  text-align: center;\n  font-size: 2em;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n  #pen-graphic[_ngcontent-%COMP%] {\n    height: 10em;\n  }\n\n  #title-text[_ngcontent-%COMP%] {\n    font-size: 1.5em;\n  }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpZ25pbmctYXV0aC1yZWRpcmVjdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLGlCQUFpQjtFQUNqQixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSw0REFBNEQ7RUFDNUQsa0JBQWtCO0VBQ2xCLGNBQWM7QUFDaEI7O0FBRUEsV0FBVzs7QUFDWDtFQUNFO0lBQ0UsWUFBWTtFQUNkOztFQUVBO0lBQ0UsZ0JBQWdCO0VBQ2xCO0FBQ0YiLCJmaWxlIjoic2lnbmluZy1hdXRoLXJlZGlyZWN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjcGVuLWdyYXBoaWMge1xuICBoZWlnaHQ6IDE1ZW07XG59XG5cbiNidXR0b25zID4gYnV0dG9uIHtcbiAgLyogRm9yIGVhY2ggYnV0dG9uICovXG4gIG1hcmdpbjogMmVtIDFlbSAwO1xuICBmb250LXNpemU6IDEuMWVtO1xufVxuXG4jdGl0bGUtdGV4dCB7XG4gIC8qIFdlIHNlZSB5b3XigJlyZSB0cnlpbmcgdG8gc2lnbiB5b3VyIGZyaWVuZOKAmXMgdmlydHJvbGlvLi4uICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyZW07XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjcGVuLWdyYXBoaWMge1xuICAgIGhlaWdodDogMTBlbTtcbiAgfVxuXG4gICN0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICB9XG59XG4iXX0= */"] });
4348
4349
4350/***/ }),
4351
4352/***/ 27286:
4353/*!********************************************************************!*\
4354  !*** ./src/app/pages/signing/error-alert/error-alert.component.ts ***!
4355  \********************************************************************/
4356/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4357
4358"use strict";
4359__webpack_require__.r(__webpack_exports__);
4360/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4361/* harmony export */   "ErrorAlertComponent": function() { return /* binding */ ErrorAlertComponent; }
4362/* harmony export */ });
4363/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 37716);
4364/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common */ 38583);
4365/* harmony import */ var ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ngx-bootstrap/alert */ 33947);
4366
4367
4368
4369function ErrorAlertComponent_div_0_Template(rf, ctx) { if (rf & 1) {
4370    const _r3 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵgetCurrentView"]();
4371    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 1);
4372    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "alert", 2);
4373    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("onClosed", function ErrorAlertComponent_div_0_Template_alert_onClosed_1_listener() { const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵrestoreView"](_r3); const alert_r1 = restoredCtx.$implicit; const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](); return ctx_r2.onClosed(alert_r1); });
4374    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "strong");
4375    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3);
4376    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4377    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](4);
4378    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4379    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
4380} if (rf & 2) {
4381    const alert_r1 = ctx.$implicit;
4382    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]();
4383    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
4384    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("type", alert_r1.type)("dismissOnTimeout", alert_r1.timeout)("dismissible", ctx_r0.dismissible);
4385    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
4386    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](alert_r1.head);
4387    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
4388    _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"](" ", alert_r1.msg, "");
4389} }
4390class ErrorAlertComponent {
4391    constructor() {
4392        this.dismissible = true;
4393        this.alerts = [];
4394    }
4395    addImageCountLimit() {
4396        this.alerts.push({
4397            type: 'danger',
4398            head: 'Hold On!',
4399            msg: 'You can only add up to 3 images',
4400            timeout: 10000,
4401        });
4402    }
4403    addImageSizeLimit(fileName) {
4404        this.alerts.push({
4405            type: 'danger',
4406            head: 'Woah there,',
4407            msg: `${fileName} is larger than 8 MB in size`,
4408            timeout: 10000,
4409        });
4410    }
4411    addUnsupportedFileType(fileName) {
4412        this.alerts.push({
4413            type: 'danger',
4414            head: 'Wait, ',
4415            msg: `${fileName} is not a supported file type. Please only select .png, .jpg, .jpeg, .tif, .tiff, .bmp, .gif, .jfif, .pjp files`,
4416            timeout: 10000,
4417        });
4418    }
4419    onClosed(dismissedAlert) {
4420        this.alerts = this.alerts.filter((alert) => alert !== dismissedAlert);
4421    }
4422}
4423ErrorAlertComponent.ɵfac = function ErrorAlertComponent_Factory(t) { return new (t || ErrorAlertComponent)(); };
4424ErrorAlertComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ type: ErrorAlertComponent, selectors: [["app-error-alert"]], decls: 1, vars: 1, consts: [["class", "m-2", 4, "ngFor", "ngForOf"], [1, "m-2"], [3, "type", "dismissOnTimeout", "dismissible", "onClosed"]], template: function ErrorAlertComponent_Template(rf, ctx) { if (rf & 1) {
4425        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](0, ErrorAlertComponent_div_0_Template, 5, 5, "div", 0);
4426    } if (rf & 2) {
4427        _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", ctx.alerts);
4428    } }, directives: [_angular_common__WEBPACK_IMPORTED_MODULE_2__.NgForOf, ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_0__.AlertComponent], styles: ["\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJlcnJvci1hbGVydC5jb21wb25lbnQuY3NzIn0= */"] });
4429
4430
4431/***/ }),
4432
4433/***/ 16843:
4434/*!********************************************************************!*\
4435  !*** ./src/app/pages/signing/image-modal/image-modal.component.ts ***!
4436  \********************************************************************/
4437/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4438
4439"use strict";
4440__webpack_require__.r(__webpack_exports__);
4441/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4442/* harmony export */   "ImageModalComponent": function() { return /* binding */ ImageModalComponent; }
4443/* harmony export */ });
4444/* harmony import */ var _error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../error-alert/error-alert.component */ 27286);
4445/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 37716);
4446/* harmony import */ var _core_signing_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../core/signing.service */ 89214);
4447/* harmony import */ var ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ngx-bootstrap/modal */ 63301);
4448/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/common */ 38583);
4449/* harmony import */ var ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ngx-bootstrap/tooltip */ 25575);
4450
4451
4452
4453
4454
4455
4456
4457const _c0 = ["imageModal"];
4458const _c1 = ["imgUploadInput"];
4459function ImageModalComponent_h5_15_Template(rf, ctx) { if (rf & 1) {
4460    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "h5");
4461    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](1, " No images selected ");
4462    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4463} }
4464function ImageModalComponent_img_16_Template(rf, ctx) { if (rf & 1) {
4465    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](0, "img", 24);
4466} }
4467function ImageModalComponent_img_17_Template(rf, ctx) { if (rf & 1) {
4468    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](0, "img", 25);
4469} if (rf & 2) {
4470    const url_r5 = ctx.$implicit;
4471    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("src", url_r5, _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]);
4472} }
4473const _c2 = function () { return { ignoreBackdropClick: true, backdrop: "static" }; };
4474class ImageModalComponent {
4475    constructor(signingService) {
4476        this.signingService = signingService;
4477    }
4478    ngOnInit() { }
4479    showImageModal() {
4480        this.imageModal.show();
4481    }
4482    hideImageModal() {
4483        this.imageModal.hide();
4484    }
4485    onClearImages() {
4486        this.signingService.images = [];
4487        this.signingService.imageURLs = [];
4488        this.imgUploadInput.nativeElement.value = '';
4489    }
4490    onSelectFiles(e) {
4491        const eventTarget = e.target;
4492        const files = Array.from(eventTarget.files);
4493        if (files.length + this.signingService.imageURLs.length > 3) {
4494            this.ErrorAlertComponent.addImageCountLimit();
4495            return;
4496        }
4497        if (files) {
4498            for (const item of files) {
4499                // Error handling for files over 8MiB
4500                if (item.size > ImageModalComponent.MAX_FILE_SIZE) {
4501                    this.ErrorAlertComponent.addImageSizeLimit(item.name);
4502                    return;
4503                }
4504                // Error handling for unsupported file types
4505                if (ImageModalComponent.ACCEPTED_FILE_TYPES.indexOf(item.type) === -1) {
4506                    this.ErrorAlertComponent.addUnsupportedFileType(item.name);
4507                    return;
4508                }
4509                const reader = new FileReader();
4510                reader.readAsDataURL(item);
4511                reader.onload = (event) => {
4512                    const stringURL = event.target.result.toString();
4513                    this.signingService.imageURLs.push(stringURL);
4514                };
4515                this.signingService.images.push(item);
4516            }
4517        }
4518    }
4519}
4520ImageModalComponent.MAX_FILE_SIZE = 8 * 1024 * 1024; // 8 MiB in bytes
4521ImageModalComponent.ACCEPTED_FILE_TYPES = [
4522    'image/png',
4523    'image/jpg',
4524    'image/jpeg',
4525    'image/tif',
4526    'image/tiff',
4527    'image/bmp',
4528    'image/gif',
4529    'image/jfif',
4530    'image/pjp',
4531];
4532ImageModalComponent.ɵfac = function ImageModalComponent_Factory(t) { return new (t || ImageModalComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_signing_service__WEBPACK_IMPORTED_MODULE_1__.SigningService)); };
4533ImageModalComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineComponent"]({ type: ImageModalComponent, selectors: [["app-image-modal"]], viewQuery: function ImageModalComponent_Query(rf, ctx) { if (rf & 1) {
4534        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵviewQuery"](_error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_0__.ErrorAlertComponent, 5);
4535        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵviewQuery"](_c0, 5);
4536        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵviewQuery"](_c1, 5);
4537    } if (rf & 2) {
4538        let _t;
4539        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵloadQuery"]()) && (ctx.ErrorAlertComponent = _t.first);
4540        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵloadQuery"]()) && (ctx.imageModal = _t.first);
4541        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵloadQuery"]()) && (ctx.imgUploadInput = _t.first);
4542    } }, decls: 32, vars: 7, consts: [["bsModal", "", "tabindex", "-1", "role", "dialog", "aria-labelledby", "dialog-child-name", 1, "modal", "fade", 3, "config"], ["imageModal", "bs-modal"], ["role", "dialog", 1, "modal-dialog", "modal-dialog-centered", "modal-lg"], [1, "modal-content"], [1, "modal-header"], [1, "embed-photo-title"], ["type", "button", "data-dismiss", "modal", "aria-label", "Close", 1, "close", 3, "click"], ["aria-hidden", "true"], ["id", "embed-photo-div", 1, "modal-body", "align-items-center", "p-3"], [1, "row"], [1, "col-md-12", "my-6", "px-lg-5", "px-3", "text-center"], [1, "col-md-12", "text-center"], [4, "ngIf"], ["src", "../../../../assets/images/girl-photos-folder.svg", "alt", "girl with photos folder graphic", "id", "no-images-graphic", 4, "ngIf"], ["class", "col-4 uploaded-image", "alt", "selected image", 3, "src", 4, "ngFor", "ngForOf"], [1, "col-md-12", "my-6", "px-lg-5", "px-3", "text-center", "image-buttons"], ["placement", "bottom", "triggers", "pointerenter:pointerout hover focus", 1, "btn", "btn-primary", "mx-2", 3, "disabled", "tooltip", "click"], ["type", "file", "accept", "image/bmp, image/gif, image/jfif, image/pjp, image/png, image/jpg, image/jpeg, image/tif, image/tiff", "id", "img-upload-input", "multiple", "", 1, "file-upload", "d-none", 3, "change"], ["imgUploadInput", ""], ["type", "button", 1, "btn", "btn-secondary", "mx-2", 3, "click"], [1, "modal-footer"], [1, "row", "w-100"], [1, "col-12", "p-0"], ["type", "button", 1, "btn", "btn-primary", "h-100", "float-right", 3, "click"], ["src", "../../../../assets/images/girl-photos-folder.svg", "alt", "girl with photos folder graphic", "id", "no-images-graphic"], ["alt", "selected image", 1, "col-4", "uploaded-image", 3, "src"]], template: function ImageModalComponent_Template(rf, ctx) { if (rf & 1) {
4543        const _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵgetCurrentView"]();
4544        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 0, 1);
4545        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](2, "div", 2);
4546        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](3, "div", 3);
4547        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](4, "div", 4);
4548        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](5, "h5", 5);
4549        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](6, "Attach up to three images!");
4550        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4551        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](7, "button", 6);
4552        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function ImageModalComponent_Template_button_click_7_listener() { return ctx.hideImageModal(); });
4553        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](8, "span", 7);
4554        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](9, "\u00D7");
4555        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4556        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4557        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4558        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](10, "app-error-alert");
4559        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](11, "div", 8);
4560        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](12, "div", 9);
4561        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](13, "div", 10);
4562        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](14, "div", 11);
4563        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](15, ImageModalComponent_h5_15_Template, 2, 0, "h5", 12);
4564        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](16, ImageModalComponent_img_16_Template, 1, 0, "img", 13);
4565        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](17, ImageModalComponent_img_17_Template, 1, 1, "img", 14);
4566        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4567        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4568        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4569        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](18, "div", 9);
4570        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](19, "div", 15);
4571        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](20, "span");
4572        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](21, "button", 16);
4573        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function ImageModalComponent_Template_button_click_21_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵrestoreView"](_r6); const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵreference"](24); return _r4.click(); });
4574        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](22, " Add Images ");
4575        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4576        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4577        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](23, "input", 
457717, 18);
4578        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("change", function ImageModalComponent_Template_input_change_23_listener($event) { return ctx.onSelectFiles($event); });
4579        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4580        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](25, "button", 19);
4581        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function ImageModalComponent_Template_button_click_25_listener() { return ctx.onClearImages(); });
4582        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](26, " Clear Images ");
4583        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4584        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4585        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4586        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4587        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](27, "div", 20);
4588        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](28, "div", 21);
4589        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](29, "div", 22);
4590        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](30, "button", 23);
4591        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function ImageModalComponent_Template_button_click_30_listener() { return ctx.hideImageModal(); });
4592        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](31, " Save ");
4593        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4594        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4595        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4596        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4597        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4598        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4599        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
4600    } if (rf & 2) {
4601        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("config", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpureFunction0"](6, _c2));
4602        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](15);
4603        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", !ctx.signingService.imageURLs.length);
4604        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1);
4605        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", !ctx.signingService.imageURLs.length);
4606        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1);
4607        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngForOf", ctx.signingService.imageURLs);
4608        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](4);
4609        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("disabled", ctx.signingService.imageURLs.length > 2)("tooltip", ctx.signingService.imageURLs.length > 2 ? "You cannot add more than 3 images." : "");
4610    } }, directives: [ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_2__.ModalDirective, _error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_0__.ErrorAlertComponent, _angular_common__WEBPACK_IMPORTED_MODULE_5__.NgIf, _angular_common__WEBPACK_IMPORTED_MODULE_5__.NgForOf, ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_3__.TooltipDirective], styles: ["#img-upload-input[_ngcontent-%COMP%] {\n  height: 100%;\n  width: 100%;\n}\n\n.image-buttons[_ngcontent-%COMP%] {\n  margin: 1em 0;\n  position: absolute;\n  bottom: 0;\n}\n\n#no-images-graphic[_ngcontent-%COMP%] {\n  max-width: 100%;\n}\n\n#embed-photo-div[_ngcontent-%COMP%] {\n  height: 20em;\n}\n\n#no-images-graphic[_ngcontent-%COMP%], .uploaded-image[_ngcontent-%COMP%] {\n  max-height: 13em;\n  -o-object-fit: contain;\n     object-fit: contain;\n}\n\n.btn-primary.disabled[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:disabled {\n  background-color: var(--accent) !important;\n  border-color: var(--accent) !important;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImltYWdlLW1vZGFsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0VBQ1osV0FBVztBQUNiOztBQUVBO0VBQ0UsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixTQUFTO0FBQ1g7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBOztFQUVFLGdCQUFnQjtFQUNoQixzQkFBbUI7S0FBbkIsbUJBQW1CO0FBQ3JCOztBQUVBOztFQUVFLDBDQUEwQztFQUMxQyxzQ0FBc0M7QUFDeEMiLCJmaWxlIjoiaW1hZ2UtbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNpbWctdXBsb2FkLWlucHV0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmltYWdlLWJ1dHRvbnMge1xuICBtYXJnaW46IDFlbSAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbn1cblxuI25vLWltYWdlcy1ncmFwaGljIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4jZW1iZWQtcGhvdG8tZGl2IHtcbiAgaGVpZ2h0OiAyMGVtO1xufVxuXG4jbm8taW1hZ2VzLWdyYXBoaWMsXG4udXBsb2FkZWQtaW1hZ2Uge1xuICBtYXgtaGVpZ2h0OiAxM2VtO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uYnRuLXByaW1hcnkuZGlzYWJsZWQsXG4uYnRuLXByaW1hcnk6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KSAhaW1wb3J0YW50O1xufVxuIl19 */"] });
4611
4612
4613/***/ }),
4614
4615/***/ 63168:
4616/*!****************************************************!*\
4617  !*** ./src/app/pages/signing/signing.component.ts ***!
4618  \****************************************************/
4619/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4620
4621"use strict";
4622__webpack_require__.r(__webpack_exports__);
4623/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4624/* harmony export */   "SigningComponent": function() { return /* binding */ SigningComponent; }
4625/* harmony export */ });
4626/* harmony import */ var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../core/common.service */ 80150);
4627/* harmony import */ var _image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./image-modal/image-modal.component */ 16843);
4628/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/core */ 37716);
4629/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/router */ 39895);
4630/* harmony import */ var src_app_core_auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! src/app/core/auth.service */ 87341);
4631/* harmony import */ var _core_signing_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../core/signing.service */ 89214);
4632/* harmony import */ var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../core/msg-io.service */ 84468);
4633/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
4634/* harmony import */ var ngx_device_detector__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ngx-device-detector */ 1135);
4635/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/common */ 38583);
4636/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/forms */ 3679);
4637/* harmony import */ var ngx_markdown__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ngx-markdown */ 76715);
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651function SigningComponent_div_1_Template(rf, ctx) { if (rf & 1) {
4652    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 63);
4653    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](1, "div", 64);
4654    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4655} }
4656function SigningComponent_div_2_Template(rf, ctx) { if (rf & 1) {
4657    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 3);
4658    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](1, "div", 65);
4659    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](2, " The Virtrolio signing experience is better on a desktop or laptop computer! ");
4660    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](3, "strong");
4661    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](4, "u");
4662    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](5, "a", 66);
4663    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](6, "Why?");
4664    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4665    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4666    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4667    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4668    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4669} }
4670const _c0 = function (a0) { return { color: a0 }; };
4671function SigningComponent_span_12_Template(rf, ctx) { if (rf & 1) {
4672    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "span", 67);
4673    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](1);
4674    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4675} if (rf & 2) {
4676    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"]();
4677    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](3, _c0, ctx_r3.signingService.charCountColor));
4678    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
4679    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate2"](" ", ctx_r3.signingService.charCount, " / ", ctx_r3.signingService.maxCharCount, " ");
4680} }
4681const _c1 = function (a0) { return { "font-family": a0 }; };
4682function SigningComponent_span_21_Template(rf, ctx) { if (rf & 1) {
4683    const _r9 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵgetCurrentView"]();
4684    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "span");
4685    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](1, "a", 68);
4686    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_span_21_Template_a_click_1_listener() { const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r9); const font_r7 = restoredCtx.$implicit; const ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); return ctx_r8.signingService.selectFont(font_r7.key); });
4687    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](2);
4688    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4689    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4690} if (rf & 2) {
4691    const font_r7 = ctx.$implicit;
4692    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
4693    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](2, _c1, font_r7.key));
4694    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
4695    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate"](font_r7.key);
4696} }
4697function SigningComponent_span_55_Template(rf, ctx) { if (rf & 1) {
4698    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "span", 69);
4699    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](1);
4700    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4701} if (rf & 2) {
4702    const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"]();
4703    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
4704    _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate"](ctx_r5.checkImageList(true));
4705} }
4706const _c2 = function (a0) { return { "background-color": a0 }; };
4707const _c3 = function (a0, a1, a2) { return { "background-color": a0, color: a1, "font-family": a2 }; };
4708/**
4709 * Controls user interaction with the signing box, updating the preview display and sending the message when they
4710 * click on the 'Send' button.
4711 */
4712class SigningComponent {
4713    constructor(route, authService, signingService, msgIo, router, title, deviceDetector) {
4714        this.route = route;
4715        this.authService = authService;
4716        this.signingService = signingService;
4717        this.msgIo = msgIo;
4718        this.router = router;
4719        this.title = title;
4720        this.deviceDetector = deviceDetector;
4721        this.name = 'your friend';
4722        this.isSending = false;
4723        this.embedLink = '';
4724        this.imageWidth = 50;
4725        this.copyButtonText = 'Copy';
4726    }
4727    /**
4728     * Extract query parameters, maximum message length, fonts, and recipient username from appropriate services
4729     */
4730    ngOnInit() {
4731        this.authService
4732            .redirectLoginUserCreation()
4733            .catch((error) => _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error));
4734        this.route.queryParams.subscribe((params) => {
4735            this.uid = params.uid;
4736            this.key = params.key;
4737        });
4738        this.authService
4739            .displayName(this.uid)
4740            .then((userName) => {
4741            this.name = userName;
4742            this.title.setTitle('Signing ' + userName + "'s Virtrolio | Virtrolio");
4743        })
4744            .catch((error) => alert(error));
4745        this.signingService.resetDefaultValues();
4746        $('[data-toggle="popover"]').popover();
4747        $('.popover-dismiss').popover({
4748            trigger: 'focus',
4749        });
4750    }
4751    ngOnDestroy() {
4752        $('#submit-confirm').modal('hide');
4753        $('#info').modal('hide');
4754        $('#embed-help').modal('hide');
4755        $('#embed-photo').modal('hide');
4756        $('#signing-experience').modal('hide');
4757    }
4758    /**
4759     * Returns whether or not the user can navigate (safely) away
4760     * Returning true will navigate instantly
4761     * Returning false will prompt the user to confirm the navigation
4762     */
4763    canDeactivate() {
4764        return !this.signingService.signingBoxText || !this.isSending;
4765    }
4766    /**
4767     * Resets image width slider value to 100 or 0 if the user tries to input a number that's too large
4768     */
4769    checkSliderValue() {
4770        if (this.imageWidth > 100) {
4771            this.imageWidth = 100;
4772        }
4773        else if (this.imageWidth < 0) {
4774            this.imageWidth = 0;
4775        }
4776    }
4777    /**
4778     * Checks if the user has uploaded any images to the image modal
4779     */
4780    checkImageList(numerical) {
4781        const urlList = this.signingService.imageURLs;
4782        if (urlList === undefined) {
4783            // Check if image modal component has not been rendered yet
4784            return numerical ? 0 : false;
4785        }
4786        else if (urlList.length === 0) {
4787            return numerical ? 0 : false;
4788        }
4789        else if (urlList.length > 0) {
4790            return numerical ? urlList.length : true;
4791        }
4792        else {
4793            _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('There was an error while checking your uploaded images');
4794        }
4795    }
4796    /**
4797     * Creates a new blank message and fills in all the info before sending it
4798     * @param textbox - the textbox where the contents of the message are retrieved from (not the preview box)
4799     */
4800    sendMsg(textbox) {
4801        const newMsg = this.msgIo.createBlankMessage();
4802        newMsg.backColor = this.signingService.backgroundColor;
4803        newMsg.fontColor = this.signingService.textColor;
4804        newMsg.fontFamily = this.signingService.currentFont;
4805        newMsg.contents = textbox.value;
4806        newMsg.to = this.uid;
4807        // remove navigation popup
4808        this.isSending = true;
4809        this.msgIo
4810            .sendMessage(newMsg, this.key)
4811            .then(() => {
4812            this.isSending = false;
4813            this.router
4814                .navigate(['/msg-sent'], { queryParams: { name: this.name } })
4815                .catch((e) => _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e));
4816        })
4817            .catch((error) => {
4818            this.isSending = false;
4819            _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error);
4820        });
4821    }
4822    /**
4823     * Selects an inputElement's field and copies its contents to the clipboard, updating the button to confirm the copy
4824     * @param inputElement - the element to read from
4825     */
4826    copyLink(inputElement) {
4827        inputElement.select();
4828        inputElement.setSelectionRange(0, 10000);
4829        document.execCommand('copy');
4830        this.copyButtonText = 'Copied!';
4831    }
4832}
4833SigningComponent.ɵfac = function SigningComponent_Factory(t) { return new (t || SigningComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_6__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](src_app_core_auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_core_signing_service__WEBPACK_IMPORTED_MODULE_3__.SigningService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_4__.MsgIoService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_6__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_7__.Title), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](ngx_device_detector__WEBPACK_IMPORTED_MODULE_8__.DeviceDetectorService)); };
4834SigningComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdefineComponent"]({ type: SigningComponent, selectors: [["app-signing"]], viewQuery: function SigningComponent_Query(rf, ctx) { if (rf & 1) {
4835        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵviewQuery"](_image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_1__.ImageModalComponent, 5);
4836    } if (rf & 2) {
4837        let _t;
4838        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵloadQuery"]()) && (ctx.imageModalComponent = _t.first);
4839    } }, hostBindings: function SigningComponent_HostBindings(rf, ctx) { if (rf & 1) {
4840        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("beforeunload", function SigningComponent_beforeunload_HostBindingHandler() { return ctx.canDeactivate(); }, false, _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵresolveWindow"]);
4841    } }
4841, decls: 144, vars: 35, consts: [[1, "container", "py-4", "center-children", "vertical-center"], ["class", "d-flex justify-content-center", "id", "spinner-overlay-container", 4, "ngIf"], ["class", "row", 4, "ngIf"], [1, "row"], [1, "col-md-6", "order-md-1", "center-children"], [1, "row", "title-div", "vertical-center"], ["for", "signing-box"], ["autofocus", "", "id", "signing-box", "placeholder", "You must type something before you can hit send!", 1, "form-control", 3, "ngModel", "ngStyle", "keyup", "ngModelChange"], ["signingInputArea", ""], ["id", "char-count-display", 3, "ngStyle", 4, "ngIf"], [1, "col-md-12", "order-md-3"], ["id", "options", 1, "row", "justify-content-center"], [1, "dropdown"], ["aria-expanded", "false", "aria-haspopup", "true", "data-toggle", "dropdown", "id", "font-selector-dropdown", "type", "button", 1, "btn", "btn-secondary", "dropdown-toggle", 3, "ngStyle"], [1, "caret"], ["aria-labelledby", "font-selector-dropdown", 1, "dropdown-menu"], [4, "ngFor", "ngForOf"], ["id", "button-bold", "type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", 3, "click"], ["id", "button-italics", "type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", 3, "click"], ["id", "button-underline", "type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", 3, "click"], ["id", "button-strikethrough", "type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", 3, "click"], ["type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", "icon-wrapper"], ["id", "font-color-text"], ["for", "color-picker-font", "hidden", ""], ["id", "color-picker-font", "name", "fontColorPicker", "type", "color", 1, "mr-2", 3, "ngModel", "value", "ngModelChange"], [1, "dynamic-color-bar", 3, "ngStyle"], ["alt", "fill color selector", "id", "fill-color-icon", "src", "../../../assets/images/icons/SigningIcon_fill-color.svg"], ["for", "color-picker-background", "hidden", ""], ["id", "color-picker-background", "name", "background-color-picker", "type", "color", 1, "mr-2", 3, "ngModel", "value", "ngModelChange"], ["tabindex", "0", "role", "button", "data-toggle", "popover", "data-trigger", "focus", "title", "Emojis", "data-html", "true", "data-content", "If you're on a\n           desktop or laptop, click inside your message and press Windows + Period on Windows or Command + Control +\n           Space on a Mac to open your computer's Emoji Keyboard!<br><br>If you're on a phone you should already have an\n           emoji keyboard built into your keyboard! <br><br> Note: not all emojis may be supported; check\n           <a href='https://github.com/ikatyang/emoji-cheat-sheet/blob/master/README.md' target='_blank'>this list of\n           supported emojis</a> to make sure! \u2764", 1, "btn", "btn-secondary", "btn-format", "mr-2", "icon-wrapper", "vertical-center"], ["id", "image-button-wrapper", 1, "position-relative"], ["type", "button", "id", "btn-photo", 1, "btn", "btn-format", "icon-wrapper", 3, "ngClass", "click"], ["alt", "image icon", "id", "image-icon", "src", "../../../assets/images/icons/SigningIcon_image.svg"], ["class", "d-flex align-items-center justify-content-center", "id", "image-notification-circle", 4, "ngIf"], ["type", "button", "id", "btn-info", "data-toggle", "modal", "data-target", "#info", 1, "btn", "btn-primary"], [1, "row", "mt-3", "justify-content-center"], ["data-target", "#submit-confirm", "data-toggle", "modal", "id", "send-button", "type", "button", 1, "btn", "btn-primary", "btn-send", 3, "disabled"], [1, "col-md-6", "order-md-2", "center-children"], [1, "row", "title-div", "mt-3", "mt-md-0", "vertical-center"], ["for", "preview-text"], ["emoji", "", "id", "preview-text", 3, "ngStyle", "data"], ["previewBoxArea", ""], ["aria-hidden", "true", "aria-labelledby", "submit-confirm-title", "id", "submit-confirm", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["role", "document", 1, "modal-dialog", "modal-dialog-centered"], [1, "modal-content"], [1, "modal-header"], ["id", "submit-confirm-title", 1, "modal-title"], ["aria-label", "Close", "data-dismiss", "modal", "type", "button", 1, "close"], ["aria-hidden", "true"], [1, "modal-body", 2, "text-align", "center"], ["href", "/terms-of-service", "target", "_blank"], ["href", "/privacy-policy", "target", "_blank"], [1, "row", "justify-content-center"], [1, "modal-footer"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-primary", 3, "click"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-secondary"], ["id", "info", "tabindex", "-1", "role", "dialog", "aria-labelledby", "info-title", "aria-hidden", "true", 1, "modal", "fade"], ["id", "info-title", 1, "modal-title"], ["type", "button", "data-dismiss", "modal", "aria-label", "Close", 1, "close"], [1, "modal-body"], ["href", "https://www.markdownguide.org/basic-syntax/", "target", "_blank"], ["id", "signing-experience", "tabindex", "-1", "role", "dialog", "aria-labelledby", "experience-title", "aria-hidden", "true", 1, "modal", "fade"], ["id", "experience-title", 1, "modal-title"], ["id", "spinner-overlay-container", 1, "d-flex", "justify-content-center"], ["role", "status", 1, "spinner-border"], ["id", "signing-experience-alert", 1, "col-12", "alert", "alert-primary"], ["data-toggle", "modal", "data-target", "#signing-experience"], ["id", "char-count-display", 3, "ngStyle"], [1, "dropdown-item", 3, "ngStyle", "click"], ["id", "image-notification-circle", 1, "d-flex", "align-items-center", "justify-content-center"]], template: function SigningComponent_Template(rf, ctx) { if (rf & 1) {
4842        const _r10 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵgetCurrentView"]();
4843        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 0);
4844        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](1, SigningComponent_div_1_Template, 2, 0, "div", 1);
4845        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](2, SigningComponent_div_2_Template, 7, 0, "div", 2);
4846        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](3, "div", 3);
4847        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](4, "div", 4);
4848        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](5, "div", 5);
4849        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](6, "label", 6);
4850        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](7, "b");
4851        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](8);
4852        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4853        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4854        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4855        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](9, "div", 3);
4856        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](10, "textarea", 7, 8);
4857        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("keyup", function SigningComponent_Template_textarea_keyup_10_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10); const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11); return ctx.signingService.updateCount(_r2); })("ngModelChange", function SigningComponent_Template_textarea_ngModelChange_10_listener($event) { return ctx.signingService.signingBoxText = $event; });
4858        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4859        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](12, SigningComponent_span_12_Template, 2, 5, "span", 9);
4860        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4861        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4862        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](13, "div", 10);
4863        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](14, "div", 11);
4864        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](15, "div", 12);
4865        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](16, "button", 13);
4866        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](17, "span");
4867        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](18);
4868        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4869        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](19, "span", 14);
4870        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4871        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](20, "div", 15);
4872        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](21, SigningComponent_span_21_Template, 3, 4, "span", 16);
4873        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpipe"](22, "keyvalue");
4874        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4875        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4876        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](23, "button", 17);
4877        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_23_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10); const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11); return ctx.signingService.addFormatting(_r2, "**"); });
4878        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](24, "b");
4879        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](25, "B");
4880        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4881        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4882        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](26, "button", 18);
4883        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_26_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10); const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11); return ctx.signingService.addFormatting(_r2, "*"); });
4884        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](27, "i");
4885        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](28, "I");
4886        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4887        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4888        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](29, "button", 19);
4889        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_29_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10); const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11); return ctx.signingService.addFormatting(_r2, "<u>", "</u>"); });
4890        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](30, "u");
4891        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](31, "U");
4892        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4893        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4894        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](32, "button", 20);
4895        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_32_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10); const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11); return ctx.signingService.addFormatting(_r2, "~~"); });
4896        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](33, "s");
4897        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](34, "S");
4898        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4899        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4900        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](35, "button", 21);
4901        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](36, "span", 22);
4902        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](37, "A");
4903        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4904        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](38, "label", 23);
4905        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](39, "Colour picker for font");
4906        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4907        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](40, "input", 24);
4908        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("ngModelChange", function SigningComponent_Template_input_ngModelChange_40_listener($event) { return ctx.signingService.textColor = $event; });
4909        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4910        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](41, "span", 25);
4911        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](42, "\u00A0");
4912        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4913        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4914        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](43, "button", 21);
4915        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](44, "img", 26);
4916        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](45, "label", 27);
4917        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](46, "Colour picker for background");
4918        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4919        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](47, "input", 28);
4920        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("ngModelChange", function SigningComponent_Template_input_ngModelChange_47_listener($event) { return ctx.signingService.backgroundColor = $event; });
4921        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4922        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](48, "span", 25);
4923        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](49, "\u00A0");
4924        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4925        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4926        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](50, "a", 29);
4927        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](51, "\uD83D\uDE00 ");
4928        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4929        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](52, "div", 30);
4930        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](53, "button", 31);
4931        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_53_listener() { return ctx.imageModalComponent.showImageModal(); });
4932        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](54, "img", 32);
4933        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4934        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](55, SigningComponent_span_55_Template, 2, 1, "span", 33);
4935        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4936        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](56, "button", 34);
4937        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](57, " More Info! ");
4938        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4939        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4940        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](58, "div", 35);
4941        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](59, "button", 36);
4942        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](60, " Send ");
4943        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4944        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4945        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4946        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](61, "div", 37);
4947        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](62, "div", 38);
4948        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](63, "label", 39);
4949        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](64, "strong");
4950        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](65, "Preview");
4951        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4952        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4953        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4954        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](66, "div", 3);
4955        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](67, "markdown", 40, 41);
4956        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4957        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4958        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4959        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4960        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](69, "div", 42);
4961        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](70, "div", 43);
4962        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](71, "div", 44);
4963        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](72, "div", 45);
4964        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](73, "h5", 46);
4965        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](74, " Are you sure you want to send this? ");
4966        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4967        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](75, "button", 47);
4968        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](76, "span", 48);
4969        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](77, "\u00D7");
4970        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4971        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4972        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4973        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](78, "div", 49);
4974        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](79, "p");
4975        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](80, " You can only submit one message to a friend\u2019s virtrolio per year, so be absolutely certain! ");
4976        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4977        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](81, "p");
4978        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](82, " By sending a message, you agree to our ");
4979        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](83, "a", 50);
4980        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](84, "Terms of Service");
4981        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4982        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](85, " and our ");
4983        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](86, "a", 51);
4984        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](87, "Privacy Policy");
4985        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4986        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](88, ". ");
4987        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4988        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](89, "div", 52);
4989        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4990        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](90, "div", 53);
4991        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](91, "button", 54);
4992        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_91_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10); const _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11); return ctx.sendMsg(_r2); });
4993        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](92, " Send it! ");
4994        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4995        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](93, "button", 55);
4996        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](94, " Close ");
4997        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4998        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
4999        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5000        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5001        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5002        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](95, "div", 56);
5003        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](96, "div", 43);
5004        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](97, "div", 44);
5005        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](98, "div", 45);
5006        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](99, "h4", 57);
5007        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](100, "Craft your perfect message!");
5008        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5009        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](101, "button", 58);
5010        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](102, "span", 48);
5011        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](103, "\u00D7");
5012        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5013        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5014        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5015        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](104, "div", 59);
5016        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](105, "h5");
5017        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](106, "Additional Formatting Tools");
5018        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5019        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](107, "p");
5020        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](108, " Virtrolio supports a modified version of ");
5021        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](109, "em");
5022        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](110, "Markdown");
5023        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5024        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](111, " to format text. While we support most of Markdown's features, we haven't added buttons for all of them, so there's still a lot to try out! Learn how to type in markdown ");
5025        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](112, "a", 60);
5026        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](113, "here");
5027        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5028        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](114, ". ");
5029        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5030        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](115, "p");
5031        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](116, "em");
5032        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](117, "Note: Not all Markdown features will work with Virtrolio messages.");
5033        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5034        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5035        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](118, "h5");
5036        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](119, "Something to Note");
5037        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5038        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](120, "p");
5039        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](121);
5040        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5041        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5042        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](122, "div", 53);
5043        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](123, "button", 55);
5044        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](124, " Close ");
5045        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5046        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5047        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5048        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5049        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5050        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](125, "div", 61);
5051        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](126, "div", 43);
5052        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](127, "div", 44);
5053        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](128, "div", 45);
5054        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](129, "h4", 62);
5055        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](130, " Do I need a larger screen to use Virtrolio? ");
5056        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5057        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](131, "button", 47);
5058        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](132, "span", 48);
5059        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](133, "\u00D7");
5060        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5061        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5062        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5063        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](134, "div", 59);
5064        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](135, "p");
5065        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](136, " For most purposes, no. We designed the rest of Virtrolio to be used on a mobile OR desktop/laptop device, but we suggest that you try ");
5066        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](137, "em");
5067        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](138, "signing");
5068        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5069        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](139, " messages on a desktop or laptop computer instead of a phone or tablet. This is because not only is it easier to write out a message when you have a larger screen, but some of the components (like the colour pickers) are not as good-looking or easy to use on mobile. ");
5070        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5071        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5072        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](140, "div", 53);
5073        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](141, "button", 55);
5074        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](142, " Close ");
5075        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5076        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5077        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5078        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5079        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"]();
5080        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](143, "app-image-modal");
5081    } if (rf & 2) {
5082        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
5083        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.isSending);
5084        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
5085        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.deviceDetector.isMobile());
5086        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](6);
5087        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate1"]("Type your message to ", ctx.name, " below.");
5088        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2);
5089        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngModel", ctx.signingService.signingBoxText)("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](23, _c1, ctx.signingService.currentFontFamily));
5090        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2);
5091        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.signingService.charCount >= 2000);
5092        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvanc
5092e"](4);
5093        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](25, _c1, ctx.signingService.currentFontFamily));
5094        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2);
5095        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate"](ctx.signingService.currentFontDisplay);
5096        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](3);
5097        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngForOf", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpipeBind1"](22, 21, ctx.signingService.fontDict));
5098        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](19);
5099        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpropertyInterpolate"]("value", ctx.signingService.textColor);
5100        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngModel", ctx.signingService.textColor);
5101        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
5102        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](27, _c2, ctx.signingService.textColor));
5103        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](6);
5104        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpropertyInterpolate"]("value", ctx.signingService.backgroundColor);
5105        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngModel", ctx.signingService.backgroundColor);
5106        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1);
5107        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](29, _c2, ctx.signingService.backgroundColor));
5108        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](5);
5109        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngClass", ctx.checkImageList() ? "btn-primary" : "btn-secondary");
5110        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2);
5111        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.checkImageList());
5112        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](4);
5113        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("disabled", !ctx.signingService.canSend);
5114        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](8);
5115        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpropertyInterpolate"]("data", ctx.signingService.signingBoxText);
5116        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction3"](31, _c3, ctx.signingService.backgroundColor, ctx.signingService.textColor, ctx.signingService.currentFontFamily));
5117        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](54);
5118        _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate1"](" Some characters you type will count as more characters than you think. For example, an 'enter' (or a 'new line') counts as 5 characters. Don't worry, we've given you ", ctx.signingService.maxCharCount, " characters to work with! ");
5119    } }, directives: [_angular_common__WEBPACK_IMPORTED_MODULE_9__.NgIf, _angular_forms__WEBPACK_IMPORTED_MODULE_10__.DefaultValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_10__.NgControlStatus, _angular_forms__WEBPACK_IMPORTED_MODULE_10__.NgModel, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgStyle, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgClass, ngx_markdown__WEBPACK_IMPORTED_MODULE_11__.MarkdownComponent, _image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_1__.ImageModalComponent], pipes: [_angular_common__WEBPACK_IMPORTED_MODULE_9__.KeyValuePipe], styles: ["#signing-experience-alert[_ngcontent-%COMP%] {\n  text-align: center;\n}\n\n\n\n#signing-box[_ngcontent-%COMP%] {\n  margin: 0.5em;\n  padding: 1em;\n  width: 40em;\n  height: 20em;\n  resize: none;\n  color: #000000;\n  font-size: 1em;\n  border-width: 0.05em;\n  border-radius: 0.25rem;\n  box-shadow: var(--signing-shadow);\n}\n\n#char-count-display[_ngcontent-%COMP%] {\n  z-index: 10;\n  position: absolute;\n  bottom: -1em;\n  right: 2em;\n}\n\n.form-control[_ngcontent-%COMP%] {\n  border-color: var(--light-grey);\n}\n\n.form-control[_ngcontent-%COMP%]:focus {\n  border-color: var(--accent);\n}\n\nmarkdown[_ngcontent-%COMP%] {\n  margin: 0.5em;\n  padding: 1em;\n  width: 40em;\n  height: 20em;\n  resize: none;\n  font: 1em Arial;\n  border: 0.05em solid var(--light-grey);\n  overflow-y: auto;\n  overflow-x: auto;\n  word-wrap: break-word;\n  border-radius: 0.25rem;\n  box-shadow: var(--signing-shadow);\n  line-height: 1.5;\n}\n\n\n\n#options[_ngcontent-%COMP%]    > *[_ngcontent-%COMP%] {\n  margin: 1.4em 0.5em 0.8em;\n  box-shadow: var(--signing-shadow);\n}\n\n#font-selector-dropdown[_ngcontent-%COMP%] {\n  display: flex;\n  display: -webkit-flex;\n  justify-content: space-between;\n  align-items: center;\n  text-align: right;\n  width: 12em;\n  height: 2.5em;
5119\n}\n\n#font-selector-dropdown[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]:not(.caret) {\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n#font-selector-dropdown[_ngcontent-%COMP%]   .caret[_ngcontent-%COMP%] {\n  margin: auto;\n}\n\n.btn-format[_ngcontent-%COMP%] {\n  width: 2.5em;\n  height: 2.5em;\n}\n\n.btn-send[_ngcontent-%COMP%] {\n  width: 6em;\n  height: 2.5em;\n}\n\n.btn-send[_ngcontent-%COMP%]:disabled {\n  background-color: var(--light-grey);\n}\n\n.dropdown-item[_ngcontent-%COMP%] {\n  cursor: pointer;\n}\n\n.dropdown-item[_ngcontent-%COMP%]:active {\n  background-color: var(--accent);\n}\n\n.dropdown-menu[_ngcontent-%COMP%] {\n  overflow-y: auto;\n  height: 12em;\n  z-index: 2000;\n}\n\n#fill-color-icon[_ngcontent-%COMP%] {\n  width: 1.5em;\n  margin: 0 auto 0.1em auto;\n}\n\n#image-icon[_ngcontent-%COMP%] {\n  width: 1.7em;\n  margin: 0 auto;\n}\n\n.icon-wrapper[_ngcontent-%COMP%] {\n  padding: 0;\n  cursor: pointer;\n}\n\n#color-picker-font[_ngcontent-%COMP%], #color-picker-background[_ngcontent-%COMP%] {\n  opacity: 0;\n  position: absolute;\n  display: block;\n  z-index: 1;\n  width: 2.2em;\n  height: 2.2em;\n  margin: -1.55em 0.05em !important;\n  cursor: pointer;\n}\n\n#font-color-text[_ngcontent-%COMP%] {\n  margin-bottom: 0;\n  font-size: large;\n}\n\n.dynamic-color-bar[_ngcontent-%COMP%] {\n  display: block;\n  height: 0.4em;\n  margin: 0.1em 0.2em;\n  border-radius: 0.4em;\n}\n\n#image-notification-circle[_ngcontent-%COMP%] {\n  border-radius: 100%;\n  height: 1.5em;\n  width: 1.5em;\n  position: absolute;\n  right: -0.4375em;\n  top: -0.375em;\n  color: white;\n  background-color: var(--light-grey);\n}\n\n#image-button-wrapper[_ngcontent-%COMP%] {\n  border-radius: 0.25rem; \n}\n\n\n\n.title-div[_ngcontent-%COMP%] {\n  height: 3em;\n  margin: 0 0.5em 0 0.5em;\n  text-align: center;\n  font-size: 1.2em;\n}\n\n\n\n#btn-info[_ngcontent-%COMP%] {\n  border-radius: 6em;\n  color: #ffffff;\n  box-shadow: var(--signing-shadow);\n}\n\n#send-button[_ngcontent-%COMP%] {\n  width: 10em;\n  height: 3em;\n  font-weight: bolder;\n}\n\n#send-button[_ngcontent-%COMP%] {\n  width: 10em;\n  height: 3em;\n  font-weight: bolder;\n}\n\n.btn-info[_ngcontent-%COMP%] {\n  background-color: #0075ff !important;\n}\n\n#spinner-overlay-container[_ngcontent-%COMP%] {\n  position: fixed;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  background: var(--loading-container-background);\n  z-index: var(--loading-container-z-index);\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpZ25pbmcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQSxnQ0FBZ0M7O0FBRWhDO0VBQ0UsYUFBYTtFQUNiLFlBQVk7RUFDWixXQUFXO0VBQ1gsWUFBWTtFQUNaLFlBQVk7RUFDWixjQUFjO0VBQ2QsY0FBYztFQUNkLG9CQUFvQjtFQUNwQixzQkFBc0I7RUFDdEIsaUNBQWlDO0FBQ25DOztBQUVBO0VBQ0UsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osVUFBVTtBQUNaOztBQUVBO0VBQ0UsK0JBQStCO0FBQ2pDOztBQUVBO0VBQ0UsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLFlBQVk7RUFDWixXQUFXO0VBQ1gsWUFBWTtFQUNaLFlBQVk7RUFDWixlQUFlO0VBQ2Ysc0NBQXNDO0VBQ3RDLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixpQ0FBaUM7RUFDakMsZ0JBQWdCO0FBQ2xCOztBQUVBLHlCQUF5Qjs7QUFFekI7RUFDRSx5QkFBeUI7RUFDekIsaUNBQWlDO0FBQ25DOztBQUVBO0VBQ0UsYUFBYTtFQUNiLHFCQUFxQjtFQUNyQiw4QkFBOEI7RUFDOUIsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixXQUFXO0VBQ1gsYUFBYTtBQUNmOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtBQUN6Qjs7QUFFQTtFQUNFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLFlBQVk7RUFDWixhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxVQUFVO0VBQ1YsYUFBYTtBQUNmOztBQUVBO0VBQ0UsbUNBQW1DO0FBQ3JDOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLCtCQUErQjtBQUNqQzs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osYUFBYTtBQUNmOztBQUVBO0VBQ0UsWUFBWTtFQUNaLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLFlBQVk7RUFDWixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsVUFBVTtFQUNWLGVBQWU7QUFDakI7O0FBRUE7O0VBRUUsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsVUFBVTtFQUNWLFlBQVk7RUFDWixhQUFhO0VBQ2IsaUNBQWlDO0VBQ2pDLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0UsbUJBQW1CO0VBQ25CLGFBQWE7RUFDYixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixhQUFhO0VBQ2IsWUFBWTtFQUNaLG1DQUFtQztBQUNyQzs7QUFFQTtFQUNFLHNCQUFzQixFQUFFLHFDQUFxQztBQUMvRDs7QUFFQSxrQkFBa0I7O0FBRWxCO0VBQ0UsV0FBVztFQUNYLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQ2xCOztBQUVBLHFCQUFxQjs7QUFFckI7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLGlDQUFpQztBQUNuQzs7QUFFQTtFQUNFLFdBQVc7RUFDWCxXQUFXO0VBQ1gsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsV0FBVztFQUNYLFdBQVc7RUFDWCxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxvQ0FBb0M7QUFDdEM7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsTUFBTTtFQUNOLFNBQVM7RUFDVCxPQUFPO0VBQ1AsUUFBUTtFQUNSLCtDQUErQztFQUMvQyx5Q0FBeUM7QUFDM0MiLCJmaWxlIjoic2lnbmluZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3NpZ25pbmctZXhwZXJpZW5jZS1hbGVydCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogfHwgU2lnbmluZyBib3gsIFByZXZpZXcgQm94ICovXG5cbiNzaWduaW5nLWJveCB7XG4gIG1hcmdpbjogMC41ZW07XG4gIHBhZGRpbmc6IDFlbTtcbiAgd2lkdGg6IDQwZW07XG4gIGhlaWdodDogMjBlbTtcbiAgcmVzaXplOiBub25lO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGJvcmRlci13aWR0aDogMC4wNWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaWduaW5nLXNoYWRvdyk7XG59XG5cbiNjaGFyLWNvdW50LWRpc3BsYXkge1xuICB6LWluZGV4OiAxMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xZW07XG4gIHJpZ2h0OiAyZW07XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xufVxuXG4uZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuXG5tYXJrZG93biB7XG4gIG1hcmdpbjogMC41ZW07XG4gIHBhZGRpbmc6IDFlbTtcbiAgd2lkdGg6IDQwZW07XG4gIGhlaWdodDogMjBlbTtcbiAgcmVzaXplOiBub25lO1xuICBmb250OiAxZW0gQXJpYWw7XG4gIGJvcmRlcjogMC4wNWVtIHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJveC1zaGFkb3c6IHZhcigtLXNpZ25pbmctc2hhZG93KTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLyogfHwgRm9ybWF0dGluZyBUb29scyAgKi9cblxuI29wdGlvbnMgPiAqIHtcbiAgbWFyZ2luOiAxLjRlbSAwLjVlbSAwLjhlbTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2lnbmluZy1zaGFkb3cpO1xufVxuXG4jZm9udC1zZWxlY3Rvci1kcm9wZG93biB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDEyZW07XG4gIGhlaWdodDogMi41ZW07XG59XG5cbiNmb250LXNlbGVjdG9yLWRyb3Bkb3duI
5119HNwYW46bm90KC5jYXJldCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuI2ZvbnQtc2VsZWN0b3ItZHJvcGRvd24gLmNhcmV0IHtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uYnRuLWZvcm1hdCB7XG4gIHdpZHRoOiAyLjVlbTtcbiAgaGVpZ2h0OiAyLjVlbTtcbn1cblxuLmJ0bi1zZW5kIHtcbiAgd2lkdGg6IDZlbTtcbiAgaGVpZ2h0OiAyLjVlbTtcbn1cblxuLmJ0bi1zZW5kOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG59XG5cbi5kcm9wZG93bi1pdGVtIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZHJvcGRvd24taXRlbTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGhlaWdodDogMTJlbTtcbiAgei1pbmRleDogMjAwMDtcbn1cblxuI2ZpbGwtY29sb3ItaWNvbiB7XG4gIHdpZHRoOiAxLjVlbTtcbiAgbWFyZ2luOiAwIGF1dG8gMC4xZW0gYXV0bztcbn1cblxuI2ltYWdlLWljb24ge1xuICB3aWR0aDogMS43ZW07XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uaWNvbi13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4jY29sb3ItcGlja2VyLWZvbnQsXG4jY29sb3ItcGlja2VyLWJhY2tncm91bmQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMi4yZW07XG4gIGhlaWdodDogMi4yZW07XG4gIG1hcmdpbjogLTEuNTVlbSAwLjA1ZW0gIWltcG9ydGFudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4jZm9udC1jb2xvci10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiBsYXJnZTtcbn1cblxuLmR5bmFtaWMtY29sb3ItYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMC40ZW07XG4gIG1hcmdpbjogMC4xZW0gMC4yZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuNGVtO1xufVxuXG4jaW1hZ2Utbm90aWZpY2F0aW9uLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGhlaWdodDogMS41ZW07XG4gIHdpZHRoOiAxLjVlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTAuNDM3NWVtO1xuICB0b3A6IC0wLjM3NWVtO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xufVxuXG4jaW1hZ2UtYnV0dG9uLXdyYXBwZXIge1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyAvKiBiYXNlZCBvZmYgb2YgYm9vdHN0cmFwIGJ0biBjbGFzcyAqL1xufVxuXG4vKiB8fCBUeXBvZ3JhcGh5ICovXG5cbi50aXRsZS1kaXYge1xuICBoZWlnaHQ6IDNlbTtcbiAgbWFyZ2luOiAwIDAuNWVtIDAgMC41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbn1cblxuLyogfHwgTWlzY2VsbGFuZW91cyAqL1xuXG4jYnRuLWluZm8ge1xuICBib3JkZXItcmFkaXVzOiA2ZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaWduaW5nLXNoYWRvdyk7XG59XG5cbiNzZW5kLWJ1dHRvbiB7XG4gIHdpZHRoOiAxMGVtO1xuICBoZWlnaHQ6IDNlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuI3NlbmQtYnV0dG9uIHtcbiAgd2lkdGg6IDEwZW07XG4gIGhlaWdodDogM2VtO1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4uYnRuLWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NWZmICFpbXBvcnRhbnQ7XG59XG5cbiNzcGlubmVyLW92ZXJsYXktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWxvYWRpbmctY29udGFpbmVyLWJhY2tncm91bmQpO1xuICB6LWluZGV4OiB2YXIoLS1sb2FkaW5nLWNvbnRhaW5lci16LWluZGV4KTtcbn1cbiJdfQ== */"] });
5120
5121
5122/***/ }),
5123
5124/***/ 21912:
5125/*!**********************************************************************!*\
5126  !*** ./src/app/pages/terms-of-service/terms-of-service.component.ts ***!
5127  \**********************************************************************/
5128/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5129
5130"use strict";
5131__webpack_require__.r(__webpack_exports__);
5132/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5133/* harmony export */   "TermsOfServiceComponent": function() { return /* binding */ TermsOfServiceComponent; }
5134/* harmony export */ });
5135/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 37716);
5136/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
5137
5138
5139class TermsOfServiceComponent {
5140    constructor(title) {
5141        this.title = title;
5142    }
5143    ngOnInit() {
5144        this.title.setTitle('Terms of Service | Virtrolio');
5145    }
5146}
5147TermsOfServiceComponent.ɵfac = function TermsOfServiceComponent_Factory(t) { return new (t || TermsOfServiceComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); };
5148TermsOfServiceComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ type: TermsOfServiceComponent, selectors: [["app-terms-of-service"]], decls: 137, vars: 0, consts: [[1, "container"], [1, "text-center", "mt-3", "mb-3"], ["role", "alert", 1, "alert", "alert-primary"], ["href", "https://firebase.google.com/terms/", "target", "_blank"], ["href", "../privacy-policy"], ["href", "mailto:[email protected]", "target", "_blank"]], template: function TermsOfServiceComponent_Template(rf, ctx) { if (rf & 1) {
5149        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
5150        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "h1", 1);
5151        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2, "Terms of Service");
5152        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5153        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "div", 2);
5154        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](4, " Last updated: June 16, 2021 ");
5155        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5156        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "h3");
5157        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, "SUMMARY");
5158        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5159        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "p");
5160        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, " In short, you agree to abide by our code of conduct for safe, respectful, and common-sense behaviour. You understand that we will do everything in our power to address reported violations of the code or these Terms, including account termination at our discretion, but that the ultimate responsibility for a message's contents, including links to third-party sites, lies with the user who sent it. You agree not to reproduce or alter any of our intellectual property for unlicensed use, and where necessary, you agree to obtain parental consent to use our site. This summary is for convenience only; please read the terms below carefully. ");
5161        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5162        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "h3");
5163        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, "OVERVIEW");
5164        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5165        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](11, "p");
5166        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](12, " This website is operated by Virtrolio. Throughout the site, the terms \u201Cwe\u201D, \u201Cus\u201D and \u201Cour\u201D refer to Virtrolio. Virtrolio offers this website, including all information, tools and services available from this site to you, the user, conditioned upon your acceptance of all terms, conditions, policies and notices stated here. ");
5167        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5168        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "p");
5169        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](14, " By visiting our site, you engage in our \u201CService\u201D and agree to be bound by the following terms and conditions (\u201CTerms of Service\u201D, \u201CTerms\u201D), including those additional terms and conditions and policies referenced herein and/
5169or available by hyperlink. These Terms of Service apply to all users of the site, including without limitation users who are browsers and/or contributors of content. ");
5170        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5171        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "p");
5172        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, " Please read these Terms of Service carefully before accessing or using our website. By accessing or using any part of the site, you agree to be bound by these Terms of Service and any other policies listed here. If you do not agree to all the terms and conditions of this agreement, then you may not access the website or use any services. If these Terms of Service are considered an offer, acceptance is expressly limited to these Terms of Service. ");
5173        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5174        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](17, "p");
5175        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](18, " Virtrolio is a message sharing and viewing service that allows users to recreate in-person yearbook signings. In order to digitally emulate the essence of this act, certain data policies and terms have been enacted accordingly. ");
5176        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5177        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](19, "p");
5178        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](20, " Any new features or tools which are added to the current website shall also be subject to the Terms of Service. You can review the most current version of the Terms of Service at any time on this page. We reserve the right to update, change, or replace any part of these Terms of Service by posting updates and/or changes to our website. It is your responsibility to check this page periodically for changes. Your continued use of or access to the website following the posting of any changes constitutes acceptance of those changes. ");
5179        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5180        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](21, "h3");
5181        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](22, "SECTION 1 - GENERAL CONDITIONS");
5182        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5183        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](23, "p");
5184        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](24, " We reserve the right to refuse service to anyone for any reason at any time. ");
5185        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5186        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](25, "p");
5187        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](26, " You understand that your content (not including credit card information), may be transferred unencrypted and involve (a) transmissions over various networks; and (b) changes to conform and adapt to technical requirements of connecting networks or devices. Credit card information is always encrypted during transfer over networks. ");
5188        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5189        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](27, "p");
5190        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](28, " You agree not to reproduce, duplicate, copy, sell, resell or exploit any portion of the Service, use of the Service, or access to the Service or any contact on the website through which the service is provided, without express written permission by us. ");
5191        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5192        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](29, "p");
5193        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](30, " The headings used in this agreement are included for c
5193onvenience only and will not limit or otherwise affect these Terms. ");
5194        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5195        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](31, "h3");
5196        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](32, "SECTION 2 - TERMINATION OF SERVICE");
5197        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5198        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](33, "p");
5199        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](34, " A breach or violation of the conditions listed in these Terms or other relevant policies will result in a termination of your Services, including but not limited to: deletion of your account and all associated data (see more on our data policies in our Privacy Policy) and banning of your email address to prevent further account access or creation therein. ");
5200        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5201        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](35, "p");
5202        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](36, " We may, at our own discretion, give you advance notice of account termination. Your account will not be reconsidered for reacceptance into our Service, except under specific circumstances to be established through individual written communication and at our sole discretion. ");
5203        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5204        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](37, "p");
5205        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](38, " The obligations and liabilities of the parties incurred prior to the termination date shall survive the termination of this agreement for all purposes. ");
5206        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5207        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](39, "p");
5208        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](40, " These Terms of Service are effective unless and until terminated by either you or us. You may terminate these Terms of Service at any time by notifying us that you no longer wish to use our Services, or when you cease using our site. ");
5209        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5210        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](41, "p");
5211        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](42, " If in our sole judgment you fail, or we suspect that you have failed, to comply with any term or provision of these Terms of Service, we also may terminate this agreement at any time without notice and accordingly may deny you access to our Services (or any part thereof). ");
5212        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5213        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](43, "h3");
5214        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](44, "SECTION 3 - MODIFICATIONS TO THE SERVICE");
5215        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5216        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](45, "p");
5217        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](46, " We reserve the right at any time to modify or discontinue the Service (or any part or content thereof) without notice at any time. ");
5218        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5219        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](47, "p");
5220        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](48, " Occasionally there may be information on our site or in the Service that contains typographical errors, inaccuracies or omissions. We reserve the right to correct any errors, inaccuracies or omissions, and to change or update information if any information in the Service is inaccurate at any time without prior notice. ");
5221        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5222        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](49, "p");
5223        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](50, " We undertake no obligation to update, amend, or clarify information in the Service except as required by law. No specified update or refresh date applied in the Service should be taken to indicate that all information in the Service or on any related website has been modified or updated. ");
5224        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5225        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](51, "p");
5226        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](52, " You agree that from time to time we may remove the service for indefinite periods of time or cancel the service at any time. In such a case, you will receive notification by email. However, notification for short periods of interruption to the service may only consist of a banner or page displayed on our website without an accompanying email. If service termination is deemed permanent or exceptional by cir
5226cumstance, appropriate measures will be put in place for you, the user, to be able to retrieve your data, though we make no promise as to the amount of time which this may take. ");
5227        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5228        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](53, "h3");
5229        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](54, "SECTION 4 - THIRD-PARTY LINKS AND SERVICES");
5230        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5231        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](55, "p");
5232        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](56, " The developers of Virtrolio have made use of third-party softwares and services in order to be able to provide our service to you. As such, by using our service you also agree to any relevant terms, policies, and practices which extend from those third-party services, including, but not limited to, those associated with ");
5233        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](57, "a", 3);
5234        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](58, "Google Firebase");
5235        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5236        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](59, " and its collection of anonymous data; and with third-party sign-in providers such as Google and their authentication services. We will enforce these Terms in accordance with any relevant third-party policies. ");
5237        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5238        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](60, "p");
5239        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](61, " Furthermore, certain content available on our Service may include third-party material. Third-party links on this site may direct you to third-party websites that are not affiliated with us. We are not responsible for examining or evaluating the content or accuracy and we do not warrant and will not have any liability or responsibility for any third-party materials or websites, or for any other views, endorsements, materials, products, or services of third-parties. ");
5240        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5241        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](62, "p");
5242        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](63, " While we support the embedding of images via third-party links within messages as well as the uploading and storage of images, we currently cannot guarantee that such images will display as intended, nor that the image will not be removed or otherwise made unavailable by the hosting provider. For the purposes of embedding images via third-party links, responsibility for selecting a third-party service and ensuring that an image displays as intended falls on the user; no recommendation or endorsement of any such service is made by Virtrolio. In addition, the user remains responsible for the contents of the image, and for obtaining the necessary rights or explicit permissions required to use the image regardless of whether it is directly uploaded to Virtrolio or to a third party. ");
5243        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5244        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](64, "p");
5245        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](65, " We are not liable for any harm or damages related to the purchase or use of goods, services, resources, content, or any other transactions made with any third-party websites. Please carefully review the third-party's policies and practices and make sure you understand them before you engage in any transaction. Complaints, claims, concerns, or questions regarding third-party products should be directed to the third-party. ");
5246        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5247        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](66, "h3");
5248        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](67, "SECTION 5 - CODE OF CONDUCT");
5249        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5250        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](68, "p");
5251        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](69, " In addition to other prohibitions as set forth in the Terms of Service, you are prohibited from using the site or its content: (a) for any unlawful purpose; (b) to solicit others to perform or participate in any unlawful acts; (c) to violate any international, federal, provincial or state regulations, rules, laws, or local ordinances; (d) to infringe upon or violate our intellectual property rights or the intellectual property rights of others; (e) to harass, abuse, insult, harm, defame, slander, disparage, intimidate, or discriminate based on gender, sexual orientation, religion, ethnicity, race, age, national origin, or disability; (f) to submit false or misleading information; (g) to upload or transmit viruses or any other type of malicious code that will or may be used in any way that will affect the functionality or operation of the Service or of any related website, other websites, or the Internet; (h) to collect or track the personal information of others; (i) to spam, phish, farm, pretext, spider, crawl, or scrape; (j) for any obscene or immoral purpose; or (k) to interfere with or circumvent the security features of the Service or any related website, other websites, or the Internet. We reserve the right to terminate your use of the Service or any related website for violating any of the prohibited uses. ");
5252        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5253        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](70, "p");
5254        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](71, " We may monitor, edit, and/or remove users (see SECTION 2) that we determine in our sole discretion as acting in a manner that is unlawful, offensive, threatening, libelous, defamatory, pornographic, obscene, or otherwise objectionable or violates any party\u2019s intellectual property or these Terms of Service. We may al
5254so take the same actions against specific user contributions. Law enforcement and third-party service providers, including Google, will be notified as necessary and access to your account will be revoked if you are found to be sharing content which does not conform with these Terms or this Code of Conduct. ");
5255        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5256        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](72, "p");
5257        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](73, " You agree that your comments will not violate any right of any third-party, including copyright, trademark, privacy, personality or other personal or proprietary right. You further agree that your comments will not contain libelous or otherwise unlawful, abusive or obscene material, or contain any computer virus or other malware that could in any way affect the operation of the Service or any related website. ");
5258        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5259        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](74, "p");
5260        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](75, " You are solely responsible for any inappropriate comments you make or data you send through our Service, even if it does not reach any particular user. We take no responsibility and assume no liability for any comments posted by you or any third-party. ");
5261        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5262        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](76, "h3");
5263        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](77, "SECTION 6 - PERSONAL & DEVICE INFORMATION");
5264        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5265        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](78, "p");
5266        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](79, " Your submission of personal information and device information through Virtrolio is governed by our ");
5267        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](80, "a", 4);
5268        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](81, "Privacy Policy.");
5269        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5270        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](82, " Your agreement to these Terms constitutes your agreement to the Privacy Policy. ");
5271        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5272        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](83, "h3");
5273        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](84, "SECTION 7 - INDEMNIFICATION");
5274        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5275        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](85, "p");
5276        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](86, " You agree to indemnify, defend and hold harmless Virtrolio and our parent, subsidiaries, affiliates, partners, officers, directors, agents, contractors, licensors, service providers, subcontractors, suppliers, interns and employees, harmless from any claim or demand, including reasonable attorneys\u2019 fees, made by any third-party due to or arising out of your breach of these Terms of Service or the documents they incorporate by reference, or your violation of any law or the rights of a third-party. ");
5277        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5278        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](87, "h3");
5279        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](88, "SECTION 8 - DISCLAIMER OF WARRANTIES");
5280        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5281        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](89, "p");
5282        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](90, " You expressly agree that your use of, or inability to use, the service is at your sole risk. The service and all products and services delivered to you through the service are (except as expressly stated by us) provided 'as is' and 'as available' for your use, without any representation, warranties or conditions of any kind, either express or implied, including, but not limited to, all implied warranties or conditions of merchantability, merchantable quality, fitness for a particular purpose, durability, title, and non-infringement. ");
5283        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5284        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](91, "p");
5285        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](92, " We do not guarantee, represent or warrant that your use of our service will be uninterrupted, timely, secure or error-free, nor do we warrant that the results or information that may be obtained from the use of the service will be accurate or reliable. You agree that from time to time we may remove the service for indefinite periods of time or cancel the service at any time, without notice to you. ");
5286        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5287        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](93, "p");
5288        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](94, " The Site is intended for individuals at least 18 years of age, or if you have parental consent, at least 15 years of age in Australia or 13 years of age in all other Authorized Jurisdictions (\u201CMinimum Age\u201D). You must meet these requirements in order to use a Virtrolio account and its services. If you have obtained parental consent, our Terms and policies are accepted by and will apply to your parent or guardian, and they are responsible for your activity on these services. ");
5289        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5290        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](95, "p");
5291        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](96, " In no case shall Virtrolio, our directors, officers, employees, affiliates, agents, contractors, interns, suppliers, service providers or licensors be liable for any injury, loss, claim, or any direct, indirect, incidental, punitive, special, or consequential damages of any kind, including, without limitation lost profits, lost revenue, lost savings, loss of data, replacement costs, or any similar damages, whether based in contract, tort (including negligence), strict liability or otherwise, arising from your use of any of the Service or any products procured using the Service, or for any other claim related in any way to your use of the Service or any product, including, but not limited to, any errors or omissions in any content, or any loss or damage of any kind incurred as a result of the use of the Service or any content (or product) posted, transmitted, or otherwise made available via the Service or via the conduct or interactions of other users thereof, even if advised of their possibility. Because some states or jurisdictions do not allow the exclusion or the limitation of liability for consequential or incidental damages, in such states or jurisdictions, our liability shall be limited to the maximum extent permitted by law. ");
5292        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5293        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](97, "h3");
5294        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](98, "SECTION 9 - INTELLECTUAL PROPERTY");
5295        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5296        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](99, "p");
5297        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](100, " Notwithstanding the public availability of the source code associated with the operation of the Service, we assign no licence for its use. We retain ownership of all proprietary rights in the Service and all trade names, trade marks, service marks, and other intellectual property displayed by or associated with the operation of the Service. You are prohibited from remov
5297ing, defacing, obscuring, or otherwise altering any of our branding, logos, or legal notices. ");
5298        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5299        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](101, "h3");
5300        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](102, "SECTION 10 - SEVERABILITY");
5301        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5302        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](103, "p");
5303        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](104, " In the event that any provision of these Terms of Service is determined to be unlawful, void or unenforceable, such provision shall nonetheless be enforceable to the fullest extent permitted by applicable law, and the unenforceable portion shall be deemed to be severed from these Terms of Service, such determination shall not affect the validity and enforceability of any other remaining provisions. ");
5304        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5305        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](105, "h3");
5306        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](106, "SECTION 11 - ENTIRE AGREEMENT");
5307        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5308        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](107, "p");
5309        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](108, " The failure of us to immediately exercise or enforce any right or provision of these Terms of Service shall not constitute a waiver of such right or provision (i.e. for the future). ");
5310        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5311        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](109, "p");
5312        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](110, " These Terms of Service and any policies or operating rules posted by us on this site or in respect to The Service constitutes the entire agreement and understanding between you and us and govern your use of the Service, superseding any prior or contemporaneous agreements, communications and proposals, whether oral or written, between you and us (including, but not limited to, any prior versions of the Terms of Service). ");
5313        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5314        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](111, "p");
5315        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](112, " Any ambiguities in the interpretation of these Terms of Service shall not be construed against the drafting party. ");
5316        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5317        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](113, "p");
5318        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](114, " The obligations and liabilities of the parties incurred prior to the termination date shall survive the termination of this agreement for all purposes. ");
5319        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5320        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](115, "p");
5321        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](116, " These Terms of Service are effective unless and until terminated by either you or us. You may terminate these Terms of Service at any time by notifying us that you no longer wish to use our Service, or when you cease using our Service by deleting your account. ");
5322        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5323        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](117, "p");
5324        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](118, " If in our sole judgment you fail, or we suspect that you have failed, to comply with any term or provision of these Terms of Service, we also may terminate this agreement at any time without notice and you will remain liable for all amounts due up to and including the date of termination; and/or accordingly may deny you access to our Service (or any part thereof). ");
5325        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5326        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](119, "h3");
5327        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](120, "SECTION 12 - GOVERNING LAW");
5328        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5329        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](121, "p");
5330        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](122, " These Terms of Service and any separate agreements whereby we provide you Services shall be, if reasonable, governed by and construed in accordance with the laws of the Province of Ontario, to be resolved 
5330in the federal or provincial courts of Peel Region, Ontario, Canada. You and we agree to personal jurisdiction in those courts. ");
5331        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5332        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](123, "h3");
5333        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](124, "SECTION 13 - CHANGES TO THE TERMS OF SERVICE");
5334        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5335        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](125, "p");
5336        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](126, " You can review the most current version of the Terms of Service at any time at this page. ");
5337        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5338        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](127, "p");
5339        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](128, " We reserve the right, at our sole discretion, to update, change, or replace any part of these Terms of Service by posting updates and changes to our website. It is your responsibility to check our website periodically for changes. Your continued use of or access to our website or the Service following the posting of any changes to these Terms of Service constitutes acceptance of those changes. ");
5340        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5341        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](129, "h3");
5342        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](130, "SECTION 14 - CONTACT INFORMATION");
5343        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5344        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](131, "p");
5345        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](132, " Questions about the Terms of Service should be sent to us at ");
5346        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](133, "a", 5);
5347        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](134, "[email protected]");
5348        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5349        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](135, ". ");
5350        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5351        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](136, "br");
5352        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5353    } }, styles: ["\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ0ZXJtcy1vZi1zZXJ2aWNlLmNvbXBvbmVudC5jc3MifQ== */"] });
5354
5355
5356/***/ }),
5357
5358/***/ 1641:
5359/*!************************************************************************!*\
5360  !*** ./src/app/pages/viewing/message-modal/message-modal.component.ts ***!
5361  \************************************************************************/
5362/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5363
5364"use strict";
5365__webpack_require__.r(__webpack_exports__);
5366/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5367/* harmony export */   "MessageModalComponent": function() { return /* binding */ MessageModalComponent; }
5368/* harmony export */ });
5369/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 37716);
5370/* harmony import */ var _core_viewing_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../core/viewing.service */ 91225);
5371/* harmony import */ var ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ngx-bootstrap/modal */ 63301);
5372/* harmony import */ var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../core/msg-io.service */ 84468);
5373/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/router */ 39895);
5374/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/common */ 38583);
5375/* harmony import */ var ngx_markdown__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ngx-markdown */ 76715);
5376/* harmony import */ var _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../shared/components/inline-images/inline-images.component */ 72321);
5377
5378
5379
5380
5381
5382
5383
5384
5385function MessageModalComponent_app_inline_images_25_Template(rf, ctx) { if (rf & 1) {
5386    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](0, "app-inline-images", 17);
5387} if (rf & 2) {
5388    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"]();
5389    _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("images", ctx_r0.viewService.currentMessageModal.images);
5390} }
5391const _c0 = function () { return ["/viewing"]; };
5392const _c1 = function (a0) { return { messageId: a0, showBookmarkAlert: true }; };
5393const _c2 = function (a0, a1, a2) { return { background: a0, color: a1, "font-family": a2 }; };
5394class MessageModalComponent {
5395    constructor(viewService, modalService, msgIOService) {
5396        this.viewService = viewService;
5397        this.modalService = modalService;
5398        this.msgIOService = msgIOService;
5399    }
5400    ngOnInit() { }
5401}
5402MessageModalComponent.ɵfac = function MessageModalComponent_Factory(t) { return new (t || MessageModalComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_0__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_1__.BsModalService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_2__.MsgIoService)); };
5403MessageModalComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineComponent"]({ type: MessageModalComponent, selectors: [["app-message-modal"]], decls: 26, vars: 15, consts: [[1, "card", "shadow"], [1, "msg-header"], [1, "msg-header-group"], [1, "header-table"], [1, "profile-pic-container-small", "mr-2"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [1, "msg-header-text"], [1, "msg-header-date"], [1, "card-header-group"], ["target", "_blank", 3, "routerLink", "queryParams"], ["type", "button", 1, "btn", "card-button", 3, "click"], ["alt", "bookmark", "src", "../../../../assets/images/icons/bookmark-black.svg", 1, "card-icon"], ["type", "button", 1, "btn", 3, "click"], ["alt", "close", "src", "../../../../assets/images/icons/exit.svg", 1, "card-icon"], [1, "card-body", "message-card", "message", 3, "ngStyle"], ["emoji", "", 3, "data"], [3, "images", 4, "ngIf"], [3, "images"]], template: function MessageModalComponent_Template(rf, ctx) { if (rf & 1) {
5404        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 0);
5405        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](1, "div", 1);
5406        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](2, "div", 2);
5407        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](3, "table", 3);
5408        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](4, "tr");
5409        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](5, "td");
5410        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](6, "span", 4);
5411        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](7, "img", 5);
5412        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5413        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5414        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](8, "td");
5415        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](9, "table");
5416        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](10, "tr", 6);
5417        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](11);
5418        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5419        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](12, "tr", 7);
5420        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](13);
5421        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5422        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5423        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5424        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5425        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5426        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5427        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](14, "div", 8);
5428        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](15, "table", 3);
5429        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](16, "tr");
5430        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](17, "td");
5431        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](18, "a", 9);
5432        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](19, "button", 10);
5433        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function MessageModalComponent_Template_button_click_19_listener() { return ctx.viewService.bookmarkMessage(ctx.viewService.currentMessageModal.id); });
5434        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](20, "img", 11);
5435        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5436        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5437        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](21, "button", 12);
5438        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function MessageModalComponent_Template_button_click_21_listener() { return ctx.modalService.hide(); });
5439        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](22, "img", 13);
5440        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5441        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5442        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5443        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5444        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5445        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5446        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](23, "div", 14);
5447        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](24, "markdown", 15);
5448        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](25, MessageModalComponent_app_inline_images_25_Template, 1, 1, "app-inline-images", 16);
5449        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5450        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"]();
5451    } if (rf & 2) {
5452        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](7);
5453        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpropertyInterpolate"]("src", ctx.viewService.currentMessageModal.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]);
5454        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](4);
5455        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtextInterpolate1"](" ", ctx.viewService.currentMessageModal.fromName, " ");
5456        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2);
5457        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtextInterpolate1"](" ", ctx.viewService.timeSince(ctx.viewService.nowMillis, ctx.viewService.currentMessageModal.timestamp.toMillis(), ctx.viewService.currentMessageModal.timestamp.toDate().toDateString()), " ");
5458        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](5);
5459        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("routerLink", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpureFunction0"](8, _c0))("queryParams", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpureFunction1"](9, _c1, ctx.viewService.currentMessageModal.id));
5460        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](5);
5461        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpureFunction3"](11, _c2, ctx.viewService.currentMessageModal.backColor, ctx.viewService.currentMessageModal.fontColor, ctx.viewService.fonts[ctx.viewService.currentMessageModal.fontFamily].fontFamily + "," + ctx.viewService.fonts[ctx.viewService.currentMessageModal.fontFamily].backupFont));
5462        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1);
5463        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpropertyInterpolate"]("data", ctx.viewService.decodeHtml(ctx.viewService.currentMessageModal.contents));
5464        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1);
5465        _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", ctx.viewService.currentMessageModal.images);
5466    } }, directives: [_angular_router__WEBPACK_IMPORTED_MODULE_5__.RouterLinkWithHref, _angular_common__WEBPACK_IMPORTED_MODULE_6__.NgStyle, ngx_markdown__WEBPACK_IMPORTED_MODULE_7__.MarkdownComponent, _angular_common__WEBPACK_IMPORTED_MODULE_6__.NgIf, _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_3__.InlineImagesComponent], styles: [".card[_ngcontent-%COMP%] {\n  width: auto;\n  height: 100%;\n}\n.message-card[_ngcontent-%COMP%] {\n  background-color: var(--light-grey);\n  width: 100%;\n  word-break: break-word;\n  max-height: 30em;\n  overflow-y: auto;\n}\n.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%] {\n  overflow-wrap: break-word;\n}\n\n.msg-footer-img[_ngcontent-%COMP%] {\n  max-height: 20em;\n  transition: all linear 0.2s;\n}\n.msg-footer[_ngcontent-%COMP%] {\n  justify-content: center;\n}\n.msg-footer-img-overlay[_ngcontent-%COMP%] {\n  background-color: rgba(0, 0, 0, 0.5);\n  height: 100%;\n  width: 100%;\n  z-index: 10;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  position: absolute;\n  opacity: 0;\n  transition: all linear 0.2s;\n}\n.msg-footer-img-overlay[_ngcontent-%COMP%]:hover {\n  opacity: 100%;\n}\n#external-link-icon[_ngcontent-%COMP%] {\n  height: 33%;\n}\n\n.page[_ngcontent-%COMP%] {\n  background-color: var(--accent);\n  box-shadow: 0 0.15em 0.25em 0.05em rgba(0, 0, 0, 0.175);\n  color: white;\n  height: 70vh;\n  padding: 3em 6em 3em 6em;\n\n  overflow-y: auto;\n}\n\n.msg-header[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n  justify-content: space-between;\n  line-height: 1em;\n  padding: 0.5em 0.5em 0.5em 1em;\n}\n.msg-header-group[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n}\n.msg-header-text[_ngcontent-%COMP%] {\n  font-weight: bold;\n  font-size: 0.9em;\n  margin: 0.2em 0 0 0.5em;\n  max-width: 10em;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.msg-header-date[_ngcontent-%COMP%] {\n  font-size: 0.7em;\n  margin-left: 0.5em;\n}\n.profile-pic-container-small[_ngcontent-%COMP%] {\n  background: rgba(255, 255, 255, 0);\n  height: 1.7em;\n  width: 1.7em;\n  border-radius: 100%;\n  display: flex;\n}\n.card-icon[_ngcontent-%COMP%] {\n  width: 1em;\n  height: 1em;\n}\n\n.btn[_ngcontent-%COMP%]:focus, .btn[_ngcontent-%COMP%]:active {\n  outline: none !important;\n  box-shadow: none !important;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n  width: 0.2em;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n  opacity: 0;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n  background: var(--scrollbar-thumb);\n  opacity: 0.1;\n  border-radius: 1em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lc3NhZ2UtbW9kYWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7RUFDRSxXQUFXO0VBQ1gsWUFBWTtBQUNkO0FBRUE7RUFDRSxtQ0FBbUM7RUFDbkMsV0FBVztFQUNYLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0FBQ2xCO0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7QUFFQSxtQkFBbUI7QUFFbkI7RUFDRSxnQkFBZ0I7RUFDaEIsMkJBQTJCO0FBQzdCO0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7QUFFQTtFQUNFLG9DQUFvQztFQUNwQyxZQUFZO0VBQ1osV0FBVztFQUNYLFdBQVc7RUFDWCxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLDJCQUEyQjtBQUM3QjtBQUVBO0VBQ0UsYUFBYTtBQUNmO0FBRUE7RUFDRSxXQUFXO0FBQ2I7QUFFQSwwQkFBMEI7QUFDMUI7RUFDRSwrQkFBK0I7RUFDL0IsdURBQXVEO0VBQ3ZELFlBQVk7RUFDWixZQUFZO0VBQ1osd0JBQXdCOztFQUV4QixnQkFBZ0I7QUFDbEI7QUFFQSxtQkFBbUI7QUFDbkI7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixnQkFBZ0I7RUFDaEIsOEJBQThCO0FBQ2hDO0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCO0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLHVC
5466QUF1QjtFQUN2QixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixtQkFBbUI7QUFDckI7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7QUFFQTtFQUNFLGtDQUFrQztFQUNsQyxhQUFhO0VBQ2IsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixhQUFhO0FBQ2Y7QUFFQTtFQUNFLFVBQVU7RUFDVixXQUFXO0FBQ2I7QUFFQSxrRkFBa0Y7QUFDbEY7O0VBRUUsd0JBQXdCO0VBQ3hCLDJCQUEyQjtBQUM3QjtBQUVBLFVBQVU7QUFDVjtFQUNFLFlBQVk7QUFDZDtBQUVBLFVBQVU7QUFDVjtFQUNFLFVBQVU7QUFDWjtBQUVBLFdBQVc7QUFDWDtFQUNFLGtDQUFrQztFQUNsQyxZQUFZO0VBQ1osa0JBQWtCO0FBQ3BCIiwiZmlsZSI6Im1lc3NhZ2UtbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIE1lc3NhZ2UgQ2FyZCAqL1xuLmNhcmQge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWVzc2FnZS1jYXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gIHdpZHRoOiAxMDAlO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtYXgtaGVpZ2h0OiAzMGVtO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGFibGUgdGQge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKiBNZXNzYWdlIGltYWdlcyAqL1xuXG4ubXNnLWZvb3Rlci1pbWcge1xuICBtYXgtaGVpZ2h0OiAyMGVtO1xuICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIDAuMnM7XG59XG5cbi5tc2ctZm9vdGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tc2ctZm9vdGVyLWltZy1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAwLjJzO1xufVxuXG4ubXNnLWZvb3Rlci1pbWctb3ZlcmxheTpob3ZlciB7XG4gIG9wYWNpdHk6IDEwMCU7XG59XG5cbiNleHRlcm5hbC1saW5rLWljb24ge1xuICBoZWlnaHQ6IDMzJTtcbn1cblxuLyogTWVzc2FnZSBDYXJvdXNlbCBQYWdlICovXG4ucGFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIGJveC1zaGFkb3c6IDAgMC4xNWVtIDAuMjVlbSAwLjA1ZW0gcmdiYSgwLCAwLCAwLCAwLjE3NSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgaGVpZ2h0OiA3MHZoO1xuICBwYWRkaW5nOiAzZW0gNmVtIDNlbSA2ZW07XG5cbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLyogTWVzc2FnZSBIZWFkZXIgKi9cbi5tc2ctaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBwYWRkaW5nOiAwLjVlbSAwLjVlbSAwLjVlbSAxZW07XG59XG5cbi5tc2ctaGVhZGVyLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLm1zZy1oZWFkZXItdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBtYXJnaW46IDAuMmVtIDAgMCAwLjVlbTtcbiAgbWF4LXdpZHRoOiAxMGVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1zZy1oZWFkZXItZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMC43ZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cblxuLnByb2ZpbGUtcGljLWNvbnRhaW5lci1zbWFsbCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIGhlaWdodDogMS43ZW07XG4gIHdpZHRoOiAxLjdlbTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmNhcmQtaWNvbiB7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xufVxuXG4vKiBSZW1vdmUgdGhlIGJsdWUgb3V0bGluZSBhcm91bmQgdGhlIGJ1dHRvbiBvbiB0aGUgaGVhZGVycyB3aGVuIHRoZXkncmUgY2xpY2tlZCAqL1xuLmJ0bjpmb2N1cyxcbi5idG46YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIHdpZHRoICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDAuMmVtO1xufVxuXG4vKiBUcmFjayAqL1xuOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qIEhhbmRsZSAqL1xuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci10aHVtYik7XG4gIG9wYWNpdHk6IDAuMTtcbiAgYm9yZGVyLXJhZGl1czogMWVtO1xufVxuIl19 */"] });
5467
5468
5469/***/ }),
5470
5471/***/ 46438:
5472/*!*******************************************************************************!*\
5473  !*** ./src/app/pages/viewing/messages/image-footer/image-footer.component.ts ***!
5474  \*******************************************************************************/
5475/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5476
5477"use strict";
5478__webpack_require__.r(__webpack_exports__);
5479/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5480/* harmony export */   "ImageFooterComponent": function() { return /* binding */ ImageFooterComponent; }
5481/* harmony export */ });
5482/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 37716);
5483/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common */ 38583);
5484/* harmony import */ var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/fire/storage */ 68274);
5485
5486
5487
5488
5489function ImageFooterComponent_a_1_div_4_Template(rf, ctx) { if (rf & 1) {
5490    const _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetCurrentView"]();
5491    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 7);
5492    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("click", function ImageFooterComponent_a_1_div_4_Template_div_click_0_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵrestoreView"](_r6); const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"](2); return ctx_r5.popupMessage.emit(); });
5493    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "span");
5494    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2);
5495    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5496    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5497} if (rf & 2) {
5498    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"](2);
5499    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](2);
5500    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtextInterpolate1"]("+", ctx_r2.imageList.length - 3, "");
5501} }
5502function ImageFooterComponent_a_1_ng_template_5_Template(rf, ctx) { if (rf & 1) {
5503    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "a", 8);
5504    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipe"](1, "getDownloadURL");
5505    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](2, "img", 9);
5506    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5507} if (rf & 2) {
5508    const image_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"]().$implicit;
5509    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("href", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipeBind1"](1, 1, image_r1), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsanitizeUrl"]);
5510} }
5511function ImageFooterComponent_a_1_Template(rf, ctx) { if (rf & 1) {
5512    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "a", 2);
5513    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](1, "img", 3);
5514    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipe"](2, "getDownloadURL");
5515    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "div", 4);
5516    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](4, ImageFooterComponent_a_1_div_4_Template, 3, 1, "div", 5);
5517    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](5, ImageFooterComponent_a_1_ng_template_5_Template, 3, 3, "ng-template", null, 6, _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplateRefExtractor"]);
5518    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5519    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5520} if (rf & 2) {
5521    const image_r1 = ctx.$implicit;
5522    const _r3 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵreference"](6);
5523    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"]();
5524    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](1);
5525    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("src", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipeBind1"](2, 3, image_r1), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsanitizeUrl"]);
5526    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](3);
5527    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngIf", ctx_r0.imageList.indexOf(image_r1) === 2 && ctx_r0.imageList.length > 3)("ngIfElse", _r3);
5528} }
5529const _c0 = function (a0) { return { background: a0 }; };
5530class ImageFooterComponent {
5531    constructor() {
5532        this.popupMessage = new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter();
5533    }
5534    ngOnInit() { }
5535}
5536ImageFooterComponent.ɵfac = function ImageFooterComponent_Factory(t) { return new (t || ImageFooterComponent)(); };
5537ImageFooterComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ type: ImageFooterComponent, selectors: [["app-image-footer"]], inputs: { backColor: "backColor", imageList: "imageList" }, outputs: { popupMessage: "popupMessage" }, decls: 2, vars: 4, consts: [[1, "d-flex", "p-2", "msg-footer", 3, "ngStyle"], ["class", "col p-0 d-flex justify-content-center", 4, "ngFor", "ngForOf"], [1, "col", "p-0", "d-flex", "justify-content-center"], ["alt", "Virtrolio Message image", 1, "msg-footer-img", 3, "src"], [1, "msg-footer-img-overlay"], ["class", "d-flex justify-content-center align-items-center", "id", "extra-image-counter", 3, "click", 4, "ngIf", "ngIfElse"], ["externalLink", ""], ["id", "extra-image-counter", 1, "d-flex", "justify-content-center", "align-items-center", 3, "click"], ["target", "_blank", 1, "h-100", "w-100", "d-flex", "justify-content-center", "align-items-center", 3, "href"], ["src", "../../../../../assets/images/icons/external-link.svg", "alt", "Virtrolio Message image", 1, "external-link-icon"]], template: function ImageFooterComponent_Template(rf, ctx) { if (rf & 1) {
5538        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0);
5539        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](1, ImageFooterComponent_a_1_Template, 7, 5, "a", 1);
5540        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
5541    } if (rf & 2) {
5542        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpureFunction1"](2, _c0, ctx.backColor));
5543        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](1);
5544        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngForOf", ctx.imageList.slice(0, 3));
5545    } }, directives: [_angular_common__WEBPACK_IMPORTED_MODULE_1__.NgStyle, _angular_common__WEBPACK_IMPORTED_MODULE_1__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_1__.NgIf], pipes: [_angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__.GetDownloadURLPipe], styles: [".msg-footer[_ngcontent-%COMP%] {\n  height: 7em;\n}\n\n.msg-footer-img[_ngcontent-%COMP%] {\n  width: 100%;\n  -o-object-fit: cover;\n     object-fit: cover;\n  transition: all linear 0.2s;\n}\n\n.msg-footer-img-overlay[_ngcontent-%COMP%] {\n  background-color: rgba(0, 0, 0, 0.5);\n  height: 100%;\n  width: 100%;\n  z-index: 10;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  position: absolute;\n  opacity: 0;\n  transition: all linear 0.2s;\n}\n\n.msg-footer-img-overlay[_ngcontent-%COMP%]:hover {\n  opacity: 100%;\n}\n\n.external-link-icon[_ngcontent-%COMP%] {\n  height: 2em;\n}\n\n#extra-image-counter[_ngcontent-%COMP%] {\n  width: 100%;\n  height: 100%;\n  cursor: pointer;\n}\n\n#extra-image-counter[_ngcontent-%COMP%]    > span[_ngcontent-%COMP%] {\n  font-size: 2em;\n  color: white;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImltYWdlLWZvb3Rlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlCQUF5Qjs7QUFFekI7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsb
55450JBQWlCO0tBQWpCLGlCQUFpQjtFQUNqQiwyQkFBMkI7QUFDN0I7O0FBRUE7RUFDRSxvQ0FBb0M7RUFDcEMsWUFBWTtFQUNaLFdBQVc7RUFDWCxXQUFXO0VBQ1gsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDViwyQkFBMkI7QUFDN0I7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsWUFBWTtBQUNkIiwiZmlsZSI6ImltYWdlLWZvb3Rlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogTWVzc2FnZSBpbWFnZSBmb290ZXIgKi9cblxuLm1zZy1mb290ZXIge1xuICBoZWlnaHQ6IDdlbTtcbn1cblxuLm1zZy1mb290ZXItaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIDAuMnM7XG59XG5cbi5tc2ctZm9vdGVyLWltZy1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAwLjJzO1xufVxuXG4ubXNnLWZvb3Rlci1pbWctb3ZlcmxheTpob3ZlciB7XG4gIG9wYWNpdHk6IDEwMCU7XG59XG5cbi5leHRlcm5hbC1saW5rLWljb24ge1xuICBoZWlnaHQ6IDJlbTtcbn1cblxuI2V4dHJhLWltYWdlLWNvdW50ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiNleHRyYS1pbWFnZS1jb3VudGVyID4gc3BhbiB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBjb2xvcjogd2hpdGU7XG59XG4iXX0= */"] });
5546
5547
5548/***/ }),
5549
5550/***/ 2360:
5551/*!**************************************************************!*\
5552  !*** ./src/app/pages/viewing/messages/messages.component.ts ***!
5553  \**************************************************************/
5554/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5555
5556"use strict";
5557__webpack_require__.r(__webpack_exports__);
5558/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5559/* harmony export */   "MessagesComponent": function() { return /* binding */ MessagesComponent; }
5560/* harmony export */ });
5561/* harmony import */ var _message_modal_message_modal_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../message-modal/message-modal.component */ 1641);
5562/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/core */ 37716);
5563/* harmony import */ var _core_viewing_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../core/viewing.service */ 91225);
5564/* harmony import */ var _core_auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../core/auth.service */ 87341);
5565/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/router */ 39895);
5566/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/common */ 38583);
5567/* harmony import */ var ngx_toastr__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ngx-toastr */ 49344);
5568/* harmony import */ var ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ngx-bootstrap/modal */ 63301);
5569/* harmony import */ var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../core/msg-io.service */ 84468);
5570/* harmony import */ var ngx_markdown__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ngx-markdown */ 76715);
5571/* harmony import */ var _image_footer_image_footer_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./image-footer/image-footer.component */ 46438);
5572/* harmony import */ var _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../shared/components/inline-images/inline-images.component */ 72321);
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585function MessagesComponent_div_0_Template(rf, ctx) { if (rf & 1) {
5586    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 2);
5587    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](1, "div", 3);
5588    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5589} }
5590function MessagesComponent_ng_template_1_div_0_Template(rf, ctx) { if (rf & 1) {
5591    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 2);
5592    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 16);
5593    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](2, "img", 17);
5594    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "h1", 18);
5595    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](4, "No messages yet");
5596    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5597    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "p", 19);
5598    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](6, " Go to ");
5599    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](7, "a", 20);
5600    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](8, "your virtrolio");
5601    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5602    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](9, " and generate a Sharing Link to send to your friends! ");
5603    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5604    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5605    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5606} }
5607function MessagesComponent_ng_template_1_ng_template_1_button_2_Template(rf, ctx) { if (rf & 1) {
5608    const _r11 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"]();
5609    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "button", 26);
5610    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_button_2_Template_button_click_0_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r11); const ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](3); return ctx_r10.toggleViewStyle(); });
5611    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](1, " Switch to Booklet ");
5612    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5613} }
5614function MessagesComponent_ng_template_1_ng_template_1_button_3_Template(rf, ctx) { if (rf & 1) {
5615    const _r13 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"]();
5616    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "button", 26);
5617    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_button_3_Template_button_click_0_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r13); const ctx_r12 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](3); return ctx_r12.toggleViewStyle(); });
5618    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](1, " Switch to Cards ");
5619    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5620} }
5621function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_app_image_footer_27_Template(rf, ctx) { if (rf & 1) {
5622    const _r19 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"]();
5623    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "app-image-footer", 47);
5624    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("popupMessage", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_app_image_footer_27_Template_app_image_footer_popupMessage_0_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r19); const msg_r15 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"]().$implicit; const ctx_r17 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); return ctx_r17.popupMessage(msg_r15); });
5625    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5626} if (rf & 2) {
5627    const msg_r15 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"]().$implicit;
5628    const ctx_r16 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4);
5629    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("imageList", msg_r15.images)("backColor", ctx_r16.generateHeaderColor(msg_r15.backColor).bg);
5630} }
5631const _c0 = function (a0, a1) { return { background: a0, color: a1 }; };
5632const _c1 = function () { return ["/viewing"]; };
5633const _c2 = function (a0) { return { messageId: a0, showBookmarkAlert: true }; };
5634const _c3 = function (a0, a1, a2) { return { background: a0, color: a1, "font-family": a2 }; };
5635function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template(rf, ctx) { if (rf & 1) {
5636    const _r22 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"]();
5637    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 29);
5638    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 30);
5639    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](2, "div", 31);
5640    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "table", 32);
5641    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](4, "tr");
5642    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "td");
5643    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "span", 33);
5644    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](7, "img", 34);
5645    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5646    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5647    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](8, "td");
5648    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "table");
5649    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](10, "tr", 35);
5650    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](11);
5651    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5652    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "tr", 36);
5653    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](13);
5654    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5655    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5656    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5657    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5658    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5659    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5660    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](14, "div", 37);
5661    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](15, "table", 32);
5662    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](16, "tr");
5663    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](17, "td");
5664    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](18, "button", 38);
5665    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template_button_click_18_listener() { const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r22); const msg_r15 = restoredCtx.$implicit; const ctx_r21 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); return ctx_r21.popupMessage(msg_r15); });
5666    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](19, "img", 39);
5667    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5668    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](20, "a", 40);
5669    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](21, "button", 38);
5670    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template_button_click_21_listener() { const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r22); const msg_r15 = restoredCtx.$implicit; const ctx_r23 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); return ctx_r23.viewService.bookmarkMessage(msg_r15.id); });
5671    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](22, "img", 41);
5672    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5673    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5674    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](23, "button", 42);
5675    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template_button_click_23_listener() { const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r22); const msg_r15 = restoredCtx.$implicit; const ctx_r24 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); return ctx_r24.viewService.setMessageToDelete(msg_r15.id); });
5676    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](24, "img", 43);
5677    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5678    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5679    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5680    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5681    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5682    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5683    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](25, "div", 44);
5684    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template_div_click_25_listener() { const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r22); const msg_r15 = restoredCtx.$implicit; const ctx_r25 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); return ctx_r25.popupMessage(msg_r15); });
5685    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](26, "markdown", 45);
5686    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5687    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](27, MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_app_image_footer_27_Template, 1, 2, "app-image-footer", 46);
5688    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5689} if (rf & 2) {
5690    const msg_r15 = ctx.$implicit;
5691    const ctx_r14 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4);
5692    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("id", msg_r15.id);
5693    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
5694    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction2"](13, _c0, ctx_r14.generateHeaderColor(msg_r15.backColor).bg, ctx_r14.generateHeaderColor(msg_r15.backColor).text));
5695    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](6);
5696    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", msg_r15.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]);
5697    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4);
5698    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", msg_r15.fromName, " ");
5699    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
5700    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", ctx_r14.viewService.timeSince(ctx_r14.viewService.n
5700owMillis, msg_r15.timestamp.toMillis(), msg_r15.timestamp.toDate().toDateString()), " ");
5701    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](6);
5702    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx_r14.generateHeaderColor(msg_r15.backColor).popup, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]);
5703    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
5704    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("routerLink", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction0"](16, _c1))("queryParams", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction1"](17, _c2, msg_r15.id));
5705    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
5706    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx_r14.generateHeaderColor(msg_r15.backColor).bookmark, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]);
5707    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
5708    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx_r14.generateHeaderColor(msg_r15.backColor).trash, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]);
5709    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
5710    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction3"](19, _c3, msg_r15.backColor, msg_r15.fontColor, ctx_r14.viewService.fonts[msg_r15.fontFamily].fontFamily + "," + ctx_r14.viewService.fonts[msg_r15.fontFamily].backupFont));
5711    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
5712    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("data", ctx_r14.viewService.decodeHtml(msg_r15.contents));
5713    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
5714    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", msg_r15.images && msg_r15.images.length > 0);
5715} }
5716function MessagesComponent_ng_template_1_ng_template_1_div_4_Template(rf, ctx) { if (rf & 1) {
5717    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 27);
5718    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](1, MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template, 28, 23, "div", 28);
5719    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5720} if (rf & 2) {
5721    const ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](3);
5722    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
5723    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngForOf", ctx_r8.messageList);
5724} }
5725function MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_app_inline_images_23_Template(rf, ctx) { if (rf & 1) {
5726    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](0, "app-inline-images", 64);
5727} if (rf & 2) {
5728    const msg_r27 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"]().$implicit;
5729    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("images", msg_r27.images);
5730} }
5731function MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_Template(rf, ctx) { if (rf & 1) {
5732    const _r31 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"]();
5733    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 60);
5734    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 30);
5735    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](2, "div", 31);
5736    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "table", 32);
5737    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](4, "tr");
5738    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "td");
5739    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "span", 33);
5740    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](7, "img", 34);
5741    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5742    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5743    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](8, "td");
5744    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "table");
5745    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](10, "tr", 35);
5746    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](11);
5747    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5748    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "tr", 36);
5749    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](13);
5750    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5751    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5752    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5753    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5754    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5755    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5756    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](14, "div", 61);
5757    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](15, "table", 32);
5758    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](16, "tr");
5759    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](17, "td");
5760    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](18, "a", 40);
5761    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](19, "button", 38);
5762    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_Template_button_click_19_listener() { const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r31); const msg_r27 = restoredCtx.$implicit; const ctx_r30 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); return ctx_r30.viewService.bookmarkMessage(msg_r27.id); });
5763    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](20, "img", 41);
5764    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5765    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5766    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5767    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5768    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5769    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5770    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5771    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](21, "div", 62);
5772    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](22, "markdown", 45);
5773    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](23, MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_app_inline_images_23_Template, 1, 1, "app-inline-images", 63);
5774    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5775    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5776} if (rf & 2) {
5777    const msg_r27 = ctx.$implicit;
5778    const ctx_r26 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4);
5779    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
5780    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction2"](10, _c0, ctx_r26.generateHeaderColor(msg_r27.backColor).bg, ctx_r26.generateHeaderColor(msg_r27.backColor).text));
5781    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](6);
5782    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", msg_r27.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]);
5783    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4);
5784    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", msg_r27.fromName, " ");
5785    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
5786    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", ctx_r26.viewService.timeSince(ctx_r26.viewService.n
5786owMillis, msg_r27.timestamp.toMillis(), msg_r27.timestamp.toDate().toDateString()), " ");
5787    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](5);
5788    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("routerLink", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction0"](13, _c1))("queryParams", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction1"](14, _c2, msg_r27.id));
5789    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
5790    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx_r26.generateHeaderColor(msg_r27.backColor).bookmark, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]);
5791    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
5792    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction3"](16, _c3, msg_r27.backColor, msg_r27.fontColor, ctx_r26.viewService.fonts[msg_r27.fontFamily].fontFamily + "," + ctx_r26.viewService.fonts[msg_r27.fontFamily].backupFont));
5793    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
5794    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("data", ctx_r26.viewService.decodeHtml(msg_r27.contents));
5795    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
5796    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", msg_r27.images);
5797} }
5798function MessagesComponent_ng_template_1_ng_template_1_div_5_Template(rf, ctx) { if (rf & 1) {
5799    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 48);
5800    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 49);
5801    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](2, "div", 50);
5802    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "div", 51);
5803    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](4, "div", 52);
5804    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "div", 31);
5805    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "table", 32);
5806    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](7, "tr");
5807    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](8, "td");
5808    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "span", 33);
5809    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](10, "img", 53);
5810    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5811    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5812    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](11, "td");
5813    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "table");
5814    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](13, "tr", 35);
5815    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](14, " Virtrolio Team ");
5816    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5817    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](15, "tr", 36);
5818    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](16);
5819    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5820    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5821    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5822    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5823    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5824    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5825    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5826    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](17, "div", 54);
5827    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](18, "div", 55);
5828    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](19, " Welcome to your virtrolio! Click on the buttons below to navigate through your messages. ");
5829    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5830    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5831    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5832    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](20, MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_Template, 24, 20, "div", 56);
5833    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5834    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5835    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](21, "div", 57);
5836    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](22, "a", 58);
5837    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](23, "Prev");
5838    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5839    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](24, "a", 59);
5840    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](25, "Next");
5841    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5842    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5843    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5844} if (rf & 2) {
5845    const ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](3);
5846    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](16);
5847    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate2"](" You have ", ctx_r9.messageList.length, " ", ctx_r9.oneMessage, " ");
5848    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4);
5849    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngForOf", ctx_r9.messageList);
5850} }
5851function MessagesComponent_ng_template_1_ng_template_1_Template(rf, ctx) { if (rf & 1) {
5852    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 21);
5853    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 22);
5854    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](2, MessagesComponent_ng_template_1_ng_template_1_button_2_Template, 2, 0, "button", 23);
5855    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](3, MessagesComponent_ng_template_1_ng_template_1_button_3_Template, 2, 0, "button", 23);
5856    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5857    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5858    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](4, MessagesComponent_ng_template_1_ng_template_1_div_4_Template, 2, 1, "div", 24);
5859    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](5, MessagesComponent_ng_template_1_ng_template_1_div_5_Template, 26, 3, "div", 25);
5860} if (rf & 2) {
5861    const ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](2);
5862    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
5863    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", !ctx_r5.viewService.isCarouselView);
5864    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
5865    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx_r5.viewService.isCarouselView);
5866    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
5867    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx_r5.viewService.isCarouselView === false);
5868    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
5869    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx_r5.viewService.isCarouselView == true);
5870} }
5871function MessagesComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
5872    const _r33 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"]();
5873    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](0, MessagesComponent_ng_template_1_div_0_Template, 10, 0, "div", 0);
5874    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](1, MessagesComponent_ng_template_1_ng_template_1_Template, 6, 4, "ng-template", null, 4, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplateRefExtractor"]);
5875    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "div", 5);
5876    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](4, "div", 6);
5877    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "div", 7);
5878    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "div", 8);
5879    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](7, "h5", 9);
5880    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](8, "Easy now!");
5881    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5882    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "button", 10);
5883    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](10, "span", 11);
5884    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](11, "\u00D7");
5885    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5886    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5887    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5888    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "div", 12);
5889    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](13, " Looks like you're trying to delete a message! Please be sure that this is what you want to do. ");
5890    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](14, "b");
5891    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](15, "It is not possible to recover a deleted message.");
5892    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5893    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5894    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](16, "div", 13);
5895    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](17, "button", 14);
5896    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_Template_button_click_17_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r33); const ctx_r32 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](); return ctx_r32.viewService.deleteMessage(); });
5897    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](18, " Delete Message ");
5898    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5899    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](19, "button", 15);
5900    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](20, " Cancel ");
5901    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5902    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5903    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5904    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5905    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
5906} if (rf & 2) {
5907    const _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵreference"](2);
5908    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"]();
5909    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx_r2.messageList.length === 0)("ngIfElse", _r4);
5910} }
5911class MessagesComponent {
5912    constructor(viewService, authService, route, router, vps, toastr, modalService, msgIoService) {
5913        this.viewService = viewService;
5914        this.authService = authService;
5915        this.route = route;
5916        this.router = router;
5917        this.vps = vps;
5918        this.toastr = toastr;
5919        this.modalService = modalService;
5920        this.msgIoService = msgIoService;
5921        this.isLoading = true;
5922        this.messageList = [];
5923        this.oneMessage = 'messages';
5924    }
5925    /**
5926     * Assign messages passed via the [setMessageList] binding
5927     * @param messages list of verified VirtrolioMessages
5928     */
5929    set setMessageList(messages) {
5930        if (messages) {
5931            this.messageList = messages;
5932            // Set 'You have x message(s)' text based on number of messages
5933            this.messageList.length === 1
5934                ? (this.oneMessage = 'message')
5935                : (this.oneMessage = 'messages');
5936        }
5937    }
5938    set setIsLoading(isLoading) {
5939        this.isLoading = isLoading;
5940    }
5941    ngOnInit() { }
5942    /**
5943     * Generate the lightness value of HSL from RBG
5944     */
5945    getLightness(r, g, b) {
5946        r /= 255;
5947        g /= 255;
5948        b /= 255;
5949        const max = Math.max(r, g, b);
5950        const min = Math.min(r, g, b);
5951        return (max + min) / 2;
5952    }
5953    ngOnDestroy() {
5954        $('#delete').modal('hide');
5955    }
5956    /**
5957     * Generate a darkened version of backColor, returning this new header color and the appropriate header text color
5958     * @param backColor: background color of the message
5959     */
5960    generateHeaderColor(backColor) {
5961        const bgR = parseInt(backColor.slice(1, 3), 16);
5962        const bgG = parseInt(backColor.slice(3, 5), 16);
5963        const bgB = parseInt(backColor.slice(5), 16);
5964        let headerTextColor;
5965        let trashIcon;
5966        let bookmarkIcon;
5967        let popupIcon;
5968        if (this.getLightness(bgR, bgG, bgB) > 0.65) {
5969            headerTextColor = '#000000';
5970            trashIcon = '../../../../assets/images/icons/trash-black.svg';
5971            bookmarkIcon = '../../../../assets/images/icons/bookmark-black.svg';
5972            popupIcon = '../../../../assets/images/icons/maximize-black.svg';
5973        }
5974        else {
5975            headerTextColor = '#FFFFFF';
5976            trashIcon = '../../../../assets/images/icons/trash-white.svg';
5977            bookmarkIcon = '../../../../assets/images/icons/bookmark-white.svg';
5978            popupIcon = '../../../../assets/images/icons/maximize-white.svg';
5979        }
5980        const hR = bgR + 20 > 255 ? 255 : bgR + 20;
5981        const hG = bgG + 20 > 255 ? 255 : bgG + 20;
5982        const hB = bgB + 20 > 255 ? 255 : bgB + 20;
5983        const headerColor = hR.toString(16) + hG.toString(16) + hB.toString(16);
5984        return {
5985            bg: '#' + headerColor,
5986            text: headerTextColor,
5987            trash: trashIcon,
5988            bookmark: bookmarkIcon,
5989            popup: popupIcon,
5990        };
5991    }
5992    /**
5993     * Activate an NgbModal to display the selected message
5994     * @param msg VirtrolioMessage object
5995     */
5996    popupMessage(msg) {
5997        this.viewService.currentMessageModal = msg;
5998        this.modalService.show(_message_modal_message_modal_component__WEBPACK_IMPORTED_MODULE_0__.MessageModalComponent, {
5999            class: 'modal-dialog-centered',
6000        });
6001    }
6002    /**
6003     * Swap between message viewing styles
6004     */
6005    toggleViewStyle() {
6006        this.viewService.isCarouselView = this.viewService.isCarouselView === false;
6007    }
6008}
6009MessagesComponent.ɵfac = function MessagesComponent_Factory(t) { return new (t || MessagesComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_1__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_common__WEBPACK_IMPORTED_MODULE_9__.ViewportScroller), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](ngx_toastr__WEBPACK_IMPORTED_MODULE_10__.ToastrService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_3__.BsModalService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_4__.MsgIoService)); };
6010MessagesComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdefineComponent"]({ type: MessagesComponent, selectors: [["app-messages"]], inputs: { setMessageList: "setMessageList", setIsLoading: "setIsLoading" }, decls: 3, vars: 2, consts: [["class", "centered-container d-flex justify-content-center", 4, "ngIf", "ngIfElse"], ["messages", ""], [1, "centered-container", "d-flex", "justify-content-center"], ["role", "status", 1, "spinner-border"], ["showMessages", ""], ["aria-hidden", "true", "aria-labelledby", "delete-message-modal-title", "id", "delete", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["role", "document", 1, "modal-dialog", "modal-dialog-centered"], [1, "modal-content"], [1, "modal-header"], ["id", "delete-message-modal-title", 1, "modal-title"], ["aria-label", "Close", "data-dismiss", "modal", "type", "button", 1, "close"], ["aria-hidden", "true"], ["id", "delete-message-body", 1, "modal-body"], [1, "modal-footer"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-danger", 3, "click"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-secondary"], [1, "empty-state-container", "px-5"], ["alt", "No messages", "src", "../../../assets/images/EmptyMessages.svg", 1, "empty-state-img"], [1, "empty-state-header", "pt-2"], [1, "empty-state-body", "pt-2"], ["routerLink", "/my-virtrolio", "routerLinkActive", "navbar-nav-active"], [1, "row", "my-3"], [1, "col-12"], ["class", "btn-sm btn-primary shadow", 3, "click", 4, "ngIf"], ["class", "card-columns mt-3", 4, "ngIf"], ["class", "viewing-container mb-5", 4, "ngIf"], [1, "btn-sm", "btn-primary", "shadow", 3, "click"], [1, "card-columns", "mt-3"], ["class", "card shadow", 3, "id", 4, "ngFor", "ngForOf"], [1, "card", "shadow", 3, "id"], [1, "msg-header", 3, "ngStyle"], [1, "msg-header-group", "pt-1"], [1, "header-table"], [1, "profile-pic-container-small", "mr-2"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [1, "msg-header-text"], [1, "msg-header-date"], [1, "card-header-group"], ["type", "button", 1, "btn", "card-button", 3, "click"], ["alt", "popup", 1, "card-icon", 3, "src"], ["target", "_blank", 3, "routerLink", "queryParams"], ["alt", "bookmark", 1, "card-icon", 3, "src"], ["data-target", "#delete", "data-toggle", "modal", "type", "button", 1, "btn", "card-button", 3, "click"], ["alt", "delete", 1, "card-icon", 3, "src"], [1, "card-body", "message-card", "message", 3, "ngStyle", "click"], ["emoji", "", 3, "data"], [3, "imageList", "backColor", "popupMessage", 4, "ngIf"], [3, "imageList", "backColor", "popupMessage"], [1, "viewing-container", "mb-5"], ["data-interval", "false", "data-ride", "carousel", "id", "carousel", 1, "carousel", "slide", "border", "rounded"], [1, "carousel-inner"], [1, "carousel-item", "active"], [1, "msg-header"], ["alt", "profile-pic", "src", "../../../../assets/images/logo_reg.png", 1, "profile-pic"], [1, "page", "title-page", "vertical-center"], [1, "title-text"], ["class", "carousel-item", 4, "ngFor", "ngForOf"], [1, "carousel-control
6010s", "shadow"], ["data-slide", "prev", "href", "#carousel", "role", "button", 1, "carousel-controls-button"], ["data-slide", "next", "href", "#carousel", "role", "button", 1, "carousel-controls-button"], [1, "carousel-item"], [1, "card-header-group", "vertical-center"], [1, "card-body", "page", "message", 3, "ngStyle"], [3, "images", 4, "ngIf"], [3, "images"]], template: function MessagesComponent_Template(rf, ctx) { if (rf & 1) {
6011        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](0, MessagesComponent_div_0_Template, 2, 0, "div", 0);
6012        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](1, MessagesComponent_ng_template_1_Template, 21, 2, "ng-template", null, 1, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplateRefExtractor"]);
6013    } if (rf & 2) {
6014        const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵreference"](2);
6015        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx.isLoading)("ngIfElse", _r1);
6016    } }, directives: [_angular_common__WEBPACK_IMPORTED_MODULE_9__.NgIf, _angular_router__WEBPACK_IMPORTED_MODULE_8__.RouterLinkWithHref, _angular_router__WEBPACK_IMPORTED_MODULE_8__.RouterLinkActive, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgStyle, ngx_markdown__WEBPACK_IMPORTED_MODULE_11__.MarkdownComponent, _image_footer_image_footer_component__WEBPACK_IMPORTED_MODULE_5__.ImageFooterComponent, _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_6__.InlineImagesComponent], styles: [".title-page[_ngcontent-%COMP%] {\n  text-align: center;\n  font-size: 1em;\n  font-family: Montserrat, sans-serif;\n}\n\n.empty-state-container[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  text-align: center;\n}\n\n.empty-state-img[_ngcontent-%COMP%] {\n  width: 10em;\n}\n\n.empty-state-header[_ngcontent-%COMP%] {\n  font-size: 1.5em;\n  color: var(--light-grey);\n}\n\n.empty-state-body[_ngcontent-%COMP%] {\n  font-size: 1em;\n  color: var(--light-grey);\n}\n\n.message[_ngcontent-%COMP%] {\n  text-align: justify;\n  font-size: 1em;\n}\n\n\n\n.card[_ngcontent-%COMP%] {\n  display: inline-block;\n}\n\n.message-card[_ngcontent-%COMP%] {\n  position: relative;\n  background-color: var(--light-grey);\n  width: 100%;\n  word-break: break-word;\n  max-height: 30em;\n  overflow: hidden;\n  cursor: pointer;\n}\n\n.table[_ngcontent-%COMP%]   td[_ngcontent-%COMP%] {\n  overflow-wrap: break-word;\n}\n\n\n\n.page[_ngcontent-%COMP%] {\n  background-color: var(--accent);\n  box-shadow: 0 0.15em 0.25em 0.05em rgba(0, 0, 0, 0.175);\n  color: white;\n  height: 70vh;\n  padding: 1.5em;\n  overflow-y: auto;\n}\n\n.carousel-controls[_ngcontent-%COMP%] {\n  display: flex;\n  justify-content: space-between;\n  padding: 1em 2em;\n}\n\n.carousel-controls-button[_ngcontent-%COMP%] {\n  color: var(--accent);\n  font-weight: bold;\n}\n\n.carousel-controls-button[_ngcontent-%COMP%]:hover {\n  text-decoration: none;\n}\n\n\n\n.msg-header[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n  justify-content: space-between;\n  line-height: 1em;\n  height: 3.5em;\n  padding: 0.5em 0.5em 0.5em 1em;\n}\n\n.msg-header-group[_ngcontent-%COMP%] {\n  display: flex;\n  flex-direction: row;\n}\n\n.msg-header-text[_ngcontent-%COMP%] {\n  font-weight: bold;\n  font-size: 0.9em;\n  margin: 0.2em 0 0 0.5em;\n  max-width: 10em;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.msg-header-date[_ngcontent-%COMP%] {\n  font-size: 0.7em;\n  margin: 0 0 0 0.5em;\n}\n\n.profile-pic-container-small[_ngcontent-%COMP%] {\n  background: #ffffff;\n  height: 1.7em;\n  width: 1.7em;\n  border-radius: 100%;\n  display: flex;\n}\n\n\n\n.btn[_ngcontent-%COMP%]:focus, .btn[_ngcontent-%COMP%]:active {\n  outline: none !important;\n  box-shadow: none !important;\n}\n\n.card-button[_ngcontent-%COMP%] {\n  display: flex;\n  float: right;\n  margin-top: 0;\n  align-self: flex-end;\n}\n\n.card-icon[_ngcontent-%COMP%] {\n  width: 1.2em;\n  height: 1.2em;\n  border-radius: 0.15em;\n  padding: 0.1em;\n}\n\n.btn[_ngcontent-%COMP%] {\n  padding: 0 0.5em;\n}\n\n@media (min-width: 0px) {\n  .card-columns[_ngcontent-%COMP%] {\n    -moz-column-count: 1;\n         column-count: 1;\n  }\n\n  .card-columns[_ngcontent-%COMP%]   .card[_ngcontent-%COMP%] {\n    width: 100%;\n  }\n}\n\n@media (min-width: 576px) {\n  .card-columns[_ngcontent-%COMP%] {\n    -moz-column-count: 1;\n         column-count: 1;\n  }\n}\n\n@media (min-width: 768px) {\n  .card-columns[_ngcontent-%COMP%] {\n    -moz-column-count: 2;\n         column-count: 2;\n  }\n}\n\n@media (min-width: 992px) {\n  .card-columns[_ngcontent-%COMP%] {\n    -moz-column-count: 3;\n         column-count: 3;\n  }\n}\n\n@media (min-width: 1200px) {\n  .card-columns[_ngcontent-%COMP%] {\n    -moz-column-count: 3;\n         column-count: 3;\n  }\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n  width: 0.2em;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n  opacity: 0;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n  background: var(--scrollbar-thumb);\n  opacity: 0.1;\n  border-radius: 1em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lc3NhZ2VzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLG1DQUFtQztBQUNyQzs7QUFFQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0UsY0FBYztFQUNkLHdCQUF3QjtB
6016QUMxQjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQixjQUFjO0FBQ2hCOztBQUVBLGlCQUFpQjs7QUFDakI7RUFDRSxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsbUNBQW1DO0VBQ25DLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBLDBCQUEwQjs7QUFDMUI7RUFDRSwrQkFBK0I7RUFDL0IsdURBQXVEO0VBQ3ZELFlBQVk7RUFDWixZQUFZO0VBQ1osY0FBYztFQUNkLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGFBQWE7RUFDYiw4QkFBOEI7RUFDOUIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLHFCQUFxQjtBQUN2Qjs7QUFFQSxtQkFBbUI7O0FBQ25CO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYiw4QkFBOEI7QUFDaEM7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixhQUFhO0FBQ2Y7O0FBRUEsa0ZBQWtGOztBQUNsRjs7RUFFRSx3QkFBd0I7RUFDeEIsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLFlBQVk7RUFDWixhQUFhO0VBQ2Isb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0UsWUFBWTtFQUNaLGFBQWE7RUFDYixxQkFBcUI7RUFDckIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFO0lBQ0Usb0JBQWU7U0FBZixlQUFlO0VBQ2pCOztFQUVBO0lBQ0UsV0FBVztFQUNiO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLG9CQUFlO1NBQWYsZUFBZTtFQUNqQjtBQUNGOztBQUVBO0VBQ0U7SUFDRSxvQkFBZTtTQUFmLGVBQWU7RUFDakI7QUFDRjs7QUFFQTtFQUNFO0lBQ0Usb0JBQWU7U0FBZixlQUFlO0VBQ2pCO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLG9CQUFlO1NBQWYsZUFBZTtFQUNqQjtBQUNGOztBQUVBLFVBQVU7O0FBQ1Y7RUFDRSxZQUFZO0FBQ2Q7O0FBRUEsVUFBVTs7QUFDVjtFQUNFLFVBQVU7QUFDWjs7QUFFQSxXQUFXOztBQUNYO0VBQ0Usa0NBQWtDO0VBQ2xDLFlBQVk7RUFDWixrQkFBa0I7QUFDcEIiLCJmaWxlIjoibWVzc2FnZXMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50aXRsZS1wYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG59XG5cbi5lbXB0eS1zdGF0ZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZW1wdHktc3RhdGUtaW1nIHtcbiAgd2lkdGg6IDEwZW07XG59XG5cbi5lbXB0eS1zdGF0ZS1oZWFkZXIge1xuICBmb250LXNpemU6IDEuNWVtO1xuICBjb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG59XG5cbi5lbXB0eS1zdGF0ZS1ib2R5IHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbn1cblxuLm1lc3NhZ2Uge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogTWVzc2FnZSBDYXJkICovXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1lc3NhZ2UtY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gIHdpZHRoOiAxMDAlO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtYXgtaGVpZ2h0OiAzMGVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YWJsZSB0ZCB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIE1lc3NhZ2UgQ2Fyb3VzZWwgUGFnZSAqL1xuLnBhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICBib3gtc2hhZG93OiAwIDAuMTVlbSAwLjI1ZW0gMC4wNWVtIHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xuICBjb2xvcjogd2hpdGU7XG4gIGhlaWdodDogNzB2aDtcbiAgcGFkZGluZzogMS41ZW07XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5jYXJvdXNlbC1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMWVtIDJlbTtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2xzLWJ1dHRvbiB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2xzLWJ1dHRvbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogTWVzc2FnZSBIZWFkZXIgKi9cbi5tc2ctaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBoZWlnaHQ6IDMuNWVtO1xuICBwYWRkaW5nOiAwLjVlbSAwLjVlbSAwLjVlbSAxZW07XG59XG5cbi5tc2ctaGVhZGVyLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLm1zZy1oZWFkZXItdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBtYXJnaW46IDAuMmVtIDAgMCAwLjVlbTtcbiAgbWF4LXdpZHRoOiAxMGVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1zZy1oZWFkZXItZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMC43ZW07XG4gIG1hcmdpbjogMCAwIDAgMC41ZW07XG59XG5cbi5wcm9maWxlLXBpYy1jb250YWluZXItc21hbGwge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBoZWlnaHQ6IDEuN2VtO1xuICB3aWR0aDogMS43ZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qIFJlbW92ZSB0aGUgYmx1ZSBvdXRsaW5lIGFyb3VuZCB0aGUgYnV0dG9ucyBvbiB0aGUgaGVhZGVyIHdoZW4gdGhleSdyZSBjbGlja2VkICovXG4uYnRuOmZvY3VzLFxuLmJ0bjphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNhcmQtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAwO1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLmNhcmQtaWNvbiB7XG4gIHdpZHRoOiAxLjJlbTtcbiAgaGVpZ2h0OiAxLjJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xNWVtO1xuICBwYWRkaW5nOiAwLjFlbTtcbn1cblxuLmJ0biB7XG4gIHBhZGRpbmc6IDAgMC41ZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAwcHgpIHtcbiAgLmNhcmQtY29sdW1ucyB7XG4gICAgY29sdW1uLWNvdW50OiAxO1xuICB9XG5cbiAgLmNhcmQtY29sdW1ucyAuY2FyZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jYXJkLWNvbHVtbnMge1xuICAgIGNvbHVtbi1jb3VudDogMTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNhcmQtY29sdW1ucyB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbn1cblxuLyogd2lkdGggKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC4yZW07XG59XG5cbi8qIFRyYWNrICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLyogSGFuZGxlICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iKTtcbiAgb3BhY2l0eTogMC4xO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG59XG4iXX0= */"] });
6017
6018
6019/***/ }),
6020
6021/***/ 39161:
6022/*!**************************************************************************!*\
6023  !*** ./src/app/pages/viewing/responses-list/responses-list.component.ts ***!
6024  \**************************************************************************/
6025/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6026
6027"use strict";
6028__webpack_require__.r(__webpack_exports__);
6029/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6030/* harmony export */   "ResponsesListComponent": function() { return /* binding */ ResponsesListComponent; }
6031/* harmony export */ });
6032/* harmony import */ var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../core/common.service */ 80150);
6033/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 37716);
6034/* harmony import */ var _core_viewing_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../core/viewing.service */ 91225);
6035/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ 38583);
6036/* harmony import */ var _core_auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../core/auth.service */ 87341);
6037/* harmony import */ var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ngx-cookie-service */ 31584);
6038
6039
6040
6041
6042
6043
6044function ResponsesListComponent_div_2_img_1_Template(rf, ctx) { if (rf & 1) {
6045    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "img", 14);
6046} }
6047function ResponsesListComponent_div_2_img_2_Template(rf, ctx) { if (rf & 1) {
6048    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "img", 15);
6049} }
6050function ResponsesListComponent_div_2_Template(rf, ctx) { if (rf & 1) {
6051    const _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
6052    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 11);
6053    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_div_2_Template_div_click_0_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r7); const ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); return ctx_r6.navToggle(); });
6054    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, ResponsesListComponent_div_2_img_1_Template, 1, 0, "img", 12);
6055    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](2, ResponsesListComponent_div_2_img_2_Template, 1, 0, "img", 13);
6056    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6057} if (rf & 2) {
6058    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
6059    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵclassProp"]("flashy-hamburger", ctx_r0.showNewToViewing);
6060    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
6061    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", !ctx_r0.navIsOpen);
6062    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
6063    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx_r0.navIsOpen);
6064} }
6065function ResponsesListComponent_div_8_Template(rf, ctx) { if (rf & 1) {
6066    const _r11 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
6067    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 16);
6068    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_div_8_Template_div_click_0_listener() { const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r11); const msg_r8 = restoredCtx.$implicit; const ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); return ctx_r10.showMessage(msg_r8.id); });
6069    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "table", 17);
6070    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "tr");
6071    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "td", 18);
6072    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "div", 19);
6073    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](5, "img", 20);
6074    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6075    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6076    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "td", 21);
6077    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](7, "table");
6078    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "tr", 22);
6079    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](9, "td");
6080    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "a", 23);
6081    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](11);
6082    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6083    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6084    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6085    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "tr", 24);
6086    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](13);
6087    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6088    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6089    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6090    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6091    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6092    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6093} if (rf & 2) {
6094    const msg_r8 = ctx.$implicit;
6095    const i_r9 = ctx.index;
6096    const ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
6097    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵattribute"]("data-sli
6097de-to", i_r9 + 1);
6098    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](5);
6099    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpropertyInterpolate"]("src", msg_r8.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵsanitizeUrl"]);
6100    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6);
6101    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](msg_r8.fromName);
6102    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
6103    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", ctx_r1.viewService.timeSince(ctx_r1.viewService.nowMillis, msg_r8.timestamp.toMillis(), msg_r8.timestamp.toDate().toDateString()), " ");
6104} }
6105function ResponsesListComponent_div_11_img_1_Template(rf, ctx) { if (rf & 1) {
6106    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "img", 14);
6107} }
6108function ResponsesListComponent_div_11_img_2_Template(rf, ctx) { if (rf & 1) {
6109    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "img", 15);
6110} }
6111function ResponsesListComponent_div_11_Template(rf, ctx) { if (rf & 1) {
6112    const _r15 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
6113    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 25);
6114    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_div_11_Template_div_click_0_listener() { _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r15); const ctx_r14 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); return ctx_r14.navToggle(); });
6115    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, ResponsesListComponent_div_11_img_1_Template, 1, 0, "img", 12);
6116    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](2, ResponsesListComponent_div_11_img_2_Template, 1, 0, "img", 13);
6117    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6118} if (rf & 2) {
6119    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
6120    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵclassProp"]("flashy-hamburger-mobile", ctx_r2.showNewToViewing);
6121    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
6122    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", !ctx_r2.navIsOpen);
6123    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
6124    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx_r2.navIsOpen);
6125} }
6126function ResponsesListComponent_div_17_Template(rf, ctx) { if (rf & 1) {
6127    const _r19 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"]();
6128    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 16);
6129    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_div_17_Template_div_click_0_listener() { const restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r19); const msg_r16 = restoredCtx.$implicit; const ctx_r18 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); return ctx_r18.showMessage(msg_r16.id); });
6130    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "table", 17);
6131    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "tr");
6132    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "td", 18);
6133    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "div", 19);
6134    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](5, "img", 20);
6135    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6136    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6137    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "td", 21);
6138    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](7, "table");
6139    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "tr", 22);
6140    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](9, "td");
6141    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "a", 23);
6142    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](11);
6143    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6144    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6145    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6146    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "tr", 24);
6147    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](13);
6148    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6149    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6150    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6151    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6152    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6153    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6154} if (rf & 2) {
6155    const msg_r16 = ctx.$implicit;
6156    const i_r17 = ctx.index;
6157    const ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]();
6158    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵattribute"]("data-sli
6158de-to", i_r17 + 1);
6159    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](5);
6160    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpropertyInterpolate"]("src", msg_r16.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵsanitizeUrl"]);
6161    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6);
6162    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](msg_r16.fromName);
6163    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
6164    _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", ctx_r3.viewService.timeSince(ctx_r3.viewService.nowMillis, msg_r16.timestamp.toMillis(), msg_r16.timestamp.toDate().toDateString()), " ");
6165} }
6166class ResponsesListComponent {
6167    constructor(viewService, vps, authService, cookieService) {
6168        this.viewService = viewService;
6169        this.vps = vps;
6170        this.authService = authService;
6171        this.cookieService = cookieService;
6172        this.navIsOpen = false;
6173        this.messageList = [];
6174        this.showNewToViewing = true;
6175        try {
6176            this.uid = this.authService.uid();
6177        }
6178        catch (e) {
6179            _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e);
6180        }
6181        try {
6182            this.authService.displayName(this.uid).then((displayName) => {
6183                this.displayName = displayName;
6184            });
6185        }
6186        catch (e) {
6187            this.displayName = 'User';
6188        }
6189        try {
6190            this.authService.profilePictureLink(this.uid).then((photoUrl) => {
6191                this.photoUrl = photoUrl;
6192            });
6193        }
6194        catch (e) {
6195            // Use the logo as a fallback profile picture
6196            this.photoUrl = '../../../../assets/images/logo_reg.png';
6197        }
6198    }
6199    /**
6200     * Assign messages passed via the [setMessageList] binding
6201     * @param messages list of verified VirtrolioMessages
6202     */
6203    set setMessageList(messages) {
6204        if (messages) {
6205            this.messageList = messages;
6206        }
6207    }
6208    ngOnInit() {
6209        if (this.cookieService.check('viewing-cookie') === false) {
6210            this.cookieService.set('viewing-cookie', 'true', 365);
6211        }
6212        this.showNewToViewingValue = this.cookieService.get('viewing-cookie');
6213        if (this.showNewToViewingValue === 'true') {
6214            this.showNewToViewing = true;
6215        }
6216        else if (this.showNewToViewingValue === 'false') {
6217            this.showNewToViewing = false;
6218        }
6219        else {
6220            _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('Viewing-cookie not found or initialized properly.');
6221        }
6222    }
6223    /**
6224     * Toggle the state of the side nav menu
6225     */
6226    navToggle() {
6227        this.navIsOpen = !this.navIsOpen;
6228        if (this.showNewToViewing) {
6229            this.cookieService.set('viewing-cookie', 'false', 365);
6230            this.showNewToViewing = false;
6231        }
6232    }
6233    /**
6234     * Scroll to the card with the given id and update the URL
6235     * @param id: id attribute of the card
6236     */
6237    showMessage(id) {
6238        this.navToggle();
6239        if (!this.viewService.isCarouselView) {
6240            this.vps.scrollToAnchor(id);
6241        }
6242    }
6243}
6244ResponsesListComponent.ɵfac = function ResponsesListComponent_Factory(t) { return new (t || ResponsesListComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_1__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_angular_common__WEBPACK_IMPORTED_MODULE_4__.ViewportScroller), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](ngx_cookie_service__WEBPACK_IMPORTED_MODULE_5__.CookieService)); };
6245ResponsesListComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineComponent"]({ type: ResponsesListComponent, selectors: [["app-responses-list"]], inputs: { setMessageList: "setMessageList" }, decls: 18, vars: 8, consts: [[1, "d-none", "d-md-block"], [1, "side-nav-container"], ["class", "hamburger vertical-center shadow", 3, "flashy-hamburger", "click", 4, "ngIf"], [1, "sidenav", "shadow"], [1, "close-btn", 3, "click"], [1, "nav-item", "mb-2", "ml-4", "response-title"], ["class", "author-container", "data-target", "#carousel", 3, "click", 4, "ngFor", "ngForOf"], [1, "d-block", "d-md-none"], [1, "side-nav-container-mobile"], ["class", "hamburger-mobile vertical-center shadow", 3, "flashy-hamburger-mobile", "click", 4, "ngIf"], [1, "sidenav-mobile", "shadow"], [1, "hamburger", "vertical-center", "shadow", 3, "click"], ["class", "chevron", "alt", "response-list", "src", "../../../../assets/images/icons/chevron-right.svg", 4, "ngIf"], ["class", "chevron", "alt", "response-list", "src", "../../../../assets/images/icons/chevron-left.svg", 4, "ngIf"], ["alt", "response-list", "src", "../../../../assets/images/icons/chevron-right.svg", 1, "chevron"], ["alt", "response-list", "src", "../../../../assets/images/icons/chevron-left.svg", 1, "chevron"], ["data-target", "#carousel", 1, "author-container", 3, "click"], [1, "header-table"], [1, "profile-pic-col"], [1, "profile-pic-container"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [1, "author-col"], [1, "msg-header-text", "author-name"], ["href", "javascript: void(0)", 1, "subtle-link"], [1, "msg-header-date"], [1, "hamburger-mobile", "vertical-center", "shadow", 3, "click"]], template: function ResponsesListComponent_Template(rf, ctx) { if (rf & 1) {
6246        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 0);
6247        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "div", 1);
6248        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](2, ResponsesListComponent_div_2_Template, 3, 4, "div", 2);
6249        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "div", 3);
6250        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "a", 4);
6251        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_Template_a_click_4_listener() { return ctx.navToggle(); });
6252        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](5, "\u00D7");
6253        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6254        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "div", 5);
6255        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](7, "My Messages");
6256        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6257        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](8, ResponsesListComponent_div_8_Template, 14, 4, "div", 6);
6258        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6259        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6260        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6261        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](9, "div", 7);
6262        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "div", 8);
6263        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](11, ResponsesListComponent_div_11_Template, 3, 4, "div", 9);
6264        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "div", 10);
6265        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](13, "a", 4);
6266        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_Template_a_click_13_listener() { return ctx.navToggle(); });
6267        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](14, "\u00D7");
6268        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6269        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](15, "div", 5);
6270        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](16, "My Messages");
6271        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6272        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](17, ResponsesListComponent_div_17_Template, 14, 4, "div", 6);
6273        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6274        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6275        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"]();
6276    } if (rf & 2) {
6277        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
6278        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵclassProp"]("nav-open", ctx.navIsOpen);
6279        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
6280        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.messageList.length !== 0);
6281        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6);
6282        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", ctx.messageList);
6283        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2);
6284        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵclassProp"]("nav-mobile-open", ctx.navIsOpen);
6285        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1);
6286        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.messageList.length !== 0);
6287        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6);
6288        _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", ctx.messageList);
6289    } }, directives: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgForOf], styles: [".side-nav-container[_ngcontent-%COMP%] {\n  height: calc(100% - var(--navbar-height));\n  position: fixed;\n  left: -25em;\n  \n  z-index: 1050;\n  transition: 0.5s;\n}\n\n.sidenav[_ngcontent-%COMP%] {\n  width: 25em;\n  height: 100%;\n  background-color: white;\n  overflow-x: hidden;\n  padding-top: 2em;\n  z-index: 1050;\n}\n.sidenav[_ngcontent-%COMP%]   .close-btn[_ngcontent-%COMP%] {\n  position: absolute;\n  color: var(--dark);\n  top: 0;\n  right: 25px;\n  font-size: 36px;\n  margin-left: 50px;\n}\n\n.hamburger[_ngcontent-%COMP%] {\n  position: absolute;\n  height: 6em;\n  width: 2em;\n  top: 2em;\n  right: -2em;\n  font-size: 1em;\n  font-weight: bold;\n  color: white;\n  background: var(--accent);\n  border-radius: 0 0.5em 0.5em 0;\n  cursor: pointer;\n  transition: 0.5s;\n  z-index: 1049;\n}\n.hamburger[_ngcontent-%COMP%]:hover {\n  transform: translate(1em, 0);\n  width: 3em;\n  transition: 0.5s;\n}\n\n.nav-open[_ngcontent-%COMP%] {\n  left: 0;\n}\n\n.side-nav-container-mobile[_ngcontent-%COMP%] {\n  height: calc(100% - var(--navbar-height));\n  position: fixed;\n  right: 100vw;\n  \n  z-index: 1050;\n  transition: 0.5s;\n}\n\n.sidenav-mobile[_ngcontent-%COMP%] {\n  width: 100vw;\n  height: 100%;\n  background-color: white;\n  overflow-x: hidden;\n  padding-top: 2em;\n  z-index: 1050;\n}\n.sidenav-mobile[_ngcontent-%COMP%]   .close-btn[_ngcontent-%COMP%] {\n  position: absolute;\n  color: var(--dark);\n  top: 0;\n  right: 25px;\n  font-size: 36px;\n  margin-left: 50px;\n}\n\n.nav-mobile-open[_ngcontent-%COMP%] {\n  right: 0;\n}\n\n.hamburger-mobile[_ngcontent-%COMP%] {\n  position: absolute;\n  height: 3em;\n  width: 2em;\n  top: 3em;\n  right: -2em;\n  font-size: 1em;\n  font-weight: bold;\n  color: white;\n  background: var(--accent);\n  border-radius: 0 0.5em 0.5em 0;\n  cursor: pointer;\n  transition: 0.5s;\n  z-index: 1049;\n}\n\n\n.close-btn[_ngcontent-%COMP%] {\n  cursor: pointer;\n}\n.close-btn[_ngcontent-%COMP%]:hover {\n  text-decoration: none;\n}\n.chevron[_ngcontent-%COMP%] {\n  position: absolute;\n  right: 0;\n}\n\n.response-title[_ngcontent-%COMP%] {\n  font-size: 1.4em;\n  font-weight: bold;\n}\n.author-container[_ngcontent-%COMP%] {\n  padding: 1em 1em 1em 2em;\n  line-height: 1.2em;\n  border-bottom: 0.05em solid var(--lighter-grey);\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  cursor: pointer;\n}\n.author-container[_ngcontent-%COMP%]:hover {\n  background: var(--response-list-hover);\n}\n.header-table[_ngcontent-%COMP%] {\n  table-layout: fixed;\n  width: 100%;\n}\n.profile-pic-col[_ngcontent-%COMP%] {\n  width: 2.5em;
6289\n}\n.author-col[_ngcontent-%COMP%] {\n  left: 1em;\n  padding-left: 1em;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.profile-pic-container[_ngcontent-%COMP%] {\n  background: white;\n  height: 2.5em;\n  width: 2.5em;\n  border-radius: 100%;\n}\n.author-name[_ngcontent-%COMP%] {\n  font-weight: bold;\n  font-size: 1em;\n  margin: 0.2em 0 0 0;\n  color: var(--dark);\n}\n.author-name[_ngcontent-%COMP%]:hover {\n  text-decoration: none;\n}\n.msg-header-date[_ngcontent-%COMP%] {\n  font-size: 0.7em;\n  margin: 0;\n}\n@media screen and (max-height: 450px) {\n  .sidenav[_ngcontent-%COMP%] {\n    padding-top: 15px;\n  }\n\n  .sidenav[_ngcontent-%COMP%]   a[_ngcontent-%COMP%] {\n    font-size: 18px;\n  }\n}\n\n\n.flashy-hamburger[_ngcontent-%COMP%] {\n  animation: FlashyHamburger 2s ease infinite;\n}\n@keyframes FlashyHamburger {\n  0% {\n    transform: translate(0, 0);\n    width: 2em;\n  }\n  50% {\n    transform: translate(1em, 0);\n    width: 3em;\n  }\n  100% {\n    transform: translate(0, 0);\n    width: 2em;\n  }\n}\n\n\n.flashy-hamburger-mobile[_ngcontent-%COMP%] {\n  animation: FlashyHamburgerMobile 2s ease infinite;\n}\n@keyframes FlashyHamburgerMobile {\n  0% {\n    transform: translate(0, 0);\n    width: 2em;\n  }\n  50% {\n    transform: translate(0.4em, 0);\n    width: 3em;\n  }\n  100% {\n    transform: translate(0, 0);\n    width: 2em;\n  }\n}\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n  width: 0.2em;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n  opacity: 0;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n  background: var(--scrollbar-thumb);\n  opacity: 0.1;\n  border-radius: 1em;\n}\n.subtle-link[_ngcontent-%COMP%], .subtle-link[_ngcontent-%COMP%]:hover {\n  color: #000000;\n  text-decoration: none;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc3BvbnNlcy1saXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZTtBQUNmLG9EQUFvRDtBQUNwRDtFQUNFLHlDQUF5QztFQUN6QyxlQUFlO0VBQ2YsV0FBVztFQUNYLG9EQUFvRDtFQUNwRCxhQUFhO0VBQ2IsZ0JBQWdCO0FBQ2xCO0FBRUEsbUJBQW1CO0FBQ25CO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWix1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixhQUFhO0FBQ2Y7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFdBQVc7RUFDWCxlQUFlO0VBQ2YsaUJBQWlCO0FBQ25CO0FBRUEscUJBQXFCO0FBQ3JCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsUUFBUTtFQUNSLFdBQVc7RUFDWCxjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWix5QkFBeUI7RUFDekIsOEJBQThCO0VBQzlCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsYUFBYTtBQUNmO0FBRUE7RUFDRSw0QkFBNEI7RUFDNUIsVUFBVTtFQUNWLGdCQUFnQjtBQUNsQjtBQUVBLGtDQUFrQztBQUNsQztFQUNFLE9BQU87QUFDVDtBQUVBLGNBQWM7QUFFZDtFQUNFLHlDQUF5QztFQUN6QyxlQUFlO0VBQ2YsWUFBWTtFQUNaLG9EQUFvRDtFQUNwRCxhQUFhO0VBQ2IsZ0JBQWdCO0FBQ2xCO0FBRUEsbUJBQW1CO0FBQ25CO0VBQ0UsWUFBWTtFQUNaLFlBQVk7RUFDWix1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixhQUFhO0FBQ2Y7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFdBQVc7RUFDWCxlQUFlO0VBQ2YsaUJBQWlCO0FBQ25CO0FBRUEsa0NBQWtDO0FBQ2xDO0VBQ0UsUUFBUTtBQUNWO0FBRUEscUJBQXFCO0FBQ3JCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsUUFBUTtFQUNSLFdBQVc7RUFDWCxjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWix5QkFBeUI7RUFDekIsOEJBQThCO0VBQzlCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsYUFBYTtBQUNmO0FBRUEsY0FBYztBQUNkLFlBQVk7QUFDWjtFQUNFLGVBQWU7QUFDakI7QUFFQTtFQUNFLHFCQUFxQjtBQUN2QjtBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFFBQVE7QUFDVjtBQUVBLGtCQUFrQjtBQUNsQjtFQUNFLGdCQUFnQjtFQUNoQixpQkFBaUI7QUFDbkI7QUFFQTtFQUNFLHdCQUF3QjtFQUN4QixrQkFBa0I7RUFDbEIsK0NBQStDO0VBQy9DLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLGVBQWU7QUFDakI7QUFFQTtFQUNFLHNDQUFzQztBQUN4QztBQUVBO0VBQ0UsbUJBQW1CO0VBQ25CLFdBQVc7QUFDYjtBQUVBO0VBQ0UsWUFBWTtBQUNkO0FBRUE7RUFDRSxTQUFTO0VBQ1QsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsbUJBQW1CO0FBQ3JCO0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsYUFBYTtFQUNiLFlBQVk7RUFDWixtQkFBbUI7QUFDckI7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLGtCQUFrQjtBQUNwQjtBQUVBO0VBQ0UscUJBQXFCO0FBQ3ZCO0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsU0FBUztBQUNYO0FBRUE7RUFDRTtJQUNFLGlCQUFpQjtFQUNuQjs7RUFFQTtJQUNFLGVBQWU7RUFDakI7QUFDRjtBQUVBLHdEQUF3RDtBQUN4RCwrQkFBK0I7QUFDL0I7RUFHRSwyQ0FBMkM7QUFDN0M7QUFnQ0E7RUFDRTtJQUNFLDBCQUEwQjtJQUMxQixVQUFVO0VBQ1o7RUFDQTtJQUNFLDRCQUE0QjtJQUM1QixVQUFVO0VBQ1o7RUFDQTtJQUNFLDBCQUEwQjtJQUMxQixVQUFVO0VBQ1o7QUFDRjtBQUVBLHdEQUF3RDtBQUN4RCwrQkFBK0I7QUFDL0I7RUFHRSxpRE
6289FBaUQ7QUFDbkQ7QUFnQ0E7RUFDRTtJQUNFLDBCQUEwQjtJQUMxQixVQUFVO0VBQ1o7RUFDQTtJQUNFLDhCQUE4QjtJQUM5QixVQUFVO0VBQ1o7RUFDQTtJQUNFLDBCQUEwQjtJQUMxQixVQUFVO0VBQ1o7QUFDRjtBQUVBLGlCQUFpQjtBQUNqQixVQUFVO0FBQ1Y7RUFDRSxZQUFZO0FBQ2Q7QUFFQSxVQUFVO0FBQ1Y7RUFDRSxVQUFVO0FBQ1o7QUFFQSxXQUFXO0FBQ1g7RUFDRSxrQ0FBa0M7RUFDbEMsWUFBWTtFQUNaLGtCQUFrQjtBQUNwQjtBQUVBOztFQUVFLGNBQWM7RUFDZCxxQkFBcUI7QUFDdkIiLCJmaWxlIjoicmVzcG9uc2VzLWxpc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHx8IERFU0tUT1AgKi9cbi8qIFNpZGUgbmF2IGNvbnRhaW5lciAtIGhvdXNlcyBsaXN0IGFuZCB0YWIgYnV0dG9uICovXG4uc2lkZS1uYXYtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1uYXZiYXItaGVpZ2h0KSk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogLTI1ZW07XG4gIC8qIHotaW5kZXggb2YgMTA1MSBpcyB0aGUgbGV2ZWwgdGhhdCBtb2RhbHMgYXBwZWFyICovXG4gIHotaW5kZXg6IDEwNTA7XG4gIHRyYW5zaXRpb246IDAuNXM7XG59XG5cbi8qIExpc3QgY29tcG9uZW50ICovXG4uc2lkZW5hdiB7XG4gIHdpZHRoOiAyNWVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiAyZW07XG4gIHotaW5kZXg6IDEwNTA7XG59XG5cbi5zaWRlbmF2IC5jbG9zZS1idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiB2YXIoLS1kYXJrKTtcbiAgdG9wOiAwO1xuICByaWdodDogMjVweDtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBtYXJnaW4tbGVmdDogNTBweDtcbn1cblxuLyogQnV0dG9uIGNvbXBvbmVudCAqL1xuLmhhbWJ1cmdlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA2ZW07XG4gIHdpZHRoOiAyZW07XG4gIHRvcDogMmVtO1xuICByaWdodDogLTJlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC41ZW0gMC41ZW0gMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiAwLjVzO1xuICB6LWluZGV4OiAxMDQ5O1xufVxuXG4uaGFtYnVyZ2VyOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMWVtLCAwKTtcbiAgd2lkdGg6IDNlbTtcbiAgdHJhbnNpdGlvbjogMC41cztcbn1cblxuLyogQ29uZGl0aW9uYWxseS1hY3RpdmF0ZWQgY2xhc3MgKi9cbi5uYXYtb3BlbiB7XG4gIGxlZnQ6IDA7XG59XG5cbi8qIHx8IE1PQklMRSAqL1xuXG4uc2lkZS1uYXYtY29udGFpbmVyLW1vYmlsZSB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tbmF2YmFyLWhlaWdodCkpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxMDB2dztcbiAgLyogei1pbmRleCBvZiAxMDUxIGlzIHRoZSBsZXZlbCB0aGF0IG1vZGFscyBhcHBlYXIgKi9cbiAgei1pbmRleDogMTA1MDtcbiAgdHJhbnNpdGlvbjogMC41cztcbn1cblxuLyogTGlzdCBjb21wb25lbnQgKi9cbi5zaWRlbmF2LW1vYmlsZSB7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogMmVtO1xuICB6LWluZGV4OiAxMDUwO1xufVxuXG4uc2lkZW5hdi1tb2JpbGUgLmNsb3NlLWJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHZhcigtLWRhcmspO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAyNXB4O1xuICBmb250LXNpemU6IDM2cHg7XG4gIG1hcmdpbi1sZWZ0OiA1MHB4O1xufVxuXG4vKiBDb25kaXRpb25hbGx5LWFjdGl2YXRlZCBjbGFzcyAqL1xuLm5hdi1tb2JpbGUtb3BlbiB7XG4gIHJpZ2h0OiAwO1xufVxuXG4vKiBCdXR0b24gY29tcG9uZW50ICovXG4uaGFtYnVyZ2VyLW1vYmlsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAzZW07XG4gIHdpZHRoOiAyZW07XG4gIHRvcDogM2VtO1xuICByaWdodDogLTJlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC41ZW0gMC41ZW0gMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiAwLjVzO1xuICB6LWluZGV4OiAxMDQ5O1xufVxuXG4vKiB8fCBTSEFSRUQgKi9cbi8qIEJ1dHRvbnMgKi9cbi5jbG9zZS1idG4ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jbG9zZS1idG46aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jaGV2cm9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbn1cblxuLyogTGlzdCBjb250ZW50cyAqL1xuLnJlc3BvbnNlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hdXRob3ItY29udGFpbmVyIHtcbiAgcGFkZGluZzogMWVtIDFlbSAxZW0gMmVtO1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIGJvcmRlci1ib3R0b206IDAuMDVlbSBzb2xpZCB2YXIoLS1saWdodGVyLWdyZXkpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYXV0aG9yLWNvbnRhaW5lcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJlc3BvbnNlLWxpc3QtaG92ZXIpO1xufVxuXG4uaGVhZGVyLXRhYmxlIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9maWxlLXBpYy1jb2wge1xuICB3aWR0aDogMi41ZW07XG59XG5cbi5hdXRob3ItY29sIHtcbiAgbGVmdDogMWVtO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5wcm9maWxlLXBpYy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgaGVpZ2h0OiAyLjVlbTtcbiAgd2lkdGg6IDIuNWVtO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uYXV0aG9yLW5hbWUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbjogMC4yZW0gMCAwIDA7XG4gIGNvbG9yOiB2YXIoLS1kYXJrKTtcbn1cblxuLmF1dGhvci1uYW1lOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubXNnLWhlYWRlci1kYXRlIHt
6289cbiAgZm9udC1zaXplOiAwLjdlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNDUwcHgpIHtcbiAgLnNpZGVuYXYge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICB9XG5cbiAgLnNpZGVuYXYgYSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG5cbi8qIFN1cHJlc3Mgd2FybmluZyBmb3IgY29uZGl0aW9uYWxseS1hcHBsaWVkIENTUyBjbGFzcyAqL1xuLypub2luc3BlY3Rpb24gQ3NzVW51c2VkU3ltYm9sKi9cbi5mbGFzaHktaGFtYnVyZ2VyIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IEZsYXNoeUhhbWJ1cmdlciAycyBlYXNlIGluZmluaXRlO1xuICAtbW96LWFuaW1hdGlvbjogRmxhc2h5SGFtYnVyZ2VyIDJzIGVhc2UgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogRmxhc2h5SGFtYnVyZ2VyIDJzIGVhc2UgaW5maW5pdGU7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBGbGFzaHlIYW1idXJnZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgd2lkdGg6IDJlbTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFlbSwgMCk7XG4gICAgd2lkdGg6IDNlbTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBGbGFzaHlIYW1idXJnZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgd2lkdGg6IDJlbTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFlbSwgMCk7XG4gICAgd2lkdGg6IDNlbTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgRmxhc2h5SGFtYnVyZ2VyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIHdpZHRoOiAyZW07XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxZW0sIDApO1xuICAgIHdpZHRoOiAzZW07XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgd2lkdGg6IDJlbTtcbiAgfVxufVxuXG4vKiBTdXByZXNzIHdhcm5pbmcgZm9yIGNvbmRpdGlvbmFsbHktYXBwbGllZCBDU1MgY2xhc3MgKi9cbi8qbm9pbnNwZWN0aW9uIENzc1VudXNlZFN5bWJvbCovXG4uZmxhc2h5LWhhbWJ1cmdlci1tb2JpbGUge1xuICAtd2Via2l0LWFuaW1hdGlvbjogRmxhc2h5SGFtYnVyZ2VyTW9iaWxlIDJzIGVhc2UgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBGbGFzaHlIYW1idXJnZXJNb2JpbGUgMnMgZWFzZSBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBGbGFzaHlIYW1idXJnZXJNb2JpbGUgMnMgZWFzZSBpbmZpbml0ZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIEZsYXNoeUhhbWJ1cmdlck1vYmlsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC40ZW0sIDApO1xuICAgIHdpZHRoOiAzZW07XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgd2lkdGg6IDJlbTtcbiAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgRmxhc2h5SGFtYnVyZ2VyTW9iaWxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIHdpZHRoOiAyZW07XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjRlbSwgMCk7XG4gICAgd2lkdGg6IDNlbTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgRmxhc2h5SGFtYnVyZ2VyTW9iaWxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIHdpZHRoOiAyZW07XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjRlbSwgMCk7XG4gICAgd2lkdGg6IDNlbTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG59XG5cbi8qIHx8IFNDUk9MTEJBUiAqL1xuLyogd2lkdGggKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC4yZW07XG59XG5cbi8qIFRyYWNrICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLyogSGFuZGxlICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iKTtcbiAgb3BhY2l0eTogMC4xO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG59XG5cbi5zdWJ0bGUtbGluayxcbi5zdWJ0bGUtbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4iXX0= */"] });
6290
6291
6292/***/ }),
6293
6294/***/ 60189:
6295/*!**************************************************************************!*\
6296  !*** ./src/app/pages/viewing/single-message/single-message.component.ts ***!
6297  \**************************************************************************/
6298/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6299
6300"use strict";
6301__webpack_require__.r(__webpack_exports__);
6302/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6303/* harmony export */   "SingleMessageComponent": function() { return /* binding */ SingleMessageComponent; }
6304/* harmony export */ });
6305/* harmony import */ var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../core/common.service */ 80150);
6306/* harmony import */ var firebase_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! firebase/app */ 42329);
6307/* harmony import */ var firebase_firestore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! firebase/firestore */ 72491);
6308/* harmony import */ var _shared_interfaces_messages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../shared/interfaces/messages */ 38031);
6309/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/core */ 37716);
6310/* harmony import */ var _core_viewing_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../core/viewing.service */ 91225);
6311/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/router */ 39895);
6312/* harmony import */ var ngx_toastr__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ngx-toastr */ 49344);
6313/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/common */ 38583);
6314/* harmony import */ var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../core/msg-io.service */ 84468);
6315/* harmony import */ var ngx_markdown__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ngx-markdown */ 76715);
6316/* harmony import */ var _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../shared/components/inline-images/inline-images.component */ 72321);
6317
6318
6319
6320
6321var firestore = firebase_app__WEBPACK_IMPORTED_MODULE_1__.default.firestore;
6322var Timestamp = firestore.Timestamp;
6323
6324
6325
6326
6327
6328
6329
6330
6331function SingleMessageComponent_app_inline_images_14_Template(rf, ctx) { if (rf & 1) {
6332    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](0, "app-inline-images", 12);
6333} if (rf & 2) {
6334    const ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"]();
6335    _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("images", ctx_r0.singleMessage.images);
6336} }
6337const _c0 = function (a0, a1, a2) { return { background: a0, color: a1, "font-family": a2 }; };
6338class SingleMessageComponent {
6339    constructor(viewService, route, router, toastr, location, msgIOService) {
6340        this.viewService = viewService;
6341        this.route = route;
6342        this.router = router;
6343        this.toastr = toastr;
6344        this.location = location;
6345        this.msgIOService = msgIOService;
6346        this.showCloseButton = false;
6347        this.singleMessage = Object.assign(Object.assign({}, new _shared_interfaces_messages__WEBPACK_IMPORTED_MODULE_3__.VirtrolioMessageTemplate()), { from: '', fromName: '', fromPic: '', isRead: false, key: '', timestamp: new Timestamp(0, 0), year: 0, id: '' });
6348        this.singleMessage.contents = 'Message is loading...';
6349        this.singleMessage.backColor = '#FFFFFF';
6350        this.singleMessage.fontColor = '#000000';
6351        this.singleMessage.fontFamily = 'Arial';
6352        this.route.queryParams.subscribe((params) => {
6353            this.currentMessageId = params.messageId;
6354        });
6355        if (this.route.snapshot.queryParams.showBookmarkAlert) {
6356            this.toastr.info('This page can now be bookmarked so you can view this message later!', 'Bookmark', { positionClass: 'toast-bottom-full-width' });
6357            this.showCloseButton = true;
6358            this.location.go('/viewing', '?messageId=' + this.currentMessageId);
6359        }
6360    }
6361    ngOnInit() {
6362        this.viewService.msgIo
6363            .getMessage(this.currentMessageId)
6364            .subscribe((message) => {
6365            try {
6366                this.viewService.msgIo.verifyMessage(message);
6367                this.singleMessage = message;
6368            }
6369            catch (e) {
6370                _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e);
6371                // noinspection JSIgnoredPromiseFromCall
6372                this.router.navigate(['/viewing']);
6373            }
6374        });
6375    }
6376    /**
6377     * Go to 'all messages' view
6378     */
6379    goToMessages() {
6380        this.router.navigate(['/viewing']).then(() => {
6381            window.location.reload();
6382        });
6383    }
6384}
6385SingleMessageComponent.ɵfac = function SingleMessageComponent_Factory(t) { return new (t || SingleMessageComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_4__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](ngx_toastr__WEBPACK_IMPORTED_MODULE_9__.ToastrService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_common__WEBPACK_IMPORTED_MODULE_10__.Location), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_5__.MsgIoService)); };
6386SingleMessageComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdefineComponent"]({ type: SingleMessageComponent, selectors: [["app-single-message"]], decls: 15, vars: 10, consts: [[1, "row", "justify-content-center", "py-5"], [1, "single-message-view", "col-12", "col-sm-12", "col-md-8", "col-lg-8", "col-xl-8"], [1, "author-card"], [1, "profile-pic-container-small"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [1, "author-card", "mb-3"], [1, "msg-header-text"], [1, "msg-header-date"], [1, "card", "shadow", "message-card"], [1, "card-body", "message-card", "message", 3, "ngStyle"], ["emoji", "", 3, "data"], [3, "images", 4, "ngIf"], [3, "images"]], template: function SingleMessageComponent_Template(rf, ctx) { if (rf & 1) {
6387        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 0);
6388        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 1);
6389        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](2, "div", 2);
6390        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "span", 3);
6391        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](4, "img", 4);
6392        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
6393        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
6394        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "div", 5);
6395        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "table");
6396        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](7, "tr", 6);
6397        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](8);
6398        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
6399        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "tr", 7);
6400        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](10);
6401        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
6402        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
6403        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
6404        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](11, "div", 8);
6405        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "div", 9);
6406        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](13, "markdown", 10);
6407        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](14, SingleMessageComponent_app_inline_images_14_Template, 1, 1, "app-inline-images", 11);
6408        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
6409        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
6410        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
6411        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"]();
6412    } if (rf & 2) {
6413        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4);
6414        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx.singleMessage.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]);
6415        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4);
6416        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", ctx.singleMessage.fromName, " ");
6417        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
6418        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", ctx.singleMessage.timestamp.toDate().toDateString(), " ");
6419        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2);
6420        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction3"](6, _c0, ctx.singleMessage.backColor, ctx.singleMessage.fontColor, ctx.viewService.fonts[ctx.singleMessage.fontFamily].fontFamily + "," + ctx.viewService.fonts[ctx.singleMessage.fontFamily].backupFont));
6421        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
6422        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("data", ctx.viewService.decodeHtml(ctx.singleMessage.contents));
6423        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1);
6424        _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx.singleMessage.images);
6425    } }, directives: [_angular_common__WEBPACK_IMPORTED_MODULE_10__.NgStyle, ngx_markdown__WEBPACK_IMPORTED_MODULE_11__.MarkdownComponent, _angular_common__WEBPACK_IMPORTED_MODULE_10__.NgIf, _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_6__.InlineImagesComponent], styles: [".message-card[_ngcontent-%COMP%] {\n  width: 100%;\n  height: 70vh;\n}\n\n.author-card[_ngcontent-%COMP%] {\n  width: 100%;\n  height: auto;\n  display: flex;\n  justify-content: center;\n}\n\n.message-card[_ngcontent-%COMP%] {\n  background-color: var(--light-grey);\n  width: 100%;\n  word-break: break-word;\n  overflow-y: auto;\n}\n\n.msg-header-text[_ngcontent-%COMP%] {\n  font-weight: bold;\n  font-size: 1.6em;\n  max-width: 80vw;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  text-align: center;\n  white-space: nowrap;\n}\n\n.msg-header-date[_ngcontent-%COMP%] {\n  font-size: 1em;\n  max-width: 80vw;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  text-align: center;\n  white-space: nowrap;\n}\n\n.profile-pic-container-small[_ngcontent-%COMP%] {\n  background: rgba(255, 255, 255, 0);\n  height: 4.2em;\n  width: 4.2em;\n  border-radius: 100%;\n  display: flex;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n  width: 0.2em;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n  opacity: 0;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n  background: var(--scrollbar-thumb);\n  opacity: 0.1;\n  border-radius: 1em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpbmdsZS1tZXNzYWdlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtBQUNkOztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixhQUFhO0VBQ2IsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsbUNBQW1DO0VBQ25DLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHVC
6425QUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBQ3ZCLGtCQUFrQjtFQUNsQixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxrQ0FBa0M7RUFDbEMsYUFBYTtFQUNiLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsYUFBYTtBQUNmOztBQUVBLFVBQVU7O0FBQ1Y7RUFDRSxZQUFZO0FBQ2Q7O0FBRUEsVUFBVTs7QUFDVjtFQUNFLFVBQVU7QUFDWjs7QUFFQSxXQUFXOztBQUNYO0VBQ0Usa0NBQWtDO0VBQ2xDLFlBQVk7RUFDWixrQkFBa0I7QUFDcEIiLCJmaWxlIjoic2luZ2xlLW1lc3NhZ2UuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tZXNzYWdlLWNhcmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3MHZoO1xufVxuXG4uYXV0aG9yLWNhcmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm1lc3NhZ2UtY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICB3aWR0aDogMTAwJTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1zZy1oZWFkZXItdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEuNmVtO1xuICBtYXgtd2lkdGg6IDgwdnc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5tc2ctaGVhZGVyLWRhdGUge1xuICBmb250LXNpemU6IDFlbTtcbiAgbWF4LXdpZHRoOiA4MHZ3O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucHJvZmlsZS1waWMtY29udGFpbmVyLXNtYWxsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgaGVpZ2h0OiA0LjJlbTtcbiAgd2lkdGg6IDQuMmVtO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKiB3aWR0aCAqL1xuOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiAwLjJlbTtcbn1cblxuLyogVHJhY2sgKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBvcGFjaXR5OiAwO1xufVxuXG4vKiBIYW5kbGUgKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItdGh1bWIpO1xuICBvcGFjaXR5OiAwLjE7XG4gIGJvcmRlci1yYWRpdXM6IDFlbTtcbn1cbiJdfQ== */"] });
6426
6427
6428/***/ }),
6429
6430/***/ 68106:
6431/*!****************************************************!*\
6432  !*** ./src/app/pages/viewing/viewing.component.ts ***!
6433  \****************************************************/
6434/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6435
6436"use strict";
6437__webpack_require__.r(__webpack_exports__);
6438/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6439/* harmony export */   "ViewingComponent": function() { return /* binding */ ViewingComponent; }
6440/* harmony export */ });
6441/* harmony import */ var firebase_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! firebase/app */ 42329);
6442/* harmony import */ var firebase_firestore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! firebase/firestore */ 72491);
6443/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/core */ 37716);
6444/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/router */ 39895);
6445/* harmony import */ var _core_viewing_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core/viewing.service */ 91225);
6446/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
6447/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @angular/common */ 38583);
6448/* harmony import */ var _single_message_single_message_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./single-message/single-message.component */ 60189);
6449/* harmony import */ var _responses_list_responses_list_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./responses-list/responses-list.component */ 39161);
6450/* harmony import */ var _messages_messages_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./messages/messages.component */ 2360);
6451
6452
6453var firestore = firebase_app__WEBPACK_IMPORTED_MODULE_0__.default.firestore;
6454var Timestamp = firestore.Timestamp;
6455
6456
6457
6458
6459
6460
6461
6462
6463function ViewingComponent_div_0_Template(rf, ctx) { if (rf & 1) {
6464    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div");
6465    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](1, "div", 2);
6466    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](2, "app-single-message");
6467    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
6468    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
6469} }
6470function ViewingComponent_ng_template_1_div_5_Template(rf, ctx) { if (rf & 1) {
6471    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div", 8);
6472    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](1, "p", 9);
6473    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](2, " \u26A0 One of your messages isn't being shown because it does not conform to the message requirements. ");
6474    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](3, "a", 10);
6475    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](4, "Contact Us");
6476    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
6477    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](5, " if you see this message. ");
6478    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
6479    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
6480} }
6481function ViewingComponent_ng_template_1_div_6_Template(rf, ctx) { if (rf & 1) {
6482    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div", 8);
6483    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](1, "p", 9);
6484    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](2);
6485    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](3, "a", 10);
6486    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](4, "Contact Us");
6487    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
6488    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](5, " if you see this message. ");
6489    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
6490    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
6491} if (rf & 2) {
6492    const ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"](2);
6493    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](2);
6494    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtextInterpolate1"](" \u26A0 ", ctx_r4.invalidMessageCount, " of your messages are not being shown because they do not conform to the message requirements. ");
6495} }
6496function ViewingComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
6497    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div", 2);
6498    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](1, "app-responses-list", 3);
6499    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](2, "div", 4);
6500    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](3, "div", 5);
6501    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](4, "app-messages", 6);
6502    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](5, ViewingComponent_ng_template_1_div_5_Template, 6, 0, "div", 7);
6503    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](6, ViewingComponent_ng_template_1_div_6_Template, 6, 1, "div", 7);
6504    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
6505    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
6506    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"]();
6507} if (rf & 2) {
6508    const ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"]();
6509    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](1);
6510    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("setMessageList", ctx_r2.messageList);
6511    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](3);
6512    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("setMessageList", ctx_r2.messageList)("setIsLoading", ctx_r2.isLoading);
6513    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](1);
6514    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", ctx_r2.invalidMessageCount == 1);
6515    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](1);
6516    _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", ctx_r2.invalidMessageCount > 1);
6517} }
6518class ViewingComponent {
6519    constructor(route, viewService, title) {
6520        this.route = route;
6521        this.viewService = viewService;
6522        this.title = title;
6523        this.isLoading = true;
6524        this.isSingleMessageView = false;
6525        this.invalidMessageCount = 0;
6526    }
6527    ngOnInit() {
6528        this.title.setTitle('View Your Messages | Virtrolio');
6529        // Determine if the viewing link has messageId query param
6530        if (this.route.snapshot.queryParams.messageId) {
6531            this.isSingleMessageView = true;
6532        }
6533        this.viewService.msgIo
6534            .getMessages()
6535            .subscribe((messages) => {
6536            // Get the current time to use as time since reference
6537            this.viewService.nowMillis = Timestamp.now().toMillis();
6538            // Clear the messageList
6539            this.messageList = [];
6540            messages.forEach((message) => {
6541                try {
6542                    // Add message to messageList if verifyMessage succeeds
6543                    this.viewService.msgIo.verifyMessage(message);
6544                    this.messageList.push(message);
6545                }
6546                catch (e) {
6547                    this.invalidMessageCount += 1;
6548                }
6549            });
6550            this.isLoading = false;
6551        });
6552    }
6553}
6554ViewingComponent.ɵfac = function ViewingComponent_Factory(t) { return new (t || ViewingComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_7__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_2__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_8__.Title)); };
6555ViewingComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdefineComponent"]({ type: ViewingComponent, selectors: [["app-viewing"]], decls: 3, vars: 2, consts: [[4, "ngIf", "ngIfElse"], ["allMessages", ""], [1, "container"], [3, "setMessageList"], [1, "row", "justify-content-center"], [1, "col-12"], [3, "setMessageList", "setIsLoading"], ["class", "pt-3", 4, "ngIf"], [1, "pt-3"], [1, "invalid-msg-warning"], ["href", "https://virtrolio.web.app/contact"]], template: function ViewingComponent_Template(rf, ctx) { if (rf & 1) {
6556        _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](0, ViewingComponent_div_0_Template, 3, 0, "div", 0);
6557        _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](1, ViewingComponent_ng_template_1_Template, 7, 5, "ng-template", null, 1, _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplateRefExtractor"]);
6558    } if (rf & 2) {
6559        const _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵreference"](2);
6560        _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", ctx.isSingleMessageView)("ngIfElse", _r1);
6561    } }, directives: [_angular_common__WEBPACK_IMPORTED_MODULE_9__.NgIf, _single_message_single_message_component__WEBPACK_IMPORTED_MODULE_3__.SingleMessageComponent, _responses_list_responses_list_component__WEBPACK_IMPORTED_MODULE_4__.ResponsesListComponent, _messages_messages_component__WEBPACK_IMPORTED_MODULE_5__.MessagesComponent], styles: [".invalid-msg-warning[_ngcontent-%COMP%] {\n  color: var(--light-grey);\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZpZXdpbmcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHdCQUF3QjtB
6561QUMxQiIsImZpbGUiOiJ2aWV3aW5nLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaW52YWxpZC1tc2ctd2FybmluZyB7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbn1cbiJdfQ== */"] });
6562
6563
6564/***/ }),
6565
6566/***/ 72321:
6567/*!****************************************************************************!*\
6568  !*** ./src/app/shared/components/inline-images/inline-images.component.ts ***!
6569  \****************************************************************************/
6570/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6571
6572"use strict";
6573__webpack_require__.r(__webpack_exports__);
6574/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6575/* harmony export */   "InlineImagesComponent": function() { return /* binding */ InlineImagesComponent; }
6576/* harmony export */ });
6577/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ 37716);
6578/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common */ 38583);
6579/* harmony import */ var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/fire/storage */ 68274);
6580
6581
6582
6583function InlineImagesComponent_div_0_Template(rf, ctx) { if (rf & 1) {
6584    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 1);
6585    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div");
6586    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "a", 2);
6587    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipe"](3, "getDownloadURL");
6588    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](4, "img", 3);
6589    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipe"](5, "getDownloadURL");
6590    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "div", 4);
6591    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](7, "img", 5);
6592    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6593    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6594    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6595    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"]();
6596} if (rf & 2) {
6597    const image_r1 = ctx.$implicit;
6598    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](2);
6599    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("href", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipeBind1"](3, 2, image_r1), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsanitizeUrl"]);
6600    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](2);
6601    _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("src", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipeBind1"](5, 4, image_r1), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsanitizeUrl"]);
6602} }
6603class InlineImagesComponent {
6604    constructor() { }
6605    ngOnInit() { }
6606}
6607InlineImagesComponent.ɵfac = function InlineImagesComponent_Factory(t) { return new (t || InlineImagesComponent)(); };
6608InlineImagesComponent.ɵcmp = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ type: InlineImagesComponent, selectors: [["app-inline-images"]], inputs: { images: "images" }, decls: 1, vars: 1, consts: [["class", "d-flex p-2 justify-content-center", 4, "ngFor", "ngForOf"], [1, "d-flex", "p-2", "justify-content-center"], ["target", "_blank", 1, "col", "p-0", "d-flex", "justify-content-center", 3, "href"], ["alt", "Virtrolio Message image", 1, "msg-footer-img", 3, "src"], [1, "msg-footer-img-overlay"], ["src", "../../../../assets/images/icons/external-link.svg", "alt", "Virtrolio Message image", 1, "external-link-icon"]], template: function InlineImagesComponent_Template(rf, ctx) { if (rf & 1) {
6609        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](0, InlineImagesComponent_div_0_Template, 8, 6, "div", 0);
6610    } if (rf & 2) {
6611        _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngForOf", ctx.images);
6612    } }, directives: [_angular_common__WEBPACK_IMPORTED_MODULE_1__.NgForOf], pipes: [_angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__.GetDownloadURLPipe], styles: [".msg-footer[_ngcontent-%COMP%] {\n  height: 7em;\n}\n\n.msg-footer-img[_ngcontent-%COMP%] {\n  width: 100%;\n  -o-object-fit: cover;\n     object-fit: cover;\n  transition: all linear 0.2s;\n}\n\n.msg-footer-img-overlay[_ngcontent-%COMP%] {\n  background-color: rgba(0, 0, 0, 0.5);\n  height: 100%;\n  width: 100%;\n  z-index: 10;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  position: absolute;\n  opacity: 0;\n  transition: all linear 0.2s;\n}\n\n.msg-footer-img-overlay[_ngcontent-%COMP%]:hover {\n  opacity: 100%;\n}\n\n.external-link-icon[_ngcontent-%COMP%] {\n  height: 2em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlubGluZS1pbWFnZXMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5QkFBeUI7O0FBRXpCO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsV0FBVztFQUNYLG9CQUFpQjtLQUFqQixpQkFBaUI7RUFDakIsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0Usb0NBQW9DO0VBQ3BDLFlBQVk7RUFDWixXQUFXO0VBQ1gsV0FBVztFQUNYLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsV0FBVztBQUNiIiwiZmlsZSI6ImlubGluZS1pbWFnZXMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIE1lc3NhZ2UgaW1hZ2UgZm9vdGVyICovXG5cbi5tc2ctZm9vdGVyIHtcbiAgaGVpZ2h0OiA3ZW07XG59XG5cbi5tc2ctZm9vdGVyLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAwLjJzO1xufVxuXG4ubXNnLWZvb3Rlci1pbWctb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW
66121zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCBsaW5lYXIgMC4ycztcbn1cblxuLm1zZy1mb290ZXItaW1nLW92ZXJsYXk6aG92ZXIge1xuICBvcGFjaXR5OiAxMDAlO1xufVxuXG4uZXh0ZXJuYWwtbGluay1pY29uIHtcbiAgaGVpZ2h0OiAyZW07XG59XG4iXX0= */"] });
6613
6614
6615/***/ }),
6616
6617/***/ 74743:
6618/*!********************************************!*\
6619  !*** ./src/app/shared/interfaces/fonts.ts ***!
6620  \********************************************/
6621/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6622
6623"use strict";
6624__webpack_require__.r(__webpack_exports__);
6625/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6626/* harmony export */   "Font": function() { return /* binding */ Font; }
6627/* harmony export */ });
6628class Font {
6629    constructor(fontFamily, backupFont) {
6630        this.fontFamily = fontFamily;
6631        this.backupFont = backupFont;
6632    }
6633}
6634
6635
6636/***/ }),
6637
6638/***/ 38031:
6639/*!***********************************************!*\
6640  !*** ./src/app/shared/interfaces/messages.ts ***!
6641  \***********************************************/
6642/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6643
6644"use strict";
6645__webpack_require__.r(__webpack_exports__);
6646/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6647/* harmony export */   "VirtrolioMessageTemplate": function() { return /* binding */ VirtrolioMessageTemplate; }
6648/* harmony export */ });
6649/* harmony import */ var firebase_firestore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! firebase/firestore */ 72491);
6650
6651class VirtrolioMessageTemplate {
6652    constructor() {
6653        this.backColor = '';
6654        this.contents = '';
6655        this.fontColor = '';
6656        this.fontFamily = '';
6657        this.to = '';
6658    }
6659}
6660
6661
6662/***/ }),
6663
6664/***/ 44466:
6665/*!*****************************************!*\
6666  !*** ./src/app/shared/shared.module.ts ***!
6667  \*****************************************/
6668/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6669
6670"use strict";
6671__webpack_require__.r(__webpack_exports__);
6672/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6673/* harmony export */   "SharedModule": function() { return /* binding */ SharedModule; }
6674/* harmony export */ });
6675/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/common */ 38583);
6676/* harmony import */ var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/fire/storage */ 68274);
6677/* harmony import */ var _components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/inline-images/inline-images.component */ 72321);
6678/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 37716);
6679
6680
6681
6682
6683class SharedModule {
6684}
6685SharedModule.ɵfac = function SharedModule_Factory(t) { return new (t || SharedModule)(); };
6686SharedModule.ɵmod = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineNgModule"]({ type: SharedModule });
6687SharedModule.ɵinj = /*@__PURE__*/ _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjector"]({ imports: [[_angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__.AngularFireStorageModule, _angular_common__WEBPACK_IMPORTED_MODULE_3__.CommonModule]] });
6688(function () { (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsetNgModuleScope"](SharedModule, { declarations: [_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_0__.InlineImagesComponent], imports: [_angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__.AngularFireStorageModule, _angular_common__WEBPACK_IMPORTED_MODULE_3__.CommonModule], exports: [_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_0__.InlineImagesComponent] }); })();
6689
6690
6691/***/ }),
6692
6693/***/ 89019:
6694/*!**********************************************!*\
6695  !*** ./src/environments/environment.prod.ts ***!
6696  \**********************************************/
6697/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6698
6699"use strict";
6700__webpack_require__.r(__webpack_exports__);
6701/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6702/* harmony export */   "environment": function() { return /* binding */ environment; }
6703/* harmony export */ });
6704const environment = {
6705    production: true,
6706    firebase: {
6707        apiKey: 'AIzaSyB4bucqAGYm0ZZi6xVawtXdA7pDvrcp4PU',
6708        authDomain: 'virtrolio.firebaseapp.com',
6709        databaseURL: 'https://virtrolio.firebaseio.com',
6710        projectId: 'virtrolio',
6711        storageBucket: 'virtrolio.appspot.com',
6712        messagingSenderId: '929821853702',
6713        appId: '1:929821853702:web:dfb4740eb6984e49f69b87',
6714        measurementId: 'G-BT5XXRVZXP',
6715    },
6716};
6717
6718
6719/***/ }),
6720
6721/***/ 92340:
6722/*!*****************************************!*\
6723  !*** ./src/environments/environment.ts ***!
6724  \*****************************************/
6725/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6726
6727"use strict";
6728__webpack_require__.r(__webpack_exports__);
6729/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6730/* harmony export */   "environment": function() { return /* binding */ environment; }
6731/* harmony export */ });
6732// This file can be replaced during build by using the `fileReplacements` array.
6733// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
6734// The list of file replacements can be found in `angular.json`.
6735// noinspection SpellCheckingInspection
6736const environment = {
6737    production: false,
6738    firebase: {
6739        apiKey: 'AIzaSyB4bucqAGYm0ZZi6xVawtXdA7pDvrcp4PU',
6740        authDomain: 'virtrolio.firebaseapp.com',
6741        databaseURL: 'https://virtrolio.firebaseio.com',
6742        projectId: 'virtrolio',
6743        storageBucket: 'virtrolio.appspot.com',
6744        messagingSenderId: '929821853702',
6745        appId: '1:929821853702:web:dfb4740eb6984e49f69b87',
6746        measurementId: 'G-BT5XXRVZXP',
6747    },
6748};
6749/*
6750 * For easier debugging in development mode, you can import the following file
6751 * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
6752 *
6753 * This import should be commented out in production mode because it will have a negative impact
6754 * on performance if an error is thrown.
6755 */
6756// import 'zone.js/plugins/zone-error';  // Included with Angular CLI.
6757
6758
6759/***/ }),
6760
6761/***/ 14431:
6762/*!*********************!*\
6763  !*** ./src/main.ts ***!
6764  \*********************/
6765/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6766
6767"use strict";
6768__webpack_require__.r(__webpack_exports__);
6769/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/platform-browser */ 39075);
6770/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 37716);
6771/* harmony import */ var _app_app_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./app/app.module */ 36747);
6772/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./environments/environment */ 92340);
6773
6774
6775
6776
6777if (_environments_environment__WEBPACK_IMPORTED_MODULE_1__.environment.production) {
6778    (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.enableProdMode)();
6779}
6780_angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__.platformBrowser()
6781    .bootstrapModule(_app_app_module__WEBPACK_IMPORTED_MODULE_0__.AppModule)
6782    .catch((err) => console.error(err));
6783
6784
6785/***/ }),
6786
6787/***/ 80925:
6788/*!********************************************!*\
6789  !*** ./src/app/core/navbar/changelog.json ***!
6790  \********************************************/
6791/***/ (function(module) {
6792
6793"use strict";
6794module.exports = JSON.parse('[{"versionNumber":"2.0.0","releaseDate":"2021-06-16","newMessageAvailable":true,"betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Add the ability to upload (not just embed!) 3 images in a message"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Add the ability to view attached images in all message views"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Add a spinner animation while loading messages"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Add a spinner animation while a message is being uploaded"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Replace the crying emoji with more professional content and graphics when there are no messages to view 😭"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Revamp the graphics used throughout the website"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Add an underline to the current active page in the navbar"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Prevent modals remaining open when navigating to a new page"}]},{"versionNumber":"1.2.1","releaseDate":"2020-12-31","betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Since 2021 begins tomorrow, you can now sign each of your friend\'s virtrolios again for the new year."},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Add animations to most website components (most notably, popups)"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Viewing","content":"Fix navbar covering popup message cards"}]},{"versionNumber":"1.2.0","releaseDate":"2020-08-02","betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Home","content":"Completely redesign the lower part of the homepage"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Home","content":"Add extra sign-in button at the bottom of the homepage"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Add bookmark button to cards view"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Add warning if invalid messages are detected"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"MyVirtrolio","content":"Update title and description of the “Share Link” embed to be more friendly"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Viewing","content":"Animate response list opening and closing for mobile devices"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Viewing","content":"Add Timestamp to Single Message View"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Prevent cookie alert from showing up on each refresh"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Home","content":"Improve layout when viewing website in landscape on mobile devices"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Viewing","content":"Fix improperly layered components and shadows"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"MyVirtrolio","content":"Fix improperly placed “Share Link” button"}]},{"versionNumber":"1.1.0","releaseDate":"2020-07-15","betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"This changelog!\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Added a warning telling Internet Explorer users to get a better browser\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"FAQ","content":"Updated FAQ for \\"How to embed images?\\"\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Open single-message view automatically in a new tab when you bookmark a message\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"MyVirtrolio","content":"Added Social Media Sharing buttons to the Sharing Link dialog. Uses native sharing on mobile devices and custom links on desktops.\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Added supp
6794ort for embedding images, including a new embed helper button in the formatting bar and disclaimer about responsibilities regarding images in the send confirm dialog\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Added an Emoji button in the formatting bar, guiding users on how to open the emoji menu on their devices\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Added \\"Signing is better on a desktop/laptop!\\" alert and dialog if a mobile device is detected\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Clicking the bookmark button on a message opens it in a new tab so you can bookmark it in your browser\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"You can now delete messages from the carousel\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"The Responses List button will now pop out the first time to draw your attention to it. If you want to see it again, delete your cookies for the website.\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"FAQ","content":"Added questions about embedding images into messages, changing your display name and custom sharing links\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Added warning for Internet Explorer users, telling them to use a newer browser\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Legal","content":"Added summaries and clauses about image sharing\\r"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Sitewide","content":"The footer and navbar are slightly shorter\\r"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Navbar","content":"The Hamburger icon on mobile devices is now a bit brighter to be more visible\\r"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Viewing","content":"Moved the Responses List button on mobile devices for easier one-handed access\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"About","content":"Removed random scrollbars appearing in our pictures\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Updated branding and capitalization for our brand. Virtrolio (capital V) is our company, while what we provide to you (your \'virtrolio\') uses a lowercase V\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Added support for mobile popup browsers (like the ones that open when tapping a link in Instagram or Twitter). Previously produced an Access Denied error when trying to login\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Any errors that occur during the sign-in process will now log you out to prevent further issues from trying to use the website with incomplete user data\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Signing","content":"Pressing a format button should no longer cause a long message to scroll to the top"}]},{"versionNumber":"1.0.0","releaseDate":"2020-07-07","betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Initial release"}]}]');
6795
6796/***/ }),
6797
6798/***/ 53679:
6799/*!***********************************************!*\
6800  !*** ./src/app/pages/about/contributors.json ***!
6801  \***********************************************/
6802/***/ (function(module) {
6803
6804"use strict";
6805module.exports = JSON.parse('[{"name":"Arvind Nagabhirava","images":{"regular":"https://bit.ly/3ikDVw3","silly":"https://bit.ly/2V596Pn"},"blurb":"Arvind is Virtrolio\'s ideator. He is well known for his compassion and spectacular,\\n radiant personality that always lifts the spirits of those around him. He is known to have an undying love for\\n          sports and mathematics. He is currently studying Computer Science\\n          at the University of Waterloo. In his 
6805spare time, he loves to practice his nunchucks and his taekwondo\\n (especially <s>on</s> with his beloved friends)!","sharingLink":"/signing?uid=cEct1nbdddV3gpdcMqhci3yYNef2&key=inShambles","social":{"github":"","instagram":"_airwind","linkedIn":"https://www.linkedin.com/in/arvindn01/","website":""}},{"name":"Eric Chen","images":{"regular":"https://bit.ly/2NemLiC","silly":"https://bit.ly/3dk383t"},"blurb":"Eric is our fearless technical lead, and we would follow him into hellheim and back if we had to. Not only that, Eric enjoys his bike rides and <i>dank memes</i> like there is no tomorrow. Eric is brilliant, motivated, and occasionally transforms into the real-life embodiment of the angery-react emoji. Eric is extremely proficient in all things tech. To tell the truth, his expertise and leadership is highly valued by the team. Eric is currently studying Software Engineering at uOttawa.","sharingLink":"/signing?uid=s7OIMu1mrxZscVX4dx2K5d2XYvf2&key=maximumAngery","social":{"github":"ricetech","instagram":"the_ricetech","linkedIn":"https://www.linkedin.com/in/ericchen08/","website":""}},{"name":"Dabeer Abdul-Azeez","images":{"regular":"https://bit.ly/2zPaOwQ","silly":"https://bit.ly/3fOt0WT"},"blurb":"Dabeer is an exceptional person with many talents and a wide variety of interests! He is known to have an undying love for musicals and math. And he is plenty talented in both departments! Dabeer is currently studying in the iBiomed program at McMaster University. In his spare time, he loves to practice singing, work on personal projects, and hang out with his beloved friends! He is especially fond of dropping in on people unexpectedly, but pleasant surprises are always to be expected from Dabeer.","sharingLink":"/signing?uid=yluDqypoiiWtlj8M86x7HLp699r1&key=badaBoomBadaBing","social":{"github":"DabeerAzeez","instagram":"GuyInFridge","linkedIn":"https://www.linkedin.com/in/dabeerabdulazeez/","website":"abdulazd.wixsite.com/1p10portfolio"}},{"name":"Tommy Huang","images":{"regular":"https://bit.ly/3hQOJzo","silly":"https://bit.ly/3hW09Sk"},"blurb":"Tommy—better known as potatoes~~~~ by the people of Dota 2, Terraria, and Factorio—is an ABSOLUTE Legend! He is studying Computer Science at the University of Waterloo and lived in the weirdest room in UWP for his first year. Tommy is an avid rocketry enthusiast, having been a member of the rocketry team in high school and now at UW! He also has been biking o u t s i d e, which has been a fairly scary experience.","sharingLink":"/signing?uid=01GHzGKQMzXxU0oYDnvoU8jtvdr2&key=GOOSE","social":{"github":"TommyHuang-dev","instagram":"","linkedIn":"https://www.linkedin.com/in/tommyhuang999","website":"tommyhuang.net"}},{"name":"Janakitti Ratana-Rueangsri","images":{"regular":"https://bit.ly/3elvYBR","silly":"https://bit.ly/2B371wA"},"blurb":"Janakitti is the Gandalf of our team at Virtrolio. While a true technical and creative wizard on the keyboard and on Powerpoint, Janakitti is more importantly the rope that ties the sac together. He is currently studying Software Engineering at the University of Waterloo. In his spare time, Janakitti is known to be an extremely talented guitar player! You should also check out his extravagant website at janakitti.com","sharingLink":"/signing?uid=hTYLpcLKneOLsonAX5ZirLphc6h2&key=wizard","social":{"github":"janakitti","instagram":"janakitti","linkedIn":"https://www.linkedin.com/in/janakittiratana/","website":"janakitti.com"}},{"name":"Anthony Wang","images":{"regular":"https://bit.ly/31xUsnP","silly":"https://bit.ly/2YQTn94"},"blurb":"Anthony is the daring bug squasher and legal eagle at Virtrolio. While known for his spectacular puns and passion for extremely long hikes, he also enjoys building things ~with love~! Anthony is currently studying Software Engineering at the University of Waterloo. In his spare time, he likes to play the piano and travel (RIP). He also writes about math things, lands planes, and has made it out of REV alive.","sharingLink":"/signing?uid=fW6IT848K7SFUVbesGBzP67JIGl2&key=YpTyd3w","social":{"github":"Anthonyftwang","instagram":"itsanthonywang","linkedIn":"https://www.linkedin.com/in/anthonyftwang","website":"anthonywang.dev"}},{"name":"Kishan Manoharan","images":{"regular":"https://bit.ly/3ggfmxo","silly":"https://bit.ly/34RP2V0"},"blurb":"Kishan joined the Virtrolio team during the second round of development in 2021. Known for his addiction to Spotify\'s API, he likes developing software in his free time. He is currently studying as a Computer Program Analyst at George Brown College. As a software developer and an ex-Barista, he is always accompanied by a caffeinated drink in an unsuccessful attempt to solve his catastrophic sleep 
6805schedule, but it only makes it worse.","sharingLink":"/signing?uid=GJ1uuin92HOoqwv8Nvub2Dx0ZH63&key=iWantBoba","social":{"github":"kishanmanoharan","instagram":"kish9n","linkedIn":"https://www.linkedin.com/in/kishan-manoharan-333464195/","website":"kishanm.ca"}},{"name":"John Zhou","images":{"regular":"https://bit.ly/3emaogl","silly":"https://bit.ly/2AUtyvt"},"blurb":"John is the fearless, heroic and noble soul who helped create the About and FAQ pages you see on the Virtrolio site. In his domain, all browsers are welcome (with the exception of IE11) and are served with the very best static pages. John is currently studying Computer Science at the University of Waterloo. In his spare time, John enjoys baking fresh peanut-butter chocolate chip cookies and watching MasterChef Australia. John has also been taking swimming lessons to improve his swimming skills.","sharingLink":"/signing?uid=0VKjHqwTRwNddcKkDHKyuy1wNTu2&key=itsjohnzhou","social":{"github":"johnzhoudev","instagram":"itsjon.zho","linkedIn":"https://www.linkedin.com/in/johnzhou123/","website":""}}]');
6806
6807/***/ })
6808
6809},
6810/******/ function(__webpack_require__) { // webpackRuntimeModules
6811/******/ "use strict";
6812/******/ 
6813/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
6814/******/ __webpack_require__.O(0, ["vendor"], function() { return __webpack_exec__(14431); });
6815/******/ var __webpack_exports__ = __webpack_require__.O();
6816/******/ }
6817]);
6818//# sourceMappingURL=main-es2015.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.