1"use strict";(self.webpackChunkfabindia=self.webpackChunkfabindia||[]).push([[2738],{32738(Wt,pt,c){c.d(pt,{TextfieldConfiguratorModule:()=>Vt});var t=c(41360),g=c(80772),p=c(9310),a=c(71005),h=c(99437),y=c(5964),f=c(96354),l=c(25558),T=c(96697),G=c(88141),F=c(27781),$=c(49870),E=c(32881),_=c(89417),Tt=c(72510),C=c(89944),B=c(66304),v=c(7673),Et=c(58989);const _t=()=>({cxRoute:"cart"}),Y=(r,i)=>({value:r,attribute:i});function ht(r,i){if(1&r){const e=t.RV6();t.j41(0,"div",6)(1,"cx-configurator-textfield-input-field",7),t.bIt("inputChange",function(o){t.eBV(e);const s=t.XpG(3);return t.Njj(s.updateConfiguration(o))}),t.k0s()()}if(2&r){const e=i.$implicit;t.R7$(),t.Y8G("attribute",e)}}function It(r,i){if(1&r&&(t.qex(0),t.j41(1,"span",3),t.EFF(2),t.nI1(3,"cxTranslate"),t.k0s(),t.DNE(4,ht,2,1,"div",4),t.nrm(5,"cx-configurator-textfield-add-to-cart-button",5),t.bVm()),2&r){const e=t.XpG().ngIf;t.R7$(2),t.SpI(" ",t.bMT(3,3,"configurator.a11y.editAttributesAndValues")," "),t.R7$(2),t.Y8G("ngForOf",e.configurationInfos),t.R7$(),t.Y8G("configuration",e)}}function Rt(r,i){if(1&r&&(t.j41(0,"div",6),t.nrm(1,"cx-configurator-textfield-input-field-readonly",8),t.k0s()),2&r){const e=i.$implicit;t.R7$(),t.Y8G("attribute",e)}}function yt(r,i){if(1&r&&(t.j41(0,"span",3),t.EFF(1),t.nI1(2,"cxTranslate"),t.k0s(),t.DNE(3,Rt,2,1,"div",4)),2&r){const e=t.XpG().ngIf;t.R7$(),t.SpI(" ",t.bMT(2,2,"configurator.a11y.listOfAttributesAndValues")," "),t.R7$(2),t.Y8G("ngForOf",e.configurationInfos)}}function Ft(r,i){if(1&r&&(t.qex(0),t.DNE(1,It,6,5,"ng-container",2),t.nI1(2,"async"),t.DNE(3,yt,4,4,"ng-template",null,0,t.C5r),t.bVm()),2&r){const e=t.sdS(4),n=t.XpG();t.R7$(),t.Y8G("ngIf",t.bMT(2,2,n.isEditable$))("ngIfElse",e)}}var O;!function(r){let i;var e;(e=i=r.ConfigurationStatus||(r.ConfigurationStatus={})).SUCCESS="SUCCESS",e.ERROR="ERROR"}(O||(O={}));const j="productConfigurationTextfield",d="[ConfiguratorTextfield] Configuration Data",A="[Configurator] Create Configuration Textfield",D="[Configurator] Create Configuration Textfield Success",x="[Configurator] Update Configuration Textfield",b="[Configurator] Add to cart Textfield",m="[Configurator] Read cart entry configuration Textfield",N="[Configurator] Read cart entry configuration Textfield Success",U="[Configurator] Read order entry configuration textfield",L="[Configurator] Read order entry configuration textfield Success",S="[Configurator] Update cart entry configuration Textfield",M="[Configurator] Remove Configuration Textfield";class H extends a.phh.LoaderLoadAction{constructor(i){super(d),this.payload=i,this.type=A}}class z extends a.phh.LoaderFailAction{constructor(i){super(d,i),this.payload=i,this.type="[Configurator] Create Configuration Textfield Fail"}}class Q extends a.phh.LoaderSuccessAction{constructor(i){super(d),this.payload=i,this.type=D}}class J extends a.phh.LoaderLoadAction{constructor(i){super(d),this.payload=i,this.type=x}}class Z extends a.phh.LoaderLoadAction{constructor(i){super(d),this.payload=i,this.type=b}}class q extends a.phh.LoaderFailAction{constructor(i){super(d,i),this.payload=i,this.type="[Configurator] Add to cart Textfield Fail"}}class tt extends a.phh.LoaderLoadAction{constructor(i){super(d),this.payload=i,this.type=S}}class et extends a.phh.LoaderFailAction{constructor(i){super(d,i),this.payload=i,this.type="[Configurator] Update cart entry configuration Textfield Fail"}}class rt extends a.phh.LoaderLoadAction{constructor(i){super(d),this.payload=i,this.type=m}}class nt extends a.phh.LoaderSuccessAction{constructor(i){super(d),this.payload=i,this.type=N}}class ot extends a.phh.LoaderFailAction{constructor(i){super(d,i),this.payload=i,this.type="[Configurator] Read cart entry configuration Textfield Fail"}}class it extends a.phh.LoaderLoadAction{constructor(i){super(d),this.payload=i,this.type=U}}class at extends a.phh.LoaderSuccessAction{constructor(i){super(d),this.payload=i,this.type=L}}class st extends a.phh.LoaderFailAction{constructor(i){super(d,i),this.payload=i,this.type="[Configurator] Read order entry configuration textfield Fail"}}
1class P extends a.phh.LoaderResetAction{constructor(){super(d),this.type=M}}const w=(0,p.UX)(j),I=(0,p.Mz)(w,r=>r.loaderState.value);let ct=(()=>{class r{constructor(e,n,o,s){this.store=e,this.activeCartService=n,this.configuratorUtils=o,this.userIdService=s,this.ensureConfigurationDefined=u=>u??{configurationInfos:[],owner:g.Wd.createInitialOwner()}}createConfiguration(e){return this.store.pipe((0,p.Lt)(w),(0,G.M)(n=>{const o=n.loaderState.value;(void 0===o||g.Wd.isInitialOwner(o.owner))&&!n.loaderState.loading&&this.store.dispatch(new H({productCode:e.id,owner:e}))}),(0,f.T)(n=>n.loaderState.value),(0,y.p)(n=>!this.isConfigurationInitial(n)),(0,f.T)(this.ensureConfigurationDefined))}updateConfiguration(e){this.store.pipe((0,p.Lt)(I),(0,T.s)(1)).subscribe(n=>{n&&this.store.dispatch(new J(this.createNewConfigurationWithChange(e,n)))})}addToCart(e,n){this.activeCartService.requireLoadedCart().pipe((0,T.s)(1)).subscribe(o=>{this.userIdService.getUserId().pipe((0,T.s)(1)).subscribe(s=>{const u={userId:s,cartId:this.configuratorUtils.getCartId(o),productC
1ode:e,configuration:n,quantity:1};this.store.dispatch(new Z(u))})})}updateCartEntry(e,n){this.activeCartService.requireLoadedCart().pipe((0,T.s)(1)).subscribe(o=>{this.userIdService.getUserId().pipe((0,T.s)(1)).subscribe(s=>{const u={userId:s,cartId:this.configuratorUtils.getCartId(o),cartEntryNumber:e,configuration:n};this.store.dispatch(new tt(u))})})}readConfigurationForCartEntry(e){return this.activeCartService.requireLoadedCart().pipe((0,l.n)(n=>this.userIdService.getUserId().pipe((0,T.s)(1),(0,f.T)(o=>({cart:n,userId:o}))).pipe((0,f.T)(o=>({userId:o.userId,cartId:this.configuratorUtils.getCartId(o.cart),cartEntryNumber:e.id,owner:e})),(0,G.M)(o=>this.store.dispatch(new rt(o))),(0,l.n)(()=>this.store.pipe((0,p.Lt)(I))),(0,y.p)(o=>!this.isConfigurationInitial(o)),(0,f.T)(this.ensureConfigurationDefined))))}readConfigurationForOrderEntry(e){const n=this.configuratorUtils.decomposeOwnerId(e.id);return this.store.dispatch(new it({userId:a.CGh,orderId:n.documentId,orderEntryNumber:n.entryNumber,owner:e})),this.store.pipe((0,p.Lt)(I),(0,y.p)(s=>!this.isConfigurationInitial(s)),(0,f.T)(this.ensureConfigurationDefined))}createNewConfigurationWithChange(e,n){const o={configurationInfos:[],owner:n.owner};return n.configurationInfos.forEach(s=>{s.configurationLabel===e.configurationLabel?(e.status=O.ConfigurationStatus.SUCCESS,o.configurationInfos.push(e)):o.configurationInfos.push(s)}),o}isConfigurationInitial(e){return void 0===e||g.Wd.isInitialOwner(e.owner)}static{this.\u0275fac=function(n){return new(n||r)(t.KVO(p.il),t.KVO(F.NL),t.KVO(g.BU),t.KVO(a.y9w))}}static{this.\u0275prov=t.jDH({token:r,factory:r.\u0275fac,providedIn:"root"})}}return r})(),Ot=(()=>{class r{constructor(e){this.configuratorTextfieldService=e}onAddToCart(){const e=this.configuration.owner;switch(e.type){case g.l2.OwnerType.PRODUCT:this.configuratorTextfieldService.addToCart(e.id,this.configuration);break;case g.l2.OwnerType.CART_ENTRY:this.configuratorTextfieldService.updateCartEntry(e.id,this.configuration)}}getButtonText(){return this.configuration.owner.type===g.l2.OwnerType.CART_ENTRY?"configurator.addToCart.buttonUpdateCart":"configurator.addToCart.button"}static{this.\u0275fac=function(n){return new(n||r)(t.rXU(ct))}}static{this.\u0275cmp=t.VBU({type:r,selectors:[["cx-configurator-textfield-add-to-cart-button"]],inputs:{configuration:"configuration",productCode:"productCode"},standalone:!1,decls:4,vars:7,consts:[[1,"cx-btn","btn","btn-block","btn-primary","cx-add-to-cart-btn",3,"click","routerLink"]],template:function(n,o){1&n&&(t.j41(0,"button",0),t.nI1(1,"cxUrl"),t.bIt("click",function(){return o.onAddToCart()}),t.EFF(2),t.nI1(3,"cxTranslate"),t.k0s()),2&n&&(t.Y8G("routerLink",t.bMT(1,2,t.lJ4(6,_t))),t.R7$(2),t.SpI(" ",t.bMT(3,4,o.getButtonText()),"\n"))},dependencies:[$.Wk,a.D97,a._xc],encapsulation:2,changeDetection:0})}}return r})(),At=(()=>{class r{constructor(){this.PREFIX_TEXTFIELD="cx-configurator-textfield",this.attributeInputForm=new _.hs(""),this.inputChange=new t.bkB}ngOnInit(){this.attributeInputForm.setValue(this.attribute.configurationValue)}onInputChange(){this.inputChange.emit({configurationLabel:this.attribute.configurationLabel,configurationValue:this.attributeInputForm.value})}getIdLabel(e){return this.PREFIX_TEXTFIELD+"label"+this.getLabelForIdGeneration(e)}getId(e){return this.PREFIX_TEXTFIELD+this.getLabelForIdGeneration(e)}getLabelForIdGeneration(e){return e.configurationLabel.replace(/\s/g,"")}static{this.\u0275fac=function(n){return new(n||r)}}static{this.\u0275cmp=t.VBU({type:r,selectors:[["cx-configurator-textfield-input-field"]],inputs:{attribute:"attribute"},outputs:{inputChange:"inputChange"},standalone:!1,decls:6,vars:13,consts:[[1,"cx-configurator-textfield-label",3,"id"],[1,"form-group"],[1,"form-control",3,"change","formControl"]],template:function(n,o){1&n&&(t.j41(0,"label",0),t.nI1(1,"cxTranslate"),t.EFF(2),t.k0s(),t.j41(3,"div",1)(4,"input",2),t.nI1(5,"cxTranslate"),t.bIt("change",function(){return o.onInputChange()}),t.k0s()()),2&n&&(t.FS9("id",o.getIdLabel(o.attribute)),t.BMQ("aria-label",t.bMT(1,5,"configurator.a11y.nameOfAttribute")),t.R7$(2),t.JRh(o.attribute.configurationLabel),t.R7$(2),t.Y8G("formControl",o.attributeInputForm),t.BMQ("aria-label",t.i5U(5,7,"configurator.a11y.valueOfAttributeFull",t.l_i(10,Y,o.attribute.configurationValue,o.attribute.configurationLabel))))},dependencies:[_.me,_.BC,_.l_,a.D97],encapsulation:2,changeDetection:0})}}return r})(),Dt=(()=>
1{class r{constructor(){this.PREFIX_TEXTFIELD="cx-configurator-textfield"}getIdLabel(e){return this.PREFIX_TEXTFIELD+"label"+this.getLabelForIdGeneration(e)}getLabelForIdGeneration(e){return e.configurationLabel.replace(/\s/g,"")}static{this.\u0275fac=function(n){return new(n||r)}}static{this.\u0275cmp=t.VBU({type:r,selectors:[["cx-configurator-textfield-input-field-readonly"]],inputs:{attribute:"attribute"},standalone:!1,decls:7,vars:11,consts:[[1,"cx-visually-hidden",3,"id"],["aria-hidden","true"]],template:function(n,o){1&n&&(t.j41(0,"span",0),t.EFF(1),t.nI1(2,"cxTranslate"),t.k0s(),t.j41(3,"label",1),t.EFF(4),t.k0s(),t.j41(5,"div",1),t.EFF(6),t.k0s()),2&n&&(t.FS9("id",o.getIdLabel(o.attribute)),t.R7$(),t.SpI(" ",t.i5U(2,5,"configurator.a11y.valueOfAttributeFull",t.l_i(8,Y,o.attribute.configurationValue,o.attribute.configurationLabel)),"\n"),t.R7$(2),t.BMQ("aria-describedby",o.getIdLabel(o.attribute)),t.R7$(),t.JRh(o.attribute.configurationLabel),t.R7$(2),t.SpI(" ",o.attribute.configurationValue,"\n"))},dependencies:[a.D97],encapsulation:2,changeDetection:0})}}return r})(),xt=(()=>{class r{constructor(e,n){this.configuratorTextfieldService=e,this.configRouterExtractorService=n,this.configuration$=this.configRouterExtractorService.extractRouterData().pipe((0,l.n)(o=>{switch(o.owner.type){case g.l2.OwnerType.CART_ENTRY:return this.configuratorTextfieldService.readConfigurationForCartEntry(o.owner);case g.l2.OwnerType.ORDER_ENTRY:return this.configuratorTextfieldService.readConfigurationForOrderEntry(o.owner);default:return this.configuratorTextfieldService.createConfiguration(o.owner)}})),this.isEditable$=this.configRouterExtractorService.extractRouterData().pipe((0,f.T)(o=>o.pageType===g.FK.PageType.CONFIGURATION))}updateConfiguration(e){this.configuratorTextfieldService.updateConfiguration(e)}static{this.\u0275fac=function(n){return new(n||r)(t.rXU(ct),t.rXU(g.w2))}}static{this.\u0275cmp=t.VBU({type:r,selectors:[["cx-configurator-textfield-form"]],standalone:!1,decls:2,vars:3,consts:[["readonly",""],[4,"ngIf"],[4,"ngIf","ngIfElse"],[1,"cx-visually-hidden"],["class","cx-attribute",4,"ngFor","ngForOf"],[3,"configuration"],[1,"cx-attribute"],[3,"inputChange","attribute"],[3,"attribute"]],template:function(n,o){1&n&&(t.DNE(0,Ft,5,4,"ng-container",1),t.nI1(1,"async")),2&n&&t.Y8G("ngIf",t.bMT(1,1,o.configuration$))},dependencies:[E.Sq,E.bT,At,Dt,Ot,E.Jj,a.D97],encapsulation:2})}}return r})(),bt=(()=>{class r{static{this.\u0275fac=function(n){return new(n||r)}}static{this.\u0275mod=t.$C({type:r})}static{this.\u0275inj=t.G2t({providers:[(0,a.rxX)({cmsComponents:{TextfieldConfigurationForm:{component:xt}}})],imports:[$.iI,_.YN,_.X1,Tt.MQ,E.MD,a.LP3,a.YYe]})}}return r})();class ut{}let dt=(()=>{class r{constructor(e){this.adapter=e}createConfiguration(e,n){return this.adapter.createConfiguration(e,n)}readConfigurationForCartEntry(e){return this.adapter.readConfigurationForCartEntry(e)}readConfigurationForOrderEntry(e){return this.adapter.readConfigurationForOrderEntry(e)}updateConfigurationForCartEntry(e){return this.adapter.updateConfigurationForCartEntry(e)}addToCart(e){return this.adapter.addToCart(e)}static{this.\u0275fac=function(n){return new(n||r)(t.KVO(ut))}}static{this.\u0275prov=t.jDH({token:r,factory:r.\u0275fac})}}return r})();const mt=[(()=>{class r{constructor(e,n){this.actions$=e,this.configuratorTextfieldConnector=n,this.logger=(0,t.WQX)(a.gPJ),this.createConfiguration$=(0,C.EH)(()=>this.actions$.pipe((0,C.gp)(A),(0,f.T)(o=>o.payload),(0,l.n)(o=>this.configuratorTextfieldConnector.createConfiguration(o.productC
1ode,o.owner).pipe((0,l.n)(s=>[new Q(s)]),(0,h.W)(s=>(0,v.of)(new z((0,a.fT_)(s,this.logger)))))))),this.addToCart$=(0,C.EH)(()=>this.actions$.pipe((0,C.gp)(b),(0,f.T)(o=>o.payload),(0,l.n)(o=>this.configuratorTextfieldConnector.addToCart(o).pipe((0,l.n)(()=>[new P,new B.Em.LoadCart({cartId:o.cartId,userId:o.userId})]),(0,h.W)(s=>(0,v.of)(new q((0,a.fT_)(s,this.logger)))))))),this.updateCartEntry$=(0,C.EH)(()=>this.actions$.pipe((0,C.gp)(S),(0,f.T)(o=>o.payload),(0,l.n)(o=>this.configuratorTextfieldConnector.updateConfigurationForCartEntry(o).pipe((0,l.n)(()=>[new P,new B.Em.LoadCart({cartId:o.cartId,userId:o.userId})]),(0,h.W)(s=>(0,v.of)(new et((0,a.fT_)(s,this.logger)))))))),this.readConfigurationForCartEntry$=(0,C.EH)(()=>this.actions$.pipe((0,C.gp)(m),(0,l.n)(o=>this.configuratorTextfieldConnector.readConfigurationForCartEntry(o.payload).pipe((0,l.n)(u=>[new nt(u)]),(0,h.W)(u=>[new ot((0,a.fT_)(u,this.logger))]))))),this.readConfigurationForOrderEntry$=(0,C.EH)(()=>this.actions$.pipe((0,C.gp)(U),(0,l.n)(o=>this.configuratorTextfieldConnector.readConfigurationForOrderEntry(o.payload).pipe((0,l.n)(u=>[new at(u)]),(0,h.W)(u=>[new st((0,a.fT_)(u,this.logger))])))))}static{this.\u0275fac=function(n){return new(n||r)(t.KVO(C.En),t.KVO(dt))}}static{this.\u0275prov=t.jDH({token:r,factory:r.\u0275fac})}}return r})()],ft={configurationInfos:[],owner:g.Wd.createInitialOwner()};function Nt(r=ft,i){switch(i.type){case D:case N:case L:case x:return{...r,...i.payload};case M:return ft}return r}const lt=new t.nKC("ConfiguratorReducers"),Lt={provide:lt,useFactory:function Ut(){return{loaderState:a.phh.loaderReducer(d,Nt)}}};let St=(()=>{class r{static{this.\u0275fac=function(n){return new(n||r)}}static{this.\u0275mod=t.$C({type:r})}static{this.\u0275inj=t.G2t({providers:[Lt],imports:[E.MD,a.ivS,p.md.forFeature(j,lt),C.Vm.forFeature(mt)]})}}return r})(),Mt=(()=>{class r{static{this.\u0275fac=function(n){return new(n||r)}}static{this.\u0275mod=t.$C({type:r})}static{this.\u0275inj=t.G2t({providers:[dt],imports:[St]})}}return r})(),wt=(()=>{class r{constructor(){}convert(e,n){const o=[];return e.configuration?.configurationInfos.forEach(u=>this.convertInfo(u,o)),{...n,userId:e.userId,cartId:e.cartId,product:{code:e.productCode},quantity:e.quantity,configurationInfos:o}}convertInfo(e,n){n.push({configurationLabel:e.configurationLabel,configurationValue:e.configurationValue,status:e.status,configuratorType:"TEXTFIELD"})}static{this.\u0275fac=function(n){return new(n||r)}}static{this.\u0275prov=t.jDH({token:r,factory:r.\u0275fac,providedIn:"root"})}}return r})(),Gt=(()=>{class r{constructor(){}convert(e,n){return{...n,...e}}static{this.\u0275fac=function(n){return new(n||r)}}static{this.\u0275prov=t.jDH({token:r,factory:r.\u0275fac,providedIn:"root"})}}return r})();const R=new t.nKC("ConfigurationNormalizer"),gt=new t.nKC("ConfigurationAddToCartSerializer"),Ct=new t.nKC("ConfigurationUpdateCartEntrySerializer");let $t=(()=>{class r{constructor(e,n,o){this.http=e,this.occEndpointsService=n,this.converterService=o}createConfiguration(e,n){return this.http.get(this.occEndpointsService.buildUrl("createTextfieldConfiguration",{urlParams:{productCode:e}})).pipe(this.converterService.pipeable(R),(0,f.T)(o=>({...o,owner:n})))}addToCart(e){const n=this.occEndpointsService.buildUrl("addTextfieldConfigurationToCart",{urlParams:{userId:e.userId,cartId:e.cartId}}),o=this.converterService.convert(e,gt);return this.http.post(n,o).pipe(this.converterService.pipeable(F._9))}readConfigurationForCartEntry(e){const n=this.occEndpointsService.buildUrl("readTextfieldConfigurationForCartEntry",{urlParams:{userId:e.userId,cartId:e.cartId,cartEntryNumber:e.cartEntryNumber}});return this.http.get(n).pipe(this.converterService.pipeable(R),(0,f.T)(o=>({...o,owner:{...e.owner}})))}readConfigurationForOrderEntry(e){const n=this.occEndpointsService.buildUrl("readTextfieldConfigurationForOrderEntry",{urlParams:{userId:e.userId,orderId:e.orderId,orderEntryNumber:e.orderEntryNumber}});return this.http.get(n).pipe(this.converterService.pipeable(R),(0,f.T)(o=>({...o,owner:{...e.owner}})))}updateConfigurationForCartEntry(e){const n=this.occEndpointsService.buildUrl("updateTextfieldConfigurationForCartEntry",{urlParam
1s:{userId:e.userId,cartId:e.cartId,cartEntryNumber:e.cartEntryNumber}}),o=this.converterService.convert(e,Ct);return this.http.post(n,o).pipe(this.converterService.pipeable(F._9))}static{this.\u0275fac=function(n){return new(n||r)(t.KVO(Et.Qq),t.KVO(a.zxz),t.KVO(a.EmH))}}static{this.\u0275prov=t.jDH({token:r,factory:r.\u0275fac})}}return r})(),Yt=(()=>{class r{constructor(){}convert(e){const n=[];return e.configuration?.configurationInfos.forEach(s=>this.convertInfo(s,n)),{userId:e.userId,cartId:e.cartId,cartEntryNumber:e.cartEntryNumber,configurationInfos:n}}convertInfo(e,n){n.push({configurationLabel:e.configurationLabel,configurationValue:e.configurationValue,status:e.status,configuratorType:"TEXTFIELD"})}static{this.\u0275fac=function(n){return new(n||r)}}static{this.\u0275prov=t.jDH({token:r,factory:r.\u0275fac,providedIn:"root"})}}return r})();function jt(){return{backend:{occ:{endpoints:{createTextfieldConfiguration:"products/${productCode}/configurator/textfield",addTextfieldConfigurationToCart:"users/${userId}/carts/${cartId}/entries/configurator/textfield",readTextfieldConfigurationForCartEntry:"users/${userId}/carts/${cartId}/entries/${cartEntryNumber}/configurator/textfield",readTextfieldConfigurationForOrderEntry:"users/${userId}/orders/${orderId}/entries/${orderEntryNumber}/configurator/textfield",readTextfieldConfigurationForQuoteEntry:"users/${userId}/quotes/${quoteId}/entries/${quoteEntryNumber}/configurator/textfield",updateTextfieldConfigurationForCartEntry:"users/${userId}/carts/${cartId}/entries/${cartEntryNumber}/configurator/textfield"}}}}}let Kt=(()=>{class r{static{this.\u0275fac=function(n){return new(n||r)}}static{this.\u0275mod=t.$C({type:r})}static{this.\u0275inj=t.G2t({providers:[{provide:ut,useClass:$t},{provide:R,useExisting:Gt,multi:!0},{provide:gt,useExisting:wt,multi:!0},{provide:Ct,useExisting:Yt,multi:!0}],imports:[E.MD,a.htr.withConfigFactory(jt)]})}}return r})(),Vt=(()=>{class r{static{this.\u0275fac=function(n){return new(n||r)}}static{this.\u0275mod=t.$C({type:r})}static{this.\u0275inj=t.G2t({imports:[Mt,bt,Kt]})}}return r})()}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.