1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,279291,e=>{"use strict";e.i(822309);var t=e.i(976308);async function r(e,r,i,a,n){let{width:o,height:l}=a;if(o<=0||l<=0)return null;let s=Math.max(0,i.x),h=Math.max(0,i.y),u=Math.min(o,i.x+i.width),c=Math.min(l,i.y+i.height),d=u-s,f=c-h;if(d<=0||f<=0)return null;let p=function(e,r,i){let a=t.PYRAMID_ZOOM_LEVELS[t.PYRAMID_ZOOM_LEVELS.length-1]??0;for(let n of t.PYRAMID_ZOOM_LEVELS)if((0,t.getScaleForZoomLevel)(n,r,i)>=e){a=n;break}return a}(n.targetPxPerPt??1,o,l),g=(0,t.getTileGrid)(o,l,p),x=Math.max(0,Math.floor(s/g.tileW)),w=Math.min(g.tilesX-1,Math.floor((u-1e-6)/g.tileW)),m=Math.max(0,Math.floor(h/g.tileH)),y=Math.min(g.tilesY-1,Math.floor((c-1e-6)/g.tileH)),M=[],b=!1;for(let t=m;t<=y;t++)for(let i=x;i<=w;i++){if(n.isCancelled?.()){for(let e of M)e.bmp.close();return null}let a=i*g.tileW,s=t*g.tileH,h=i===g.tilesX-1?o-a:g.tileW,u=t===g.tilesY-1?l-s:g.tileH,c=await e.getTile(r,p,i,t,"canvas",n.isCancelled);if(!c){b=!0;continue}try{let e=await createImageBitmap(c.blob);M.push({bmp:e,ptX:a,ptY:s,ptW:h,ptH:u})}catch{b=!0}}if(0===M.length)return null;let P=M.reduce((e,t)=>t.ptW>e.ptW?t:e),v=P.bmp.width/P.ptW,E=Math.max(1,Math.round(d*v)),S=Math.max(1,Math.round(f*v)),C=new OffscreenCanvas(E,S),T=C.getContext("2d");if(!T){for(let e of M)e.bmp.close();return null}for(let e of(T.fillStyle="#ffffff",T.fillRect(0,0,E,S),M)){let t=(e.ptX-s)*v,r=(e.ptY-h)*v,i=e.ptW*v,a=e.ptH*v;T.drawImage(e.bmp,t,r,i,a),e.bmp.close()}let W=n.maxEdgePx,R=Math.max(E,S);if(W&&R>W){let e=W/R,t=Math.max(1,Math.round(E*e)),r=Math.max(1,Math.round(S*e)),i=new OffscreenCanvas(t,r),a=i.getContext("2d");if(a)return a.drawImage(C,0,0,E,S,0,0,t,r),{blob:await i.convertToBlob({type:"image/webp",quality:.85}),pxWidth:t,pxHeight:r,zoom:p,pxPerPt:v*e,partial:b}}return{blob:await C.convertToBlob({type:"image/webp",quality:.85}),pxWidth:E,pxHeight:S,zoom:p,pxPerPt:v,partial:b}}e.s(["renderVersionCrop",()=>r])},413258,e=>{"use strict";var t=e.i(795326),r=e.i(753584);function i(e,i,a,n){let o=(0,r.sourceToDisplayPoint)(n,i),l=(0,r.sourceToDisplayPoint)(n,a),s={x:Math.min(o.x,l.x),y:Math.min(o.y,l.y),width:Math.abs(l.x-o.x),height:Math.abs(l.y-o.y)};if(!(2>Math.max(s.width,s.height)))return(0,t.composeCrop)(e,s,n)}function a(e,t){return[{x:0,y:0,width:t.width,height:e.y},{x:0,y:e.y+e.height,width:t.width,height:t.height-e.y-e.height},{x:0,y:e.y,width:e.x,height:e.height},{x:e.x+e.width,y:e.y,width:t.width-e.x-e.width,height:e.height}].map(e=>({...e,width:Math.max(0,e.width),height:Math.max(0,e.height)}))}e.s(["cropCutAwayBands",()=>a,"cropFromDrag",()=>i])},116880,e=>{"use strict";e.s([],576117),e.i(576117);var t=e.i(391610),r=e.i(138415);e.i(577630);var i=e.i(455852);e.i(838089);var a=e.i(683204);e.i(831597);var n=e.i(779342),o=e.i(795326),l=e.i(437402),s=e.i(436186),h=e.i(413258),u=e.i(155476),c=e.i(700894),d=e.i(229020),f=e.i(279291),p=e.i(246075);async function g(e){let{fetcher:t,sourcePage:r,rectPt:i,sheet:a,versionId:n}=e,o=Date.now(),l=m();(0,p.beginSnapshotCapture)(l.promise);let s=m(),h=function(e){e.catch(()=>void 0);try{return navigator.clipboard.write([new ClipboardItem({"image/png":e})]).then(()=>!0,()=>!1)}catch{return Promise.resolve(!1)}}(s.promise);try{var u;let e=await x(e=>(0,f.renderVersionCrop)(t,r,i,a,{targetPxPerPt:e,maxEdgePx:4096}));if(!e)return s.reject(Error("nothing rendered")),"failed";w(e.blob).then(s.resolve,s.reject);let[l,c]=await Promise.all([(u=e.blob,new Promise((e,t)=>{let r=new FileReader;r.onload=()=>e(r.result),r.onerror=()=>
1t(r.error),r.readAsDataURL(u)})),h]);return(0,p.setSnapshot)({dataUrl:l,pxWidth:e.pxWidth,pxHeight:e.pxHeight,rectPt:i,sheet:{width:a.width,height:a.height},sourceVersionId:n,sourcePage:r,takenAt:o,clipboardWritten:c}),e.partial?"partial":"copied"}catch(e){return s.reject(e),console.warn("[snapshot] capture failed",e),"failed"}finally{l.resolve()}}async function x(e,t=e=>new Promise(t=>setTimeout(t,e))){for(let r=0;r<3;r++){r>0&&await t(220);let i=2===r,a=await e(i?.1:3);if(a)return a}return null}async function w(e){let t=await createImageBitmap(e);try{let e=new OffscreenCanvas(t.width,t.height),r=e.getContext("2d");if(!r)throw Error("no 2d context");return r.drawImage(t,0,0),await e.convertToBlob({type:"image/png"})}finally{t.close()}}function m(){let e,t;return{promise:new Promise((r,i)=>{e=r,t=i}),resolve:e,reject:t}}function y(e,t,r){return Math.min(r,Math.max(t,e))}var M=e.i(788041),b=e.i(456252),P=e.i(883473);function v({entry:e,frame:r}){let i=(0,M.useIsPaneActive)(),{selectedTool:a}=(0,P.useToolStore)(),n=(0,u.usePageManifestOptional)();return i&&"snapshot"===a&&n&&e&&!(r.sourceWidth<=0)&&!(r.sourceHeight<=0)?(0,t.jsx)(S,{entry:e,frame:r},e.id):null}function E(e){let t=(0,b.getWorldPosition)(e),r=e.getPointerPosition();return t&&r?{sheet:t,screen:r}:null}function S({entry:e,frame:f}){let{t:p}=(0,i.useTranslation)("drawings"),{versionId:x}=(0,u.usePageManifest)(),w=(0,c.useTileFetcher)(),m=(0,P.useSetTool)(),M=(0,P.useGetTool)(),b=(0,r.useMemo)(()=>({width:f.sourceWidth,height:f.sourceHeight}),[f.sourceWidth,f.sourceHeight]),v=(0,r.useMemo)(()=>(0,o.cropRectInSource)(e.crop,b),[e.crop,b]),[S,C]=(0,r.useState)(null),T=(0,r.useRef)(null),W=(0,r.useCallback)(async t=>{if("snapshot"===M()&&m("select"),!t)return;if((0,l.isBlankEntry)(e))return void n.toast.error(p("pageManifest.snapshot.blankSource"));if(!w)return void n.toast.error(p("pageManifest.snapshot.failed"));let r=await g({fetcher:w,sourcePage:e.sourcePage,rectPt:t,sheet:b,ver
1sionId:x});"failed"===r?n.toast.error(p("pageManifest.snapshot.failed")):n.toast.success(p("partial"===r?"pageManifest.snapshot.copiedPartial":"pageManifest.snapshot.copied"))},[e,w,M,m,b,p,x]),R=(0,r.useRef)(W);(0,r.useEffect)(()=>{R.current=W},[W]);let I=(0,r.useCallback)(e=>{if(0!==e.evt.button)return;let t=e.target.getStage(),r=t?E(t):null;if(!t||!r)return;e.cancelBubble=!0,(0,s.setPointerDownOnShape)(!0);let i=e.evt.pointerId,a=new AbortController,{signal:n}=a,o=null,l=e=>{if(e.pointerId!==i)return;t.setPointersPositions(e);let a=E(t);a&&C(o=function(e,t,r){if(3>Math.max(Math.abs(t.screen.x-e.screen.x),Math.abs(t.screen.y-e.screen.y)))return null;let i=r.x+r.width,a=r.y+r.height,n=y(Math.min(e.sheet.x,t.sheet.x),r.x,i),o=y(Math.max(e.sheet.x,t.sheet.x),r.x,i),l=y(Math.min(e.sheet.y,t.sheet.y),r.y,a),s=y(Math.max(e.sheet.y,t.sheet.y),r.y,a),h=o-n,u=s-l;return h<4||u<4?null:{x:n,y:l,width:h,height:u}}(r,a,v))},h=()=>{a.abort(),T.current=null,(0,s.setPointerDownOnShape)(!1)};window.addEventListener("pointermove",l,{signal:n}),window.addEventListener("pointerup",e=>{e.pointerId===i&&(l(e),h(),R.current(o))},{signal:n}),window.addEventListener("pointercancel",e=>{e.pointerId===i&&(h(),R.current(null))},{signal:n}),T.current=h},[v]),L=(0,r.useRef)(null);(0,r.useEffect)(()=>()=>{T.current?.();let e=L.current;e&&(e.container().style.cursor="default")},[]);let O=(0,r.useCallback)((e,t)=>{e&&(L.current=e,e.container().style.cursor=t)},[]);return(0,t.jsxs)(a.Group,{children:[(0,t.jsx)(a.Rect,{x:0,y:0,width:b.width,height:b.height,fill:"transparent",onPointerDown:I,onMouseEnter:e=>O(e.target.getStage(),"crosshair"),onMouseLeave:e=>O(e.target.getStage(),"default")}),S&&(0,t.jsxs)(t.Fragment,{children:[(0,h.cropCutAwayBands)(S,b).map((e,r)=>(0,t.jsx)(a.Rect,{x:e.x,y:e.y,width:e.width,height:e.height,fill:"rgba(15, 23, 42, 0.45)",listening:!1,perfectDrawEnabled:!1},r)),(0,t.jsx)(a.Rect,{x:S.x,y:S.y,width:S.width,height:S.height,stroke:d.SELECTOR_STYLE.borderStroke,strokeWidth:d.SELECTOR_STYLE.borderStrokeWidth,strokeScaleEnabled:!1,fillEnabled:!1,listening:!1})]})]})}e.s(["SnapshotCreator",()=>v],116880)},812561,e=>{e.n(e.i(116880))}]);
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.