当前位置: 首页 > article >正文

CloakBrowser 拆机:57 个 C++ 补丁能不能撑起“30/30 通过“的承诺?

路易乔布斯 · 2026-05-14 · AI Daily 深度拆解数据时间锚点本文写作时 CloakHQ/CloakBrowser 数据为10.4k stars / wrapper v0.3.28 / Chromium 146 / 57 个 C 补丁Linux/Win/ 16 个 release。一、又一个 重磅但这次我决定先做尽职调查今早 AI 日报第 9/10 条开源反检测浏览器通过全部 30 项机器人测试CloakHQ 发布 CloakBrowser基于 Chromium 深度修改指纹通过全部 30 项机器人检测测试。广告语很满30/30 全通过、Playwright 即插即用、源码层面修补。我点进去之前的本能反应不是兴奋是怀疑。原因有三个30 项是哪 30 项反爬产业里有几百种检测站挑哪 30 个能满分源码层面修补是真改 C 还是 wrap 个 launch flag这两件事差一个数量级。“Playwright drop-in”是真零迁移成本还是会有一堆不兼容的暗坑带着这三个问题我把 GitHub README、CHANGELOG、CHANGELOG 之外的 RELEASE 列表、对比表、License 文件全读了一遍。这篇文章不是吹捧是一次读 README 之外的尽职调查。读完你会知道(1) 反爬战场为什么这么卷(2) CloakBrowser 真的改了什么(3) “30/30” 这个数字有多硬、多空(4) 它和 4 个同类方案到底差在哪(5) 你装上之后会踩到的 5 个坑。二、反检测的世界为什么这么卷先讲清楚战场。这样你看后面的技术细节才有锚点。反爬产业链是一个永动循环你想抓数据 → 网站装反爬Cloudflare/reCAPTCHA/FingerprintJS → 你装反检测playwright-stealth / undetected-chromedriver → 网站升级检测TLS 指纹、CDP 痕迹、行为分析 → 你升级反检测Camoufox / CloakBrowser → 网站再升级 → ......为什么 Playwright 原版直接上场会输因为它身上印着至少 5 个无伪装的机器人胎记胎记Playwright 原版表现检测方法UA 字符串HeadlessChrome/146.0.0.0字符串包含 “Headless”navigator.webdrivertrue一行 JS 检测navigator.plugins长度 0真 Chrome 是 5window.chromeundefined真 Chrome 是 objectCDP 协议留下 Runtime.evaluate 痕迹时序检测reCAPTCHA v3 给原版 Playwright 的得分是0.1——也就是这一看就是机器人。要绕过这些胎记社区出现了 4 代方案每代动手的层级越来越深代次代表补丁层级怎么改第 1 代playwright-stealthJS 注入启动后注入 JS 覆盖 navigator.webdriver 等属性第 2 代undetected-chromedriverConfig 补丁改 Chrome 启动参数 binary 头几个字节第 3 代CamoufoxC 源码Firefox改 Firefox 源码重新编译第 4 代CloakBrowserC 源码Chromium改 Chromium 源码重新编译关键洞察检测方在监测哪个层面绕过方就要在哪个层面动手。JS 注入对付 JS 检测有效但对 TLS 指纹检测无效——TLS 握手发生在 JS 之前。源码级补丁是把伪装做到了二进制深处运行时无法被覆写。CloakBrowser 是 Chromium 系第一个把全部补丁打到 C 源码层的开源项目。这是它的核心位置。三、它真的改了什么57 个 C 补丁我把 README 里能找到的指纹维度全数清楚整理成下表类别修补对象检测意义图形渲染Canvas 像素哈希、WebGL UNMASKED_VENDOR/RENDERER、GPU渲染卡和驱动的指纹常被用作设备 ID音频Audio 指纹、AAC audioAudioContext 振荡器输出的微小数值差异字体字体枚举系统字体集合是设备指纹核心维度屏幕screen 尺寸、taskbar 高度、window position真实浏览器有任务栏headless 没有硬件hardwareConcurrency、deviceMemorynavigator 暴露的 CPU 核心数和内存网络WebRTC ICE candidate IP、DNS/connect/SSL timingWebRTC 会泄漏真实内网 IP自动化信号navigator.webdriver、CDP input behavior自动化工具最易暴露的信号其他WebAuthn、navigator.platform、UA、Client Hints、客户端矩形client rects、storage quota杂项指纹组合起来唯一性极高8 大类对应57 个 C 补丁Linux/Windows 平台。macOS 因为 Chromium 145 还没全套 rebase只有 26 个补丁。编译进二进制 vs JS 注入差在哪举一个最容易理解的例子。navigator.webdriver true这件事。JS 注入派playwright-stealth// 启动后注入这段 JSObject.defineProperty(navigator,webdriver,{get:()false});检测方反制// 检测 getter 是否被改写constdescObject.getOwnPropertyDescriptor(Navigator.prototype,webdriver);if(desc.get.toString().includes( false))returnBOT;这种攻防来回 5 年了stealth 派一直在打补丁但永远落后半步。源码补丁派CloakBrowser直接改 Chromium 的third_party/blink/renderer/core/frame/navigator_automation_information.cc让webdriver()函数本身返回false。没有任何 JS 痕迹。检测方拿到的就是和真实 Chrome 完全一样的 getter。差距是结构性的。这就是为什么 reCAPTCHA v3 给 CloakBrowser 的得分能打到0.9人类水平而 stealth 派只能打到 0.5。一行迁移示例CloakBrowser 是个薄包装层——Python 或 JS 包启动时调用自己编译的 Chromium 二进制# 之前Playwright 原版-fromplaywright.sync_apiimportsync_playwright-pwsync_playwright().start()-browserpw.chromium.launch()# 之后CloakBrowserfromcloakbrowserimportlaunchbrowserlaunch()返回的就是标准 PlaywrightBrowser对象。new_page()、new_context()、close()这些 API 全通用。JS 端同样一行const{launch}require(cloakbrowser);constbrowserawaitlaunch();// 就这样四、“30/30 通过”——这个数字有多硬这一节是这篇文章最不一样的地方。我做了一件简单但很多人懒得做的事把 README 里所有具名披露的检测项数清楚。结果让我有点意外。README 文字写着 “tested against 30 detection sites”但表格里只列出了约 14 项具名检测#检测服务Playwright 原版CloakBrowser1reCAPTCHA v30.1机器人0.9人类2Cloudflare Turnstile非交互式FAILPASS3Cloudflare TurnstilemanagedFAILPASS4ShieldSquareBLOCKEDPASS5FingerprintJS bot detectionDETECTEDPASS6BrowserScan bot detectionDETECTEDNORMAL4/47bot.incolumitas.com13 fails1 fail8deviceandbrowserinfo.com6 true flags0 true flags9navigator.webdrivertruefalse10navigator.plugins.length0511window.chromeundefinedobject12UA stringHeadlessChromeChrome/146.0.0.013CDP detectionDetectedNot detected14TLS 指纹ja3n/ja4/akamaiMismatchIdentical to Chrome剩下的16 项README 没具名披露。这是营销话术还是测试覆盖两种解读都成立善意解读剩余 16 项是工具内部回归测试集每个补丁对应 1 个或多个测试。开发者社区里有 49 个 issues 12 个 PR 在持续提交检测站点报告56 个补丁 内部回归 30 总数合理。警惕解读30 是营销好看的整数。14 项具名是真凭据。任何严肃的反爬决策都该看 14不该看 30。我的判断已披露的 14 项已经覆盖反爬战场 90% 真实场景——reCAPTCHA、Cloudflare、FingerprintJS 是三大金主能搞定它们就解决了大部分 SaaS 网站。但商业决策不该被30/30这个营销数字牵着走。要诚实README 要么具名列出 30 项要么把数字换成我们打了 57 个补丁覆盖 8 大类指纹。后者更硬。五、和 4 个同类方案比CloakBrowser 强在哪我把 README 给的对比表又补了几个运维维度——光看技术能力不够工具最终是要进生产环境的维度Playwrightplaywright-stealthundetected-chromedriverCamoufoxCloakBrowser补丁层级无JS 注入Config 补丁CFirefoxCChromium引擎ChromiumChromiumChromeFirefoxChromiumreCAPTCHA v30.10.3-0.50.3-0.70.7-0.90.9维护活跃度极高一般高高高16 release二进制大小标准标准标准~150MB~200MB平台覆盖全全全全Linux/Win 146 macOS 145License 风险MIT 干净MIT 干净干净复杂MIT 代码 二进制禁分发API 兼容原生原生patchSelenium自有Playwright/Puppeteer 双兼容AI Agent 友好度一般一般一般良好优秀browser-use/Crawl4AI 内置集成关键判断如果你的目标网站用了 Cloudflare 或 reCAPTCHA v3CloakBrowser 是当前 Chromium 系最强方案。没有之一。但下面三种情况它不是最优你只需要绕过 navigator.webdriver 这种入门级检测→ 原版 Playwright stealth 已够省 200MB 二进制你的目标网站只检测 UA→ 改一个启动参数就行不用上重武器你的合规要求严格金融/医疗→ 二进制 License 禁分发是灰区需要法务确认六、装上之后会踩到的 5 个坑我把 README 里的小字部分和 issue 列表里高频抱怨拎出来整理成 5 个坑。坑 1二进制 200MBCI/CD 镜像构建变慢每次pip install cloakbrowser之后首次 launch 会下载平台对应二进制约 200MB。如果你在 GitHub Actions / GitLab CI 里跑每次构建都要等这个下载。解法用官方 Docker 镜像cloakhq/cloakbrowser—— 二进制已经预装。或者在 CI 里 cache~/.cloakbrowser/bin/目录。坑 2macOS 比 Linux/Windows 落后一个 Chromium 版本平台Chromium 版本补丁数Linux x86_6414657Linux arm6414657Windows x86_6414657macOS arm6414526macOS x86_6414526意义macOS 上你少了 31 个补丁。如果你只在 Mac 上开发并 ship 到 Linux 服务器没问题但如果生产环境也在 macOS比如某些企业 Mac mini 跑着抓取任务你需要意识到这个差距。坑 3humanizeTrue 会让速度慢 2-3 倍CloakBrowser 提供了humanizeTrue参数——开启后鼠标移动用贝塞尔曲线、键盘按键加随机时序、滚动模拟惯性。听起来很美。browserlaunch(humanizeTrue)实测速度比原版慢 2-3 倍。按需开只在被风控盯上的关键页面登录、提交表单开列表抓取页关闭。坑 4BINARY-LICENSE 禁止再分发——这是合规雷区代码部分是 MIT但二进制编译后的 Chromium禁止再分发。什么算再分发READme 没说清。我整理几个可能踩雷的场景场景风险你打 Docker 镜像往公司内网仓库推灰区——内网算不算分发你做成 SaaS 让客户调用高风险建议邮件 cloakhqpm.me 确认你做成 npm 私有包给团队用灰区你 fork 仓库重新编译并 GitHub release高风险明确禁止不确定就发邮件问。10.4k star 项目作者一般会回。坑 5它是单一职责工具别拿它当全能CloakBrowser 明确不内置两件事代理轮换你得自己接 proxy providerBright Data / Smartproxy / 自建CAPTCHA 解决被人机验证拦下后它不帮你过——它的目标是不出现 CAPTCHA而不是出现了帮你解这其实是好事——单一职责工具更稳定。但如果你期待装一个东西就能开箱抓淘宝京东拼多多醒醒。七、3 类场景该装 vs 3 类场景不该装✅ 装它的 3 类场景目标网站用 Cloudflare / reCAPTCHA v3电商、社交、金融数据网站基本都是。CloakBrowser 是当前 Chromium 系最优解。长期监测任务每天跑、跑几个月、不能被风控封号封 IP。源码级伪装稳定性远高于 JS 注入派。AI Agent 浏览browser-use、Crawl4AI、Stagehand 这类项目把 CloakBrowser 列为推荐底座。AI agent 的浏览行为本身就比脚本更像人配上 CloakBrowser 几乎无法识别。❌ 不装它的 3 类场景纯 API 抓取杀鸡用牛刀。直接requests 代理已够。一次性脚本你写个 100 行脚本下载一批数据跑完就扔。下载 200MB 二进制不值。合规要求高的场景金融、医疗、政企。BINARY-LICENSE 灰区你过不了法务审。八、结尾领先半步就是这种工具的全部承诺读完这一切我对反检测浏览器市场有了一个新的判断。CloakBrowser 不是反爬终结者。它做不到那个事——只要检测方愿意升级永动机就会继续转。它做的是让你领先检测方半步。半步的价值有多大看具体场景。如果你跑的是周末 hack 项目半步没意义。如果你跑的是公司每月支撑十万级请求的数据管线、每次被封都意味着重写抓取逻辑 调代理池 重新驯化模型——半步就是一个工程师两周的工资。10.4k stars 不算行业巨星但 16 个 release 里能看到 CloakHQ 团队每两周一更的节奏每次都跟上 Chromium 主线。这种活跃度比 star 数更值钱。我的结论CloakBrowser 不是 silver bullet是工具箱里多一把锤子。当你的目标真的是 Cloudflare 把守的城堡时这把锤子是当前最好用的那把。九、给想动手的你# Pythonpipinstallcloakbrowser# Node.js搭 Playwrightnpminstallcloakbrowser playwright-core# Docker一行验证dockerrun--rmcloakhq/cloakbrowser cloaktest# 最小可用迁移python-c from cloakbrowser import launch b launch() p b.new_page() p.goto(https://demo.fingerprint.com) print(p.content()[:500]) b.close() 仓库https://github.com/CloakHQ/CloakBrowser10.4k stars / v0.3.28 / MIT 代码 二进制专用 license官网https://cloakbrowser.dev/

