- 第一段階。
- 建筑物
- 应用设计
- 应用程序编辑器
- 郁金香应用程序编辑器介绍
- 创建新的郁金香应用程序
- 如何在应用程序编辑器和播放器中使用键盘快捷键
- 郁金香中的多语言功能
- 步骤
- 小装饰
- 什么是 Widget?
- 输入小工具
- 嵌入式小工具
- 按钮小工具
- 如何配置小工具
- 为步骤添加输入部件 更新资料
- 什么是交互式表格小工具?
- Product Docs Template
- 如何嵌入视频
- 如何在应用程序中嵌入分析功能
- 使用文件
- 动态填充单选或多选 widget
- 如何使用复选框小工具
- 如何添加条形码小工具
- 如何在步骤中添加网格小部件
- 如何在应用程序内和应用程序之间复制/粘贴内容
- 如何在步骤中添加仪表小部件
- 自定义部件概述 更新资料
- 创建签名表步骤
- 使用输入部件进行数据验证 更新资料
- 记录历史小工具概述
- 表格步骤的技术细节
- 如何在应用程序中添加图片
- 如何使用电子签名小工具
- 应用程序中的数字格式 更新资料
- 教科文组织
- 什么是触发器?
- 阶跃触发器
- 应用程序级触发器
- 小部件触发器
- 应用程序过渡指南
- Capture App Screenshot
- 计时器触发器
- 如何添加设备触发器
- 如何通过条件(If/Else 语句)添加触发器
- 触发器编辑器中的操作和转换列表
- 最常见的十大触发因素是什么?
- 如何通过触发器设置部件颜色
- 如何发送电子邮件
- 如何为 Tulip 用户设置短信通知
- 如何从触发器打印步骤
- 如何在应用程序编辑器中使用表达式编辑器
- 表达编辑器的技术细节
- 应用程序编辑器中的完整表达式列表
- 使用日期时间表达式
- 类型化表达
- 使用数组和对象表达式
- 在触发器中处理时间
- 支持的自定义日期格式
- 如何完成应用程序
- 如何通过设备摄像头扫描条形码和 QR 码
- 如何在触发器中添加正则表达式
- 在郁金香应用程序中使用应用程序信息
- 如何使用触发器调用连接器函数
- 变量
- 解决问题
- 达蒂(印度教女神)。
- 连接器
- 分析
- 视觉
- 设备监测
- 受管制行业
- 副驾驶站在第一线。
- 自动化
- 进口中的出口
- 运行应用程序
- 管理
- Developers
- Connect to Software
- Connect to Hardare
- Edge Devices
- 支持的设备
- 可与郁金香配合使用的即插即用设备列表
- 创建和支持设备驱动程序
- 郁金香中的设备驱动程序支持
- 如何设置条形码扫描仪
- 使用串行驱动程序
- 如何将斑马打印机与 Tulip 集成
- 使用 Zebra 网络打印机驱动程序
- 使用 Zebra GK 系列标签打印机驱动程序
- 使用 USB 波贝盒驱动程序
- 使用康耐视 In-Sight 2000 驱动程序
- 如何配置康耐视和 Tulip
- 使用 MT SevenExcellence PH 计驱动程序
- 使用通用 ADC 驱动程序
- 使用欧米茄 HH806 温度计驱动器
- 使用数字卡尺驱动器
- 如何设置通用 TS05 蓝牙测温枪
- 使用康耐视 DataMan TCP 驱动程序
- 为 Windows Tulip Player 设置三丰 U-WAVE 接收器
- 使用布雷克内尔 PS25 称重驱动器
- 使用 RFID 驱动程序
- 使用Kolver EDU 2AE/TOP/E驱动程序
- 使用 USB 脚踏板驱动程序
- 使用 Torque 开放协议驱动程序
- 使用 Dymo M10 USB 电子称驱动程序
- 使用康耐视 In-Sight 驱动程序
- 使用 Telnet 驱动程序
- 使用通用 I/O 驱动程序
- 如何设置科尔弗扭矩控制器
- 使用 Insize 多通道卡尺驱动器
- 使用 Dymo S50 USB 电子称驱动程序
- 斑马 Android DataWedge 配置
- 将三丰数字卡尺与三丰 U 波驱动器配合使用
- 如何添加奥豪斯秤并将输出存储在变量中
- 温湿度传感器单元测试
- Troubleshoot
- Nodo Rosso.
- 创建可重复使用的组件
- 使用应用程序接口
- Edge Driver SDK
- 技术和信息技术文件
- 指南
- 图书馆
- 使用郁金香图书馆 更新资料
- Laboratory Operation App Suite
- 图书馆藏书
- 图书馆应用程序
- 教科书上的例子
- 应用解决方案
- CMMS 应用程序包
- Zerokey solutions
- 成果的可见性
- 物品委託電子申告(eBR)申請書類一式
- 盈科 CAPA Lite
- 5 为何使用人工智能进行根源分析
- 利用人工智能进行简单的缺陷报告
- 业务案例生成器
- 轮班启动会议
- 看板应用程序套件
- 简单的 OEE 控制面板
- Arena BOM 解决方案
- 设备管理应用程序套件
- 简单核对表
- 清单管理套件
- 考勤管理简单解决方案
- 包装与装运图书馆应用
- CAPA 管理
- 移动照相机应用程序
- OEE 计算器
- 每小时生产记分卡
- 材料反冲
- 质量事件仪表板
- 首次通过产量申请
- 采光
- 培训解决方案
- 数字系统库存
- 视觉定位跟踪
- 数字系统访问管理
- 材料管理
- 工具与资产经理
- 优质活动管理
- 带断光传感器的步进推进器
- 数字秒表
- 审核清单
- 卡塔纳企业资源规划应用程序
- 高级别基线评估
- 物料清单管理
- 安全事故经理
- Composable Lean
- Composable Mobile
- 如何申请
- 可堆肥 MES
- 制药行业的 MES 系统
- 连接器和单元测试
- Planeus 单元测试 更新资料
- COPA-DATA 连接器 新
- Veeva 连接器
- Inkit 连接器
- MRPeasy 连接器
- Oracle 融合连接器
- LabVantage 连接器和单元测试
- 谷歌聊天连接器
- Salesforce 连接器
- Litmus 概览
- eMaint 连接器
- eLabNext 连接器
- Acumatica ERP 连接器
- CETEC 连接器
- PagerDuty 连接器
- NiceLabel 集成
- Aras 集成概述
- SDA 集成
- 尼米乐队单元测试
- 竞技场整合 更新资料
- 条码扫描器单元测试
- 脚踏板单元测试
- 开始在 RealWear 头戴式耳机上使用郁金香
- 空气台连接器
- 希波连接器
- 调酒师集成
- SAP S/4 HANA 云连接器
- RFID 扫描仪单元测试
- Jira 连接器
- 斑马标签打印机单元测试
- 谷歌翻译连接器
- MSFT Power Automate
- OpenAI 连接器
- 谷歌日历连接器
- 郁金香应用程序接口单元测试
- Duro PLM 单元测试
- HiveMQ 单元测试
- 与 NetSuite 集成
- 康耐视单元测试
- PowerBI 桌面集成
- ProGlove 单元测试
- Fivetran 集成
- ParticleIO 集成
- Google Drive 连接器
- 雪花连接器 更新资料
- SAP SuccessFactors 连接器
- ZeroKey Integration
- 谷歌地理编码连接器
- 谷歌工作表连接器
- 如何将 Tulip 与 Slack 整合
- HighByte 智能枢纽单元测试
- LandingAI 单元测试
- LIFX 单元测试(无线灯)
- 微软日历连接器
- M365 Dynamics F&O 连接器
- Microsoft Outlook 连接器
- Microsoft Teams 连接器
- 使用 Oauth2 将 Microsoft Graph API 连接到 Tulip
- Microsoft Excel 连接器
- 网宿应用程序和连接器
- OpenBOM 连接器
- 称重秤单元测试
- InfluxDB 连接器
- Augury 连接器
- 连接器
- 舍弗勒 Optime 连接器
- MongoDB Atlas 连接器
- MaintainX 连接器
- Twilio 连接器
- SendGrid 连接器
- 安慰连接器
- 如何为 RealWear 头戴式耳机设计郁金香应用程序
- OnShape 连接器
- 可定制的小部件
- 调度自定义小工具 新
- 时间轴小工具
- json 树查看器小工具
- 看板任务管理小工具
- 徽章小工具
- 高级计时器小工具
- 分段按钮自定义小工具
- 动态仪表自定义小工具
- 小吃店小部件
- 变化探测器单元测试
- 状态颜色指示器 设备测试
- 输入长度检查单元测试
- 计算器自定义部件单元测试
- 图像注释小工具单元测试
- 精益仪表板小工具
- Looper 单元测试
- 秒表单元测试
- 数字输入单元测试
- 数字键盘单元测试
- 径向测量仪
- 菜单单元测试步骤
- SVG 小工具
- 文本输入单元测试
- 工具提示单元测试
- 作业指导 照顾要点 单元测试
- 书面电子签名小工具单元测试
- ZPL 查看器单元测试
- 简单折线图小工具
- 货架自定义小工具
- 滑块小工具
- NFPA 钻石定制小工具
- 通过 - 失败 自定义小工具
- 简单计时器自定义小工具
- Nymi Presence集成小工具
- 自动化
通用数据模型(Common Data Model)中的表格细目,用于制药行业的可组合 MES。
Before implementing a data model, read How to Use a Common Data Model to understand the basics of structuring tables.
Tulip 的通用数据模型考虑了多个行业的不同数据要求。对于制药业,可使用下面列出的表格作为起始数据模式。
下图说明了这些表如何协同工作。每个连接代表一种关系**。实心连接**使用相同字段共享数据。
这些表用于Tulip 库中的 Pharma Composable MES App Suite。
您应根据需要调整表格名称,以适应您的操作,只要与表格描述一致即可。
这些表格是标准化的起点,您可以进一步扩展。请确保通过重命名表格、添加表格或编辑必要字段来调整此数据模型,以满足您的操作需要。
Physical Artifact 表格表格
批次
批次是指在一次生产过程中,使用相同的材料和流程生产出的特定数量的产品。
标签 | 字段类型 | 说明 |
---|---|---|
ID | 文本 | * 必须:唯一标识符 |
处理订单 ID | 文本 | 流程订单的唯一标识符 |
产品 ID | 文本 | 产品的唯一标识符 |
类型 | 文本 | 批次类型的分类(如半成品、成品) |
产品名称 | 文本 | 最终药品的官方或商业名称,用于识别和区分其他产品 |
状态 | 文本 | 批次的当前状态(如开放、进行中、受阻、已完成、已由生产部门审核、已由质量保证部门审核) |
批次生命周期
容器
容器用于在不同地点之间收集和转移原材料、中间材料和产品。
标签 | 字段类型 | 说明 |
---|---|---|
标识 | 文本 | * 必须:唯一标识符 |
清洁度状态 | 文本 | 容器的清洁状态(如脏污、清洁中、清洁) |
重量(千克) | 数量 | 物品的重量,以千克为单位 |
容量 | 数量 | 设备或容器可容纳的最大数量 |
计量单位 | 文字 | 用于量化材料的标准单位(如千克、毫克、升) |
容器生命周期
设备和资产
程序中可能需要并可能需要校准的可重复使用设备或装置。
标签 | 字段类型 | 说明 |
---|---|---|
ID | 文本 | * 必须:唯一标识符 |
名称 | 文本 | 生产过程中使用的设备的具体名称或称号 |
说明 | 文本 | 设备用途的详细说明 |
状态 | 文本 | 设备的当前状态(如脏污、清洁) |
位置 | 文本 | 使用设备的具体区域 |
类型 | 文本 | 设备的分类(如除尘器、金属探测器、台式机) |
上次校准 | 日期时间 | 设备或仪器最后一次校准的日期 |
设备生命周期
{height="" width="""}
材料
材料可以是原材料、包装材料、中间材料、半成品或成品。
标签 | 字段类型 | 描述 |
---|---|---|
标识 | 文本 | * 必须:唯一标识符 |
材料名称 | 文本 | 生产过程中使用的原材料的具体名称或称号 |
材料定义 ID | 文本 | 材料类型的唯一标识符 |
类型 | 文本 | 材料分类(如原材料、称重材料、预混料、混合料、半成品) |
数量 | 数量 | 流程中使用或生产的材料、产品或组件的数量或单位数 |
计量单位 | 文字 | 用于量化材料的标准单位(如千克、毫克、升) |
批次 ID | 文本 | 批次的唯一标识符 |
产品名称 | 文本 | 最终药品的官方或商业名称,用于识别和区分其他产品 |
产品 ID | 文本 | 产品的唯一标识符 |
地点 | 文本 | 储存或使用材料的特定区域 |
效力 (%) | 数量 | 材料或产品中活性成分的强度或浓度,以百分比表示 |
位置 | 文本 | 物品、材料或部件在加工过程中的具体物理位置或放置位置 |
有效期 | 日期时间 | 材料或产品不得使用的日期 |
容器 ID | 文本 | 容器的唯一标识符 |
房间
用于清洁的实际房间。
标签 | 字段类型 | 说明 |
---|---|---|
ID | 文本 | * 必须:唯一标识符 |
名称 | 文本 | 房间名称 |
清洁度状态 | 文本 | 房间的清洁状态(如脏、清洁中、干净) |
清洁等级 | 文本 | 区域或设备的清洁度等级或分类 |
样品
在加工过程中采集样品,并在不同位置进行检查。
标签 | 字段类型 | 描述 |
---|---|---|
标识 | 文本 | * 必须:唯一标识符 |
批次 ID | 文本 | 批次的唯一标识符 |
产品 ID | 文本 | 产品的唯一标识符 |
产品名称 | 文本 | 最终药品的官方或商业名称,用于识别和区分其他产品 |
类型 | 文本 | 样品的分类(如 IPC 离线、QC) |
操作员 | 用户 | 抽取或检测样品的操作员姓名 |
数量 | 数量 | 过程中使用或生产的材料、产品或部件的数量或单位数 |
计量单位 | 文字 | 用于量化材料的标准单位(如千克、毫克、升) |
状态 | 文本 | 样本的当前状态(如创建、程序已定义、已处理) |
采集日期 | 日期时间 | 采集样本或记录测量结果的日期 |
样本生命周期
天平
天平用于测量指定重量范围内的材料。
标签 | 字段类型 | 说明 |
---|---|---|
ID | 文本 | * 必须:唯一标识符 |
最小重量 | 数量 | 物品或材料可接受的最低重量,通常是为确保符合质量或流程标准而设定的 |
最小重量的计量单位 | 文本 | 用于量化最低可接受重量的单位(例如克、毫克) |
最大容量 | 数量 | 设备、容器或系统可容纳的最高数量或体积 |
最大重量的计量单位 | 文本 | 用于量化最大容量的单位(如升、公斤) |
清洁度状态 | 文本 | 扫描仪的清洁状态(如脏、清洁中、清洁) |
校准状态 | 文本 | 表示设备是否已校准并进行了最新维护(例如:未校准、已校准) |
秤清洁度生命周期
秤校准生命周期
工位
显示车间内的所有工位。
标签 | 字段类型 | 说明 |
---|---|---|
编号 | 文本 | * 必须:唯一标识符 |
状态 | 文本 | 当前管理平台状态(如运行、停机、闲置、暂停) |
状态颜色 | 颜色 | 当前台站状态的颜色 |
状态详细信息 | 单元格 | 跟踪额外的状态详细信息(例如停机原因) |
进程单元 | 单元 | 站的工艺单元 |
操作员 | 用户 | 当前在管理平台工作的操作员 |
当前工作编号 | 文本 | 管理站当前正在执行的工单的唯一标识符 |
物料定义 ID | 文本 | 当前工单所用材料的唯一标识符 |
{{术语表.操作工件}}.表格
备注和异常
当出现与标准生产程序不符的情况时,将记录备注和异常。
标签 | 字段类型 | 说明 |
---|---|---|
ID | 文本 | * 必须:唯一标识符 |
批次 ID | 文本 | 批次的唯一标识符 |
产品名称 | 文本 | 最终药品的官方或商业名称,用于识别和区别于其他产品 |
产品 ID | 文本 | 产品的唯一标识符 |
状态 | 文本 | 评论或异常的当前状态(例如:新建、上级已审核、已关闭) |
严重程度 | 文本 | 问题或偏差的影响或紧急程度 |
说明 | 文本 | 对项目、流程或问题的详细解释或概述,提供更多背景或信息 |
位置 | 文本 | 发生异常的具体区域或设备 |
应用程序名称 | 文本 | 记录评论或异常的应用程序名称 |
步骤名称 | 文本 | 记录异常的应用程序中的流程步骤名称 |
操作员注释 | 文本 | 操作员在生产过程中添加的备注 |
类型 | 文本 | 人工制品的分类(如注释、例外) |
图像 | 图片 | 提交更正的产品照片 |
样品 ID | 文本 | 样品的唯一标识符 |
评论和异常生命周期
更正
当应用程序用户需要更改之前的输入值时,会记录更正。
标签 | 字段类型 | 说明 |
---|---|---|
ID | 文本 | * 必须:唯一标识符 |
操作员注释 | 文本 | 操作员在生产过程中添加的备注 |
批次 ID | 文本 | 批次的唯一标识符 |
报告人 | 用户 | 报告更正的个人 |
原因 | 文本 | 更正的理由或解释 |
图片 | 图片 | 提交更正的产品的照片 |
应用程序名称 | 文本 | 记录更正的应用程序名称 |
步骤名称 | 文本 | 记录更正的应用程序中流程步骤的名称 |
检查结果
存储与被检材料有关的程序步骤结果。这些是合格/不合格结果或在需要用户输入的流程步骤中进行的测量。
标签 | 字段类型 | 说明 |
---|---|---|
ID | 文本 | * 必须:唯一标识符 |
工单 ID | 文本 | 工单的唯一标识符 |
单位 ID | 文本 | 单位的唯一标识符 |
材料定义 ID | 文本 | 材料的唯一标识符 |
类型 | 文本 | 结果分组或类型的归类或分类(即检测名称) |
状态 | 文本 | 结果的当前状态 |
程序 | 文本 | 按记录结果时正在执行的上一级程序对结果进行分组 |
位置 | 文本 | 执行检查的位置 |
图像 | 图片 | 结果照片 |
通过 | 布尔值 | 检查是否通过的真/假值 |
操作员 | 用户 | 执行检查的操作员 |
检测值 | 文本 | 捕获的测试值 |
测量值 | 数值 | 测量结果 |
目标 | 数值 | 进行测量时的预期目标值 |
LSL | 数值 | 执行测量时的规格下限 |
USL | 数值 | 执行测量时的规格上限 |
检测结果生命周期
流程订单
流程订单是为完成和交付客户或生产订单而采取的步骤
标签 | 字段类型 | 说明 |
---|---|---|
ID | 文本 | * 必须:唯一标识符 |
批次 ID | 文本 | 批次的唯一标识符 |
产品 ID | 文本 | 产品的唯一标识符 |
产品名称 | 文本 | 最终药品的官方或商业名称,用于识别和区分其他产品 |
批量大小 | 数量 | 一批产品的数量,通常以单位或重量计量 |
计量单位 | 文字 | 用于量化材料的标准单位(如千克、毫克、升) |
状态 | 文本 | 流程订单的当前状态(例如,已交付制造、进行中、已完成) |
计划开始日期 | 日期时间 | 开始流程的计划日期 |
类型 | 文本 | 流程订单的分类(如半成品、成品) |
计划结束日期 | 日期时间 | 计划完成工序的日期 |
开始日期 | 日期时间 | 流程开始的实际日期 |
结束日期 | 日期时间 | 流程结束的实际日期 |
QA 发布审批人 | 文本 | 负责审批质量保证发布的人员 |
制造发布审批人 | 文本 | 批准产品从生产部门放行的人员 |
流程订单生命周期
参考表格
:::(Error)References are a secondary table type within the Tulip Common Data Model, as they do not fit within a Digital Twin model and should only be considered by advanced users. You should only include Reference tables once you've gone through the Solution Design process and exhausted all other options. Reference tables should NEVER serve as the foundation for an app solution.
:::
全球统一制度
它代表全球统一制度(GHS)信息,是国际通用的危险材料分类。
标签 | 字段类型 | 说明 |
---|---|---|
ID | 文本 | * 必须:唯一标识符 |
危害声明 | 文本 | 描述物质或混合物危害的声明 |
图片 | 图像 | 传达 GHS 符号中危险信息的图形符号 |
材料定义
所有制造、购买或组装物品的定义。描述物品及其特定属性。
标签 | 字段类型 | 描述 |
---|---|---|
ID | 文本 | * 必须:唯一标识符 |
名称 | 文本 | 材料定义的名称 |
类型 | 单元格 | 材料类型(如原材料、中间产品、最终产品或制造、购买) |
描述 | 文本 | 材料的详细信息 |
图片 | 图片 | 材料的图片 |
状态 | 文本 | 材料的当前状态(例如:新、就绪、受阻、过时) |
计量单位 | 文本 | 用于量化材料的标准单位(如公斤、毫克、升) |
版本/修订 | 文本 | 代表零件各个修订版本的数字或字母 |
供应商 ID | 文本 | 参考材料供应商的唯一 ID |
目标周期时间 | 时间间隔 | 完成一个单位所需的时间,可用于设定目标生产率和目标周期时间。 |
CAS 编号 | 文本 | 化学文摘社为化学物质分配的唯一标识符 |
存储条件 | 文本 | 存储单元/料箱的当前状态 |
易燃性等级 | 文本 | 材料的易燃程度/等级 |
致癌物/致突变物 | 布尔值 | 材料是否含有致癌物/致突变物的真/假值 |
开封后期限(月) | 数量 | 材料开启后的月数 |
MSDS | 文件 | 包含材料安全数据表的文件 |
材料清单
材料清单包括每批要分配的材料。
标签 | 字段类型 | 说明 |
---|---|---|
ID | 文本 | * 必须:唯一标识符 |
批次 ID | 文本 | 批次的唯一标识符 |
产品 ID | 文本 | 产品的唯一标识符 |
处理订单 ID | 文本 | 流程订单的唯一标识符 |
材料定义 ID | 文本 | 材料的唯一标识符 |
材料名称 | 文本 | 生产过程中使用的原材料的具体名称或称号 |
理论数量 | 数量 | 根据计算或标准,按照工艺计划应使用或生产的材料或产品的预期数量 |
理论数量的计量单位 | 文字 | 用于量化材料理论数量的单位(如公斤、升、片剂等) |
所需数量 | 数量 | 考虑到已使用或已消耗的材料或产品,某一加工步骤后剩余的材料或产品数量 |
剩余量的计量单位 | 文字 | 用于量化剩余材料或产品的单位(如公斤、升、片剂等) |
类型 | 文本 | 材料分类(如原材料、补偿剂、API) |
GHS ID | 文本 | 与《全球化学品统一分类和标签制度》(GHS)相关的唯一标识符 |
容许限度 (%) | 数量 | 参数的可接受变化范围,以百分比表示 |
位置 | 文本 | 项目在流程中的位置或位置 |
资源材料 | 文本 | 生产过程中所需或消耗的材料 |
SKU 参数
SKU 参数是指在库存管理中识别和区分产品的特定属性(如尺寸、颜色、品牌、型号)。
标签 | 字段类型 | 描述 |
---|---|---|
ID | 文本 | * 必须:唯一标识符 |
产品名称 | 文本 | 最终药品的官方或商业名称,用于识别和区分其他产品 |
产品 ID | 文本 | 产品的唯一标识符 |
语言 | 文本 | 文件或说明中使用的语言 |
片剂材料定义 ID | 文本 | 该批所需药片的材料定义 ID |
泡罩条码 | 文本 | 泡罩包装材料的唯一代码 |
铝箔产品代码 | 文本 | 包装用铝箔的唯一代码 |
传单物品代码 | 文本 | 包装中信息传单的唯一代码 |
纸箱条码 | 文本 | 纸盒包装材料的唯一代码 |
泡罩药品代码 | 文本 | 医药行业专用的泡罩包装代码 |
铝箔的医药代码 | 文本 | 铝箔的医药代码 |
传单医药代码 | 文本 | 传单的药品代码 |
纸箱的药品代码 | 文本 | 纸箱的药品代码 |
初级包装温度 | 编号 | 主包装应保持的温度 |
箱标签类型 | 文本 | 包装盒上使用的标签类型或格式 |
泡罩尺寸 | 文本 | 泡罩包装的尺寸 |
主要包装速度(泡罩/分钟) | 数量 | 每分钟包装泡罩的速度 |
二次包装速度(纸箱/分钟) | 数量 | 每分钟包装纸箱的速度 |
纸箱印刷设计 | 图像 | 纸盒上的印刷设计或布局 |
泡罩重量(克) | 数量 | 单个泡罩的重量,通常以克为单位 |
相机设置程序 | 文本 | 生产过程中使用的相机系统的配置设置 |