function ES(a,b){var c=!1,d=Ka();d.add("/**");UO(b,(H(),wC))&&d.add("@externs");UO(b,(H(),lC))&&d.add("@typeSummary");UO(b,(H(),qC))?d.add("@export"):$O(b)&&!m($O(b),aD)&&d.add("@"+p(tw($O(b).toString())));if(pE(rD,b)){c=!0;for(var h=pE(rD,b).A();h.s();){var k=h.u();d.add("@author "+p(k))}}UO(b,(H(),EC))&&d.add("@abstract");pE(ID,b)&&d.add(c6(a,"lends",pE(ID,b).g));UO(b,(H(),hC))&&!UO(b,(H(),jC))&&d.add("@const");UO(b,(H(),mC))&&d.add("@final");h=pE(FO,b);null!=h&&(c=!0,d.add("@desc "+p(h)));if(pE(sD,
b))for(c=!0,h=pE(sD,b).A();h.s();)k=h.u(),d.add("@see "+p(k));UO(b,(H(),IC))&&d.add("@wizaction");UO(b,(H(),JC))&&d.add("@polymerBehavior");UO(b,(H(),KC))&&d.add("@polymer");UO(b,(H(),LC))&&d.add("@customElement");UO(b,(H(),MC))&&d.add("@mixinClass");UO(b,(H(),NC))&&d.add("@mixinFunction");UO(b,(H(),vC))&&d.add("@nosideeffects");UO(b,(H(),xC))&&d.add("@nocompile");UO(b,(H(),sC))&&d.add("@noinline");UO(b,(H(),QC))&&d.add("@provideAlreadyProvided");m(pE(EO,b),TD)&&d.add("@idGenerator {unique}");m(pE(EO,
b),SD)&&d.add("@idGenerator {consistent}");m(pE(EO,b),UD)&&d.add("@idGenerator {stable}");m(pE(EO,b),RD)&&d.add("@idGenerator {xid}");m(pE(EO,b),VD)&&d.add("@idGenerator {mapped}");UO(b,(H(),BC))&&d.add("@dict");UO(b,(H(),AC))&&d.add("@struct");UO(b,(H(),zC))&&d.add("@unrestricted ");UO(b,(H(),iC))&&d.add("@constructor");Sc(Lc(b.g,Tc((H(),pC).i,DC.i)))&&!UO(b,(H(),DC))&&d.add("@interface");Sc(Lc(b.g,Tc((H(),pC).i,DC.i)))&&UO(b,(H(),DC))&&d.add("@record");pE(FD,b)&&(c=!0,h=d6(pE(FD,b).g),d.add(c6(a,
"extends",h)));for(h=zO(HD,b).A();h.s();)k=h.u(),c=!0,d.add(c6(a,"extends",d6(k.g)));for(h=zO(GO,b).A();h.s();)k=h.u(),c=!0,d.add(c6(a,"implements",d6(k.g)));pE(JD,b)&&(c=!0,h=d6(pE(JD,b).g),d.add(c6(a,"this",h)));if(0<ufa(b))for(c=!0,h=tfa(b).A();h.s();)k=h.u(),d.add("@param "+p(Zva(a,b,k)));pE(ED,b)&&(c=!0,d.add(e6(a,"return",pE(ED,b),pE(NO,b))));aP(b).I()||Kj(aP(b).F(0))||(c=!0,d.add("@throws "+p(aP(b).F(0))));h=xfa(b);h.I()||(c=!0,h.Ec(Xf(function(n,r){var t=r.g;m(t.h,wE)&&!t.g?d.add("@template "+
p(n)):d.add(e6(a,"template",r,n))})));h=yfa(b);if(!h.I())for(c=!0,h=mu(h).R();h.s();){var l=h.u();k=l.M();l=Ova(Mva(l.N())).g;d.add("@template "+p(k)+" := "+p(l)+" =:")}UO(b,(H(),nC))&&d.add("@override");pE(yD,b)&&!UO(b,(H(),jC))&&(UO(b,(H(),fC))?d.add($va(a,pE(yD,b).g)):d.add(f6(a,"type",pE(yD,b))));UO(b,(H(),jC))&&d.add(f6(a,"define",pE(yD,b)));pE(lD,b)&&d.add(f6(a,"typedef",pE(lD,b)));pE(KD,b)&&d.add(f6(a,"enum",pE(KD,b)));UO(b,(H(),uC))&&d.add("@implicitCast");UO(b,(H(),CC))&&d.add("@nocollapse");
h=wfa(b);if(!h.I()){for(c=mu(h).R();c.s();)k=c.u(),h=k.M().ta(Lb([0],rk,Md)),Sf(h,ue()),k=k.N(),l=vj(),C(C(C(l,"@suppress {"),Vn(Qn(nd(44)),h)),"}"),Kj(k)||C(C(l," "),k),d.add(l.toString());c=!0}UO(b,(H(),oC))&&(c=pE(LO,b),d.add("@deprecated"+String(null!=c?" "+p(c):"")),c=!0);UO(b,(H(),KC))&&(c=!0,d.add("@polymer"));UO(b,(H(),JC))&&(c=!0,d.add("@polymerBehavior"));UO(b,(H(),NC))&&(c=!0,d.add("@mixinFunction"));UO(b,(H(),MC))&&(c=!0,d.add("@mixinClass"));UO(b,(H(),LC))&&(c=!0,d.add("@customElement"));
null!=pE(JO,b)&&d.add("@closurePrimitive {"+p(pE(JO,b))+"}");UO(b,(H(),HC))&&d.add("@ngInject");for(h=vfa(b).R();h.s();)k=h.u(),d.add("@tsType "+p(k));a.g&&null!=pE(dD,b)&&(b=hk(pE(dD,b),"\n\\s*\\*\\s*","\n"),Kj(b)||(c=!0,b=fl(b),1<d.size()&&(b=p(b)+nd(10)),d.Ib(1,b)));b=vj();c?Rn(Qn("\n"),b,d):(Rn(Qn(" "),b,d),C(b," */"));b=hk(bl(b.toString(),"\n","\n *"),"\n \\*([^ \n])","\n * $1");return b=c?p(b)+"\n */\n":p(b)+" "}
\n");var h=null;b&&KL(b)&&(h=gva(b).g);Tva(a,c,d,h);h=d.h.i;!h||PG(h)||d.Ia()||d.Ha()&&h.lc()||(C(c," * "),b6(c,"return",JH(h,KH)),C(c,"\n"));if(d.Ha())Vva(c,d),C(c," * @constructor\n");else if(d.Ia())Uva(c,d);else{h=d.Oa();var k;if(!(k=!h||h.ga()||h.lc())&&(k=b)){k=h.H;if(b){var l=b.j;b=null;if(aR(l)){l=l.g;mT();if(RI(l)){var n=l.g;n=RI(n)&&"prototype"===
n.l}else n=!1;n&&(b=FQ(l.g.g),b=(a=BN(a.v,b))?a.xa():null)}else LL(l)&&(b=RQ(l).oa());a=b?XL(b):null}else a=null;k=k.call(h,a)}k||(C(c," * "),b6(c,"this",JH(h,KH)),C(c,"\n"))}a6(c,WG(d));C(c,"