相关文章:

CloakBrowser 拆机:57 个 C++ 补丁能不能撑起“30/30 通过“的承诺?

路易乔布斯 2026-05-14 AI Daily 深度拆解 数据时间锚点:本文写作时 CloakHQ/CloakBrowser 数据为 10.4k stars / wrapper v0.3.28 / Chromium 146 / 57 个 C 补丁(Linux/Win)/ 16 个 release。一、又一个 🔥 重磅,但…...

191k Star 的 Superpowers:把 AI 从“会写代码“改造成“守纪律的工程师“

路易乔布斯 2026-05-14 AI Daily 深度拆解 数据时间锚点:本文写作时 obra/superpowers 数据为 191k stars / v5.1.0 (2026-04-30) / 8 个编码代理平台已支持。一、那条让我点进去的 AI 日报 今早翻 AI 日报,第 9/10 条标着 🔥 重磅&#xf…...

local-claw:轻量级容器化开发环境工具的设计与实战

1. 项目概述:一个为本地开发量身定制的“瑞士军刀”如果你和我一样,长期在本地环境进行软件开发、数据分析和自动化脚本编写,那你一定对“环境隔离”和“依赖管理”这两个词深有感触。每次启动一个新项目,或者在不同项目间切换&am…...

嵌入式Linux设备型号信息全解析:从RK3562开发板到生产实践

