华为云用户手册
-
网络要求 请先了解CloudPond的组网方案和要求,以便快速理解CloudPond对本地的网络要求。 表5 网络要求 分类 要求 与CloudPond对接的网络交换机品牌与型号 请详细记录与CloudPond对接的网络交换机的品牌与型号,以备后续安装部署使用。 与CloudPond对接的交换机台数 1台或2台(如果只有1台需要评估高可用风险,有2台时检查是否有组堆叠)。 用户网络交换机是否有光模块及光模块的规格 多模或单模(对接适配时需要匹配,请重点确认,否则网络可能不连通)。 不支持电口。 用户网络交换机光口速率和数量 光口速率要求:建议100Gbps,可选值还有40、25、或10Gbps。 接口个数要求:建议4个,可选值还有2、4、8或14个。根据用户光口速率不同可选择的数量不同。 网络连接公网IP地址要求 CloudPond和中心云网络对接,需要用户侧准备4个IP地址,如表3 CloudPond业务发布公网IP地址要求中②、③和④项所示。 其中,②指代的2个IP地址和④指代的1个IP地址由用户自行从运营商购买,③指代的1个IP地址由用户从中心云弹性公网IP服务购买。 用户公网出口 Internet或专线,带宽为管理面IP和业务面IP所需带宽之和(即至少为200Mbps)。 如果用户有其他连接方式,需要做额外的技术评估来确定是否满足边云通信需求。 建议:用户侧原有的外网出口请勿与CloudPond共享,避免出现网络质量问题。如果IP地址要共用,需要评估使用中是否有其它冲突,如带宽抢占,端口冲突等。 公网IP可用性 公网IP需要长期与中心云保持稳定连线(7*24),中断时间最长不超过24小时。 网络延时 用户侧与中心云间网络延时小于或等于150ms,此项信息为华为团队现场工勘时与用户共同确定。
-
机房条件 表1 机房环境要求 分类 要求 温度 机房温度计的度数满足海拔负60米至1800米的环境温度为5℃至35℃。 海拔1800米至3000米时,高度每升高100米,环境温度降低0.45℃。 湿度 湿度计的读数满足20%至80% R.H.,不冷凝。 机柜布局规划 机柜距离墙壁或者障碍物之间的距离至少满足1米。 灭火装置 机柜部署区域需要配置气体灭火装置。 防水 机柜避免部署在厕所、厨房的旁边或正下方等用水区域旁边。 烟尘 机柜禁止部署在油烟、粉层源等烟尘源附近。
-
机柜空间 表3 机柜安装要求 分类 要求 走线方式 建议为机柜上走线,走线架/光纤槽高度距机柜顶部高度小于或等于1米(如果大于1米请记录详细走线长度)。 承重 地面承载重量,机房承重要求大于1000公斤/ m2。 功率 单机柜承载功率,最少6000W。 机柜安装位置 机柜尺寸,600mm*1200mm*2000mm(宽*深*高)。 机柜安装位置,冷通道(前部间隙)为1.2米或更大,热通道(后部间隙)为0.6米或更大。 机房空间可扩容性 分析后续是否有扩容的条件,如果扩容建议在本次部署机柜旁边预留机柜位置空间。 CloudPond与用户本地网络之间走线方式 机柜走线方式(柜顶是否有走线槽),从机柜到用户本地网络设备连接方式是否支持多模光纤方式,走线长度为多少,需要详细记录。
-
网络连接公网IP地址要求 表2 CloudPond和中心云网络对接公网IP地址要求 序号 类别 要求数量(个) 提供方 说明 ① 中心云侧管理EIP地址 2 华为云 用于对接中心云上双活架构的VPN网关。 ② CloudPond用户侧管理公网IP地址 2 用户 用户单独从运营商购买,用于与中心云侧管理面对应的EIP进行对接。 每个公网IP地址带宽最低为下行100Mbps,上行30Mbps。 ③ 中心云侧业务互联EIP地址 1 用户 用户购买中心云提供的EIP,用户自定义业务互联所需要的带宽,推荐设置不低于10Mbps的业务互联带宽。 ④ CloudPond用户侧业务互联公网IP地址 1 用户 用户单独从运营商购买,用户自定义业务互联所需要的带宽,需要与③中心云侧业务互联EIP的带宽相同,建议所选运营商线路和③保持一致。
-
责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
-
数据保护技术 云手机服务器通过多种数据保护手段和特性,保障存储数据的安全可靠。 云手机服务器底层为裸金属服务器,具备物理机级的性能和隔离性,用户独占计算资源,并且无任何虚拟化开销。 云手机服务器提供备份与恢复接口,支持客户将重要数据备份到自己的OBS桶(导出云手机数据),也支持客户将OBS桶的备份数据还原到指定云手机(恢复云手机数据 )。 为了保障云手机用户数据的机密性,新版AOSP公共镜像支持文件级加密,用户数据以密文形式落盘。 父主题: 安全
-
规格2.0切换指南 云手机已上线解耦了存储与网络的新版实例规格,推荐您按照下表对应关系选择与原1.0实例规格对应的2.0实例规格进行购买。 2.0手机规格 开数 1.0手机规格 服务器规格 rc1.plus 30 rx1.cp.c15.d46.e1v1 physical.rx1.xlarge physical.rx1.xlarge.cg rx1.cp.c30.d23.e1v1 physical.rx1.xlarge rx1.cp.c30.d23.e5v5 physical.rx1.xlarge rx1.cp.dedicated.c30.d25.e3v3 physical.rx1.xlarge.dedicated rc1.se 60 rx1.cp.c45.d15.e1v1 physical.rx1.xlarge rx1.cp.dedicated.c45.d10.e1v1.a250 physical.rx1.xlarge.dedicated rx1.cp.c60.d10.e0v1 physical.rx1.xlarge rx1.cp.c60.d10.e0v60 physical.rx1.xlarge rx1.cp.c60.d10.e1v1 physical.rx1.xlarge rx1.cp.c60.d8.e1v1.a200 physical.rx1.xlarge rx1.cp.dedicated.c60.d16.e1v1 physical.rx1.xlarge.dedicated rx1.cp.dedicated.c60.d18.e1v1 physical.rx1.xlarge.dedicated rx1.cp.dedicated.c60.d18.e5v5 physical.rx1.xlarge.dedicated rx1.cp.dedicated.c60.d8.e1v1.a200 physical.rx1.xlarge.dedicated rx1.cp.vp.c60.d10.e1v1 physical.rx1.xlarge rs1.se 75 rx1.cp.c75.d11.e5v5.br75 physical.rx1.xlarge rx1.cp.c75.d15.e1v1 physical.rx1.xlarge rx1.cp.dedicated.c75.d11.e1v1 physical.rx1.xlarge.dedicated rx1.cp.dedicated.c75.d15.e1v1 physical.rx1.xlarge.dedicated rx1.cp.dedicated.c75.d15.e5v5 physical.rx1.xlarge.dedicated rx1.cp.dedicated.c75.d6.e1v1.a200 physical.rx1.xlarge.dedicated rx1.cp.c90.d6.e1v1 physical.rx1.xlarge rc2.max 40 kg1.cg.c20.d30SSD.e1v1 physical.kg1.4xlarge.cg kg1.cg.c20.d50SSD.e1v1 physical.kg1.4xlarge.cg kg1.cg.c20.d50SSD.e1v1.s400 physical.kg1.4xlarge.cg kg1.cp.c20.d64SSD.e1v1 physical.kg1.4xlarge.cp kg1.cg.c30.d50SSD.e1v1 physical.kg1.4xlarge.cg kg1.cp.c31.d20SSD.e3v3 physical.kg1.4xlarge.cp kg1.cp.c31.d32GPSSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c31.fd32GPSSD.e3v3 physical.kg1.4xlarge.cp kg1.cp.dedicated.c31.d100GPSSD.e1v1.a4096 physical.kg1.4xlarge.cp.dedicated R2c.xlarge.4 physical.kg1.4xlarge.cp kg1.cg.c40.d30SSD.e1v1 physical.kg1.4xlarge.cg kg1.cg.c40.d30SSD.e1v1.a200 physical.kg1.4xlarge.cg kg1.cp.c40.d32GPSSD.e1v1 physical.kg1.4xlarge.cp kg1.cg.c48.d500SSD.e1v1.s500 physical.kg1.4xlarge.cg rc2.pro 60 kg1.cg.c60.d30SSD.e1v1.s800 physical.kg1.4xlarge.cg kg1.cg.c60.d50SSD.e1v1 physical.kg1.4xlarge.cg kg1.cp.c60.d10GPSSD.e1v1.a300 physical.kg1.4xlarge.cp kg1.cp.c60.d16GPSSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c60.d16SSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c60.d32GPSSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c60.d32SSD.e5v5 physical.kg1.4xlarge.cp kg1.cp.c60.d64GPSSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c60.d64SSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c60.fd20GPSSD.e5v5 physical.kg1.4xlarge.cp kg1.cp.dedicated.c60.fd30GPSSD.e1v1.a700 physical.kg1.4xlarge.cp.dedicated R2s.xlarge.2 physical.kg1.4xlarge.cp rc2.plus 80 kg1.cp.c80.d30GPSSD.e1v1 physical.kg1.4xlarge.cp rc2.se 100 kg1.cp.c90.d14.e1v1 physical.kg1.4xlarge.a.cp kg1.cp.c100.d10GPSSD.e0v100 physical.kg1.4xlarge.cp kg1.cp.c100.d10GPSSD.e100v100 physical.kg1.4xlarge.cp kg1.cp.c100.d10GPSSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c100.d10SSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c100.d16GPSSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c100.d16SSD.e0v100 physical.kg1.4xlarge.cp kg1.cp.c100.d16SSD.e0v20 physical.kg1.4xlarge.cp kg1.cp.c100.d16SSD.e10v10 physical.kg1.4xlarge.cp kg1.cp.c100.d16SSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c100.d32SSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c100.fd16GPSSD.e10v10 physical.kg1.4xlarge.cp kg1.cp.c100.fd24GPSSD.e0v1 physical.kg1.4xlarge.cp kg1.cp.dedicated.c100.d10GPSSD.e1v1.a1024 physical.kg1.4xlarge.cp.dedicated rx2.cp.dedicated.c100.d45GPSSD.e1v1 physical.rx2.32xlarge.4.dedicated rs2.plus 124 kg1.cp.c120.d10GPSSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c120.d10SSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c120.d16GPSSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c120.fd16GPSSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c120.fd16GPSSD.e2v2 physical.kg1.4xlarge.cp kg1.cp.c130.d10GPSSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.dedicated.c120.fd10GPSSD.e1v1 physical.kg1.4xlarge.cp.dedicated kg1.cp.dedicated.c120.fd18GPSSD.e1v1 physical.kg1.4xlarge.cp.dedicated rs2.se 150 kg1.cp.c150.d10GPSSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c150.fd10GPSSD.e0v1 physical.kg1.4xlarge.cp kg1.cp.c150.fd10GPSSD.e1v1 physical.kg1.4xlarge.cp kg1.cp.c150.fd10GPSSD.e2v2 physical.kg1.4xlarge.cp kg1.cp.c150.fd15GPSSD.e10v10 physical.kg1.4xlarge.cp kg1.cp.dedicated.c150.d10GPSSD.e1v1.a1024 physical.kg1.4xlarge.cp.dedicated kg1.cp.dedicated.c150.d8GPSSD.e1v1.a500 physical.kg1.4xlarge.cp.dedicated kg1.cp.dedicated.c150.fd10GPSSD.e1v1 physical.kg1.4xlarge.cp.dedicated rx2.cp.dedicated.c150.d30GPSSD.e1v1 physical.rx2.32xlarge.4.dedicated rx2.cp.dedicated.c150.d8GPSSD.e1v1 physical.rx2.32xlarge.4.dedicated rx2.cp.dedicated.c150.d8GPSSD.e1v1.a500 physical.rx2.32xlarge.4.dedicated rs2a.pro 72 kg1.cp.c72.d10.e1v1 physical.kg1.4xlarge.a.cp kg1.cp.c72.d18.e1v1 physical.kg1.4xlarge.a.cp rc3.pro_max 20 rx3.cp.c14.d32GPSSD.e1v1 physical.rx3.32xlarge.4 rx3.cp.c20.d32GPSSD.e1v1 physical.rx3.32xlarge.4 rc3.max 40 rx3.cp.c30.d32GPSSD.e1v1 physical.rx3.32xlarge.4 rc3.pro 60 rx3.cp.c60.d27GPSSD.e0v60.a100 physical.rx3.32xlarge.4 rc3.plus 90 rx3.cp.c90.d16GPSSD.e1v1 physical.rx3.32xlarge.4 rx3.cp.dedicated.c90.d16GPSSD.e1v1 physical.rx3.32xlarge.4.dedicated rs3.plus 124 rx3.cp.c120.d10GPSSD.e0v120 physical.rx3.32xlarge.4 rx3.cp.c120.d10GPSSD.e1v1 physical.rx3.32xlarge.4 rs3.se 150 rx3.cp.c150.d10GPSSD.e1v1 physical.rx3.32xlarge.4 rx3.cp.c150.d10GPSSD.e1v1.a1024 physical.rx3.32xlarge.4 rx3.cp.dedicated.c150.d30GPSSD.e10v10 physical.rx3.32xlarge.4.dedicated rx3.cp.dedicated.c150.d30GPSSD.e1v1 physical.rx3.32xlarge.4.dedicated rx3.cp.dedicated.c150.d8GPSSD.e1v1.a3400 physical.rx3.32xlarge.4.dedicated rx3.cp.dedicated.c150.d8GPSSD.e1v1.a500 physical.rx3.32xlarge.4.dedicated rx3.cp.sp.c150.d10GPSSD.e1v1 physical.rx3.32xlarge.4
-
支持的云手机实例规格 表2 physical.rx1.xlarge可部署的云手机规格 规格名称 配置 rc1.se CPU&内存:4vCPUs | 8GB 屏幕分辨率:1280x720 DPI:320 渲染帧率:30fps 手机开数:60 rc1.plus CPU&内存:6vCPUs | 12GB 屏幕分辨率:1280x720 DPI:320 渲染帧率:60fps 手机开数:30 rx1.cp.c60.d32.e1v1.qemu CPU&内存:2vCPUs | 3.0GB | 32GB 屏幕分辨率:960x540 手机开数:60 EIP/VIP:1/1 表3 physical.kg1.4xlarge.cp和physical.rx2.32xlarge.4可部署的云手机规格 规格名称 配置 rc2.se CPU&内存:5vCPUs | 10GB 屏幕分辨率:1280x720 DPI:320 渲染帧率:30fps 手机开数:100 rc2.plus CPU&内存:6vCPUs | 12GB 屏幕分辨率:1280x720 DPI:320 渲染帧率:30fps 手机开数:80 rc2.pro CPU&内存:8vCPUs | 16GB 屏幕分辨率:1280x720 DPI:320 渲染帧率:60fps 手机开数:60 rc2.max CPU&内存:16vCPUs | 24GB 屏幕分辨率:1920x1080 DPI:440 渲染帧率:30fps 手机开数:40 rc2.pro_max CPU&内存:20vCPUs | 32GB 屏幕分辨率:1920x1080 DPI:440 渲染帧率:30fps 手机开数:20 表4 physical.rx3.32xlarge.4 可部署的云手机规格 规格名称 配置 rc3.se CPU&内存:5vCPUs | 10GB 屏幕分辨率:1280x720 DPI:320 渲染帧率:30fps 手机开数:100 rc3.plus CPU&内存:6vCPUs | 12GB 屏幕分辨率:1280x720 DPI:320 渲染帧率:60fps 手机开数:90 rc3.pro CPU&内存:8vCPUs | 16GB 屏幕分辨率:1920x1080 DPI:440 渲染帧率:60fps 手机开数:60 rc3.max CPU&内存:16vCPUs | 24GB 屏幕分辨率:1920x1080 DPI:440 渲染帧率:60fps 手机开数:40 rc3.pro_max CPU&内存:20vCPUs | 32GB 屏幕分辨率:1920x1080 DPI:440 渲染帧率:60fps 手机开数:20 “手机开数”是指一台服务器可以虚拟出的云手机数量。例如:手机开数为60,表示购买一台服务器,实际可以得到60台云手机。 手机磁盘存储大小以及网络等其他配置可在购买时自定义。
-
云手机服务器规格 表1 云手机服务器规格 规格名称 配置 physical.rx1.xlarge CPU:Hi1616 (2*32Core*2.4GHz) 内存:256GB DDR4 RAM 本地磁盘:2*1.2T SAS + 800G SSD 网卡:2*10GE GPU:3*WX5100 physical.kg1.4xlarge.cp CPU:Kunpeng 920 (2*64Core*2.6GHz) 内存:512GB DDR4 RAM 本地磁盘:N/A 网卡:2*10GE GPU:5*WX5100 physical.rx2.32xlarge.4 CPU:Kunpeng 920 (2*64Core*2.6GHz) 内存:512GB DDR4 RAM 本地磁盘:N/A 网卡:2*10GE GPU:5*WX5100 physical.rx3.32xlarge.4 CPU:Kunpeng 920 (2*64Core*2.6GHz) 内存:512GB DDR4 RAM 本地磁盘:N/A 网卡:2*25GE GPU:2*W6800
-
使用流程 通过内网连接RDS for MySQ L实例 的使用流程介绍如图1所示。 图1 通过内网连接实例 表1 内网连接实例方式 操作系统场景 连接工具 IP地址 默认端口号 安全组规则 已有Linux E CS MySQL命令行 内网IP 3306 ECS与RDS实例在相同安全组 默认ECS与RDS实例内网互通,无需设置安全组规则。 ECS与RDS实例在不同安全组时,需要为RDS和ECS分别设置安全组规则。 设置RDS安全组规则:为RDS所在安全组配置相应的入方向规则,详见设置安全组规则。 设置ECS安全组规则:安全组默认规则为出方向上数据报文全部放行,此时,无需对ECS配置安全组规则。当在ECS所在安全组为非默认安全组且出方向规则非全放通时,需要为ECS所在安全组配置相应的出方向规则。 已有Windows ECS 以MySQL-Front为例 内网IP 3306
-
配置RestApi源端参数 表1 RestApi作为源端时的作业参数 参数类型 参数名 说明 是否必须填 取值样例 基本参数 数据请求地址 数据请求地址。 是 /api/getUsers 请求方法 请求方法,支持GET/POST。 是 GET 每次拉取的数量 每次拉取的数量。 是 1000 分页大小参数名称 分页大小参数名称。 默认会放到query参数中,它的值为每次拉取的数量。 如果body参数中包含此参数名,则会将它的值替换为每次拉取的数量。例如:pageSize。 是 pageSize 分页页码参数名称 分页页码参数名称。 默认会放到query参数中,它的值为页码。 如果body参数中包含此参数,则会将它的值替换为页面,例如:pageNumber。 是 pageNumber 数据路径 数据路径,指数据在响应json体中的位置,默认为根路径。例如:data.students 否 data.students 数据总数 数据总数,可以支持填写固定值,也可以支持从接口中获取,支持spel表达式。 例如:固定: 1000。 从接口中获取:data.pageCount。 注:如果接口不是分页接口,并且只想调用一次,则将数据总数的值设置的小于或者等于每次拉取的数据。 是 1000 父主题: 配置作业源端参数
-
配置Redis源端参数 表1 Redis作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 redis键前缀 对应关系数据库的表名。 TABLENAME 值存储类型 存储类型分STRING、HASH。 STRING 高级属性 键分隔符 用来分隔关系数据库的表和列名。 _ 值分隔符 以STRING方式存储,列之间的分隔符。 存储类型为列表时字串分割成数组的字符。 ; 字段相同 “值存储类型”选择“HASH”时,显示该参数,是否允许哈希键内有相同的字段。 否 父主题: 配置作业源端参数
-
操作流程 模拟案例的基本操作流程如下: 表1 CodeArts Req特性树管理实践操作流程说明 流程 说明 步骤一:搭建特性树 基于产品特性分类逐步搭建起完整特性树。 步骤二:在特性树下创建系统特性 在基于特性分类的特性集下创建系统特性。 步骤三:系统特性落地研发 通过对系统特性进行分解和基线管控来完成系统特性的落地研发。 步骤四:特性树的版本快照管理和追溯 通过版本快照功能对特性树进行版本管理,消除售前与研发团队之间的沟通差异,助力您更好地管理产品。
-
步骤二:在特性树下创建系统特性 搭建好产品特性树后,产品经理Frank需要录入支撑大颗粒度特性实现的详细工作项,也就是SF(系统特性),以开启特性的全生命周期管理。 选择左侧菜单中任意特性集节点,单击右侧“新建SF”,进入新建SF页面。 在新建SF页面输入以下信息,单击“确定”,完成SF的新建。 表3 新建SF信息说明 参数 说明 取值样例 标题 SF的标题,根据需要填写。 智能手表支持骑行实时刷新路径 描述 SF的描述,根据需要填写。 特性背景:智能手表支持实时刷新路径。特性价值:增强产品竞争力。特性详情:无 归属项目 指的是SF的所属项目,默认为当前所在项目。 智能手表 当前责任人 将当前系统特性指派给相应责任人处理。 Frank 所属特性集 指的是SF的所属特性集,默认为当前选择的特性集,支持修改。 智能手表特性树 优先级 指的是SF的研发优先级,可根据需要选择。示例:中。 中 重复执行操作1、2操作,可逐步完善特性树下SF的创建。
-
方案概述 产品的核心资产就是系统特性,一旦上市系统特性就会不断的增长,Req提供产品全量系统特性管理,通过特性树可以更好管理系统特性,实现产品资产不丢失,让跨代的系统特性快速继承和发展。 某公司计划推出一款智能手表,涉及多部门、多团队的协作,需要保证不同部门(如市场营销、产品规划、研发等)都能对该款智能手表的功能特性有统一的认识,确保研发过程中的每个流程都与产品整体战略相符。本文介绍如何通过IPD系统设备类项目来模拟智能手表研发项目进行特性树管理。
-
实现流程 在OBS服务中,创建两个桶。 创建函数,设置OBS应用事件源。 用户向其中一个桶上传图片。 触发函数执行,对图片进行压缩处理。 函数将处理后的图片上传到指定桶中。 完成本教程后,您的公有云账户将存在以下资源: 2个OBS桶(上传需要处理的图像和存储处理后的图像) 一个创建缩略图的函数(fss_examples_image_thumbnail) 一个OBS应用事件源,用来关联函数和OBS桶
-
请求参数代码定义示例 在FunctionGraph中开发函数,以python2.7语言为例,函数代码需要满足如下条件。 函数有明确的接口定义,如下所示: def handler (event, context) 入口函数名(handler):入口函数名称,需和函数执行入口处用户自定义的入口函数名称一致。 执行事件(event): 函数执行界面由用户输入的执行事件参数, 格式为JSON对象。 上下文环境(Context):Runtime提供的函数执行上下文,其接口定义在SDK接口说明。 执行事件(event)支持三种请求参数定义,格式为: Header中的请求参数:event["headers"]["参数名"] Query中的请求参数:event["queryStringParameters"]["参数名"] 您自定义的用户数据:event["user_data"] 函数代码获取的三种请求参数与API网关自定义认证中的参数关系如下所示: Header中的请求参数:对应自定义认证中参数位置为Header的身份来源,其参数值在您调用使用该前端自定义认证的API时传入 Query中的请求参数:对应自定义认证中参数位置为Query的身份来源,其参数值在您调用使用该前端自定义认证的API时传入 您自定义的用户数据:对应自定义认证中的用户数据,其参数值在您创建自定义认证时输入 函数的返回值不能大于1M,必须满足如下格式: { "statusCode":200, "body": "{\"status\": \"allow\", \"context\": {\"user\": \"abc\"}}" } 其中,body字段的内容为字符串格式,json解码之后为: { "status": "allow/deny", "context": { "user": "abc" } } “status”字段为必选,用于标识认证结果。只支持“allow”或“deny”,“allow”表示认证成功,“deny”表示认证失败。 “context”字段为可选,只支持字符串类型键值对,键值不支持JSON对象或数组。 context中的数据为您自定义的字段,认证通过后作为认证参数映射到API网关后端参数中,其中context中的参数名称与系统参数名称必须完全一致,且区分大小写,context中的参数名称必须以英文字母开头,支持英文大小写字母、数字、下划线和中划线,且长度为1 ~ 32个字符。 Header中的请求参数定义代码示例: # -*- coding:utf-8 -*- import json def handler(event, context): if event["headers"].get("auth")=='abc': resp = { 'statusCode': 200, 'body': json.dumps({ "status":"allow", "context":{ "user":"success" } }) } else: resp = { 'statusCode': 200, 'body': json.dumps({ "status":"deny", }) } return json.dumps(resp) Query中的请求参数定义代码示例: # -*- coding:utf-8 -*- import json def handler(event, context): if event["queryStringParameters"].get("test")=='abc': resp = { 'statusCode': 200, 'body': json.dumps({ "status":"allow", "context":{ "user":"abcd" } }) } else: resp = { 'statusCode': 200, 'body': json.dumps({ "status":"deny", }) } return json.dumps(resp) 用户数据定义代码示例: # -*- coding:utf-8 -*- import json def handler(event, context): if event.get("user_data")=='abc': resp = { 'statusCode': 200, 'body': json.dumps({ "status":"allow", "context":{ "user":"abcd" } }) } else: resp = { 'statusCode': 200, 'body': json.dumps({ "status":"deny", }) } return json.dumps(resp)
-
触发函数自动运行 上传图片至hugb-bucket-input桶,OBS生成事件触发函数运行,为图片打水印,输出图片存放在hugb-bucket-output桶中。可以在fss_examples_image_watermark函数详情页“日志”页签查看函数运行日志。 进入hugb-bucket-output桶对象界面,可以看到输出的图片image.jpg,如图2所示。单击操作列的“下载”可将图片下载至本地查看图片处理效果,效果如图3所示。 图2 输出图片 图3 效果图
-
触发函数自动运行 上传文件至dew-bucket-input桶,OBS生成事件触发函数运行,对文件加解密,输出文件存放在dew-bucket-output桶中。可以在fss_examples_dew函数详情页“日志”页签查看函数运行日志。 进入dew-bucket-output桶对象界面,可以看到输出的图片image.jpg.encrypt,如图2所示。单击操作列的“下载”可将文件下载至本地查看处理效果。 图2 输出文件
-
编辑函数程序 打开创建的函数iotdemo,复制以下坐标转换代码,仅供测试不建议用于生产用途,用户也可以根据自己的需要修改。 # -*- coding:utf-8 -*- import json import math from math import pi def handler(event, context): data = event["notify_data"]["body"] lat = data["lat"] lng = data["lng"] print(f" WGS84: ({lng},{lat})") gcj_lng, gcj_lat = transform(lng, lat) print(f" GCJ02: ({gcj_lng},{gcj_lat})") body = { "gcj_lng": gcj_lng, "gcj_lat": gcj_lat } return { "statusCode": 200, "isBase64Encoded": False, "body": json.dumps(body), "headers": { "Content-Type": "application/json" } } def transform(lon, lat): a = 6378245.0 ee = 0.00669342162296594323 dlat = transform_lat(lon - 105.0, lat - 35.0) dlon = transform_lon(lon - 105.0, lat - 35.0) rad_lat = lat / 180.0 * pi magic = math.sin(rad_lat) magic = 1 - ee * magic * magic sqrt_magic = math.sqrt(magic) dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrt_magic) * pi) dlon = (dlon * 180.0) / (a / sqrt_magic * math.cos(rad_lat) * pi) mg_lon = lon + dlon mg_lat = lat + dlat return mg_lon, mg_lat def transform_lon(x, y): ret = 300.0 + x + 2.0 * y + 0.1 * x * x + \ 0.1 * x * y + 0.1 * math.sqrt(math.fabs(x)) ret += (20.0 * math.sin(6.0 * pi * x) + 20.0 * math.sin(2.0 * pi * x)) * 2.0 / 3.0 ret += (20.0 * math.sin(pi * x) + 40.0 * math.sin(pi / 3.0 * x)) * 2.0 / 3.0 ret += (150.0 * math.sin(pi / 12.0 * x) + 300.0 * math.sin(pi / 30.0 * x)) * 2.0 / 3.0 return ret def transform_lat(x, y): ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + \ 0.1 * x * y + 0.2 * math.sqrt(math.fabs(x)) ret += (20.0 * math.sin(6.0 * pi * x) + 20.0 * math.sin(2.0 * pi * x)) * 2.0 / 3.0 ret += (20.0 * math.sin(pi * y) + 40.0 * math.sin(pi / 3.0 * y)) * 2.0 / 3.0 ret += (160.0 * math.sin(pi / 12.0 * y) + 320 * math.sin(pi / 30.0 * y)) * 2.0 / 3.0 return ret
-
实现流程 在OBS服务中,创建两个桶。 创建函数,设置OBS应用事件源。(当前“OBS应用事件源”仅支持华北-北京四、华北-乌兰察布一、华东-上海一。) 用户向其中一个桶上传文件。 触发函数执行,对文件加/解密。 函数将处理后的文件上传到指定桶中。 完成本教程后,您的公有云账户将存在以下资源: 2个OBS桶(上传需要处理的文件和存储处理后的文件) 一个为文件加/解密的函数 一个OBS应用事件源,用来关联函数和OBS桶
-
字符串类型 单值 title:quick Request Body示例: { "image_base64":"/9j/4AAQSkZJRgABAQAAAQABAAD...", "filter" : "id:zhangsan" } 多条件 title:quick && color:brown Request Body示例: { "image_base64":"/9j/4AAQSkZJRgABAQAAAQABAAD...", "filter" : "id:zhangsan && number:30" } 非,使用括号分隔 (!color:brown) Request Body示例: { "image_base64":"/9j/4AAQSkZJRgABAQAAAQABAAD...", "filter" : "(!id:zhangsan)" }
-
数值类型 数值类型的范围查询,[]包含两端点值,{}不包含两端点值。 rowkey:[1 TO *] 大于等于1 rowkey:[* TO 1] 小于等于1 rowkey:[1 TO 10] 1到10 Request Body示例: { "image_base64":"/9j/4AAQSkZJRgABAQAAAQABAAD...", "filter" : "number:[1 TO *]" } 单值。 rowkey:1 值为1 Request Body示例: { "image_base64":"/9j/4AAQSkZJRgABAQAAAQABAAD...", "filter" : "number:10" } 多条件,使用()区分优先级。 rowkey:[1 TO *] && externalImageID:1 (rowkey:[1 TO *] && externalImageID:1) || timestamp:1000 rowkey:[1 TO *] && (externalImageID:1 || timestamp:1000) Request Body示例: { "image_base64":"/9j/4AAQSkZJRgABAQAAAQABAAD...", "filter" : "number:[1 TO 20] && external_image_id:test" } 非,需要在非语句前后加括号。 externalImageID:1 && (!rowkey:2) Request Body示例: { "image_base64":"/9j/4AAQSkZJRgABAQAAAQABAAD...", "filter" : "external_image_id:test && (!number:10)" }
-
IPD独立软件类项目评审介绍 IPD独立软件类项目评审类型有三种:变更评审(CR)、基线评审(BR)、通用评审(GR)。评审类型介绍如表评审类型说明所示。 表1 评审类型说明 评审类型 说明 评审对象 变更评审(CR) 当原始需求处于受控状态时,变更其受控字段会发起变更评审,只有当变更评审通过后,受控字段的变更内容才会同步至原始需求中。 说明: 原始需求默认“确认”、“规划”、“实现”状态为受控状态。 当系统特性、研发需求处于已基线状态时,变更其基线锁定字段会发起变更评审,只有当变更评审通过后,基线锁定字段的变更内容才会同步至特性、研发需求中。 当缺陷处于受控状态时,变更其受控字段会发起变更评审,只有当变更评审通过后,受控字段的变更内容才会同步至缺陷中。 说明: 缺陷的受控状态由状态流是否在该状态的“字段配置”设置“受控字段”来决定,若有设置受控字段,则该状态为受控状态。 原始需求、系统特性、研发需求、缺陷 基线评审(BR) 当系统特性、研发需求需要被设置为基线时,可以发起基线评审,只有当基线评审通过后,系统特性、研发需求才会被基线。 系统特性、研发需求 通用评审(GR) 当您需要对工作项进行评审时,可以将其发起通用评审,只有当通用评审通过后,工作项的评审才会生效。 原始需求、系统特性、研发需求、缺陷 父主题: 评审IPD独立软件类项目工作项
-
操作步骤 单击CodeArts首页“新建项目”,进入“选择模板”页面。 选择“IPD-独立软件类”,单击“选用”,进入“新建项目”页面,配置相关参数。 表1 新建项目 参数名 参数说明 项目名称 根据自己需求设置。 同一租户下的项目群/项目,名称不能重复。 取值范围:1~128个字符。 工作配置数据 可选择复用与当前项目/项目群同类型的项目工作配置数据。 工作配置数据范围:项目工作配置下所有数据,不包括导入导出记录和基础配置下的工作配置数据 项目代号 针对第三方业务。设置项目代号后,便于业务管理。 取值范围:0~200个字符,仅支持字母、数字、下划线和连字符。 项目描述 对项目的简要说明。 取值范围:0~1024个字符。 单击“确定”,进入项目主页,并在主页右上角给出“新建项目成功”的提示。 可通过单击导航页签的“首页”回到项目列表,继续创建其他项目。
-
添加工时 在工作项列表中,单击标题名进入详情页。 单击“工时”页签。 单击“新增工时”,弹出“新增工时”窗口。 填写工时信息。 工时的结束日期不能早于开始日期。 是否勾选“包含周末”,如果不勾选,则工时记录中不会生成周末的记录。 “工时”可以选择“总数”或“每天”。 “工时类型”包括后端开发、前端开发、UI设计、调休请假、缺陷修复、公共事务等,还支持自定义取值,具体步骤如下: 单击,弹出“工时类型设置”窗口。 单击“新建”。 输入“标题”。 “标题”不能重复。 单击“确定”,工时类型设置成功。 设置成功的工时类型支持编辑、删除操作。 开启“工时类型设置为必填”时,“工时类型”参数前会有红色星号显示,表示必填项。 单击“确定”,工时新增成功。 系统会自动根据填写的工时日期和工时天数生成对应的记录。 工时支持编辑、删除操作。
-
添加附件 附件类型支持图片、工作簿、文稿、文本文件等类型。每个工作项可容纳的附件个数不超过100个,附件总容量不得超过50MB。 在工作项列表中,单击标题名进入详情页。 单击“附件”页签。 单击“点击或拖拽文件到此处上传”,选择本地文件,将文件上传至工作项中作为附件。 支持将本地文件直接拖拽到输入框中。当上传进度条达到100%,系统提示附件上传成功。 将鼠标放在上传成功的文件上,会显示可执行的操作。 单击,可以下载文件到本地存放。 单击,可以删除上传的文件。
-
设置关联项 工作项可以与项目内的其它类型工作项建立关联关系。 协同上游需求:从上游项目协同过来的需求。 仅其他项目的原始需求在新建“协同下游需求”中选择的“归属项目”为本项目时,才会在本项目中显示相应的信息。 “协同接收”显示的颜色不同,代表协同上游需求的意思不同,具体如下: :需求还未处理前,“协同接收”的颜色显示为橙色,表示该需求还未被接收。 :需求被接纳后,“协同接收”的颜色变为绿色,表示该需求已被接收。 :需求被退回后,“协同接收”的颜色变为红色,表示该需求被拒绝接收。 协同下游需求:向下游项目协同的需求。 支持批量分发,一次最多只能分发10条。默认一条,且不能删除。 单击“分发需求”,弹出“分发需求”窗口。 配置分发需求的信息。 “归属项目”只能选择本项目外的项目。当系统中只存在本项目时,该参数没有取值可选,即不能进行需求分发。 单击“确定”,需求分发成功。 在原始需求列表中,可查看到该需求“RR02”的“协同状态”显示为“协同下发”。 协同下游需求不是移除操作,本项目的工作项仍然显示。 “协同下发”显示的颜色不同,代表协同下游需求的意思不同,具体如下: :当前需求下存在未处理的协同下游需求,“协同下发”的颜色显示为橙色。 :当前需求下的全部协同下游需求被接纳后,“协同下发”的颜色变为绿色。 :当前需求下存在被退回的协同下游需求,“协同下发”的颜色变为红色。 子工作项:工作项中的US。 仅规划、实现状态的需求支持分解和关联子工作项。 支持批量分解,一次最多只能分解10条。默认一条,且不能删除。 单击“分解”,弹出“分解子工作项”窗口。 配置子工作项的信息。 图2 分解子工作项 单击图标,可以展开及配置更多信息。 单击“确定”,分解成功。 该子工作项会自动显示在原始需求列表中所属父工作项下。 关联工作项:与本项目中其他类型的工作项,直接建立关联关系。 支持新建和关联Epic、FE、Task和Bug,新建工作项的操作请参见新建工作项。“分析”状态的需求只支持新建和关联Task。 单击,可取消关联。 Wiki:原始需求对应的Wiki。 选择与当前需求相关联的Wiki。
-
操作步骤 单击CodeArts首页“新建项目”,进入“选择模板”页面。 选择IPD-系统设备类,单击“选用”,进入“新建项目”页面,配置相关参数。 表1 新建项目 参数名 参数说明 项目名称 根据自己需求设置。 同一租户下的项目群/项目,名称不能重复。 取值范围:1~128个字符。 工作配置数据 可选择复用与当前项目/项目群同类型的项目工作配置数据。 工作配置数据范围:项目工作配置下所有数据,不包括导入导出记录和基础配置下的工作配置数据 项目代号 针对第三方业务。设置项目代号后,便于业务管理。 取值范围:0~200个字符,仅支持字母、数字、下划线和连字符。 项目描述 对项目的简要说明。 取值范围:0~1024个字符。 单击“确定”,进入项目主页,并在主页右上角给出“新建项目成功”的提示。 可通过单击导航页签的“首页”回到项目列表,继续创建其他项目。
-
操作步骤 单击服务首页的“新建项目”。 选择“Scrum”模板,单击“选用”,进入“新建项目”页面。 设置项目参数,单击“确定”,完成Scrum项目的创建。 创建Scrum项目参数详细说明如表1所示。 表1 创建Scrum项目参数说明 参数名 参数说明 工作设置模板 项目的模板类型。可以选择默认,也可以选择已有的自定义模板。模板类型来源请参见自定义模板。 项目名称 根据自己需求设置。 项目代号 针对第三方业务。设置项目代号后,便于业务管理。 关联企业项目(资源组) 选择关联的企业项目。通常选择默认类型即可。企业项目来源及创建方法请参见企业项目操作指导。 项目描述 对项目的简要说明。
共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
推荐文章