1import{u as Oe,ad as Ve,l as Be,a as qe,k as He,ae as Ue,a4 as y,s as g,ab as ze,af as Ge,g as Ke,ag as We,ac as j,j as e,ah as K,a6 as xe,W as Xe,ai as Qe,a7 as W,B as Je,aj as Ze,v as es,i as ss}from"./index-BgOx-y6Z.js";import{a as l}from"./echarts-DgtDMHXn.js";import{u as ts}from"./useEnterToSubmit-CbWc2UAa.js";import{P as ns}from"./papaparse.min-D_ATfZhF.js";import{C as ls,a as os}from"./ConsoleHeader-CPjrsrnl.js";import{C as as}from"./ConsoleStats-C3UqZ92Z.js";import{C as rs}from"./ConsoleToolbar-BbBdHQtA.js";import{I as cs}from"./IndexList-BnaYICGV.js";import{D as X}from"./DetailPane-Co2tJBoy.js";import{T as fe,C as be}from"./ConsoleBadge-DCgg_VHp.js";import{D as S}from"./DetailRow-gj5uvQBt.js";import{F as he}from"./FormSection-B1sGyorD.js";import{u as is,F as ms}from"./useAutoAdd-BPJdnE0M.js";import{A as us}from"./AttrSwitch-VNlvIg7l.js";import{C as Q,M as ds}from"./IndexChips-Dr5yOrBM.js";import{B as ps,a as ye,b as je,c as xs}from"./buttons-B-td5m2n.js";import{T as L}from"./consoleMotifs-DztxQt8X.js";import{I as fs}from"./consoleSplit-DYESYKMN.js";import{u as bs,C as hs}from"./CommonLocationChips-D6diOlRA.js";import{u as ys}from"./useMoneyFormatter-nQgPhkeI.js";import{A as js}from"./AccountSelector-CWkV2wZd.js";import{c as gs,n as ge}from"./cashStoragePoints-DQmOI55b.js";import{R as vs}from"./DownloadOutlined-9yYWFJzE.js";import{S as ve}from"./index-DrBcIRVV.js";import{E as P}from"./index-CwuBtv0e.js";import{S as Is}from"./index-BTZEaxC7.js";import{T as Ts}from"./index-B22ZqzuR.js";import{P as Ie}from"./index-CgX3Ei35.js";import{R as Te}from"./DeleteOutlined-D2rzDTkW.js";import"./papaparse-DHZrpM8D.js";import"./useIsDark-iZe97-MD.js";import"./ArrowLeftOutlined-C0w1fwDH.js";import"./InfoCircleOutlined-DZC8WRsa.js";import"./DownOutlined-BQJivuOt.js";import"./UpOutlined-BOTXMvQY.js";import"./index-fJz-wRm3.js";import"./index-RbzkweVC.js";const x={physical:{label:"å®ä½ç°é",...L.cashSource.physical},ewallet:{label:"çµåé±å
",...L.cashSource.ewallet},bank:{label:"é¶è¡æ´»æ",...L.cashSource.bank},brokerage:{label:"å¸åèµé",...L.cashSource.brokerage}},J=["physical","ewallet","bank","brokerage"],Cs=[{value:"updated",label:"æè¿æ´æ°"},{value:"amount",label:"æéé¢"},{value:"name",label:"æåç§°"},{value:"inventory",label:"ææè¿çç¹"}],ct=()=>{const O=Oe(),M=Ve(),{cash_assets:i,loadLiquidData:Z,addCash:ee,updateCash:se,deleteCash:te,inventoryCash:ne}=Be(),{currencies:Ce,mainCurrency:ke,convertAmount:R}=qe(),{accounts:le,getAccountById:d}=He(),E=Ue(s=>s.members),f=ys(),[a]=y.useForm(),[F,$]=l.useState(null),[oe,A]=l.useState("view"),[b,V]=l.useState(null),[_,Ne]=l.useState(""),[v,we]=l.useState("all"),[C,Se]=l.useState("updated"),[ae,I]=l.useState(!1),r=ke.code,h=l.useCallback(s=>R(s.amount,s.currency,r),[R,r]);l.useEffect(()=>{Z().catch(()=>g.error("ç°éæ°æ®å 载失败"))},[Z]);const{total:re,pension:ce}=l.useMemo(()=>ze(i,(s,t)=>R(s,t,r)),[i,R,r]),ie=l.useMemo(()=>gs(i),[i]),Me=Ge(),me=Ke("cash.inventory"),[k,B,q]=We(),H=l.useMemo(()=>i.filter(s=>s.lastInventoryTime?j().diff(j(s.lastInventoryTime),"day")>=me:!0).length,[i,me,Me]),T=l.useMemo(()=>{const s=_.trim().toLowerCase();return[...i.filter(o=>!(v!=="all"&&o.sourceType!==v||s&&!(o.name.toLowerCase().includes(s)||(o.location??"").toLowerCase().includes(s)||(o.notes??"").toLowerCase().includes(s))))].sort((o,m)=>{if(C==="amount")return h(m)-h(o);if(C==="name")return o.name.localeCompare(m.name,"zh-Hans-CN");if(C==="inventory"){const p=o.lastInventoryTime?new Date(o.lastInventoryTime).getTime():0;return(m.lastInventoryTime?new Date(m.lastInventoryTime).getTime():0)-p}return m.updateTime-o.updateTime})},[i,v,_,C,h]),Re=v!=="all"||_.trim().length>0,Ee=l.useMemo(()=>T.reduce((s,t)=>s+h(t),0),[T,h]),n=l.useMemo(()=>i.find(s=>s.id===F)??null,[i,F]),D=l.useMemo(()=>{if(!n)return null;if(!n.lastInventoryTime)return{tone:"warning",value:"é¿ææªçç¹"};const s=j().diff(j(n.lastInventoryTime),"day"),t=j(n.lastInventoryTime).format("YYYY-MM-DD");return s>=q?{tone:"danger",value:`${t} · ${s} 天å · è¶
${q} 天æªçç¹`}:s>=B?{tone:"warning",value:`${t} · ${s} 天å · è¶
${B} 天æªçç¹`}:s>=k?{tone:"warning",value:`${t} · ${s} 天å · è¶
${k} 天æªçç¹`}:{tone:"neutral",value:`${t} · ${s} 天å`}},[n,k,B,q]),Fe=l.useMemo(()=>n?n.lastInventoryTime?j().diff(j(n.lastInventoryTime),"day")>=k:!0:!1,[n,k]),U=l.useCallback(()=>{const s=le.find(t=>t.type==="physical");$(null),V(null),a.resetFields(),a.setFieldsValue({currency:r,sourceType:"physical",accountId:s?.id,isForRetirement:!1}),A("form"),I(!0)},[le,r,a]),z=l.useCallback(s=>{$(s.id),V(s),a.resetFields(),a.setFieldsValue(s),A("form"),I(!0)},[a]),N=l.useCallback(()=>{A("view"),V(null),a.resetFields()},[a]);is(()=>U()),l.useEffect(()=>{const s=M.state?.accountId;if(!s)return;const t=d(s);t&&(U(),a.setFieldsValue({accountId:t.id,currency:t.currency,sourceType:t.type==="physical"?"physical":t.type==="ewallet"?"ewallet":t.type==="bank"?"bank":"brokerage"})),O(M.pathname,{replace:!0,state:{}})},[M.state,d,O,M.pathname]);const c=y.useWatch("sourceType",a);l.useEffect(()=>{const s=a.getFieldValue("accountId");if(!s||!c)return;const t=d(s);if(!t)return;const o={physical:"physical",ewallet:"ewallet",bank:"bank",brokerage:"investment"};t.type!==o[c]&&a.setFieldsValue({accountId:void 0})},[c,a,d]),l.useEffect(()=>{c&&c!=="bank"&&a.setFieldsValue({isForRetirement:!1})},[c,a]);const G=l.useCallback(s=>{ne(s).then(()=>g.success("çç¹è®°å½å·²æ´æ°")).catch(t=>g.error(t?.message||"çç¹å¤±è´¥"))},[ne]),ue=l.useCallback(()=>{a.validateFields().then(async s=>{const t={...s},o=t.accountId?d(t.accountId):null;if(t.memberId=o?.memberId||"self",t.sourceType!=="bank"&&(t.isForRetirement=!1),!t.name)if(t.sourceType==="physical")t.name=`${t.location||"æªç¥ä½ç½®"}çé±`;else if(t.accountId){const m=d(t.accountId);t.name=m?`${m.name}çèµé`:`${x[t.sourceType].label}èµäº§`}else t.name=`${x[t.sourceType].label}èµäº§`;b?(await se(b.id,t),g.success("æ´æ°æå")):(await ee(t),g.success("æ·»å æå")),t.location&&bs.getState().addLocation(t.location),N()}).catch(s=>{s?.errorFields||g.error(s?.message||"ä¿å失败")})},[a,b,se,ee,d,N]),de=l.useCallback(s=>{te(s.id).then(()=>{g.success("å 餿å"),N(),$(null),I(!1)}).catch(t=>g.error(t?.message||"å é¤å¤±è´¥"))},[te,N]),$e=l.useCallback(()=>{const s=["åç§°","æ¥æºç±»å","éé¢","å¸ç§","åæ¾ä½ç½®","å
³èè´¦æ·","å½å
¥å
»è","䏿¬¡çç¹","æ´æ°æ¶é´"],t=T.map(u=>[u.name,x[u.sourceType].label,u.amount,u.currency,u.location??"",u.accountId?d(u.accountId)?.name??"æªå
³è":"æªå
³è",u.is
1ForRetirement?"æ¯":"",u.lastInventoryTime?j(u.lastInventoryTime).format("YYYY-MM-DD"):"é¿ææªçç¹",j(u.updateTime).format("YYYY-MM-DD HH:mm:ss")]),o="\uFEFF"+ns.unparse({fields:s,data:t}),m=new Blob([o],{type:"text/csv;charset=utf-8;"}),p=document.createElement("a"),Y=URL.createObjectURL(m);p.setAttribute("href",Y),p.setAttribute("download",`ç°é管ç_${new Date().toISOString().split("T")[0]}.csv`),p.style.visibility="hidden",document.body.appendChild(p),p.click(),document.body.removeChild(p)},[T,d]),pe=l.useCallback(s=>{const t=x[s.sourceType],o=s.accountId?d(s.accountId):void 0,m=s.memberId||o?.memberId||"self",p=E.find(Pe=>Pe.id===m),Y=s.sourceType==="physical"?ge(s.location)||"æªå¡«åä½ç½®":s.notes||o?.name||"æªå
³èè´¦æ·",u=e.jsxs("span",{className:"flex flex-wrap items-center gap-1",children:[e.jsx(Q,{children:Y}),s.isForRetirement?e.jsx(Q,{children:"å
»è"}):null,s.currency!==r?e.jsxs(Q,{children:["â ",f(h(s),r)]}):null,m!=="self"&&p?e.jsx(ds,{ids:[m],members:E}):null]});return{id:s.id,spineColor:t.color,spineRgb:t.rgb,title:s.name,subtitle:u,value:f(s.amount,s.currency),quickActions:[{key:"inventory",icon:e.jsx(K,{}),label:"çç¹",onClick:()=>G(s.id)},{key:"edit",icon:e.jsx(xe,{}),label:"ç¼è¾",onClick:()=>z(s)}]}},[d,E,r,f,h,G,z]),Ae=l.useMemo(()=>{const s=new Map;return T.forEach(t=>{const o=s.get(t.sourceType);o?o.push(t):s.set(t.sourceType,[t])}),J.filter(t=>s.has(t)).map(t=>{const o=s.get(t);return{key:t,label:x[t].label,count:o.length,summary:f(o.reduce((m,p)=>m+h(p),0),r),rows:o.map(pe)}})},[T,pe,h,r,f]),_e=l.useMemo(()=>[{key:"all",label:"å
¨é¨",count:i.length,active:v==="all"},...J.map(s=>({key:s,label:x[s].label,count:i.filter(t=>t.sourceType===s).length,active:v===s,dotColor:x[s].color}))],[i,v]),w=!!b,De=w?x[b.sourceType]:null,Ye=n?x[n.sourceType]:null,Le=ts(a,ue);return e.jsxs(ls,{motif:"cash",fill:!0,children:[e.jsx(os,{title:"ç°é管ç",backTo:"/assets/liquid",subtitle:`${ie} ä¸ªåæ¾ç¹ Â· ${i.length} ç¬ Â· æå ${f(re,r)}`,icon:e.jsx(Qe,{}),actions:[{key:"export",label:"å¯¼åº CSV",icon:e.jsx(vs,{}),onClick:$e},{key:"create",label:"æ·»å ç°é",icon:e.jsx(Xe,{}),primary:!0,onClick:()=>U()}]}),H>0?e.jsxs("div",{className:"mb-3 flex items-center gap-2 rounded-console border border-console-border bg-console-surface-tint px-3 py-2 text-[13px] text-console-muted",children:[e.jsx(K,{className:"shrink-0",style:{color:"#d97706"}}),e.jsxs("span",{children:["æ ",e.jsx("strong",{className:"tabular-nums text-ink",children:H})," ä¸ªåæ¾ç¹å·²è¶
è¿ä¸ä¸ªå£åº¦æªçç¹å¯¹è´¦ï¼å»ºè®®éä¸å¯¹è´¦ã"]})]}):null,e.jsx(as,{items:[{key:"total",label:`ç°éæ»é¢ (${r})`,value:f(re,r),hint:"å
¨éç°éæå½åæ±çæç®ä¸»å¸æ±åï¼ä¸é䏿¹çéåå"},...ce>0?[{key:"pension",label:"å
¶ä¸å
»èéå®",value:f(ce,r),hint:"æ 记为ãå½å
¥å
»èé±å
ãçé¶è¡æ´»æä½é¢ï¼ä¸ªäººå
»èéèµéè´¦æ·éè¿æ²¡ä¹°æäº§åçé±ï¼ã宿¯ä½ çèµäº§ï¼å·²å
å«å¨å·¦ä¾§ãç°éæ»é¢ãå
ï¼æä»¥å表ä¹åä»çäºæ»é¢ï¼ä½éä¼ååä¸åºæ¥ï¼å¨æµå¨é±å
页ä¸è®¡å
¥éå¨èµäº§ââ两页ç°éå£å¾çå·®é¢å°±æ¥èªè¿éãçç¹ç
§å¸¸åä¸ï¼ä¸åå½±åã"}]:[],{key:"points",label:"åæ¾ç¹æ°é",value:ie},{key:"count",label:"ç°éæ¡ç®",value:i.length},{key:"never",label:"é¿ææªçç¹",value:H}]}),e.jsxs(rs,{search:{value:_,onChange:Ne,placeholder:"æç´¢åç§°ãä½ç½®æè¯´æ"},chips:_e,onChip:we,children:[Re?e.jsxs("span",{className:"text-[13px] tabular-nums text-console-muted",children:["çéåº ",T.length," ç¬ Â· ",f(Ee,r)]}):null,e.jsxs("label",{className:"flex items-center gap-1.5 text-[13px] text-console-muted",children:[e.jsx("span",{children:"æåº"}),e.jsx(ve,{size:"small",value:C,onChange:Se,options:Cs,className:"w-24"})]})]}),e.jsxs("div",{className:"flex gap-3 lg:flex-1 lg:min-h-0",children:[e.jsx("aside",{className:`min-w-0 flex-1 rounded-console border border-console-border bg-console-surface transition-opacity ${fs} lg:self-start lg:overflow-y-auto lg:max-h-full ${oe==="form"?"pointer-events-none opacity-60":""} ${ae?"hidden lg:block":""}`,children:e.jsx(cs,{groups:Ae,collapsible:!0,selectedId:F,onSelect:s=>{$(s),A("view"),I(!0)},empty:e.jsx(P,{description:i.length===0?"è¿æ²¡æç°éè®°å½ï¼ç¹å»å³ä¸è§ãæ·»å ç°éã":"没æå¹é
çç°é",image:P.PRESENTED_IMAGE_SIMPLE})})}),e.jsx("div",{className:`min-w-0 flex-1 lg:h-full lg:overflow-hidden ${ae?"":"hidden lg:block"}`,children:oe==="form"?e.jsx(X,{accentColor:De?.color??"var(--console-accent)",title:w?`ç¼è¾ï¼${b.name}`:"æ°å»ºç°é",subtitle:w?"ä¿®æ¹åç¹å»ä¿åçæ":"å¡«ååç¹å»ä¿åï¼é颿å¸ç§è®°å½",className:"lg:h-full",actions:e.jsxs(e.Fragment,{children:[e.jsxs("button",{type:"button",onClick:ue,className:ps,children:[e.jsx(es,{}),e.jsx("span",{children:"ä¿å"})]}),e.jsxs("button",{type:"button",onClick:()=>{const s=!!F;N(),s||I(!1)},className:ye,title:"åæ¶","aria-label":"åæ¶",children:[e.jsx(ss,{}),e.jsx("span",{children:"åæ¶"})]}),w?e.jsx("span",{className:"ml-auto",children:e.jsx(Ie,{title:"ç¡®å®å é¤è¿ç¬ç°éåï¼",onConfirm:()=>b&&de(b),okText:"ç¡®å®å é¤",cancelText:"åæ¶",children:e.jsxs("button",{type:"button",className:je,title:"å é¤","aria-label":"å é¤",children:[e.jsx(Te,{}),e.jsx("span",{children:"å é¤"})]})})}):null]}),children:e.jsxs(y,{form:a,layout:"vertical",className:"console-pane-form max-w-2xl mx-auto",initialValues:{amount:0,sourceType:"physical"},onKeyDown:Le,children:[e.jsxs("div",{className:"mb-4 flex flex-wrap items-center justify-between gap-x-5 gap-y-2 rounded-console border border-console-border bg-console-surface-tint px-3 py-2",children:[e.jsx("div",{className:"flex items-center",children:e.jsx(y.Item,{name:"sourceType",noStyle:!0,rules:[{required:!0,message:"è¯·éæ©æ¥æºç±»å"}],children:e.jsx(Is,{options:J.map(s=>
1({value:s,label:x[s].label}))})})}),c==="bank"?e.jsx(us,{form:a,name:"isForRetirement",label:"å½å
¥å
»èé±å
"}):null]}),e.jsxs(he,{title:"åºæ¬ä¿¡æ¯",children:[e.jsx(y.Item,{name:"name",label:"èµäº§åç§°",tooltip:"è¥ä¸å¡«ï¼ç³»ç»å°æ ¹æ®åæ¾ä½ç½®æå
³èè´¦æ·èªå¨å½å",children:e.jsx(W,{placeholder:"ä¸å¡«åèªå¨å½åï¼å¦ï¼ä¿é©æçé±"})}),e.jsx(y.Item,{name:"amount",label:"éé¢",rules:[{required:!0,message:"请è¾å
¥éé¢"}],children:e.jsx(Ts,{className:"w-full",precision:2,min:0,controls:!1})}),e.jsx(y.Item,{name:"currency",label:"å¸ç§",rules:[{required:!0,message:"è¯·éæ©å¸ç§"}],children:e.jsx(ve,{options:Ce.map(s=>({label:`${s.name} (${s.code})`,value:s.code})),dropdownRender:s=>e.jsxs(e.Fragment,{children:[s,e.jsx("div",{className:"border-t p-2 text-center",children:e.jsx(Je,{type:"link",size:"small",icon:e.jsx(Ze,{}),onClick:()=>O("/management/currencies"),children:"管çå¸ç§"})})]})})})]}),e.jsxs(he,{title:"åæ¾ä¸è´¦æ·",children:[c==="physical"?e.jsx(y.Item,{name:"location",label:"åæ¾ä½ç½®",rules:[{required:!0,message:"请è¾å
¥åæ¾ä½ç½®"}],extra:e.jsx(hs,{form:a}),children:e.jsx(W,{placeholder:"ä¾å¦: å§å®¤æ½å±ãä¿é©æãé±å
"})}):e.jsxs("div",{className:"mb-4 rounded-console-sm bg-console-accent-soft p-3 text-[12px] text-console-accent-strong sm:col-span-2",children:["æç¤ºï¼",x[c]?.label??"该类å","éå
³è对åºçè´¦æ·ä»¥åæ¥ä½é¢ã"]}),e.jsx(y.Item,{name:"accountId",label:c==="physical"?"å
³èè´¦æ· (å¯é)":"å
³èè´¦æ·",rules:[{required:c!==void 0&&c!=="physical",message:"è¯·éæ©å¯¹åºçé±å
/é¶è¡/å¸åè´¦æ·"}],children:e.jsx(js,{allowClear:c==="physical",filterType:c==="physical"?"physical":c==="ewallet"?"ewallet":c==="bank"?"bank":c==="brokerage"?"investment":"physical"})})]}),e.jsxs(ms,{children:[e.jsx(y.Item,{name:"notes",label:"夿³¨",className:"sm:col-span-2",children:e.jsx(W.TextArea,{rows:2,placeholder:"è¡¥å
说æ..."})}),w&&b?.lastInventoryTime?e.jsxs("div",{className:"mb-4 text-[12px] text-console-muted sm:col-span-2",children:["䏿¬¡çç¹ï¼",new Date(b.lastInventoryTime).toLocaleString()]}):null]})]})}):n?e.jsx(X,{accentColor:Ye?.color,title:n.name,subtitle:`${x[n.sourceType].label} · ${n.currency}`,badge:Fe?e.jsx(be,{tone:"warning",title:"å·²è¶
è¿ 1 个å£åº¦æªåçç¹å¯¹è´¦",children:"é¿ææªçç¹"}):e.jsx(be,{tone:"success",children:"å·²çç¹"}),className:"lg:sticky lg:top-3",actions:e.jsxs(e.Fragment,{children:[e.jsxs("button",{type:"button",onClick:()=>G(n.id),className:xs,children:[e.jsx(K,{}),e.jsx("span",{children:"çç¹"})]}),e.jsxs("button",{type:"button",onClick:()=>z(n),className:ye,children:[e.jsx(xe,{}),e.jsx("span",{children:"ç¼è¾"})]}),e.jsx(Ie,{title:"ç¡®å®å é¤è¿ç¬ç°éåï¼",onConfirm:()=>de(n),okText:"ç¡®å®å é¤",cancelText:"åæ¶",children:e.jsxs("button",{type:"button",className:je,children:[e.jsx(Te,{}),e.jsx("span",{children:"å é¤"})]})})]}),onClose:()=>I(!1),children:e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-stretch",children:[e.jsxs("div",{className:"min-w-0 sm:flex-1",children:[e.jsx("div",{className:"text-[13px] text-console-muted",children:"å½åéé¢"}),e.jsx("div",{className:"text-[22px] font-medium tabular-nums text-console-ink",children:f(n.amount,n.currency)}),n.currency!==r&&e.jsxs("div",{className:"text-[13px] text-console-muted",children:["â ",f(h(n),r)]})]}),D?e.jsx("div",{className:"min-w-0 sm:w-[42%] sm:max-w-[300px] sm:flex-none",children:e.jsxs("div",{className:"h-full rounded-console-sm px-3 py-2",style:{backgroundColor:fe[D.tone].bg},children:[e.jsx("div",{className:"text-[13px] text-console-muted",children:"䏿¬¡çç¹"}),e.jsx("div",{className:"text-[18px] font-medium tabular-nums",style:{color:fe[D.tone].fg},children:D.value})]})}):null]}),e.jsxs("div",{className:"grid grid-cols-1 gap-x-6 sm:grid-cols-2",children:[e.jsx(S,{label:"åæ¾ä½ç½® / 说æ",children:n.sourceType==="physical"?ge(n.location)??"æªå¡«å":n.notes??"â"}),e.jsx(S,{label:"å
³èè´¦æ·",children:n.accountId?d(n.accountId)?.name??"æªå
³è":"æªå
³è"}),n.isForRetirement?e.jsx(S,{label:"å
»èå½å±",children:"å·²å½å
¥å
»èé±å
· éä¼åä¸å¯å¨ç¨ï¼ä¸è®¡å
¥éå¨èµäº§"}):null,e.jsx(S,{label:"å½å±æå",children:(n.memberId&&n.memberId!=="self"?E.find(s=>s.id===n.memberId)?.name:void 0)??"æ¬äºº"}),e.jsx(S,{label:"æ´æ°æ¶é´",children:j(n.updateTime).format("YYYY-MM-DD HH:mm")}
1)]})]})}):e.jsx(X,{className:"lg:sticky lg:top-3",onClose:()=>I(!1),empty:e.jsxs("div",{className:"px-6 text-center",children:[e.jsx(P,{description:"ä»å·¦ä¾§éæ©ä¸ç¬ç°éæ¥ç详æ
",image:P.PRESENTED_IMAGE_SIMPLE}),e.jsx("p",{className:"mt-2 text-[12px] leading-5 text-console-muted",children:"æ¯æç¨è¶£å³åå½åä¿æ¤è´¢å¡éç§ï¼æ 论æ¯ãæ·±å¤é£å åºéãè¿æ¯ãç¥ç§éåºãï¼ åªè¦ä½ èªå·±è½è¯å«ï¼åæå½åå°±æ¯ä¸ééç§é²çº¿ã"})]})})})]})]})};export{ct as default};
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.