{
  "version": 3,
  "sources": ["/cdn/shop/t/1064/assets/nt-bgr-stock-provider.js"],
  "sourcesContent": ["/* Stock builder provider. The stock engine continues to own upload, rows, gang sheets and film. */\n(function (global) {\n  'use strict';\n  const services = {'s3od-binary8k-e10':'ninja_ai_8KBI','s3od-binary51544-e40':'ninja_ai_51KBI',\n    'max-local-regular-e30':'ninja_ai_40KRG','s3od-removal22890-c10':'ninja_ai_23KRO',\n    'imgix-default':'IX','imgix-model-4':'PC'};\n  const active=()=>global.__ntBgrProductionConfig?.builderEngine === 'stock' &&\n    global.NtBgrThemeHooks?.treatment() === true;\n  let client;\n  function getClient() {\n    return client ||= global.NinjaBackgroundRemoval.create({onDiagnostic:(name,fields)=>global.NtBgrThemeHooks?.record(name,fields)});\n  }\n  function savedUrl(candidate) {\n    const url=new URL(candidate.persistentUrl);\n    if(url.protocol!=='https:' || url.hostname!=='ninjauploads-production.imgix.net' ||\n      url.port || url.username || url.password || url.hash)throw new Error('Invalid saved artwork.');\n    for(const key of ['w','h','width','height','dpr','max-w','max-h'])url.searchParams.delete(key);\n    if(candidate.name.startsWith('ninja')) {\n      if(!/^\\/image-ai-test____[a-f0-9]{64}\\.png$/.test(url.pathname))throw new Error('Invalid saved artwork.');\n      const box=candidate.displayBox;\n      if(Array.isArray(box) && box.length===4 && box.every(Number.isSafeInteger) && box[0]>=0 && box[1]>=0 &&\n        box[2]>0 && box[3]>0 && box[0]+box[2]<=candidate.nativeWidth && box[1]+box[3]<=candidate.nativeHeight) {\n        url.searchParams.set('rect',box.join(','));url.searchParams.set('fm','png');\n      } else {url.searchParams.set('trim','colorUnlessAlpha');url.searchParams.set('trim-tol','10');}\n    }\n    return url.href;\n  }\n  function displayUrl(candidate) {\n    const url=new URL(savedUrl(candidate));\n    url.searchParams.set('w','1600');url.searchParams.set('h','1600');url.searchParams.set('fit','max');\n    return url.href;\n  }\n  function artworkUrl(file) {\n    if(file.ntAiPending || !file.bgrModel || !file.bgrVersions?.[file.bgrModel])return null;\n    if(file.ntPaint && !file.ntShowOriginal && file.ntPaint.displayUrl)\n      return /^https:\\/\\//.test(file.ntPaint.hostedUrl || '')?file.ntPaint.hostedUrl:null;\n    try {return savedUrl({...file.bgrModelDetails?.[file.bgrModel],name:file.bgrModel,persistentUrl:file.bgrVersions[file.bgrModel]});}\n    catch (_) {return null;}\n  }\n  async function run(sourceUrl,imgixUrl,onProgress,onCandidate,skipRemote,context = {}) {\n    const file=context.file;\n    if(!active() || !file)throw new Error('Background removal provider unavailable.');\n    const hooks=global.NtBgrThemeHooks;\n    const attemptId=hooks?.requested(file);\n    file.ntBgrProvider='ninja_ai';\n    const operation={...file}; // Never let a superseded run overwrite current file state.\n    let result;\n    try {\n      result=await getClient().remove(operation,{signal:context.signal,onProgress});\n      if(context.signal?.aborted){result.dispose?.();throw Object.assign(new Error('Cancelled.'),{name:'AbortError'});}\n      const keys=(result.order || result.all.map(c=>c.name)).slice(0,context.single?1:3);\n      const all=keys.map(key=>result.all.find(c=>c.name===key)).filter(c=>c?.persistentUrl).map(c=>{\n        const persistentUrl=savedUrl(c);\n        return {...c,persistentUrl,url:displayUrl(c),provider:c.provider || 'Ninja AI'};\n      });\n      // Never promote an unsaved display blob to stock-builder readiness or downstream tools.\n      if(!all.length){result.dispose?.();throw Object.assign(new Error('Background removal unavailable.'),{code:'save_unavailable'});}\n      all.forEach(c=>onCandidate?.(c));\n      result.dispose?.();\n      return {...result,all,order:keys,winner:all.find(c=>c.name===result.winner?.name) || all[0],dispose:()=>{},attemptId};\n    } catch(error) {\n      result?.dispose?.();\n      if(!context.signal?.aborted && error.name!=='AbortError' && error.code!=='cancelled')\n        hooks?.failure?.(file,'removal',error.code || 'unavailable',attemptId);\n      throw error;\n    }\n  }\n  function props(properties,file) {\n    if(file.ntBgrProvider!=='ninja_ai' || !file.bgRemove)return false;\n    const key=file.bgrModel,chosen=file.bgrVersions?.[key],details=file.bgrModelDetails?.[key];\n    if(!chosen)throw new Error('Wait for background removal to finish saving, then try again.');\n    const saved=savedUrl({...details,name:key,persistentUrl:chosen});\n    // Unedited vectors retain the authored production source. Film/treatment props run after this hook.\n    if(!/\\.(?:svg|eps|pdf|ai)(?:[?#]|$)/i.test(file.uploadName || file.s3Url || '')) {\n      properties['Upload (Vector Files Preferred)']=saved;\n      const thumb=new URL(saved);thumb.searchParams.set('h','150');thumb.searchParams.set('auto','compress');\n      properties._cartImg=thumb.href;\n    }\n    properties['_BG Removal Service']=services[details?.modelId] || ({ix:'IX',pc:'PC'}[key]) || 'Unknown';\n    const keys=file.bgrVisible || [];\n    properties['_BG Removal Rank Choice']=keys.includes(key)?`Rank ${keys.indexOf(key)+1}`:'Unknown';\n    keys.forEach((name,i)=>{\n      if(!name.startsWith('ninja') || !file.bgrVersions?.[name])return;\n      properties[`_Ninja AI Rank ${i+1} Version`]=file.bgrVersions[name];\n      properties[`_Ninja AI Rank ${i+1} Model`]=services[file.bgrModelDetails?.[name]?.modelId] || 'Unknown';\n    });\n    return true;\n  }\n  global.NtBgrStockProvider=Object.freeze({active,run,props,savedUrl,displayUrl,artworkUrl});\n})(globalThis);\n"],
  "mappings": "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",
  "names": []
}
