1import { createHotContext as __vite__createHotContext } from "/@vite/client";import.meta.hot = __vite__createHotContext("/src/components/ContentProtection.tsx");import __vite__cjsImport0_react_jsxDevRuntime from "/@fs/home/runner/workspace/node_modules/.vite/deps/react_jsx-dev-runtime.js?v=9ce4103e"; const jsxDEV = __vite__cjsImport0_react_jsxDevRuntime["jsxDEV"]; 2import RefreshRuntime from "/@react-refresh"; 3const inWebWorker = typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope; 4let prevRefreshReg; 5let prevRefreshSig; 6if (import.meta.hot && !inWebWorker) { 7 if (!window.__vite_plugin_react_preamble_installed__) { 8 throw new Error("@vitejs/plugin-react can't detect preamble. Something is wrong. See https://github.com/vitejs/vite-plugin-react/pull/11#discussion_r430879201"); 9 } 10 prevRefreshReg = window.$RefreshReg$; 11 prevRefreshSig = window.$RefreshSig$; 12 window.$RefreshReg$ = (type, id) => { 13 RefreshRuntime.register(type, "/home/runner/workspace/client/src/components/ContentProtection.tsx " + id); 14 }; 15 window.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform; 16} 17var _s = $RefreshSig$(); 18import __vite__cjsImport3_react from "/@fs/home/runner/workspace/node_modules/.vite/deps/react.js?v=9ce4103e"; const useEffect = __vite__cjsImport3_react["useEffect"]; 19const ContentProtection = () => { 20 _s(); 21 useEffect(() => { 22 const handleContextMenu = (e) => { 23 const target = e.target; 24 if (target.tagName === "IMG" || target.closest("img")) { 25 e.preventDefault(); 26 } 27 }; 28 const handleKeyDown = (e) => { 29 if ((e.ctrlKey || e.metaKey) && (e.key === "s" || e.key === "S" || e.key === "u" || e.key === "U")) { 30 e.preventDefault(); 31 } 32 }; 33 const handleDragStart = (e) => { 34 const target = e.target; 35 if (target.tagName === "IMG") { 36 e.preventDefault(); 37 } 38 }; 39 document.addEventListener("contextmenu", handleContextMenu); 40 document.addEventListener("keydown", handleKeyDown); 41 document.addEventListener("dragstart", handleDragStart); 42 return () => { 43 document.removeEventListener("contextmenu", handleContextMenu); 44 document.removeEventListener("keydown", handleKeyDown); 45 document.removeEventListener("dragstart", handleDragStart); 46 }; 47 }, []); 48 return /* @__PURE__ */ jsxDEV("style", { children: ` 49 img { 50 -webkit-user-drag: none; 51 -khtml-user-drag: none; 52 -moz-user-drag: none; 53 -o-user-drag: none; 54 user-drag: none; 55 pointer-events: auto; 56 } 57 58 /* Text is selectable/copiable */ 59 body { 60 -webkit-user-select: text; 61 -moz-user-select: text; 62 -ms-user-select: text; 63 user-select: text; 64 } 65 66 input, textarea, [contenteditable="true"] { 67 -webkit-user-select: text; 68 -moz-user-select: text; 69 -ms-user-select: text; 70 user-select: text; 71 } 72 73 a, p, span, h1, h2, h3, h4, h5, h6, li, div { 74 -webkit-user-select: text; 75 -moz-user-select: text; 76 -ms-user-select: text; 77 user-select: text; 78 } 79 80 /* Only images are protected */ 81 img { 82 -webkit-user-select: none; 83 -moz-user-select: none; 84 -ms-user-select: none; 85 user-select: none; 86 } 87 ` }, void 0, false, { 88 fileName: "/home/runner/workspace/client/src/components/ContentProtection.tsx", 89 lineNumber: 40, 90 columnNumber: 5 91 }, this); 92}; 93_s(ContentProtection, "OD7bBpZva5O2jO+Puf00hKivP7c="); 94_c = ContentProtection; 95export default ContentProtection; 96var _c; 97$RefreshReg$(_c, "ContentProtection"); 98if (import.meta.hot && !inWebWorker) { 99 window.$RefreshReg$ = prevRefreshReg; 100 window.$RefreshSig$ = prevRefreshSig; 101} 102if (import.meta.hot && !inWebWorker) { 103 RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => { 104 RefreshRuntime.registerExportsForReactRefresh("/home/runner/workspace/client/src/components/ContentProtection.tsx", currentExports); 105 import.meta.hot.accept((nextExports) => { 106 if (!nextExports) return; 107 const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate("/home/runner/workspace/client/src/components/ContentProtection.tsx", currentExports, nextExports);
108 if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage); 109 }); 110 }); 111} 112 113//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IkFBdUNJOzJCQXZDSjtBQUFrQixNQUFRLGNBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFakMsTUFBTUEsb0JBQThCQSxNQUFNO0FBQUFDLEtBQUE7QUFDeENDLFlBQVUsTUFBTTtBQUNkLFVBQU1DLG9CQUFvQkEsQ0FBQ0MsTUFBa0I7QUFDM0MsWUFBTUMsU0FBU0QsRUFBRUM7QUFDakIsVUFBSUEsT0FBT0MsWUFBWSxTQUFTRCxPQUFPRSxRQUFRLEtBQUssR0FBRztBQUNyREgsVUFBRUksZUFBZTtBQUFBLE1BQ25CO0FBQUEsSUFDRjtBQUVBLFVBQU1DLGdCQUFnQkEsQ0FBQ0wsTUFBcUI7QUFDMUMsV0FDR0EsRUFBRU0sV0FBV04sRUFBRU8sYUFDZlAsRUFBRVEsUUFBUSxPQUFPUixFQUFFUSxRQUFRLE9BQU9SLEVBQUVRLFFBQVEsT0FBT1IsRUFBRVEsUUFBUSxNQUM5RDtBQUNBUixVQUFFSSxlQUFlO0FBQUEsTUFDbkI7QUFBQSxJQUNGO0FBRUEsVUFBTUssa0JBQWtCQSxDQUFDVCxNQUFpQjtBQUN4QyxZQUFNQyxTQUFTRCxFQUFFQztBQUNqQixVQUFJQSxPQUFPQyxZQUFZLE9BQU87QUFDNUJGLFVBQUVJLGVBQWU7QUFBQSxNQUNuQjtBQUFBLElBQ0Y7QUFFQU0sYUFBU0MsaUJBQWlCLGVBQWVaLGlCQUFpQjtBQUMxRFcsYUFBU0MsaUJBQWlCLFdBQVdOLGFBQWE7QUFDbERLLGFBQVNDLGlCQUFpQixhQUFhRixlQUFlO0FBRXRELFdBQU8sTUFBTTtBQUNYQyxlQUFTRSxvQkFBb0IsZUFBZWIsaUJBQWlCO0FBQzdEVyxlQUFTRSxvQkFBb0IsV0FBV1AsYUFBYTtBQUNyREssZUFBU0Usb0JBQW9CLGFBQWFILGVBQWU7QUFBQSxJQUMzRDtBQUFBLEVBQ0YsR0FBRyxFQUFFO0FBRUwsU0FDRSx1QkFBQyxXQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFNBQVI7QUFBQTtBQUFBO0FBQUE7QUFBQSxTQXVDRTtBQUVOO0FBQUVaLEdBOUVJRCxtQkFBMkI7QUFBQWlCLEtBQTNCakI7QUFnRk4sZUFBZUE7QUFBa0IsSUFBQWlCO0FBQUFDLGFBQUFELElBQUEiLCJuYW1lcyI6WyJDb250ZW50UHJvdGVjdGlvbiIsIl9zIiwidXNlRWZmZWN0IiwiaGFuZGxlQ29udGV4dE1lbnUiLCJlIiwidGFyZ2V0IiwidGFnTmFtZSIsImNsb3Nlc3QiLCJwcmV2ZW50RGVmYXVsdCIsImhhbmRsZUtleURvd24iLCJjdHJsS2V5IiwibWV0YUtleSIsImtleSIsImhhbmRsZURyYWdTdGFydCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJfYyIsIiRSZWZyZXNoUmVnJCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlcyI6WyJDb250ZW50UHJvdGVjdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5jb25zdCBDb250ZW50UHJvdGVjdGlvbjogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ29udGV4dE1lbnUgPSAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAodGFyZ2V0LnRhZ05hbWUgPT09ICdJTUcnIHx8IHRhcmdldC5jbG9zZXN0KCdpbWcnKSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICAoZS5jdHJsS2V5IHx8IGUubWV0YUtleSkgJiYgXG4gICAgICAgIChlLmtleSA9PT0gJ3MnIHx8IGUua2V5ID09PSAnUycgfHwgZS5rZXkgPT09ICd1JyB8fCBlLmtleSA9PT0gJ1UnKVxuICAgICAgKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gKGU6IERyYWdFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBpZiAodGFyZ2V0LnRhZ05hbWUgPT09ICdJTUcnKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCBoYW5kbGVDb250ZXh0TWVudSk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZUtleURvd24pO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdzdGFydCcsIGhhbmRsZURyYWdTdGFydCk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCBoYW5kbGVDb250ZXh0TWVudSk7XG4gICAgICBkb2
113N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlS2V5RG93bik7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdkcmFnc3RhcnQnLCBoYW5kbGVEcmFnU3RhcnQpO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxzdHlsZT57YFxuICAgICAgaW1nIHtcbiAgICAgICAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7XG4gICAgICAgIC1raHRtbC11c2VyLWRyYWc6IG5vbmU7XG4gICAgICAgIC1tb3otdXNlci1kcmFnOiBub25lO1xuICAgICAgICAtby11c2VyLWRyYWc6IG5vbmU7XG4gICAgICAgIHVzZXItZHJhZzogbm9uZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8qIFRleHQgaXMgc2VsZWN0YWJsZS9jb3BpYWJsZSAqL1xuICAgICAgYm9keSB7XG4gICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogdGV4dDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlucHV0LCB0ZXh0YXJlYSwgW2NvbnRlbnRlZGl0YWJsZT1cInRydWVcIl0ge1xuICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0O1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiB0ZXh0O1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgICAgIHVzZXItc2VsZWN0OiB0ZXh0O1xuICAgICAgfVxuICAgICAgXG4gICAgICBhLCBwLCBzcGFuLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBsaSwgZGl2IHtcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogdGV4dDtcbiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogdGV4dDtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiB0ZXh0O1xuICAgICAgICB1c2VyLXNlbGVjdDogdGV4dDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLyogT25seSBpbWFnZXMgYXJlIHByb3RlY3RlZCAqL1xuICAgICAgaW1nIHtcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIH1cbiAgICBgfTwvc3R5bGU+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb250ZW50UHJvdGVjdGlvbjtcbiJdLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmtzcGFjZS9jbGllbnQvc3JjL2NvbXBvbmVudHMvQ29udGVudFByb3RlY3Rpb24udHN4In0=
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.