1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4991],{76938:function(e,t,n){n.d(t,{SD:function(){return i},Td:function(){return a}}),n(43503);var r=n(99976);(0,r.$)("32565cb74a9625d6c10c285def7739e6a5cf7b14");var a=(0,r.$)("7b2145e579c31a276608b52652c12223917bae6b"),i=(0,r.$)("c7f25f948882050f3fd49a7bfe3a4343541f93e7")},44992:function(e,t,n){n.d(t,{R:function(){return r}});function r(e){return e&&"error"in e}},44046:function(e,t,n){n.r(t),n.d(t,{default:function(){return N}});var r=n(27573),a=n(72659),i=n(20021),s=n(7653),l=n(58489),o=n(93045),u=n(15574),d=n(93351),c=n(18113),p=n(66214),f=n(41270);let m=f.Ry({productId:f.G0([f.Z_(),f.IX(f.Z_())]),listId:f.Z_().optional(),listName:f.Z_().min(3).max(30).optional()}).refine(e=>!(!e.listId&&!e.listName),{path:["listId"],message:"List id or list name should be provided"}),h=(0,s.forwardRef)((e,t)=>{let{lists:n,onSubmit:a,defaultValues:i}=e,f=(0,d.cI)({resolver:(0,c.F)(m),defaultValues:i});async function h(e){return a(e)}async function v(e){let t=e.listName;(null==t?void 0:t.message)&&f.setError("listId",{type:"custom",message:t.message})}return(0,s.useEffect)(()=>{f.reset(),f.setValue("productId",i.productId),f.setValue("listId",i.listId),f.setValue("listName",i.listName)},[i]),(0,s.useEffect)(()=>{f.formState.errors.listName?f.setError("listId",{type:"custom",message:f.formState.errors.listName.message}):f.clearErrors("listId")},[f.formState.errors]),(0,s.useImperativeHandle)(t,()=>({reset(){f.reset()},trigger:()=>f.trigger()}),[f]),(0,r.jsx)(l.Form,{...f,children:(0,r.jsxs)("form",{onSubmit:f.handleSubmit(h,v),children:[(0,r.jsxs)(o.DialogHeader,{children:[(0,r.jsx)(o.DialogTitle,{children:"Add Product to List"}),(0,r.jsx)(o.DialogDescription,{children:"Here you can add product to specific list."})]}),(0,r.jsx)("div",{className:"flex flex-col gap-4 py-4",children:(0,r.jsx)(l.FormField,{control:f.control,name:"listId",render:e=>{let{field:t}=e;return(0,r.jsxs)(l.FormItem,{className:"flex flex-col",children:[(0,r.jsx)(l.FormLabel,{children:"List"}),(0,r.jsx)(p.J,{className:"w-full",defaultValue:t.value,onChange:(e,n)=>{e?(t.onChange(e),f.setValue("listName",void 0)):(f.setValue("listName",n),t.onChange(void 0))}}),(0,r.jsx)(l.FormMessage,{})]})}})}),(0,r.jsx)(o.DialogFooter,{children:(0,r.jsx)(u.Z,{className:"w-full",type:"submit",loading:f.formState.isSubmitting,children:"Add"})})]})})});h.displayName="AddProductToListForm";var v=n(76938),g=n(85569),I=n(44992);function N(e){let{hiddenLists:t,productIds:n,setShowModal:l,showModal:o,onClose:u,onSuccess:d}=e,c=(0,s.useRef)(null),{lists:p,openCreateListModal:f,currentProduct:m}=(0,i.j)();async function N(e){var t,n;null===(t=c.current)||void 0===t||t.trigger();let r=await (0,v.SD)(e);if((0,I.R)(r)){(0,g._N)(r.error);return}u&&u(),(0,g.x9)(r.success),null===(n=c.current)||void 0===n||n.reset(),d&&d()}let E=(0,s.useMemo)(()=>t?p.filter(e=>!t.includes(e.id)):p,[p,t]),y=(0,s.useMemo)(()=>{var e,t;return{productId:n||(null!==(t=null==m?void 0:m.id)&&void 0!==t?t:""),listId:null===(e=E.at(0))||void 0===e?void 0:e.id,listName:"Default"}},[m,E,n]);return(0,r.jsx)(a.u,{showModal:o,setShowModal:l,onClose:u,className:"sm:max-w-[600px] p-5",children:(0,r.jsx)(h,{defaultValues:y,ref:c,lists:E,onSubmit:N,openCreateListModal:f})})}},95961:function(e,t,n){n.d(t,{AQ:function(){return i},Bv:function(){return l},RD:function(){return o},eO:function(){return s}});var r=n(8930),a=n(8301);let i=7,s=[r.KF.Validating,r.KF.Uploading,a.D.SCANNING,a.D.DONE],l=["uploaded","waiting","parsing","scanning","done"],o={hidden:{opacity:0,scale:.95},visible:{opacity:1,scale:1,transition:{duration:.2}}};r.hd.CSV,r.hd.EXCEL},8418:function(e,t,n){n.d(t,{G:function(){return r.G}});var r=n(1259)},1259:function(e,t,n){n.d(t,{UploadProvider:function(){return h},G:function(){return m}});var r=n(27573),a=n(7653),i=n(30103),s=n(5068),l=n(8301),o=n(44992),u=n(8930),d=n(95961),c=n(85477);let p=async()=>{let{data:e}=await c.L.get("/api/uploads");return{data:e.data}},f=(0,a.createContext)(void 0),m=()=>{let e=(0,a.useContext)(f);if(!e)throw Error("useCsvUploadContext must be used within a CsvUploadProvider");return e},h=e=>{let{children:t}=e,[n,c]=(0,a.useState)(!1),[m,h]=(0,a.useState)(u.KF.Idle),[v,g]=(0,a.useState)(0),[I,N]=(0,a.useState)(),[E,y]=(0,a.useState)(),[S,D]=(0,a.useState)(),[M,R]=(0,a.useState)(0),[C,F]=(0,a.useState)(),[b,w]=(0,a.useState)(),[P,L]=(0,a.useState)(),O=(0,a.useMemo)(()=>
1{if(P){let e=M-1;return e<0?0:e}return M},[M,P]),x=(0,a.useMemo)(()=>{if(b){var e;return null!==(e=b.name)&&void 0!==e?e:""}return""},[b]),A=a.useRef(0),U=(0,a.useMemo)(()=>{if(!m)return 0;{let e=d.eO.indexOf(m);return e>=0?(A.current=e,e):A.current}},[m]),_=(0,a.useMemo)(()=>(U+v/100)/d.eO.length*100,[U,v]),{isModalOpen:G}=(0,i.d)(),{data:T,refetch:k}=(0,s.a)({queryKey:["uploads"],staleTime:3e4,refetchOnMount:!1,refetchInterval:m===l.D.QUEUED||m===l.D.PARSING||m===l.D.PROCESSING||m===l.D.SCANNING||m===l.D.IMPORTING||m===u.KF.Uploading?2e3:8e3,queryFn:async()=>p()}),[j,K]=(0,a.useState)(!1),[V,z]=(0,a.useState)(""),Z=(0,a.useMemo)(()=>{if(!(0,o.R)(T))return null==T?void 0:T.data.find(e=>e.uploadId===V)},[T]),H=a.useMemo(()=>(null==I?void 0:I.every(e=>e.line&&e.line>=0))&&I.length<M,[I]),W=(0,a.useMemo)(()=>!!I,[I]),X=(0,a.useMemo)(()=>!m||[u.KF.Idle].includes(m)?u.tf.SELECT_FILE:[u.KF.BasicValidation].includes(m)?u.tf.FILE_VALIDATION:[u.KF.ColumnRows].includes(m)?u.tf.COLUMN_ROWS:[u.KF.ColumnMapping].includes(m)?u.tf.COLUMN_MAPPING:[u.KF.Validating].includes(m)?u.tf.DATA_VALIDATION:[u.KF.UploadReady,u.KF.Uploading].includes(m)?u.tf.UPLOADING:[u.KF.UploadingErrors].includes(m)?u.tf.UPLOADING_ERRORS:[l.D.IMPORTING,l.D.PROCESSING,l.D.QUEUED].includes(m)?u.tf.IMPORTING:[l.D.DONE,l.D.ERROR,l.D.PARTIAL].includes(m)?u.tf.DONE:u.tf.SELECT_FILE,[m]);(0,a.useEffect)(()=>{Z&&(h(Z.status),((null==Z?void 0:Z.status)===l.D.DONE||(null==Z?void 0:Z.status)===l.D.ERROR||(null==Z?void 0:Z.status)===l.D.PARTIAL)&&c(!1),(null==Z?void 0:Z.status)===l.D.QUEUED&&g(0),((null==Z?void 0:Z.status)===l.D.PARSING||(null==Z?void 0:Z.status)===l.D.PROCESSING)&&g(Z.parsingProgress),((null==Z?void 0:Z.status)===l.D.SCANNING||(null==Z?void 0:Z.status)===l.D.IMPORTING)&&g(Z.importProgress))},[Z]);let Q=(0,a.useMemo)(()=>!m||[u.KF.Idle,u.KF.BasicValidation,u.KF.ColumnRows].includes(m)?u.Fe.SELECT_FILE:[u.KF.ColumnMapping,u.KF.Validating,u.KF.Errors].includes(m)?u.Fe.MAP_COLUMNS:[u.KF.UploadReady].includes(m)?u.Fe.CHOOSE_LIST:[u.KF.ListChosen,u.KF.Uploading,u.KF.UploadingErrors].includes(m)||[l.D.QUEUED,l.D.PARSING,l.D.PROCESSING,l.D.SCANNING,l.D.IMPORTING].includes(m)?u.Fe.UPLOAD:[l.D.DONE,l.D.ERROR,l.D.PARTIAL].includes(m)?u.Fe.RESULTS:u.Fe.SELECT_FILE,[m]);return(0,r.jsx)(f.Provider,{value:{isUploadModalOpen:G,file:b,fileName:x,status:m,progress:v,validationErrors:I,uploads:!(0,o.R)(T)&&T?T.data:[],refetchUploads:k,setFile:w,setStatus:h,setErrors:N,setProgress:g,clear:()=>{w(void 0),g(0),h(u.KF.Idle),N(void 0),y(void 0),D(void 0),R(0),F(void 0),L(void 0),z("")},previewRows:E,setPreviewRows:y,rows:S,setRows:D,totalRows:M,setTotalRows:R,mappingResult:C,setMappingResult:F,currentStageIndex:U,progressPercentage:_,isLoading:n,setIsLoading:c,open:j,setOpen:K,lastUploadId:V,setLastUploadId:z,lastUpload:Z,step:X,hasValidationErrors:W,isRecoverable:H,enableHeaderRow:P,setEnableHeaderRow:L,totalRowsComputed:O,phase:Q},children:t})}},40841:function(e,t,n){n.d(t,{wt:function(){return u},h3:function(){return I},_h:function(){return d},xh:function(){return y}});var r=n(8930),a=n(8418),i=n(77992),s=n(3730),l=n.n(s),o=n(82563);let u=()=>{let{setProgress:e}=(0,a.G)(),t=(e,t,n)=>{let r=[];
1return t.mappings.forEach(t=>{let a=i.r6[t.field].safeParse(e.at(t.columnIndex));a.error&&r.push({message:"".concat(t.fieldDisplayName,": ").concat(a.error.errors[0].message),line:n})}),r},n=async n=>{let{file:r,mappingResult:a}=n;return new Promise((n,i)=>{let s=[],o=0;l().parse(r,{skipEmptyLines:!0,header:!1,step:async(n,i)=>{if(e(Math.round(n.meta.cursor/r.size*100)),1==++o&&a.enableHeaderRow)return;if(n.data.every(e=>!e||0===e.toString().length)){o--;return}let l=t(n.data,a,o);l.length&&s.push(...l)},complete(e){n({success:!0,errors:s})},error(e){console.error("Papa.parse errors",e),n({success:!1,errors:[{message:"Could not load csv."}]})}})})},s=async n=>{let{file:r,mappingResult:a}=n,i=[],s=await (0,o.Z)(r);return s.forEach((n,r,l)=>{if(e(Math.round((r+1)/s.length*100)),0===r&&a.enableHeaderRow||n.every(e=>!e||0===e.toString().length))return;let o=t(n,a,r+1);o&&i.push(...o)}),i};return{basicValidation:e=>{let{file:t,total:n}=e,r=[];return t.size&&n||r.push({message:"File is empty"}),t.size>i.aW.MAX_SIZE_BYTES&&r.push({message:"File size must not exceed 3Mb"}),n>i.aW.MAX_LINES&&r.push({message:"Maximum number of products reached",line:i.aW.MAX_LINES}),r},validateFile:async e=>{let{file:t,mappingResult:a}=e,i=[];switch(null==t?void 0:t.type){case r.hd.CSV:{let e=await n({file:t,mappingResult:a});(null==e?void 0:e.errors)&&e.errors.length>0&&(i=null==e?void 0:e.errors);break}case r.hd.EXCEL:i=await s({file:t,mappingResult:a})}return i}}},d=()=>({previewCsvFile:(e,t)=>new Promise((n,r)=>{let a=0,i=[],s=new Map;l().parse(e,{skipEmptyLines:!0,step(e,t){!s.has(e.data.join("\x01"))&&(s.set(e.data.join("\x01"),!0),i.push(e.data),a++)},complete(e){n({rows:i,preview:i.slice(0,t),total:a})},error(e){console.error("previewCsvFile Papa.parse errors",e)}})}),previewXlsxFile:async(e,t)=>{let n=await (0,o.Z)(e),r=new Map;return{rows:n.filter(e=>{if(!r.has(e.join("\x01")))return r.set(e.join("\x01"),!0),!0}),preview:n.slice(0,t),total:n.length}}}),c=(e,t,n)=>{let r=l().unparse(n?e.map(e=>{let t=[];
1return n.mappings.forEach(n=>{var r;n.field===i.VG.SourceUrl&&t.push(""),t.push(null!==(r=e.at(n.columnIndex))&&void 0!==r?r:"")}),t}):e,{delimiter:";"});if(t.includes(".")){var a;t=null!==(a=t.split(".").at(0))&&void 0!==a?a:"csv_".concat(Date.now())}return new File([new Blob([r])],"".concat(t,".csv"),{type:"text/csv",lastModified:Date.now()})};n(43503);var p=n(99976);(0,p.$)("bea65bf89e10a02392c320b603cb4856bc586edd"),(0,p.$)("536083985aab6160ab57ffc69ae46f1ffd2963e4");var f=(0,p.$)("b2be19dc9be0a705fa519e4cd49ced919511b78e"),m=n(44992),h=n(85569),v=n(8301),g=n(13908);let I=()=>{let{file:e,fileName:t,setProgress:n,setStatus:i,setErrors:s,mappingResult:l,setMappingResult:o,rows:d,setIsLoading:p,setLastUploadId:I,setEnableHeaderRow:N}=(0,a.G)(),{validateFile:E}=u();async function y(e,t){try{return await g.Z.put(t,e,{headers:{"Content-Type":e.type},onUploadProgress:e=>{if(e.total){let t=e.loaded/e.total*100;n(t)}}}),{success:!0}}catch(e){return{error:"Upload failed. Please contact support team"}}}return{onSubmit:async a=>{if(e&&l&&d){let o=c(l.enableHeaderRow?d.slice(1):d,t,l),u=await f({unsafeFilename:o.name,unsafeFileSize:o.size,listId:a.listId,listName:a.listName,productCount:l.totalRows,enableHeaderRow:l.enableHeaderRow});if((0,m.R)(u)){(0,h._N)(u.error);return}if(e){i(r.KF.Uploading),n(0),p(!0);let e=await y(o,u.url);if(e.error){i(r.KF.UploadingErrors),s([{message:e.error}]),p(!1);return}I(u.uploadId),i(v.D.QUEUED),p(!1),(0,h.Am)({title:"File uploaded",description:"Processing will begin shortly",variant:"default"})}}},onColumnMapped:async t=>{if(N(t.enableHeaderRow),o(t),i(r.KF.Validating),p(!0),e){let a=await E({file:e,mappingResult:t});if(null==a?void 0:a.length){s(a),p(!1);return}p(!1),n(0),i(r.KF.UploadReady)}},uploadFile:y}};var N=n(7653);let E=[v.D.SCANNING],y=()=>{let{uploads:e}=(0,a.G)();return{listHasActiveUploads:(0,N.useCallback)(t=>e.filter(e=>e.listId===t&&E.includes(e.status)).length>0,[e]),isImporting:(0,N.useMemo)(()=>e.some(e=>E.includes(e.status)),[e]),activeListsImportCount:(0,N.useMemo)(()=>[...new Set(e.filter(e=>E.includes(e.status)).map(e=>e.listId))].length,[e])}}},8930:function(e,t,n){var r,a,i,s,l,o,u,d;n.d(t,{Fe:function(){return s},KF:function(){return r},hd:function(){return a},tf:function(){return i}}),(l=r||(r={})).Idle="idle",l.BasicValidation="basic_validation",l.Validating="validating",l.Errors="errors",l.ColumnRows="column_rows",l.ColumnMapping="column_mapping",l.UploadReady="upload_ready",l.ListChosen="list_chosen",l.Uploading="uploading",l.Loading="loading",l.UploadingErrors="uploading_errors",(o=a||(a={})).CSV="text/csv",o.EXCEL="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",(u=i||(i={})).SELECT_FILE="select_file",u.FILE_VALIDATION="file_validation",u.COLUMN_ROWS="column_rows",u.COLUMN_MAPPING="column_mapping",u.DATA_VALIDATION="data_validation",u.UPLOADING="uploading",u.UPLOADING_ERRORS="uploading_errors",u.IMPORTING="importing",u.DONE="done",(d=s||(s={})).SELECT_FILE="select_file",d.MAP_COLUMNS="map_columns",d.CHOOSE_LIST="choose_list",d.UPLOAD="upload",d.RESULTS="results"},15574:function(e,t,n){n.d(t,{Z:function(){return s}});var r=n(27573),a=n(95239),i=n(49877);function s(e){let{loading:t,disabled:n}=e;return(0,r.jsxs)(a.z,{...e,loading:void 0,disabled:n||t,children:[!t&&e.children,t&&(0,r.jsx)(i.P.spinner,{className:"animate-spin"})]})}n(7653)},8301:function(e,t,n){var r,a;n.d(t,{D:function(){return r}}),(a=r||(r={})).DONE="DONE",a.ERROR="ERROR",a.PARTIAL="PARTIAL",a.PROCESSING="PROCESSING",a.IMPORTING="IMPORTING",a.PARSING="PARSING",a.SCANNING="SCANNING",a.QUEUED="QUEUED"},77992:function(e,t,n){n.d(t,{r6:function(){return p},aW:function(){return o},VG:function(){return s},dm:function(){return m}});var r,a,i,s,l=n(41270);(r=i||(i={})).UPC="UPC",r.GTIN="GTIN",r.WalmartID="Walmart ID",(a=s||(s={})).ProductId="productId",a.Cost="cost",a.SourceUrl="sourceUrl";let o={MAX_SIZE_BYTES:3145728,MAX_LINES:1e5,ACCEPTED_MIME_TYPES:["text/csv"]},u=l.z.coerce.string().min(4,"Value is too short (min: 4), probably wrong ID format").max(100,"Value is too long, probably wrong ID format").transform(e=>{let t=e.split(",");return t.length>1&&t[0].length>4?t[0]:e}).transform(e=>e.replace(/\D+/g,"")).refine(e=>e.length<20,{message:"Id too long"}).refine(e=>null!==function(e){for(let[t,n]of Object.entries({GTIN:/\b\d{14}\b/,UPC:/\b\d{11,12}\b/,"Walmart ID":RegExp("(?<=^|\\/)(\\d{3,10})\\b")})){let r=e.match(n);if(r)return{type:t,id:r[0]}}return null}(e),{message:"Id is not (UPC, GTIN, walmart)"}),d=l.z.union([l.z.string().min(1).max(30,"Number too long").optional(),l.z.number().min(0).optional(),l.z.undefined()]).optional().transform(e=>"string"==typeof e?e.slice(0,10):e).transform(e=>"string"==typeof e?parseFloat(/^\d/.test(e)?e:e.slice(1)):void 0).transform(e=>{if(e&&e>0)return e}).refine(e=>void 0===e||!isNaN(e)&&e>0,{message:"Must be a valid number"}).transform(e=>e?Math.round(100*e)/100:void 0).optional(),c=l.z.union([l.z.string().url().max(250).optional(),l.z.undefined(),l.z.string().length(0),l.z.null()]),p={productId:u,cost:d,sourceUrl:c},f=l.z.string().max(250).optional().nullable().transform(e=>(null==e?void 0:e.length)===0?null:e).default(null);l.z.tuple([u,d,f,c]);let m=l.z.string().min(1,"File name is required").max(200).regex(/^[a-zA-Z0-9._\-\s()[\],]+$/,"File name can only contain alphanumeric characters, dots, underscores, and hyphens").transform(e=>e.trim().slice(0,30)).transform(e=>e.endsWith(".csv")?e:e+".csv").refine(e=>!e.startsWith("."),{message:"File name cannot start with a dot"}).refine(e=>!e.includes(".."),{message:"File name cannot contain consecutive dots (..)"})},93533:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(2389).Z)("CirclePercent",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M9 9h.01",key:"1q5me6"}],["path",{d:"M15 15h.01",key:"lqbp3k"}]])},91332:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(2389).Z)("DiamondPlus",[["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z",ke
1y:"1ey20j"}],["path",{d:"M8 12h8",key:"1wcyev"}]])},56692:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(2389).Z)("FileUp",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"m15 15-3-3-3 3",key:"15xj92"}]])},76227:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(2389).Z)("Import",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m8 11 4 4 4-4",key:"1dohi6"}],["path",{d:"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4",key:"1ywtjm"}]])},85504:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(2389).Z)("NotepadText",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"16",height:"18",x:"4",y:"4",rx:"2",key:"1u9h20"}],["path",{d:"M8 10h6",key:"3oa6kw"}],["path",{d:"M8 14h8",key:"1fgep2"}],["path",{d:"M8 18h5",key:"17enja"}]])},40177:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(2389).Z)("ServerOff",[["path",{d:"M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5",key:"bt2siv"}],["path",{d:"M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z",key:"1hjrv1"}],["path",{d:"M22 17v-1a2 2 0 0 0-2-2h-1",key:"1iynyr"}],["path",{d:"M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z",key:"161ggg"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])}}]);
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.