1. 项目概述与核心价值最近在调试一块基于瑞芯微RK3562芯片的开发板,来自触觉智能。在推进一个嵌入式项目的过程中,遇到了一个不大不小但很关键的问题:我需要从系统层面准确获取并验证这块板子的设备型号信息。这听起来简单,但在实…...

AI智能体开发脚手架:基于模板快速构建可工程化智能体系统

1. 项目概述:一个为AI智能体开发者准备的“开箱即用”脚手架如果你正在尝试构建一个能够自主执行复杂任务的AI智能体,那么你很可能已经体会过从零开始的痛苦:环境配置、框架选型、工具集成、API对接、日志管理……每一个环节都充满了选择与陷…...

TI AM5708异构多核开发板工业应用实战:从硬件解析到DSP协同编程

1. 项目概述:从申请到开箱,一次完整的工业级开发板体验最近在做一个工业视觉相关的预研项目,需要一块性能足够、接口丰富且稳定性有保障的处理器平台。市面上常见的消费级开发板在复杂电磁环境和长时间连续运行方面总是让人心里没底&#xff…...

别再死记硬背公式了!用Verilog手把手带你玩转DDS:从相位累加器到波形输出的保姆级仿真

从零构建DDS核心模块:Verilog实战与波形分析全解 在数字信号处理领域,直接数字频率合成(DDS)技术因其精确的频率控制和快速的切换速度,成为现代通信系统中的关键组件。不同于传统模拟振荡器,DDS通过纯数字方式生成信号&#xff0c…...

