[{"data":1,"prerenderedAt":50},["ShallowReactive",2],{"i-lucide:menu":3,"i-lucide:grip":8,"i-lucide:chevron-right":10,"i-lucide:moon":12,"i-lucide:sun":14,"i-material-symbols:language":16,"i-lucide:chevron-down":18,"i-lucide:shield-check":20,"i-lucide:mail":22,"i-tabler:markdown":24,"i-lucide:code-xml":26,"i-lucide:film":28,"i-lucide:file-text":30,"i-lucide:box":32,"i-lucide:code-2":34,"i-lucide:image":35,"i-lucide:square-sigma":37,"i-lucide:gamepad-2":39,"i-lucide:sparkles":41,"i-lucide:graduation-cap":43,"blog-body-invisible-watermark-explained-zh":45,"i-lucide:cpu":46,"i-lucide:fingerprint":48},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"5\" r=\"1\"\u002F>\u003Ccircle cx=\"19\" cy=\"5\" r=\"1\"\u002F>\u003Ccircle cx=\"5\" cy=\"5\" r=\"1\"\u002F>\u003Ccircle cx=\"12\" cy=\"12\" r=\"1\"\u002F>\u003Ccircle cx=\"19\" cy=\"12\" r=\"1\"\u002F>\u003Ccircle cx=\"5\" cy=\"12\" r=\"1\"\u002F>\u003Ccircle cx=\"12\" cy=\"19\" r=\"1\"\u002F>\u003Ccircle cx=\"19\" cy=\"19\" r=\"1\"\u002F>\u003Ccircle cx=\"5\" cy=\"19\" r=\"1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":15},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":17},"\u003Cpath fill=\"currentColor\" d=\"M8.125 21.213q-1.825-.788-3.187-2.15t-2.15-3.188T2 11.988t.788-3.875t2.15-3.175t3.187-2.15T12.013 2t3.875.788t3.175 2.15t2.15 3.175t.787 3.875t-.787 3.887t-2.15 3.188t-3.175 2.15t-3.875.787t-3.888-.787M12 19.95q.65-.9 1.125-1.875T13.9 16h-3.8q.3 1.1.775 2.075T12 19.95m-2.6-.4q-.45-.825-.787-1.713T8.05 16H5.1q.725 1.25 1.813 2.175T9.4 19.55m5.2 0q1.4-.45 2.488-1.375T18.9 16h-2.95q-.225.95-.562 1.838T14.6 19.55M4.25 14h3.4q-.075-.5-.112-.987T7.5 12t.038-1.012T7.65 10h-3.4q-.125.5-.187.988T4 12t.063 1.013t.187.987m5.4 0h4.7q.075-.5.113-.987T14.5 12t-.038-1.012T14.35 10h-4.7q-.075.5-.112.988T9.5 12t.038 1.013t.112.987m6.7 0h3.4q.125-.5.188-.987T20 12t-.062-1.012T19.75 10h-3.4q.075.5.113.988T16.5 12t-.038 1.013t-.112.987m-.4-6h2.95q-.725-1.25-1.812-2.175T14.6 4.45q.45.825.788 1.713T15.95 8M10.1 8h3.8q-.3-1.1-.775-2.075T12 4.05q-.65.9-1.125 1.875T10.1 8m-5 0h2.95q.225-.95.563-1.838T9.4 4.45Q8 4.9 6.912 5.825T5.1 8\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":19},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":21},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"\u002F>\u003Cpath d=\"m9 12l2 2l4-4\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":23},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7\"\u002F>\u003Crect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":25},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"\u002F>\u003Cpath d=\"M7 15V9l2 2l2-2v6m3-2l2 2l2-2m-2 2V9\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":27},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m18 16l4-4l-4-4M6 8l-4 4l4 4m8.5-12l-5 16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":29},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"\u002F>\u003Cpath d=\"M7 3v18M3 7.5h4M3 12h18M3 16.5h4M17 3v18m0-13.5h4m-4 9h4\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":31},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"\u002F>\u003Cpath d=\"M14 2v5a1 1 0 0 0 1 1h5M10 9H8m8 4H8m8 4H8\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":33},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z\"\u002F>\u003Cpath d=\"m3.3 7l8.7 5l8.7-5M12 22V12\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":27},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":36},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" ry=\"2\"\u002F>\u003Ccircle cx=\"9\" cy=\"9\" r=\"2\"\u002F>\u003Cpath d=\"m21 15l-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":38},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"\u002F>\u003Cpath d=\"M16 8.9V7H8l4 5l-4 5h8v-1.9\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":40},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 11h4M8 9v4m7-1h.01M18 10h.01m-.69-5H6.68a4 4 0 0 0-3.978 3.59l-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258q-.01-.075-.017-.151A4 4 0 0 0 17.32 5\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":42},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594zM20 2v4m2-2h-4\"\u002F>\u003Ccircle cx=\"4\" cy=\"20\" r=\"2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":44},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0zM22 10v6\"\u002F>\u003Cpath d=\"M6 12.5V16a6 3 0 0 0 12 0v-3.5\"\u002F>\u003C\u002Fg>","\u003Cblockquote>\n\u003Cp>&quot;肉眼看不见、却能证明这张图是我的&quot;——盲水印听起来像黑科技。但真到了微信转发、被人截图、旋转裁剪之后，它还认得出来吗？答案是&quot;看你用哪种算法、经历了什么攻击&quot;。理解它把信息藏在哪、怕什么，才能判断它能不能撑住你的使用场景。\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Cimg src=\"\u002Fblog\u002Finvisible-watermark-explained\u002Fcover.webp\" alt=\"盲水印把信息藏进图片频域\">\u003C\u002Fp>\n\u003Ch2>盲水印到底把信息藏在哪？\u003C\u002Fh2>\n\u003Cp>盲水印（blind watermark）指\u003Cstrong>把信息隐藏进图片，且提取时不需要原图\u003C\u002Fstrong>就能取出或验证。它的关键不在&quot;藏得深&quot;，而在藏到一个\u003Cstrong>人眼不敏感、又不易被处理破坏\u003C\u002Fstrong>的位置。这里有两条根本不同的路线：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>空域（spatial domain）\u003C\u002Fstrong>：直接改像素值，比如改最低有效位（LSB）。藏得多、好实现，但极脆弱——随便压缩、缩放就毁了。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>频域（frequency domain）\u003C\u002Fstrong>：先把图像做频率变换，再把信息微调进频率系数里。藏得少，但对压缩、噪声耐受得多。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>实用的盲水印几乎都走频域路线。原因下一节讲——它和&quot;为什么看不见、为什么抗压缩&quot;是同一件事。\u003C\u002Fp>\n\u003Ch2>为什么藏进频域就看不见又抗压缩？\u003C\u002Fh2>\n\u003Cp>因为人眼和 JPEG 压缩，对图像不同频率成分的敏感度天差地别。把图像用 \u003Cstrong>DCT（离散余弦变换）\u003C\u002Fstrong> 或 \u003Cstrong>DWT（离散小波变换）\u003C\u002Fstrong> 拆成频率成分后会发现：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>低频\u003C\u002Fstrong>：图像的整体明暗、大块色彩。人眼很敏感，改动会被看出来。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>高频\u003C\u002Fstrong>：细节、边缘、噪点。人眼不敏感，但\u003Cstrong>JPEG 压缩会优先丢弃高频\u003C\u002Fstrong>。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>中低频\u003C\u002Fstrong>：折中地带——人眼相对不敏感，压缩又不太舍得丢。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>盲水印的巧妙在于\u003Cstrong>把信息嵌进中低频系数\u003C\u002Fstrong>：幅度调得极小，反变换回像素后肉眼看不出（满足隐蔽性），又因为压缩舍不得丢中低频，所以适度 JPEG 压缩后信息还在（满足鲁棒性）。隐蔽性和抗压缩，本质是同一个频域选择带来的两面。\u003C\u002Fp>\n\u003Ch2>鲁棒性 vs 容量 vs 隐蔽性：跷跷板\u003C\u002Fh2>\n\u003Cp>盲水印逃不开一个三角权衡，调一个就动另一个：\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>目标\u003C\u002Fth>\n\u003Cth>怎么实现\u003C\u002Fth>\n\u003Cth>代价\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>更鲁棒（抗压缩\u002F噪声）\u003C\u002Ftd>\n\u003Ctd>嵌入幅度调大、放低频\u003C\u002Ftd>\n\u003Ctd>更易被看出、能藏的信息变少\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>更隐蔽（更看不见）\u003C\u002Ftd>\n\u003Ctd>嵌入幅度调小\u003C\u002Ftd>\n\u003Ctd>抗压缩变弱，易被侵蚀\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>更大容量（藏更多字）\u003C\u002Ftd>\n\u003Ctd>占用更多系数\u003C\u002Ftd>\n\u003Ctd>单点幅度被摊薄，鲁棒性下降\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>所以没有&quot;既藏得多、又完全看不见、还刀枪不入&quot;的水印。一份图能藏多少字（容量）受图像尺寸限制——大图能藏更多，小图或大面积纯色区域（系数稀疏）藏不下多少，强行嵌入会溢出或破坏画质。\u003C\u002Fp>\n\u003Ch2>最难的对手：几何攻击\u003C\u002Fh2>\n\u003Cp>频域水印有个天然软肋——\u003Cstrong>几何攻击\u003C\u002Fstrong>：旋转、缩放、裁剪、平移。因为提取依赖&quot;系数和位置的对应关系&quot;，一旦图片被旋转 5 度或裁掉一边，系数全错位，常规频域水印就读不出来了。这和 JPEG 压缩那种&quot;幅度衰减&quot;是两类完全不同的攻击。\u003C\u002Fp>\n\u003Cp>应对几何攻击要换思路，典型是\u003Cstrong>基于傅里叶幅度谱的嵌入\u003C\u002Fstrong>：傅里叶幅度谱有&quot;旋转对应谱的旋转、缩放对应谱的缩放&quot;的性质，把水印嵌成对旋转\u002F缩放不变的环形结构，就能在图片被转、被缩后仍检出。但它有个明确取舍：\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>抗几何攻击的算法通常只能回答&quot;这张图有没有我的水印&quot;（存在性验证），而\u003Cstrong>难以还原出具体嵌入的文字\u003C\u002Fstrong>。要可读文字就用普通频域文字水印，要抗旋转缩放就用幅度谱指纹——两者各管一段，常常分层叠加使用。\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>这正是为什么实用方案往往提供两种模式：一种是嵌入可读文字（DWT-DCT-SVD 一类，能提取内容、抗噪声压缩），另一种是抗旋转\u002F缩放的指纹（傅里叶环形，只验证有无）。两者按所担心的攻击类型选用，必要时叠加。\u003C\u002Fp>\n\u003Ch2>能力边界：盲水印不能保证什么\u003C\u002Fh2>\n\u003Cp>把盲水印的预期摆正，才不会误用。它的边界包括：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>不是加密\u003C\u002Fstrong>：水印藏的是标识\u002F版权信息，不保证内容机密。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>怕反复二次压缩\u003C\u002Fstrong>：每被转发压一次，水印就被侵蚀一点，链路太长会检不出——所以验证要用导出的原始 PNG，而非聊天软件压过的版本。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>怕透明区与大片纯色\u003C\u002Fstrong>：透明像素和近白大色块承载不了系数扰动，嵌入会被迫填底色或微调底色。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>不能阻止盗用，只能事后取证\u003C\u002Fstrong>：它是溯源\u002F举证手段，不是访问控制。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>强对抗下可被擦除\u003C\u002Fstrong>：针对性的去水印攻击（强滤波、重采样、AI 重绘）仍可能抹掉它。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>这类技术适合什么场景？\u003C\u002Fh2>\n\u003Cp>判断盲水印适不适合，看你的图\u003Cstrong>会经历什么处理、需要&quot;读出内容&quot;还是&quot;证明存在&quot;\u003C\u002Fstrong>：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>适合\u003C\u002Fstrong>：原图可控分发（导出 PNG 给对方）、需要事后溯源\u002F举证、能容忍少量画质扰动的版权与防泄漏场景。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>勉强\u003C\u002Fstrong>：会经过多轮社交平台压缩转发——可用抗压缩算法但要接受检出率下降。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>不适合\u003C\u002Fstrong>：要求内容机密（该用加密）、或图会被严重几何变换\u002FAI 重绘后仍要 100% 可读。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>小结\u003C\u002Fh2>\n\u003Cp>盲水印把信息藏进图像的中低频系数，靠人眼对中低频不敏感、而 JPEG 又舍不得丢中低频，同时实现&quot;看不见&quot;和&quot;抗压缩&quot;。它逃不开鲁棒性、隐蔽性、容量的三角权衡；最难对付的是旋转缩放等几何攻击，要靠傅里叶幅度谱这类不变性嵌入来抵抗，但代价是只能验证存在、难以还原文字。说到底它是事后溯源与举证的工具，不是加密、也挡不住针对性擦除——用在&quot;原图可控、需要证明归属&quot;的场景才最划算。\u003C\u002Fp>\n",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":47},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 20v2m0-20v2m5 16v2m0-20v2M2 12h2m-2 5h2M2 7h2m16 5h2m-2 5h2M20 7h2M7 20v2M7 2v2\"\u002F>\u003Crect width=\"16\" height=\"16\" x=\"4\" y=\"4\" rx=\"2\"\u002F>\u003Crect width=\"8\" height=\"8\" x=\"8\" y=\"8\" rx=\"1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":49},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4M14 13.12c0 2.38 0 6.38-1 8.88m4.29-.98c.12-.6.43-2.3.5-3.02M2 12a10 10 0 0 1 18-6M2 16h.01m19.79 0c.2-2 .131-5.354 0-6\"\u002F>\u003Cpath d=\"M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2m2.31 12c.21-.66.45-1.32.57-2M9 6.8a6 6 0 0 1 9 5.2v2\"\u002F>\u003C\u002Fg>",1782539693111]