You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by pz...@apache.org on 2018/03/14 01:58:59 UTC

[1/3] knox git commit: KNOX-1202 - Descriptor and Provider Configuration Wizard Input Validation

Repository: knox
Updated Branches:
  refs/heads/master 4c1cb80cc -> 97d865e51


http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-applications/src/main/resources/applications/admin-ui/app/main.bfb4b6a3d7d72f4c8841.bundle.js
----------------------------------------------------------------------
diff --git a/gateway-applications/src/main/resources/applications/admin-ui/app/main.bfb4b6a3d7d72f4c8841.bundle.js b/gateway-applications/src/main/resources/applications/admin-ui/app/main.bfb4b6a3d7d72f4c8841.bundle.js
new file mode 100644
index 0000000..2671e89
--- /dev/null
+++ b/gateway-applications/src/main/resources/applications/admin-ui/app/main.bfb4b6a3d7d72f4c8841.bundle.js
@@ -0,0 +1 @@
+webpackJsonp([0],{"+Bgu":function(e,t,n){"use strict";var r=n("vs5U");e.exports=new r("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return"undefined"==typeof e},represent:function(){return""}})},"+Bur":function(e,t,n){e.exports=i;var r=n("rOzH").EventEmitter;function i(){r.call(this)}n("lDCR")(i,r),i.Readable=n("Osec"),i.Writable=n("QRYi"),i.Duplex=n("XvLI"),i.Transform=n("EJO3"),i.PassThrough=n("rr9E"),i.Stream=i,i.prototype.pipe=function(e,t){var n=this;function i(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",i),e.on("drain",o),e._isStdio||t&&!1===t.end||(n.on("end",s),n.on("close",l));var a=!1;function s(){a||(a=!0,e.end())}function l(){a||(a=!0,"function"==typeof e.destroy&&e.destroy())}function u(e){if(c(),0===r.listenerCount(this,"error"))throw e}function c(){n.removeListener("data",i),e.removeListener("drain",o),n.removeListener("end",s),n
 .removeListener("close",l),n.removeListener("error",u),e.removeListener("error",u),n.removeListener("end",c),n.removeListener("close",c),e.removeListener("close",c)}return n.on("error",u),e.on("error",u),n.on("end",c),n.on("close",c),e.on("close",c),e.emit("pipe",n),e}},"+GRi":function(e,t,n){var r=n("Wo2w"),i=n("Wy9r");e.exports=function(e){return r(i(e))}},"+Q6C":function(e,t,n){var r=n("CDXM"),i=n("6De9").f,o=n("+pQw");r(r.S,"Reflect",{deleteProperty:function(e,t){var n=i(o(e),t);return!(n&&!n.configurable)&&delete e[t]}})},"+Ttu":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n("0nO6"),i=n("T/R7");t.base64=function(e){return i.isPresent(r.Validators.required(e))?null:/^(?:[A-Z0-9+\/]{4})*(?:[A-Z0-9+\/]{2}==|[A-Z0-9+\/]{3}=|[A-Z0-9+\/]{4})$/i.test(e.value)?null:{base64:!0}}},"+UpI":function(e,t,n){"use strict";var r=n("vs5U");e.exports=new r("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},"+aW+":function(
 e,t,n){"use strict";var r=n("CDXM"),i=n("uNkO"),o=n("RT4T"),a=n("umMR"),s=[].sort,l=[1,2,3];r(r.P+r.F*(a(function(){l.sort(void 0)})||!a(function(){l.sort(null)})||!n("bhtb")(s)),"Array",{sort:function(e){return void 0===e?s.call(o(this)):s.call(o(this),i(e))}})},"+c1l":function(e,t,n){var r=n("CDXM");r(r.S+r.F*!n("V+0c"),"Object",{defineProperty:n("tose").f})},"+drv":function(e,t,n){n("s4JA"),e.exports=n("pj25").Object.assign},"+iEx":function(e,t,n){n("fHxy"),n("5GJ3"),n("X0O/"),n("HCkn"),n("ncNB"),n("soMw"),n("8sYH"),n("IJ3P"),n("t6ta"),e.exports=n("b4gG").Reflect},"+idH":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n("LMZF"),i=n("Hdv7"),o=n("Dgm+"),a=n("Y3rb"),s=n("W+gm"),l=n("6qBi"),u=n("wmqw"),c=n("1YRa"),d=n("JbX1"),h=n("HJG1"),p=n("OmhC"),f=n("IX7e"),m=n("XW+V"),g=n("dq/9"),v=n("Gy8F"),y=n("udAz"),b=n("xRTw"),w=n("qdWP"),x=n("XJNw"),E=n("dFH0"),k=n("5AhL"),C=n("6nEb"),_=n("TCRl"),S=n("EBKx"),A=n("RMfc"),T=n("r9fp");t.CustomValidators={ba
 se64:i.base64,creditCard:o.creditCard,date:a.date,dateISO:s.dateISO,digits:l.digits,email:u.email,equal:c.equal,equalTo:d.equalTo,gt:h.gt,gte:p.gte,json:f.json,lt:m.lt,lte:g.lte,max:v.max,maxDate:y.maxDate,min:b.min,minDate:w.minDate,notEqual:x.notEqual,notEqualTo:E.notEqualTo,number:k.number,phone:C.phone,range:_.range,rangeLength:S.rangeLength,url:A.url,uuid:T.uuid};var D=[i.Base64Validator,o.CreditCardValidator,a.DateValidator,s.DateISOValidator,l.DigitsValidator,u.EmailValidator,c.EqualValidator,d.EqualToValidator,h.GreaterThanValidator,p.GreaterThanEqualValidator,f.JSONValidator,m.LessThanValidator,g.LessThanEqualValidator,v.MaxValidator,y.MaxDateValidator,b.MinValidator,w.MinDateValidator,x.NotEqualValidator,E.NotEqualToValidator,k.NumberValidator,C.PhoneValidator,_.RangeValidator,S.RangeLengthValidator,A.UrlValidator,T.UUIDValidator];t.CustomFormsModule=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{declarations:[D],exports:[D]}]}],e}()},"+pQw":function
 (e,t,n){var r=n("JXkd");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},"/JsI":function(e,t,n){var r=n("CDXM");r(r.S+r.F,"Object",{assign:n("rIdM")})},"/Mgt":function(e,t,n){var r=n("CDXM");r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},"/XRd":function(e,t,n){var r=n("tose"),i=n("CDXM"),o=n("+pQw"),a=n("A1WY");i(i.S+i.F*n("umMR")(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(e,t,n){o(e),t=a(t,!0),o(n);try{return r.f(e,t,n),!0}catch(e){return!1}}})},"/cYh":function(e,t,n){"use strict";var r=n("zOKz").Buffer,i=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case
 "ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=l,this.end=u,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=c,this.end=d,t=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function a(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:-1}function s(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"\ufffd".repeat(n);if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"\ufffd".repeat(n+1);if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"\ufffd".repeat(n+2)}}(this,e,t);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,
 this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function u(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):t}function c(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function d(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.last
 Need):t}function h(e){return e.toString(this.encoding)}function p(e){return e&&e.length?this.write(e):""}t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||""},o.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"\ufffd".repeat(this.lastTotal-this.lastNeed):t},o.prototype.text=function(e,t){var n=function(e,t,n){var r=t.length-1;if(r<n)return 0;var i=a(t[r]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--r<n?0:(i=a(t[r]))>=0?(i>0&&(e.lastNeed=i-2),i):--r<n?0:(i=a(t[r]))>=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-t
 his.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},"/gBU":function(e,t,n){(function(){"use strict";var e,r,i,o,a,s={}.hasOwnProperty;e=n("ZMI8"),r=n("XPJv").defaults,o=function(e){return"string"==typeof e&&(e.indexOf("&")>=0||e.indexOf(">")>=0||e.indexOf("<")>=0)},a=function(e){return"<![CDATA["+i(e)+"]]>"},i=function(e){return e.replace("]]>","]]]]><![CDATA[>")},t.Builder=function(){function t(e){var t,n;for(t in this.options={},n=r[.2])s.call(n,t)&&(this.options[t]=n[t]);for(t in e)s.call(e,t)&&(this.options[t]=e[t])}return t.prototype.buildObject=function(t){var n,i,l,u,c,d;return n=this.options.attrkey,i=this.options.charkey,1===Object.keys(t).length&&this.options.rootName===r[.2].rootName?t=t[c=Object.keys(t)[0]]:c=this.options.rootName,d=this,l=function(e,t){var r,u,c,h,p;if("object"!=typeof t)d.options.cdata&&o(t)?e.raw(a(t)):e.txt(t);else if(Array.isArray
 (t)){for(h in t)if(s.call(t,h))for(p in u=t[h])c=u[p],e=l(e.ele(p),c).up()}else for(p in t)if(s.call(t,p))if(u=t[p],p===n){if("object"==typeof u)for(r in u)e=e.att(r,u[r])}else if(p===i)e=d.options.cdata&&o(u)?e.raw(a(u)):e.txt(u);else if(Array.isArray(u))for(h in u)s.call(u,h)&&(e="string"==typeof(c=u[h])?d.options.cdata&&o(c)?e.ele(p).raw(a(c)).up():e.ele(p,c).up():l(e.ele(p),c).up());else"object"==typeof u?e=l(e.ele(p),u).up():"string"==typeof u&&d.options.cdata&&o(u)?e=e.ele(p).raw(a(u)).up():(null==u&&(u=""),e=e.ele(p,u.toString()).up());return e},u=e.create(c,this.options.xmldec,this.options.doctype,{headless:this.options.headless,allowSurrogateChars:this.options.allowSurrogateChars}),l(u,t).end(this.options.renderOpts)},t}()}).call(this)},"/wY1":function(e,t,n){n("rMMT"),n("dlwK"),n("/XRd"),n("+Q6C"),n("dBNB"),n("7Fno"),n("gZpL"),n("dSHT"),n("d+61"),n("V2Dj"),n("wJYt"),n("gdNQ"),n("VsLy"),n("wLW2"),e.exports=n("b4gG").Reflect},0:function(e,t,n){e.exports=n("cDNt")},"05/W":fun
 ction(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n("0nO6"),i=n("T/R7");t.min=function(e){return function(t){if(!i.isPresent(e))return null;if(i.isPresent(r.Validators.required(t)))return null;var n=+t.value;return n>=+e?null:{actualValue:n,requiredValue:+e,min:!0}}}},"0MXQ":function(e,t,n){var r=n("CDXM");r(r.S,"Math",{fround:n("xxX9")})},"0a2p":function(e,t,n){(function(e){var r=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(r.call(setTimeout,window,arguments),clearTimeout)},t.setInterval=function(){return new i(r.call(setInterval,window,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(window,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.act
 ive=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n("fItk"),t.setImmediate="undefined"!=typeof self&&self.setImmediate||"undefined"!=typeof e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||"undefined"!=typeof e&&e.clearImmediate||this&&this.clearImmediate}).call(t,n("fRUx"))},"0aOR":function(e,t,n){n("dFZ2");var r=n("pj25").Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},"0bgt":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n("0nO6"),i=n("T/R7");t.number=function(e){return i.isPresent(r.Validators.required(e))?null:/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(e.value)?null:{number:!0}}},"0dXn":function(e,t,n){var r=n("Nvcy"),i=n("Ft6c"),o=n("c/Zl");e.exports=n("tZKi")?Object.defineProperties:function(e,t){i(e);for(var n,a=o(t),s=a.length,l=0;s>l;)r.f(e,n=a[l++],t[n]);r
 eturn e}},"0hsw":function(e,t,n){e.exports={default:n("0aOR"),__esModule:!0}},"0nO6":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n("6Xbx"),i=n("LMZF"),o=n("AP4T"),a=n("Ecq+"),s=n("1j/l"),l=n("qgI0"),u=n("lI6h"),c=function(e){function t(t,n){e.call(this),this.sources=t,this.resultSelector=n}return Object(r.b)(t,e),t.create=function(){for(var e=[],n=0;n<arguments.length;n++)e[n-0]=arguments[n];if(null===e||0===arguments.length)return new a.a;var r=null;return"function"==typeof e[e.length-1]&&(r=e.pop()),1===e.length&&Object(s.a)(e[0])&&(e=e[0]),0===e.length?new a.a:new t(e,r)},t.prototype._subscribe=function(e){return new d(e,this.sources,this.resultSelector)},t}(o.Observable),d=function(e){function t(t,n,r){e.call(this,t),this.sources=n,this.resultSelector=r,this.completed=0,this.haveValues=0;var i=n.length;this.total=i,this.values=new Array(i);for(var o=0;o<i;o++){var a=n[o],s=Object(l.a)(this,a,null,o);s&&(s.outerIndex=o,this.add(s))}}return 
 Object(r.b)(t,e),t.prototype.notifyNext=function(e,t,n,r,i){this.values[n]=t,i._hasValue||(i._hasValue=!0,this.haveValues++)},t.prototype.notifyComplete=function(e){var t=this.destination,n=this.haveValues,r=this.resultSelector,i=this.values,o=i.length;if(e._hasValue){if(this.completed++,this.completed===o){if(n===o){var a=r?r.apply(this,i):i;t.next(a)}t.complete()}}else t.complete()},t}(u.a),h=c.create,p=n("xIGM");function f(e){var t=e.subscriber;t.closed||(t.next(e.value),t.complete())}function m(e){var t=e.subscriber;t.closed||t.error(e.err)}var g=function(e){function t(t,n){e.call(this),this.promise=t,this.scheduler=n}return Object(r.b)(t,e),t.create=function(e,n){return new t(e,n)},t.prototype._subscribe=function(e){var t=this,n=this.promise,r=this.scheduler;if(null==r)this._isScalar?e.closed||(e.next(this.value),e.complete()):n.then(function(n){t.value=n,t._isScalar=!0,e.closed||(e.next(n),e.complete())},function(t){e.closed||e.error(t)}).then(null,function(e){p.a.setTimeout(f
 unction(){throw e})});else if(this._isScalar){if(!e.closed)return r.schedule(f,0,{value:this.value,subscriber:e})}else n.then(function(n){t.value=n,t._isScalar=!0,e.closed||e.add(r.schedule(f,0,{value:n,subscriber:e}))},function(t){e.closed||e.add(r.schedule(m,0,{err:t,subscriber:e}))}).then(null,function(e){p.a.setTimeout(function(){throw e})})},t}(o.Observable).create,v=n("dmC+"),y=n("RyBE");n.d(t,"AbstractControlDirective",function(){return b}),n.d(t,"AbstractFormGroupDirective",function(){return pe}),n.d(t,"CheckboxControlValueAccessor",function(){return O}),n.d(t,"ControlContainer",function(){return w}),n.d(t,"NG_VALUE_ACCESSOR",function(){return D}),n.d(t,"COMPOSITION_BUFFER_MODE",function(){return N}),n.d(t,"DefaultValueAccessor",function(){return $}),n.d(t,"NgControl",function(){return j}),n.d(t,"NgControlStatus",function(){return ge}),n.d(t,"NgControlStatusGroup",function(){return ve}),n.d(t,"NgForm",function(){return Ae}),n.d(t,"NgModel",function(){return Pe}),n.d(t,"NgMod
 elGroup",function(){return Ne}),n.d(t,"RadioControlValueAccessor",function(){return U}),n.d(t,"FormControlDirective",function(){return Be}),n.d(t,"FormControlName",function(){return Ke}),n.d(t,"FormGroupDirective",function(){return Ve}),n.d(t,"FormArrayName",function(){return We}),n.d(t,"FormGroupName",function(){return Ue}),n.d(t,"NgSelectOption",function(){return X}),n.d(t,"SelectControlValueAccessor",function(){return K}),n.d(t,"SelectMultipleControlValueAccessor",function(){return Z}),n.d(t,"CheckboxRequiredValidator",function(){return Ze}),n.d(t,"EmailValidator",function(){return et}),n.d(t,"MaxLengthValidator",function(){return it}),n.d(t,"MinLengthValidator",function(){return nt}),n.d(t,"PatternValidator",function(){return at}),n.d(t,"RequiredValidator",function(){return Je}),n.d(t,"FormBuilder",function(){return st}),n.d(t,"AbstractControl",function(){return xe}),n.d(t,"FormArray",function(){return Ce}),n.d(t,"FormControl",function(){return Ee}),n.d(t,"FormGroup",function(){
 return ke}),n.d(t,"NG_ASYNC_VALIDATORS",function(){return k}),n.d(t,"NG_VALIDATORS",function(){return E}),n.d(t,"Validators",function(){return _}),n.d(t,"VERSION",function(){return lt}),n.d(t,"FormsModule",function(){return ft}),n.d(t,"ReactiveFormsModule",function(){return mt}),n.d(t,"\u0275ba",function(){return pt}),n.d(t,"\u0275z",function(){return ht}),n.d(t,"\u0275x",function(){return ct}),n.d(t,"\u0275y",function(){return dt}),n.d(t,"\u0275a",function(){return F}),n.d(t,"\u0275b",function(){return R}),n.d(t,"\u0275c",function(){return fe}),n.d(t,"\u0275d",function(){return me}),n.d(t,"\u0275e",function(){return _e}),n.d(t,"\u0275f",function(){return $e}),n.d(t,"\u0275g",function(){return Re}),n.d(t,"\u0275bf",function(){return ut}),n.d(t,"\u0275bb",function(){return M}),n.d(t,"\u0275bc",function(){return I}),n.d(t,"\u0275h",function(){return V}),n.d(t,"\u0275i",function(){return z}),n.d(t,"\u0275bd",function(){return H}),n.d(t,"\u0275be",function(){return W}),n.d(t,"\u0275j",f
 unction(){return Ie}),n.d(t,"\u0275k",function(){return Ge}),n.d(t,"\u0275l",function(){return je}),n.d(t,"\u0275n",function(){return He}),n.d(t,"\u0275m",function(){return ze}),n.d(t,"\u0275o",function(){return q}),n.d(t,"\u0275q",function(){return Q}),n.d(t,"\u0275p",function(){return Y}),n.d(t,"\u0275s",function(){return Ye}),n.d(t,"\u0275t",function(){return Qe}),n.d(t,"\u0275v",function(){return rt}),n.d(t,"\u0275u",function(){return tt}),n.d(t,"\u0275w",function(){return ot}),n.d(t,"\u0275r",function(){return Xe});var b=function(){function e(){}return Object.defineProperty(e.prototype,"value",{get:function(){return this.control?this.control.value:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"valid",{get:function(){return this.control?this.control.valid:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"invalid",{get:function(){return this.control?this.control.invalid:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.
 prototype,"pending",{get:function(){return this.control?this.control.pending:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this.control?this.control.disabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"enabled",{get:function(){return this.control?this.control.enabled:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"errors",{get:function(){return this.control?this.control.errors:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pristine",{get:function(){return this.control?this.control.pristine:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dirty",{get:function(){return this.control?this.control.dirty:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"touched",{get:function(){return this.control?this.control.touched:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"status",{get:fu
 nction(){return this.control?this.control.status:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"untouched",{get:function(){return this.control?this.control.untouched:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"statusChanges",{get:function(){return this.control?this.control.statusChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"valueChanges",{get:function(){return this.control?this.control.valueChanges:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),e.prototype.reset=function(e){void 0===e&&(e=void 0),this.control&&this.control.reset(e)},e.prototype.hasError=function(e,t){return!!this.control&&this.control.hasError(e,t)},e.prototype.getError=function(e,t){return this.control?this.control.getError(e,t):null},e}(),w=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.b)(t,e)
 ,Object.defineProperty(t.prototype,"formDirective",{get:function(){return null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return null},enumerable:!0,configurable:!0}),t}(b);function x(e){return null==e||0===e.length}var E=new i.InjectionToken("NgValidators"),k=new i.InjectionToken("NgAsyncValidators"),C=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[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])?)*$/,_=function(){function e(){}return e.min=function(e){return function(t){if(x(t.value)||x(e))return null;var n=parseFloat(t.value);return!isNaN(n)&&n<e?{min:{min:e,actual:t.value}}:null}},e.max=function(e){return function(t){if(x(t.value)||x(e))return null;var n=parseFloat(t.value);return!isNaN(n)&&n>e?{max:{max:e,actual:t.value}}:null}},e.required=function(e){return x(e.value)?{required:!0}:null},e.requiredTrue=function(e){return!0===e.value?null:{requi
 red:!0}},e.email=function(e){return C.test(e.value)?null:{email:!0}},e.minLength=function(e){return function(t){if(x(t.value))return null;var n=t.value?t.value.length:0;return n<e?{minlength:{requiredLength:e,actualLength:n}}:null}},e.maxLength=function(e){return function(t){var n=t.value?t.value.length:0;return n>e?{maxlength:{requiredLength:e,actualLength:n}}:null}},e.pattern=function(t){return t?("string"==typeof t?(r="^"+t+"$",n=new RegExp(r)):(r=t.toString(),n=t),function(e){if(x(e.value))return null;var t=e.value;return n.test(t)?null:{pattern:{requiredPattern:r,actualValue:t}}}):e.nullValidator;var n,r},e.nullValidator=function(e){return null},e.compose=function(e){if(!e)return null;var t=e.filter(S);return 0==t.length?null:function(e){return T(function(e,n){return t.map(function(t){return t(e)})}(e))}},e.composeAsync=function(e){if(!e)return null;var t=e.filter(S);return 0==t.length?null:function(e){var n=function(e,n){return t.map(function(t){return t(e)})}(e).map(A);return
  v.a.call(h(n),T)}},e}();function S(e){return null!=e}function A(e){var t=Object(i["\u0275isPromise"])(e)?g(e):e;if(!Object(i["\u0275isObservable"])(t))throw new Error("Expected validator to return Promise or Observable.");return t}function T(e){var t=e.reduce(function(e,t){return null!=t?Object(r.a)({},e,t):e},{});return 0===Object.keys(t).length?null:t}var D=new i.InjectionToken("NgValueAccessor"),F={provide:D,useExisting:Object(i.forwardRef)(function(){return O}),multi:!0},O=function(){function e(e,t){this._renderer=e,this._elementRef=t,this.onChange=function(e){},this.onTouched=function(){}}return e.prototype.writeValue=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"checked",e)},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.setDisabledState=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)},e}(),R={provide:D,useExisting:Object(i.forwardRef
 )(function(){return $}),multi:!0},N=new i.InjectionToken("CompositionEventMode"),$=function(){function e(e,t,n){var r;this._renderer=e,this._elementRef=t,this._compositionMode=n,this.onChange=function(e){},this.onTouched=function(){},this._composing=!1,null==this._compositionMode&&(this._compositionMode=(r=Object(y.r)()?Object(y.r)().getUserAgent():"",!/android (\d+)/.test(r.toLowerCase())))}return e.prototype.writeValue=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==e?"":e)},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.setDisabledState=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)},e.prototype._handleInput=function(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)},e.prototype._compositionStart=function(){this._composing=!0},e.prototype._compositionEnd=function(e){this._composing=!1,this.
 _compositionMode&&this.onChange(e)},e}();function L(e){return e.validate?function(t){return e.validate(t)}:e}function P(e){return e.validate?function(t){return e.validate(t)}:e}var M={provide:D,useExisting:Object(i.forwardRef)(function(){return I}),multi:!0},I=function(){function e(e,t){this._renderer=e,this._elementRef=t,this.onChange=function(e){},this.onTouched=function(){}}return e.prototype.writeValue=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"value",null==e?"":e)},e.prototype.registerOnChange=function(e){this.onChange=function(t){e(""==t?null:parseFloat(t))}},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.setDisabledState=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)},e}();function B(){throw new Error("unimplemented")}var j=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._parent=null,t.name=null,t.valueAccessor=null,t._rawValidators=[],t._rawAsyncValidator
 s=[],t}return Object(r.b)(t,e),Object.defineProperty(t.prototype,"validator",{get:function(){return B()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return B()},enumerable:!0,configurable:!0}),t}(b),V={provide:D,useExisting:Object(i.forwardRef)(function(){return U}),multi:!0},z=function(){function e(){this._accessors=[]}return e.prototype.add=function(e,t){this._accessors.push([e,t])},e.prototype.remove=function(e){for(var t=this._accessors.length-1;t>=0;--t)if(this._accessors[t][1]===e)return void this._accessors.splice(t,1)},e.prototype.select=function(e){var t=this;this._accessors.forEach(function(n){t._isSameGroup(n,e)&&n[1]!==e&&n[1].fireUncheck(e.value)})},e.prototype._isSameGroup=function(e,t){return!!e[0].control&&e[0]._parent===t._control._parent&&e[1].name===t.name},e}(),U=function(){function e(e,t,n,r){this._renderer=e,this._elementRef=t,this._registry=n,this._injector=r,this.onChange=function(){},this.onTouched=funct
 ion(){}}return e.prototype.ngOnInit=function(){this._control=this._injector.get(j),this._checkName(),this._registry.add(this._control,this)},e.prototype.ngOnDestroy=function(){this._registry.remove(this)},e.prototype.writeValue=function(e){this._state=e===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)},e.prototype.registerOnChange=function(e){var t=this;this._fn=e,this.onChange=function(){e(t.value),t._registry.select(t)}},e.prototype.fireUncheck=function(e){this.writeValue(e)},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.setDisabledState=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)},e.prototype._checkName=function(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)},e.prototype._throwNameError=function(){throw new Error('\n      If you define both a name and a formCon
 trolName attribute on your radio button, their values\n      must match. Ex: <input type="radio" formControlName="food" name="food">\n    ')},e}(),H={provide:D,useExisting:Object(i.forwardRef)(function(){return W}),multi:!0},W=function(){function e(e,t){this._renderer=e,this._elementRef=t,this.onChange=function(e){},this.onTouched=function(){}}return e.prototype.writeValue=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(e))},e.prototype.registerOnChange=function(e){this.onChange=function(t){e(""==t?null:parseFloat(t))}},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.setDisabledState=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)},e}(),q={provide:D,useExisting:Object(i.forwardRef)(function(){return K}),multi:!0};function G(e,t){return null==e?""+t:(t&&"object"==typeof t&&(t="Object"),(e+": "+t).slice(0,50))}var K=function(){function e(e,t){this._renderer=e,this._elementRef=t,this._o
 ptionMap=new Map,this._idCounter=0,this.onChange=function(e){},this.onTouched=function(){},this._compareWith=i["\u0275looseIdentical"]}return Object.defineProperty(e.prototype,"compareWith",{set:function(e){if("function"!=typeof e)throw new Error("compareWith must be a function, but received "+JSON.stringify(e));this._compareWith=e},enumerable:!0,configurable:!0}),e.prototype.writeValue=function(e){this.value=e;var t=this._getOptionId(e);null==t&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);var n=G(t,e);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)},e.prototype.registerOnChange=function(e){var t=this;this.onChange=function(n){t.value=t._getOptionValue(n),e(t.value)}},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.setDisabledState=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)},e.prototype._registerOption=function(){return(this._idCounter++).toString()},e.prototype._g
 etOptionId=function(e){for(var t=0,n=Array.from(this._optionMap.keys());t<n.length;t++){var r=n[t];if(this._compareWith(this._optionMap.get(r),e))return r}return null},e.prototype._getOptionValue=function(e){var t=function(e){return e.split(":")[0]}(e);return this._optionMap.has(t)?this._optionMap.get(t):e},e}(),X=function(){function e(e,t,n){this._element=e,this._renderer=t,this._select=n,this._select&&(this.id=this._select._registerOption())}return Object.defineProperty(e.prototype,"ngValue",{set:function(e){null!=this._select&&(this._select._optionMap.set(this.id,e),this._setElementValue(G(this.id,e)),this._select.writeValue(this._select.value))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{set:function(e){this._setElementValue(e),this._select&&this._select.writeValue(this._select.value)},enumerable:!0,configurable:!0}),e.prototype._setElementValue=function(e){this._renderer.setProperty(this._element.nativeElement,"value",e)},e.prototype.ngOnDestroy=
 function(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))},e}(),Y={provide:D,useExisting:Object(i.forwardRef)(function(){return Z}),multi:!0};function J(e,t){return null==e?""+t:("string"==typeof t&&(t="'"+t+"'"),t&&"object"==typeof t&&(t="Object"),(e+": "+t).slice(0,50))}var Z=function(){function e(e,t){this._renderer=e,this._elementRef=t,this._optionMap=new Map,this._idCounter=0,this.onChange=function(e){},this.onTouched=function(){},this._compareWith=i["\u0275looseIdentical"]}return Object.defineProperty(e.prototype,"compareWith",{set:function(e){if("function"!=typeof e)throw new Error("compareWith must be a function, but received "+JSON.stringify(e));this._compareWith=e},enumerable:!0,configurable:!0}),e.prototype.writeValue=function(e){var t,n=this;if(this.value=e,Array.isArray(e)){var r=e.map(function(e){return n._getOptionId(e)});t=function(e,t){e._setSelected(r.indexOf(t.toString())>-1)}}else t=function(e,t){e._setSelected
 (!1)};this._optionMap.forEach(t)},e.prototype.registerOnChange=function(e){var t=this;this.onChange=function(n){var r=[];if(n.hasOwnProperty("selectedOptions"))for(var i=n.selectedOptions,o=0;o<i.length;o++){var a=i.item(o),s=t._getOptionValue(a.value);r.push(s)}else for(i=n.options,o=0;o<i.length;o++)(a=i.item(o)).selected&&(s=t._getOptionValue(a.value),r.push(s));t.value=r,e(r)}},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.setDisabledState=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)},e.prototype._registerOption=function(e){var t=(this._idCounter++).toString();return this._optionMap.set(t,e),t},e.prototype._getOptionId=function(e){for(var t=0,n=Array.from(this._optionMap.keys());t<n.length;t++){var r=n[t];if(this._compareWith(this._optionMap.get(r)._value,e))return r}return null},e.prototype._getOptionValue=function(e){var t=function(e){return e.split(":")[0]}(e);return this._optionMap.has(t)?this._optionMap.get(t)
 ._value:e},e}(),Q=function(){function e(e,t,n){this._element=e,this._renderer=t,this._select=n,this._select&&(this.id=this._select._registerOption(this))}return Object.defineProperty(e.prototype,"ngValue",{set:function(e){null!=this._select&&(this._value=e,this._setElementValue(J(this.id,e)),this._select.writeValue(this._select.value))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{set:function(e){this._select?(this._value=e,this._setElementValue(J(this.id,e)),this._select.writeValue(this._select.value)):this._setElementValue(e)},enumerable:!0,configurable:!0}),e.prototype._setElementValue=function(e){this._renderer.setProperty(this._element.nativeElement,"value",e)},e.prototype._setSelected=function(e){this._renderer.setProperty(this._element.nativeElement,"selected",e)},e.prototype.ngOnDestroy=function(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))},e}();function ee(e,t){return t.path.concat([e])}f
 unction te(e,t){e||oe(t,"Cannot find control with"),t.valueAccessor||oe(t,"No value accessor for form control with"),e.validator=_.compose([e.validator,t.validator]),e.asyncValidator=_.composeAsync([e.asyncValidator,t.asyncValidator]),t.valueAccessor.writeValue(e.value),function(e,t){t.valueAccessor.registerOnChange(function(n){e._pendingValue=n,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&ne(e,t)})}(e,t),function(e,t){e.registerOnChange(function(e,n){t.valueAccessor.writeValue(e),n&&t.viewToModelUpdate(e)})}(e,t),function(e,t){t.valueAccessor.registerOnTouched(function(){e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&ne(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),t.valueAccessor.setDisabledState&&e.registerOnDisabledChange(function(e){t.valueAccessor.setDisabledState(e)}),t._rawValidators.forEach(function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(function(){return e.updateValueAndValidity()})}),t._rawAsyncValidators.forEach(
 function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(function(){return e.updateValueAndValidity()})})}function ne(e,t){t.viewToModelUpdate(e._pendingValue),e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),e._pendingChange=!1}function re(e,t){null==e&&oe(t,"Cannot find control with"),e.validator=_.compose([e.validator,t.validator]),e.asyncValidator=_.composeAsync([e.asyncValidator,t.asyncValidator])}function ie(e){return oe(e,"There is no FormControl instance attached to form control element with")}function oe(e,t){var n;throw n=e.path.length>1?"path: '"+e.path.join(" -> ")+"'":e.path[0]?"name: '"+e.path+"'":"unspecified name attribute",new Error(t+" "+n)}function ae(e){return null!=e?_.compose(e.map(L)):null}function se(e){return null!=e?_.composeAsync(e.map(P)):null}function le(e,t){if(!e.hasOwnProperty("model"))return!1;var n=e.model;return!!n.isFirstChange()||!Object(i["\u0275looseIdentical"])(t,n.currentValue)}var ue=[O,W,I,
 K,Z,U];function ce(e,t){e._syncPendingControls(),t.forEach(function(e){var t=e.control;"submit"===t.updateOn&&t._pendingChange&&(e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1)})}function de(e,t){if(!t)return null;var n=void 0,r=void 0,i=void 0;return t.forEach(function(t){var o;t.constructor===$?n=t:(o=t,ue.some(function(e){return o.constructor===e})?(r&&oe(e,"More than one built-in value accessor matches form control with"),r=t):(i&&oe(e,"More than one custom value accessor matches form control with"),i=t))}),i||r||n||(oe(e,"No valid value accessor for form control with"),null)}function he(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)}var pe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.b)(t,e),t.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormGroup(this)},t.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormGroup(this)},Object.defineProperty(t.prototype,"control",{get:
 function(){return this.formDirective.getFormGroup(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return ee(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return ae(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return se(this._asyncValidators)},enumerable:!0,configurable:!0}),t.prototype._checkParentType=function(){},t}(w),fe=function(){function e(e){this._cd=e}return Object.defineProperty(e.prototype,"ngClassUntouched",{get:function(){return!!this._cd.control&&this._cd.control.untouched},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassTouched",{get:function(){return!!this._cd.control&&this._cd.control.touched},enumerabl
 e:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassPristine",{get:function(){return!!this._cd.control&&this._cd.control.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassDirty",{get:function(){return!!this._cd.control&&this._cd.control.dirty},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassValid",{get:function(){return!!this._cd.control&&this._cd.control.valid},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassInvalid",{get:function(){return!!this._cd.control&&this._cd.control.invalid},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClassPending",{get:function(){return!!this._cd.control&&this._cd.control.pending},enumerable:!0,configurable:!0}),e}(),me={"[class.ng-untouched]":"ngClassUntouched","[class.ng-touched]":"ngClassTouched","[class.ng-pristine]":"ngClassPristine","[class.ng-dirty]":"ngClassDirty","[class.ng-valid]":"ngClassValid","[class.ng-invalid]":"ngClas
 sInvalid","[class.ng-pending]":"ngClassPending"},ge=function(e){function t(t){return e.call(this,t)||this}return Object(r.b)(t,e),t}(fe),ve=function(e){function t(t){return e.call(this,t)||this}return Object(r.b)(t,e),t}(fe);function ye(e){var t=we(e)?e.validators:e;return Array.isArray(t)?ae(t):t||null}function be(e,t){var n=we(t)?t.asyncValidators:e;return Array.isArray(n)?se(n):n||null}function we(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}var xe=function(){function e(e,t){this.validator=e,this.asyncValidator=t,this._onCollectionChange=function(){},this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}return Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"valid",{get:function(){return"VALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"invalid",{get:function(){return"INVALID"===this.status},enumerable:!0,configurable:!0}),Objec
 t.defineProperty(e.prototype,"pending",{get:function(){return"PENDING"==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return"DISABLED"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"enabled",{get:function(){return"DISABLED"!==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dirty",{get:function(){return!this.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"untouched",{get:function(){return!this.touched},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"updateOn",{get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"},enumerable:!0,configurable:!0}),e.prototype.setValidators=function(e){this.validator=ye(e)},e.prototype.setAsyncValidators=function(e){this.asyncValidator=be(e)},e.prototype.clearValidators=function(){this.validator=null},e.prototype.clearAsyncValidators=function
 (){this.asyncValidator=null},e.prototype.markAsTouched=function(e){void 0===e&&(e={}),this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)},e.prototype.markAsUntouched=function(e){void 0===e&&(e={}),this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(e){e.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)},e.prototype.markAsDirty=function(e){void 0===e&&(e={}),this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)},e.prototype.markAsPristine=function(e){void 0===e&&(e={}),this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(e){e.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)},e.prototype.markAsPending=function(e){void 0===e&&(e={}),this.status="PENDING",this._parent&&!e.onlySelf&&this._parent.markAsPending(e)},e.prototype.disable=function(e){void 0===e&&(e={}),this.status="DISABLED",this.errors=null,this._forEachChild(function(e){e.di
 sable({onlySelf:!0})}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(!!e.onlySelf),this._onDisabledChange.forEach(function(e){return e(!0)})},e.prototype.enable=function(e){void 0===e&&(e={}),this.status="VALID",this._forEachChild(function(e){e.enable({onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(!!e.onlySelf),this._onDisabledChange.forEach(function(e){return e(!1)})},e.prototype._updateAncestors=function(e){this._parent&&!e&&(this._parent.updateValueAndValidity(),this._parent._updatePristine(),this._parent._updateTouched())},e.prototype.setParent=function(e){this._parent=e},e.prototype.updateValueAndValidity=function(e){void 0===e&&(e={}),this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this
 .status||this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)},e.prototype._updateTreeValidity=function(e){void 0===e&&(e={emitEvent:!0}),this._forEachChild(function(t){return t._updateTreeValidity(e)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})},e.prototype._setInitialStatus=function(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"},e.prototype._runValidator=function(){return this.validator?this.validator(this):null},e.prototype._runAsyncValidator=function(e){var t=this;if(this.asyncValidator){this.status="PENDING";var n=A(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(function(n){return t.setErrors(n,{emitEvent:e})})}},e.prototype._cancelExistingSubscription=function(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()},e.prototype.setErrors=function
 (e,t){void 0===t&&(t={}),this.errors=e,this._updateControlsErrors(!1!==t.emitEvent)},e.prototype.get=function(e){return function(e,t,n){return null==t?null:(t instanceof Array||(t=t.split(".")),t instanceof Array&&0===t.length?null:t.reduce(function(e,t){return e instanceof ke?e.controls[t]||null:e instanceof Ce&&e.at(t)||null},e))}(this,e)},e.prototype.getError=function(e,t){var n=t?this.get(t):this;return n&&n.errors?n.errors[e]:null},e.prototype.hasError=function(e,t){return!!this.getError(e,t)},Object.defineProperty(e.prototype,"root",{get:function(){for(var e=this;e._parent;)e=e._parent;return e},enumerable:!0,configurable:!0}),e.prototype._updateControlsErrors=function(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)},e.prototype._initObservables=function(){this.valueChanges=new i.EventEmitter,this.statusChanges=new i.EventEmitter},e.prototype._calculateStatus=function(){return this._allControlsD
 isabled()?"DISABLED":this.errors?"INVALID":this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"},e.prototype._anyControlsHaveStatus=function(e){return this._anyControls(function(t){return t.status===e})},e.prototype._anyControlsDirty=function(){return this._anyControls(function(e){return e.dirty})},e.prototype._anyControlsTouched=function(){return this._anyControls(function(e){return e.touched})},e.prototype._updatePristine=function(e){void 0===e&&(e={}),this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)},e.prototype._updateTouched=function(e){void 0===e&&(e={}),this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)},e.prototype._isBoxedValue=function(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e},e.prototype._registerOnCollectionChange=function(e){this._onCollectionChange=e},e.prototype._setUp
 dateStrategy=function(e){we(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)},e}(),Ee=function(e){function t(t,n,r){void 0===t&&(t=null);var i=e.call(this,ye(n),be(r,n))||this;return i._onChange=[],i._applyFormState(t),i._setUpdateStrategy(n),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i._initObservables(),i}return Object(r.b)(t,e),t.prototype.setValue=function(e,t){var n=this;void 0===t&&(t={}),this.value=this._pendingValue=e,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(function(e){return e(n.value,!1!==t.emitViewToModelChange)}),this.updateValueAndValidity(t)},t.prototype.patchValue=function(e,t){void 0===t&&(t={}),this.setValue(e,t)},t.prototype.reset=function(e,t){void 0===e&&(e=null),void 0===t&&(t={}),this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1},t.prototype._updateValue=function(){},t.prototype._anyControls=function(e){return!1},t.prototype._allControlsDisable
 d=function(){return this.disabled},t.prototype.registerOnChange=function(e){this._onChange.push(e)},t.prototype._clearChangeFns=function(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=function(){}},t.prototype.registerOnDisabledChange=function(e){this._onDisabledChange.push(e)},t.prototype._forEachChild=function(e){},t.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))},t.prototype._applyFormState=function(e){this._isBoxedValue(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e},t}(xe),ke=function(e){function t(t,n,r){var i=e.call(this,ye(n),be(r,n))||this;return i.controls=t,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i
 .updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(r.b)(t,e),t.prototype.registerControl=function(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)},t.prototype.addControl=function(e,t){this.registerControl(e,t),this.updateValueAndValidity(),this._onCollectionChange()},t.prototype.removeControl=function(e){this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),delete this.controls[e],this.updateValueAndValidity(),this._onCollectionChange()},t.prototype.setControl=function(e,t){this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity(),this._onCollectionChange()},t.prototype.contains=function(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled},t.prototype.setValue=function(e,t){var n=this;void 0===t&&(t={}),this._checkAllValuesPresent(e),
 Object.keys(e).forEach(function(r){n._throwIfControlMissing(r),n.controls[r].setValue(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)},t.prototype.patchValue=function(e,t){var n=this;void 0===t&&(t={}),Object.keys(e).forEach(function(r){n.controls[r]&&n.controls[r].patchValue(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)},t.prototype.reset=function(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this._forEachChild(function(n,r){n.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t),this._updatePristine(t),this._updateTouched(t)},t.prototype.getRawValue=function(){return this._reduceChildren({},function(e,t,n){return e[n]=t instanceof Ee?t.value:t.getRawValue(),e})},t.prototype._syncPendingControls=function(){var e=this._reduceChildren(!1,function(e,t){return!!t._syncPendingControls()||e});return e&&this.updateValueAndValidity({onlySelf:!0}),e},t.prototype._throwIfControlMissing=function(e){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[e])throw new Error("Cannot find form control with name: "+e+".")},t.prototype._forEachChild=function(e){var t=this;Object.keys(this.controls).forEach(function(n){return e(t.controls[n],n)})},t.prototype._setUpControls=function(){var e=this;this._forEachChild(function(t){t.setParent(e),t._registerOnCollectionChange(e._onCollectionChange)})},t.prototype._updateValue=function(){this.value=this._reduceValue()},t.prototype._anyControls=function(e){var t=this,n=!1;return this._forEachChild(function(r,i){n=n||t.contains(i)&&e(r)}),n},t.prototype._reduceValue=function(){var e=this;return this._reduceChildren({},function(t,n,r){return(n.enabled||e.disabled)&&(t[r]=n.value),t})},t.prototype._reduceChildren=function(e,t){var n=e;return this._forEachChild(function(e,r){n=
 t(n,e,r)}),n},t.prototype._allControlsDisabled=function(){for(var e=0,t=Object.keys(this.controls);e<t.length;e++)if(this.controls[t[e]].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled},t.prototype._checkAllValuesPresent=function(e){this._forEachChild(function(t,n){if(void 0===e[n])throw new Error("Must supply a value for form control with name: '"+n+"'.")})},t}(xe),Ce=function(e){function t(t,n,r){var i=e.call(this,ye(n),be(r,n))||this;return i.controls=t,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(r.b)(t,e),t.prototype.at=function(e){return this.controls[e]},t.prototype.push=function(e){this.controls.push(e),this._registerControl(e),this.updateValueAndValidity(),this._onCollectionChange()},t.prototype.insert=function(e,t){this.controls.splice(e,0,t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()},t.prototype.removeAt=function(e){thi
 s.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),this.controls.splice(e,1),this.updateValueAndValidity(),this._onCollectionChange()},t.prototype.setControl=function(e,t){this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),this.controls.splice(e,1),t&&(this.controls.splice(e,0,t),this._registerControl(t)),this.updateValueAndValidity(),this._onCollectionChange()},Object.defineProperty(t.prototype,"length",{get:function(){return this.controls.length},enumerable:!0,configurable:!0}),t.prototype.setValue=function(e,t){var n=this;void 0===t&&(t={}),this._checkAllValuesPresent(e),e.forEach(function(e,r){n._throwIfControlMissing(r),n.at(r).setValue(e,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)},t.prototype.patchValue=function(e,t){var n=this;void 0===t&&(t={}),e.forEach(function(e,r){n.at(r)&&n.at(r).patchValue(e,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)},t.prototype.reset=function(e,t){v
 oid 0===e&&(e=[]),void 0===t&&(t={}),this._forEachChild(function(n,r){n.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t),this._updatePristine(t),this._updateTouched(t)},t.prototype.getRawValue=function(){return this.controls.map(function(e){return e instanceof Ee?e.value:e.getRawValue()})},t.prototype._syncPendingControls=function(){var e=this.controls.reduce(function(e,t){return!!t._syncPendingControls()||e},!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e},t.prototype._throwIfControlMissing=function(e){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(e))throw new Error("Cannot find form control at index "+e)},t.prototype._forEachChild=function(e){this.controls.forEach(function(t,n){e(t,n)})},t.prototype._updateValue=function(){var e=this;this.value=this.controls.filter
 (function(t){return t.enabled||e.disabled}).map(function(e){return e.value})},t.prototype._anyControls=function(e){return this.controls.some(function(t){return t.enabled&&e(t)})},t.prototype._setUpControls=function(){var e=this;this._forEachChild(function(t){return e._registerControl(t)})},t.prototype._checkAllValuesPresent=function(e){this._forEachChild(function(t,n){if(void 0===e[n])throw new Error("Must supply a value for form control at index: "+n+".")})},t.prototype._allControlsDisabled=function(){for(var e=0,t=this.controls;e<t.length;e++)if(t[e].enabled)return!1;return this.controls.length>0||this.disabled},t.prototype._registerControl=function(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)},t}(xe),_e={provide:w,useExisting:Object(i.forwardRef)(function(){return Ae})},Se=Promise.resolve(null),Ae=function(e){function t(t,n){var r=e.call(this)||this;return r.submitted=!1,r._directives=[],r.ngSubmit=new i.EventEmitter,r.form=new ke({},ae(t),se(n)),r
 }return Object(r.b)(t,e),t.prototype.ngAfterViewInit=function(){this._setUpdateStrategy()},Object.defineProperty(t.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"controls",{get:function(){return this.form.controls},enumerable:!0,configurable:!0}),t.prototype.addControl=function(e){var t=this;Se.then(function(){var n=t._findContainer(e.path);e.control=n.registerControl(e.name,e.control),te(e.control,e),e.control.updateValueAndValidity({emitEvent:!1}),t._directives.push(e)})},t.prototype.getControl=function(e){return this.form.get(e.path)},t.prototype.removeControl=function(e){var t=this;Se.then(function(){var n=t._findContainer(e.path);n&&n.removeControl(e.name),he(t._directives,e)})},t.prototype.addFormG
 roup=function(e){var t=this;Se.then(function(){var n=t._findContainer(e.path),r=new ke({});re(r,e),n.registerControl(e.name,r),r.updateValueAndValidity({emitEvent:!1})})},t.prototype.removeFormGroup=function(e){var t=this;Se.then(function(){var n=t._findContainer(e.path);n&&n.removeControl(e.name)})},t.prototype.getFormGroup=function(e){return this.form.get(e.path)},t.prototype.updateModel=function(e,t){var n=this;Se.then(function(){n.form.get(e.path).setValue(t)})},t.prototype.setValue=function(e){this.control.setValue(e)},t.prototype.onSubmit=function(e){return this.submitted=!0,ce(this.form,this._directives),this.ngSubmit.emit(e),!1},t.prototype.onReset=function(){this.resetForm()},t.prototype.resetForm=function(e){void 0===e&&(e=void 0),this.form.reset(e),this.submitted=!1},t.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)},t.prototype._findContainer=function(e){return e.pop(),e.length?this.form.get(e
 ):this.form},t}(w),Te='\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    });',De='\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    });',Fe='\n    <form>\n       <div ngModelGroup="person">\n          <input [(ngModel)]="person.name" name="firstName">\n       </div>\n    </form>',Oe=function(){function e(){}return e.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      '+Te+'\n\n      Or, if you\'d like to avoid registering this form control, ind
 icate 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  ')},e.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      "+De+"\n\n      Option 2:  Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n      "+Fe)},e.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}">')}
 ,e.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      "+De+"\n\n      Option 2:  Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n      "+Fe)},e}(),Re={provide:w,useExisting:Object(i.forwardRef)(function(){return Ne})},Ne=function(e){function t(t,n,r){var i=e.call(this)||this;return i._parent=t,i._validators=n,i._asyncValidators=r,i}return Object(r.b)(t,e),t.prototype._checkParentType=function(){this._parent instanceof t||this._parent instanceof Ae||Oe.modelGroupParentException()},t}(pe),$e={provide:j,useExisting:Object(i.forwardRef)(function(){return Pe})},Le=Promise.resolve(null),Pe=function(e){function t(t,n,r,o){var a=e.call(this)||this;return a.control=new Ee,a._registered=!1,a.update=new i.EventEmitter,a._parent=t,a._rawValidators=n||[],a._rawAsyncValidators=r||[],a.valueAcce
 ssor=de(a,o),a}return Object(r.b)(t,e),t.prototype.ngOnChanges=function(e){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in e&&this._updateDisabled(e),le(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)},t.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},Object.defineProperty(t.prototype,"path",{get:function(){return this._parent?ee(this.name,this._parent):[this.name]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return ae(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return se(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),t.prototype.viewToModelUpdate=function(e){this.viewModel=e,this.update.emit(e)},
 t.prototype._setUpControl=function(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0},t.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)},t.prototype._isStandalone=function(){return!this._parent||!(!this.options||!this.options.standalone)},t.prototype._setUpStandalone=function(){te(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})},t.prototype._checkForErrors=function(){this._isStandalone()||this._checkParentType(),this._checkName()},t.prototype._checkParentType=function(){!(this._parent instanceof Ne)&&this._parent instanceof pe?Oe.formGroupNameException():this._parent instanceof Ne||this._parent instanceof Ae||Oe.modelParentException()},t.prototype._checkName=function(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()||this.name||Oe.missingNameException()},t.prototype.
 _updateValue=function(e){var t=this;Le.then(function(){t.control.setValue(e,{emitViewToModelChange:!1})})},t.prototype._updateDisabled=function(e){var t=this,n=e.isDisabled.currentValue,r=""===n||n&&"false"!==n;Le.then(function(){r&&!t.control.disabled?t.control.disable():!r&&t.control.disabled&&t.control.enable()})},t}(j),Me=function(){function e(){}return e.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      "+Te)},e.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        '+De+"\n\n        Option 2: Use
  ngModel instead of formControlName (template-driven strategy)\n\n        "+Fe)},e.missingFormException=function(){throw new Error("formGroup expects a FormGroup instance. Please pass one in.\n\n       Example:\n\n       "+Te)},e.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      "+De)},e.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    });')},e.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    ")},e}(),Ie={provide:j,useExisting:Object(i.forwardRef)(function(){return Be})},Be=function(e){function t(t,n,r){var o=e.call(this)||this;return o.update=new i.EventEmitter,o._rawValidators=t||[],o._rawAsyncValidators=n||[],o.valueAccessor=
 de(o,r),o}return Object(r.b)(t,e),Object.defineProperty(t.prototype,"isDisabled",{set:function(e){Me.disabledAttrWarning()},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(e){this._isControlChanged(e)&&(te(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})),le(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)},Object.defineProperty(t.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return ae(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return se(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),t.prototype.viewToModelUpdate=function(e){this.viewMode
 l=e,this.update.emit(e)},t.prototype._isControlChanged=function(e){return e.hasOwnProperty("form")},t}(j),je={provide:w,useExisting:Object(i.forwardRef)(function(){return Ve})},Ve=function(e){function t(t,n){var r=e.call(this)||this;return r._validators=t,r._asyncValidators=n,r.submitted=!1,r.directives=[],r.form=null,r.ngSubmit=new i.EventEmitter,r}return Object(r.b)(t,e),t.prototype.ngOnChanges=function(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())},Object.defineProperty(t.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),t.prototype.addControl=function(e){var t=this.form.get(e.path);return te(t,e),t.updateValueAndValidity({emitEvent:!1}),this.directives.
 push(e),t},t.prototype.getControl=function(e){return this.form.get(e.path)},t.prototype.removeControl=function(e){he(this.directives,e)},t.prototype.addFormGroup=function(e){var t=this.form.get(e.path);re(t,e),t.updateValueAndValidity({emitEvent:!1})},t.prototype.removeFormGroup=function(e){},t.prototype.getFormGroup=function(e){return this.form.get(e.path)},t.prototype.addFormArray=function(e){var t=this.form.get(e.path);re(t,e),t.updateValueAndValidity({emitEvent:!1})},t.prototype.removeFormArray=function(e){},t.prototype.getFormArray=function(e){return this.form.get(e.path)},t.prototype.updateModel=function(e,t){this.form.get(e.path).setValue(t)},t.prototype.onSubmit=function(e){return this.submitted=!0,ce(this.form,this.directives),this.ngSubmit.emit(e),!1},t.prototype.onReset=function(){this.resetForm()},t.prototype.resetForm=function(e){void 0===e&&(e=void 0),this.form.reset(e),this.submitted=!1},t.prototype._updateDomValue=function(){var e=this;this.directives.forEach(functio
 n(t){var n=e.form.get(t.path);t.control!==n&&(function(e,t){t.valueAccessor.registerOnChange(function(){return ie(t)}),t.valueAccessor.registerOnTouched(function(){return ie(t)}),t._rawValidators.forEach(function(e){e.registerOnValidatorChange&&e.registerOnValidatorChange(null)}),t._rawAsyncValidators.forEach(function(e){e.registerOnValidatorChange&&e.registerOnValidatorChange(null)}),e&&e._clearChangeFns()}(t.control,t),n&&te(n,t),t.control=n)}),this.form._updateTreeValidity({emitEvent:!1})},t.prototype._updateRegistrations=function(){var e=this;this.form._registerOnCollectionChange(function(){return e._updateDomValue()}),this._oldForm&&this._oldForm._registerOnCollectionChange(function(){}),this._oldForm=this.form},t.prototype._updateValidators=function(){var e=ae(this._validators);this.form.validator=_.compose([this.form.validator,e]);var t=se(this._asyncValidators);this.form.asyncValidator=_.composeAsync([this.form.asyncValidator,t])},t.prototype._checkFormPresent=function(){thi
 s.form||Me.missingFormException()},t}(w),ze={provide:w,useExisting:Object(i.forwardRef)(function(){return Ue})},Ue=function(e){function t(t,n,r){var i=e.call(this)||this;return i._parent=t,i._validators=n,i._asyncValidators=r,i}return Object(r.b)(t,e),t.prototype._checkParentType=function(){qe(this._parent)&&Me.groupParentException()},t}(pe),He={provide:w,useExisting:Object(i.forwardRef)(function(){return We})},We=function(e){function t(t,n,r){var i=e.call(this)||this;return i._parent=t,i._validators=n,i._asyncValidators=r,i}return Object(r.b)(t,e),t.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormArray(this)},t.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormArray(this)},Object.defineProperty(t.prototype,"control",{get:function(){return this.formDirective.getFormArray(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective
 :null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return ee(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return ae(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return se(this._asyncValidators)},enumerable:!0,configurable:!0}),t.prototype._checkParentType=function(){qe(this._parent)&&Me.arrayParentException()},t}(w);function qe(e){return!(e instanceof Ue||e instanceof Ve||e instanceof We)}var Ge={provide:j,useExisting:Object(i.forwardRef)(function(){return Ke})},Ke=function(e){function t(t,n,r,o){var a=e.call(this)||this;return a._added=!1,a.update=new i.EventEmitter,a._parent=t,a._rawValidators=n||[],a._rawAsyncValidators=r||[],a.valueAccessor=de(a,o),a}return Object(r.b)(t,e),Object.defineProperty(t.prototype,"isDisabled",{set:function(e){Me.disabledAttrWarning()},enumerable:!0,configurable:!
 0}),t.prototype.ngOnChanges=function(e){this._added||this._setUpControl(),le(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))},t.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},t.prototype.viewToModelUpdate=function(e){this.viewModel=e,this.update.emit(e)},Object.defineProperty(t.prototype,"path",{get:function(){return ee(this.name,this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return ae(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return se(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),t.prototype._checkParentType=function(){!(this._parent instanceof Ue)&&this._parent instanceof pe?Me.ngModelGrou
 pException():this._parent instanceof Ue||this._parent instanceof Ve||this._parent instanceof We||Me.controlParentException()},t.prototype._setUpControl=function(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0},t}(j),Xe={provide:E,useExisting:Object(i.forwardRef)(function(){return Je}),multi:!0},Ye={provide:E,useExisting:Object(i.forwardRef)(function(){return Ze}),multi:!0},Je=function(){function e(){}return Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(e){this._required=null!=e&&!1!==e&&""+e!="false",this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),e.prototype.validate=function(e){return this.required?_.required(e):null},e.prototype.registerOnValidatorChange=function(e){this._onChange=e},e}(),Ze=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Obj
 ect(r.b)(t,e),t.prototype.validate=function(e){return this.required?_.requiredTrue(e):null},t}(Je),Qe={provide:E,useExisting:Object(i.forwardRef)(function(){return et}),multi:!0},et=function(){function e(){}return Object.defineProperty(e.prototype,"email",{set:function(e){this._enabled=""===e||!0===e||"true"===e,this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),e.prototype.validate=function(e){return this._enabled?_.email(e):null},e.prototype.registerOnValidatorChange=function(e){this._onChange=e},e}(),tt={provide:E,useExisting:Object(i.forwardRef)(function(){return nt}),multi:!0},nt=function(){function e(){}return e.prototype.ngOnChanges=function(e){"minlength"in e&&(this._createValidator(),this._onChange&&this._onChange())},e.prototype.validate=function(e){return null==this.minlength?null:this._validator(e)},e.prototype.registerOnValidatorChange=function(e){this._onChange=e},e.prototype._createValidator=function(){this._validator=_.minLength(parseInt(this.minlength
 ,10))},e}(),rt={provide:E,useExisting:Object(i.forwardRef)(function(){return it}),multi:!0},it=function(){function e(){}return e.prototype.ngOnChanges=function(e){"maxlength"in e&&(this._createValidator(),this._onChange&&this._onChange())},e.prototype.validate=function(e){return null!=this.maxlength?this._validator(e):null},e.prototype.registerOnValidatorChange=function(e){this._onChange=e},e.prototype._createValidator=function(){this._validator=_.maxLength(parseInt(this.maxlength,10))},e}(),ot={provide:E,useExisting:Object(i.forwardRef)(function(){return at}),multi:!0},at=function(){function e(){}return e.prototype.ngOnChanges=function(e){"pattern"in e&&(this._createValidator(),this._onChange&&this._onChange())},e.prototype.validate=function(e){return this._validator(e)},e.prototype.registerOnValidatorChange=function(e){this._onChange=e},e.prototype._createValidator=function(){this._validator=_.pattern(this.pattern)},e}(),st=function(){function e(){}return e.prototype.group=functio
 n(e,t){void 0===t&&(t=null);var n=this._reduceControls(e);return new ke(n,null!=t?t.validator:null,null!=t?t.asyncValidator:null)},e.prototype.control=function(e,t,n){return new Ee(e,t,n)},e.prototype.array=function(e,t,n){var r=this,i=e.map(function(e){return r._createControl(e)});return new Ce(i,t,n)},e.prototype._reduceControls=function(e){var t=this,n={};return Object.keys(e).forEach(function(r){n[r]=t._createControl(e[r])}),n},e.prototype._createControl=function(e){return e instanceof Ee||e instanceof ke||e instanceof Ce?e:Array.isArray(e)?this.control(e[0],e.length>1?e[1]:null,e.length>2?e[2]:null):this.control(e)},e}(),lt=new i.Version("5.2.0"),ut=function(){},ct=[ut,X,Q,$,I,W,O,K,Z,U,ge,ve,Je,nt,it,at,Ze,et],dt=[Pe,Ne,Ae],ht=[Be,Ve,Ke,Ue,We],pt=function(){},ft=function(){},mt=function(){}},1:function(e,t){},"1Rb4":function(e,t,n){"use strict";(function(t){e.exports=!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?function
 (e,n,r,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var o,a,s=arguments.length;switch(s){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,r)});case 4:return t.nextTick(function(){e.call(null,n,r,i)});default:for(o=new Array(s-1),a=0;a<o.length;)o[a++]=arguments[a];return t.nextTick(function(){e.apply(null,o)})}}:t.nextTick}).call(t,n("1WNV"))},"1WNV":function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){
 r=a}}();var l,u=[],c=!1,d=-1;function h(){c&&l&&(c=!1,l.length?u=l.concat(u):d=-1,u.length&&p())}function p(){if(!c){var e=s(h);c=!0;for(var t=u.length;t;){for(l=u,u=[];++d<t;)l&&l[d].run();d=-1,t=u.length}l=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function f(e,t){this.fun=e,this.array=t}function m(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new f(e,t)),1!==u.length||c||s(p)},f.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=m,i.addListener=m,i.once=m,i.off=m,i.removeListener=m,i.removeAllListeners=m,i.emit=m,i.prependListener=m,i.prependOnceListener=m,i.listeners=function(e){return[]},i.binding=function(e){throw new Error
 ("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},"1YRa":function(e,t,n){"use strict";function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),r(n("VVJs")),r(n("az2Y"))},"1j/l":function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=Array.isArray||function(e){return e&&"number"==typeof e.length}},"1qma":function(e,t,n){var r=n("nKkP");e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},"1zvG":function(e,t,n){"use strict";var r=n("JXkd"),i=n("TJLg"),o=n("3r0D")("hasInstance"),a=Function.prototype;o in a||n("tose").f(a,o,{value:function(e){if("function"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;for(;e=i(e);)if(this.prototype===e)return!0;return!1}})},"2Fuj":function(e,t,n){var r=n("R5c1"),i=n("a/Sk");e.exports=Objec
 t.keys||function(e){return r(e,i)}},"2fm9":function(e,t,n){(function(){var t,r,i,o,a,s={}.hasOwnProperty;a=n("VH4r"),o=a.isObject,i=a.isFunction,r=n("p7eS"),t=n("eIJN"),e.exports=function(e){function n(e,t,r){if(n.__super__.constructor.call(this,e),null==t)throw new Error("Missing element name");this.name=this.stringify.eleName(t),this.attributes={},null!=r&&this.attribute(r),e.isDocument&&(this.isRoot=!0,this.documentObject=e,e.rootObject=this)}return function(e,t){for(var n in t)s.call(t,n)&&(e[n]=t[n]);function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype}(n,r),n.prototype.clone=function(){var e,t,n;for(e in(t=Object.create(this)).isRoot&&(t.documentObject=null),t.attributes={},n=this.attributes)s.call(n,e)&&(t.attributes[e]=n[e].clone());return t.children=[],this.children.forEach(function(e){var n;return(n=e.clone()).parent=t,t.children.push(n)}),t},n.prototype.attribute=function(e,n){var r;if(null!=e&&(e=e.valueOf()),o(e))for(r in e)s
 .call(e,r)&&this.attribute(r,e[r]);else i(n)&&(n=n.apply()),this.options.skipNullAttributes&&null==n||(this.attributes[e]=new t(this,e,n));return this},n.prototype.removeAttribute=function(e){var t,n;if(null==e)throw new Error("Missing attribute name");if(e=e.valueOf(),Array.isArray(e))for(t=0,n=e.length;t<n;t++)delete this.attributes[e[t]];else delete this.attributes[e];return this},n.prototype.toString=function(e){return this.options.writer.set(e).element(this)},n.prototype.att=function(e,t){return this.attribute(e,t)},n.prototype.a=function(e,t){return this.attribute(e,t)},n}()}).call(this)},"2kLc":function(e,t,n){"use strict";var r=n("AP4T"),i=n("Oryw"),o=n("3iOE"),a=n("wP3s");function s(e){return e}t.a=function(){for(var e=[],t=0;t<arguments.length;t++)e[t-0]=arguments[t];var n=Number.POSITIVE_INFINITY,l=null,u=e[e.length-1];return Object(o.a)(u)?(l=e.pop(),e.length>1&&"number"==typeof e[e.length-1]&&(n=e.pop())):"number"==typeof u&&(n=e.pop()),null===l&&1===e.length&&e[0]insta
 nceof r.Observable?e[0]:function(e){return void 0===e&&(e=Number.POSITIVE_INFINITY),Object(a.a)(s,null,e)}(n)(new i.a(e,l))}},"3LDD":function(e,t,n){"use strict";var r=n("tose").f,i=n("51pc"),o=n("pBmS"),a=n("pa70"),s=n("Lcie"),l=n("p/bR"),u=n("WsSm"),c=n("w/BM"),d=n("KpXt"),h=n("V+0c"),p=n("xI8H").fastKey,f=n("Y5fy"),m=h?"_s":"size",g=function(e,t){var n,r=p(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,u){var c=e(function(e,r){s(e,c,t,"_i"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[m]=0,void 0!=r&&l(r,n,e[u],e)});return o(c.prototype,{clear:function(){for(var e=f(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=f(this,t),r=g(n,e);if(r){var i=r.n,o=r.p;delete n._i[r.i],r.r=!0,o&&(o.n=i),i&&(i.p=o),n._f==r&&(n._f=i),n._l==r&&(n._l=o),n[m]--}return!!r},forEach:function(e){f(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?
 n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!g(f(this,t),e)}}),h&&r(c.prototype,"size",{get:function(){return f(this,t)[m]}}),c},def:function(e,t,n){var r,i,o=g(e,t);return o?o.v=n:(e._l=o={i:i=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=o),r&&(r.n=o),e[m]++,"F"!==i&&(e._i[i]=o)),e},getEntry:g,setStrong:function(e,t,n){u(e,t,function(e,n){this._t=f(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?c(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,c(1))},n?"entries":"values",!n,!0),d(t)}}},"3MMU":function(e,t,n){"use strict";var r=n("RT4T"),i=n("KM3d"),o=n("rppw");e.exports=[].copyWithin||function(e,t){var n=r(this),a=o(n.length),s=i(e,a),l=i(t,a),u=arguments.length>2?arguments[2]:void 0,c=Math.min((void 0===u?a:i(u,a))-l,a-s),d=1;for(l<s&&s<l+c&&(d=-1,l+=c-1,s+=c-1);c-- >0;)l in n?n[s]=n[l]:delete n[s],s+=d,l+=d;return n}},"3iOE":function(e,t,n){"use strict";t
 .a=function(e){return e&&"function"==typeof e.schedule}},"3r0D":function(e,t,n){var r=n("Iclu")("wks"),i=n("c09d"),o=n("ptrv").Symbol,a="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))}).store=r},"4D9a":function(e,t,n){"use strict";n("RSwQ");var r=n("+pQw"),i=n("8H1R"),o=n("V+0c"),a=/./.toString,s=function(e){n("lfBE")(RegExp.prototype,"toString",e,!0)};n("umMR")(function(){return"/a/b"!=a.call({source:"a",flags:"b"})})?s(function(){var e=r(this);return"/".concat(e.source,"/","flags"in e?e.flags:!o&&e instanceof RegExp?i.call(e):void 0)}):"toString"!=a.name&&s(function(){return a.call(this)})},"4TT8":function(e,t,n){var r=n("CDXM");r(r.S+r.F*!n("V+0c"),"Object",{defineProperties:n("ewdp")})},"4WdS":function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},"4kq/":function(e,t,n){"use strict";var r=n("xhXA"),i=n("fIES"),o=n("V2lR"),a=n("Io8P"),s=Objec
 t.prototype.toString,l=Object.prototype.hasOwnProperty,u=9,c=10,d=32,h=33,p=34,f=35,m=37,g=38,v=39,y=42,b=44,w=45,x=58,E=62,k=63,C=64,_=91,S=93,A=96,T=123,D=124,F=125,O={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},R=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function N(e){var t,n,o;if(t=e.toString(16).toUpperCase(),e<=255)n="x",o=2;else if(e<=65535)n="u",o=4;else{if(!(e<=4294967295))throw new i("code point within a string may not be greater than 0xFFFFFFFF");n="U",o=8}return"\\"+n+r.repeat("0",o-t.length)+t}function $(e,t){for(var n,i=r.repeat(" ",t),o=0,a=-1,s="",l=e.length;o<l;)-1===(a=e.indexOf("\n",o))?(n=e.slice(o),o=l):(n=e.slice(o,a+1),o=a+1),n.length&&"\n"!==n&&(s+=i),s+=n;return s}function L(e,t){return"\n"+r.repeat(" ",e.indent*t)}function P(e){return e===d||e===u}function M(e){return 32<=e&&e<=126||161<=e&&e<=55295&&8232!==e&&8233!==e||57
 344<=e&&e<=65533&&65279!==e||65536<=e&&e<=1114111}function I(e){return M(e)&&65279!==e&&e!==b&&e!==_&&e!==S&&e!==T&&e!==F&&e!==x&&e!==f}var B=1,j=2,V=3,z=4,U=5;function H(e,t,n,r){e.dump=function(){if(0===t.length)return"''";if(!e.noCompatMode&&-1!==R.indexOf(t))return"'"+t+"'";var o=e.indent*Math.max(1,n),a=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o);switch(function(t,n,r,i,o){var a,s,l,u=!1,d=!1,O=-1!==i,R=-1,N=M(l=t.charCodeAt(0))&&65279!==l&&!P(l)&&l!==w&&l!==k&&l!==x&&l!==b&&l!==_&&l!==S&&l!==T&&l!==F&&l!==f&&l!==g&&l!==y&&l!==h&&l!==D&&l!==E&&l!==v&&l!==p&&l!==m&&l!==C&&l!==A&&!P(t.charCodeAt(t.length-1));if(n)for(a=0;a<t.length;a++){if(!M(s=t.charCodeAt(a)))return U;N=N&&I(s)}else{for(a=0;a<t.length;a++){if((s=t.charCodeAt(a))===c)u=!0,O&&(d=d||a-R-1>i&&" "!==t[R+1],R=a);else if(!M(s))return U;N=N&&I(s)}d=d||O&&a-R-1>i&&" "!==t[R+1]}return u||d?" "===t[0]&&r>9?U:d?z:V:N&&!function(t){return function(e,t){var n,r;for(n=0,r=e.implicitTypes.length;n<r;n+
 =1)if(e.implicitTypes[n].resolve(t))return!0;return!1}(e,t)}(t)?B:j}(t,r||e.flowLevel>-1&&n>=e.flowLevel,e.indent,a)){case B:return t;case j:return"'"+t.replace(/'/g,"''")+"'";case V:return"|"+W(t,e.indent)+q($(t,o));case z:return">"+W(t,e.indent)+q($(function(e,t){for(var n,r,i,o=/(\n+)([^\n]*)/g,a=(i=e.indexOf("\n"),o.lastIndex=i=-1!==i?i:e.length,G(e.slice(0,i),t)),s="\n"===e[0]||" "===e[0];r=o.exec(e);){var l=r[2];n=" "===l[0],a+=r[1]+(s||n||""===l?"":"\n")+G(l,t),s=n}return a}(t,a),o));case U:return'"'+function(e){for(var t,n,r,i="",o=0;o<e.length;o++)(t=e.charCodeAt(o))>=55296&&t<=56319&&(n=e.charCodeAt(o+1))>=56320&&n<=57343?(i+=N(1024*(t-55296)+n-56320+65536),o++):i+=!(r=O[t])&&M(t)?e[o]:r||N(t);return i}(t)+'"';default:throw new i("impossible error: invalid scalar style")}}()}function W(e,t){var n=" "===e[0]?String(t):"",r="\n"===e[e.length-1];return n+(!r||"\n"!==e[e.length-2]&&"\n"!==e?r?"":"-":"+")+"\n"}function q(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function G(
 e,t){if(""===e||" "===e[0])return e;for(var n,r,i=/ [^ ]/g,o=0,a=0,s=0,l="";n=i.exec(e);)(s=n.index)-o>t&&(l+="\n"+e.slice(o,r=a>o?a:s),o=r+1),a=s;return l+="\n",(l+=e.length-o>t&&a>o?e.slice(o,a)+"\n"+e.slice(a+1):e.slice(o)).slice(1)}function K(e,t,n){var r,o,a,u,c,d;for(a=0,u=(o=n?e.explicitTypes:e.implicitTypes).length;a<u;a+=1)if(((c=o[a]).instanceOf||c.predicate)&&(!c.instanceOf||"object"==typeof t&&t instanceof c.instanceOf)&&(!c.predicate||c.predicate(t))){if(e.tag=n?c.tag:"?",c.represent){if(d=e.styleMap[c.tag]||c.defaultStyle,"[object Function]"===s.call(c.represent))r=c.represent(t,d);else{if(!l.call(c.represent,d))throw new i("!<"+c.tag+'> tag resolver accepts not "'+d+'" style');r=c.represent[d](t,d)}e.dump=r}return!0}return!1}function X(e,t){var n=new function(e){this.schema=e.schema||o,this.indent=Math.max(1,e.indent||2),this.skipInvalid=e.skipInvalid||!1,this.flowLevel=r.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=function(e,t){var n,r,i,o,a,s,u;if(null===t)r
 eturn{};for(n={},i=0,o=(r=Object.keys(t)).length;i<o;i+=1)a=r[i],s=String(t[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),(u=e.compiledTypeMap.fallback[a])&&l.call(u.styleAliases,s)&&(s=u.styleAliases[s]),n[a]=s;return n}(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}(t=t||{});return n.noRefs||function(t,n){var r,i,o=[],a=[];for(function e(t,n,r){var i,o,a;if(null!==t&&"object"==typeof t)if(-1!==(o=n.indexOf(t)))-1===r.indexOf(o)&&r.push(o);else if(n.push(t),Array.isArray(t))for(o=0,a=t.length;o<a;o+=1)e(t[o],n,r);else for(o=0,a=(i=Object.keys(t)).length;o<a;o+=1)e(t[i[o]],n,r)}(e,o,a),r=0,i=a.length;r<i;r+=1)n.duplicates.push(o[a[r]]);n.usedDuplicates=new Array(i
 )}(0,n),function e(t,n,r,o,a,l){t.tag=null,t.dump=r,K(t,r,!1)||K(t,r,!0);var u=s.call(t.dump);o&&(o=t.flowLevel<0||t.flowLevel>n);var d,h,p="[object Object]"===u||"[object Array]"===u;if(p&&(h=-1!==(d=t.duplicates.indexOf(r))),(null!==t.tag&&"?"!==t.tag||h||2!==t.indent&&n>0)&&(a=!1),h&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(p&&h&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),"[object Object]"===u)o&&0!==Object.keys(t.dump).length?(function(t,n,r,o){var a,s,l,u,d,h,p="",f=t.tag,m=Object.keys(r);if(!0===t.sortKeys)m.sort();else if("function"==typeof t.sortKeys)m.sort(t.sortKeys);else if(t.sortKeys)throw new i("sortKeys must be a boolean or a function");for(a=0,s=m.length;a<s;a+=1)h="",o&&0===a||(h+=L(t,n)),u=r[l=m[a]],e(t,n+1,l,!0,!0,!0)&&((d=null!==t.tag&&"?"!==t.tag||t.dump&&t.dump.length>1024)&&(t.dump&&c===t.dump.charCodeAt(0)?h+="?":h+="? "),h+=t.dump,d&&(h+=L(t,n)),e(t,n+1,u,!0,d)&&(t.dump&&c===t.dump.charCodeAt(0)?h+=":":h+=": ",p+=h+=t.dump));t.tag=f,t.dump=p||"{}"}(t,
 n,t.dump,a),h&&(t.dump="&ref_"+d+t.dump)):(function(t,n,r){var i,o,a,s,l,u="",c=t.tag,d=Object.keys(r);for(i=0,o=d.length;i<

<TRUNCATED>

[2/3] knox git commit: KNOX-1202 - Descriptor and Provider Configuration Wizard Input Validation

Posted by pz...@apache.org.
http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-applications/src/main/resources/applications/admin-ui/app/main.31f4c13b664f32c9ce4d.bundle.js
----------------------------------------------------------------------
diff --git a/gateway-applications/src/main/resources/applications/admin-ui/app/main.31f4c13b664f32c9ce4d.bundle.js b/gateway-applications/src/main/resources/applications/admin-ui/app/main.31f4c13b664f32c9ce4d.bundle.js
deleted file mode 100644
index 3341581..0000000
--- a/gateway-applications/src/main/resources/applications/admin-ui/app/main.31f4c13b664f32c9ce4d.bundle.js
+++ /dev/null
@@ -1 +0,0 @@
-webpackJsonp([0],{"+Bgu":function(e,t,n){"use strict";var r=n("vs5U");e.exports=new r("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return"undefined"==typeof e},represent:function(){return""}})},"+Bur":function(e,t,n){e.exports=i;var r=n("rOzH").EventEmitter;function i(){r.call(this)}n("lDCR")(i,r),i.Readable=n("Osec"),i.Writable=n("QRYi"),i.Duplex=n("XvLI"),i.Transform=n("EJO3"),i.PassThrough=n("rr9E"),i.Stream=i,i.prototype.pipe=function(e,t){var n=this;function i(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function o(){n.readable&&n.resume&&n.resume()}n.on("data",i),e.on("drain",o),e._isStdio||t&&!1===t.end||(n.on("end",a),n.on("close",l));var s=!1;function a(){s||(s=!0,e.end())}function l(){s||(s=!0,"function"==typeof e.destroy&&e.destroy())}function u(e){if(c(),0===r.listenerCount(this,"error"))throw e}function c(){n.removeListener("data",i),e.removeListener("drain",o),n.removeListener("end",a),n
 .removeListener("close",l),n.removeListener("error",u),e.removeListener("error",u),n.removeListener("end",c),n.removeListener("close",c),e.removeListener("close",c)}return n.on("error",u),e.on("error",u),n.on("end",c),n.on("close",c),e.on("close",c),e.emit("pipe",n),e}},"+GRi":function(e,t,n){var r=n("Wo2w"),i=n("Wy9r");e.exports=function(e){return r(i(e))}},"+Q6C":function(e,t,n){var r=n("CDXM"),i=n("6De9").f,o=n("+pQw");r(r.S,"Reflect",{deleteProperty:function(e,t){var n=i(o(e),t);return!(n&&!n.configurable)&&delete e[t]}})},"+UpI":function(e,t,n){"use strict";var r=n("vs5U");e.exports=new r("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},"+aW+":function(e,t,n){"use strict";var r=n("CDXM"),i=n("uNkO"),o=n("RT4T"),s=n("umMR"),a=[].sort,l=[1,2,3];r(r.P+r.F*(s(function(){l.sort(void 0)})||!s(function(){l.sort(null)})||!n("bhtb")(a)),"Array",{sort:function(e){return void 0===e?a.call(o(this)):a.call(o(this),i(e))}})},"+c1l":function(e,t,n){var r=
 n("CDXM");r(r.S+r.F*!n("V+0c"),"Object",{defineProperty:n("tose").f})},"+iEx":function(e,t,n){n("fHxy"),n("5GJ3"),n("X0O/"),n("HCkn"),n("ncNB"),n("soMw"),n("8sYH"),n("IJ3P"),n("t6ta"),e.exports=n("b4gG").Reflect},"+pQw":function(e,t,n){var r=n("JXkd");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},"/JsI":function(e,t,n){var r=n("CDXM");r(r.S+r.F,"Object",{assign:n("rIdM")})},"/Mgt":function(e,t,n){var r=n("CDXM");r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},"/XRd":function(e,t,n){var r=n("tose"),i=n("CDXM"),o=n("+pQw"),s=n("A1WY");i(i.S+i.F*n("umMR")(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(e,t,n){o(e),t=s(t,!0),o(n);try{return r.f(e,t,n),!0}catch(e){return!1}}})},"/cYh":function(e,t,n){"use strict";var r=n("zOKz").Buffer,i=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":ca
 se"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=l,this.end=u,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=c,this.end=d,t=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function s(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:-1}function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"\ufffd".repeat(n);if(e.lastNeed>1&&t.length>1){
 if(128!=(192&t[1]))return e.lastNeed=1,"\ufffd".repeat(n+1);if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"\ufffd".repeat(n+2)}}(this,e,t);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function u(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):t}function c(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[
 e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function d(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function h(e){return e.toString(this.encoding)}function p(e){return e&&e.length?this.write(e):""}t.StringDecoder=o,o.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||""},o.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"\ufffd".repeat(this.lastTotal-this.lastNeed):t},o.prototype.text=function(e,t){var n=function(e,t,n){var r=t.length-1;if(r<n)return 0;var i=s(t[r]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--r<n?0:(i=s(t[r]))>=0?(i>0&&(e.lastNeed=i-2),i):--r<n?0:(i=s(t[r]))>=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}(this,e,t);if(!this.lastNeed)return e.to
 String("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},"/gBU":function(e,t,n){(function(){"use strict";var e,r,i,o,s,a={}.hasOwnProperty;e=n("ZMI8"),r=n("XPJv").defaults,o=function(e){return"string"==typeof e&&(e.indexOf("&")>=0||e.indexOf(">")>=0||e.indexOf("<")>=0)},s=function(e){return"<![CDATA["+i(e)+"]]>"},i=function(e){return e.replace("]]>","]]]]><![CDATA[>")},t.Builder=function(){function t(e){var t,n;for(t in this.options={},n=r[.2])a.call(n,t)&&(this.options[t]=n[t]);for(t in e)a.call(e,t)&&(this.options[t]=e[t])}return t.prototype.buildObject=function(t){var n,i,l,u,c,d;return n=this.options.attrkey,i=this.options.charkey,1===Object
 .keys(t).length&&this.options.rootName===r[.2].rootName?t=t[c=Object.keys(t)[0]]:c=this.options.rootName,d=this,l=function(e,t){var r,u,c,h,p;if("object"!=typeof t)d.options.cdata&&o(t)?e.raw(s(t)):e.txt(t);else if(Array.isArray(t)){for(h in t)if(a.call(t,h))for(p in u=t[h])c=u[p],e=l(e.ele(p),c).up()}else for(p in t)if(a.call(t,p))if(u=t[p],p===n){if("object"==typeof u)for(r in u)e=e.att(r,u[r])}else if(p===i)e=d.options.cdata&&o(u)?e.raw(s(u)):e.txt(u);else if(Array.isArray(u))for(h in u)a.call(u,h)&&(e="string"==typeof(c=u[h])?d.options.cdata&&o(c)?e.ele(p).raw(s(c)).up():e.ele(p,c).up():l(e.ele(p),c).up());else"object"==typeof u?e=l(e.ele(p),u).up():"string"==typeof u&&d.options.cdata&&o(u)?e=e.ele(p).raw(s(u)).up():(null==u&&(u=""),e=e.ele(p,u.toString()).up());return e},u=e.create(c,this.options.xmldec,this.options.doctype,{headless:this.options.headless,allowSurrogateChars:this.options.allowSurrogateChars}),l(u,t).end(this.options.renderOpts)},t}()}).call(this)},"/wY1":functi
 on(e,t,n){n("rMMT"),n("dlwK"),n("/XRd"),n("+Q6C"),n("dBNB"),n("7Fno"),n("gZpL"),n("dSHT"),n("d+61"),n("V2Dj"),n("wJYt"),n("gdNQ"),n("VsLy"),n("wLW2"),e.exports=n("b4gG").Reflect},0:function(e,t,n){e.exports=n("cDNt")},"0MXQ":function(e,t,n){var r=n("CDXM");r(r.S,"Math",{fround:n("xxX9")})},"0a2p":function(e,t,n){(function(e){var r=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(r.call(setTimeout,window,arguments),clearTimeout)},t.setInterval=function(){return new i(r.call(setInterval,window,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(window,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idle
 TimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n("fItk"),t.setImmediate="undefined"!=typeof self&&self.setImmediate||"undefined"!=typeof e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||"undefined"!=typeof e&&e.clearImmediate||this&&this.clearImmediate}).call(t,n("fRUx"))},1:function(e,t){},"1Rb4":function(e,t,n){"use strict";(function(t){e.exports=!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?function(e,n,r,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,r)});case 4:return t.nextTick(function(){e.call(null,n,r,i)});default:for(o=new Array(a-1),s=0;s<o.length;)o[s++]=arguments[s];return t.nextTick(function(){e.apply(null,o)})}}:t.nextTick
 }).call(t,n("1WNV"))},"1WNV":function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var l,u=[],c=!1,d=-1;function h(){c&&l&&(c=!1,l.length?u=l.concat(u):d=-1,u.length&&p())}function p(){if(!c){var e=a(h);c=!0;for(var t=u.length;t;){for(l=u,u=[];++d<t;)l&&l[d].run();d=-1,t=u.length}l=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function f(e,t){this.fun=e,this.arr
 ay=t}function m(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new f(e,t)),1!==u.length||c||a(p)},f.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=m,i.addListener=m,i.once=m,i.off=m,i.removeListener=m,i.removeAllListeners=m,i.emit=m,i.prependListener=m,i.prependOnceListener=m,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},"1j/l":function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=Array.isArray||function(e){return e&&"number"==typeof e.length}},"1zvG":function(e,t,n){"use strict";var r=n("JXkd"),i=n("TJLg"),o=n("3r0D")("hasInstance"),s=Function.prototype;o in s||n("tose").f(s,o,{value:function
 (e){if("function"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;for(;e=i(e);)if(this.prototype===e)return!0;return!1}})},"2Fuj":function(e,t,n){var r=n("R5c1"),i=n("a/Sk");e.exports=Object.keys||function(e){return r(e,i)}},"2fm9":function(e,t,n){(function(){var t,r,i,o,s,a={}.hasOwnProperty;s=n("VH4r"),o=s.isObject,i=s.isFunction,r=n("p7eS"),t=n("eIJN"),e.exports=function(e){function n(e,t,r){if(n.__super__.constructor.call(this,e),null==t)throw new Error("Missing element name");this.name=this.stringify.eleName(t),this.attributes={},null!=r&&this.attribute(r),e.isDocument&&(this.isRoot=!0,this.documentObject=e,e.rootObject=this)}return function(e,t){for(var n in t)a.call(t,n)&&(e[n]=t[n]);function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype}(n,r),n.prototype.clone=function(){var e,t,n;for(e in(t=Object.create(this)).isRoot&&(t.documentObject=null),t.attributes={},n=this.attributes)a.call(n,e)&&(t.attributes[e
 ]=n[e].clone());return t.children=[],this.children.forEach(function(e){var n;return(n=e.clone()).parent=t,t.children.push(n)}),t},n.prototype.attribute=function(e,n){var r;if(null!=e&&(e=e.valueOf()),o(e))for(r in e)a.call(e,r)&&this.attribute(r,e[r]);else i(n)&&(n=n.apply()),this.options.skipNullAttributes&&null==n||(this.attributes[e]=new t(this,e,n));return this},n.prototype.removeAttribute=function(e){var t,n;if(null==e)throw new Error("Missing attribute name");if(e=e.valueOf(),Array.isArray(e))for(t=0,n=e.length;t<n;t++)delete this.attributes[e[t]];else delete this.attributes[e];return this},n.prototype.toString=function(e){return this.options.writer.set(e).element(this)},n.prototype.att=function(e,t){return this.attribute(e,t)},n.prototype.a=function(e,t){return this.attribute(e,t)},n}()}).call(this)},"2kLc":function(e,t,n){"use strict";var r=n("AP4T"),i=n("Oryw"),o=n("3iOE"),s=n("wP3s");function a(e){return e}t.a=function(){for(var e=[],t=0;t<arguments.length;t++)e[t-0]=argum
 ents[t];var n=Number.POSITIVE_INFINITY,l=null,u=e[e.length-1];return Object(o.a)(u)?(l=e.pop(),e.length>1&&"number"==typeof e[e.length-1]&&(n=e.pop())):"number"==typeof u&&(n=e.pop()),null===l&&1===e.length&&e[0]instanceof r.Observable?e[0]:function(e){return void 0===e&&(e=Number.POSITIVE_INFINITY),Object(s.a)(a,null,e)}(n)(new i.a(e,l))}},"3LDD":function(e,t,n){"use strict";var r=n("tose").f,i=n("51pc"),o=n("pBmS"),s=n("pa70"),a=n("Lcie"),l=n("p/bR"),u=n("WsSm"),c=n("w/BM"),d=n("KpXt"),h=n("V+0c"),p=n("xI8H").fastKey,f=n("Y5fy"),m=h?"_s":"size",g=function(e,t){var n,r=p(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,u){var c=e(function(e,r){a(e,c,t,"_i"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[m]=0,void 0!=r&&l(r,n,e[u],e)});return o(c.prototype,{clear:function(){for(var e=f(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=f(this,t),r=g(n,
 e);if(r){var i=r.n,o=r.p;delete n._i[r.i],r.r=!0,o&&(o.n=i),i&&(i.p=o),n._f==r&&(n._f=i),n._l==r&&(n._l=o),n[m]--}return!!r},forEach:function(e){f(this,t);for(var n,r=s(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!g(f(this,t),e)}}),h&&r(c.prototype,"size",{get:function(){return f(this,t)[m]}}),c},def:function(e,t,n){var r,i,o=g(e,t);return o?o.v=n:(e._l=o={i:i=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=o),r&&(r.n=o),e[m]++,"F"!==i&&(e._i[i]=o)),e},getEntry:g,setStrong:function(e,t,n){u(e,t,function(e,n){this._t=f(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?c(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,c(1))},n?"entries":"values",!n,!0),d(t)}}},"3MMU":function(e,t,n){"use strict";var r=n("RT4T"),i=n("KM3d"),o=n("rppw");e.exports=[].copyWithin||function(e,t){var n=r(this),s=o(n.length),a=i(e,s),l=i(t,s),
 u=arguments.length>2?arguments[2]:void 0,c=Math.min((void 0===u?s:i(u,s))-l,s-a),d=1;for(l<a&&a<l+c&&(d=-1,l+=c-1,a+=c-1);c-- >0;)l in n?n[a]=n[l]:delete n[a],a+=d,l+=d;return n}},"3iOE":function(e,t,n){"use strict";t.a=function(e){return e&&"function"==typeof e.schedule}},"3r0D":function(e,t,n){var r=n("Iclu")("wks"),i=n("c09d"),o=n("ptrv").Symbol,s="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=s&&o[e]||(s?o:i)("Symbol."+e))}).store=r},"4D9a":function(e,t,n){"use strict";n("RSwQ");var r=n("+pQw"),i=n("8H1R"),o=n("V+0c"),s=/./.toString,a=function(e){n("lfBE")(RegExp.prototype,"toString",e,!0)};n("umMR")(function(){return"/a/b"!=s.call({source:"a",flags:"b"})})?a(function(){var e=r(this);return"/".concat(e.source,"/","flags"in e?e.flags:!o&&e instanceof RegExp?i.call(e):void 0)}):"toString"!=s.name&&a(function(){return s.call(this)})},"4TT8":function(e,t,n){var r=n("CDXM");r(r.S+r.F*!n("V+0c"),"Object",{defineProperties:n("ewdp")})},"4kq/":function(e,t,n){"use strict
 ";var r=n("xhXA"),i=n("fIES"),o=n("V2lR"),s=n("Io8P"),a=Object.prototype.toString,l=Object.prototype.hasOwnProperty,u=9,c=10,d=32,h=33,p=34,f=35,m=37,g=38,v=39,y=42,b=44,w=45,x=58,k=62,E=63,C=64,_=91,S=93,A=96,T=123,D=124,F=125,R={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},N=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function O(e){var t,n,o;if(t=e.toString(16).toUpperCase(),e<=255)n="x",o=2;else if(e<=65535)n="u",o=4;else{if(!(e<=4294967295))throw new i("code point within a string may not be greater than 0xFFFFFFFF");n="U",o=8}return"\\"+n+r.repeat("0",o-t.length)+t}function L(e,t){for(var n,i=r.repeat(" ",t),o=0,s=-1,a="",l=e.length;o<l;)-1===(s=e.indexOf("\n",o))?(n=e.slice(o),o=l):(n=e.slice(o,s+1),o=s+1),n.length&&"\n"!==n&&(a+=i),a+=n;return a}function I(e,t){return"\n"+r.repeat(" ",e.indent*t)}function M(e){return e===d||e===u}function P(e){r
 eturn 32<=e&&e<=126||161<=e&&e<=55295&&8232!==e&&8233!==e||57344<=e&&e<=65533&&65279!==e||65536<=e&&e<=1114111}function B(e){return P(e)&&65279!==e&&e!==b&&e!==_&&e!==S&&e!==T&&e!==F&&e!==x&&e!==f}var j=1,$=2,z=3,U=4,V=5;function H(e,t,n,r){e.dump=function(){if(0===t.length)return"''";if(!e.noCompatMode&&-1!==N.indexOf(t))return"'"+t+"'";var o=e.indent*Math.max(1,n),s=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o);switch(function(t,n,r,i,o){var s,a,l,u=!1,d=!1,R=-1!==i,N=-1,O=P(l=t.charCodeAt(0))&&65279!==l&&!M(l)&&l!==w&&l!==E&&l!==x&&l!==b&&l!==_&&l!==S&&l!==T&&l!==F&&l!==f&&l!==g&&l!==y&&l!==h&&l!==D&&l!==k&&l!==v&&l!==p&&l!==m&&l!==C&&l!==A&&!M(t.charCodeAt(t.length-1));if(n)for(s=0;s<t.length;s++){if(!P(a=t.charCodeAt(s)))return V;O=O&&B(a)}else{for(s=0;s<t.length;s++){if((a=t.charCodeAt(s))===c)u=!0,R&&(d=d||s-N-1>i&&" "!==t[N+1],N=s);else if(!P(a))return V;O=O&&B(a)}d=d||R&&s-N-1>i&&" "!==t[N+1]}return u||d?" "===t[0]&&r>9?V:d?U:z:O&&!function(t){return 
 function(e,t){var n,r;for(n=0,r=e.implicitTypes.length;n<r;n+=1)if(e.implicitTypes[n].resolve(t))return!0;return!1}(e,t)}(t)?j:$}(t,r||e.flowLevel>-1&&n>=e.flowLevel,e.indent,s)){case j:return t;case $:return"'"+t.replace(/'/g,"''")+"'";case z:return"|"+W(t,e.indent)+q(L(t,o));case U:return">"+W(t,e.indent)+q(L(function(e,t){for(var n,r,i,o=/(\n+)([^\n]*)/g,s=(i=e.indexOf("\n"),o.lastIndex=i=-1!==i?i:e.length,G(e.slice(0,i),t)),a="\n"===e[0]||" "===e[0];r=o.exec(e);){var l=r[2];n=" "===l[0],s+=r[1]+(a||n||""===l?"":"\n")+G(l,t),a=n}return s}(t,s),o));case V:return'"'+function(e){for(var t,n,r,i="",o=0;o<e.length;o++)(t=e.charCodeAt(o))>=55296&&t<=56319&&(n=e.charCodeAt(o+1))>=56320&&n<=57343?(i+=O(1024*(t-55296)+n-56320+65536),o++):i+=!(r=R[t])&&P(t)?e[o]:r||O(t);return i}(t)+'"';default:throw new i("impossible error: invalid scalar style")}}()}function W(e,t){var n=" "===e[0]?String(t):"",r="\n"===e[e.length-1];return n+(!r||"\n"!==e[e.length-2]&&"\n"!==e?r?"":"-":"+")+"\n"}functio
 n q(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function G(e,t){if(""===e||" "===e[0])return e;for(var n,r,i=/ [^ ]/g,o=0,s=0,a=0,l="";n=i.exec(e);)(a=n.index)-o>t&&(l+="\n"+e.slice(o,r=s>o?s:a),o=r+1),s=a;return l+="\n",(l+=e.length-o>t&&s>o?e.slice(o,s)+"\n"+e.slice(s+1):e.slice(o)).slice(1)}function K(e,t,n){var r,o,s,u,c,d;for(s=0,u=(o=n?e.explicitTypes:e.implicitTypes).length;s<u;s+=1)if(((c=o[s]).instanceOf||c.predicate)&&(!c.instanceOf||"object"==typeof t&&t instanceof c.instanceOf)&&(!c.predicate||c.predicate(t))){if(e.tag=n?c.tag:"?",c.represent){if(d=e.styleMap[c.tag]||c.defaultStyle,"[object Function]"===a.call(c.represent))r=c.represent(t,d);else{if(!l.call(c.represent,d))throw new i("!<"+c.tag+'> tag resolver accepts not "'+d+'" style');r=c.represent[d](t,d)}e.dump=r}return!0}return!1}function X(e,t){var n=new function(e){this.schema=e.schema||o,this.indent=Math.max(1,e.indent||2),this.skipInvalid=e.skipInvalid||!1,this.flowLevel=r.isNothing(e.flowLevel)?-1:e.flowLeve
 l,this.styleMap=function(e,t){var n,r,i,o,s,a,u;if(null===t)return{};for(n={},i=0,o=(r=Object.keys(t)).length;i<o;i+=1)s=r[i],a=String(t[s]),"!!"===s.slice(0,2)&&(s="tag:yaml.org,2002:"+s.slice(2)),(u=e.compiledTypeMap.fallback[s])&&l.call(u.styleAliases,a)&&(a=u.styleAliases[a]),n[s]=a;return n}(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}(t=t||{});return n.noRefs||function(t,n){var r,i,o=[],s=[];for(function e(t,n,r){var i,o,s;if(null!==t&&"object"==typeof t)if(-1!==(o=n.indexOf(t)))-1===r.indexOf(o)&&r.push(o);else if(n.push(t),Array.isArray(t))for(o=0,s=t.length;o<s;o+=1)e(t[o],n,r);else for(o=0,s=(i=Object.keys(t)).length;o<s;o+=1)e(t[i[o]],n,r)}(e,o,s),r=0,i=s.length;r<i
 ;r+=1)n.duplicates.push(o[s[r]]);n.usedDuplicates=new Array(i)}(0,n),function e(t,n,r,o,s,l){t.tag=null,t.dump=r,K(t,r,!1)||K(t,r,!0);var u=a.call(t.dump);o&&(o=t.flowLevel<0||t.flowLevel>n);var d,h,p="[object Object]"===u||"[object Array]"===u;if(p&&(h=-1!==(d=t.duplicates.indexOf(r))),(null!==t.tag&&"?"!==t.tag||h||2!==t.indent&&n>0)&&(s=!1),h&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(p&&h&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),"[object Object]"===u)o&&0!==Object.keys(t.dump).length?(function(t,n,r,o){var s,a,l,u,d,h,p="",f=t.tag,m=Object.keys(r);if(!0===t.sortKeys)m.sort();else if("function"==typeof t.sortKeys)m.sort(t.sortKeys);else if(t.sortKeys)throw new i("sortKeys must be a boolean or a function");for(s=0,a=m.length;s<a;s+=1)h="",o&&0===s||(h+=I(t,n)),u=r[l=m[s]],e(t,n+1,l,!0,!0,!0)&&((d=null!==t.tag&&"?"!==t.tag||t.dump&&t.dump.length>1024)&&(t.dump&&c===t.dump.charCodeAt(0)?h+="?":h+="? "),h+=t.dump,d&&(h+=I(t,n)),e(t,n+1,u,!0,d)&&(t.dump&&c===t.dump.charCodeA
 t(0)?h+=":":h+=": ",p+=h+=t.dump));t.tag=f,t.dump=p||"{}"}(t,n,t.dump,s),h&&(t.dump="&ref_"+d+t.dump)):(function(t,n,r){var i,o,s,a,l,u="",c=t.tag,d=Object.keys(r);for(i=0,o=d.length;i<o;i+=1)l=t.condenseFlow?'"':"",0!==i&&(l+=", "),a=r[s=d[i]],e(t,n,s,!1,!1)&&(t.dump.length>1024&&(l+="? "),l+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),e(t,n,a,!1,!1)&&(u+=l+=t.dump));t.tag=c,t.dump="{"+u+"}"}(t,n,t.dump),h&&(t.dump="&ref_"+d+" "+t.dump));else if("[object Array]"===u)o&&0!==t.dump.length?(function(t,n,r,i){var o,s,a="",l=t.tag;for(o=0,s=r.length;o<s;o+=1)e(t,n+1,r[o],!0,!0)&&(i&&0===o||(a+=I(t,n)),t.dump&&c===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=l,t.dump=a||"[]"}(t,n,t.dump,s),h&&(t.dump="&ref_"+d+t.dump)):(function(t,n,r){var i,o,s="",a=t.tag;for(i=0,o=r.length;i<o;i+=1)e(t,n,r[i],!1,!1)&&(0!==i&&(s+=","+(t.condenseFlow?"":" ")),s+=t.dump);t.tag=a,t.dump="["+s+"]"}(t,n,t.dump),h&&(t.dump="&ref_"+d+" "+t.dump));else{if("[object String]"!==u){if(t.skipI
 nvalid)return!1;throw new i("unacceptable kind of an object to dump "+u)}"?"!==t.tag&&H(t,t.dump,n,l)}null!==t.tag&&"?"!==t.tag&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}(n,0,e,!0,!0)?n.dump+"\n":""}e.exports.dump=X,e.exports.safeDump=function(e,t){return X(e,r.extend({schema:s},t))}},"51pc":function(e,t,n){var r=n("+pQw"),i=n("ewdp"),o=n("a/Sk"),s=n("yIWP")("IE_PROTO"),a=function(){},l=function(){var e,t=n("BQSv")("iframe"),r=o.length;for(t.style.display="none",n("Ed9o").appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),l=e.F;r--;)delete l.prototype[o[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(a.prototype=r(e),n=new a,a.prototype=null,n[s]=e):n=l(),void 0===t?n:i(n,t)}},"570Y":function(e,t,n){(function(t){e.exports=function(){if(t.Blob)try{return new Blob(["asdf"],{type:"text/plain"}),Blob}catch(e){}var e=t.WebKitBlobBuilder||t.MozBlobBuilder||t.MSBlobBuilder;return func
 tion(t,n){var r=new e,i=n.endings,o=n.type;if(i)for(var s=0,a=t.length;s<a;++s)r.append(t[s],i);else for(s=0,a=t.length;s<a;++s)r.append(t[s]);return o?r.getBlob(o):r.getBlob()}}()}).call(t,n("fRUx"))},"5E84":function(e,t,n){"use strict";e.exports=o;var r=n("C7jF"),i=n("VIKU");function o(e){if(!(this instanceof o))return new o(e);r.call(this,e)}i.inherits=n("lDCR"),i.inherits(o,r),o.prototype._transform=function(e,t,n){n(null,e)}},"5GJ3":function(e,t,n){var r=n("gBtn"),i=n("+pQw"),o=r.key,s=r.map,a=r.store;r.exp({deleteMetadata:function(e,t){var n=arguments.length<3?void 0:o(arguments[2]),r=s(i(t),n,!1);if(void 0===r||!r.delete(e))return!1;if(r.size)return!0;var l=a.get(t);return l.delete(n),!!l.size||a.delete(t)}})},"5b+r":function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:retur
 n r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},"5oDA":function(e,t,n){var r=n("JXkd"),i=n("+pQw"),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n("pa70")(Function.call,n("6De9").f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:o}},"5xM6":function(e,t,n){(function(){"use strict";var e,r,i,o,s,a,l,u,c=function(e,t){return function(){return e.apply(t,arguments)}},d={}.hasOwnProperty;l=n("Hhmb"),i=n("rOzH"),e=n("je7P"),a=n("GG7F"),u=n("0a2p").setImmediate,r=n("XPJv").defaults,o=function(e){return"object"==typeof e&&null!=e&&0===Object.keys(e).length},s=function(e,t,n){var r,i;for(r=0,i=e.length;r<i;r++)t=(0,e[r])(t,n);return t},t.Parser=function(n){function h(e){var n,i;if(this.parseString=c(this.parseString,this),this.re
 set=c(this.reset,this),this.assignOrPush=c(this.assignOrPush,this),this.processAsync=c(this.processAsync,this),!(this instanceof t.Parser))return new t.Parser(e);for(n in this.options={},i=r[.2])d.call(i,n)&&(this.options[n]=i[n]);for(n in e)d.call(e,n)&&(this.options[n]=e[n]);this.options.xmlns&&(this.options.xmlnskey=this.options.attrkey+"ns"),this.options.normalizeTags&&(this.options.tagNameProcessors||(this.options.tagNameProcessors=[]),this.options.tagNameProcessors.unshift(a.normalize)),this.reset()}return function(e,t){for(var n in t)d.call(t,n)&&(e[n]=t[n]);function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype}(h,i.EventEmitter),h.prototype.processAsync=function(){var e,t;try{return this.remaining.length<=this.options.chunkSize?(e=this.remaining,this.remaining="",this.saxParser=this.saxParser.write(e),this.saxParser.close()):(e=this.remaining.substr(0,this.options.chunkSize),this.remaining=this.remaining.substr(this.options.chunkSi
 ze,this.remaining.length),this.saxParser=this.saxParser.write(e),u(this.processAsync))}catch(e){if(t=e,!this.saxParser.errThrown)return this.saxParser.errThrown=!0,this.emit(t)}},h.prototype.assignOrPush=function(e,t,n){return t in e?(e[t]instanceof Array||(e[t]=[e[t]]),e[t].push(n)):e[t]=this.options.explicitArray?[n]:n},h.prototype.reset=function(){var e,t,n,r,i;return this.removeAllListeners(),this.saxParser=l.parser(this.options.strict,{trim:!1,normalize:!1,xmlns:this.options.xmlns}),this.saxParser.errThrown=!1,this.saxParser.onerror=(i=this,function(e){if(i.saxParser.resume(),!i.saxParser.errThrown)return i.saxParser.errThrown=!0,i.emit("error",e)}),this.saxParser.onend=function(e){return function(){if(!e.saxParser.ended)return e.saxParser.ended=!0,e.emit("end",e.resultObject)}}(this),this.saxParser.ended=!1,this.EXPLICIT_CHARKEY=this.options.explicitCharkey,this.resultObject=null,r=[],e=this.options.attrkey,t=this.options.charkey,this.saxParser.onopentag=function(n){return fun
 ction(i){var o,a,l,u,c;if((l={})[t]="",!n.options.ignoreAttrs)for(o in c=i.attributes)d.call(c,o)&&(e in l||n.options.mergeAttrs||(l[e]={}),a=n.options.attrValueProcessors?s(n.options.attrValueProcessors,i.attributes[o],o):i.attributes[o],u=n.options.attrNameProcessors?s(n.options.attrNameProcessors,o):o,n.options.mergeAttrs?n.assignOrPush(l,u,a):l[e][u]=a);return l["#name"]=n.options.tagNameProcessors?s(n.options.tagNameProcessors,i.name):i.name,n.options.xmlns&&(l[n.options.xmlnskey]={uri:i.uri,local:i.local}),r.push(l)}}(this),this.saxParser.onclosetag=function(e){return function(){var n,i,a,l,u,c,h,p,f,m;if(c=r.pop(),u=c["#name"],e.options.explicitChildren&&e.options.preserveChildrenOrder||delete c["#name"],!0===c.cdata&&(n=c.cdata,delete c.cdata),f=r[r.length-1],c[t].match(/^\s*$/)&&!n?(i=c[t],delete c[t]):(e.options.trim&&(c[t]=c[t].trim()),e.options.normalize&&(c[t]=c[t].replace(/\s{2,}/g," ").trim()),c[t]=e.options.valueProcessors?s(e.options.valueProcessors,c[t],u):c[t],1==
 =Object.keys(c).length&&t in c&&!e.EXPLICIT_CHARKEY&&(c=c[t])),o(c)&&(c=""!==e.options.emptyTag?e.options.emptyTag:i),null!=e.options.validator&&(m="/"+function(){var e,t,n;for(n=[],e=0,t=r.length;e<t;e++)n.push((l=r[e])["#name"]);return n}().concat(u).join("/"),function(){try{c=e.options.validator(m,f&&f[u],c)}catch(t){return e.emit("error",t)}}()),e.options.explicitChildren&&!e.options.mergeAttrs&&"object"==typeof c)if(e.options.preserveChildrenOrder){if(f){for(a in f[e.options.childkey]=f[e.options.childkey]||[],h={},c)d.call(c,a)&&(h[a]=c[a]);f[e.options.childkey].push(h),delete c["#name"],1===Object.keys(c).length&&t in c&&!e.EXPLICIT_CHARKEY&&(c=c[t])}}else l={},e.options.attrkey in c&&(l[e.options.attrkey]=c[e.options.attrkey],delete c[e.options.attrkey]),!e.options.charsAsChildren&&e.options.charkey in c&&(l[e.options.charkey]=c[e.options.charkey],delete c[e.options.charkey]),Object.getOwnPropertyNames(c).length>0&&(l[e.options.childkey]=c),c=l;return r.length>0?e.assignOrPu
 sh(f,u,c):(e.options.explicitRoot&&(p=c,(c={})[u]=p),e.resultObject=c,e.saxParser.ended=!0,e.emit("end",e.resultObject))}}(this),n=function(e){return function(n){var i,o;if(o=r[r.length-1])return o[t]+=n,e.options.explicitChildren&&e.options.preserveChildrenOrder&&e.options.charsAsChildren&&(e.options.includeWhiteChars||""!==n.replace(/\\n/g,"").trim())&&(o[e.options.childkey]=o[e.options.childkey]||[],(i={"#name":"__text__"})[t]=n,e.options.normalize&&(i[t]=i[t].replace(/\s{2,}/g," ").trim()),o[e.options.childkey].push(i)),o}}(this),this.saxParser.ontext=n,this.saxParser.oncdata=function(e){var t;if(t=n(e))return t.cdata=!0}},h.prototype.parseString=function(t,n){var r;null!=n&&"function"==typeof n&&(this.on("end",function(e){return this.reset(),n(null,e)}),this.on("error",function(e){return this.reset(),n(e)}));try{return""===(t=t.toString()).trim()?(this.emit("end",null),!0):(t=e.stripBOM(t),this.options.async?(this.remaining=t,u(this.processAsync),this.saxParser):this.saxParser.
 write(t).close())}catch(e){if(r=e,!this.saxParser.errThrown&&!this.saxParser.ended)return this.emit("error",r),this.saxParser.errThrown=!0;if(this.saxParser.ended)throw r}},h}(),t.parseString=function(e,n,r){var i,o;return null!=r?("function"==typeof r&&(i=r),"object"==typeof n&&(o=n)):("function"==typeof n&&(i=n),o={}),new t.Parser(o).parseString(e,i)}}).call(this)},"6De9":function(e,t,n){var r=n("9e9+"),i=n("piOq"),o=n("+GRi"),s=n("A1WY"),a=n("rMsi"),l=n("gNkH"),u=Object.getOwnPropertyDescriptor;t.f=n("V+0c")?u:function(e,t){if(e=o(e),t=s(t,!0),l)try{return u(e,t)}catch(e){}if(a(e,t))return i(!r.f.call(e,t),e[t])}},"6F6V":function(e,t,n){"use strict";n("NhIS")("fontsize",function(e){return function(t){return e(this,"font","size",t)}})},"6GwK":function(e,t,n){var r=n("RT4T"),i=n("2Fuj");n("QN+J")("keys",function(){return function(e){return i(r(e))}})},"6IF7":function(e,t,n){"use strict";var r=n("vs5U");e.exports=new r("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){ret
 urn"<<"===e||null===e}})},"6QZ3":function(e,t,n){"use strict";(function(t,r){var i=n("1Rb4");function o(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;for(e.entry=null;r;){var i=r.callback;t.pendingcb--,i(void 0),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=v;var s,a=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?setImmediate:i;v.WritableState=g;var l=n("VIKU");l.inherits=n("lDCR");var u,c={deprecate:n("7RTT")},d=n("wHgO"),h=n("zOKz").Buffer,p=r.Uint8Array||function(){},f=n("iAGO");function m(){}function g(e,t){s=s||n("dJzE"),this.objectMode=!!(e=e||{}).objectMode,t instanceof s&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark;this.highWaterMark=r||0===r?r:this.objectMode?16:16384,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1,th
 is.decodeStrings=!(!1===e.decodeStrings),this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,o=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,o){--t.pendingcb,n?(i(o,r),i(E,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(o(r),e._writableState.errorEmitted=!0,e.emit("error",r),E(e,t))}(e,n,r,t,o);else{var s=x(n);s||n.corked||n.bufferProcessing||!n.bufferedRequest||w(e,n),r?a(b,e,n,s,o):b(e,n,s,o)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function v(e){if(s=s||n("dJzE"),!(u.call(v,this)||this instanceof s))return new v(e);this._writableState=new g(e,this),this.writable=!0,e&&("function"==typ
 eof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),d.call(this)}function y(e,t,n,r,i,o,s){t.writelen=r,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function b(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),E(e,t)}function w(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=new Array(t.bufferedRequestCount),i=t.corkedRequestsFree;i.entry=n;for(var s=0,a=!0;n;)r[s]=n,n.isBuf||(a=!1),n=n.next,s+=1;r.allBuffers=a,y(e,t,!0,t.length,r,"",i.finish),t.pendingcb++,t.lastBufferedRequest=null,i.next?(t.corkedRequestsFree=i.next,i.next=null):t.corkedRequestsFree=new o(t)}else{for(;n;){var l=n.chunk;if(y(e,t,!1,t.objectMode?1:l.length,l,n.encoding,n.callback),n=n.next,t.writing)break}null===n&&(t.lastBufferedRequ
 est=null)}t.bufferedRequestCount=0,t.bufferedRequest=n,t.bufferProcessing=!1}function x(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function k(e,t){e._final(function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),E(e,t)})}function E(e,t){var n=x(t);return n&&(function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,i(k,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}l.inherits(v,d),g.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(g.prototype,"buffer",{get:c.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(u=Function.protot
 ype[Symbol.hasInstance],Object.defineProperty(v,Symbol.hasInstance,{value:function(e){return!!u.call(this,e)||e&&e._writableState instanceof g}})):u=function(e){return e instanceof this},v.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},v.prototype.write=function(e,t,n){var r,o=this._writableState,s=!1,a=(h.isBuffer(r=e)||r instanceof p)&&!o.objectMode;return a&&!h.isBuffer(e)&&(e=function(e){return h.from(e)}(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=o.defaultEncoding),"function"!=typeof n&&(n=m),o.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),i(t,n)}(this,n):(a||function(e,t,n,r){var o=!0,s=!1;return null===n?s=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),i(r,s),o=!1),o}(this,o,e,n))&&(o.pendingcb++,s=function(e,t,n,r,i,o){if(!n){var s=function(e,t,n){return e.objectMode||!1=
 ==e.decodeStrings||"string"!=typeof t||(t=h.from(t,n)),t}(t,r,i);r!==s&&(n=!0,i="buffer",r=s)}var a=t.objectMode?1:r.length;t.length+=a;var l=t.length<t.highWaterMark;if(l||(t.needDrain=!0),t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:o,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else y(e,t,!1,a,r,i,o);return l}(this,o,a,e,t,n)),s},v.prototype.cork=function(){this._writableState.corked++},v.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||w(this,e))},v.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},v.proto
 type._write=function(e,t,n){n(new Error("_write() is not implemented"))},v.prototype._writev=null,v.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,E(e,t),n&&(t.finished?i(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,r,n)},Object.defineProperty(v.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),v.prototype.destroy=f.destroy,v.prototype._undestroy=f.undestroy,v.prototype._destroy=function(e,t){this.end(),t(e)}}).call(t,n("1WNV"),n("fRUx"))},"6S6c":function(e,t,n){"use strict";var r=n("6Xbx"),i=n("E9/g"),o=function(){function e(e,t){this.predicate=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate
 ,this.thisArg))},e}(),s=function(e){function t(t,n,r){e.call(this,t),this.predicate=n,this.thisArg=r,this.count=0}return Object(r.b)(t,e),t.prototype._next=function(e){var t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(e){return void this.destination.error(e)}t&&this.destination.next(e)},t}(i.a);t.a=function(e,t){return function(e,t){return function(n){return n.lift(new o(e,t))}}(e,t)(this)}},"6WxU":function(e,t,n){"use strict";var r;try{r=n("di1V")}catch(e){"undefined"!=typeof window&&(r=window.esprima)}var i=n("vs5U");e.exports=new i("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(e){if(null===e)return!1;try{var t=r.parse("("+e+")",{range:!0});return"Program"===t.type&&1===t.body.length&&"ExpressionStatement"===t.body[0].type&&"FunctionExpression"===t.body[0].expression.type}catch(e){return!1}},construct:function(e){var t,n="("+e+")",i=r.parse(n,{range:!0}),o=[];if("Program"!==i.type||1!==i.body.length||"ExpressionStatement"!==i.body[0].type||"Funct
 ionExpression"!==i.body[0].expression.type)throw new Error("Failed to resolve function");return i.body[0].expression.params.forEach(function(e){o.push(e.name)}),t=i.body[0].expression.body.range,new Function(o,n.slice(t[0]+1,t[1]-1))},predicate:function(e){return"[object Function]"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}})},"6Xbx":function(e,t,n){"use strict";t.b=function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},n.d(t,"a",function(){return i});var r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}},"6tM8":function(e,t,n){"use strict";n("NhIS")("link",function(e){return function(t){return e(this,"a","href",t)}})},"
 76yl":function(e,t,n){"use strict";var r=n("+pQw"),i=n("A1WY");e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return i(r(this),"number"!=e)}},"7Fno":function(e,t,n){var r=n("6De9"),i=n("TJLg"),o=n("rMsi"),s=n("CDXM"),a=n("JXkd"),l=n("+pQw");s(s.S,"Reflect",{get:function e(t,n){var s,u,c=arguments.length<3?t:arguments[2];return l(t)===c?t[n]:(s=r.f(t,n))?o(s,"value")?s.value:void 0!==s.get?s.get.call(c):void 0:a(u=i(t))?e(u,n,c):void 0}})},"7RTT":function(e,t,n){(function(t){function n(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(e,t){if(n("noDeprecation"))return e;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}}}).call(t,n("fRUx"))},"7WRt":function(e,t){t.read=function(e,t,n,r,i){var o,s,a=8*i-r-1,l=(1<<a)-1,u=l
 >>1,c=-7,d=n?i-1:0,h=n?-1:1,p=e[t+d];for(d+=h,o=p&(1<<-c)-1,p>>=-c,c+=a;c>0;o=256*o+e[t+d],d+=h,c-=8);for(s=o&(1<<-c)-1,o>>=-c,c+=r;c>0;s=256*s+e[t+d],d+=h,c-=8);if(0===o)o=1-u;else{if(o===l)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,r),o-=u}return(p?-1:1)*s*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var s,a,l,u=8*o-i-1,c=(1<<u)-1,d=c>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,f=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),(t+=s+d>=1?h/l:h*Math.pow(2,1-d))*l>=2&&(s++,l/=2),s+d>=c?(a=0,s=c):s+d>=1?(a=(t*l-1)*Math.pow(2,i),s+=d):(a=t*Math.pow(2,d-1)*Math.pow(2,i),s=0));i>=8;e[n+p]=255&a,p+=f,a/=256,i-=8);for(s=s<<i|a,u+=i;u>0;e[n+p]=255&s,p+=f,s/=256,u-=8);e[n+p-f]|=128*m}},"7Wga":function(e,t,n){"use strict";var r=n("iAzx");e.exports=new r({include:[n("tuZJ")]})},"8Gg3":function(e,t,n){var r=n("ptrv").parseInt,i=n("kFjN").trim,o=n("9BUF"),s=/^[-+]?0[xX]/;e.e
 xports=8!==r(o+"08")||22!==r(o+"0x16")?function(e,t){var n=i(String(e),3);return r(n,t>>>0||(s.test(n)?16:10))}:r},"8H1R":function(e,t,n){"use strict";var r=n("+pQw");e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},"8ofh":function(e,t,n){"use strict";t.a=function(e){return r=e,o};var r,i=n("NePw");function o(){try{return r.apply(this,arguments)}catch(e){return i.a.e=e,i.a}}},"8sYH":function(e,t,n){var r=n("gBtn"),i=n("+pQw"),o=n("TJLg"),s=r.has,a=r.key,l=function(e,t,n){if(s(e,t,n))return!0;var r=o(t);return null!==r&&l(e,r,n)};r.exp({hasMetadata:function(e,t){return l(e,i(t),arguments.length<3?void 0:a(arguments[2]))}})},"9BUF":function(e,t){e.exports="\t\n\v\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},"9ScN":function(e,t,n){"use strict";var r=n("51pc"),i=n("piOq"),o=n("P6IN"),s={};n("gxdV")(s,n("3
 r0D")("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(s,{next:i(1,n)}),o(e,t+" Iterator")}},"9e9+":function(e,t){t.f={}.propertyIsEnumerable},"9wYb":function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},"9zis":function(e,t,n){"use strict";var r=n("iAzx");e.exports=new r({explicit:[n("sbK6"),n("Wa1K"),n("+UpI")]})},A1WY:function(e,t,n){var r=n("JXkd");e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},A3hK:function(e,t,n){var r=n("CDXM");r(r.S,"Math",{sign:n("tWtF")})},ABVq:function(e,t,n){var r=n("CDXM"),i=Math.atanh;r(r.S+r.F*!(i&&1/i(-0)<0),"Math",{atanh:function(e){return 0==(e=+e)?e:Math.log((1+e)/(1-e))/2}})},AOSR:function(e,t,n){var r=n("CDXM"),i=n("KM3d"
 ),o=String.fromCharCode,s=String.fromCodePoint;r(r.S+r.F*(!!s&&1!=s.length),"String",{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,s=0;r>s;){if(t=+arguments[s++],i(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?o(t):o(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},AP4T:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n("xIGM"),i=n("E9/g"),o=n("V7AE"),s=n("grVA"),a=n("mz3w");n.d(t,"Observable",function(){return l});var l=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r=this.operator,a=function(e,t,n){if(e){if(e instanceof i.a)return e;if(e[o.a])return e[o.a]()}return e||t||n?new i.a(e,t,n):new i.a(s.a)}(e,t,n);if(r?r.call(a,this.source):a.add(this.source||!a.syncErrorThrowable?this._subscribe(a):this._trySubscribe(a)),a.syncErrorThrowable&&(a.sync
 ErrorThrowable=!1,a.syncErrorThrown))throw a.syncErrorValue;return a},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.syncErrorThrown=!0,e.syncErrorValue=t,e.error(t)}},e.prototype.forEach=function(e,t){var n=this;if(t||(r.a.Rx&&r.a.Rx.config&&r.a.Rx.config.Promise?t=r.a.Rx.config.Promise:r.a.Promise&&(t=r.a.Promise)),!t)throw new Error("no Promise impl found");return new t(function(t,r){var i;i=n.subscribe(function(t){if(i)try{e(t)}catch(e){r(e),i.unsubscribe()}else e(t)},r,t)})},e.prototype._subscribe=function(e){return this.source.subscribe(e)},e.prototype[a.a]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t-0]=arguments[t];return 0===e.length?this:((n=e)?1===n.length?n[0]:function(e){return n.reduce(function(e,t){return t(e)},e)}:function(){})(this);var n},e.prototype.toPromise=function(e){var t=this;if(e||(r.a.Rx&&r.a.Rx.config&&r.a.Rx.config.Promise?e=r.a.Rx.config.Promise:r.a.Promise&&(e=r.a.Promis
 e)),!e)throw new Error("no Promise impl found");return new e(function(e,n){var r;t.subscribe(function(e){return r=e},function(e){return n(e)},function(){return e(r)})})},e.create=function(t){return new e(t)},e}()},Abrq:function(e,t,n){var r=n("CDXM");r(r.P,"Array",{copyWithin:n("3MMU")}),n("YymB")("copyWithin")},AdFz:function(e,t,n){"use strict";n("NhIS")("fixed",function(e){return function(){return e(this,"tt","","")}})},"B++z":function(e,t,n){var r=n("CDXM");r(r.S,"Number",{isNaN:function(e){return e!=e}})},B1iP:function(e,t,n){"use strict";t.a=function(e){return"function"==typeof e}},BCYq:function(e,t,n){var r=n("pa70"),i=n("Wo2w"),o=n("RT4T"),s=n("rppw"),a=n("UKZQ");e.exports=function(e,t){var n=1==e,l=2==e,u=3==e,c=4==e,d=6==e,h=5==e||d,p=t||a;return function(t,a,f){for(var m,g,v=o(t),y=i(v),b=r(a,f,3),w=s(y.length),x=0,k=n?p(t,w):l?p(t,0):void 0;w>x;x++)if((h||x in y)&&(g=b(m=y[x],x,v),e))if(n)k[x]=g;else if(g)switch(e){case 3:return!0;case 5:return m;case 6:return x;case 2:k.
 push(m)}else if(c)return!1;return d?-1:u||c?c:k}}},BMSF:function(e,t,n){var r=n("CDXM"),i=n("T0iK");r(r.S+r.F*(Number.parseFloat!=i),"Number",{parseFloat:i})},BQSv:function(e,t,n){var r=n("JXkd"),i=n("ptrv").document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},C7jF:function(e,t,n){"use strict";e.exports=o;var r=n("dJzE"),i=n("VIKU");function o(e){if(!(this instanceof o))return new o(e);r.call(this,e),this._transformState=new function(e){this.afterTransform=function(t,n){return function(e,t,n){var r=e._transformState;r.transforming=!1;var i=r.writecb;if(!i)return e.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!==n&&void 0!==n&&e.push(n),i(t);var o=e._readableState;o.reading=!1,(o.needReadable||o.length<o.highWaterMark)&&e._read(o.highWaterMark)}(e,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}(this);var t=this;this._readableSt
 ate.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(e,n){s(t,e,n)}):s(t)})}function s(e,t,n){if(t)return e.emit("error",t);null!==n&&void 0!==n&&e.push(n);var r=e._transformState;if(e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(r.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}i.inherits=n("lDCR"),i.inherits(o,r),o.prototype.push=function(e,t){return this._transformState.needTransform=!1,r.prototype.push.call(this,e,t)},o.prototype._transform=function(e,t,n){throw new Error("_transform() is not implemented")},o.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.l
 ength<i.highWaterMark)&&this._read(i.highWaterMark)}},o.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},o.prototype._destroy=function(e,t){var n=this;r.prototype._destroy.call(this,e,function(e){t(e),n.emit("close")})}},CCJL:function(e,t,n){var r=n("+GRi"),i=n("6De9").f;n("QN+J")("getOwnPropertyDescriptor",function(){return function(e,t){return i(r(e),t)}})},CDXM:function(e,t,n){var r=n("ptrv"),i=n("b4gG"),o=n("gxdV"),s=n("lfBE"),a=n("pa70"),l=function(e,t,n){var u,c,d,h,p=e&l.F,f=e&l.G,m=e&l.P,g=e&l.B,v=f?r:e&l.S?r[t]||(r[t]={}):(r[t]||{}).prototype,y=f?i:i[t]||(i[t]={}),b=y.prototype||(y.prototype={});for(u in f&&(n=t),n)d=((c=!p&&v&&void 0!==v[u])?v:n)[u],h=g&&c?a(d,r):m&&"function"==typeof d?a(Function.call,d):d,v&&s(v,u,d,e&l.U),y[u]!=d&&o(y,u,h),m&&b[u]!=d&&(b[u]=d)};r.core=i,l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l
 .R=128,e.exports=l},CDvF:function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},Cc13:function(e,t,n){var r=n("ptrv"),i=n("b4gG"),o=n("KGrn"),s=n("qrqn"),a=n("tose").f;e.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||a(t,e,{value:s.f(e)})}},CjAR:function(e,t,n){n("YD56")("replace",2,function(e,t,n){return[function(r,i){"use strict";var o=e(this),s=void 0==r?void 0:r[t];return void 0!==s?s.call(r,o,i):n.call(String(o),r,i)},n]})},CxwD:function(e,t,n){var r=n("JXkd"),i=n("xI8H").onFreeze;n("QN+J")("seal",function(e){return function(t){return e&&r(t)?e(i(t)):t}})},Cz5P:function(e,t,n){"use strict";var r=n("pa70"),i=n("CDXM"),o=n("RT4T"),s=n("ULWX"),a=n("KpI+"),l=n("rppw"),u=n("GVIH"),c=n("fC8q");i(i.S+i.F*!n("UlVq")(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,i,d,h=o(e),p="function"==typeof this?this:Array,f=arguments.length,m=f>1?arguments[1]:void 0,g=void 0!==m,v=0,y=c(h);if
 (g&&(m=r(m,f>2?arguments[2]:void 0,2)),void 0==y||p==Array&&a(y))for(n=new p(t=l(h.length));t>v;v++)u(n,v,g?m(h[v],v):h[v]);else for(d=y.call(h),n=new p;!(i=d.next()).done;v++)u(n,v,g?s(d,m,[i.value,v],!0):i.value);return n.length=v,n}})},DTeS:function(e,t,n){"use strict";n("NhIS")("sub",function(e){return function(){return e(this,"sub","","")}})},Dpa0:function(e,t,n){(function(){var t,r,i,o,s,a,l,u,c,d,h,p,f,m={}.hasOwnProperty;l=n("laki"),u=n("tHiM"),t=n("IDuI"),r=n("Yklm"),c=n("2fm9"),h=n("rrJl"),p=n("QlFQ"),d=n("mQvM"),i=n("eEfA"),o=n("HIA2"),s=n("lTi8"),a=n("Ez+/"),f=n("Mvd/"),e.exports=function(e){function n(e,t){this.stream=e,n.__super__.constructor.call(this,t)}return function(e,t){for(var n in t)m.call(t,n)&&(e[n]=t[n]);function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype}(n,f),n.prototype.document=function(e){var t,n,i,o,s,a,c,h;for(n=0,o=(a=e.children).length;n<o;n++)(t=a[n]).isLastRootNode=!1;for(e.children[e.children.length-1
 ].isLastRootNode=!0,h=[],i=0,s=(c=e.children).length;i<s;i++)switch(t=c[i],!1){case!(t instanceof l):h.push(this.declaration(t));break;case!(t instanceof u):h.push(this.docType(t));break;case!(t instanceof r):h.push(this.comment(t));break;case!(t instanceof d):h.push(this.processingInstruction(t));break;default:h.push(this.element(t))}return h},n.prototype.attribute=function(e){return this.stream.write(" "+e.name+'="'+e.value+'"')},n.prototype.cdata=function(e,t){return this.stream.write(this.space(t)+"<![CDATA["+e.text+"]]>"+this.endline(e))},n.prototype.comment=function(e,t){return this.stream.write(this.space(t)+"\x3c!-- "+e.text+" --\x3e"+this.endline(e))},n.prototype.declaration=function(e,t){return this.stream.write(this.space(t)),this.stream.write('<?xml version="'+e.version+'"'),null!=e.encoding&&this.stream.write(' encoding="'+e.encoding+'"'),null!=e.standalone&&this.stream.write(' standalone="'+e.standalone+'"'),this.stream.write(this.spacebeforeslash+"?>"),this.stream.wri
 te(this.endline(e))},n.prototype.docType=function(e,n){var l,u,c,h;if(n||(n=0),this.stream.write(this.space(n)),this.stream.write("<!DOCTYPE "+e.root().name),e.pubID&&e.sysID?this.stream.write(' PUBLIC "'+e.pubID+'" "'+e.sysID+'"'):e.sysID&&this.stream.write(' SYSTEM "'+e.sysID+'"'),e.children.length>0){for(this.stream.write(" ["),this.stream.write(this.endline(e)),u=0,c=(h=e.children).length;u<c;u++)switch(l=h[u],!1){case!(l instanceof i):this.dtdAttList(l,n+1);break;case!(l instanceof o):this.dtdElement(l,n+1);break;case!(l instanceof s):this.dtdEntity(l,n+1);break;case!(l instanceof a):this.dtdNotation(l,n+1);break;case!(l instanceof t):this.cdata(l,n+1);break;case!(l instanceof r):this.comment(l,n+1);break;case!(l instanceof d):this.processingInstruction(l,n+1);break;default:throw new Error("Unknown DTD node type: "+l.constructor.name)}this.stream.write("]")}return this.stream.write(this.spacebeforeslash+">"),this.stream.write(this.endline(e))},n.prototype.element=function(e,n){
 var i,o,s,a,l,u,f;for(a in n||(n=0),f=this.space(n),this.stream.write(f+"<"+e.name),l=e.attributes)m.call(l,a)&&this.attribute(l[a]);if(0===e.children.length||e.children.every(function(e){return""===e.value}))this.stream.write(this.allowEmpty?"></"+e.name+">":this.spacebeforeslash+"/>");else if(this.pretty&&1===e.children.length&&null!=e.children[0].value)this.stream.write(">"),this.stream.write(e.children[0].value),this.stream.write("</"+e.name+">");else{for(this.stream.write(">"+this.newline),o=0,s=(u=e.children).length;o<s;o++)switch(i=u[o],!1){case!(i instanceof t):this.cdata(i,n+1);break;case!(i instanceof r):this.comment(i,n+1);break;case!(i instanceof c):this.element(i,n+1);break;case!(i instanceof h):this.raw(i,n+1);break;case!(i instanceof p):this.text(i,n+1);break;case!(i instanceof d):this.processingInstruction(i,n+1);break;default:throw new Error("Unknown XML node type: "+i.constructor.name)}this.stream.write(f+"</"+e.name+">")}return this.stream.write(this.endline(e))},
 n.prototype.processingInstruction=function(e,t){return this.stream.write(this.space(t)+"<?"+e.target),e.value&&this.stream.write(" "+e.value),this.stream.write(this.spacebeforeslash+"?>"+this.endline(e))},n.prototype.raw=function(e,t){return this.stream.write(this.space(t)+e.value+this.endline(e))},n.prototype.text=function(e,t){return this.stream.write(this.space(t)+e.value+this.endline(e))},n.prototype.dtdAttList=function(e,t){return this.stream.write(this.space(t)+"<!ATTLIST "+e.elementName+" "+e.attributeName+" "+e.attributeType),"#DEFAULT"!==e.defaultValueType&&this.stream.write(" "+e.defaultValueType),e.defaultValue&&this.stream.write(' "'+e.defaultValue+'"'),this.stream.write(this.spacebeforeslash+">"+this.endline(e))},n.prototype.dtdElement=function(e,t){return this.stream.write(this.space(t)+"<!ELEMENT "+e.name+" "+e.value),this.stream.write(this.spacebeforeslash+">"+this.endline(e))},n.prototype.dtdEntity=function(e,t){return this.stream.write(this.space(t)+"<!ENTITY"),e.p
 e&&this.stream.write(" %"),this.stream.write(" "+e.name),e.value?this.stream.write(' "'+e.value+'"'):(e.pubID&&e.sysID?this.stream.write(' PUBLIC "'+e.pubID+'" "'+e.sysID+'"'):e.sysID&&this.stream.write(' SYSTEM "'+e.sysID+'"'),e.nData&&this.stream.write(" NDATA "+e.nData)),this.stream.write(this.spacebeforeslash+">"+this.endline(e))},n.prototype.dtdNotation=function(e,t){return this.stream.write(this.space(t)+"<!NOTATION "+e.name),e.pubID&&e.sysID?this.stream.write(' PUBLIC "'+e.pubID+'" "'+e.sysID+'"'):e.pubID?this.stream.write(' PUBLIC "'+e.pubID+'"'):e.sysID&&this.stream.write(' SYSTEM "'+e.sysID+'"'),this.stream.write(this.spacebeforeslash+">"+this.endline(e))},n.prototype.endline=function(e){return e.isLastRootNode?"":this.newline},n}()}).call(this)},"E9/g":function(e,t,n){"use strict";n.d(t,"a",function(){return l});var r=n("6Xbx"),i=n("B1iP"),o=n("qLnt"),s=n("grVA"),a=n("V7AE"),l=function(e){function t(n,r,i){switch(e.call(this),this.syncErrorValue=null,this.syncErrorThrown=
 !1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=s.a;break;case 1:if(!n){this.destination=s.a;break}if("object"==typeof n){n instanceof t?(this.syncErrorThrowable=n.syncErrorThrowable,this.destination=n,this.destination.add(this)):(this.syncErrorThrowable=!0,this.destination=new u(this,n));break}default:this.syncErrorThrowable=!0,this.destination=new u(this,n,r,i)}}return Object(r.b)(t,e),t.prototype[a.a]=function(){return this},t.create=function(e,n,r){var i=new t(e,n,r);return i.syncErrorThrowable=!1,i},t.prototype.next=function(e){this.isStopped||this._next(e)},t.prototype.error=function(e){this.isStopped||(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this))},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){this.destination.error(e),
 this.unsubscribe()},t.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},t.prototype._unsubscribeAndRecycle=function(){var e=this._parent,t=this._parents;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=e,this._parents=t,this},t}(o.a),u=function(e){function t(t,n,r,o){var a;e.call(this),this._parentSubscriber=t;var l=this;Object(i.a)(n)?a=n:n&&(a=n.next,r=n.error,o=n.complete,n!==s.a&&(l=Object.create(n),Object(i.a)(l.unsubscribe)&&this.add(l.unsubscribe.bind(l)),l.unsubscribe=this.unsubscribe.bind(this))),this._context=l,this._next=a,this._error=r,this._complete=o}return Object(r.b)(t,e),t.prototype.next=function(e){if(!this.isStopped&&this._next){var t=this._parentSubscriber;t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}},t.prototype.error=function(e){if(!this.isStopped){var t=this._parentSubscriber;if(this._error)t.syncErrorThrowa
 ble?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else{if(!t.syncErrorThrowable)throw this.unsubscribe(),e;t.syncErrorValue=e,t.syncErrorThrown=!0,this.unsubscribe()}}},t.prototype.complete=function(){var e=this;if(!this.isStopped){var t=this._parentSubscriber;if(this._complete){var n=function(){return e._complete.call(e._context)};t.syncErrorThrowable?(this.__tryOrSetError(t,n),this.unsubscribe()):(this.__tryOrUnsub(n),this.unsubscribe())}else this.unsubscribe()}},t.prototype.__tryOrUnsub=function(e,t){try{e.call(this._context,t)}catch(e){throw this.unsubscribe(),e}},t.prototype.__tryOrSetError=function(e,t,n){try{t.call(this._context,n)}catch(t){return e.syncErrorValue=t,e.syncErrorThrown=!0,!0}return!1},t.prototype._unsubscribe=function(){var e=this._parentSubscriber;this._context=null,this._parentSubscriber=null,e.unsubscribe()},t}(l)},EJO3:function(e,t,n){e.exports=n("Osec").Transform},EMG5:function(e,t,n){"use 
 strict";var r=n("vs5U"),i=Object.prototype.toString;e.exports=new r("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,r,o,s,a=e;for(s=new Array(a.length),t=0,n=a.length;t<n;t+=1){if("[object Object]"!==i.call(r=a[t]))return!1;if(1!==(o=Object.keys(r)).length)return!1;s[t]=[o[0],r[o[0]]]}return!0},construct:function(e){if(null===e)return[];var t,n,r,i,o,s=e;for(o=new Array(s.length),t=0,n=s.length;t<n;t+=1)r=s[t],i=Object.keys(r),o[t]=[i[0],r[i[0]]];return o}})},"Ecq+":function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=n("6Xbx"),i=function(e){function t(t){e.call(this),this.scheduler=t}return Object(r.b)(t,e),t.create=function(e){return new t(e)},t.dispatch=function(e){e.subscriber.complete()},t.prototype._subscribe=function(e){var n=this.scheduler;if(n)return n.schedule(t.dispatch,0,{subscriber:e});e.complete()},t}(n("AP4T").Observable)},Ed9o:function(e,t,n){var r=n("ptrv").document;e.exports=r&&r.documentElement},"Ez+/":func
 tion(e,t,n){(function(){var t,r={}.hasOwnProperty;t=n("p7eS"),e.exports=function(e){function n(e,t,r){if(n.__super__.constructor.call(this,e),null==t)throw new Error("Missing notation name");if(!r.pubID&&!r.sysID)throw new Error("Public or system identifiers are required for an external entity");this.name=this.stringify.eleName(t),null!=r.pubID&&(this.pubID=this.stringify.dtdPubID(r.pubID)),null!=r.sysID&&(this.sysID=this.stringify.dtdSysID(r.sysID))}return function(e,t){for(var n in t)r.call(t,n)&&(e[n]=t[n]);function i(){this.constructor=e}i.prototype=t.prototype,e.prototype=new i,e.__super__=t.prototype}(n,t),n.prototype.toString=function(e){return this.options.writer.set(e).dtdNotation(this)},n}()}).call(this)},F6ce:function(e,t,n){var r=n("TM12"),i=n("Wy9r");e.exports=function(e,t,n){if(r(t))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(e))}},FALa:function(e,t,n){var r=n("CDXM"),i=n("V/jj"),o=Math.exp;r(r.S+r.F*n("umMR")(function(){return-2e-17!=!Math.si
 nh(-2e-17)}),"Math",{sinh:function(e){return Math.abs(e=+e)<1?(i(e)-i(-e))/2:(o(e-1)-o(-e-1))*(Math.E/2)}})},FyA0:function(e,t,n){n("QN+J")("getOwnPropertyNames",function(){return n("y/ue").f})},GG7F:function(e,t){(function(){"use strict";var e;e=new RegExp(/(?!xmlns)^.*:/),t.normalize=function(e){return e.toLowerCase()},t.firstCharLowerCase=function(e){return e.charAt(0).toLowerCase()+e.slice(1)},t.stripPrefix=function(t){return t.replace(e,"")},t.parseNumbers=function(e){return isNaN(e)||(e=e%1==0?parseInt(e,10):parseFloat(e)),e},t.parseBooleans=function(e){return/^(?:true|false)$/i.test(e)&&(e="true"===e.toLowerCase()),e}}).call(this)},GMpo:function(e,t,n){"use strict";n("NhIS")("italics",function(e){return function(){return e(this,"i","","")}})},GQSG:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n("AP4T"),i=n("dmC+");r.Observable.prototype.map=i.a},GVIH:function(e,t,n){"use strict";var r=n("tose"),i=n("piOq");e.exports=function(e,t,n){t in e
 ?r.f(e,t,i(0,n)):e[t]=n}},GWWY:function(e,t,n){n("mzUQ"),n("b8HQ"),e.exports=n("b4gG").Symbol},GZB0:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=n("Oryw").a.of},"Gki+":function(e,t,n){var r=n("CDXM"),i=n("IU2P");r(r.P+r.F*(Date.prototype.toISOString!==i),"Date",{toISOString:i})},H3aY:function(e,t,n){var r=n("CDXM"),i=n("ptrv").isFinite;r(r.S,"Number",{isFinite:function(e){return"number"==typeof e&&i(e)}})},HCkn:function(e,t,n){var r=n("Ps07"),i=n("WGJ/"),o=n("gBtn"),s=n("+pQw"),a=n("TJLg"),l=o.keys,u=o.key,c=function(e,t){var n=l(e,t),o=a(e);if(null===o)return n;var s=c(o,t);return s.length?n.length?i(new r(n.concat(s))):s:n};o.exp({getMetadataKeys:function(e){return c(s(e),arguments.length<2?void 0:u(arguments[1]))}})},HECM:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n("AP4T"),i=n("GZB0");r.Observable.of=i.a},HIA2:function(e,t,n){(function(){var t,r={}.hasOwnProperty;t=n("p7eS"),e.exports=function(e){function n(e,t,r){if
 (n.__super__.constructor.call(this,e),null==t)throw new Error("Missing DTD element name");r||(r="(#PCDATA)"),Array.isArray(r)&&(r="("+r.join(",")+")"),this.name=this.stringify.eleName(t),this.value=this.stringify.dtdElementValue(r)}return function(e,t){for(var n in t)r.call(t,n)&&(e[n]=t[n]);function i(){this.constructor=e}i.prototype=t.prototype,e.prototype=new i,e.__super__=t.prototype}(n,t),n.prototype.toString=function(e){return this.options.writer.set(e).dtdElement(this)},n}()}).call(this)},HK9U:function(e,t,n){"use strict";n("NhIS")("sup",function(e){return function(){return e(this,"sup","","")}})},Hhmb:function(e,t,n){(function(e){!function(t){t.parser=function(e,t){return new o(e,t)},t.SAXParser=o,t.SAXStream=a,t.createStream=function(e,t){return new a(e,t)},t.MAX_BUFFER_LENGTH=65536;var r,i=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function o(e,n){if(!(this instanceof o))return ne
 w o(e,n);!function(e){for(var t=0,n=i.length;t<n;t++)e[i[t]]=""}(this),this.q=this.c="",this.bufferCheckPosition=t.MAX_BUFFER_LENGTH,this.opt=n||{},this.opt.lowercase=this.opt.lowercase||this.opt.lowercasetags,this.looseCase=this.opt.lowercase?"toLowerCase":"toUpperCase",this.tags=[],this.closed=this.closedRoot=this.sawRoot=!1,this.tag=this.error=null,this.strict=!!e,this.noscript=!(!e&&!this.opt.noscript),this.state=_.BEGIN,this.strictEntities=this.opt.strictEntities,this.ENTITIES=this.strictEntities?Object.create(t.XML_ENTITIES):Object.create(t.ENTITIES),this.attribList=[],this.opt.xmlns&&(this.ns=Object.create(h)),this.trackPosition=!1!==this.opt.position,this.trackPosition&&(this.position=this.line=this.column=0),A(this,"onready")}t.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Object.create||(Object.crea
 te=function(e){function t(){}return t.prototype=e,new t}),Object.keys||(Object.keys=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t}),o.prototype={end:function(){N(this)},write:function(e){if(this.error)throw this.error;if(this.closed)return R(this,"Cannot write after close. Assign an onready handler.");if(null===e)return N(this);"object"==typeof e&&(e=e.toString());for(var n=0,r="";r=z(e,n++),this.c=r,r;)switch(this.trackPosition&&(this.position++,"\n"===r?(this.line++,this.column=0):this.column++),this.state){case _.BEGIN:if(this.state=_.BEGIN_WHITESPACE,"\ufeff"===r)continue;$(this,r);continue;case _.BEGIN_WHITESPACE:$(this,r);continue;case _.TEXT:if(this.sawRoot&&!this.closedRoot){for(var o=n-1;r&&"<"!==r&&"&"!==r;)(r=z(e,n++))&&this.trackPosition&&(this.position++,"\n"===r?(this.line++,this.column=0):this.column++);this.textNode+=e.substring(o,n-1)}"<"!==r||this.sawRoot&&this.closedRoot&&!this.strict?(v(r)||this.sawRoot&&!this.closedRoot||O(this,"Tex
 t data outside of root node."),"&"===r?this.state=_.TEXT_ENTITY:this.textNode+=r):(this.state=_.OPEN_WAKA,this.startTagPosition=this.position);continue;case _.SCRIPT:"<"===r?this.state=_.SCRIPT_ENDING:this.script+=r;continue;case _.SCRIPT_ENDING:"/"===r?this.state=_.CLOSE_TAG:(this.script+="<"+r,this.state=_.SCRIPT);continue;case _.OPEN_WAKA:"!"===r?(this.state=_.SGML_DECL,this.sgmlDecl=""):v(r)||(w(p,r)?(this.state=_.OPEN_TAG,this.tagName=r):"/"===r?(this.state=_.CLOSE_TAG,this.tagName=""):"?"===r?(this.state=_.PROC_INST,this.procInstName=this.procInstBody=""):(O(this,"Unencoded <"),this.startTagPosition+1<this.position&&(r=new Array(this.position-this.startTagPosition).join(" ")+r),this.textNode+="<"+r,this.state=_.TEXT));continue;case _.SGML_DECL:(this.sgmlDecl+r).toUpperCase()===l?(T(this,"onopencdata"),this.state=_.CDATA,this.sgmlDecl="",this.cdata=""):this.sgmlDecl+r==="--"?(this.state=_.COMMENT,this.comment="",this.sgmlDecl=""):(this.sgmlDecl+r).toUpperCase()===u?(this.state=
 _.DOCTYPE,(this.doctype||this.sawRoot)&&O(this,"Inappropriately located doctype declaration"),this.doctype="",this.sgmlDecl=""):">"===r?(T(this,"onsgmldeclaration",this.sgmlDecl),this.sgmlDecl="",this.state=_.TEXT):y(r)?(this.state=_.SGML_DECL_QUOTED,this.sgmlDecl+=r):this.sgmlDecl+=r;continue;case _.SGML_DECL_QUOTED:r===this.q&&(this.state=_.SGML_DECL,this.q=""),this.sgmlDecl+=r;continue;case _.DOCTYPE:">"===r?(this.state=_.TEXT,T(this,"ondoctype",this.doctype),this.doctype=!0):(this.doctype+=r,"["===r?this.state=_.DOCTYPE_DTD:y(r)&&(this.state=_.DOCTYPE_QUOTED,this.q=r));continue;case _.DOCTYPE_QUOTED:this.doctype+=r,r===this.q&&(this.q="",this.state=_.DOCTYPE);continue;case _.DOCTYPE_DTD:this.doctype+=r,"]"===r?this.state=_.DOCTYPE:y(r)&&(this.state=_.DOCTYPE_DTD_QUOTED,this.q=r);continue;case _.DOCTYPE_DTD_QUOTED:this.doctype+=r,r===this.q&&(this.state=_.DOCTYPE_DTD,this.q="");continue;case _.COMMENT:"-"===r?this.state=_.COMMENT_ENDING:this.comment+=r;continue;case _.COMMENT_END
 ING:"-"===r?(this.state=_.COMMENT_ENDED,this.comment=F(this.opt,this.comment),this.comment&&T(this,"oncomment",this.comment),this.comment=""):(this.comment+="-"+r,this.state=_.COMMENT);continue;case _.COMMENT_ENDED:">"!==r?(O(this,"Malformed comment"),this.comment+="--"+r,this.state=_.COMMENT):this.state=_.TEXT;continue;case _.CDATA:"]"===r?this.state=_.CDATA_ENDING:this.cdata+=r;continue;case _.CDATA_ENDING:"]"===r?this.state=_.CDATA_ENDING_2:(this.cdata+="]"+r,this.state=_.CDATA);continue;case _.CDATA_ENDING_2:">"===r?(this.cdata&&T(this,"oncdata",this.cdata),T(this,"onclosecdata"),this.cdata="",this.state=_.TEXT):"]"===r?this.cdata+="]":(this.cdata+="]]"+r,this.state=_.CDATA);continue;case _.PROC_INST:"?"===r?this.state=_.PROC_INST_ENDING:v(r)?this.state=_.PROC_INST_BODY:this.procInstName+=r;continue;case _.PROC_INST_BODY:if(!this.procInstBody&&v(r))continue;"?"===r?this.state=_.PROC_INST_ENDING:this.procInstBody+=r;continue;case _.PROC_INST_ENDING:">"===r?(T(this,"onprocessingin
 struction",{name:this.procInstName,body:this.procInstBody}),this.procInstName=this.procInstBody="",this.state=_.TEXT):(this.procInstBody+="?"+r,this.state=_.PROC_INST_BODY);continue;case _.OPEN_TAG:w(f,r)?this.tagName+=r:(L(this),">"===r?P(this):"/"===r?this.state=_.OPEN_TAG_SLASH:(v(r)||O(this,"Invalid character in tag name"),this.state=_.ATTRIB));continue;case _.OPEN_TAG_SLASH:">"===r?(P(this,!0),B(this)):(O(this,"Forward-slash in opening tag not followed by >"),this.state=_.ATTRIB);continue;case _.ATTRIB:if(v(r))continue;">"===r?P(this):"/"===r?this.state=_.OPEN_TAG_SLASH:w(p,r)?(this.attribName=r,this.attribValue="",this.state=_.ATTRIB_NAME):O(this,"Invalid attribute name");continue;case _.ATTRIB_NAME:"="===r?this.state=_.ATTRIB_VALUE:">"===r?(O(this,"Attribute without value"),this.attribValue=this.attribName,M(this),P(this)):v(r)?this.state=_.ATTRIB_NAME_SAW_WHITE:w(f,r)?this.attribName+=r:O(this,"Invalid attribute name");continue;case _.ATTRIB_NAME_SAW_WHITE:if("="===r)this.st
 ate=_.ATTRIB_VALUE;else{if(v(r))continue;O(this,"Attribute without value"),this.tag.attributes[this.attribName]="",this.attribValue="",T(this,"onattribute",{name:this.attribName,value:""}),this.attribName="",">"===r?P(this):w(p,r)?(this.attribName=r,this.state=_.ATTRIB_NAME):(O(this,"Invalid attribute name"),this.state=_.ATTRIB)}continue;case _.ATTRIB_VALUE:if(v(r))continue;y(r)?(this.q=r,this.state=_.ATTRIB_VALUE_QUOTED):(O(this,"Unquoted attribute value"),this.state=_.ATTRIB_VALUE_UNQUOTED,this.attribValue=r);continue;case _.ATTRIB_VALUE_QUOTED:if(r!==this.q){"&"===r?this.state=_.ATTRIB_VALUE_ENTITY_Q:this.attribValue+=r;continue}M(this),this.q="",this.state=_.ATTRIB_VALUE_CLOSED;continue;case _.ATTRIB_VALUE_CLOSED:v(r)?this.state=_.ATTRIB:">"===r?P(this):"/"===r?this.state=_.OPEN_TAG_SLASH:w(p,r)?(O(this,"No whitespace between attributes"),this.attribName=r,this.attribValue="",this.state=_.ATTRIB_NAME):O(this,"Invalid attribute name");continue;case _.ATTRIB_VALUE_UNQUOTED:if(!b(r
 )){"&"===r?this.state=_.ATTRIB_VALUE_ENTITY_U:this.attribValue+=r;continue}M(this),">"===r?P(this):this.state=_.ATTRIB;continue;case _.CLOSE_TAG:if(this.tagName)">"===r?B(this):w(f,r)?this.tagName+=r:this.script?(this.script+="</"+this.tagName,this.tagName="",this.state=_.SCRIPT):(v(r)||O(this,"Invalid tagname in closing tag"),this.state=_.CLOSE_TAG_SAW_WHITE);else{if(v(r))continue;x(p,r)?this.script?(this.script+="</"+r,this.state=_.SCRIPT):O(this,"Invalid tagname in closing tag."):this.tagName=r}continue;case _.CLOSE_TAG_SAW_WHITE:if(v(r))continue;">"===r?B(this):O(this,"Invalid characters in closing tag");continue;case _.TEXT_ENTITY:case _.ATTRIB_VALUE_ENTITY_Q:case _.ATTRIB_VALUE_ENTITY_U:var s,a;switch(this.state){case _.TEXT_ENTITY:s=_.TEXT,a="textNode";break;case _.ATTRIB_VALUE_ENTITY_Q:s=_.ATTRIB_VALUE_QUOTED,a="attribValue";break;case _.ATTRIB_VALUE_ENTITY_U:s=_.ATTRIB_VALUE_UNQUOTED,a="attribValue"}";"===r?(this[a]+=j(this),this.entity="",this.state=s):w(this.entity.length
 ?g:m,r)?this.entity+=r:(O(this,"Invalid character in entity name"),this[a]+="&"+this.entity+r,this.entity="",this.state=s);continue;default:throw new Error(this,"Unknown state: "+this.state)}return this.position>=this.bufferCheckPosition&&function(e){for(var n=Math.max(t.MAX_BUFFER_LENGTH,10),r=0,o=0,s=i.length;o<s;o++){var a=e[i[o]].length;if(a>n)switch(i[o]){case"textNode":D(e);break;case"cdata":T(e,"oncdata",e.cdata),e.cdata="";break;case"script":T(e,"onscript",e.script),e.script="";break;default:R(e,"Max buffer length exceeded: "+i[o])}r=Math.max(r,a)}e.bufferCheckPosition=t.MAX_BUFFER_LENGTH-r+e.position}(this),this},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){D(this),""!==this.cdata&&(T(this,"oncdata",this.cdata),this.cdata=""),""!==this.script&&(T(this,"onscript",this.script),this.script="")}};try{r=n("+Bur").Stream}catch(e){r=function(){}}var s=t.EVENTS.filter(function(e){return"error"!==e&&"end"!==e});function a(
 e,t){if(!(this instanceof a))return new a(e,t);r.apply(this),this._parser=new o(e,t),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit("end")},this._parser.onerror=function(e){n.emit("error",e),n._parser.error=null},this._decoder=null,s.forEach(function(e){Object.defineProperty(n,"on"+e,{get:function(){return n._parser["on"+e]},set:function(t){if(!t)return n.removeAllListeners(e),n._parser["on"+e]=t,t;n.on(e,t)},enumerable:!0,configurable:!1})})}(a.prototype=Object.create(r.prototype,{constructor:{value:a}})).write=function(t){if("function"==typeof e&&"function"==typeof e.isBuffer&&e.isBuffer(t)){if(!this._decoder){var r=n("/cYh").StringDecoder;this._decoder=new r("utf8")}t=this._decoder.write(t)}return this._parser.write(t.toString()),this.emit("data",t),!0},a.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},a.prototype.on=function(e,t){var n=this;return n._parser["on"+e]||-1===s.indexOf(e)||(n._parser["on"+e]=functi
 on(){var t=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),n.emit.apply(n,t)}),r.prototype.on.call(n,e,t)};var l="[CDATA[",u="DOCTYPE",c="http://www.w3.org/XML/1998/namespace",d="http://www.w3.org/2000/xmlns/",h={xml:c,xmlns:d},p=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,f=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,m=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,g=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function v(e){return" "===e||"\
 n"===e||"\r"===e||"\t"===e}function y(e){return'"'===e||"'"===e}function b(e){return">"===e||v(e)}function w(e,t){return e.test(t)}function x(e,t){return!w(e,t)}var k,E,C,_=0;for(var S in t.STATE={BEGIN:_++,BEGIN_WHITESPACE:_++,TEXT:_++,TEXT_ENTITY:_++,OPEN_WAKA:_++,SGML_DECL:_++,SGML_DECL_QUOTED:_++,DOCTYPE:_++,DOCTYPE_QUOTED:_++,DOCTYPE_DTD:_++,DOCTYPE_DTD_QUOTED:_++,COMMENT_STARTING:_++,COMMENT:_++,COMMENT_ENDING:_++,COMMENT_ENDED:_++,CDATA:_++,CDATA_ENDING:_++,CDATA_ENDING_2:_++,PROC_INST:_++,PROC_INST_BODY:_++,PROC_INST_ENDING:_++,OPEN_TAG:_++,OPEN_TAG_SLASH:_++,ATTRIB:_++,ATTRIB_NAME:_++,ATTRIB_NAME_SAW_WHITE:_++,ATTRIB_VALUE:_++,ATTRIB_VALUE_QUOTED:_++,ATTRIB_VALUE_CLOSED:_++,ATTRIB_VALUE_UNQUOTED:_++,ATTRIB_VALUE_ENTITY_Q:_++,ATTRIB_VALUE_ENTITY_U:_++,CLOSE_TAG:_++,CLOSE_TAG_SAW_WHITE:_++,SCRIPT:_++,SCRIPT_ENDING:_++},t.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},t.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:19
 7,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha
 :913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin
 :8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(t.ENTITIES).forEach(function(e){var n=t.ENTITIES[e],r="number"==typeof n?String.fromCharCode(n):n;t.ENTITIES[e]=r}),t.STATE)t.STATE[t.STATE[S]]=S;function A(e,t,n){e[t]&&e[t](n)}function T(e,t,n){e.textNode&&D(e),A(e,t,n)}function D(e){e.textNode=F(e.opt,e.textNode),e.textNode&&A(e,"ontext",e.textNode),e.textNode=""}function F(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g," ")),t}function R(e,t){return D(e),e.trackPosition&&(t+="\nLine: "+e.line+"\nColumn: "+e.column+"\nChar: "+e.c),t=new Error(t),e.error=t,A(e,"onerr
 or",t),e}function N(e){return e.sawRoot&&!e.closedRoot&&O(e,"Unclosed root tag"),e.state!==_.BEGIN&&e.state!==_.BEGIN_WHITESPACE&&e.state!==_.TEXT&&R(e,"Unexpected end"),D(e),e.c="",e.closed=!0,A(e,"onend"),o.call(e,e.strict,e.opt),e}function O(e,t){if("object"!=typeof e||!(e instanceof o))throw new Error("bad call to strictFail");e.strict&&R(e,t)}function L(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,n=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(n.ns=t.ns),e.attribList.length=0,T(e,"onopentagstart",n)}function I(e,t){var n=e.indexOf(":")<0?["",e]:e.split(":"),r=n[0],i=n[1];return t&&"xmlns"===e&&(r="xmlns",i=""),{prefix:r,local:i}}function M(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),-1!==e.attribList.indexOf(e.attribName)||e.tag.attributes.hasOwnProperty(e.attribName))e.attribName=e.attribValue="";else{if(e.opt.xmlns){var t=I(e.attribName,!0),n=t.local;if("xmlns"===t.prefix)if("xml"===n&&e.attribValue!==c)O(e,"xml: pref
 ix must be bound to "+c+"\nActual: "+e.attribValue);else if("xmlns"===n&&e.attribValue!==d)O(e,"xmlns: prefix must be bound to "+d+"\nActual: "+e.attribValue);else{var r=e.tag,i=e.tags[e.tags.length-1]||e;r.ns===i.ns&&(r.ns=Object.create(i.ns)),r.ns[n]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,T(e,"onattribute",{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=""}}function P(e,t){if(e.opt.xmlns){var n=e.tag,r=I(e.tagName);n.prefix=r.prefix,n.local=r.local,n.uri=n.ns[r.prefix]||"",n.prefix&&!n.uri&&(O(e,"Unbound namespace prefix: "+JSON.stringify(e.tagName)),n.uri=r.prefix),n.ns&&(e.tags[e.tags.length-1]||e).ns!==n.ns&&Object.keys(n.ns).forEach(function(t){T(e,"onopennamespace",{prefix:t,uri:n.ns[t]})});for(var i=0,o=e.attribList.length;i<o;i++){var s=e.attribList[i],a=s[0],l=s[1],u=I(a,!0),c=u.prefix,d=""===c?"":n.ns[c]||"",h={name:a,value:l,prefix:c,local:u.local,uri:d};c&&"xmlns"!==c&&!d&&(O(e,
 "Unbound namespace prefix: "+JSON.stringify(c)),h.uri=c),e.tag.attributes[a]=h,T(e,"onattribute",h)}e.attribList.length=0}e.tag.isSelfClosing=!!t,e.sawRoot=!0,e.tags.push(e.tag),T(e,"onopentag",e.tag),t||(e.state=e.noscript||"script"!==e.tagName.toLowerCase()?_.TEXT:_.SCRIPT,e.tag=null,e.tagName=""),e.attribName=e.attribValue="",e.attribList.length=0}function B(e){if(!e.tagName)return O(e,"Weird empty close tag."),e.textNode+="</>",void(e.state=_.TEXT);if(e.script){if("script"!==e.tagName)return e.script+="</"+e.tagName+">",e.tagName="",void(e.state=_.SCRIPT);T(e,"onscript",e.script),e.script=""}var t=e.tags.length,n=e.tagName;e.strict||(n=n[e.looseCase]());for(var r=n;t--&&e.tags[t].name!==r;)O(e,"Unexpected close tag");if(t<0)return O(e,"Unmatched closing tag: "+e.tagName),e.textNode+="</"+e.tagName+">",void(e.state=_.TEXT);e.tagName=n;for(var i=e.tags.length;i-- >t;){var o=e.tag=e.tags.pop();e.tagName=e.tag.name,T(e,"onclosetag",e.tagName);var s={};for(var a in o.ns)s[a]=o.ns[a];
 e.opt.xmlns&&o.ns!==(e.tags[e.tags.length-1]||e).ns&&Object.keys(o.ns).forEach(function(t){T(e,"onclosenamespace",{prefix:t,uri:o.ns[t]})})}0===t&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName="",e.attribList.length=0,e.state=_.TEXT}function j(e){var t,n=e.entity,r=n.toLowerCase(),i="";return e.ENTITIES[n]?e.ENTITIES[n]:e.ENTITIES[r]?e.ENTITIES[r]:("#"===(n=r).charAt(0)&&("x"===n.charAt(1)?(n=n.slice(2),i=(t=parseInt(n,16)).toString(16)):(n=n.slice(1),i=(t=parseInt(n,10)).toString(10))),n=n.replace(/^0+/,""),isNaN(t)||i.toLowerCase()!==n?(O(e,"Invalid character entity"),"&"+e.entity+";"):String.fromCodePoint(t))}function $(e,t){"<"===t?(e.state=_.OPEN_WAKA,e.startTagPosition=e.position):v(t)||(O(e,"Non-whitespace before first tag."),e.textNode=t,e.state=_.TEXT)}function z(e,t){var n="";return t<e.length&&(n=e.charAt(t)),n}_=t.STATE,String.fromCodePoint||(k=String.fromCharCode,E=Math.floor,C=function(){var e=[],t=-1,n=arguments.length;if(!n)return"";for(var r="";++t<n;){var 
 i=Number(arguments[t]);if(!isFinite(i)||i<0||i>1114111||E(i)!==i)throw RangeError("Invalid code point: "+i);i<=65535?e.push(i):e.push(55296+((i-=65536)>>10),i%1024+56320),(t+1===n||e.length>16384)&&(r+=k.apply(null,e),e.length=0)}return r},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:C,configurable:!0,writable:!0}):String.fromCodePoint=C)}(t)}).call(t,n("v0OU").Buffer)},HzDK:function(e,t,n){"use strict";var r=n("CDXM"),i=n("OGmI");r(r.P+r.F*!n("bhtb")([].reduce,!0),"Array",{reduce:function(e){return i(this,e,arguments.length,arguments[1],!1)}})},"I+CO":function(e,t,n){var r=n("3r0D")("toPrimitive"),i=Date.prototype;r in i||n("gxdV")(i,r,n("76yl"))},"I/Xp":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n("AP4T"),i=n("URbD");r.Observable.prototype.share=i.a},IDuI:function(e,t,n){(function(){var t,r={}.hasOwnProperty;t=n("p7eS"),e.exports=function(e){function n(e,t){if(n.__super__.constructor.call(this,e),null==t)throw n
 ew Error("Missing CDATA text");this.text=this.stringify.cdata(t)}return function(e,t){for(var n in t)r.call(t,n)&&(e[n]=t[n]);function i(){this.constructor=e}i.prototype=t.prototype,e.prototype=new i,e.__super__=t.prototype}(n,t),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(e){return this.options.writer.set(e).cdata(this)},n}()}).call(this)},IGm2:function(e,t,n){"use strict";var r=n("CDXM"),i=n("F6ce");r(r.P+r.F*n("TmDx")("includes"),"String",{includes:function(e){return!!~i(this,e,"includes").indexOf(e,arguments.length>1?arguments[1]:void 0)}})},IJ3P:function(e,t,n){var r=n("gBtn"),i=n("+pQw"),o=r.has,s=r.key;r.exp({hasOwnMetadata:function(e,t){return o(e,i(t),arguments.length<3?void 0:s(arguments[2]))}})},INGy:function(e,t,n){"use strict";(function(t,r){var i=n("1Rb4");e.exports=b;var o,s=n("CDvF");b.ReadableState=y,n("rOzH");var a=function(e,t){return e.listeners(t).length},l=n("wHgO"),u=n("zOKz").Buffer,c=t.Uint8Array||function(){},d=n("
 VIKU");d.inherits=n("lDCR");var h=n(1),p=void 0;p=h&&h.debuglog?h.debuglog("stream"):function(){};var f,m=n("yY5i"),g=n("iAGO");d.inherits(b,l);var v=["error","close","destroy","pause","resume"];function y(e,t){o=o||n("dJzE"),this.objectMode=!!(e=e||{}).objectMode,t instanceof o&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark;this.highWaterMark=r||0===r?r:this.objectMode?16:16384,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(f||(f=n("/cYh").StringDecoder),this.decoder=new f(e.encoding),this.encoding=e.encoding)}function b(e){if(o=o||n("dJzE"),!(this instanceof
  b))return new b(e);this._readableState=new y(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read

<TRUNCATED>

[3/3] knox git commit: KNOX-1202 - Descriptor and Provider Configuration Wizard Input Validation

Posted by pz...@apache.org.
KNOX-1202 - Descriptor and Provider Configuration Wizard Input Validation


Project: http://git-wip-us.apache.org/repos/asf/knox/repo
Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/97d865e5
Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/97d865e5
Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/97d865e5

Branch: refs/heads/master
Commit: 97d865e51ee51b9b0d300dcb8dd90b29fa2a3e4b
Parents: 4c1cb80
Author: Phil Zampino <pz...@apache.org>
Authored: Mon Mar 12 11:16:49 2018 -0400
Committer: Phil Zampino <pz...@apache.org>
Committed: Tue Mar 13 21:33:27 2018 -0400

----------------------------------------------------------------------
 gateway-admin-ui/package.json                   |  11 +-
 gateway-admin-ui/src/app/app.module.ts          |   2 +
 .../new-desc-wizard.component.html              |   2 +-
 .../new-desc-wizard.component.ts                |  13 ++
 .../acls-authzn-provider-config.ts              |  12 ++
 .../authentication-wizard.ts                    |   3 +-
 .../authorization-wizard.ts                     |   1 +
 .../cas-provider-config.ts                      |  36 +++++
 .../provider-config-wizard/category-wizard.ts   |   4 +
 .../default-idassertion-provider-config.ts      |  29 +++-
 .../display-binding-provider-config.ts          |  24 ++++
 .../identity-assertion-wizard.ts                |   3 +-
 .../kerberos-provider-config.ts                 |  85 ++++++++++--
 .../ldap-provider-config.ts                     |  67 +++++++--
 .../oauth-provider-config.ts                    |   5 +
 .../oidc-provider-config.ts                     |  48 +++++++
 .../pam-provider-config.ts                      |  13 ++
 .../provider-config-wizard.component.html       |  27 +++-
 .../provider-config-wizard.component.ts         |  92 ++++++++++---
 .../regex-idassertion-provider-config.ts        |  24 +++-
 .../saml-provider-config.ts                     |  22 +++
 .../sso-cookie-provider-config.ts               |   4 +
 .../switchcase-idassertion-provider-config.ts   |  22 ++-
 .../src/app/utils/validation-utils.ts           | 135 +++++++++++++++++++
 gateway-admin-ui/src/index.html                 |   6 +-
 .../applications/admin-ui/app/index.html        |   2 +-
 .../app/inline.0c599dd7846e2462c94c.bundle.js   |   1 +
 .../app/inline.823868e44971b225d6b4.bundle.js   |   1 -
 .../app/main.31f4c13b664f32c9ce4d.bundle.js     |   1 -
 .../app/main.bfb4b6a3d7d72f4c8841.bundle.js     |   1 +
 30 files changed, 628 insertions(+), 68 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/package.json
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/package.json b/gateway-admin-ui/package.json
index 8fbfeb5..489a40e 100644
--- a/gateway-admin-ui/package.json
+++ b/gateway-admin-ui/package.json
@@ -21,14 +21,15 @@
     "@angular/platform-browser-dynamic": "^5.0.0",
     "@angular/router": "^5.0.0",
     "core-js": "^2.4.1",
-    "rxjs": "^5.5.2",
-    "zone.js": "^0.8.14",
+    "jquery": ">=3.0.0",
+    "js-yaml": "^3.10.0",
     "ng2-ace-editor": "0.3.3",
     "ng2-bs3-modal": "^0.13.0",
+    "ng2-validation": "^4.2.0",
+    "popper.js": "^1.12.9",
+    "rxjs": "^5.5.2",
     "ts-helpers": "^1.1.1",
-    "jquery": ">=3.0.0",
-    "js-yaml": "^3.10.0",
-    "popper.js": "^1.12.9"
+    "zone.js": "^0.8.14"
   },
   "devDependencies": {
     "@angular/cli": "^1.6.5",

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/app.module.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/app.module.ts b/gateway-admin-ui/src/app/app.module.ts
index ede59e7..19e4347 100644
--- a/gateway-admin-ui/src/app/app.module.ts
+++ b/gateway-admin-ui/src/app/app.module.ts
@@ -18,6 +18,7 @@ import { NgModule }      from '@angular/core';
 import { BrowserModule } from '@angular/platform-browser';
 import { HttpClientModule } from "@angular/common/http";
 import { FormsModule } from '@angular/forms';
+import { CustomFormsModule } from 'ng2-validation';
 
 import { AppComponent }  from './app.component';
 import { TopologyService } from './topology.service';
@@ -46,6 +47,7 @@ import { ProviderConfigWizardComponent } from './provider-config-wizard/provider
   imports: [ BrowserModule,
              HttpClientModule,
              FormsModule,
+             CustomFormsModule,
              BsModalModule,
              AceEditorModule
     ],

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/new-desc-wizard/new-desc-wizard.component.html
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/new-desc-wizard/new-desc-wizard.component.html b/gateway-admin-ui/src/app/new-desc-wizard/new-desc-wizard.component.html
index 4e6a407..4ab8bec 100644
--- a/gateway-admin-ui/src/app/new-desc-wizard/new-desc-wizard.component.html
+++ b/gateway-admin-ui/src/app/new-desc-wizard/new-desc-wizard.component.html
@@ -99,7 +99,7 @@
             (click)="newDescriptorModal.dismiss()">Cancel</button>
     <button type="button"
             class="btn btn-primary btn-sm"
-            [disabled]="!descriptor || !descriptorName"
+            [disabled]="!descriptor || !descriptorName || !validate()"
             (click)="newDescriptorModal.close()">Ok</button>
   </bs-modal-footer>
 </bs-modal>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/new-desc-wizard/new-desc-wizard.component.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/new-desc-wizard/new-desc-wizard.component.ts b/gateway-admin-ui/src/app/new-desc-wizard/new-desc-wizard.component.ts
index b697351..0759cae 100644
--- a/gateway-admin-ui/src/app/new-desc-wizard/new-desc-wizard.component.ts
+++ b/gateway-admin-ui/src/app/new-desc-wizard/new-desc-wizard.component.ts
@@ -6,6 +6,7 @@ import {Descriptor} from "../resource-detail/descriptor";
 import {ResourceService} from "../resource/resource.service";
 import {Resource} from "../resource/resource";
 import {ResourceTypesService} from "../resourcetypes/resourcetypes.service";
+import {ValidationUtils} from "../utils/validation-utils";
 
 @Component({
   selector: 'app-new-desc-wizard',
@@ -163,4 +164,16 @@ export class NewDescWizardComponent implements OnInit {
       this[propertyName] = !this[propertyName];
   }
 
+  validate(): boolean {
+    let isValid: boolean = true;
+
+    // Validate the discovery address
+    if (this.descriptor.discoveryAddress) {
+      isValid = isValid && ValidationUtils.isValidURL(this.descriptor.discoveryAddress);
+      isValid = isValid && ValidationUtils.isValidString(this.descriptor.discoveryCluster);
+    }
+
+    return isValid;
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/acls-authzn-provider-config.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/acls-authzn-provider-config.ts b/gateway-admin-ui/src/app/provider-config-wizard/acls-authzn-provider-config.ts
index 76dcdff..a7a5291 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/acls-authzn-provider-config.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/acls-authzn-provider-config.ts
@@ -19,6 +19,8 @@ import {DisplayBindingProviderConfig} from "./display-binding-provider-config";
 
 export class ACLsAuthznProviderConfig extends DisplayBindingProviderConfig {
 
+  private static MODE_VALUES: string[] = [ 'OR', 'AND' ];
+
   private static DEFAULT_MODE: string = 'Default Mode';
   private static DEFAULT_ACL: string  = 'Default ACL';
 
@@ -47,4 +49,14 @@ export class ACLsAuthznProviderConfig extends DisplayBindingProviderConfig {
     return ACLsAuthznProviderConfig.displayPropertyNameBindings.get(name);
   }
 
+  isValid(): boolean {
+    let isValid: boolean = true;
+
+    let defaultMode = this.getParam(this.getDisplayNamePropertyBinding(ACLsAuthznProviderConfig.DEFAULT_MODE));
+    if (defaultMode) {
+      isValid = (ACLsAuthznProviderConfig.MODE_VALUES.indexOf(defaultMode.toUpperCase()) > -1);
+    }
+
+    return isValid;
+  }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/authentication-wizard.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/authentication-wizard.ts b/gateway-admin-ui/src/app/provider-config-wizard/authentication-wizard.ts
index 576fc56..dc9682b 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/authentication-wizard.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/authentication-wizard.ts
@@ -38,7 +38,7 @@ export class AuthenticationWizard extends CategoryWizard {
   private static AUTH_HADOOP: string     = 'Kerberos';
   private static AUTH_SSO: string        = 'SSO';
   private static AUTH_SSO_COOKIE: string = 'SSO Cookie';
-  private static AUTH_JWT: string        = 'JWT';
+  private static AUTH_JWT: string        = 'JSON Web Tokens';
   private static AUTH_CAS: string        = 'CAS';
   private static AUTH_OAUTH: string      = 'OAuth';
   private static AUTH_SAML: string       = 'SAML';
@@ -82,6 +82,7 @@ export class AuthenticationWizard extends CategoryWizard {
     if (configType) {
       this.providerConfig = Object.create(configType.prototype) as AuthenticationProviderConfig;
       this.providerConfig.constructor.apply(this.providerConfig);
+      (this.providerConfig as AuthenticationProviderConfig).setType(this.selectedType);
     } else {
       console.debug('AuthenticationWizard --> No provider configuration type mapped for ' + this.selectedType);
       this.providerConfig = null;

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/authorization-wizard.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/authorization-wizard.ts b/gateway-admin-ui/src/app/provider-config-wizard/authorization-wizard.ts
index 814282c..2361cbe 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/authorization-wizard.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/authorization-wizard.ts
@@ -47,6 +47,7 @@ export class AuthorizationWizard extends CategoryWizard {
     if (configType) {
       this.providerConfig = Object.create(configType.prototype) as DisplayBindingProviderConfig;
       this.providerConfig.constructor.apply(this.providerConfig);
+      (this.providerConfig as DisplayBindingProviderConfig).setType(this.selectedType);
     } else {
       console.debug('AuthorizationWizard --> No provider configuration type mapped for ' + this.selectedType);
       this.providerConfig = null;

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/cas-provider-config.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/cas-provider-config.ts b/gateway-admin-ui/src/app/provider-config-wizard/cas-provider-config.ts
index 6debee1..00a2437 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/cas-provider-config.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/cas-provider-config.ts
@@ -16,6 +16,7 @@
  */
 
 import {AuthenticationProviderConfig} from "./authentication-provider-config";
+import {ValidationUtils} from "../utils/validation-utils";
 
 export class CASProviderConfig extends AuthenticationProviderConfig {
 
@@ -39,6 +40,8 @@ export class CASProviderConfig extends AuthenticationProviderConfig {
                                         ]);
 
 
+  private static SUPPORTED_PROTOCOLS: string[] = [ 'CAS10', 'CAS20', 'CAS20_PROXY', 'CAS30', 'CAS30_PROXY', 'SAML' ];
+
   constructor() {
     super('pac4j', AuthenticationProviderConfig.FEDERATION_ROLE);
   }
@@ -51,4 +54,37 @@ export class CASProviderConfig extends AuthenticationProviderConfig {
     return CASProviderConfig.displayPropertyNameBindings.get(name);
   }
 
+  isValid(): boolean {
+    let isValid: boolean = true;
+
+    let cbURL = this.getParam(this.getDisplayNamePropertyBinding(CASProviderConfig.CALLBACK_URL));
+    if (cbURL) {
+      let isCBURLValid = ValidationUtils.isValidURL(cbURL);
+      if (!isCBURLValid) {
+        console.debug(CASProviderConfig.CALLBACK_URL + ' value is not a valid URL.');
+      }
+      isValid = isValid && isCBURLValid;
+    }
+
+    let loginURL = this.getParam(this.getDisplayNamePropertyBinding(CASProviderConfig.LOGIN_URL));
+    if (loginURL) {
+      let isLoginURLValid = ValidationUtils.isValidURL(loginURL);
+      if (!isLoginURLValid) {
+        console.debug(CASProviderConfig.LOGIN_URL + ' value is not a valid URL.');
+      }
+      isValid = isValid && isLoginURLValid;
+    }
+
+    let protocol = this.getParam(this.getDisplayNamePropertyBinding(CASProviderConfig.PROTOCOL));
+    if (protocol) {
+      let isProtocolValid = (CASProviderConfig.SUPPORTED_PROTOCOLS.indexOf(protocol) > -1);
+      if (!isProtocolValid) {
+        console.debug(CASProviderConfig.PROTOCOL + ' value is not a supported protocol');
+      }
+      isValid = isValid && isProtocolValid;
+    }
+
+    return isValid;
+  }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/category-wizard.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/category-wizard.ts b/gateway-admin-ui/src/app/provider-config-wizard/category-wizard.ts
index d6cc36b..0929c5a 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/category-wizard.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/category-wizard.ts
@@ -23,6 +23,10 @@ export abstract class CategoryWizard {
 
   providerConfig: ProviderConfig;
 
+  reset() {
+    this.providerConfig = null;
+    this.selectedType   = null;
+  }
 
   getSelectedType(): string {
     return this.selectedType;

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/default-idassertion-provider-config.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/default-idassertion-provider-config.ts b/gateway-admin-ui/src/app/provider-config-wizard/default-idassertion-provider-config.ts
index 484e0d1..aa119a1 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/default-idassertion-provider-config.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/default-idassertion-provider-config.ts
@@ -19,8 +19,8 @@ import {IdentityAssertionProviderConfig} from "./identity-assertion-provider-con
 
 export class DefaultIdAssertionProviderConfig extends IdentityAssertionProviderConfig {
 
-  static PRINCIPAL_MAPPING       = 'Principal Mapping';
-  static GROUP_PRINCIPAL_MAPPING = 'Group Principal Mapping';
+  private static PRINCIPAL_MAPPING       = 'Principal Mapping';
+  private static GROUP_PRINCIPAL_MAPPING = 'Group Principal Mapping';
 
   private static displayPropertyNames = [ DefaultIdAssertionProviderConfig.PRINCIPAL_MAPPING,
                                           DefaultIdAssertionProviderConfig.GROUP_PRINCIPAL_MAPPING
@@ -32,6 +32,7 @@ export class DefaultIdAssertionProviderConfig extends IdentityAssertionProviderC
       [DefaultIdAssertionProviderConfig.GROUP_PRINCIPAL_MAPPING, 'group.principal.mapping']
     ]);
 
+  private static MAPPING_REGEXP = new RegExp('^(?:(?:[\\w\\*\\,]*=(?:[\\w][^\\*\\=])+[;]?)*)$');
 
   constructor() {
     console.debug('new DefaultIdAssertionProviderConfig()');
@@ -46,4 +47,28 @@ export class DefaultIdAssertionProviderConfig extends IdentityAssertionProviderC
     return DefaultIdAssertionProviderConfig.displayPropertyNameBindings.get(name);
   }
 
+  isValid(): boolean {
+    let isValid: boolean = true;
+
+    let pMap = this.getParam(this.getDisplayNamePropertyBinding(DefaultIdAssertionProviderConfig.PRINCIPAL_MAPPING));
+    if (pMap) {
+      let isPMapValid = DefaultIdAssertionProviderConfig.MAPPING_REGEXP.test(pMap);
+      if (!isPMapValid) {
+        console.debug(DefaultIdAssertionProviderConfig.PRINCIPAL_MAPPING + ' value is not a valid mapping');
+      }
+      isValid = isValid && isPMapValid;
+    }
+
+    let gpMap = this.getParam(this.getDisplayNamePropertyBinding(DefaultIdAssertionProviderConfig.GROUP_PRINCIPAL_MAPPING));
+    if (gpMap) {
+      let isGMapValid = DefaultIdAssertionProviderConfig.MAPPING_REGEXP.test(gpMap);
+      if (!isGMapValid) {
+        console.debug(DefaultIdAssertionProviderConfig.GROUP_PRINCIPAL_MAPPING + ' value is not a valid mapping');
+      }
+      isValid = isValid && isGMapValid;
+    }
+
+    return isValid;
+  }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/display-binding-provider-config.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/display-binding-provider-config.ts b/gateway-admin-ui/src/app/provider-config-wizard/display-binding-provider-config.ts
index c39025f..9ded8f6 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/display-binding-provider-config.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/display-binding-provider-config.ts
@@ -19,6 +19,16 @@ import {ProviderConfig} from "../resource-detail/provider-config";
 
 export abstract class DisplayBindingProviderConfig extends ProviderConfig {
 
+  protected providerType: string;
+
+  setType(type: string) {
+    this.providerType = type;
+  }
+
+  getType(): string {
+    return this.providerType;
+  }
+
   getName(): string {
     return this.name;
   }
@@ -35,6 +45,12 @@ export abstract class DisplayBindingProviderConfig extends ProviderConfig {
     this.params[name] = value;
   }
 
+  removeParam(name: string): string {
+    let value = this.getParam(name);
+    delete this.params[name];
+    return value;
+  }
+
   getParamNames(): string[] {
     return Object.getOwnPropertyNames(this.params);
   }
@@ -43,6 +59,14 @@ export abstract class DisplayBindingProviderConfig extends ProviderConfig {
     return this.params[name];
   }
 
+  isPasswordParam(name: string): boolean {
+    return false;
+  }
+
+  isValid(): boolean {
+    return true;
+  }
+
   abstract getDisplayPropertyNames(): string[];
 
   abstract getDisplayNamePropertyBinding(name: string): string;

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/identity-assertion-wizard.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/identity-assertion-wizard.ts b/gateway-admin-ui/src/app/provider-config-wizard/identity-assertion-wizard.ts
index 180ed64..95970a0 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/identity-assertion-wizard.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/identity-assertion-wizard.ts
@@ -29,7 +29,7 @@ export class IdentityAssertionWizard extends CategoryWizard {
   private stepCount: number = 4;
 
   private static DEFAULT: string      = 'Default';
-  private static CONCAT: string       = 'Concatentation';
+  private static CONCAT: string       = 'Concatenation';
   private static SWITCHCASE: string   = 'SwitchCase';
   private static REGEXP: string       = 'Regular Expression';
   private static GROUP_LOOKUP: string = 'Group Lookup';
@@ -62,6 +62,7 @@ export class IdentityAssertionWizard extends CategoryWizard {
     if (configType) {
       this.providerConfig = Object.create(configType.prototype) as IdentityAssertionProviderConfig;
       this.providerConfig.constructor.apply(this.providerConfig);
+      (this.providerConfig as IdentityAssertionProviderConfig).setType(this.selectedType);
     } else {
       console.debug('IdentityAssertionWizard --> No provider configuration type mapped for ' + this.selectedType);
       this.providerConfig = null;

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/kerberos-provider-config.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/kerberos-provider-config.ts b/gateway-admin-ui/src/app/provider-config-wizard/kerberos-provider-config.ts
index 30dc49f..e615c44 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/kerberos-provider-config.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/kerberos-provider-config.ts
@@ -16,6 +16,7 @@
  */
 
 import {AuthenticationProviderConfig} from "./authentication-provider-config";
+import {ValidationUtils} from "../utils/validation-utils";
 
 export class KerberosProviderConfig extends AuthenticationProviderConfig {
 
@@ -30,10 +31,8 @@ export class KerberosProviderConfig extends AuthenticationProviderConfig {
   static KRB_KEYTAB       = 'KeyTab';
   static KRB_RULES        = 'Name Rules';
 
-
   private static displayPropertyNames = [ KerberosProviderConfig.CONFIG_PREFIX,
                                           KerberosProviderConfig.SIG_SECRET,
-                                          KerberosProviderConfig.TYPE,
                                           KerberosProviderConfig.ANON_ALLOWED,
                                           KerberosProviderConfig.TOKEN_VALIDITY,
                                           KerberosProviderConfig.COOKIE_DOMAIN,
@@ -46,20 +45,22 @@ export class KerberosProviderConfig extends AuthenticationProviderConfig {
   private static displayPropertyNameBindings: Map<string, string> =
                                         new Map([
                                           [KerberosProviderConfig.CONFIG_PREFIX,  'config.prefix'],
-                                          [KerberosProviderConfig.SIG_SECRET,     '.signature.secret'],
-                                          [KerberosProviderConfig.TYPE,           '.type'],
-                                          [KerberosProviderConfig.ANON_ALLOWED,   '.simple.anonymous.allowed'],
-                                          [KerberosProviderConfig.TOKEN_VALIDITY, '.token.validity'],
-                                          [KerberosProviderConfig.COOKIE_DOMAIN,  '.cookie.domain'],
-                                          [KerberosProviderConfig.COOKIE_PATH,    '.cookie.path'],
-                                          [KerberosProviderConfig.KRB_PRINCIPAL,  '.kerberos.principal'],
-                                          [KerberosProviderConfig.KRB_KEYTAB,     '.kerberos.keytab'],
-                                          [KerberosProviderConfig.KRB_RULES,      '.kerberos.name.rules']
+                                          [KerberosProviderConfig.SIG_SECRET,     'signature.secret'],
+                                          [KerberosProviderConfig.TYPE,           'type'],
+                                          [KerberosProviderConfig.ANON_ALLOWED,   'simple.anonymous.allowed'],
+                                          [KerberosProviderConfig.TOKEN_VALIDITY, 'token.validity'],
+                                          [KerberosProviderConfig.COOKIE_DOMAIN,  'cookie.domain'],
+                                          [KerberosProviderConfig.COOKIE_PATH,    'cookie.path'],
+                                          [KerberosProviderConfig.KRB_PRINCIPAL,  'kerberos.principal'],
+                                          [KerberosProviderConfig.KRB_KEYTAB,     'kerberos.keytab'],
+                                          [KerberosProviderConfig.KRB_RULES,      'kerberos.name.rules']
                                         ]);
 
 
   constructor() {
     super('HadoopAuth');
+    this.setParam(this.getDisplayNamePropertyBinding(KerberosProviderConfig.CONFIG_PREFIX), 'hadoop.auth.config');
+    this.setParam(this.getDisplayNamePropertyBinding(KerberosProviderConfig.TYPE), 'kerberos');
   }
 
   getDisplayPropertyNames(): string[] {
@@ -67,15 +68,71 @@ export class KerberosProviderConfig extends AuthenticationProviderConfig {
   }
 
   getDisplayNamePropertyBinding(name: string) {
+    let propName: string;
     if (name === KerberosProviderConfig.CONFIG_PREFIX) {
-      return KerberosProviderConfig.displayPropertyNameBindings.get(name);
+      propName = KerberosProviderConfig.displayPropertyNameBindings.get(name);
     } else {
       let prefix = this.getParam(KerberosProviderConfig.displayPropertyNameBindings.get(KerberosProviderConfig.CONFIG_PREFIX));
       if (prefix) {
-        return prefix + KerberosProviderConfig.displayPropertyNameBindings.get(name);
+        propName = prefix + '.' + KerberosProviderConfig.displayPropertyNameBindings.get(name);
+      } else {
+        propName = KerberosProviderConfig.displayPropertyNameBindings.get(name);
       }
     }
-    return null;
+    return propName;
+  }
+
+  isPasswordParam(name: string): boolean {
+    return (name === KerberosProviderConfig.SIG_SECRET);
+  }
+
+  setParam(name: string, value: string) {
+    console.debug('KerberosProviderConfig --> setParam(' + name + ', ' + value + ')'); // TODO: PJZ: DELETE ME
+    if (name === this.getDisplayNamePropertyBinding(KerberosProviderConfig.CONFIG_PREFIX)) {
+      // If the config prefix property has changed, then the properties need to be modified accordingly
+      let prevPrefix = this.getParam(this.getDisplayNamePropertyBinding(KerberosProviderConfig.CONFIG_PREFIX));
+      if (value !== prevPrefix) {
+        // Iterate over those properties which have already been set
+        for (let propName of this.getParamNames()) {
+          console.debug('\tPrevious property ' + propName);
+          if (propName.startsWith(prevPrefix)) { // If the property name includes the previous config prefix
+            let suffix = propName.substring(prevPrefix.length + 1); // prefix + '.'
+            let newPropName = value + '.' + suffix;
+            this.setParam(newPropName, this.getParam(propName));
+            console.debug('\tRenamed ' + propName + ' to ' + newPropName + ' because config prefix changed.');
+            this.removeParam(propName);
+            console.debug('\tDeleted ' + propName + ' because config prefix changed.');
+          }
+        }
+        super.setParam(name, value); // Update the config prefix property itself
+      }
+    } else {
+      super.setParam(name, value);
+    }
+  }
+
+  isValid(): boolean {
+    let isValid: boolean = true;
+
+    let allowAnon = this.getParam(this.getDisplayNamePropertyBinding(KerberosProviderConfig.ANON_ALLOWED));
+    if (allowAnon) {
+      let isValidAllowAnon = ValidationUtils.isValidBoolean(allowAnon);
+      if (!isValidAllowAnon) {
+        console.debug(KerberosProviderConfig.ANON_ALLOWED + ' value is not valid.');
+      }
+      isValid = isValid && isValidAllowAnon;
+    }
+
+    let tokenExpiration = this.getParam(this.getDisplayNamePropertyBinding(KerberosProviderConfig.TOKEN_VALIDITY));
+    if (tokenExpiration) {
+      let isValidTokenExpiration = ValidationUtils.isValidNumber(tokenExpiration);
+      if (!isValidTokenExpiration) {
+        console.debug(KerberosProviderConfig.TOKEN_VALIDITY + ' value is not valid.');
+      }
+      isValid = isValid && isValidTokenExpiration;
+    }
+
+    return isValid;
   }
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/ldap-provider-config.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/ldap-provider-config.ts b/gateway-admin-ui/src/app/provider-config-wizard/ldap-provider-config.ts
index deb855a..719124a 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/ldap-provider-config.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/ldap-provider-config.ts
@@ -17,17 +17,31 @@
 
 import {AuthenticationProviderConfig} from "./authentication-provider-config";
 import {OrderedParamContainer} from "./ordered-param-container";
+import {ValidationUtils} from "../utils/validation-utils";
 
 export class LDAPProviderConfig extends AuthenticationProviderConfig implements OrderedParamContainer {
 
-  static SESSION_TIMEOUT       = 'Session Timeout';
-  static DN_TEMPLATE           = 'User DN Template';
-  static URL                   = 'URL';
-  static MECHANISM             = 'Mechanism';
-  static REALM                 = 'Realm';
-  static CONTEXT_FACTORY       = 'LDAP Context Factory';
-  static REALM_CONTEXT_FACTORY = 'Realm Context Factory';
-  static AUTH_CHAIN            = 'Authentication Chain';
+  private static DN_TEMPLATE_REGEXP: RegExp =
+    new RegExp('(?:[A-Za-z][\\w-]*|\\d+(?:\\.\\d+)*)' +
+               '=(?:#(?:[\\dA-Fa-f]{2})+|(?:[^,=\\+<>#;\\"]|\\[,=\\+<>#;\\"]|\\[\\dA-Fa-f]{2})*|"(?:[^\\"]|\\[,=\\+<>#;\\"]|\\[\\dA-Fa-f]{2})*")' +
+               '(?:\\+(?:[A-Za-z][\\w-]*|\\d+(?:\\.\\d+)*)' +
+               '=(?:#(?:[\\dA-Fa-f]{2})' +
+               '+|(?:[^,=\\+<>#;\\"]|\\[,=\\+<>#;\\"]|\\[\\dA-Fa-f]{2})*|"(?:[^\\"]|\\[,=\\+<>#;\\"]|\\[\\dA-Fa-f]{2})*"))' +
+               '*(?:,(?:[A-Za-z][\\w-]*|\\d+(?:\\.\\d+)*)' +
+               '=(?:#(?:[\\dA-Fa-f]{2})+|(?:[^,=\\+<>#;\\"]|\\[,=\\+<>#;\\"]|\\[\\dA-Fa-f]{2})*|"(?:[^\\"]|\\[,=\\+<>#;\\"]|\\[\\dA-Fa-f]{2})*")' +
+               '(?:\\+(?:[A-Za-z][\\w-]*|\\d+(?:\\.\\d+)*)=(?:#(?:[\\dA-Fa-f]{2})+|(?:[^,=\\+<>#;\\"]|\\[,=\\+<>#;\\"]|\\[\\dA-Fa-f]{2})*|"(?:[^\\"]|\\[,=\\+<>#;\\"]|\\[\\dA-Fa-f]{2})*"))*)*');
+
+
+  private static LDAP_URL_SCHEMES: string[] = [ 'ldap', 'ldaps' ];
+
+  private static SESSION_TIMEOUT       = 'Session Timeout';
+  private static DN_TEMPLATE           = 'User DN Template';
+  private static URL                   = 'URL';
+  private static MECHANISM             = 'Mechanism';
+  private static REALM                 = 'Realm';
+  private static CONTEXT_FACTORY       = 'LDAP Context Factory';
+  private static REALM_CONTEXT_FACTORY = 'Realm Context Factory';
+  private static AUTH_CHAIN            = 'Authentication Chain';
 
   private static displayPropertyNames = [ LDAPProviderConfig.SESSION_TIMEOUT,
                                           LDAPProviderConfig.URL,
@@ -84,7 +98,6 @@ export class LDAPProviderConfig extends AuthenticationProviderConfig implements
     return LDAPProviderConfig.displayPropertyNameBindings.get(name);
   }
 
-
   getOrderedParamNames(): string[] {
     return LDAPProviderConfig.paramsOrder;
   }
@@ -102,4 +115,40 @@ export class LDAPProviderConfig extends AuthenticationProviderConfig implements
     return result;
   }
 
+  isValid(): boolean {
+    let isValid: boolean = true;
+
+    let timeout = this.getParam(this.getDisplayNamePropertyBinding(LDAPProviderConfig.SESSION_TIMEOUT));
+    if (timeout) {
+      let isTimeoutValid = ValidationUtils.isValidNumber(timeout);
+      if (!isTimeoutValid) {
+        console.debug(LDAPProviderConfig.SESSION_TIMEOUT + ' value is not valid.');
+      }
+      isValid = (isValid && isTimeoutValid);
+    }
+
+    let url = this.getParam(this.getDisplayNamePropertyBinding(LDAPProviderConfig.URL));
+    if (url) {
+      // Ensure that it's a valid LDAP(S) URL
+      let isURLValid = ValidationUtils.isValidURLOfScheme(url, LDAPProviderConfig.LDAP_URL_SCHEMES);
+      if (!isURLValid) {
+        console.debug(LDAPProviderConfig.URL + ' value is not valid.');
+      }
+      isValid = isValid && isURLValid;
+    } else {
+      isValid = false;
+    }
+
+    let dnTemplate = this.getParam(this.getDisplayNamePropertyBinding(LDAPProviderConfig.DN_TEMPLATE));
+    if (dnTemplate) {
+      let isDNTemplateValid = LDAPProviderConfig.DN_TEMPLATE_REGEXP.test(dnTemplate);
+      if (!isDNTemplateValid) {
+        console.debug(LDAPProviderConfig.DN_TEMPLATE + ' value is not a valid DN template.');
+      }
+      isValid = isValid && isDNTemplateValid;
+    }
+
+    return isValid;
+  }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/oauth-provider-config.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/oauth-provider-config.ts b/gateway-admin-ui/src/app/provider-config-wizard/oauth-provider-config.ts
index 71df337..777690f 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/oauth-provider-config.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/oauth-provider-config.ts
@@ -16,6 +16,7 @@
  */
 
 import {AuthenticationProviderConfig} from "./authentication-provider-config";
+import {ValidationUtils} from "../utils/validation-utils";
 
 export class OAUTHProviderConfig extends AuthenticationProviderConfig {
 
@@ -45,4 +46,8 @@ export class OAUTHProviderConfig extends AuthenticationProviderConfig {
     return OAUTHProviderConfig.displayPropertyNameBindings.get(name);
   }
 
+  isValid(): boolean {
+    return ValidationUtils.isValidURL(this.getParam(this.getDisplayNamePropertyBinding(OAUTHProviderConfig.CALLBACK_URL)));
+  }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/oidc-provider-config.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/oidc-provider-config.ts b/gateway-admin-ui/src/app/provider-config-wizard/oidc-provider-config.ts
index 8cf2e7f..00528f0 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/oidc-provider-config.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/oidc-provider-config.ts
@@ -16,6 +16,8 @@
  */
 
 import {AuthenticationProviderConfig} from "./authentication-provider-config";
+import {ValidationUtils} from "../utils/validation-utils";
+import {SAMLProviderConfig} from "./saml-provider-config";
 
 export class OIDCProviderConfig extends AuthenticationProviderConfig {
 
@@ -64,4 +66,50 @@ export class OIDCProviderConfig extends AuthenticationProviderConfig {
     return OIDCProviderConfig.displayPropertyNameBindings.get(name);
   }
 
+  isPasswordParam(name: string): boolean {
+    return (name === OIDCProviderConfig.PROVIDER_SECRET);
+  }
+
+  isValid(): boolean {
+    let isValid: boolean = true;
+
+    let cbURL = this.getParam(this.getDisplayNamePropertyBinding(OIDCProviderConfig.CALLBACK_URL));
+    if (cbURL) {
+      let isCBURLValid = ValidationUtils.isValidURL(cbURL);
+      if (!isCBURLValid) {
+        console.debug(OIDCProviderConfig.CALLBACK_URL + ' value is not a valid URL.');
+      }
+      isValid = isValid && isCBURLValid;
+    }
+
+    let pdURL = this.getParam(this.getDisplayNamePropertyBinding(OIDCProviderConfig.PROVIDER_DISCOVERY_URL));
+    if (pdURL) {
+      let isPDURLValid = ValidationUtils.isValidURL(pdURL);
+      if (!isPDURLValid) {
+        console.debug(OIDCProviderConfig.PROVIDER_DISCOVERY_URL + ' value is not a valid URL.');
+      }
+      isValid = isValid && isPDURLValid;
+    }
+
+    let useNonce = this.getParam(this.getDisplayNamePropertyBinding(OIDCProviderConfig.USE_NONCE));
+    if (useNonce) {
+      let isNonceValid = ValidationUtils.isValidBoolean(useNonce);
+      if (!isNonceValid) {
+        console.debug(OIDCProviderConfig.USE_NONCE + ' value is not a valid boolean.');
+      }
+      isValid = isValid && isNonceValid;
+    }
+
+    let clockSkew = this.getParam(this.getDisplayNamePropertyBinding(OIDCProviderConfig.MAX_CLOCK_SKEW));
+    if (clockSkew) {
+      let isSkewValid = ValidationUtils.isValidNumber(clockSkew);
+      if (!isSkewValid) {
+        console.debug(OIDCProviderConfig.MAX_CLOCK_SKEW + ' value is not a valid number');
+      }
+      isValid = isValid && isSkewValid;
+    }
+
+    return isValid;
+  }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/pam-provider-config.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/pam-provider-config.ts b/gateway-admin-ui/src/app/provider-config-wizard/pam-provider-config.ts
index 55bc22c..243a4e0 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/pam-provider-config.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/pam-provider-config.ts
@@ -17,6 +17,7 @@
 
 import {AuthenticationProviderConfig} from "./authentication-provider-config";
 import {OrderedParamContainer} from "./ordered-param-container";
+import {ValidationUtils} from "../utils/validation-utils";
 
 export class PAMProviderConfig extends AuthenticationProviderConfig implements OrderedParamContainer {
 
@@ -75,4 +76,16 @@ export class PAMProviderConfig extends AuthenticationProviderConfig implements O
     return result;
   }
 
+  isValid(): boolean {
+    let isValid = true;
+
+    // Since the other properties are set internally, just validate the session timeout value
+    let timeout = this.getParam(this.getDisplayNamePropertyBinding(PAMProviderConfig.SESSION_TIMEOUT));
+    if (timeout) {
+      isValid = ValidationUtils.isValidNumber(timeout);
+    }
+
+    return isValid;
+  }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/provider-config-wizard.component.html
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/provider-config-wizard.component.html b/gateway-admin-ui/src/app/provider-config-wizard/provider-config-wizard.component.html
index db97d96..c6ffec8 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/provider-config-wizard.component.html
+++ b/gateway-admin-ui/src/app/provider-config-wizard/provider-config-wizard.component.html
@@ -11,8 +11,15 @@
           <tr>
             <td><strong>Name</strong></td>
             <td><input type="textbox"
+                       name="name"
+                       #field="ngModel"
+                       [required]="true"
                        size="60"
-                       [(ngModel)]="name"></td>
+                       [(ngModel)]="name">
+              <span *ngIf="field.errors?.required" style="color: red">
+                &nbsp;A provider configuration name is required.
+              </span>
+            </td>
           </tr>
         </table>
       </div> <!-- Provider Configuration Name -->
@@ -22,8 +29,8 @@
       <!-- Display New Providers -->
       <div>
         <strong>Providers</strong><br/>
-        <div *ngFor="let pc of providers">
-          {{pc.name}}
+        <div *ngFor="let pDisplay of getConfiguredProviderDisplayNames()">
+          {{ pDisplay }}
         </div>
       </div> <!-- Display New Providers -->
 
@@ -71,11 +78,21 @@
       <table>
         <tr *ngFor="let pt of getProviderParams()">
           <td><strong>{{pt}}</strong></td>
-          <td><input type="textbox"
+          <td>
+            <span>
+              <input [type]="!isPasswordParam(pt) || this['show'+pt] ? 'textbox' : 'password'"
                      size="60"
                      #paramInput
                      (change)="setProviderParamBinding(pt, paramInput.value)"
-                     [value]="getProviderParamBinding(pt)"></td>
+                     [value]="getProviderParamBinding(pt)">
+            </span>
+            <span *ngIf="isPasswordParam(pt)">
+              <input type="checkbox"
+                     class="clickable"
+                     [checked]="getPasswordDisplay(pt)"
+                     (click)="togglePasswordDisplay(pt)">show
+            </span>
+          </td>
         </tr>
       </table>
     </div> <!-- Provider Type Params Step -->

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/provider-config-wizard.component.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/provider-config-wizard.component.ts b/gateway-admin-ui/src/app/provider-config-wizard/provider-config-wizard.component.ts
index 1453611..6fc9afe 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/provider-config-wizard.component.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/provider-config-wizard.component.ts
@@ -83,6 +83,7 @@ export class ProviderConfigWizardComponent implements OnInit {
   }
 
   reset() {
+    this.getCategoryWizard(this.selectedCategory).reset();
     this.step = 0;
     this.name = '';
     this.providers = [];
@@ -102,7 +103,7 @@ export class ProviderConfigWizardComponent implements OnInit {
 
     if (catWizard) {
       let pc: ProviderConfig = catWizard.getProviderConfig();
-      if (pc) {
+      if (pc && this.isProviderConfigValid(pc)) {
         this.providers.push(pc);
         console.debug('ProviderConfigWizard --> Provider: name=' + pc.name + ', role=' + pc.role + ', enabled=' + pc.enabled);
         if (pc.params) {
@@ -115,10 +116,13 @@ export class ProviderConfigWizardComponent implements OnInit {
             console.debug('\tParam: ' + name + ' = ' + pc.params[name]);
           }
         }
+
+        this.step = 0; // Return to the beginning
+
+        // Clear the wizard state
+        this.getCategoryWizard(this.selectedCategory).reset();
       }
     }
-
-    this.step = 0; // Return to the beginning
   }
 
   onClose() {
@@ -131,18 +135,18 @@ export class ProviderConfigWizardComponent implements OnInit {
                                         newResource,
                                         this.resourceService.serializeProviderConfiguration(this.providers, 'json'))
                         .then(() => {
-                          // Reload the resource list presentation
-                          this.resourceTypesService.selectResourceType('Provider Configurations');
-
-                          // Set the new descriptor as the selected resource
-                          this.resourceService.getProviderConfigResources().then(resources => {
-                            for (let res of resources) {
-                              if (res.name === newResource.name) {
-                                this.resourceService.selectedResource(res);
-                                break;
+                            // Reload the resource list presentation
+                            this.resourceTypesService.selectResourceType('Provider Configurations');
+
+                            // Set the new descriptor as the selected resource
+                            this.resourceService.getProviderConfigResources().then(resources => {
+                              for (let res of resources) {
+                                if (res.name === newResource.name) {
+                                  this.resourceService.selectedResource(res);
+                                  break;
+                                }
                               }
-                            }
-                          });
+                            });
                         });
   }
 
@@ -151,7 +155,7 @@ export class ProviderConfigWizardComponent implements OnInit {
   }
 
   onNextStep() {
-    ++this.step;
+      ++this.step;
   }
 
   onPreviousStep() {
@@ -227,10 +231,13 @@ export class ProviderConfigWizardComponent implements OnInit {
       let pc = catWizard.getProviderConfig();
       if (pc) {
         if (pc instanceof DisplayBindingProviderConfig) {
-          let dispPC = pc as DisplayBindingProviderConfig;
-          let property = dispPC.getDisplayNamePropertyBinding(name);
-          pc.setParam(property, value);
-          console.debug('ProviderConfigWizard --> Set ProviderConfig param value: ' + property + '=' + value);
+          let property = (pc as DisplayBindingProviderConfig).getDisplayNamePropertyBinding(name);
+          if (property) {
+            pc.setParam(property, value);
+            console.debug('ProviderConfigWizard --> Set ProviderConfig param value: ' + property + '=' + value);
+          } else {
+            console.debug('No provider property configured for ' + name);
+          }
         }
       }
     }
@@ -251,4 +258,51 @@ export class ProviderConfigWizardComponent implements OnInit {
     return '';
   }
 
+  getConfiguredProviderDisplayNames(): string[] {
+    let result: string[] = [];
+
+    for (let p of this.providers) {
+      let pName: string;
+      let pRole: string;
+      if (p instanceof DisplayBindingProviderConfig) {
+        pName = (p as DisplayBindingProviderConfig).getType();
+        pRole = p.getRole();
+      } else {
+        pName = p.name;
+        pRole = p.role;
+      }
+      result.push(pName + ' (' + pRole + ')');
+    }
+
+    return result;
+  }
+
+  isPasswordParam(name: string) {
+    let result: boolean = false;
+
+    let p = this.getCategoryWizard().getProviderConfig();
+    if (p && p instanceof DisplayBindingProviderConfig) {
+      result = (p as DisplayBindingProviderConfig).isPasswordParam(name);
+    }
+
+    return result;
+  }
+
+  isProviderConfigValid(pc: ProviderConfig): boolean {
+    let isValid: boolean = true;
+    if (pc instanceof DisplayBindingProviderConfig) {
+      console.debug('Checking validity of ' + this.selectedCategory + ' ' + (pc as DisplayBindingProviderConfig).getType() + ' provider...');
+      isValid = (pc as DisplayBindingProviderConfig).isValid();
+    }
+    return isValid;
+  }
+
+  togglePasswordDisplay(propertyName: string) {
+    this['show' + propertyName] = !this['show' + propertyName];
+  }
+
+  getPasswordDisplay(propertName: string): boolean {
+    return this['show' + propertName];
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/regex-idassertion-provider-config.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/regex-idassertion-provider-config.ts b/gateway-admin-ui/src/app/provider-config-wizard/regex-idassertion-provider-config.ts
index a3a4e9b..8ca0f1f 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/regex-idassertion-provider-config.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/regex-idassertion-provider-config.ts
@@ -16,13 +16,14 @@
  */
 
 import {IdentityAssertionProviderConfig} from "./identity-assertion-provider-config";
+import {ValidationUtils} from "../utils/validation-utils";
 
 export class RegexAssertionProviderConfig extends IdentityAssertionProviderConfig {
 
-  static INPUT        = 'Input';
-  static OUTPUT       = 'Output';
-  static LOOKUP       = "Lookup";
-  static ORIG_ON_FAIL = "User Original Lookup on Failure";
+  private static INPUT        = 'Input';
+  private static OUTPUT       = 'Output';
+  private static LOOKUP       = "Lookup";
+  private static ORIG_ON_FAIL = "Use Original Lookup on Failure";
 
   private static displayPropertyNames = [ RegexAssertionProviderConfig.INPUT,
                                           RegexAssertionProviderConfig.OUTPUT,
@@ -50,4 +51,19 @@ export class RegexAssertionProviderConfig extends IdentityAssertionProviderConfi
     return RegexAssertionProviderConfig.displayPropertyNameBindings.get(name);
   }
 
+  isValid(): boolean {
+    let isValid: boolean = true;
+
+    let useOrig = this.getParam(this.getDisplayNamePropertyBinding(RegexAssertionProviderConfig.ORIG_ON_FAIL));
+    if (useOrig) {
+      isValid = ValidationUtils.isValidBoolean(useOrig);
+      if (!isValid) {
+        console.debug('RegexAssertionProviderConfig --> ' + RegexAssertionProviderConfig.ORIG_ON_FAIL +
+                      ' value is not a valid boolean.')
+      }
+    }
+
+    return isValid;
+  }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/saml-provider-config.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/saml-provider-config.ts b/gateway-admin-ui/src/app/provider-config-wizard/saml-provider-config.ts
index c9cffc1..139cfe8 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/saml-provider-config.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/saml-provider-config.ts
@@ -16,6 +16,7 @@
  */
 
 import {AuthenticationProviderConfig} from "./authentication-provider-config";
+import {ValidationUtils} from "../utils/validation-utils";
 
 export class SAMLProviderConfig extends AuthenticationProviderConfig {
 
@@ -55,6 +56,8 @@ export class SAMLProviderConfig extends AuthenticationProviderConfig {
                                     ]);
 
 
+  private static SECRET_PROPERTIES: string[] = [ SAMLProviderConfig.KEYSTORE_PASS, SAMLProviderConfig.PK_PASS ];
+
   constructor() {
     super('pac4j', AuthenticationProviderConfig.FEDERATION_ROLE);
   }
@@ -67,4 +70,23 @@ export class SAMLProviderConfig extends AuthenticationProviderConfig {
     return SAMLProviderConfig.displayPropertyNameBindings.get(name);
   }
 
+  isPasswordParam(name: string): boolean {
+    return (name && SAMLProviderConfig.SECRET_PROPERTIES.indexOf(name) > -1);
+  }
+
+  isValid(): boolean {
+    let isValid: boolean = true;
+
+    let cb = this.getParam(this.getDisplayNamePropertyBinding(SAMLProviderConfig.CALLBACK_URL));
+    if (cb) {
+      let isValidCB = ValidationUtils.isValidURL(cb);
+      if (!isValidCB) {
+        console.debug('SAMLProviderConfig --> ' + SAMLProviderConfig.CALLBACK_URL + ' value is not a valid URL.');
+      }
+      isValid = isValidCB && isValidCB;
+    }
+
+    return isValid;
+  }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/sso-cookie-provider-config.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/sso-cookie-provider-config.ts b/gateway-admin-ui/src/app/provider-config-wizard/sso-cookie-provider-config.ts
index bc54e6a..ba94197 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/sso-cookie-provider-config.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/sso-cookie-provider-config.ts
@@ -16,6 +16,7 @@
  */
 
 import {AuthenticationProviderConfig} from "./authentication-provider-config";
+import {ValidationUtils} from "../utils/validation-utils";
 
 export class SSOCookieProviderConfig extends AuthenticationProviderConfig {
 
@@ -40,4 +41,7 @@ export class SSOCookieProviderConfig extends AuthenticationProviderConfig {
     return SSOCookieProviderConfig.displayPropertyNameBindings.get(name);
   }
 
+  isValid(): boolean {
+    return ValidationUtils.isValidURL(this.getParam(this.getDisplayNamePropertyBinding(SSOCookieProviderConfig.PROVIDER_URL)));
+  }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/provider-config-wizard/switchcase-idassertion-provider-config.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/provider-config-wizard/switchcase-idassertion-provider-config.ts b/gateway-admin-ui/src/app/provider-config-wizard/switchcase-idassertion-provider-config.ts
index 5284f13..3667ae0 100644
--- a/gateway-admin-ui/src/app/provider-config-wizard/switchcase-idassertion-provider-config.ts
+++ b/gateway-admin-ui/src/app/provider-config-wizard/switchcase-idassertion-provider-config.ts
@@ -19,8 +19,10 @@ import {IdentityAssertionProviderConfig} from "./identity-assertion-provider-con
 
 export class SwitchCaseAssertionProviderConfig extends IdentityAssertionProviderConfig {
 
-  static PRINCIPAL_CASE       = 'Principal Case';
-  static GROUP_PRINCIPAL_CASE = 'Group Principal Case';
+  private static CASE_VALUES: string[] = [ 'upper', 'lower' ];
+
+  private static PRINCIPAL_CASE       = 'Principal Case';
+  private static GROUP_PRINCIPAL_CASE = 'Group Principal Case';
 
   private static displayPropertyNames = [ SwitchCaseAssertionProviderConfig.PRINCIPAL_CASE,
                                           SwitchCaseAssertionProviderConfig.GROUP_PRINCIPAL_CASE
@@ -44,4 +46,20 @@ export class SwitchCaseAssertionProviderConfig extends IdentityAssertionProvider
     return SwitchCaseAssertionProviderConfig.displayPropertyNameBindings.get(name);
   }
 
+  isValid(): boolean {
+    let isValid: boolean = true;
+
+    let pc = this.getParam(this.getDisplayNamePropertyBinding(SwitchCaseAssertionProviderConfig.PRINCIPAL_CASE));
+    if (pc) {
+      isValid = isValid && (SwitchCaseAssertionProviderConfig.CASE_VALUES.indexOf(pc.toLowerCase()) > -1);
+    }
+
+    let gpc = this.getParam(this.getDisplayNamePropertyBinding(SwitchCaseAssertionProviderConfig.GROUP_PRINCIPAL_CASE));
+    if (gpc) {
+      isValid = isValid && (SwitchCaseAssertionProviderConfig.CASE_VALUES.indexOf(gpc.toLowerCase()) > -1);
+    }
+
+    return isValid;
+  }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/app/utils/validation-utils.ts
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/app/utils/validation-utils.ts b/gateway-admin-ui/src/app/utils/validation-utils.ts
new file mode 100644
index 0000000..f7dcfcc
--- /dev/null
+++ b/gateway-admin-ui/src/app/utils/validation-utils.ts
@@ -0,0 +1,135 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+export class ParsedURL {
+
+  static REGEXP: RegExp = new RegExp('^(([^:\/?#]+):)?\/\/(([^\/?#]+):([^\/?#]+))?([^?#]*)(\/?([^#]*))?(#(.*))?');
+
+  scheme:   string;
+  host:     string;
+  port:     string;
+  path:     string;
+  query:    string;
+  fragment: string;
+
+  static parse(url: string): ParsedURL {
+    let result: ParsedURL;
+
+    let matches =  url.match(ParsedURL.REGEXP);
+    if (matches && matches.length > 0) {
+      result = {
+          scheme:   matches[2],
+          host:     matches[4],
+          port:     matches[5],
+          path:     matches[6],
+          query:    matches[7],
+          fragment: matches[9]
+      };
+    }
+    return result;
+  }
+}
+
+
+export class ValidationUtils {
+
+
+  static parseBoolean(value: string): boolean {
+    let parsed: boolean;
+    if (value) {
+      try {
+        parsed = JSON.parse(value);
+      } catch (e) {
+        // just return undefined
+      }
+    }
+    return parsed;
+  }
+
+
+  static parseURL(url: string): ParsedURL {
+    return ParsedURL.parse(url);
+  }
+
+
+  static isValidNumber(value: string): boolean {
+    return (value && !isNaN(Number(value)));
+  }
+
+
+  static isValidBoolean(value: string): boolean {
+    return (ValidationUtils.parseBoolean(value) !== undefined);
+  }
+
+  static isValidString(value: string): boolean {
+    return (value && value.length > 0);
+  }
+
+  static isValidValue(validValues: string[], value: string): boolean {
+    let isValid: boolean = false;
+    if (value && validValues) {
+      if (validValues.indexOf(value) > -1) {
+        isValid = true;
+      }
+    }
+    return isValid;
+  }
+
+
+  static isValidURL(url: string): boolean {
+    let isValid: boolean = false;
+
+    let parsedURL = ValidationUtils.parseURL(url);
+    if (parsedURL) {
+      // Make sure it has at least a valid scheme, host and port
+      if (parsedURL.scheme) {
+        if (parsedURL.host) {
+          if (parsedURL.port) {
+            isValid = ValidationUtils.isValidNumber(parsedURL.port);
+          }
+        }
+      }
+    }
+
+    return isValid;
+  }
+
+
+  static isValidURLOfScheme(url: string, acceptableSchemes?: string[]): boolean {
+    let isValid: boolean = false;
+
+    let parsedURL = ValidationUtils.parseURL(url);
+    if (parsedURL) {
+      // Make sure it has at least a valid scheme, host and port
+      if (parsedURL.scheme) {
+        if (acceptableSchemes && acceptableSchemes.indexOf(parsedURL.scheme) < 0) {
+          console.debug('\tParsed URL scheme is not among acceptable schemes');
+          return false;
+        }
+        if (parsedURL.host) {
+          if (parsedURL.port) {
+            isValid = ValidationUtils.isValidNumber(parsedURL.port);
+          }
+        }
+      }
+    }
+
+    return isValid;
+  }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-admin-ui/src/index.html
----------------------------------------------------------------------
diff --git a/gateway-admin-ui/src/index.html b/gateway-admin-ui/src/index.html
index 94d6e1b..6036348 100644
--- a/gateway-admin-ui/src/index.html
+++ b/gateway-admin-ui/src/index.html
@@ -57,8 +57,10 @@
   <resource-management></resource-management>
 
   <footer class="footer">
-    <div>Knox Manager Version 0.1.0</div>
-    <gateway-version></gateway-version>
+    <div class="container-fluid">
+      <div>Knox Manager Version 0.1.0</div>
+      <gateway-version></gateway-version>
+    </div>
   </footer>
 </body>
 </html>

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-applications/src/main/resources/applications/admin-ui/app/index.html
----------------------------------------------------------------------
diff --git a/gateway-applications/src/main/resources/applications/admin-ui/app/index.html b/gateway-applications/src/main/resources/applications/admin-ui/app/index.html
index 69cc800..52a28a4 100644
--- a/gateway-applications/src/main/resources/applications/admin-ui/app/index.html
+++ b/gateway-applications/src/main/resources/applications/admin-ui/app/index.html
@@ -11,4 +11,4 @@
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
---><!doctype html><html><head><meta charset="utf-8"><title>Apache Knox Manager</title><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/x-icon" href="favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1"><!-- Latest compiled and minified CSS --><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"><!-- Optional theme --><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"><!-- Custom styles for this template --><link href="assets/sticky-footer.css" rel="stylesheet"><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script><!-- Latest compiled and minified JavaScript --><scr
 ipt src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script><script src="assets/vkbeautify.js"></script><link href="styles.2ee5b7f4cd59a6cf015e.bundle.css" rel="stylesheet"/></head><body><div class="navbar-wrapper"><div class="container-fluid"><nav class="navbar navbar-inverse navbar-static-top"><div class="container-fluid"><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"><span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span></button> <a class="navbar-brand" href="#"><img style="max-width:200px; margin-top: -9px;" src="assets/knox-logo-transparent.gif" alt="Apache Knox Manager"></a></div></div></nav></div><!-- Content --><resource-management></res
 ource-management><footer class="footer"><div>Knox Manager Version 0.1.0</div><gateway-version></gateway-version></footer><script type="text/javascript" src="inline.823868e44971b225d6b4.bundle.js"></script><script type="text/javascript" src="scripts.c50bb762c438ae0f8842.bundle.js"></script><script type="text/javascript" src="main.31f4c13b664f32c9ce4d.bundle.js"></script></div></body></html>
\ No newline at end of file
+--><!doctype html><html><head><meta charset="utf-8"><title>Apache Knox Manager</title><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" type="image/x-icon" href="favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1"><!-- Latest compiled and minified CSS --><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"><!-- Optional theme --><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"><!-- Custom styles for this template --><link href="assets/sticky-footer.css" rel="stylesheet"><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script><!-- Latest compiled and minified JavaScript --><scr
 ipt src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script><script src="assets/vkbeautify.js"></script><link href="styles.2ee5b7f4cd59a6cf015e.bundle.css" rel="stylesheet"/></head><body><div class="navbar-wrapper"><div class="container-fluid"><nav class="navbar navbar-inverse navbar-static-top"><div class="container-fluid"><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"><span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span></button> <a class="navbar-brand" href="#"><img style="max-width:200px; margin-top: -9px;" src="assets/knox-logo-transparent.gif" alt="Apache Knox Manager"></a></div></div></nav></div><!-- Content --><resource-management></res
 ource-management><footer class="footer"><div class="container-fluid"><div>Knox Manager Version 0.1.0</div><gateway-version></gateway-version></div></footer><script type="text/javascript" src="inline.0c599dd7846e2462c94c.bundle.js"></script><script type="text/javascript" src="scripts.c50bb762c438ae0f8842.bundle.js"></script><script type="text/javascript" src="main.bfb4b6a3d7d72f4c8841.bundle.js"></script></div></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-applications/src/main/resources/applications/admin-ui/app/inline.0c599dd7846e2462c94c.bundle.js
----------------------------------------------------------------------
diff --git a/gateway-applications/src/main/resources/applications/admin-ui/app/inline.0c599dd7846e2462c94c.bundle.js b/gateway-applications/src/main/resources/applications/admin-ui/app/inline.0c599dd7846e2462c94c.bundle.js
new file mode 100644
index 0000000..074de3a
--- /dev/null
+++ b/gateway-applications/src/main/resources/applications/admin-ui/app/inline.0c599dd7846e2462c94c.bundle.js
@@ -0,0 +1 @@
+!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,u){for(var a,i,f,l=0,s=[];l<r.length;l++)t[i=r[l]]&&s.push(t[i][0]),t[i]=0;for(a in c)Object.prototype.hasOwnProperty.call(c,a)&&(e[a]=c[a]);for(n&&n(r,c,u);s.length;)s.shift()();if(u)for(l=0;l<u.length;l++)f=o(o.s=u[l]);return f};var r={},t={2:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var c=document.getElementsByTagName("head")[0],u=document.createElement("script");u.type="text/javascript",u.charset="utf-8",u.async=!0,u.timeout=12e4,o.nc&&u.setAttribute("nonce",o.nc),u.src=o.p+""+e+"."+{0:"bfb4b6a3d7d72f4c8841",1:"aed76669724804835353"}[e]+".chunk.js";var a=setTimeout(i,12e4);function i(){u.onerror=u.onload=null,clearTimeout(a);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chu
 nk "+e+" failed.")),t[e]=void 0)}return u.onerror=u.onload=i,c.appendChild(u),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="",o.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/97d865e5/gateway-applications/src/main/resources/applications/admin-ui/app/inline.823868e44971b225d6b4.bundle.js
----------------------------------------------------------------------
diff --git a/gateway-applications/src/main/resources/applications/admin-ui/app/inline.823868e44971b225d6b4.bundle.js b/gateway-applications/src/main/resources/applications/admin-ui/app/inline.823868e44971b225d6b4.bundle.js
deleted file mode 100644
index d865f38..0000000
--- a/gateway-applications/src/main/resources/applications/admin-ui/app/inline.823868e44971b225d6b4.bundle.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,u){for(var a,i,f,l=0,s=[];l<r.length;l++)t[i=r[l]]&&s.push(t[i][0]),t[i]=0;for(a in c)Object.prototype.hasOwnProperty.call(c,a)&&(e[a]=c[a]);for(n&&n(r,c,u);s.length;)s.shift()();if(u)for(l=0;l<u.length;l++)f=o(o.s=u[l]);return f};var r={},t={2:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var c=document.getElementsByTagName("head")[0],u=document.createElement("script");u.type="text/javascript",u.charset="utf-8",u.async=!0,u.timeout=12e4,o.nc&&u.setAttribute("nonce",o.nc),u.src=o.p+""+e+"."+{0:"31f4c13b664f32c9ce4d",1:"aed76669724804835353"}[e]+".chunk.js";var a=setTimeout(i,12e4);function i(){u.onerror=u.onload=null,clearTimeout(a);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chu
 nk "+e+" failed.")),t[e]=void 0)}return u.onerror=u.onload=i,c.appendChild(u),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="",o.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file