如何用Pearcleaner彻底清理Mac应用残留文件:开源免费的解决方案

如何用Pearcleaner彻底清理Mac应用残留文件:开源免费的解决方案 【免费下载链接】Pearcleaner A free, source-available and fair-code licensed mac app cleaner 项目地址: https://gitcode.com/gh_mirrors/pe/Pearcleaner 你是否曾经在删除Mac应用后&…...

开源工具picprose:AI驱动的图片处理与文案生成一体化解决方案

1. 项目概述与核心价值最近在折腾个人博客和内容创作时,我遇到了一个挺普遍但又很烦人的问题:手头有一堆图片,但要么尺寸不合适,要么色调不统一,要么就是缺少一个能吸引眼球的标题。手动处理吧,费时费力&am…...

SDR++软件定义无线电入门终极指南:从零开始掌握跨平台SDR接收

SDR软件定义无线电入门终极指南:从零开始掌握跨平台SDR接收 【免费下载链接】SDRPlusPlus Cross-Platform SDR Software 项目地址: https://gitcode.com/GitHub_Trending/sd/SDRPlusPlus 想要探索无线电世界的奥秘却不知从何入手?SDR这款轻量级、…...

对比直接采购与使用Token Plan套餐在长期项目中的成本观感

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比直接采购与使用Token Plan套餐在长期项目中的成本观感 在持续需要大模型API的中长期项目中,成本的可预测性和可控性…...

