1import {S}from'./chunk-B2vK_xMt.js';import {_}from'./chunk-DxAoeUdk.js';import {E as En,D as De}from'./chunk-DFWdtebV.js';import'./chunk-DvLFd6NQ.js';import'./chunk-BGOHF1M9.js';import {c as ce}from'./chunk-BRsHFk4j.js';import'./chunk-C0DmzTpz.js';import {R as Ri}from'./chunk-D46YmFa5.js';import {c3 as Xr,E,D,V,bK as P,bI as Gt,aE as ut$1,v as vr,e as f,X as Xb,T as Tt,cn as pe,d4 as Pe,j as Xv,N as Ng,z as zg,w as w0,H as H0,Z as Zx,k as dn,l as zw,s as sk,n as nd,r as rC,m as wC,o as mv,p as GC,t as tD,q as vD,aO as cD,aP as hD,b0 as _D,aX as mD,u as al,x as tM,y as dM,L as Lb,A as r1,P as P1,B as xS,C as Vs,F as zs,I as Fi,J as GS,K as iI,M as RI,Q as us,S as ms,Y as UI,_ as tE,$ as Dn,a0 as ME,a1 as ny,a2 as go,a3 as Kd,av as on,a4 as XE,a5 as LT,a6 as mA,a7 as mt$1,aM as QM,a8 as fy,aa as Js,ac as H_,ae as pS,ad as gd,aB as ey,a9 as ZT,ai as dy,bn as nS,ag as SC,aj as jy,al as gS,ah as YT,b8 as an,b9 as Wm,bu as Ts,df as Wc,bv as Og,bQ as Zs,dg as xc,bN as Gc,b2 as da,cp as xr,da as wr,bA as Nw,d0 as Jv,cS as ey$1,cT as iy,cU as ty,bV as zy,bW as W_,bD as db,ab as Ey,bX as $y,bE as pb,ak as Ed,aR as i_,aS as Vp,aT as d_,aU as Hp,bg as mS,b5 as ly,af as XT,aV as KT,am as JT}from'./main-4WA6AAHG.js';import'./chunk-CkU8oUfw.js';var tt=(()=>{class i{constructor(e,o,t,d,l,be){this.dialogRef=e,this.data=o,this.pointsAdminService=t,this.loadingService=d,this.errorService=l,this.toastr=be,this.isEdit=false,this.model={nameAr:"",nameEn:"",basePoints:0,basePointValueSar:.05,notes:null,sortOrder:0,minPlanLevel:0},o.package&&(this.isEdit=true,this.model=D({},o.package));}save(){this.loadingService.loadingOn(),(this.isEdit?this.pointsAdminService.updatePackage(this.model):this.pointsAdminService.createPackage(this.model)).subscribe({next:o=>{this.loadingService.loadingOff(),o.succeeded?(this.toastr.success("Saved Successfully"),this.dialogRef.close(true)):this.errorService.setError(o,"Failed to save");},error:o=>{this.loadingService.loadingOff(),this.errorService.setError(o,"Failed to save");}});}static{this.\u0275fac=function(o){return new(o||i)(V(an),V(Wm),V(S),V(P),V(Gt),V(ut$1))};}static{this.\u0275cmp=Xb({type:i,selectors:[["app-package-dialog"]],decls:51,vars:42,consts:[["mat-dialog-title",""],["appearance","outline",1,"w-100","m-b-8"],["matInput","","required","",3,"ngModelChange","ngModel"],["matInput","","type","number","step","any","required","",3,"ngModelChange","ngModel"],["matInput","","type","number","step","0.001","required","",3,"ngModelChange","ngModel"],["matInput","","type","number","required","",3,"ngModelChange","ngModel"],["matInput","","type","number","min","0",3,"ngModelChange","ngModel"],["matInput","","maxLength","500","rows","3",3,"ngModelChange","ngModel"],["align","end"],["mat-stroked-button","","mat-dialog-close",""],["mat-flat-button","","color","primary",3,"click","disabled"]],template:function(o,t){o&1&&(Js(0,"h2",0),H_(1),pS(2,"translate"),gd(),Js(3,"mat-dialog-content")(4,"mat-form-field",1)(5,"mat-label"),H_(6),pS(7,"translate"),gd(),Js(8,"input",2),zy("ngModelChange",function(l){return W_(t.model.nameAr,l)||(t.model.nameAr=l),l}),gd(),db(),gd(),Js(9,"mat-form-field",1)(10,"mat-label"),H_(11),pS(12,"translate"),gd(),Js(13,"input",2),zy("ngModelChange",function(l){return W_(t.model.nameEn,l)||(t.model.nameEn=l),l}),gd(),db(),gd(),Js(14,"mat-form-field",1)(15,"mat-label"),H_(16),pS(17,"translate"),gd(),Js(18,"input",3),zy("ngModelChange",function(l){return W_(t.model.basePoints,l)||(t.model.basePoints=l),l}),gd(),db(),gd(),Js(19,"mat-form-field",1)(20,"mat-label"),H_(21),pS(22,"translate"),gd(),Js(23,"input",4),zy("ngModelChange",function(l){return W_(t.model.basePointValueSar,l)||(t.model.basePointValueSar=l),l}),gd(),db(),gd(),Js(24,"mat-form-field",1)(25,"mat-label"),H_(26),pS(27,"translate"),gd(),Js(28,"input",5),zy("ngModelChange",function(l){return W_(t.model.sortOrder,l)||(t.model.sortOrder=l),l}),gd(),db(),gd(),Js(29,"mat-form-field",1)(30,"mat-label"),H_(31),pS(32,"translate"),gd(),Js(33,"input",6),zy("ngModelChange",function(l){return W_(t.model.minPlanLevel,l)||(t.model.minPlanLevel=l),l}),gd(),db(),Js(34,"mat-hint"),H_(35),pS(36,"translate"),gd()(),Js(37,"mat-form-field",1)(38,"mat-label"),H_(39),pS(40,"translate"),gd(),Js(41,"textarea",7),zy("ngModelChange",function(l){return W_(t.model.notes,l)||(t.model.notes=l),l}),gd(),db(),Js(42,"mat-hint",8),H_(43),gd()()(),Js(44,"mat-dialog-actions",8)(45,"button",9),H_(46),pS(47,"translate"),gd(),Js(48,"button",10),Ey("click",function(){return t.save()}),H_(49),pS(50,"translate"),gd()()),o&2&&(SC(),jy(gS(2,20,t.isEdit?"Edit Package":"Add Package")),SC(5),jy(gS(7,22,"Name (AR)")),SC(2),$y("ngModel",t.model.nameAr),pb(),SC(3),jy(gS(12,24,"Name (EN)")),SC(2),$y("ngModel",t.model.nameEn),pb(),SC(3),jy(gS(17,26,"Base Points")),SC(2),$y("ngModel",t.model.basePoints),pb(),SC(3),jy(gS(22,28,"Point Value (SAR)")),SC(2),$y("ngModel",t.model.basePointValueSar),pb(),SC(3),jy(gS(27,30,"Sort Order")),SC(2),$y("ngModel",t.model.sortOrder),pb(),SC(3),jy(gS(32,32,"Minimum plan level")),SC(2),$y("ngModel",t.model.minPlanLevel),pb(),SC(2),jy(gS(36,34,"Only clients on a plan at this level or higher are offered this package. Leave 0 for everyone.")),SC(4),jy(gS(40,36,"Notes")),SC(2),$y("ngModel",t.model.notes),pb(),SC(2),Ed("",t.model.notes?.length||0,"/500"),SC(3),jy(gS(47,38,"Cancel")),SC(2),dy("disabled",!t.model.nameAr||!t.model.nameEn),SC(),Ed(" ",gS(50,40,"Save")," "));},dependencies:[Tt,Xv,Ng,Ts,Wc,Og,Zs,xc,Gc,zg,w0,H0,Zx,dn,da,xr,wr,zw,Nw,sk,nd,rC,wC,mv,GC,tD,vD,al,tM,dM,Lb,r1,P1,xS,Vs,zs,GS,iI,RI,us,UI,tE,Dn,ME,ny,Jv,ey$1,iy,ty,go,Kd,XE,LT,mA,mt$1],encapsulation:2,changeDetection:1});}}return i})();var ot=(()=>{class i{constructor(e,o,t,d,l,be){this.dialogRef=e,this.data=o,this.pointsAdminService=t,this.loadingService=d,this.errorService=l,this.toastr=be,this.isEdit=false,this.tierId=0,this.minPoints=0,this.discountPercent=0,this.packageId=o.packageId,o.tier&&(this.isEdit=true,this.tierId=o.tier.id,this.minPoints=o.tier.minPoints,this.discountPercent=o.tier.discountPercent);}save(){this.loadingService.loadingOn(),(this.isEdit?this.pointsAdminService.updateTier({tierId:this.tierId,minPoints:this.minPoints,discountPercent:this.discountPercent}):this.pointsAdminService.createTier({packageId:this.packageId,minPoints:this.minPoints,discountPercent:this.discountPercent})).subscribe({next:o=>{this.loadingService.loadingOff(),o.succeeded?(this.toastr.success("Saved Successfully"),this.dialogRef.close(true)):this.errorService.setError(o,"Failed to save");},error:o=>{this.loadingService.loadingOff(),this.errorService.setError(o,"Failed to save");}});}static{this.\u0275fac=function(o){return new(o||i)(V(an),V(Wm),V(S),V(P),V(Gt),V(ut$1))};}static{this.\u0275cmp=Xb({type:i,selectors:[["app-tier-dialog"]],decls:21,vars:18,consts:[["mat-dialog-title",""],["appearance","outline",1,"w-100","m-b-8"],["matInput","","type","number","step","any","required","",3,"ngModelChange","ngModel"],["matInput","","type","number","step","0.01","required","",3,"ngModelChange","ngModel"],["align","end"],["mat-stroked-button","","mat-dialog-close",""],["mat-flat-button","","color","primary",3,"click","disabled"]],template:function(o,t){o&1&&(Js(0,"h2",0),H_(1),pS(2,"translate"),gd(),Js(3,"mat-dialog-content")(4,"mat-form-field",1)(5,"mat-label"),H_(6),pS(7,"translate"),gd(),Js(8,"input",2),zy("ngModelChange",function(l){return W_(t.minPoints,l)||(t.minPoints=l),l}),gd(),db(),gd(),Js(9,"mat-form-field",1)(10,"mat-label"),H_(11),pS(12,"translate"),gd(),Js(13,"input",3),zy("ngModelChange",function(l){return W_(t.discountPercent,l)||(t.discountPercent=l),l}),gd(),db(),gd()(),Js(14,"mat-dialog-actions",4)(15,"button",5),H_(16),pS(17,"translate"),gd(),Js(18,"button",6),Ey("click",function(){return t.save()}),H_(19),pS(20,"translate"),gd()()),o&2&&(SC(),jy(gS(2,8,t.isEdit?"Edit Tier":"Add Tier")),SC(5),jy(gS(7,10,"Min Points")),SC(2),$y("ngModel",t.minPoints),pb(),SC(3),jy(gS(12,12,"Discount %")),SC(2),$y("ngModel",t.discountPercent),pb(),SC(3),jy(gS(17,14,"Cancel")),SC(2),dy("disabled",!t.minPoints||!t.discountPercent),SC(),Ed(" ",gS(20,16,"Save")," "));},dependencies:[Tt,Xv,Ng,Ts,Wc,Og,Zs,Gc,zg,w0,H0,Zx,dn,da,xr,zw,Nw,sk,nd,rC,wC,mv,GC,tD,vD,al,tM,dM,Lb,r1,P1,xS,Vs,zs,GS,iI,RI,us,UI,tE,Dn,ME,ny,Jv,ey$1,iy,ty,go,Kd,XE,LT,mA,mt$1],encapsulation:2,changeDetection:1});}}return i})();var nt=()=>["Set the base value in SAR per point \u2014 this is what one point costs before any discount.","Add a volume tier for each threshold: from this many points upward, apply this discount percentage.","Bonus points on top-up come from the plan the client is on, and are separate from these volume discounts.","Purchased points stay valid for one year; points included with a plan expire at the end of the billing cycle."],ve=()=>["Admin_AdjustPoints"];function at(i,c){if(i&1){let e=i_();Js(0,"button",16),Ey("click",function(){Vp(e);let t=d_();return Hp(t.openPackageDialog(null))}),Js(1,"mat-icon"),H_(2,"add"),gd(),H_(3),pS(4,"translate"),gd();}i&2&&(SC(3),Ed(" ",gS(4,1,"Add Package")," "));}function rt(i,c){if(i&1&&H_(0),i&2){let e=c.$implicit;jy(e.nameAr);}}function lt(i,c){if(i&1&&H_(0),i&2){let e=c.$implicit;jy(e.nameEn);}}function mt(i,c){if(i&1&&(H_(0),pS(1,"number")),i&2){let e=c.$implicit;
1jy(mS(1,1,e.basePoints,"1.0-2"));}}function st(i,c){if(i&1&&(H_(0),pS(1,"number")),i&2){let e=c.$implicit;jy(mS(1,1,e.basePointValueSar,"1.3-3"));}}function pt(i,c){if(i&1&&H_(0),i&2){let e=c.$implicit;jy(e.sortOrder);}}function dt(i,c){if(i&1&&(fy(0,"app-badge",17),pS(1,"translate")),i&2){let e=c.$implicit;dy("type",e.isActive?"success":"error")("label",gS(1,2,e.isActive?"Active":"Inactive"));}}function ct(i,c){if(i&1){let e=i_();Js(0,"button",21),pS(1,"translate"),pS(2,"translate"),Ey("click",function(){Vp(e);let t=d_().$implicit,d=d_();return Hp(d.openPackageDialog(t))}),Js(3,"mat-icon"),H_(4,"edit"),gd()();}i&2&&(dy("matTooltip",gS(1,2,"Edit")),ly("aria-label",gS(2,4,"Edit")));}function ut(i,c){if(i&1){let e=i_();Js(0,"button",22),pS(1,"translate"),pS(2,"translate"),Ey("click",function(){Vp(e);let t=d_().$implicit,d=d_();return Hp(d.togglePackage(t))}),Js(3,"mat-icon"),H_(4),gd()();}if(i&2){let e=d_().$implicit;dy("color",e.isActive?"warn":"primary")("matTooltip",gS(1,4,e.isActive?"Deactivate":"Activate")),ly("aria-label",gS(2,6,e.isActive?"Deactivate":"Activate")),SC(4),jy(e.isActive?"block":"check_circle");}}function gt(i,c){if(i&1){let e=i_();ey(0,ct,5,6,"button",18)(1,ut,5,8,"button",19),Js(2,"button",20),pS(3,"translate"),pS(4,"translate"),Ey("click",function(){let t=Vp(e).$implicit,d=d_();return Hp(d.toggleTiers(t.id))}),Js(5,"mat-icon"),H_(6,"layers"),gd()();}i&2&&(dy("ngxPermissionsOnly",nS(8,ve)),SC(),dy("ngxPermissionsOnly",nS(9,ve)),SC(),dy("matTooltip",gS(3,4,"Manage Tiers")),ly("aria-label",gS(4,6,"Manage Tiers")));}function ft(i,c){if(i&1){let e=i_();Js(0,"button",24),Ey("click",function(){Vp(e);let t=d_(2);return Hp(t.openTierDialog(t.expandedPackageId))}),Js(1,"mat-icon"),H_(2,"add"),gd(),H_(3),pS(4,"translate"),gd();}i&2&&(SC(3),Ed(" ",gS(4,1,"Add Tier")," "));}function Mt(i,c){if(i&1&&(H_(0),pS(1,"number")),i&2){let e=c.$implicit;jy(mS(1,1,e.minPoints,"1.0-2"));}}function _t(i,c){if(i&1&&H_(0),i&2){let e=c.$implicit;Ed("",e.discountPercent,"%");}}function ht(i,c){if(i&1){let e=i_();Js(0,"button",21),pS(1,"translate"),pS(2,"translate"),Ey("click",function(){Vp(e);let t=d_().$implicit,d=d_(2).$implicit,l=d_(2);return Hp(l.openTierDialog(d.id,t))}),Js(3,"mat-icon"),H_(4,"edit"),gd()();}i&2&&(dy("matTooltip",gS(1,2,"Edit")),ly("aria-label",gS(2,4,"Edit")));}function Ct(i,c){if(i&1){let e=i_();Js(0,"button",30),pS(1,"translate"),pS(2,"translate"),Ey("click",function(){Vp(e);let t=d_().$implicit,d=d_(4);return Hp(d.confirmDeleteTier(t.id))}),Js(3,"mat-icon"),H_(4,"delete"),gd()();}i&2&&(dy("matTooltip",gS(1,2,"Delete")),ly("aria-label",gS(2,4,"Delete")));}function Pt(i,c){i&1&&ey(0,ht,5,6,"button",18)(1,Ct,5,6,"button",29),i&2&&(dy("ngxPermissionsOnly",nS(2,ve)),SC(),dy("ngxPermissionsOnly",nS(3,ve)));}function St(i,c){i&1&&(Js(0,"div",28)(1,"span",31),H_(2),pS(3,"translate"),gd()()),i&2&&(SC(2),jy(gS(3,1,"No tiers defined")));}function vt(i,c){if(i&1&&(Js(0,"div")(1,"app-responsive-table",25),ey(2,Mt,2,4,"ng-template",26)(3,_t,1,1,"ng-template",27)(4,Pt,2,4,"ng-template",14),gd(),ZT(5,St,4,3,"div",28),gd()),i&2){let e=d_().$implicit,o=d_(2);SC(),dy("dataSource",e.tiers)("columns",o.tierColumns),SC(4),YT(e.tiers.length===0?5:-1);}}function bt(i,c){if(i&1&&ZT(0,vt,6,3,"div"),i&2){let e=c.$implicit,o=d_(2);YT(e.id===o.expandedPackageId?0:-1);}}function kt(i,c){if(i&1&&(Js(0,"mat-card",15)(1,"mat-card-header")(2,"mat-card-title")(3,"h5"),H_(4),pS(5,"translate"),gd()()(),Js(6,"mat-card-content",6),ey(7,ft,5,3,"button",23),XT(8,bt,1,1,null,null,KT),gd()()),i&2){let e=d_();SC(4),jy(gS(5,2,"Volume Discount Tiers")),SC(3),dy("ngxPermissionsOnly",nS(4,ve)),SC(),JT(e.packages);}}var Qt=(()=>{class i{constructor(e,o,t,d,l,be){this.pointsAdminService=e,this.loadingService=o,this.errorService=t,this.toastr=d,this.dialog=l,this.dialogConfigService=be,this.packages=[],this.columns=[{key:"nameAr",label:"Name (AR)",priority:1},{key:"nameEn",label:"Name (EN)",priority:1},{key:"basePoints",label:"Base Points",priority:2},{key:"basePointValueSar",label:"Point Value (SAR)",priority:2},{key:"sortOrder",label:"Sort Order",priority:3},{key:"isActive",label:"Status",priority:1},{key:"actions",label:"Actions",priority:1,hideLabel:true,stickyEnd:true}],this.tierColumns=[{key:"minPoints",label:"Min Points",priority:1},{key:"discountPercent",label:"Discount %",priority:1},{key:"actions",label:"Actions",priority:1,hideLabel:true,stickyEnd:true}],this.expandedPackageId=null,this.isLoading=false;}ngOnInit(){this.loadPackages();}loadPackages(){this.isLoading=true,this.loadingService.beginSuppress(),this.pointsAdminService.getPackages(true).pipe(Xr(()=>{this.isLoading=false,this.loadingService.endSuppress();})).subscribe({next:e=>{this.packages=e.succeeded?e.data:[];},error:e=>{this.errorService.setError(e,"Failed to load");}});}openPackageDialog(e=null){let o=this.dialogConfigService.getDefaultDialogConfig();this.dialog.open(tt,E(D({},o),{data:{package:e}})).afterClosed().subscribe(d=>{d&&this.loadPackages();});}togglePackage(e){this.loadingService.loadingOn(),this.pointsAdminService.togglePackage(e.id,!e.isActive).subscribe({next:o=>{this.loadingService.loadingOff(),o.succeeded?(this.toastr.success("Updated Successfully"),this.loadPackages()):this.errorService.setError(o,"Failed to Update");},error:o=>{this.loadingService.loadingOff(),this.errorService.setError(o,"Failed to Update");}});}toggleTiers(e){this.expandedPackageId=this.expandedPackageId===e?null:e;}openTierDialog(e,o=null){let t=this.dialogConfigService.getDefaultDialogConfig();t.width="500px",this.dialog.open(ot,E(D({},t),{data:{packageId:e,tier:o}})).afterClosed().subscribe(l=>{l&&this.loadPackages();});}confirmDeleteTier(e){this.dialog.open(Ri,{data:{confirmed:true}}).afterClosed().subscribe(t=>{(t===true||t?.confirmed)&&this.deleteTier(e);});}deleteTier(e){this.loadingService.loadingOn(),this.pointsAdminService.deleteTier(e).subscribe({next:o=>{this.loadingService.loadingOff(),o.succeeded?(this.toastr.success("Deleted Successfully"),this.loadPackages()):this.errorService.setError(o,"Fail to delete!");},error:o=>{this.loadingService.loadingOff(),this.errorService.setError(o,"Fail to delete!");}});}static{this.\u0275fac=function(o){return new(o||i)(V(S),V(P),V(Gt),V(ut$1),V(vr),
1V(f))};}static{this.\u0275cmp=Xb({type:i,selectors:[["app-admin-points-packages"]],decls:20,vars:11,consts:[["helpKey","admin-points-packages","title","Points packages","intro","How points are priced when a client buys them: a base rate in SAR per point, plus volume tiers that discount larger purchases.","warning","A base value of 0 SAR per point means clients get points for free. Check the rate before enabling top-ups.",3,"steps"],[1,"cardWithShadow","theme-card"],[1,"m-b-0"],[1,"b-t-1"],["mat-flat-button","","color","primary",3,"click",4,"ngxPermissionsOnly"],[1,"cardWithShadow"],[1,"p-24"],[3,"dataSource","columns","loading"],["rtColumnDef","nameAr"],["rtColumnDef","nameEn"],["rtColumnDef","basePoints"],["rtColumnDef","basePointValueSar"],["rtColumnDef","sortOrder"],["rtColumnDef","isActive"],["rtColumnDef","actions"],[1,"cardWithShadow","m-t-16"],["mat-flat-button","","color","primary",3,"click"],[3,"type","label"],["mat-icon-button","","color","primary",3,"matTooltip","click",4,"ngxPermissionsOnly"],["mat-icon-button","",3,"color","matTooltip","click",4,"ngxPermissionsOnly"],["mat-icon-button","","color","accent",3,"click","matTooltip"],["mat-icon-button","","color","primary",3,"click","matTooltip"],["mat-icon-button","",3,"click","color","matTooltip"],["mat-flat-button","","color","primary","class","m-b-16",3,"click",4,"ngxPermissionsOnly"],["mat-flat-button","","color","primary",1,"m-b-16",3,"click"],[3,"dataSource","columns"],["rtColumnDef","minPoints"],["rtColumnDef","discountPercent"],[1,"text-center","p-16"],["mat-icon-button","","color","warn",3,"matTooltip","click",4,"ngxPermissionsOnly"],["mat-icon-button","","color","warn",3,"click","matTooltip"],[1,"text-muted"]],template:function(o,t){o&1&&(fy(0,"app-page-help",0),Js(1,"mat-card",1)(2,"mat-card-header")(3,"mat-card-title",2)(4,"h3"),H_(5),pS(6,"translate"),gd()()(),Js(7,"mat-card-content",3),ey(8,at,5,3,"button",4),gd()(),Js(9,"mat-card",5)(10,"mat-card-content",6)(11,"app-responsive-table",7),ey(12,rt,1,1,"ng-template",8)(13,lt,1,1,"ng-template",9)(14,mt,2,4,"ng-template",10)(15,st,2,4,"ng-template",11)(16,pt,1,1,"ng-template",12)(17,dt,2,4,"ng-template",13)(18,gt,7,10,"ng-template",14),gd()()(),ZT(19,kt,10,5,"mat-card",15)),o&2&&(dy("steps",nS(9,nt)),SC(5),jy(gS(6,7,"Points Packages")),SC(3),dy("ngxPermissionsOnly",nS(10,ve)),SC(3),dy("dataSource",t.packages)("columns",t.columns)("loading",t.isLoading),SC(8),YT(t.expandedPackageId?19:-1));},dependencies:[Tt,ce,_,En,De,pe,Pe,Xv,Ng,zg,w0,H0,Zx,dn,zw,sk,nd,rC,wC,mv,GC,tD,vD,cD,hD,_D,mD,al,tM,dM,Lb,r1,P1,xS,Vs,zs,Fi,GS,iI,RI,us,ms,UI,tE,Dn,ME,ny,go,Kd,on,XE,LT,mA,mt$1,QM],encapsulation:2,changeDetection:1});}}return i})();export{Qt as AdminPointsPackagesComponent};
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.