1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1180],{588:(e,t,r)=>{"use strict";r.d(t,{D:()=>n});let n={locales:["en","de","es","fr","it","pl","pt","ja","ko","zh","zh-hant","ru","uk"],defaultLocale:"en",localePrefix:"as-needed",localeDetection:!1,localeCookie:!1,alternateLinks:!1}},1847:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(2115);let a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)},l=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,n.forwardRef)((e,t)=>{let{color:r="currentColor",size:a=24,strokeWidth:i=2,absoluteStrokeWidth:o,className:c="",children:d,iconNode:u,...m}=e;return(0,n.createElement)("svg",{ref:t,...s,width:a,height:a,stroke:r,strokeWidth:o?24*Number(i)/Number(a):i,className:l("lucide",c),...!d&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0})(m)&&{"aria-hidden":"true"},...m},[...u.map(e=>{let[t,r]=e;return(0,n.createElement)(t,r)}),...Array.isArray(d)?d:[d]])}),o=(e,t)=>{let r=(0,n.forwardRef)((r,s)=>{let{className:o,...c}=r;return(0,n.createElement)(i,{ref:s,iconNode:t,className:l("lucide-".concat(a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),o),...c})});return r.displayName=a(e),r}},4853:(e,t,r)=>{Promise.resolve().then(r.bind(r,7088)),Promise.resolve().then(r.bind(r,5380))},5380:(e,t,r)=>{"use strict";r.d(t,{SitesTable:()=>x});var n=r(5155),a=r(2115),l=r(8955),s=r(1567),i=r(6651),o=r(1847);let c=(0,o.A)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),d=(0,o.A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);var u=r(9945),m=r(9294);function p(e,t){let r;for(let n of t)for(let t of n.domains)(e===t||e.endsWith(".".concat(t)))&&(void 0===r||t.length>r.length)&&(r={entry:n,length:t.length});return null==r?void 0:r.entry}async function f(e){let t=e.split(".");return Promise.all(t.slice(0,-1).map((e,r)=>t.slice(r).join(".")).map(async e=>Array.from(new Uint8Array(await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e))),e=>e.toString(16).padStart(2,"0")).join("")))}function h(e){let{domains:t,more:r}=e,[l,s]=(0,a.useState)(!1),i=l||t.length<=4?0:t.length-3;return(0,n.jsxs)("p",{className:"font-mono text-xs text-muted-foreground [overflow-wrap:break-word]",children:[(i>0?t.slice(0,3):t).join(", "),i>0&&(0,n.jsxs)(n.Fragment,{children:[" ",(0,n.jsxs)("button",{type:"button",onClick:()=>s(!0),"aria-label":r(i),title:r(i),className:"font-sans text-link hover:underline",children:["+",i]})]})]})}function x(e){let{rows:t,vocabulary:r,excluded:o,recentSince:x,pluginNames:g}=e,b=(0,l.c)("sitesTable"),w=(0,s.Ym)(),[j,y]=(0,a.useState)(""),[k,N]=(0,a.useState)("all"),[v,_]=(0,a.useState)(""),[C,P]=(0,a.useState)(""),[L,S]=(0,a.useState)(!1),[A,E]=(0,a.useState)(!1),[M,R]=(0,a.useState)(null),[F,q]=(0,a.useState)(null),[z,O]=(0,a.useState)(!0),Y=(0,a.useRef)(null),D=(0,a.useRef)(null),[U,T]=(0,a.useState)(!1),W=(0,a.useRef)(!1);async function B(){if(M)return M;let e=await fetch("/api/supported-sites/nsfw"),{sites:t}=await e.json(),r=t.map(e=>({...e,guide:null}));return R(r),r}(0,a.useEffect)(()=>{var e,t,r,n;let a=new URLSearchParams(window.location.search);y(null!=(t=a.get("q"))?t:"");let l=a.get("type");("images"===l||"video"===l)&&N(l),_(null!=(r=a.get("takes"))?r:""),P(null!=(n=a.get("category"))?n:""),E("1"===a.get("guide")),W.current=!0,window.matchMedia("(pointer: fine)").matches&&(null==(e=D.current)||e.focus({preventScroll:!0}))},[]),(0,a.useEffect)(()=>
1{if(!W.current)return;let e=new URLSearchParams;j&&e.set("q",j),"all"!==k&&e.set("type",k),v&&e.set("takes",v),C&&e.set("category",C),A&&e.set("guide","1");let t=e.toString();window.history.replaceState(null,"","".concat(window.location.pathname).concat(t?"?".concat(t):""))},[j,k,v,C,A]),(0,a.useEffect)(()=>{L&&B()},[L]);let Z=function(e){let t=function(e){let t=e.trim();if(!t)return null;try{return new URL(/^[a-z]+:\/\//i.test(t)?t:"https://".concat(t)).hostname.toLowerCase().replace(/\.$/,"").replace(/^www\./,"")}catch(e){return null}}(e);return t&&t.includes(".")?t:null}(j),$=(0,a.useMemo)(()=>L&&M?[...t,...M]:t,[t,M,L]);(0,a.useEffect)(()=>{let e=!0;if(!Z)return void q(null);let t=p(Z,$);return t?void q({kind:t.nsfw?"nsfw":"row",row:t}):((async()=>{let t=await f(Z);if(!e)return;if(t.some(e=>o.includes(e)))return q({kind:"hidden"});if(!U)return q(null);let r=p(Z,await B());e&&q(r?{kind:"nsfw",row:r}:{kind:"generic",host:Z})})(),()=>{e=!1})},[Z,$,o,U]);let I=(0,a.useMemo)(()=>{let e=new Intl.Collator(w),t=Z?p(Z,$):void 0;return $.filter(e=>Z?e===t:(0,m.Q)("".concat(e.name," ").concat(e.domains.join(" ")),j)).filter(e=>(function(e,t){if("all"===t)return!0;let r=e.plugins.includes("video-downloader");return"video"===t?r:e.plugins.some(e=>"video-downloader"!==e)})(e,k)).filter(e=>!v||e.capabilities.includes(v)).filter(e=>!C||e.category===C).filter(e=>!A||null!==e.guide).sort((t,r)=>e.compare(t.name,r.name))},[$,Z,j,k,v,C,A,w]),K=()=>{var e;let t=null==(e=Y.current)?void 0:e.getBoundingClientRect();t&&O(t.left+272<=window.innerWidth)},Q="all"!==k||""!==v||""!==C||A,X=e=>e.plugins.map(e=>g[e]),H=e=>new Intl.ListFormat(w,{type:"conjunction"}).format(X(e));return(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("label",{className:"block",children:[(0,n.jsx)("span",{className:"mb-2 block font-medium",children:b("check.label")}),(0,n.jsxs)("span",{className:"relative block",children:[(0,n.jsx)(i.A,{"aria-hidden":!0,className:"pointer-events-none absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,n.jsx)("input",{ref:D,type:"search",value:j,onChange:e=>{T(!0),y(e.target.value)},placeholder:b("check.placeholder"),spellCheck:!1,className:"w-full rounded-md border border-border bg-background py-2 pr-3 pl-9 outline-none focus-visible:ring-2 focus-visible:ring-ring"})]})]}),(0,n.jsxs)("div",{className:"flex flex-wrap items-end gap-3 text-sm",children:[(0,n.jsxs)("fieldset",{className:"flex overflow-hidden rounded-md border border-border",children:[(0,n.jsx)("legend",{className:"sr-only",children:b("filters.type")}),["all","images","video"].map(e=>(0,n.jsx)("button",{type:"button","aria-pressed":k===e,onClick:()=>N(e),className:"px-3 py-1.5 ".concat(k===e?"bg-primary text-primary-foreground":"bg-background hover:bg-muted"),children:b("filters.".concat("all"===e?"any":e))},e))]}),(0,n.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:b("filters.capability")}),(0,n.jsxs)("select",{value:v,onChange:e=>_(e.target.value),className:"rounded-md border border-border bg-background px-2 py-1.5",children:[(0,n.jsx)("option",{value:"",children:b("filters.anyCapability")}),r.capabilities.map(e=>(0,n.jsx)("option",{value:e,children:b("capabilities.".concat(e))},e))]})]}),(0,n.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:b("filters.category")}),(0,n.jsxs)("select",{value:C,onChange:e=>P(e.target.value),className:"rounded-md border border-border bg-background px-2 py-1.5",children:[(0,n.jsx)("option",{value:"",children:b("filters.anyCategory")}),r.categories.map(e=>(0,n.jsx)("option",{value:e,children:b("categories.".concat(e))},e))]})]}),(0,n.jsxs)("label",{className:"flex items-center gap-2 py-1.5",children:[(0,n.jsx)("input",{type:"checkbox",checked:A,onChange:e=>E(e.target.checked)}),b("filters.guide")]}),(0,n.jsxs)("span",{ref:Y,className:"relative flex items-center gap-2 py-1.5",children:[(0,n.jsxs)("label",{className:"flex items-center gap-2",children:[(0,n.jsx)("input",{type:"checkbox",checked:L,onChange:e=>S(e.target.checked)}),b("filters.nsfw")]}),(0,n.jsxs)("span",{className:"group/note -mt-2 self-start",onMouseEnter:K,onFocus:K,children:[(0,n.jsx)("button",{type:"button","aria-describedby":"nsfw-note","aria-label":b("filters.nsfwAbout"),className:"flex rounded-full text-muted-foreground outline-none hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",children:(0,n.jsx)(c,{className:"h-3.5 w-3.5","aria-hidden":!0})}),(0,n.jsx)("span",{id:"nsfw-note",role:"tooltip",className:"absolute bottom-full z-10 mb-1 hidden w-64 max-w-[calc(100vw-2rem)] ".concat(z?"left-0":"right-0"," rounded-md border border-border bg-card p-3 text-xs text-card-foreground shadow-md group-focus-within/note:block group-hover/note:block"),children:b("filters.nsfwNote")})]})]})]}),(0,n.jsx)("div",{role:"status",children:F&&(0,n.jsxs)("div",{className:"space-y-1 rounded-lg border border-border bg-card p-4 text-sm text-card-foreground",children:["row"===F.kind&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("p",{className:"font-medium",children:F.row.recipe?b("check.recipe",{site:F.row.name}):"unsupported"===F.row.status?b("check.unsupported",{site:F.row.name}):b("check.plugins",{site:F.row.name,plugins:H(F.row)})}),"may_fail"===F.row.status&&(0,n.jsx)("p",{className:"text-muted-foreground",children:b("check.mayFail")}),"required"===F.row.login&&(0,n.jsx)("p",{className:"text-muted-foreground",children:b("check.login")}),F.row.guide&&(0,n.jsxs)("p",{className:"flex flex-wrap items-center gap-1.5 text-muted-foreground",children:[b("check.guide"),(0,n.jsx)(u.N_,{href:"/".concat(F.row.guide.slug),className:"text-link underline underline-offset-4",children:F.row.guide.title})]})]}),"nsfw"===F.kind&&(0,n.jsx)("p",{className:"font-medium",children:b("check.nsfw",{site:F.row.name,plugins:H(F.row)})}),"hidden"===F.kind&&(0,n.jsx)("p",{className:"font-medium",children:b("check.hidden")}),"generic"===F.kind&&(0,n.jsx)("p",{className:"font-medium",children:b("check.generic",{host:F.host})})]})}),I.length>0&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:b("filters.shown",{shown:I.length})}),0===I.length?!Z&&(0,n.jsxs)("div",{className:"space-y-2 rounded-lg border border-dashed border-border px-6 py-10 text-center",children:[(0,n.jsx)("p",{className:"font-medium",children:j.trim()?b("empty.named",{query:j.trim()}):b("empty.filters")}),(0,n.jsx)("p",{className:"mx-auto max-w-xl text-sm text-muted-foreground",children:b("empty.hint")}),Q&&(0,n.jsx)("button",{type:"button",onClick:()=>{N("all"),_(""),P(""),E(!1)},className:"mt-2 rounded-md border border-border px-3 py-1.5 text-sm hover:bg-muted",children:b("empty.clear")})]}):(0,n.jsxs)("div",{className:"overflow-hidden rounded-lg border border-border",children:[(0,n.jsxs)("div",{"aria-hidden":!0,
1className:"hidden gap-4 bg-muted px-4 py-2 text-xs font-medium text-muted-foreground md:grid ".concat(L?"md:grid-cols-[2fr_1.3fr_0.7fr_2fr_0.5fr_0.5fr]":"md:grid-cols-[2fr_1.3fr_0.7fr_2fr_0.5fr]"),children:[(0,n.jsx)("span",{children:b("columns.site")}),(0,n.jsx)("span",{children:b("columns.plugins")}),(0,n.jsx)("span",{children:b("columns.login")}),(0,n.jsx)("span",{children:b("columns.capabilities")}),(0,n.jsx)("span",{children:b("columns.materials")}),L&&(0,n.jsx)("span",{children:b("columns.nsfw")})]}),(0,n.jsx)("ul",{className:"divide-y divide-border",children:I.map(e=>(0,n.jsxs)("li",{className:"grid gap-x-4 gap-y-1 px-4 py-3 text-sm md:items-start ".concat(L?"md:grid-cols-[2fr_1.3fr_0.7fr_2fr_0.5fr_0.5fr]":"md:grid-cols-[2fr_1.3fr_0.7fr_2fr_0.5fr]"),children:[(0,n.jsxs)("div",{children:[(0,n.jsxs)("p",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)("span",{className:"font-medium",children:e.name}),null!==e.added&&e.added>=x&&(0,n.jsx)("span",{className:"rounded bg-primary/10 px-1.5 text-xs text-primary",children:b("status.new")}),"ok"!==e.status&&(0,n.jsx)("span",{className:"rounded bg-amber-500/15 px-1.5 text-xs text-amber-700 dark:text-amber-400",children:b("may_fail"===e.status?"status.mayFail":"status.unsupported")})]}),(0,n.jsx)(h,{domains:e.domains,more:e=>b("domainsMore",{count:e})}),e.category&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:b("categories.".concat(e.category))})]}),(0,n.jsxs)("p",{children:[(0,n.jsxs)("span",{className:"text-muted-foreground md:hidden",children:[b("columns.plugins"),": "]}),X(e).join(", ")]}),(0,n.jsxs)("p",{className:e.login?"":"max-md:hidden",children:[(0,n.jsxs)("span",{className:"text-muted-foreground md:hidden",children:[b("columns.login"),": "]}),e.login?b("login.".concat(e.login)):(0,n.jsx)("span",{className:"text-muted-foreground",children:"-"})]}),(0,n.jsxs)("p",{className:"text-muted-foreground ".concat(e.capabilities.length?"":"max-md:hidden"),children:[(0,n.jsxs)("span",{className:"md:hidden",children:[b("columns.capabilities"),": "]}),e.capabilities.map(e=>b("capabilities.".concat(e))).join(", ")||"-"]}),(0,n.jsx)("p",{className:e.guide?"":"max-md:hidden",children:e.guide&&(0,n.jsxs)(u.N_,{href:"/".concat(e.guide.slug),className:"inline-flex items-center gap-1 text-link",title:e.guide.title,children:[(0,n.jsx)(d,{className:"h-4 w-4","aria-hidden":!0}),(0,n.jsx)("span",{className:"md:sr-only",children:e.guide.title})]})}),L&&(0,n.jsx)("p",{children:e.nsfw&&(0,n.jsx)("span",{className:"rounded bg-muted px-1.5 text-xs text-foreground",children:b("columns.nsfw")})})]},e.id))})]})]})}},6651:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});let n=(0,r(1847).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},8955:(e,t,r)=>{"use strict";r.d(t,{c:()=>l});var n=r(1567);function a(e,t){return(...e)=>{try{return t(...e)}catch{throw Error(void 0)}}}let l=a(0,n.c3);a(0,n.kc)},9294:(e,t,r)=>{"use strict";function n(e){return e.normalize("NFKD").replace(RegExp("\\p{Mn}","gu"),"").toLowerCase()}r.d(t,{Q:()=>l});let a=RegExp("[^\\p{L}\\p{N}]+","gu");function l(e,t){let r=n(t).split(a).filter(Boolean),l=n(e).replace(a,"");return r.every(e=>l.includes(e))}},9945:(e,t,r)=>{"use strict";r.d(t,{N_:()=>p,a8:()=>h});var n=r(63),a=r(2115),l=r.t(a,2),s=r(1567),i=l["use".trim()],o=r(4106),c=r(7088),d=r(8300),u=r(5155),m=r(7301);let{Link:p,useRouter:f,usePathname:h,redirect:x,permanentRedirect:g}=function(e){let{Link:t,config:r,getPathname:l,...p}=function(e,t){var r,l,s;let m={...r=t||{},localePrefix:"object"==typeof(s=r.localePrefix)?s:{mode:s||"always"},localeCookie:!!((l=r.localeCookie)??1)&&{name:"NEXT_LOCALE",sameSite:"lax",..."object"==typeof l&&l},localeDetection:r.localeDetection??!0,alternateLinks:r.alternateLinks??!0},p=m.pathnames,f=(0,a.forwardRef)(function({href:t,locale:r,...n},a){let l,s;"object"==typeof t?(l=t.pathname,s=t.params):l=t;let d=(0,o._x)(t),f=e(),x=(0,o.yL)(f)?i(f):f,g=d?h({locale:r||x,href:null==p?l:{pathname:l,params:s},forcePrefix:null!=r||void 0}):l;return(0,u.jsx)(c.default,{ref:a,href:"object"==typeof t?{...t,pathname:g}:g,locale:r,localeCookie:m.localeCookie,...n})});function h(e){let t,{forcePrefix:r,href:n,locale:a}=e;return null==p?"object"==typeof n?(t=n.pathname,n.query&&(t+=(0,d.Zn)(n.query))):t=n:t=(0,d.FP)({locale:a,...(0,d.TK)(n),pathnames:m.pathnames}),(0,d.x3)(t,a,m,r)}function x(e){return function(t,...r){return e(h(t),...r)}}return{config:m,Link:f,redirect:x(n.redirect),permanentRedirect:x(n.permanentRedirect),getPathname:h}}(s.Ym,e);return{...p,Link:t,usePathname:function(){let e=function(e){let t=(0,n.usePathname)(),r=(0,s.Ym)();return(0,a.useMemo)(()=>
1{if(!t)return t;let n=t,a=(0,o.XP)(r,e.localePrefix);if((0,o.wO)(a,t))n=(0,o.MY)(t,a);else if("never"!==e.localePrefix.mode&&e.localePrefix.prefixes){let e=(0,o.bL)(r);(0,o.wO)(e,t)&&(n=(0,o.MY)(t,e))}return n},[e.localePrefix,r,t])}(r),t=(0,s.Ym)();return(0,a.useMemo)(()=>e&&r.pathnames?(0,d.aM)(t,e,r.pathnames):e,[t,e])},useRouter:function(){let e=(0,n.useRouter)(),t=(0,s.Ym)(),i=(0,n.usePathname)();return(0,a.useMemo)(()=>{function n(e){return function(n,a){let{locale:s,...o}=a||{},c=[l({href:n,locale:s||t,forcePrefix:null!=s||void 0})];Object.keys(o).length>0&&c.push(o),(0,m.A)(r.localeCookie,i,t,s),e(...c)}}return{...e,push:n(e.push),replace:n(e.replace),prefetch:n(e.prefetch)}},[t,i,e])},getPathname:l}}(r(588).D)}},e=>{e.O(0,[4707,8441,1255,7358],()=>e(e.s=4853)),_N_E=e.O()}]);
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.