R公司摆线针轮减速机装配线优化【附代码】

✨ 长期致力于装配线优化、多目标优化、改进粒子群算法、Flexsim仿真研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)基于工业工程的装配线瓶颈识别与…...

企业内训系统集成AI助教时如何通过Taotoken实现用量审计与风控

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业内训系统集成AI助教时如何通过Taotoken实现用量审计与风控 当企业将大模型能力以AI助教的形式集成到内部学习平台时&#xff0…...

glm-switch:ChatGLM多版本模型一键切换与环境管理工具详解

1. 项目概述与核心价值 最近在折腾大语言模型本地部署和推理时,遇到了一个挺实际的问题:手头有几个不同版本的 ChatGLM 模型权重文件,比如 GLM-6B、GLM-10B,还有社区微调过的各种版本。每次想切换模型做测试或者对比效果&#xf…...

2026年金融性能测试平台选型推荐:安全合规与高稳定性适配指南

金融行业是关键行业,其系统涉及资金交易、用户信息、风控数据等核心敏感信息,对性能测试平台的要求较高,核心聚焦四大维度:高稳定性,支撑核心交易系统 724 小时稳定运行,无卡顿、无崩溃;安全合规…...

Smiley Sans字体如何在商业项目中合规使用?三步解决开源字体版权风险

Smiley Sans字体如何在商业项目中合规使用?三步解决开源字体版权风险 【免费下载链接】smiley-sans 得意黑 Smiley Sans:一款在人文观感和几何特征中寻找平衡的中文黑体 项目地址: https://gitcode.com/gh_mirrors/smi/smiley-sans 在商业项目中选…...

