1import{En as j,Er as ue,Gn as ne,H as Na,Hr as yt,M as Ke,Rn as lt,c as Cr,h as E9,nn as dn,on as ee,rr as pn,rt as S,sr as qe$1,ut as Ue,vr as tn}from"./chunk-B3GTITGw.js";import{St as mi}from"./main-SBOIMMD4.js";function O(t,n=0){return V(t)?Number(t):arguments.length===2?n:0}function V(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}function b(t){return t instanceof Cr?t.nativeElement:t}var M=new j(`cdk-dir-doc`,{providedIn:`root`,factory:()=>S(Ue)});var T=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function F(t){let n=t?.toLowerCase()||``;return n===`auto`&&typeof navigator<`u`&&navigator?.language?T.test(navigator.language)?`rtl`:`ltr`:n===`rtl`?`rtl`:`ltr`}var Z=(()=>{class t{get value(){return this.valueSignal()}valueSignal=lt(`ltr`);change=new dn;constructor(){let e=S(M,{optional:!0});if(e){let r=e.body?e.body.dir:null,i=e.documentElement?e.documentElement.dir:null;this.valueSignal.set(F(r||i||`ltr`))}}ngOnDestroy(){this.change.complete()}static ɵfac=function(r){return new(r||t)};static ɵprov=qe$1({token:t,factory:t.ɵfac})}return t})();var w=(()=>{class t{static ɵfac=function(r){return new(r||t)};static ɵmod=pn({type:t});static ɵinj=tn({})}return t})();var I=20;var qe=(()=>{class t{_ngZone=S(ue);_platform=S(mi);_renderer=S(Na).createRenderer(null,null);_cleanupGlobalListener;_scrolled=new Ke;_scrolledCount=0;scrollContainers=new Map;register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.next(e)))}deregister(e){let r=this.scrollContainers.get(e);r&&(r.unsubscribe(),this.scrollContainers.delete(e))}scrolled(e=I){return this._platform.isBrowser?new ne(r=>{this._cleanupGlobalListener||(this._cleanupGlobalListener=this._ngZone.runOutsideAngular(()=>this._renderer.listen(`document`,`scroll`,()=>this._scrolled.next())));let i=e>0?this._scrolled.pipe(E9(e)).subscribe(r):this._scrolled.subscribe(r);return this._scrolledCount++,()=>{i.unsubscribe(),this._scrolledCount--,this._scrolledCount||(this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0)}}):ee()}ngOnDestroy(){this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0,this.scrollContainers.forEach((e,r)=>this.deregister(r)),this._scrolled.complete()}ancestorScrolled(e,r){let i=this.getAncestorScrollContainers(e);return this.scrolled(r).pipe(yt(o=>!o||i.indexOf(o)>-1))}getAncestorScrollContainers(e){let r=[];return this.scrollContainers.forEach((i,o)=>{this._targetContainsElement(o,e)&&r.push(o)}),r}_targetContainsElement(e,r){let i=b(r),o=e.getElementRef().nativeElement;do if(i==o)return!0;while(i=i.parentElement);return!1}static ɵfac=function(r){return new(r||t)};static ɵprov=qe$1({token:t,factory:t.ɵfac})}return t})();var N=20;var Ye=(()=>{class t{_platform=S(mi);_listeners;_viewportSize=null;_change=new Ke;_document=S(Ue);constructor(){let e=S(ue),r=S(Na).createRenderer(null,null);e.runOutsideAngular(()=>{if(this._platform.isBrowser){let i=o=>this._change.next(o);this._listeners=[r.listen(`window`,`resize`,i),r.listen(`window`,`orientationchange`,i)]}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){this._listeners?.forEach(e=>e()),this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();let e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}getViewportRect(){let e=this.getViewportScrollPosition(),{width:r,height:i}=this.getViewportSize();return{top:e.top,left:e.left,bottom:e.top+i,right:e.left+r,height:i,width:r}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};let e=this._document,r=this._getWindow(),i=e.documentElement,o=i.getBoundingClientRect();return{top:-o.top||e.body?.scrollTop||r.scrollY||i.scrollTop||0,left:-o.left||e.body?.scrollLeft||r.scrollX||i.scrollLeft||0}}change(e=N){return e>0?this._change.pipe(E9(e)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){let e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHe
1ight}:{width:0,height:0}}static ɵfac=function(r){return new(r||t)};static ɵprov=qe$1({token:t,factory:t.ɵfac})}return t})();var k=(()=>{class t{static ɵfac=function(r){return new(r||t)};static ɵmod=pn({type:t});static ɵinj=tn({})}return t})();var Qe=(()=>{class t{static ɵfac=function(r){return new(r||t)};static ɵmod=pn({type:t});static ɵinj=tn({imports:[w,k,w,k]})}return t})();var x=[{label:`Pop`,keywords:[`pop`,`synthpop`,`electropop`,`schlager`,`chanson`]},{label:`Rock`,keywords:[`rock`,`metal`,`punk`,`grunge`,`hardcore`,`emo`,`garage`,`psychedelic`,`stoner`,`prog`,`hard rock`,`classic rock`]},{label:`Indie / Alternative`,keywords:[`indie`,`alternative`,`alt`,`shoegaze`,`lo-fi`,`lofi`,`post-punk`,`new wave`,`dream pop`]},{label:`Hip-Hop / Rap`,keywords:[`hip-hop`,`hip hop`,`hiphop`,`rap`,`trap`,`grime`,`drill`]},{label:`Electronic / Dance`,keywords:[`electronic`,`electronica`,`dance`,`house`,`techno`,`trance`,`edm`,`dnb`,`drum and bass`,`dubstep`,`ambient`,`idm`,`breakbeat`,`downtempo`,`trip-hop`,`trip hop`]},{label:`R&B / Soul`,keywords:[`r&b`,`rnb`,`soul`,`funk`,`motown`,`neo-soul`,`gospel`,`rhythm and blues`]},{label:`Jazz / Blues`,keywords:[`jazz`,`blues`,`swing`,`bebop`,`fusion`,`bossa`]},{label:`Folk / Country`,keywords:[`folk`,`country`,`americana`,`bluegrass`,`singer-songwriter`,`acoustic`,`roots`]},{label:`Classical`,keywords:[`classical`,`orchestral`,`orchestra`,`opera`,`symphony`,`chamber`,`baroque`,`piano`,`instrumental`]},{label:`World / Latin / Reggae`,keywords:[`world`,`latin`,`reggae`,`ska`,`dub`,`dancehall`,`afro`,`afrobeat`,`sals
1a`,`cumbia`,`flamenco`,`celtic`,`balkan`]}];var Xe=x.map(t=>t.label);var P=t=>String(t||``).toLowerCase().replace(/\(.*?\)/g,``).replace(/\s+/g,` `).trim();function A(t,n){return/[\s&-]/.test(n)?t.includes(n):t.split(/[^a-z0-9&+]+/).includes(n)}function W(t){let n=(t||[]).map(e=>P(e||``)).filter(Boolean);return x.filter(e=>n.some(r=>e.keywords.some(i=>A(r,i)))).map(e=>e.label)}function Je(t,n){return n?.length?W(t).some(r=>n.includes(r)):!1}export{Xe as a,b as c,W as i,k as l,O as n,Ye as o,Qe as r,Z as s,Je as t,qe as u};
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.