text: /**
   * @license Angular v11.2.9
   * (c) 2010-2021 Google LLC. https://angular.io/
   * License: MIT
   */
  !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@angular/forms",["exports","@angular/core","@angular/common","rxjs","rxjs/operators"],e):e(((t=t||self).ng=t.ng||{},t.ng.forms={}),t.ng.core,t.ng.common,t.rxjs,t.rxjs.operators)}(this,(function(t,e,n,r,o){"use strict";
  /*! *****************************************************************************
      Copyright (c) Microsoft Corporation.
  
      Permission to use, copy, modify, and/or distribute this software for any
      purpose with or without fee is hereby granted.
  
      THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
      REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
      AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
      INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
      LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
      OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
      PERFORMANCE OF THIS SOFTWARE.
      ***************************************************************************** */var i=function(t,e){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function a(t,e){function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function s(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function u(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,i=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function l(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(u(arguments[e]));return t}
  /**
       * @license
       * Copyright Google LLC All Rights Reserved.
       *
       * Use of this source code is governed by an MIT-style license that can be
       * found in the LICENSE file at https://angular.io/license
       */
  var c=function c(){},p=new e.InjectionToken("NgValueAccessor"),h={provide:p,useExisting:e.forwardRef((function(){return f})),multi:!0},f=function(t){function e(e,n){var r=t.call(this)||this;return r._renderer=e,r._elementRef=n,r.onChange=function(t){},r.onTouched=function(){},r}return a(e,t),e.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"checked",t)},e.prototype.registerOnChange=function(t){this.onChange=t},e.prototype.registerOnTouched=function(t){this.onTouched=t},e.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},e}(c);f.decorators=[{type:e.Directive,args:[{selector:"input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]",host:{"(change)":"onChange($event.target.checked)","(blur)":"onTouched()"},providers:[h]}]}],f.ctorParameters=function(){return[{type:e.Renderer2},{type:e.ElementRef}]};
  /**
       * @license
       * Copyright Google LLC All Rights Reserved.
       *
       * Use of this source code is governed by an MIT-style license that can be
       * found in the LICENSE file at https://angular.io/license
       */
  var d={provide:p,useExisting:e.forwardRef((function(){return g})),multi:!0},y=new e.InjectionToken("CompositionEventMode"),g=function(){function t(t,e,r){this._renderer=t,this._elementRef=e,this._compositionMode=r,this.onChange=function(t){},this.onTouched=function(){},this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function o(){var t=n.ɵgetDOM()?n.ɵgetDOM().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)},t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._handleInput=function(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)},t.prototype._compositionStart=function(){this._composing=!0},t.prototype._compositionEnd=function(t){this._composing=!1,this._compositionMode&&this.onChange(t)},t}();function m(t){return null==t||0===t.length}function _(t){return null!=t&&"number"==typeof t.length}g.decorators=[{type:e.Directive,args:[{selector:"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]",host:{"(input)":"$any(this)._handleInput($event.target.value)","(blur)":"onTouched()","(compositionstart)":"$any(this)._compositionStart()","(compositionend)":"$any(this)._compositionEnd($event.target.value)"},providers:[d]}]}],g.ctorParameters=function(){return[{type:e.Renderer2},{type:e.ElementRef},{type:Boolean,decorators:[{type:e.Optional},{type:e.Inject,args:[y]}]}]};var v=new e.InjectionToken("NgValidators"),b=new e.InjectionToken("NgAsyncValidators"),C=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,V=function(){function t(){}return t.min=function(t){return O(t)},t.max=function(t){return A(t)},t.required=function(t){return E(t)},t.requiredTrue=function(t){return w(t)},t.email=function(t){return D(t)},t.minLength=function(t){return P(t)},t.maxLength=function(t){return S(t)},t.pattern=function(t){return k(t)},t.nullValidator=function(t){return null},t.compose=function(t){return T(t)},t.composeAsync=function(t){return R(t)},t}();function O(t){return function(e){if(m(e.value)||m(t))return null;var n=parseFloat(e.value);return!isNaN(n)&&n<t?{min:{min:t,actual:e.value}}:null}}function A(t){return function(e){if(m(e.value)||m(t))return null;var n=parseFloat(e.value);return!isNaN(n)&&n>t?{max:{max:t,actual:e.value}}:null}}function E(t){return m(t.value)?{required:!0}:null}function w(t){return!0===t.value?null:{required:!0}}function D(t){return m(t.value)||C.test(t.value)?null:{email:!0}}function P(t){return function(e){return m(e.value)||!_(e.value)?null:e.value.length<t?{minlength:{requiredLength:t,actualLength:e.value.length}}:null}}function S(t){return function(e){return _(e.value)&&e.value.length>t?{maxlength:{requiredLength:t,actualLength:e.value.length}}:null}}function k(t){return t?("string"==typeof t?(n="","^"!==t.charAt(0)&&(n+="^"),n+=t,"$"!==t.charAt(t.length-1)&&(n+="$"),e=new RegExp(n)):(n=t.toString(),e=t),function(t){if(m(t.value))return null;var r=t.value;return e.test(r)?null:{pattern:{requiredPattern:n,actualValue:r}}}):M;var e,n}function M(t){return null}function j(t){return null!=t}function I(t){var n=e.ɵisPromise(t)?r.from(t):t;return e.ɵisObservable(n),n}function x(t){var e={};return t.forEach((function(t){e=null!=t?Object.assign(Object.assign({},e),t):e})),0===Object.keys(e).length?null:e}function N(t,e){return e.map((function(e){return e(t)}))}function F(t){return t.map((function(t){return function e(t){return!t.validate}(t)?t:function(e){return t.validate(e)}}))}function T(t){if(!t)return null;var e=t.filter(j);return 0==e.length?null:function(t){return x(N(t,e))}}function G(t){return null!=t?T(F(t)):null}function R(t){if(!t)return null;var e=t.filter(j);return 0==e.length?null:function(t){var n=N(t,e).map(I);return r.forkJoin(n).pipe(o.map(x))}}function U(t){return null!=t?R(F(t)):null}function q(t,e){return null===t?[e]:Array.isArray(t)?l(t,[e]):[t,e]}function L(t){return t._rawValidators}function W(t){return t._rawAsyncValidators}
  /**
       * @license
       * Copyright Google LLC All Rights Reserved.
       *
       * Use of this source code is governed by an MIT-style license that can be
       * found in the LICENSE file at https://angular.io/license
       */var $=function(){function t(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}return Object.defineProperty(t.prototype,"value",{get:function(){return this.control?this.control.value:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return this.control?this.control.valid:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return this.control?this.control.invalid:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return this.control?this.control.pending:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this.control?this.control.disabled:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return this.control?this.control.enabled:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"errors",{get:function(){return this.control?this.control.errors:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pristine",{get:function(){return this.control?this.control.pristine:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return this.control?this.control.dirty:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"touched",{get:function(){return this.control?this.control.touched:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this.control?this.control.status:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return this.control?this.control.untouched:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"statusChanges",{get:function(){return this.control?this.control.statusChanges:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"valueChanges",{get:function(){return this.control?this.control.valueChanges:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return null},enumerable:!1,configurable:!0}),t.prototype._setValidators=function(t){this._rawValidators=t||[],this._composedValidatorFn=G(this._rawValidators)},t.prototype._setAsyncValidators=function(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=U(this._rawAsyncValidators)},Object.defineProperty(t.prototype,"validator",{get:function(){return this._composedValidatorFn||null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return this._composedAsyncValidatorFn||null},enumerable:!1,configurable:!0}),t.prototype._registerOnDestroy=function(t){this._onDestroyCallbacks.push(t)},t.prototype._invokeOnDestroyCallbacks=function(){this._onDestroyCallbacks.forEach((function(t){return t()})),this._onDestroyCallbacks=[]},t.prototype.reset=function(t){void 0===t&&(t=void 0),this.control&&this.control.reset(t)},t.prototype.hasError=function(t,e){return!!this.control&&this.control.hasError(t,e)},t.prototype.getError=function(t,e){return this.control?this.control.getError(t,e):null},t}(),H=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),Object.defineProperty(e.prototype,"formDirective",{get:function(){return null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return null},enumerable:!1,configurable:!0}),e}($),B=function(t){function e(){var e=t.apply(this,l(arguments))||this;return e._parent=null,e.name=null,e.valueAccessor=null,e}return a(e,t),e}($),z=function(){function t(t){this._cd=t}return t.prototype.is=function(t){var e,n;return!!(null===(n=null===(e=this._cd)||void 0===e?void 0:e.control)||void 0===n?void 0:n[t])},t}(),Z={"[class.ng-untouched]":'is("untouched")',"[class.ng-touched]":'is("touched")',"[class.ng-pristine]":'is("pristine")',"[class.ng-dirty]":'is("dirty")',"[class.ng-valid]":'is("valid")',"[class.ng-invalid]":'is("invalid")',"[class.ng-pending]":'is("pending")'},Y=function(t){function e(e){return t.call(this,e)||this}return a(e,t),e}(z);Y.decorators=[{type:e.Directive,args:[{selector:"[formControlName],[ngModel],[formControl]",host:Z}]}],Y.ctorParameters=function(){return[{type:B,decorators:[{type:e.Self}]}]};var J=function(t){function e(e){return t.call(this,e)||this}return a(e,t),e}(z);J.decorators=[{type:e.Directive,args:[{selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]",host:Z}]}],J.ctorParameters=function(){return[{type:H,decorators:[{type:e.Optional},{type:e.Self}]}]};
  /**
       * @license
       * Copyright Google LLC All Rights Reserved.
       *
       * Use of this source code is governed by an MIT-style license that can be
       * found in the LICENSE file at https://angular.io/license
       */
  var K='\n    <div [formGroup]="myGroup">\n      <input formControlName="firstName">\n    </div>\n\n    In your class:\n\n    this.myGroup = new FormGroup({\n       firstName: new FormControl()\n    });',Q='\n    <div [formGroup]="myGroup">\n       <div formGroupName="person">\n          <input formControlName="firstName">\n       </div>\n    </div>\n\n    In your class:\n\n    this.myGroup = new FormGroup({\n       person: new FormGroup({ firstName: new FormControl() })\n    });',X='\n    <form>\n       <div ngModelGroup="person">\n          <input [(ngModel)]="person.name" name="firstName">\n       </div>\n    </form>';
  /**
       * @license
       * Copyright Google LLC All Rights Reserved.
       *
       * Use of this source code is governed by an MIT-style license that can be
       * found in the LICENSE file at https://angular.io/license
       */function tt(t,e){return l(e.path,[t])}function et(t,e){ot(t,e,!0),e.valueAccessor.writeValue(t.value),function n(t,e){e.valueAccessor.registerOnChange((function(n){t._pendingValue=n,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&at(t,e)}))}(t,e),function r(t,e){var n=function(t,n){e.valueAccessor.writeValue(t),n&&e.viewToModelUpdate(t)};t.registerOnChange(n),e._registerOnDestroy((function(){t._unregisterOnChange(n)}))}(t,e),function o(t,e){e.valueAccessor.registerOnTouched((function(){t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&at(t,e),"submit"!==t.updateOn&&t.markAsTouched()}))}(t,e),function i(t,e){if(e.valueAccessor.setDisabledState){var n=function(t){e.valueAccessor.setDisabledState(t)};t.registerOnDisabledChange(n),e._registerOnDestroy((function(){t._unregisterOnDisabledChange(n)}))}}(t,e)}function nt(t,e,n){void 0===n&&(n=!0);var r=function(){};e.valueAccessor&&(e.valueAccessor.registerOnChange(r),e.valueAccessor.registerOnTouched(r)),it(t,e,!0),t&&(e._invokeOnDestroyCallbacks(),t._registerOnCollectionChange((function(){})))}function rt(t,e){t.forEach((function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(e)}))}function ot(t,e,n){var r=L(t);null!==e.validator?t.setValidators(q(r,e.validator)):"function"==typeof r&&t.setValidators([r]);var o=W(t);if(null!==e.asyncValidator?t.setAsyncValidators(q(o,e.asyncValidator)):"function"==typeof o&&t.setAsyncValidators([o]),n){var i=function(){return t.updateValueAndValidity()};rt(e._rawValidators,i),rt(e._rawAsyncValidators,i)}}function it(t,e,n){var r=!1;if(null!==t){if(null!==e.validator){var o=L(t);if(Array.isArray(o)&&o.length>0){var i=o.filter((function(t){return t!==e.validator}));i.length!==o.length&&(r=!0,t.setValidators(i))}}if(null!==e.asyncValidator){var a=W(t);if(Array.isArray(a)&&a.length>0){var s=a.filter((function(t){return t!==e.asyncValidator}));s.length!==a.length&&(r=!0,t.setAsyncValidators(s))}}}if(n){var u=function(){};rt(e._rawValidators,u),rt(e._rawAsyncValidators,u)}return r}function at(t,e){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function st(t,e){ot(t,e,!1)}function ut(t,e){if(!t.hasOwnProperty("model"))return!1;var n=t.model;return!!n.isFirstChange()||!Object.is(e,n.currentValue)}function lt(t,e){t._syncPendingControls(),e.forEach((function(t){var e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)}))}function ct(t,e){if(!e)return null;Array.isArray(e);var n=void 0,r=void 0,o=void 0;return e.forEach((function(t){t.constructor===g?n=t:function e(t){return Object.getPrototypeOf(t.constructor)===c}(t)?r=t:o=t})),o||r||n||null}function pt(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}function ht(t){return(gt(t)?t.validators:t)||null}function ft(t){return Array.isArray(t)?G(t):t||null}function dt(t,e){return(gt(e)?e.asyncValidators:t)||null}function yt(t){return Array.isArray(t)?U(t):t||null}function gt(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}!function(){function t(){}t.controlParentException=function(){throw new Error("formControlName must be used with a parent formGroup directive.  You'll want to add a formGroup\n       directive and pass it an existing FormGroup instance (you can create one in your class).\n\n      Example:\n\n      "+K)},t.ngModelGroupException=function(){throw new Error('formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n       that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n       Option 1:  Update the parent to be formGroupName (reactive form strategy)\n\n        '+Q+"\n\n        Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n        "+X)},t.missingFormException=function(){throw new Error("formGroup expects a FormGroup instance. Please pass one in.\n\n       Example:\n\n       "+K)},t.groupParentException=function(){throw new Error("formGroupName must be used with a parent formGroup directive.  You'll want to add a formGroup\n      directive and pass it an existing FormGroup instance (you can create one in your class).\n\n      Example:\n\n      "+Q)},t.arrayParentException=function(){throw new Error('formArrayName must be used with a parent formGroup directive.  You\'ll want to add a formGroup\n       directive and pass it an existing FormGroup instance (you can create one in your class).\n\n        Example:\n\n        \n    <div [formGroup]="myGroup">\n      <div formArrayName="cities">\n        <div *ngFor="let city of cityArray.controls; index as i">\n          <input [formControlName]="i">\n        </div>\n      </div>\n    </div>\n\n    In your class:\n\n    this.cityArray = new FormArray([new FormControl(\'SF\')]);\n    this.myGroup = new FormGroup({\n      cities: this.cityArray\n    });')},t.disabledAttrWarning=function(){console.warn("\n      It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n      when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n      you. We recommend using this approach to avoid 'changed after checked' errors.\n\n      Example:\n      form = new FormGroup({\n        first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n        last: new FormControl('Drew', Validators.required)\n      });\n    ")},t.ngModelWarning=function(t){console.warn("\n    It looks like you're using ngModel on the same form field as "+t+".\n    Support for using the ngModel input property and ngModelChange event with\n    reactive form directives has been deprecated in Angular v6 and will be removed\n    in a future version of Angular.\n\n    For more information on this, see our API docs here:\n    https://angular.io/api/forms/"+("formControl"===t?"FormControlDirective":"FormControlName")+"#use-with-ngmodel\n    ")}}();var mt=function(){function t(t,e){this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=function(){},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=t,this._rawAsyncValidators=e,this._composedValidatorFn=ft(this._rawValidators),this._composedAsyncValidatorFn=yt(this._rawAsyncValidators)}return Object.defineProperty(t.prototype,"validator",{get:function(){return this._composedValidatorFn},set:function(t){this._rawValidators=this._composedValidatorFn=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return this._composedAsyncValidatorFn},set:function(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return"VALID"===this.status},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return"INVALID"===this.status},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return"PENDING"==this.status},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return"DISABLED"===this.status},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return"DISABLED"!==this.status},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return!this.pristine},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return!this.touched},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"updateOn",{get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"},enumerable:!1,configurable:!0}),t.prototype.setValidators=function(t){this._rawValidators=t,this._composedValidatorFn=ft(t)},t.prototype.setAsyncValidators=function(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=yt(t)},t.prototype.clearValidators=function(){this.validator=null},t.prototype.clearAsyncValidators=function(){this.asyncValidator=null},t.prototype.markAsTouched=function(t){void 0===t&&(t={}),this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)},t.prototype.markAllAsTouched=function(){this.markAsTouched({onlySelf:!0}),this._forEachChild((function(t){return t.markAllAsTouched()}))},t.prototype.markAsUntouched=function(t){void 0===t&&(t={}),this.touched=!1,this._pendingTouched=!1,this._forEachChild((function(t){t.markAsUntouched({onlySelf:!0})})),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype.markAsDirty=function(t){void 0===t&&(t={}),this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)},t.prototype.markAsPristine=function(t){void 0===t&&(t={}),this.pristine=!0,this._pendingDirty=!1,this._forEachChild((function(t){t.markAsPristine({onlySelf:!0})})),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype.markAsPending=function(t){void 0===t&&(t={}),this.status="PENDING",!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)},t.prototype.disable=function(t){void 0===t&&(t={});var e=this._parentMarkedDirty(t.onlySelf);this.status="DISABLED",this.errors=null,this._forEachChild((function(e){e.disable(Object.assign(Object.assign({},t),{onlySelf:!0}))})),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach((function(t){return t(!0)}))},t.prototype.enable=function(t){void 0===t&&(t={});var e=this._parentMarkedDirty(t.onlySelf);this.status="VALID",this._forEachChild((function(e){e.enable(Object.assign(Object.assign({},t),{onlySelf:!0}))})),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach((function(t){return t(!1)}))},t.prototype._updateAncestors=function(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())},t.prototype.setParent=function(t){this._parent=t},t.prototype.updateValueAndValidity=function(t){void 0===t&&(t={}),this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this.status||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)},t.prototype._updateTreeValidity=function(t){void 0===t&&(t={emitEvent:!0}),this._forEachChild((function(e){return e._updateTreeValidity(t)})),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})},t.prototype._setInitialStatus=function(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"},t.prototype._runValidator=function(){return this.validator?this.validator(this):null},t.prototype._runAsyncValidator=function(t){var e=this;if(this.asyncValidator){this.status="PENDING",this._hasOwnPendingAsyncValidator=!0;var n=I(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe((function(n){e._hasOwnPendingAsyncValidator=!1,e.setErrors(n,{emitEvent:t})}))}},t.prototype._cancelExistingSubscription=function(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)},t.prototype.setErrors=function(t,e){void 0===e&&(e={}),this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)},t.prototype.get=function(t){return function e(t,n,r){if(null==n)return null;if(Array.isArray(n)||(n=n.split(r)),Array.isArray(n)&&0===n.length)return null;var o=t;return n.forEach((function(t){o=o instanceof vt?o.controls.hasOwnProperty(t)?o.controls[t]:null:o instanceof bt&&o.at(t)||null})),o}(this,t,".")},t.prototype.getError=function(t,e){var n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null},t.prototype.hasError=function(t,e){return!!this.getError(t,e)},Object.defineProperty(t.prototype,"root",{get:function(){for(var t=this;t._parent;)t=t._parent;return t},enumerable:!1,configurable:!0}),t.prototype._updateControlsErrors=function(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)},t.prototype._initObservables=function(){this.valueChanges=new e.EventEmitter,this.statusChanges=new e.EventEmitter},t.prototype._calculateStatus=function(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"},t.prototype._anyControlsHaveStatus=function(t){return this._anyControls((function(e){return e.status===t}))},t.prototype._anyControlsDirty=function(){return this._anyControls((function(t){return t.dirty}))},t.prototype._anyControlsTouched=function(){return this._anyControls((function(t){return t.touched}))},t.prototype._updatePristine=function(t){void 0===t&&(t={}),this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype._updateTouched=function(t){void 0===t&&(t={}),this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype._isBoxedValue=function(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t},t.prototype._registerOnCollectionChange=function(t){this._onCollectionChange=t},t.prototype._setUpdateStrategy=function(t){gt(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)},t.prototype._parentMarkedDirty=function(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()},t}(),_t=function(t){function e(e,n,r){void 0===e&&(e=null);var o=t.call(this,ht(n),dt(r,n))||this;return o._onChange=[],o._applyFormState(e),o._setUpdateStrategy(n),o._initObservables(),o.updateValueAndValidity({onlySelf:!0,emitEvent:!!r}),o}return a(e,t),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach((function(t){return t(n.value,!1!==e.emitViewToModelChange)})),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){void 0===e&&(e={}),this.setValue(t,e)},e.prototype.reset=function(t,e){void 0===t&&(t=null),void 0===e&&(e={}),this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1},e.prototype._updateValue=function(){},e.prototype._anyControls=function(t){return!1},e.prototype._allControlsDisabled=function(){return this.disabled},e.prototype.registerOnChange=function(t){this._onChange.push(t)},e.prototype._unregisterOnChange=function(t){pt(this._onChange,t)},e.prototype.registerOnDisabledChange=function(t){this._onDisabledChange.push(t)},e.prototype._unregisterOnDisabledChange=function(t){pt(this._onDisabledChange,t)},e.prototype._forEachChild=function(t){},e.prototype._syncPendingControls=function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))},e.prototype._applyFormState=function(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t},e}(mt),vt=function(t){function e(e,n,r){var o=t.call(this,ht(n),dt(r,n))||this;return o.controls=e,o._initObservables(),o._setUpdateStrategy(n),o._setUpControls(),o.updateValueAndValidity({onlySelf:!0,emitEvent:!!r}),o}return a(e,t),e.prototype.registerControl=function(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)},e.prototype.addControl=function(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.removeControl=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange((function(){})),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange((function(){})),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.contains=function(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled},e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),Object.keys(t).forEach((function(r){n._throwIfControlMissing(r),n.controls[r].setValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),null!=t&&(Object.keys(t).forEach((function(r){n.controls[r]&&n.controls[r].patchValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e))},e.prototype.reset=function(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this._forEachChild((function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})})),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)},e.prototype.getRawValue=function(){return this._reduceChildren({},(function(t,e,n){return t[n]=e instanceof _t?e.value:e.getRawValue(),t}))},e.prototype._syncPendingControls=function(){var t=this._reduceChildren(!1,(function(t,e){return!!e._syncPendingControls()||t}));return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!Object.keys(this.controls).length)throw new Error("\n        There are no form controls registered with this group yet. If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.controls[t])throw new Error("Cannot find form control with name: "+t+".")},e.prototype._forEachChild=function(t){var e=this;Object.keys(this.controls).forEach((function(n){var r=e.controls[n];r&&t(r,n)}))},e.prototype._setUpControls=function(){var t=this;this._forEachChild((function(e){e.setParent(t),e._registerOnCollectionChange(t._onCollectionChange)}))},e.prototype._updateValue=function(){this.value=this._reduceValue()},e.prototype._anyControls=function(t){var e,n;try{for(var r=s(Object.keys(this.controls)),o=r.next();!o.done;o=r.next()){var i=o.value,a=this.controls[i];if(this.contains(i)&&t(a))return!0}}catch(t){e={error:t}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}return!1},e.prototype._reduceValue=function(){var t=this;return this._reduceChildren({},(function(e,n,r){return(n.enabled||t.disabled)&&(e[r]=n.value),e}))},e.prototype._reduceChildren=function(t,e){var n=t;return this._forEachChild((function(t,r){n=e(n,t,r)})),n},e.prototype._allControlsDisabled=function(){var t,e;try{for(var n=s(Object.keys(this.controls)),r=n.next();!r.done;r=n.next())if(this.controls[r.value].enabled)return!1}catch(e){t={error:e}}finally{try{r&&!r.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return Object.keys(this.controls).length>0||this.disabled},e.prototype._checkAllValuesPresent=function(t){this._forEachChild((function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control with name: '"+n+"'.")}))},e}(mt),bt=function(t){function e(e,n,r){var o=t.call(this,ht(n),dt(r,n))||this;return o.controls=e,o._initObservables(),o._setUpdateStrategy(n),o._setUpControls(),o.updateValueAndValidity({onlySelf:!0,emitEvent:!!r}),o}return a(e,t),e.prototype.at=function(t){return this.controls[t]},e.prototype.push=function(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.insert=function(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity()},e.prototype.removeAt=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange((function(){})),this.controls.splice(t,1),this.updateValueAndValidity()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange((function(){})),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()},Object.defineProperty(e.prototype,"length",{get:function(){return this.controls.length},enumerable:!1,configurable:!0}),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),t.forEach((function(t,r){n._throwIfControlMissing(r),n.at(r).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),null!=t&&(t.forEach((function(t,r){n.at(r)&&n.at(r).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e))},e.prototype.reset=function(t,e){void 0===t&&(t=[]),void 0===e&&(e={}),this._forEachChild((function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})})),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)},e.prototype.getRawValue=function(){return this.controls.map((function(t){return t instanceof _t?t.value:t.getRawValue()}))},e.prototype.clear=function(){this.controls.length<1||(this._forEachChild((function(t){return t._registerOnCollectionChange((function(){}))})),this.controls.splice(0),this.updateValueAndValidity())},e.prototype._syncPendingControls=function(){var t=this.controls.reduce((function(t,e){return!!e._syncPendingControls()||t}),!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!this.controls.length)throw new Error("\n        There are no form controls registered with this array yet. If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.at(t))throw new Error("Cannot find form control at index "+t)},e.prototype._forEachChild=function(t){this.controls.forEach((function(e,n){t(e,n)}))},e.prototype._updateValue=function(){var t=this;this.value=this.controls.filter((function(e){return e.enabled||t.disabled})).map((function(t){return t.value}))},e.prototype._anyControls=function(t){return this.controls.some((function(e){return e.enabled&&t(e)}))},e.prototype._setUpControls=function(){var t=this;this._forEachChild((function(e){return t._registerControl(e)}))},e.prototype._checkAllValuesPresent=function(t){this._forEachChild((function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control at index: "+n+".")}))},e.prototype._allControlsDisabled=function(){var t,e;try{for(var n=s(this.controls),r=n.next();!r.done;r=n.next())if(r.value.enabled)return!1}catch(e){t={error:e}}finally{try{r&&!r.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return this.controls.length>0||this.disabled},e.prototype._registerControl=function(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)},e}(mt),Ct={provide:H,useExisting:e.forwardRef((function(){return Ot}))},Vt=Promise.resolve(null),Ot=function(t){function n(n,r){var o=t.call(this)||this;return o.submitted=!1,o._directives=[],o.ngSubmit=new e.EventEmitter,o.form=new vt({},G(n),U(r)),o}return a(n,t),n.prototype.ngAfterViewInit=function(){this._setUpdateStrategy()},Object.defineProperty(n.prototype,"formDirective",{get:function(){return this},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"control",{get:function(){return this.form},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"path",{get:function(){return[]},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"controls",{get:function(){return this.form.controls},enumerable:!1,configurable:!0}),n.prototype.addControl=function(t){var e=this;Vt.then((function(){var n=e._findContainer(t.path);t.control=n.registerControl(t.name,t.control),et(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),e._directives.push(t)}))},n.prototype.getControl=function(t){return this.form.get(t.path)},n.prototype.removeControl=function(t){var e=this;Vt.then((function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name),pt(e._directives,t)}))},n.prototype.addFormGroup=function(t){var e=this;Vt.then((function(){var n=e._findContainer(t.path),r=new vt({});st(r,t),n.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})}))},n.prototype.removeFormGroup=function(t){var e=this;Vt.then((function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name)}))},n.prototype.getFormGroup=function(t){return this.form.get(t.path)},n.prototype.updateModel=function(t,e){var n=this;Vt.then((function(){n.form.get(t.path).setValue(e)}))},n.prototype.setValue=function(t){this.control.setValue(t)},n.prototype.onSubmit=function(t){return this.submitted=!0,lt(this.form,this._directives),this.ngSubmit.emit(t),!1},n.prototype.onReset=function(){this.resetForm()},n.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},n.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)},n.prototype._findContainer=function(t){return t.pop(),t.length?this.form.get(t):this.form},n}(H);Ot.decorators=[{type:e.Directive,args:[{selector:"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]",providers:[Ct],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},outputs:["ngSubmit"],exportAs:"ngForm"}]}],Ot.ctorParameters=function(){return[{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[v]}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[b]}]}]},Ot.propDecorators={options:[{type:e.Input,args:["ngFormOptions"]}]};var At=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormGroup(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormGroup(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormGroup(this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return tt(null==this.name?this.name:this.name.toString(),this._parent)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!1,configurable:!0}),e.prototype._checkParentType=function(){},e}(H);At.decorators=[{type:e.Directive}],function(){function t(){}t.modelParentException=function(){throw new Error('\n      ngModel cannot be used to register form controls with a parent formGroup directive.  Try using\n      formGroup\'s partner directive "formControlName" instead.  Example:\n\n      '+K+'\n\n      Or, if you\'d like to avoid registering this form control, indicate that it\'s standalone in ngModelOptions:\n\n      Example:\n\n      \n    <div [formGroup]="myGroup">\n       <input formControlName="firstName">\n       <input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}">\n    </div>\n  ')},t.formGroupNameException=function(){throw new Error("\n      ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n      Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n      "+Q+"\n\n      Option 2:  Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n      "+X)},t.missingNameException=function(){throw new Error('If ngModel is used within a form tag, either the name attribute must be set or the form\n      control must be defined as \'standalone\' in ngModelOptions.\n\n      Example 1: <input [(ngModel)]="person.firstName" name="first">\n      Example 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}">')},t.modelGroupParentException=function(){throw new Error("\n      ngModelGroup cannot be used with a parent formGroup directive.\n\n      Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n      "+Q+"\n\n      Option 2:  Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n      "+X)}}();
  /**
       * @license
       * Copyright Google LLC All Rights Reserved.
       *
       * Use of this source code is governed by an MIT-style license that can be
       * found in the LICENSE file at https://angular.io/license
       */
  var Et={provide:H,useExisting:e.forwardRef((function(){return wt}))},wt=function(t){function e(e,n,r){var o=t.call(this)||this;return o._parent=e,o._setValidators(n),o._setAsyncValidators(r),o}return a(e,t),e.prototype._checkParentType=function(){},e}(At);wt.decorators=[{type:e.Directive,args:[{selector:"[ngModelGroup]",providers:[Et],exportAs:"ngModelGroup"}]}],wt.ctorParameters=function(){return[{type:H,decorators:[{type:e.Host},{type:e.SkipSelf}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[v]}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[b]}]}]},wt.propDecorators={name:[{type:e.Input,args:["ngModelGroup"]}]};var Dt,Pt={provide:B,useExisting:e.forwardRef((function(){return kt}))},St=Promise.resolve(null),kt=function(t){function n(n,r,o,i){var a=t.call(this)||this;return a.control=new _t,a._registered=!1,a.update=new e.EventEmitter,a._parent=n,a._setValidators(r),a._setAsyncValidators(o),a.valueAccessor=ct(0,i),a}return a(n,t),n.prototype.ngOnChanges=function(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),ut(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)},n.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},Object.defineProperty(n.prototype,"path",{get:function(){return this._parent?tt(this.name,this._parent):[this.name]},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!1,configurable:!0}),n.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},n.prototype._setUpControl=function(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0},n.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)},n.prototype._isStandalone=function(){return!this._parent||!(!this.options||!this.options.standalone)},n.prototype._setUpStandalone=function(){et(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})},n.prototype._checkForErrors=function(){this._isStandalone()||this._checkParentType(),this._checkName()},n.prototype._checkParentType=function(){},n.prototype._checkName=function(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()},n.prototype._updateValue=function(t){var e=this;St.then((function(){e.control.setValue(t,{emitViewToModelChange:!1})}))},n.prototype._updateDisabled=function(t){var e=this,n=t.isDisabled.currentValue,r=""===n||n&&"false"!==n;St.then((function(){r&&!e.control.disabled?e.control.disable():!r&&e.control.disabled&&e.control.enable()}))},n}(B);kt.decorators=[{type:e.Directive,args:[{selector:"[ngModel]:not([formControlName]):not([formControl])",providers:[Pt],exportAs:"ngModel"}]}],kt.ctorParameters=function(){return[{type:H,decorators:[{type:e.Optional},{type:e.Host}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[v]}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[b]}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[p]}]}]},kt.propDecorators={name:[{type:e.Input}],isDisabled:[{type:e.Input,args:["disabled"]}],model:[{type:e.Input,args:["ngModel"]}],options:[{type:e.Input,args:["ngModelOptions"]}],update:[{type:e.Output,args:["ngModelChange"]}]},(Dt=function Dt(){}).decorators=[{type:e.Directive,args:[{selector:"form:not([ngNoForm]):not([ngNativeValidate])",host:{novalidate:""}}]}];var Mt={provide:p,useExisting:e.forwardRef((function(){return jt})),multi:!0},jt=function(t){function e(e,n){var r=t.call(this)||this;return r._renderer=e,r._elementRef=n,r.onChange=function(t){},r.onTouched=function(){},r}return a(e,t),e.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==t?"":t)},e.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},e.prototype.registerOnTouched=function(t){this.onTouched=t},e.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},e}(c);jt.decorators=[{type:e.Directive,args:[{selector:"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]",host:{"(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[Mt]}]}],jt.ctorParameters=function(){return[{type:e.Renderer2},{type:e.ElementRef}]};var It,xt={provide:p,useExisting:e.forwardRef((function(){return Ft})),multi:!0};(It=function It(){}).decorators=[{type:e.NgModule}];var Nt=function(){function t(){this._accessors=[]}return t.prototype.add=function(t,e){this._accessors.push([t,e])},t.prototype.remove=function(t){for(var e=this._accessors.length-1;e>=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)},t.prototype.select=function(t){var e=this;this._accessors.forEach((function(n){e._isSameGroup(n,t)&&n[1]!==t&&n[1].fireUncheck(t.value)}))},t.prototype._isSameGroup=function(t,e){return!!t[0].control&&t[0]._parent===e._control._parent&&t[1].name===e.name},t}();Nt.ɵprov=e.ɵɵdefineInjectable({factory:function t(){return new Nt},token:Nt,providedIn:It}),Nt.decorators=[{type:e.Injectable,args:[{providedIn:It}]}];var Ft=function(t){function e(e,n,r,o){var i=t.call(this)||this;return i._renderer=e,i._elementRef=n,i._registry=r,i._injector=o,i.onChange=function(){},i.onTouched=function(){},i}return a(e,t),e.prototype.ngOnInit=function(){this._control=this._injector.get(B),this._checkName(),this._registry.add(this._control,this)},e.prototype.ngOnDestroy=function(){this._registry.remove(this)},e.prototype.writeValue=function(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)},e.prototype.registerOnChange=function(t){var e=this;this._fn=t,this.onChange=function(){t(e.value),e._registry.select(e)}},e.prototype.fireUncheck=function(t){this.writeValue(t)},e.prototype.registerOnTouched=function(t){this.onTouched=t},e.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},e.prototype._checkName=function(){!this.name&&this.formControlName&&(this.name=this.formControlName)},e}(c);Ft.decorators=[{type:e.Directive,args:[{selector:"input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]",host:{"(change)":"onChange()","(blur)":"onTouched()"},providers:[xt]}]}],Ft.ctorParameters=function(){return[{type:e.Renderer2},{type:e.ElementRef},{type:Nt},{type:e.Injector}]},Ft.propDecorators={name:[{type:e.Input}],formControlName:[{type:e.Input}],value:[{type:e.Input}]};var Tt={provide:p,useExisting:e.forwardRef((function(){return Gt})),multi:!0},Gt=function(t){function e(e,n){var r=t.call(this)||this;return r._renderer=e,r._elementRef=n,r.onChange=function(t){},r.onTouched=function(){},r}return a(e,t),e.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))},e.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},e.prototype.registerOnTouched=function(t){this.onTouched=t},e.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},e}(c);Gt.decorators=[{type:e.Directive,args:[{selector:"input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]",host:{"(change)":"onChange($event.target.value)","(input)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[Tt]}]}],Gt.ctorParameters=function(){return[{type:e.Renderer2},{type:e.ElementRef}]};var Rt=new e.InjectionToken("NgModelWithFormControlWarning"),Ut={provide:B,useExisting:e.forwardRef((function(){return qt}))},qt=function(t){function n(n,r,o,i){var a=t.call(this)||this;return a._ngModelWarningConfig=i,a.update=new e.EventEmitter,a._ngModelWarningSent=!1,a._setValidators(n),a._setAsyncValidators(r),a.valueAccessor=ct(0,o),a}return a(n,t),Object.defineProperty(n.prototype,"isDisabled",{set:function(t){},enumerable:!1,configurable:!0}),n.prototype.ngOnChanges=function(t){if(this._isControlChanged(t)){var e=t.form.previousValue;e&&nt(e,this,!1),et(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})}ut(t,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)},n.prototype.ngOnDestroy=function(){this.form&&nt(this.form,this,!1)},Object.defineProperty(n.prototype,"path",{get:function(){return[]},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"control",{get:function(){return this.form},enumerable:!1,configurable:!0}),n.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},n.prototype._isControlChanged=function(t){return t.hasOwnProperty("form")},n}(B);qt._ngModelWarningSentOnce=!1,qt.decorators=[{type:e.Directive,args:[{selector:"[formControl]",providers:[Ut],exportAs:"ngForm"}]}],qt.ctorParameters=function(){return[{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[v]}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[b]}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[p]}]},{type:String,decorators:[{type:e.Optional},{type:e.Inject,args:[Rt]}]}]},qt.propDecorators={form:[{type:e.Input,args:["formControl"]}],isDisabled:[{type:e.Input,args:["disabled"]}],model:[{type:e.Input,args:["ngModel"]}],update:[{type:e.Output,args:["ngModelChange"]}]};var Lt={provide:H,useExisting:e.forwardRef((function(){return Wt}))},Wt=function(t){function n(n,r){var o=t.call(this)||this;return o.validators=n,o.asyncValidators=r,o.submitted=!1,o._onCollectionChange=function(){return o._updateDomValue()},o.directives=[],o.form=null,o.ngSubmit=new e.EventEmitter,o._setValidators(n),o._setAsyncValidators(r),o}return a(n,t),n.prototype.ngOnChanges=function(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)},n.prototype.ngOnDestroy=function(){this.form&&(it(this.form,this,!1),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange((function(){})))},Object.defineProperty(n.prototype,"formDirective",{get:function(){return this},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"control",{get:function(){return this.form},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"path",{get:function(){return[]},enumerable:!1,configurable:!0}),n.prototype.addControl=function(t){var e=this.form.get(t.path);return et(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e},n.prototype.getControl=function(t){return this.form.get(t.path)},n.prototype.removeControl=function(t){nt(t.control||null,t,!1),pt(this.directives,t)},n.prototype.addFormGroup=function(t){this._setUpFormContainer(t)},n.prototype.removeFormGroup=function(t){this._cleanUpFormContainer(t)},n.prototype.getFormGroup=function(t){return this.form.get(t.path)},n.prototype.addFormArray=function(t){this._setUpFormContainer(t)},n.prototype.removeFormArray=function(t){this._cleanUpFormContainer(t)},n.prototype.getFormArray=function(t){return this.form.get(t.path)},n.prototype.updateModel=function(t,e){this.form.get(t.path).setValue(e)},n.prototype.onSubmit=function(t){return this.submitted=!0,lt(this.form,this.directives),this.ngSubmit.emit(t),!1},n.prototype.onReset=function(){this.resetForm()},n.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},n.prototype._updateDomValue=function(){var t=this;this.directives.forEach((function(e){var n=e.control,r=t.form.get(e.path);n!==r&&(nt(n||null,e),r instanceof _t&&(et(r,e),e.control=r))})),this.form._updateTreeValidity({emitEvent:!1})},n.prototype._setUpFormContainer=function(t){var e=this.form.get(t.path);st(e,t),e.updateValueAndValidity({emitEvent:!1})},n.prototype._cleanUpFormContainer=function(t){if(this.form){var e=this.form.get(t.path);e&&function n(t,e){return it(t,e,!1)}(e,t)&&e.updateValueAndValidity({emitEvent:!1})}},n.prototype._updateRegistrations=function(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange((function(){}))},n.prototype._updateValidators=function(){ot(this.form,this,!1),this._oldForm&&it(this._oldForm,this,!1)},n.prototype._checkFormPresent=function(){},n}(H);Wt.decorators=[{type:e.Directive,args:[{selector:"[formGroup]",providers:[Lt],host:{"(submit)":"onSubmit($event)","(reset)":"onReset()"},exportAs:"ngForm"}]}],Wt.ctorParameters=function(){return[{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[v]}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[b]}]}]},Wt.propDecorators={form:[{type:e.Input,args:["formGroup"]}],ngSubmit:[{type:e.Output}]};var $t={provide:H,useExisting:e.forwardRef((function(){return Ht}))},Ht=function(t){function e(e,n,r){var o=t.call(this)||this;return o._parent=e,o._setValidators(n),o._setAsyncValidators(r),o}return a(e,t),e.prototype._checkParentType=function(){Zt(this._parent)},e}(At);Ht.decorators=[{type:e.Directive,args:[{selector:"[formGroupName]",providers:[$t]}]}],Ht.ctorParameters=function(){return[{type:H,decorators:[{type:e.Optional},{type:e.Host},{type:e.SkipSelf}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[v]}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[b]}]}]},Ht.propDecorators={name:[{type:e.Input,args:["formGroupName"]}]};var Bt={provide:H,useExisting:e.forwardRef((function(){return zt}))},zt=function(t){function e(e,n,r){var o=t.call(this)||this;return o._parent=e,o._setValidators(n),o._setAsyncValidators(r),o}return a(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormArray(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormArray(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormArray(this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return tt(null==this.name?this.name:this.name.toString(),this._parent)},enumerable:!1,configurable:!0}),e.prototype._checkParentType=function(){Zt(this._parent)},e}(H);function Zt(t){return!(t instanceof Ht||t instanceof Wt||t instanceof zt)}zt.decorators=[{type:e.Directive,args:[{selector:"[formArrayName]",providers:[Bt]}]}],zt.ctorParameters=function(){return[{type:H,decorators:[{type:e.Optional},{type:e.Host},{type:e.SkipSelf}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[v]}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[b]}]}]},zt.propDecorators={name:[{type:e.Input,args:["formArrayName"]}]};var Yt={provide:B,useExisting:e.forwardRef((function(){return Jt}))},Jt=function(t){function n(n,r,o,i,a){var s=t.call(this)||this;return s._ngModelWarningConfig=a,s._added=!1,s.update=new e.EventEmitter,s._ngModelWarningSent=!1,s._parent=n,s._setValidators(r),s._setAsyncValidators(o),s.valueAccessor=ct(0,i),s}return a(n,t),Object.defineProperty(n.prototype,"isDisabled",{set:function(t){},enumerable:!1,configurable:!0}),n.prototype.ngOnChanges=function(t){this._added||this._setUpControl(),ut(t,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))},n.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},n.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},Object.defineProperty(n.prototype,"path",{get:function(){return tt(null==this.name?this.name:this.name.toString(),this._parent)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!1,configurable:!0}),n.prototype._checkParentType=function(){},n.prototype._setUpControl=function(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0},n}(B);Jt._ngModelWarningSentOnce=!1,Jt.decorators=[{type:e.Directive,args:[{selector:"[formControlName]",providers:[Yt]}]}],Jt.ctorParameters=function(){return[{type:H,decorators:[{type:e.Optional},{type:e.Host},{type:e.SkipSelf}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[v]}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[b]}]},{type:Array,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[p]}]},{type:String,decorators:[{type:e.Optional},{type:e.Inject,args:[Rt]}]}]},Jt.propDecorators={name:[{type:e.Input,args:["formControlName"]}],isDisabled:[{type:e.Input,args:["disabled"]}],model:[{type:e.Input,args:["ngModel"]}],update:[{type:e.Output,args:["ngModelChange"]}]};var Kt={provide:p,useExisting:e.forwardRef((function(){return Xt})),multi:!0};function Qt(t,e){return null==t?""+e:(e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var Xt=function(t){function e(e,n){var r=t.call(this)||this;return r._renderer=e,r._elementRef=n,r._optionMap=new Map,r._idCounter=0,r.onChange=function(t){},r.onTouched=function(){},r._compareWith=Object.is,r}return a(e,t),Object.defineProperty(e.prototype,"compareWith",{set:function(t){this._compareWith=t},enumerable:!1,configurable:!0}),e.prototype.writeValue=function(t){this.value=t;var e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);var n=Qt(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)},e.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){e.value=e._getOptionValue(n),t(e.value)}},e.prototype.registerOnTouched=function(t){this.onTouched=t},e.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},e.prototype._registerOption=function(){return(this._idCounter++).toString()},e.prototype._getOptionId=function(t){var e,n;try{for(var r=s(Array.from(this._optionMap.keys())),o=r.next();!o.done;o=r.next()){var i=o.value;if(this._compareWith(this._optionMap.get(i),t))return i}}catch(t){e={error:t}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}return null},e.prototype._getOptionValue=function(t){var e=function n(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e):t},e}(c);Xt.decorators=[{type:e.Directive,args:[{selector:"select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]",host:{"(change)":"onChange($event.target.value)","(blur)":"onTouched()"},providers:[Kt]}]}],Xt.ctorParameters=function(){return[{type:e.Renderer2},{type:e.ElementRef}]},Xt.propDecorators={compareWith:[{type:e.Input}]};var te=function(){function t(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption())}return Object.defineProperty(t.prototype,"ngValue",{set:function(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(Qt(this.id,t)),this._select.writeValue(this._select.value))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"value",{set:function(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)},enumerable:!1,configurable:!0}),t.prototype._setElementValue=function(t){this._renderer.setProperty(this._element.nativeElement,"value",t)},t.prototype.ngOnDestroy=function(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))},t}();te.decorators=[{type:e.Directive,args:[{selector:"option"}]}],te.ctorParameters=function(){return[{type:e.ElementRef},{type:e.Renderer2},{type:Xt,decorators:[{type:e.Optional},{type:e.Host}]}]},te.propDecorators={ngValue:[{type:e.Input,args:["ngValue"]}],value:[{type:e.Input,args:["value"]}]};var ee={provide:p,useExisting:e.forwardRef((function(){return re})),multi:!0};function ne(t,e){return null==t?""+e:("string"==typeof e&&(e="'"+e+"'"),e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}var re=function(t){function e(e,n){var r=t.call(this)||this;return r._renderer=e,r._elementRef=n,r._optionMap=new Map,r._idCounter=0,r.onChange=function(t){},r.onTouched=function(){},r._compareWith=Object.is,r}return a(e,t),Object.defineProperty(e.prototype,"compareWith",{set:function(t){this._compareWith=t},enumerable:!1,configurable:!0}),e.prototype.writeValue=function(t){var e,n=this;if(this.value=t,Array.isArray(t)){var r=t.map((function(t){return n._getOptionId(t)}));e=function(t,e){t._setSelected(r.indexOf(e.toString())>-1)}}else e=function(t,e){t._setSelected(!1)};this._optionMap.forEach(e)},e.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){var r=[];if(void 0!==n.selectedOptions)for(var o=n.selectedOptions,i=0;i<o.length;i++){var a=o.item(i),s=e._getOptionValue(a.value);r.push(s)}else for(o=n.options,i=0;i<o.length;i++)(a=o.item(i)).selected&&(s=e._getOptionValue(a.value),r.push(s));e.value=r,t(r)}},e.prototype.registerOnTouched=function(t){this.onTouched=t},e.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},e.prototype._registerOption=function(t){var e=(this._idCounter++).toString();return this._optionMap.set(e,t),e},e.prototype._getOptionId=function(t){var e,n;try{for(var r=s(Array.from(this._optionMap.keys())),o=r.next();!o.done;o=r.next()){var i=o.value;if(this._compareWith(this._optionMap.get(i)._value,t))return i}}catch(t){e={error:t}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}return null},e.prototype._getOptionValue=function(t){var e=function n(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e)._value:t},e}(c);re.decorators=[{type:e.Directive,args:[{selector:"select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]",host:{"(change)":"onChange($event.target)","(blur)":"onTouched()"},providers:[ee]}]}],re.ctorParameters=function(){return[{type:e.Renderer2},{type:e.ElementRef}]},re.propDecorators={compareWith:[{type:e.Input}]};var oe=function(){function t(t,e,n){this._element=t,this._renderer=e,this._select=n,this._select&&(this.id=this._select._registerOption(this))}return Object.defineProperty(t.prototype,"ngValue",{set:function(t){null!=this._select&&(this._value=t,this._setElementValue(ne(this.id,t)),this._select.writeValue(this._select.value))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"value",{set:function(t){this._select?(this._value=t,this._setElementValue(ne(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)},enumerable:!1,configurable:!0}),t.prototype._setElementValue=function(t){this._renderer.setProperty(this._element.nativeElement,"value",t)},t.prototype._setSelected=function(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)},t.prototype.ngOnDestroy=function(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))},t}();oe.decorators=[{type:e.Directive,args:[{selector:"option"}]}],oe.ctorParameters=function(){return[{type:e.ElementRef},{type:e.Renderer2},{type:re,decorators:[{type:e.Optional},{type:e.Host}]}]},oe.propDecorators={ngValue:[{type:e.Input,args:["ngValue"]}],value:[{type:e.Input,args:["value"]}]};var ie={provide:v,useExisting:e.forwardRef((function(){return se})),multi:!0},ae={provide:v,useExisting:e.forwardRef((function(){return ue})),multi:!0},se=function(){function t(){this._required=!1}return Object.defineProperty(t.prototype,"required",{get:function(){return this._required},set:function(t){this._required=null!=t&&!1!==t&&""+t!="false",this._onChange&&this._onChange()},enumerable:!1,configurable:!0}),t.prototype.validate=function(t){return this.required?E(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t}();se.decorators=[{type:e.Directive,args:[{selector:":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]",providers:[ie],host:{"[attr.required]":'required ? "" : null'}}]}],se.propDecorators={required:[{type:e.Input}]};var ue=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.validate=function(t){return this.required?w(t):null},e}(se);ue.decorators=[{type:e.Directive,args:[{selector:"input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]",providers:[ae],host:{"[attr.required]":'required ? "" : null'}}]}];var le={provide:v,useExisting:e.forwardRef((function(){return ce})),multi:!0},ce=function(){function t(){this._enabled=!1}return Object.defineProperty(t.prototype,"email",{set:function(t){this._enabled=""===t||!0===t||"true"===t,this._onChange&&this._onChange()},enumerable:!1,configurable:!0}),t.prototype.validate=function(t){return this._enabled?D(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t}();ce.decorators=[{type:e.Directive,args:[{selector:"[email][formControlName],[email][formControl],[email][ngModel]",providers:[le]}]}],ce.propDecorators={email:[{type:e.Input}]};var pe={provide:v,useExisting:e.forwardRef((function(){return he})),multi:!0},he=function(){function t(){this._validator=M}return t.prototype.ngOnChanges=function(t){"minlength"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return null==this.minlength?null:this._validator(t)},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=P("number"==typeof this.minlength?this.minlength:parseInt(this.minlength,10))},t}();he.decorators=[{type:e.Directive,args:[{selector:"[minlength][formControlName],[minlength][formControl],[minlength][ngModel]",providers:[pe],host:{"[attr.minlength]":"minlength ? minlength : null"}}]}],he.propDecorators={minlength:[{type:e.Input}]};var fe={provide:v,useExisting:e.forwardRef((function(){return de})),multi:!0},de=function(){function t(){this._validator=M}return t.prototype.ngOnChanges=function(t){"maxlength"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return null!=this.maxlength?this._validator(t):null},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=S("number"==typeof this.maxlength?this.maxlength:parseInt(this.maxlength,10))},t}();de.decorators=[{type:e.Directive,args:[{selector:"[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]",providers:[fe],host:{"[attr.maxlength]":"maxlength ? maxlength : null"}}]}],de.propDecorators={maxlength:[{type:e.Input}]};var ye={provide:v,useExisting:e.forwardRef((function(){return ge})),multi:!0},ge=function(){function t(){this._validator=M}return t.prototype.ngOnChanges=function(t){"pattern"in t&&(this._createValidator(),this._onChange&&this._onChange())},t.prototype.validate=function(t){return this._validator(t)},t.prototype.registerOnValidatorChange=function(t){this._onChange=t},t.prototype._createValidator=function(){this._validator=k(this.pattern)},t}();ge.decorators=[{type:e.Directive,args:[{selector:"[pattern][formControlName],[pattern][formControl],[pattern][ngModel]",providers:[ye],host:{"[attr.pattern]":"pattern ? pattern : null"}}]}],ge.propDecorators={pattern:[{type:e.Input}]};
  /**
       * @license
       * Copyright Google LLC All Rights Reserved.
       *
       * Use of this source code is governed by an MIT-style license that can be
       * found in the LICENSE file at https://angular.io/license
       */
  var me,_e,ve=[Dt,te,oe,g,jt,Gt,f,Xt,re,Ft,Y,J,se,he,de,ge,ue,ce],be=[kt,wt,Ot],Ce=[qt,Wt,Jt,Ht,zt];(me=function me(){}).decorators=[{type:e.NgModule,args:[{declarations:ve,imports:[It],exports:ve}]}],(_e=function _e(){}).decorators=[{type:e.NgModule,args:[{declarations:be,exports:[me,be]}]}];var Ve=function(){function t(){}return t.withConfig=function(e){return{ngModule:t,providers:[{provide:Rt,useValue:e.warnOnNgModelWithFormControl}]}},t}();Ve.decorators=[{type:e.NgModule,args:[{declarations:[Ce],exports:[me,Ce]}]}];var Oe=function(){function t(){}return t.prototype.group=function(t,e){void 0===e&&(e=null);var n=this._reduceControls(t),r=null,o=null,i=void 0;return null!=e&&(
  /**
       * @license
       * Copyright Google LLC All Rights Reserved.
       *
       * Use of this source code is governed by an MIT-style license that can be
       * found in the LICENSE file at https://angular.io/license
       */
  function a(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(e)?(r=null!=e.validators?e.validators:null,o=null!=e.asyncValidators?e.asyncValidators:null,i=null!=e.updateOn?e.updateOn:void 0):(r=null!=e.validator?e.validator:null,o=null!=e.asyncValidator?e.asyncValidator:null)),new vt(n,{asyncValidators:o,updateOn:i,validators:r})},t.prototype.control=function(t,e,n){return new _t(t,e,n)},t.prototype.array=function(t,e,n){var r=this,o=t.map((function(t){return r._createControl(t)}));return new bt(o,e,n)},t.prototype._reduceControls=function(t){var e=this,n={};return Object.keys(t).forEach((function(r){n[r]=e._createControl(t[r])})),n},t.prototype._createControl=function(t){return t instanceof _t||t instanceof vt||t instanceof bt?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)},t}();Oe.ɵprov=e.ɵɵdefineInjectable({factory:function t(){return new Oe},token:Oe,providedIn:Ve}),Oe.decorators=[{type:e.Injectable,args:[{providedIn:Ve}]}];
  /**
       * @license
       * Copyright Google LLC All Rights Reserved.
       *
       * Use of this source code is governed by an MIT-style license that can be
       * found in the LICENSE file at https://angular.io/license
       */
  var Ae=new e.Version("11.2.9");
  /**
       * @license
       * Copyright Google LLC All Rights Reserved.
       *
       * Use of this source code is governed by an MIT-style license that can be
       * found in the LICENSE file at https://angular.io/license
       */
  /**
       * @license
       * Copyright Google LLC All Rights Reserved.
       *
       * Use of this source code is governed by an MIT-style license that can be
       * found in the LICENSE file at https://angular.io/license
       */
  /**
       * @license
       * Copyright Google LLC All Rights Reserved.
       *
       * Use of this source code is governed by an MIT-style license that can be
       * found in the LICENSE file at https://angular.io/license
       */t.AbstractControl=mt,t.AbstractControlDirective=$,t.AbstractFormGroupDirective=At,t.COMPOSITION_BUFFER_MODE=y,t.CheckboxControlValueAccessor=f,t.CheckboxRequiredValidator=ue,t.ControlContainer=H,t.DefaultValueAccessor=g,t.EmailValidator=ce,t.FormArray=bt,t.FormArrayName=zt,t.FormBuilder=Oe,t.FormControl=_t,t.FormControlDirective=qt,t.FormControlName=Jt,t.FormGroup=vt,t.FormGroupDirective=Wt,t.FormGroupName=Ht,t.FormsModule=_e,t.MaxLengthValidator=de,t.MinLengthValidator=he,t.NG_ASYNC_VALIDATORS=b,t.NG_VALIDATORS=v,t.NG_VALUE_ACCESSOR=p,t.NgControl=B,t.NgControlStatus=Y,t.NgControlStatusGroup=J,t.NgForm=Ot,t.NgModel=kt,t.NgModelGroup=wt,t.NgSelectOption=te,t.NumberValueAccessor=jt,t.PatternValidator=ge,t.RadioControlValueAccessor=Ft,t.RangeValueAccessor=Gt,t.ReactiveFormsModule=Ve,t.RequiredValidator=se,t.SelectControlValueAccessor=Xt,t.SelectMultipleControlValueAccessor=re,t.VERSION=Ae,t.Validators=V,t.ɵInternalFormsSharedModule=me,t.ɵNgNoValidate=Dt,t.ɵNgSelectMultipleOption=oe,t.ɵangular_packages_forms_forms_a=ve,t.ɵangular_packages_forms_forms_b=be,t.ɵangular_packages_forms_forms_ba=Dt,t.ɵangular_packages_forms_forms_bb=ie,t.ɵangular_packages_forms_forms_bc=ae,t.ɵangular_packages_forms_forms_bd=le,t.ɵangular_packages_forms_forms_be=pe,t.ɵangular_packages_forms_forms_bf=fe,t.ɵangular_packages_forms_forms_bg=ye,t.ɵangular_packages_forms_forms_bh=O,t.ɵangular_packages_forms_forms_bi=A,t.ɵangular_packages_forms_forms_bj=E,t.ɵangular_packages_forms_forms_bk=w,t.ɵangular_packages_forms_forms_bl=D,t.ɵangular_packages_forms_forms_bm=P,t.ɵangular_packages_forms_forms_bn=S,t.ɵangular_packages_forms_forms_bo=k,t.ɵangular_packages_forms_forms_bp=M,t.ɵangular_packages_forms_forms_c=Ce,t.ɵangular_packages_forms_forms_d=me,t.ɵangular_packages_forms_forms_e=h,t.ɵangular_packages_forms_forms_f=c,t.ɵangular_packages_forms_forms_g=d,t.ɵangular_packages_forms_forms_h=z,t.ɵangular_packages_forms_forms_i=Z,t.ɵangular_packages_forms_forms_j=Ct,t.ɵangular_packages_forms_forms_k=Pt,t.ɵangular_packages_forms_forms_l=Et,t.ɵangular_packages_forms_forms_m=Mt,t.ɵangular_packages_forms_forms_n=xt,t.ɵangular_packages_forms_forms_o=It,t.ɵangular_packages_forms_forms_p=Nt,t.ɵangular_packages_forms_forms_q=Tt,t.ɵangular_packages_forms_forms_r=Rt,t.ɵangular_packages_forms_forms_s=Ut,t.ɵangular_packages_forms_forms_t=Yt,t.ɵangular_packages_forms_forms_u=Lt,t.ɵangular_packages_forms_forms_v=$t,t.ɵangular_packages_forms_forms_w=Bt,t.ɵangular_packages_forms_forms_x=Kt,t.ɵangular_packages_forms_forms_y=ee,t.ɵangular_packages_forms_forms_z=oe,Object.defineProperty(t,"__esModule",{value:!0})}));