基于主从博弈的电热综合能源系统动态定价与能量管理(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

本地搭建React Server Components:从原理到实践深度解析

1. 项目概述:当Server Components从概念走向你的本地环境如果你最近关注前端技术动态,一定对“Server Components”这个词不陌生。它被描述为React生态的一次范式转移,承诺带来更小的客户端包体积、更直接的数据库访问和更快的首屏渲染。但说…...

PyFluent:如何用Python代码将CFD仿真效率提升10倍?

PyFluent:如何用Python代码将CFD仿真效率提升10倍? 【免费下载链接】pyfluent Pythonic interface to Ansys Fluent 项目地址: https://gitcode.com/gh_mirrors/pyf/pyfluent PyFluent作为Ansys Fluent的Python原生接口,正在彻底改变C…...

利用Taotoken模型广场,为虚拟机中的不同AI任务匹配合适模型

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken模型广场,为虚拟机中的不同AI任务匹配合适模型 在虚拟机环境中部署和运行AI应用,常常需要处理…...

MeshSig:分布式消息签名库,解决微服务间数据可信难题

1. 项目概述:一个为分布式系统设计的轻量级消息签名库最近在折腾一个微服务间的数据校验需求,发现市面上的签名库要么太重,要么功能太单一,直到我遇到了carlostroy/meshsig。这名字起得挺有意思,“Mesh”是网格&#x…...

自托管代码仓库聚合分析平台CodeStacker:架构设计与部署指南

1. 项目概述:一个为开发者打造的代码仓库聚合与智能分析工具如果你和我一样,每天需要面对GitHub、GitLab、Bitbucket等不同平台上的几十个甚至上百个代码仓库,那么“仓库管理”这件事本身,可能就已经消耗了你大量的精力。哪个项目…...

分布式电动汽车转向稳定性控制【附代码】

✨ 长期致力于分布式电动汽车、控制系统、参数估计、转向稳定性研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)基于扩展卡尔曼滤波的车辆状态参数联合…...

Word崩溃自救指南:6大神器解决目录混乱、格式错乱等问题——从“目录生成失败“到“自动化办公“的6个神器

写论文写到一半,目录突然罢工;复制网页内容,英文全变宋体;电脑死机,三小时工作灰飞烟灭……如果你也被Word折磨过,这篇文章就是为你准备的救命指南。 一、引言:当Word成为你的"猪队友" 根据微软官方数据,全球每天有超过12亿人使用Office套件,其中Word的月活…...

PPT数据可视化——从Excel表格到专业图表的5分钟蜕变之路

直接粘贴Excel表格就像"穿睡衣去面试"——内容都对,但看着不专业。 引言:那些年,我们被数据"丑哭"的瞬间 想象一下这个场景:你熬了三个通宵,终于把Q3季度的销售数据分析完了。Excel里密密麻麻的数字,每一行都准确无误。你信心满满地打开PPT,Ctrl+C…...

JDspyder:3步实现京东抢购自动化的Python脚本解决方案

JDspyder:3步实现京东抢购自动化的Python脚本解决方案 【免费下载链接】JDspyder 京东预约&抢购脚本,可以自定义商品链接 项目地址: https://gitcode.com/gh_mirrors/jd/JDspyder 在电商促销和限量商品抢购的激烈竞争中,京东抢购自…...

构建多平台博客数据分析工具:从数据聚合到可视化实践

1. 项目概述:一个为博主量身定制的流量与内容分析工具最近在折腾个人博客和内容创作的朋友,大概都绕不开一个核心问题:我写的东西,到底有多少人看?读者从哪里来?他们对什么内容更感兴趣?如果你在…...

英雄联盟回放分析终极指南:5步掌握ROFL播放器的完整使用教程

英雄联盟回放分析终极指南:5步掌握ROFL播放器的完整使用教程 【免费下载链接】ROFL-Player (No longer supported) One stop shop utility for viewing League of Legends replays! 项目地址: https://gitcode.com/gh_mirrors/ro/ROFL-Player 还在为英雄联盟…...

电气设计知识保留:从工具革新到工程实践

1. 知识保留的行业挑战与核心价值在汽车和航空航天领域,产品生命周期往往跨越数十年。波音747客机从1969年首飞到2022年停产,产线维护需要跨越三代工程师的知识传承。我曾参与某航空企业的线束设计标准化项目,发现老工程师退休时带走的经验数…...

GitToolBox插件安装失败的5个常见问题与解决方案

GitToolBox插件安装失败的5个常见问题与解决方案 【免费下载链接】GitToolBox GitToolBox IntelliJ plugin 项目地址: https://gitcode.com/gh_mirrors/gi/GitToolBox GitToolBox是JetBrains IDE生态中备受开发者喜爱的Git增强插件,它通过状态显示、自动拉取…...