华为云用户手册
-
请求示例 创建分子对接作业,作业名称为demo-job, 受体文件为project:/dir/file,口袋中心位置的值为[0,0,0],口袋尺寸大小为[10,10,10],去除受体的水分子。 https://{endpoint}/v1/{project_id}/eihealth-projects/{eihealth_project_id}/drug-jobs/docking { "basic_info" : { "name" : "demo-job", "labels" : [ "labelA" ] }, "receptors" : [ { "receptor" : { "source" : "PRIVATE", "url" : "project:/dir/file" }, "bounding_box" : { "center" : [ 0, 0, 0 ], "size" : [ 10, 10, 10 ] }, "remove_water" : true, "remove_ion" : false, "remove_ligand" : false } ], "ligands" : [ { "ligand" : { "source" : "PRIVATE", "url" : "project:/dir/file" }, "count" : 100 } ] }
-
URI POST /v1/{project_id}/eihealth-projects/{eihealth_project_id}/drug-jobs/docking 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,您可以从获取项目ID中获取。 最小长度:1 最大长度:128 eihealth_project_id 是 String 平台项目ID。 最小长度:1 最大长度:128
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限, 获取Token 接口响应消息头中X-Subject-Token的值即为Token。 最小长度:1 最大长度:32768 表3 请求Body参数 参数 是否必选 参数类型 描述 basic_info 是 CreateDrugJobBasicInfo object 创建药物作业基本信息。 receptors 是 Array of DockingReceptorDto objects 受体文件列表。 数组长度:1 - 20 ligands 是 Array of LigandDto objects 配体文件列表,当前仅支持1个。 数组长度:1 - 1 engine 否 String 引擎,默认为AUTODOCK_VINA。 缺省值:AUTODOCK_VINA 最小长度:0 最大长度:15 表4 CreateDrugJobBasicInfo 参数 是否必选 参数类型 描述 name 是 String 作业的名称,取值范围:[5,64],允许大小写字母、数字、空格、下划线(_)和中划线(-),只能以数字或字母开头。 最小长度:5 最大长度:64 labels 否 Array of strings 标签,取值范围[0,5],单个标签最大长度32字符,支持中文、字母、数字、空格、下划线和中划线,且不能以空格开头或者结尾。 最小长度:1 最大长度:32 数组长度:0 - 5 表5 DockingReceptorDto 参数 是否必选 参数类型 描述 receptor 是 ReceptorDrugFile object 受体文件。 bounding_box 是 BoundingBoxDto object 结合口袋,包含口袋中心位置和尺寸大小。 remove_ion 否 Boolean 去除受体中的离子。 缺省值:true remove_water 否 Boolean 去除受体中的水分子。 缺省值:true remove_ligand 否 Boolean 去除受体中的配体分子。 缺省值:true add_hydrogen 否 Boolean 增加氢原子。 缺省值:false 表6 ReceptorDrugFile 参数 是否必选 参数类型 描述 source 是 String 受体的数据源:外部网络数据(如R CS B在线数据库)、用户私有数据中心、承载租户公共数据(含样例/公共库)。 枚举值: EXTRANET PRIVATE PUBLIC RAW url 否 String 文件URL,当数据源为外部网络数据时为https地址;用户私有数据中心为项目路径、公共数据场景为obs地址。 最小长度:1 最大长度:2000 format 否 String 文件格式,仅支持PDB,仅数据源为RAW时提供。 最小长度:1 最大长度:6 data 否 String 文件原始数据,仅数据源为RAW时提供。 最小长度:0 最大长度:10000000 表7 BoundingBoxDto 参数 是否必选 参数类型 描述 center 是 Array of floats 口袋中心坐标; x, y, z轴的坐标。 最小值:-9999999 最大值:99999999 数组长度:3 - 3 size 是 Array of floats 口袋尺寸大小; x, y, z轴的大小。 最小值:2 最大值:500 数组长度:3 - 3 padding 否 Float 填充。 最小值:0 最大值:20 表8 LigandDto 参数 是否必选 参数类型 描述 ligand 是 DrugFile object 配体文件。 count 是 Integer 计算个数。 最小值:1 最大值:1000000 表9 DrugFile 参数 是否必选 参数类型 描述 source 是 String 受体的数据源:外部网络数据(如RCSB在线数据库)、用户私有数据中心、承载租户公共数据(含样例/公共库)。 枚举值: EXTRANET PRIVATE PUBLIC RAW url 否 String 文件URL,当数据源为外部网络数据时为https地址;用户私有数据中心为项目路径、公共数据场景为obs地址。 最小长度:1 最大长度:2000 format 否 String 文件格式,支持PDB、SDF、MOL2、SMI,仅数据源为RAW时提供。 最小长度:1 最大长度:6 data 否 String 文件原始数据,仅数据源为RAW时提供。 最小长度:0 最大长度:10000000
-
URI POST /v1/{project_id}/eihealth-projects/{eihealth_project_id}/drug-jobs/pocket-mol-design 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,您可以从获取项目ID中获取。 最小长度:1 最大长度:128 eihealth_project_id 是 String 平台项目ID。 最小长度:1 最大长度:128
-
请求示例 创建靶点口袋发现作业,作业名称为demo-job, 受体文件为project:/dir/file,小分子片段文件为project:/dir/file,自定义属性预测id为xxxxxx,分子量约束为200-600,预期的最大输出为5000个。 https://{endpoint}/v1/{project_id}/eihealth-projects/{eihealth_project_id}/drug-jobs/pocket-mol-design { "basic_info" : { "name" : "demo-job", "labels" : [ "labelA" ] }, "receptor" : { "file" : { "source" : "PRIVATE", "url" : "project:/dir/file" }, "bounding_box" : { "center" : [ 0, 0, 0 ], "size" : [ 10, 10, 10 ], "padding" : 10 }, "remove_water" : false, "remove_ion" : false }, "ligands" : [ { "source" : "PRIVATE", "url" : "project:/dir/file" } ], "model_ids" : [ "xxxxxx" ], "molecular_weight" : [ 200, 600 ] }
-
响应示例 状态码: 201 CREATED 创建靶点口袋分子设计作业成功。 { "id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1" } 创建靶点口袋分子设计作业成功,当前运行作业数已达配额限制,此作业会等待。 { "id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1", "limit_concurrency" : 50 }
-
响应示例 状态码: 200 OK { "basic_info" : { "id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1", "name" : "demo-job", "labels" : [ "labelA", "labelB" ], "status" : "FINISHED", "type" : "OPTIMIZATION", "create_time" : "2021-01-30T02:34:36Z", "finish_time" : "2021-01-30T02:53:26Z", "failed_message" : "null", "user_name" : "demo-user-name", "output_dir" : "job-analysis/job-name", "expect_charge_num" : 1, "real_charge_num" : 1 }, "smiles" : "c1ccccc1", "params" : { "top_n" : 50, "max_search_depth" : 5, "time_limit" : 30, "max_prediction_per_product" : 20 } }
-
响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 basic_info DrugJobDto object 作业基本信息。 smiles String 分子SMILES表达式。 最小长度:1 最大长度:512 params SynthesisParamDto object 合成路径规划作业配置。 表4 DrugJobDto 参数 参数类型 描述 id String 作业id。 name String 作业的名称,取值范围:[1,63],允许大小写字母、数字、以及特殊字符中划线(-)。 labels Array of strings 作业标签。 status String 作业状态。 type String 作业类型。 create_time String 作业创建时间。 finish_time String 作业结束时间。 start_time String 作业开始时间。 failed_message String 失败提示,当作业执行失败时会返回。 user_name String 创建任务的用户名称。 output_dir String 作业结果输出目录。 expect_charge_num Double 预估功能调用消耗次数。 real_charge_num Double 实际功能调用消耗次数。 progress Progress object 作业进度信息。 表5 Progress 参数 参数类型 描述 overall Float 整体进度。 estimated_finish_time Long 预计结束时间,毫秒。 表6 SynthesisParamDto 参数 参数类型 描述 top_n Integer 期望最大返回条目数(排序后取TopN)。 最小值:1 最大值:50 max_search_depth Integer 预测路径的最大深度。 最小值:3 最大值:12 time_limit Integer 搜索最大时间,单位:分钟。 最小值:5 最大值:60 max_prediction_per_product Integer 每个产物的最大反应数量。 最小值:2 最大值:20
-
URI GET /v1/{project_id}/eihealth-projects/{eihealth_project_id}/drug-jobs/synthesis/{job_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,您可以从获取项目ID中获取。 最小长度:1 最大长度:128 eihealth_project_id 是 String 平台项目ID。 最小长度:1 最大长度:128 job_id 是 String 作业id。 最小长度:1 最大长度:128
-
响应示例 状态码: 200 OK { "count" : 1, "jobs" : [ { "id" : "56e0f1b0-ac10-46a5-8fa7-b26831d7d488", "name" : "demo-job", "description" : "description", "status" : "COMPLETED", "has_ignore_failed_tasks" : false, "create_time" : "2021-01-30T02:34:36Z", "finish_time" : "2021-01-30T02:53:26Z", "user_name" : "demo-user", "workflow_name" : "demo-workflow", "workflow_id" : "56e0f1b0-ac10-46a5-8fa7-b26831d7d488" } ] }
-
响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 jobs Array of NextflowJobListDto objects 作业列表 count Integer 作业总数 表5 NextflowJobListDto 参数 参数类型 描述 id String 作业id name String 作业的名称,取值范围:[1,63],允许大小写字母、数字、以及特殊字符中划线(-) description String 作业的描述,取值范围:输入字符最大长度为255 labels Array of strings 作业标签 status String 作业状态 has_ignore_failed_tasks Boolean 是否包含已被忽略的失败tasks create_time String 作业创建时间 finish_time String 作业结束时间 failed_message String 失败提示,当作业执行失败时会返回 failed_reason String 失败原因,当作业执行失败时会返回 user_name String 创建任务的用户名称 workflow_name String 流程名称 workflow_id String 流程id
-
URI GET /v1/{project_id}/eihealth-projects/{eihealth_project_id}/nextflow/jobs 表1 路径参数 参数 是否必选 参数类型 描述 eihealth_project_id 是 String 平台项目ID,您可以在平台单击所需的项目名称,进入项目设置页面查看。 最小长度:1 最大长度:128 project_id 是 String 华为云项目ID,您可以从获取项目ID中获取。 最小长度:1 最大长度:128 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 限制量,单次查询总量,必须由数字组成,默认为100,取值范围[1,1000] 最小值:1 最大值:1000 缺省值:100 offset 否 Integer 偏移量,查询起始偏移,必须由数字组成,默认为0,取值范围[0,100000000] 最小值:0 最大值:100000000 缺省值:0 sort_dir 否 String 排序规则 目前默认时间降序 缺省值:DESC sort_key 否 String 排序规则 目前默认时间降序,支持根据status job_name 否 String 作业名称 最小长度:1 最大长度:128 labels 否 Array 标签列表 最小长度:1 最大长度:32 数组长度:0 - 5 status 否 String 作业运行状态 取值(SUBMITTED|RUNNING|COMPLETED|FAILED|CANCELLED|UNKNOWN) workflow_name 否 String workflow名称 最小长度:1 最大长度:128 user_name 否 String 作业创建者 最小长度:1 最大长度:128 create_start_time 否 Long 最小创建时间 最小值:1000000000000 最大值:9999999999999 create_end_time 否 Long 最大创建时间 最小值:1000000000000 最大值:9999999999999 finish_start_time 否 Long 最小结束时间 最小值:1000000000000 最大值:9999999999999 finish_end_time 否 Long 最大结束时间 最小值:1000000000000 最大值:9999999999999
-
URI GET /v1/{project_id}/eihealth-projects/{eihealth_project_id}/drug-common/ligand/preview/{task_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,您可以从获取项目ID中获取。 最小长度:1 最大长度:128 eihealth_project_id 是 String 平台项目ID。 最小长度:1 最大长度:128 task_id 是 String 任务ID,通过创建任务接口取得。 最小长度:1 最大长度:128
-
响应示例 状态码: 200 查询配体文件预览任务成功响应。 { "status" : "finished", "result" : { "count" : 2000, "has_more" : true, "ligands" : [ { "index" : 0, "name" : "UNK1", "success" : true, "smiles" : "CC(=O)N[C@@H](Cc1ccc(CC(=O)O)c(C(=O)O)c1)C(=O)N[C@H]1CCCCN(Cc2ccc(-c3ccccc3)cc2)C1=O", "formula" : "C33H35N3O7", "is_3d" : false, "structure" : { "format" : "PDB", "compressed" : true, "data" : "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" }, "reason" : null }, { "index" : 1, "name" : "UNK2", "success" : true, "smiles" : "COc1ccc(-c2cc(=O)c3c(O)cc(O[C@@H]4O[C@H](CO[C@@H]5O[C@@H](C)[C@H](O)[C@@H](O)[C@H]5O)[C@@H](O)[C@H](O)[C@H]4O)cc3o2)cc1O", "formula" : "C28H32O15", "is_3d" : false, "structure" : { "format" : "PDB", "compressed" : true, "data" : "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" }, "reason" : null } ] } }
-
响应示例 状态码: 200 OK { "basic_info" : { "id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1", "name" : "demo-job", "labels" : [ "labelA", "labelB" ], "status" : "FINISHED", "type" : "POCKETDETECTION", "start_time" : "2021-01-30T02:34:36Z", "create_time" : "2021-01-30T02:34:36Z", "finish_time" : "2021-01-30T02:53:26Z", "failed_message" : "null", "user_name" : "demo-user-name", "output_dir" : "job-analysis/job-name", "expect_charge_num" : 1, "real_charge_num" : 1 }, "params" : { "timestep_size" : 0.001, "num_minimization_steps" : 20000, "pre_equilibrium_time" : 100, "pocket_detection_time" : 50, "num_surface_points" : 30, "probe_radius" : 1.4 }, "receptor" : { "source" : "PRIVATE", "url" : "project:/dir/file" }, "ligand" : { "source" : "PRIVATE", "url" : "project:/dir/file" } }
-
响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 basic_info DrugJobDto object 作业基本信息。 receptor ReceptorDrugFile object 受体文件。 ligand ProbeDrugFile object 探针文件。 params PocketDetectionParamDto object 靶点口袋发现设置参数。 表4 DrugJobDto 参数 参数类型 描述 id String 作业id。 name String 作业的名称,取值范围:[1,63],允许大小写字母、数字、以及特殊字符中划线(-)。 labels Array of strings 作业标签。 status String 作业状态。 type String 作业类型。 create_time String 作业创建时间。 finish_time String 作业结束时间。 start_time String 作业开始时间。 failed_message String 失败提示,当作业执行失败时会返回。 user_name String 创建任务的用户名称。 output_dir String 作业结果输出目录。 expect_charge_num Double 预估功能调用消耗次数。 real_charge_num Double 实际功能调用消耗次数。 progress Progress object 作业进度信息。 表5 Progress 参数 参数类型 描述 overall Float 整体进度。 estimated_finish_time Long 预计结束时间,毫秒。 表6 ReceptorDrugFile 参数 参数类型 描述 source String 受体的数据源:外部网络数据(如RCSB在线数据库)、用户私有数据中心、承载租户公共数据(含样例/公共库)。 枚举值: EXTRANET PRIVATE PUBLIC RAW url String 文件URL,当数据源为外部网络数据时为https地址;用户私有数据中心为项目路径、公共数据场景为obs地址。 最小长度:1 最大长度:2000 format String 文件格式,仅支持PDB,仅数据源为RAW时提供。 最小长度:1 最大长度:6 data String 文件原始数据,仅数据源为RAW时提供。 最小长度:0 最大长度:10000000 表7 ProbeDrugFile 参数 参数类型 描述 source String 受体的数据源:外部网络数据(如RCSB在线数据库)、用户私有数据中心、承载租户公共数据(含样例/公共库)。 枚举值: EXTRANET PRIVATE PUBLIC RAW url String 文件URL,当数据源为外部网络数据时为https地址;用户私有数据中心为项目路径、公共数据场景为obs地址。 最小长度:1 最大长度:2000 format String 文件格式,支持PDB、SDF、MOL2,仅数据源为RAW时提供。 最小长度:1 最大长度:6 data String 文件原始数据,仅数据源为RAW时提供。 最小长度:0 最大长度:10000000 表8 PocketDetectionParamDto 参数 参数类型 描述 timestep_size Double 时间步长,单位ps。 最小值:0.001 最大值:0.002 缺省值:0.002 num_minimization_steps Integer 最小化步数。 最小值:5000 最大值:50000 缺省值:20000 pre_equilibrium_time Integer 预平衡时长,单位ps。 最小值:20 最大值:200 缺省值:100 pocket_detection_time Integer 口袋发现时长,单位ns。 最小值:20 最大值:50 缺省值:50 num_surface_points Integer 表面原子离散点数量。 最小值:10 最大值:50 缺省值:20 probe_radius Double 探针半径,单位A 最小值:1.4 最大值:5 缺省值:1.4
-
URI GET /v1/{project_id}/eihealth-projects/{eihealth_project_id}/drug-jobs/pocket-detection/{job_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,您可以从获取项目ID中获取。 最小长度:1 最大长度:128 eihealth_project_id 是 String 平台项目ID。 最小长度:1 最大长度:128 job_id 是 String 作业id。 最小长度:1 最大长度:128
-
响应示例 状态码: 200 OK { "count" : 15, "assets" : [ { "id" : "aa78f595-5acb-4be8-b277-229be335633a", "category" : "WORKFLOW", "name" : "Docking Summary", "title" : "Docking Summary", "labels" : [ "molecular docking", "drug discovery", "smallMolecularChemicals" ], "picture" : "https://eihealth.obs.cn-north-4.huawei.com:443/assets/metadata/picture.png", "vendor_id" : "00000000000000000000000000000000", "versions" : [ { "version" : "1.0.0", "publisher" : " EIHealth ", "description" : "", "summary" : "summary", "license" : "", "status" : "NORMAL", "failed_reason" : "internal error", "labels" : [ "molecular docking", "drug discovery", "smallMolecularChemicals" ], "picture" : "https://eihealth.obs.cn-north-4.huawei.com:443/assets/metadata/picture.png", "create_time" : "2021-09-07T05:44:28Z", "update_time" : "2021-09-07T05:44:28Z" } ], "create_time" : "2021-09-07T05:44:28Z", "update_time" : "2021-09-07T05:44:28Z", "stars" : 0, "subscribes" : 1 } ] }
-
URI GET /v1/{project_id}/assets 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 华为云项目ID,您可以从获取项目ID中获取。 最小长度:1 最大长度:128 表2 Query参数 参数 是否必选 参数类型 描述 categories 否 String 资产类别,支持IMAGE/APP/WORKFLOW/DATASET,支持查询多个,以','分割 最小长度:0 最大长度:2000 key_word 否 String 关键字,支持在资产名、资产标题、短描述、长描述中搜索 最小长度:0 最大长度:2000 labels 否 String 标签,支持查询多个,以','分割 最小长度:0 最大长度:2000 limit 否 Integer 返回记录限制 最小值:1 最大值:1000 缺省值:100 offset 否 Integer 偏移量 最小值:0 最大值:100000000 缺省值:0 publishers 否 String 发布者,支持查询多个,以','分割 最小长度:0 最大长度:2000 scope 是 String 查询范围,支持PUBLIC/INTERNAL/SELF 最小长度:1 最大长度:128 vendor_ids 否 String 供应商,支持查询多个,以','分割 最小长度:0 最大长度:2000
-
响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 count Integer 资产总数 assets Array of GetAssetRsp objects 资产列表 表5 GetAssetRsp 参数 参数类型 描述 id String 资产id category String 类别 name String 资产名 title String 资产展示名 labels Array of strings 资产标签列表 picture String 资产封面图访问链接 vendor_id String 供应商id versions Array of VersionRsp objects 资产版本号列表 create_time String 创建时间 update_time String 更新时间 stars Integer 收藏数 subscribes Integer 订阅数 表6 VersionRsp 参数 参数类型 描述 version String 资产版本号 publisher String 发布者 description String 资产长描述 summary String 资产短描述 license String 许可证 status String 资产状态 failed_reason String 资产发布失败原因 labels Array of strings 资产标签列表 picture String 资产封面图访问链接 create_time String 创建时间 update_time String 更新时间
-
请求示例 测试 CSS 资源连通性,选择id为2f042ad4-6aca-11ed-b7f6-fa163e504fdd的CSS资源,集群管理员为admin,密码为user_pwd。 https://{endpoint}/v1/{project_id}/drug/css-clusters { "css_id" : "2f042ad4-6aca-11ed-b7f6-fa163e504fdd", "user_name" : "admin", "user_pwd" : "user_pwd" }
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限,获取Token接口响应消息头中X-Subject-Token的值即为Token。 最小长度:1 最大长度:32768 表3 请求Body参数 参数 是否必选 参数类型 描述 css_id 是 String 集群id。 最小长度:1 最大长度:128 user_name 是 String 集群用户账号。 最小长度:4 最大长度:32 user_pwd 是 String 集群用户密码,长度限制为[8,32]。 最小长度:8 最大长度:32
-
响应示例 状态码: 200 OK { "basic_info" : { "id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1", "name" : "demo-job", "labels" : [ "labelA", "labelB" ], "status" : "FINISHED", "type" : "OPTIMIZATION", "create_time" : "2021-01-30T02:34:36Z", "start_time" : "2021-01-30T02:34:37Z", "finish_time" : "2021-01-30T02:53:26Z", "failed_message" : "null", "user_name" : "demo-user-name", "output_dir" : "job-analysis/job-name", "expect_charge_num" : 1, "real_charge_num" : 1 }, "molecule_file" : { "source" : "PRIVATE", "url" : "project:/dir/file" }, "num_trials" : 500, "binding_sites" : [ { "name" : "binding_name", "receptor" : { "source" : "PRIVATE", "url" : "project:/test.pdb" }, "bounding_box" : { "center" : [ 0, 0, 0 ], "size" : [ 500, 500, 500 ] }, "remove_ion" : false, "remove_water" : false, "remove_ligand" : true } ], "weak_constraints" : [ { "name" : "eye_corrosion", "type" : "bool", "bool" : true } ], "strong_constraints" : [ { "name" : "sascore", "type" : "range", "range" : [ 0, 1 ] } ] }
-
响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 basic_info DrugJobDto object 作业基本信息。 smiles_list Array of strings 分子表达式列表。 最小长度:1 最大长度:512 数组长度:10 - 10000 molecule_file DrugFile object 分子文件,分子表达式列表和分子文件二选一,分子文件优先级最高。 num_trials Integer 生成分子数量。 最小值:0 最大值:5000 initial_dataset_size Integer 初始化数据集的分子数目。当为-1时,表示分子数目未知。 最小值:-1 最大值:100000 binding_sites Array of BindSiteDto objects 靶点列表。 数组长度:0 - 2 weak_constraints Array of WeakConstraintDto objects 弱约束集合。 数组长度:0 - 16 strong_constraints Array of StrongConstraintDto objects 强约束集合。 数组长度:0 - 5 base_model BaseModel object 基模型。 models Array of BasicDrugModel objects 模型列表。 表4 DrugJobDto 参数 参数类型 描述 id String 作业id。 name String 作业的名称,取值范围:[1,63],允许大小写字母、数字、以及特殊字符中划线(-)。 labels Array of strings 作业标签。 status String 作业状态。 type String 作业类型。 create_time String 作业创建时间。 finish_time String 作业结束时间。 start_time String 作业开始时间。 failed_message String 失败提示,当作业执行失败时会返回。 user_name String 创建任务的用户名称。 output_dir String 作业结果输出目录。 expect_charge_num Double 预估功能调用消耗次数。 real_charge_num Double 实际功能调用消耗次数。 progressProgress Progress object 作业进度信息。 表5 Progress 参数 参数类型 描述 overall Float 整体进度。 estimated_finish_time Long 预计结束时间,毫秒。 表6 DrugFile 参数 参数类型 描述 source String 受体的数据源:外部网络数据(如RCSB在线数据库)、用户私有数据中心、承载租户公共数据(含样例/公共库)。 枚举值: EXTRANET PRIVATE PUBLIC RAW url String 文件URL,当数据源为外部网络数据时为https地址;用户私有数据中心为项目路径、公共数据场景为obs地址。 最小长度:1 最大长度:2000 format String 文件格式,支持PDB、SDF、MOL2、SMI,仅数据源为RAW时提供。 最小长度:1 最大长度:6 data String 文件原始数据,仅数据源为RAW时提供。 最小长度:0 最大长度:10000000 表7 BindSiteDto 参数 参数类型 描述 name String 靶点名称,只能设置为target1或者target2。 最小长度:1 最大长度:128 receptor ReceptorDrugFile object 受体文件 bounding_box BoundingBoxDto object 结合口袋,包含口袋中心位置和尺寸大小。 remove_ion Boolean 去除受体中的离子。 缺省值:true remove_water Boolean 去除受体中的水分子。 缺省值:true remove_ligand Boolean 去除受体中的配体分子。 缺省值:true add_hydrogen Boolean 增加氢原子。 缺省值:false 表8 ReceptorDrugFile 参数 参数类型 描述 source String 受体的数据源:外部网络数据(如RCSB在线数据库)、用户私有数据中心、承载租户公共数据(含样例/公共库)。 枚举值: EXTRANET PRIVATE PUBLIC RAW url String 文件URL,当数据源为外部网络数据时为https地址;用户私有数据中心为项目路径、公共数据场景为obs地址。 最小长度:1 最大长度:2000 format String 文件格式,仅支持PDB,仅数据源为RAW时提供。 最小长度:1 最大长度:6 data String 文件原始数据,仅数据源为RAW时提供。 最小长度:0 最大长度:10000000 表9 BoundingBoxDto 参数 参数类型 描述 center Array of doubles 口袋中心坐标; x, y, z轴的坐标。 最小值:-9999999 最大值:99999999 数组长度:3 - 3 size Array of floats 口袋尺寸大小; x, y, z轴的大小。 最小值:2 最大值:500 数组长度:3 - 3 padding Float 填充。 最小值:0 最大值:20 表10 WeakConstraintDto 参数 参数类型 描述 id String 自定义模型id,仅弱约束为模型时填写。 最小长度:1 最大长度:128 name String 属性名称。 最小长度:1 最大长度:128 type String 属性约束类型。 枚举值: bool range struct minimize maximize interaction bool Boolean 属性约束类型bool的参数。 range Array of floats 属性约束类型range的参数。 最小值:-9999 最大值:9999 数组长度:2 - 2 struct StructureConstraintParamsDto object 结构约束参数。 quantiles Array of floats 属性约束类型minimize和maximize的参数。 最小值:0.0 最大值:1.0 数组长度:2 - 2 interaction InteractionConstraintDto object 相互作用力约束参数。 表11 StrongConstraintDto 参数 参数类型 描述 id String 自定义模型id,仅强约束为模型时填写。 最小长度:1 最大长度:128 name String 属性名称。 最小长度:1 最大长度:128 type String 属性约束类型。 枚举值: bool range struct interaction bool Boolean 属性约束类型bool的参数。 range Array of floats 属性约束类型range的参数。 最小值:-9999 最大值:9999 数组长度:2 - 2 struct StructureConstraintParamsDto object 结构约束参数。 interaction InteractionConstraintDto object 相互作用力约束参数。 表12 StructureConstraintParamsDto 参数 参数类型 描述 structs Array of strings 子结构SMILES。 最小长度:1 最大长度:120 数组长度:1 - 8 exclusive Boolean 是否排除子结构。 operator String 多个子结构之间的逻辑关系。 枚举值: or and 表13 InteractionConstraintDto 参数 参数类型 描述 interactions Array of Interaction objects 相互作用力列表。 数组长度:1 - 8 exclusive Boolean 是否排除指定的约束作用力。 operator String 多个作用力之间的逻辑关系。 枚举值: or and 表14 Interaction 参数 参数类型 描述 binding_site String 靶点,只支持target1或target2。 最小长度:1 最大长度:128 type String 相互作用力类型:氢键、疏水作用、盐桥、π-π堆积、π-阳离子。 枚举值: hydrogen_bond hydrophobic_action salt_bridge pi_stacking pi_cation amino_acid String 氨基酸。 最小长度:4 最大长度:16 表15 BaseModel 参数 参数类型 描述 id String 基模型id。 缺省值:pangu-drug-model 最小长度:1 最大长度:128 name String 基模型名称。 缺省值:pangu-drug-model 最小长度:1 最大长度:128 表16 BasicDrugModel 参数 参数类型 描述 id String 模型ID。 task_id String 任务ID。 name String 模型名称。 creator String 模型创建者。 type String 模型类型。 value_range ValueRange object 区间上下限,仅回归型存在。 description String 模型描述信息。 表17 ValueRange 参数 参数类型 描述 lower Float 区间下限,仅回归型存在。 upper Float 区间上限,仅回归型存在。
-
URI GET /v1/{project_id}/eihealth-projects/{eihealth_project_id}/drug-jobs/generation/{job_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,您可以从获取项目ID中获取。 最小长度:1 最大长度:128 eihealth_project_id 是 String 平台项目ID。 最小长度:1 最大长度:128 job_id 是 String 作业id 最小长度:1 最大长度:128
-
方案架构 该解决方案基于华为云 函数工作流 FunctionGraph、 对象存储服务 OBS资源一键式部署,帮用户快速实现视频转GIF动图。解决方案架构图如下: 图1 方案架构图 部署该方案中需要使用的资源: 创建两个对象存储服务 OBS桶,一个用于上传视频触发函数工作流, 一个用于存储视频转GIF动图文件。 函数工作流 FunctionGraph,用于调用 媒体处理 MPC云服务的相关接口,实现视频转GIF动图功能,并将视频对应的GIF上传至指定的目标OBS桶。 使用媒体处理 MPC云服务,由函数工作流调用其新建转动图相关接口创建任务,实现对原视频转换GIF。 通过 统一身份认证 服务 IAM 的委托功能,将账号Region内对象存储服务 OBS的操作权限委托给函数工作流服务 FunctionGraph。
-
快速部署 本章节主要帮助用户快速部署“视频转GIF动图”解决方案。 表1 参数说明 参数名称 类型 是否可选 参数解释 默认值 functiongraph_name string 必填 函数工作流 FunctionGraph名称,不支持重名。取值范围:长度为2-57个字符,可包含字母、数字、_(下划线)和-(中划线),以字母开头。 converting-video-to-gif-demo video_input_bucket string 必填 视频输入OBS桶名称,全局唯一。取值范围:1~63个字符,以小写字母或数字开头,仅支持小写字母、数字、中划线(-)。 空 gif_output_bucket string 必填 GIF动图输出OBS桶名称,全局唯一。取值范围:1~63个字符,以小写字母或数字开头,仅支持小写字母、数字、中划线(-)。 空 gif_frame_rate string 必填 动图帧率。取值范围:1~75区间中的整数。 15 gif_width string 必填 动图的宽。取值范围:0,-1或[32,3840]之间2的倍数。如设置为0,则取原始视频的宽,此时gif_height只能取0。如设置为-1,则宽根据高来自适应,此时变量gif_height不能取-1或0。 0 gif_height string 必填 动图的高。取值范围:0,-1或[32,2160]之间2的倍数。如设置为0,则取原始视频的高,此时gif_width只能取0。如设置为-1,则高根据宽来自适应,此时变量gif_width不能取-1或0。 0 gif_start_time string 必填 源视频中需要截取GIF的开始时间。取值范围:大于等于0的整数。单位:秒。注意:开始时间不能超过视频时长,超过视频时长则不生成gif。 0 gif_end_time string 必填 源视频中需要截取GIF的结束时间。取值范围:大于0的整数。单位:秒。注意:(1、结束时间不能超过视频时长,如超过视频时长,在视频中截取GIF的结束时间为视频时长。2、GIF时长最大为60秒,即截取GIF的结束时间和开始时间最大差值60秒。)。 30 登录华为云解决方案实践,选择“视频转GIF动图”,单击“一键部署”,跳转至解决方案创建资源栈界面。 图1 解决方案实施库 在选择模板界面中,单击“下一步”。 图2 选择模板 在配置参数界面中,参考表1完成自定义参数填写,单击“下一步”。 图3 配置参数 在资源设置界面中,在权限委托下拉框中选择“rf_admin_trust”委托(可不选),单击“下一步”。 图4 资源栈设置 在配置确认界面中,单击“创建执行计划”。 图5 配置确认 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确定”。 图6 创建执行计划 单击“部署”,并且在弹出的执行计划确认框中单击“执行”。 图7 执行计划 图8 执行计划确认 待“事件”中出现“Apply required resource success”,表示该解决方案已经部署完成。 图9 部署完成 父主题: 实施步骤
-
资源和成本规划 该解决方案主要部署如下资源,以下费用仅供参考,具体请参考华为云官网价格详情,实际收费以账单为准。 表1 成本预估(仅供参考) 华为云服务 计费说明 每月花费(调用100万次) 函数工作流 FunctionGraph 区域:华北-北京四 产品:函数 请求次数: 0-100万次: 0元/100万次 100万次以上 : 1.33元/100万次 计量时间: 0-400,000 GB/秒: 0元/GB-秒 400,000 GB/秒以上 :0.00011108元/GB-秒 具体费用参考表左侧计费说明 对象存储服务 OBS 区域:华北-北京四 存储空间:数据存储(多AZ存储) 默认存储类别:标准存储 桶策略:私有 请求费用:0.0100元/万次 存储空间:0.0990元/GB/月 流量费用: 公网流出流量 / 00:00-08:00(闲时)0.2500元/GB 公网流出流量 / 08:00-24:00(忙时)0.5000元/GB 费用包括存储空间、请求费用、流量费用两部分,具体请参考OBS计费详情。 费用包括存储空间、请求费用、流量费用三部分,详细请参考每月账单。 合计 - 函数工作流费用+OBS费用
-
给rf_admin_trust委托添加IAM Agency Management FullAcces权限(可选) 打开“统一身份认证”菜单 图12 统一身份认证菜单 进入“委托”菜单,选择rf_admin_trust委托 图13 委托列表 进入“授权记录”菜单,单击“授权”按钮 图14 授权记录 在搜索框输入IAM Agency Management FullAcces,勾选过滤出来的记录,单击下一步,并确认完成权限的配置 图15 配置IAM Agency Management FullAcces策略 配置好后的情况:rf_admin_trust委托拥有Tenant Administrator和IAM Agency Management FullAccess权限 图16 授权记录列表
-
创建rf_admin_trust委托(可选) 进入华为云官网,打开控制台管理界面,鼠标移动至个人账号处,打开“统一身份认证”菜单 图1 控制台管理界面 图2 统一身份认证菜单 进入“委托”菜单,搜索“rf_admin_trust”委托 图3 委托列表 如果委托存在,则不用执行接下来的创建委托的步骤 如果委托不存在时执行接下来的步骤创建委托 单击步骤2界面中的“创建委托”按钮,在委托名称中输入“rf_admin_trust”,委托类型选择“云服务”,输入“ RFS ”,单击“下一步” 图4 创建委托 在搜索框中输入”Tenant Administrator”并勾选搜索结果,单击“下一步”。 图5 选择策略 选择“所有资源”,并单击下一步完成配置 图6 设置授权范围 “委托”列表中出现“rf_admin_trust”委托则创建成功 图7 委托列表
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- ...
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333
推荐文章