华为云用户手册
-
常用列表查询方法 公共镜像列表查询 GET /v2/cloudimages?__imagetype=gold&visibility=public&protected=true 私有镜像列表查询 GET /v2/cloudimages?owner={project_id} 可以使用的共享镜像列表 GET /v2/cloudimages?member_status=accepted&visibility=shared&__imagetype=shared 被拒绝的共享镜像列表 GET /v2/cloudimages?member_status=rejected&visibility=shared&__imagetype=shared 未接受的共享镜像列表 GET /v2/cloudimages?member_status=pending&visibility=shared&__imagetype=shared 裸金属服务器某规格支持的公共镜像列表 GET /v2/cloudimages?__imagetype=gold&__support_xxx=true&virtual_env_type=Ironic
-
创建 IAM 用户并授权 使用KooCLI管理和使用您的各类云服务资源时,需提供调用者(IAM用户)的身份信息用于认证鉴权。 IAM用户是由华为帐号在IAM中创建的用户,是云服务的使用人员,具有独立的身份凭证,根据华为帐号授予的权限使用资源,可以确保华为帐号及资源的安全性。IAM用户不进行独立的计费,由所属华为帐号统一付费。 您注册华为云后,系统自动创建华为帐号对应的IAM用户,该用户在IAM中标识为“企业管理员”,其权限无法修改。出于业务需要,您可以另外创建IAM用户,并根据实际需要给IAM用户授权。
-
在Windows系统上安装KooCLI 点此下载适配Windows系统的KooCLI。 解压后得到hcloud.exe文件,如下图所示。 图1 在Windows系统下载并解压后的hcloud.exe文件 (可选)将KooCLI所在目录加入到系统环境变量Path中,方便在cmd窗口的任意目录下使用hcloud命令。 Windows 10 和 Windows 8 搜索并选择“查看高级系统设置”,然后单击“环境变量”; Windows 7 右键单击桌面上的“计算机”图标,从菜单中选择“属性”。单击“高级系统设置”链接,然后单击“环境变量”。 进入环境变量图形界面,在“用户变量”列表中,选中变量名为“Path”的环境变量,单击“编辑”。 在编辑环境变量界面中单机“新建”,输入hcloud.exe文件所在目录的路径。 单击三次“确定”,即可保存该修改。 (可选)打开cmd窗口,执行如下命令查看环境变量是否包含hcloud.exe文件所在目录,存在即说明配置成功。 set path (可选)打开Windows系统的cmd窗口(若您未执行如上步骤3,需要进入到工具所在的目录中),输入并执行如下命令,验证KooCLI是否安装成功。 hcloud version 系统显示类似如下版本信息,表示安装成功: hcloud version 当前KooCLI版本:3.2.8 父主题: 步骤二:快速安装
-
首次开通AOM 2.0并授权 注册账号并实名认证。 使用AOM 2.0前,需要先注册一个华为账号并进行实名认证。如果您已有一个华为账号,可直接跳过如下操作。 进入华为云官网,单击页面右上角的“注册”。 参考 注册华为账号 并开通华为云中操作,完成注册。 注册后参考实名认证完成个人或企业账号实名认证。 开通AOM 2.0。 使用AOM 2.0前,需要先开通AOM 2.0。如果您已开通AOM 2.0,可直接跳过如下操作。 登录AOM华为云官网。 在AOM产品简介下方单击“AOM2.0控制台”,进入AOM 2.0服务页面。 在弹出的“通知”对话框中仔细阅读从AOM 1.0切换到AOM 2.0计费方式变化的说明。 单击“授权”,然后在“云服务授权”页面中仔细阅读授权声明后,勾选“我已阅读并同意授权声明”。 单击“免费开通服务并授权”,即可免费开通AOM 2.0服务。 为用户添加 应用运维管理 AOM和云容器引擎CCE的操作权限。 您需要有AOM的管理员权限“AOM FullAccess”和CCE的管理员权限“CCE FullAccess”,具体操作请参考创建用户并授权使用AOM和集群权限(IAM授权)。
-
配置示例 配置场景1:某客户的 域名 “www.example.com”配置了 CDN加速 ,缓存规则配置见下图。 配置结果:网站首页不缓存,所有页面均不会忽略URL参数。 配置场景2:设置某个类型的文件不缓存 某客户的域名“www.example.com”配置了CDN加速,由于业务需求,需要对“.do”格式的文件不缓存,同时所有文件都忽略URL参数。 需要在CDN控制台增加一条文件名后缀为“.do”的缓存规则,缓存过期时间设置为“0”。 新规则仅对后续资源缓存生效,新规则配置完成后,建议您刷新“.do”文件所在的URL或者目录,新规则才可以对所有“.do”文件生效。 某客户配置了CDN加速,发现登录界面无限循环,无法登录,停用CDN加速后,可以正常登录。 这是因为CDN节点缓存了登录界面导致的,需要在控制台增加一条针对登录界面的缓存规则,缓存过期时间设置为“0”。以华为云控制台登录界面为例,华为云控制台的登录页面为“https://auth.huaweicloud.com/authui/login.html#/login”,在控制台增加一条全路径:/authui/login.html#/login,缓存过期时间为“0”的缓存规则。 配置场景3:某客户加速域名www.example.com设置了如下图的缓存规则,不知道哪一个规则生效。 用户访问www.example.com/test/cdn.jpg,虽然所有文件、文件名后缀、全路径三条规则都匹配到了,但是由于全路径的优先级为8,在三条规则里优先级最高,所以系统最终匹配全路径/test/*.jpg这条规则。
-
背景信息 CDN节点的缓存策略遵循HTTP标准协议,通过HTTP响应头中的Cache-control: max-age的字段来设置CDN节点上数据的缓存时间。添加缓存规则让CDN用户可以对指定的业务做定制化的数据缓存时间管理。合理的配置缓存时间,能够有效的提升命中率,降低回源率,节省用户的带宽。 当用户向CDN节点请求数据时,CDN节点会判断缓存数据是否过期。如果缓存数据未过期,则直接将缓存数据返回给用户,提升获取速度;否则,CDN节点就会向源站发出回源请求,从源站请求最新数据,更新本地缓存,并将最新数据返回给用户。
-
注意事项 每个域名最多可添加60条缓存规则。 CDN缓存过期时间会对“回源率”产生直接的影响。如果CDN缓存过期时间过短,CDN节点上的数据会经常失效,导致频繁回源,增加了源站的负载,同时也增大了访问延时;如果CDN缓存过期时间过长,会带来数据更新时间慢的问题。 缓存过期时间设置为0时,该文件的所有请求都将回源,可能存在加速业务中断的风险。 节点缓存的资源,可能会由于热度较低而被提前从CDN节点删除。 如果您修改了缓存规则,请注意: 新的规则仅对后面缓存的资源生效,已经缓存的资源需要等缓存过期后,再次缓存才会遵循新的缓存规则。 如果您想要新的规则对所有资源(包括节点已缓存资源)立即生效,请在修改缓存规则后执行缓存刷新操作。
-
到期与欠费 包年/包月的Flexus L实例 有效期结束即为到期。 按需付费的资源周期性结算费用,当账户中余额不足时,账户将进入欠费状态。 Flexus L实例涉及的按需付费资源有: 超额流量。Flexus L实例中包含了固定的流量包,流量包使用完后,将产生按流量计费(按流量计费为按需计费模式)的超额流量。 Flexus L实例关联的其他按需资源。 Flexus L实例到期或账户欠费后的运行规则及影响如下表所示。 到期后阶段 影响 宽限期 宽限期指包年/包月Flexus L实例资源到期未续订或按需资源欠费时,华为云提供给客户进行续费与充值的时间,宽限期内该资源可以正常使用。 保留期 保留期指宽限期到期后,客户的包年/包月Flexus L实例资源仍未续订或按需资源仍未缴清欠款,将进入保留期。保留期内该资源不能正常使用,但资源仍予以保留。 资源进入宽限期/保留期后,华为云将会通过邮件、短信等方式向您发送提醒,提醒您续订或充值。保留期到期后,包年/包月资源仍未续订或账户仍未充值缴清欠款,所有资源将被释放。为避免对您的业务造成影响,请及时续费和充值。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。
-
Flexus服务组合计费项 标 * 的计费项为必选计费项。 计费项 计费说明 计费模式 费用 * 实例 Flexus服务组合提供固定配置的两种套餐: 基础套餐计费因子:vCPU/内存、系统盘、流量包、云备份、主机安全。 高可用套餐计费因子:vCPU/内存、系统盘、流量包、云备份、主机安全、Flexus负载均衡。 说明: Flexus L实例仅对出网流量(从服务器流出的流量)计费,入网流量(流入服务器的流量)不计费。 包年/包月 套餐单月费用*购买时长 超额流量(可能费用) 业务流量优先抵扣套餐内的流量包,流量包使用完后将产生超额流量。超额流量以按流量计费的方式收取费用。超额流量的单价为0.8元/GB。 须知: 因超额流量导致账号欠费,可能会引起Flexus L实例的弹性公网IP资源将被释放,请保证账户余额充足。更多信息详见超额流量引起欠费的影响是什么。 按量付费 流量单价*超额流量
-
退订 Flexus应用服务器L实例以套餐形式整体管理, 套餐内资源统一退订,退订后Flexus应用服务器L实例包含的云硬盘、云备份、主机安全、公网IP地址等所有资源将被释放,数据丢失且不可恢复。 退订包括退订资源和退订续费周期。退订后,华为云将退还相应的款项。 退订资源:当您想终止Flexus应用服务器L实例时,您可退订不需要的Flexus应用服务器L实例(退订资源包括退订续费周期)。详细的退订计费规则请参见退订资源。 退订续费周期:Flexus应用服务器L实例创建成功后,若已进行续费操作,可选择单独退订续费周期。退订续费周期指只能退订未生效的续费周期部分,已生效的续费周期只能退订Flexus应用服务器L实例。详细的退订计费规则请参见退订续费周期。
-
售卖模式 Flexus L实例以套餐形式售卖管理, 套餐内资源生命周期跟随Flexus L实例,即套餐内资源不支持和Flexus L实例解除关联关系、套餐内资源统一续费/退订。 Flexus L实例套餐内的资源指在Flexus L实例控制台购买的资源。在云备份、主机安全等服务控制台购买并关联到Flexus L实例的资源,支持和Flexus L实例解除关联并退订或删除。 单独购买的Flexus负载均衡和Flexus L实例配套使用,不属于Flexus L实例套餐内资源,可以和Flexus L实例解除关联关系并退订。
-
Flexus应用服务器L实例计费项 本小节计费项指可灵活选购数据盘、云备份、主机安全的Flexus L实例计费项,该计费项和Flexus服务组合计费项略有差异,Flexus服务组合计费项详见Flexus服务组合计费项。 标 * 的计费项为必选计费项。 计费项 计费说明 计费模式 费用 * 实例 不同规格的实例规格提供不同的计算、存储、网络能力,您可根据实际需要选择合适的实例规格。 计费因子:vCPU/内存、系统盘、流量包。 说明: Flexus L实例仅对出网流量(从服务器流出的流量)计费,入网流量(流入服务器的流量)不计费。 包年/包月 套餐单月费用*购买时长 * 镜像 Flexus L实例中仅系统镜像中的Windows镜像计费,其他镜像免费。 计费因子:镜像 说明: 为方便您操作,Flexus L实例购买页“系统镜像”页签下展示了非华为云自营的Windows操作系统镜像。 包年/包月 镜像单价*购买时长 数据盘 如有额外的存储需求,您需要购买数据盘。 计费因子:数据盘容量。 包年/包月 云硬盘单价 * 购买时长 主机安全 如有主机安全防护需求,您需要随Flexus L实例开启安全防护能力。 计费因子:主机安全基础版。 包年/包月 主机安全单价 * 购买时长 云备份 如有备份需求,您可以随Flexus L实例购买备份存储库,用来存放服务器产生的备份副本。 计费因子:存储库容量。 包年/包月 存储库容量单价 * 购买时长 Flexus负载均衡 您可根据业务需求选择购买Flexus负载均衡,不购买不收费用。 包年/包月 套餐单月费用*购买时长 云监控 云监控服务 基础功能免费,包括查看监控看板、创建告警规则、添加监控项等。同时云监控服务与其他云服务组合使用,为您提供监控数据文件转储、发送告警通知等增值服务,这些增值服务可能产生额外费用,具体由提供该功能的服务结算。 - 基础功能免费,增值服务费用详见 CES 服务资费。 超额流量(可能费用) 业务流量优先抵扣套餐内的流量包,流量包使用完后将产生超额流量。超额流量以按流量计费的方式收取费用。超额流量的单价为0.8元/GB。 须知: 因超额流量导致账号欠费,可能会引起Flexus L实例的弹性公网IP资源将被释放,请保证账户余额充足。更多信息详见超额流量引起欠费的影响是什么。 按量付费 流量单价*超额流量
-
修订记录 发布日期 修订说明 2021-08-30 SDK迭代更新,提供Java、Python、Node.js、PHP、C++、Go、.NET版本,历史SDK下线,停止维护。 2021-03-12 新增 PHP SDK C++ SDK CS harp SDK 2020-04-30 修改 Java SDK Python SDK iOS SDK Android SDK Node.js SDK 2019-02-02 修改 将 文字识别 对应Endpoint修改为“ocr.cn-north-1.myhuaweicloud.com”。 2018-12-12 新增 文字识别服务SDK环境搭建,新增Python、iOS、Android、Node.js开发环境配置方法。 使用文字识别SDK,新增Python、iOS、Android、Node.js示例。 2018-09-12 修改 申请服务操作步骤参见文档为《文字识别API参考》。 2018-07-30 修改 删除银行卡识别、一维码识别、二维码识别和车牌识别相关内容。 2018-05-10 新增 银行卡识别服务的demo用例 一维码识别服务的demo用例 二维码识别服务的demo用例 车牌识别服务的demo用例 机动车销售发票识别的demo用例 通用文字识别 的demo用例 2017-12-30 第一次正式发布。
-
文字识别SDK概述 文字识别(Optical Character Recognition,简称OCR)将图片或扫描件中的文字识别成可编辑的文本。可代替人工录入,提升业务效率。支持身份证、驾驶证、行驶证、发票、通用表格、通用文字等场景文字识别。 文字识别以开放API(Application Programming Interface,应用程序编程接口)的方式提供给用户,用户通过实时访问和调用API获取推理结果,帮助用户提升业务效率。 文字识别服务软件开发工具包(OCR SDK,Optical Character Recognition Service Software Development Kit)是对OCR服务提供的REST API进行的封装,以简化用户的开发工作。用户直接调用OCR SDK提供的接口函数即可实现使用OCR服务业务能力的目的。 我们针对不同语言的SDK提供了开发指南: 表1 不同语言SDK的开发指南 编程语言 开发指南 Java Java SDK 开发指南 Python Python SDK 开发指南 Node.js Node.js SDK 开发指南 PHP PHP SDK 开发指南 C++ C++ SDK 开发指南 Go Go SDK 开发指南 NET NET SDK 开发指南
-
安装SDK 使用SDK前,需要安装“HuaweiCloud.SDK.Core”和“HuaweiCloud.SDK.Ocr”,有两种安装方式,分别如下。 使用 .NET CLI 工具 dotnet add package HuaweiCloud.SDK.Core dotnet add package HuaweiCloud.SDK.Ocr 使用 Package Manager Install-Package HuaweiCloud.SDK.Core Install-Package HuaweiCloud.SDK.Ocr
-
开始使用 导入依赖模块 using System; using System.Collections.Generic; using HuaweiCloud.SDK.Core; using HuaweiCloud.SDK.Core.Auth; using HuaweiCloud.SDK.Ocr; using HuaweiCloud.SDK.Ocr.V1; using HuaweiCloud.SDK.Ocr.V1.Model; 配置客户端连接参数 默认配置 // 使用默认配置 var config = HttpConfig.GetDefaultConfig(); 网络代理(可选) // 根据需要配置网络代理 config.ProxyHost = "proxy.huaweicloud.com"; config.ProxyPort = 8080; config.ProxyUsername = "test"; config.ProxyPassword = "test"; 超时配置(可选) // 默认超时时间为120秒,可根据需要调整 config.Timeout = 120; SSL配置(可选) // 根据需要配置是否跳过SSL证书验证 config.IgnoreSslVerification = true; 配置认证信息 配置AK、SK信息。华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。AK、SK获取方法请参见准备工作。 const string ak = Environment.GetEnvironmentVariable("HUAWEICLOUD_SDK_AK"); const string sk = Environment.GetEnvironmentVariable("HUAWEICLOUD_SDK_SK"); var auth = new BasicCredentials(ak, sk); 认证用的 ak 和sk 硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 本示例以 ak 和 sk 保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 初始化客户端(二选一) 指定云服务region方式(推荐) // 初始化指定云服务的客户端 {Service}Client ,以初始化OCR服务的 OcrClient 为例 var client = OcrClient.NewBuilder() .WithCredential(auth) .WithRegion(OcrRegion.ValueOf("cn-north-4")) .WithHttpConfig(config) .Build(); 指定云服务endpoint方式 // 指定终端节点,以OCR服务北京四的 endpoint 为例 String endpoint = "https://ocr.cn-north-4.myhuaweicloud.com"; // 初始化客户端认证信息,需要填写相应 projectId,以初始化 BasicCredentials 为例 var auth = new BasicCredentials(ak, sk, projectId); // 初始化指定云服务的客户端 {Service}Client,以初始化OCR服务的 OcrClient 为例 var client = OcrClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config) .Build(); endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看 地区和终端节点 。 发送请求并查看响应 // 以调用通用 表格识别 接口 RecognizeGeneralTable 为例 var req = new RecognizeGeneralTableRequest { }; req.Body = new GeneralTableRequestBody() { Url = "图片的url" }; try { var resp = client.RecognizeGeneralTable(req); var respStatusCode = resp.HttpStatusCode; Console.WriteLine(respStatusCode); } 异常处理 表1 异常处理 一级分类 一级分类说明 二级分类 二级分类说明 ConnectionException 连接类异常 HostUnreachableException 网络不可达、被拒绝。 SslHandShakeException SSL认证异常。 RequestTimeoutException 响应超时异常 CallTimeoutException 单次请求,服务器处理超时未返回。 RetryOutageException 在重试策略消耗完成后,仍无有效的响应。 ServiceResponseException 服务器响应异常 ServerResponseException 服务端内部错误,Http响应码:[500,]。 ClientRequestException 请求参数不合法,Http响应码:[400, 500) try { var resp = client.RecognizeGeneralTable(req); var respStatusCode = resp.HttpStatusCode; Console.WriteLine(respStatusCode); } catch (RequestTimeoutException requestTimeoutException) { Console.WriteLine(requestTimeoutException.ErrorMessage); } catch (ServiceResponseException clientRequestException) { Console.WriteLine(clientRequestException.HttpStatusCode); Console.WriteLine(clientRequestException.ErrorCode); Console.WriteLine(clientRequestException.ErrorMsg); } catch (ConnectionException connectionException) { Console.WriteLine(connectionException.ErrorMessage); }
-
开始使用 导入依赖模块 import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" ocr "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/ocr/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/ocr/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/ocr/v1/region" ) 配置认证信息 配置AK、SK信息。华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。AK、SK获取方法请参见准备工作。 func main() { ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() } 认证用的 ak 和sk 硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 本示例以 ak 和 sk 保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 初始化客户端(二选一) 指定云服务region方式(推荐) // 初始化指定云服务的客户端 New{Service}Client,以初始化华北-北京四(cn-north-4)区域服务为例 func main() { client := ocr.NewOcrClient( ocr.OcrClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) } 指定云服务endpoint方式 func main() { // 指定终端节点,以OCR服务北京四的endpoint为例 endpoint:="https://ocr.cn-north-4.myhuaweicloud.com" // 使用endpoint方式,在认证信息中需新增projectId auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() // 初始化指定云服务的客户端 New{Service}Client client := ocr.NewOcrClient( ocr.OcrClientBuilder(). WithEndpoint(endpoint). WithCredential(auth). Build()) } endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看 地区和终端节点 。 发送请求并查看响应 // 以调用通用表格识别接口 RecognizeGeneralTable 为例 request := &model.RecognizeGeneralTableRequest{} urlGeneralTableRequestBody:= "图片的url" request.Body = &model.GeneralTableRequestBody{ Url: &urlGeneralTableRequestBody, } response, err := client.RecognizeGeneralTable(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } 异常处理 表1 异常处理 一级分类 一级分类说明 ServiceResponseError 服务响应异常 url.Error url异常 response, err := client.RecognizeGeneralTable(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) }
-
安装SDK 推荐使用 Composer 安装 SDK 。 Composer 是 Php 的依赖管理工具,允许您在项目中声明依赖关系并安装这些依赖: // 安装 Composer curl -sS https://getcomposer.org/installer | php // 安装 PHP SDK composer require huaweicloud/huaweicloud-sdk-php 安装完毕后,你需要引入 Composer 的自动加载文件: require 'path/to/vendor/autoload.php';
-
开始使用 导入依赖模块 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcore.http.http_config import HttpConfig # 导入指定云服务的库 huaweicloudsdk{service} from huaweicloudsdkocr.v1.region.ocr_region import OcrRegion from huaweicloudsdkocr.v1 import * 配置客户端连接参数 默认配置 # 使用默认配置,如出现'HttpConfig' is not defined报错,请检查是否已正确安装sdk config = HttpConfig.get_default_config() 网络代理(可选) # 根据需要配置网络代理 config.proxy_protocol = 'http' config.proxy_host = 'proxy.huaweicloud.com' config.proxy_port = 80 config.proxy_user = 'username' config.proxy_password = 'password' 超时配置(可选) # 默认连接超时时间为60秒,读取超时时间为120秒,支持统一指定超时时长timeout=timeout,或分别指定超时时长timeout=(connect timeout, read timeout) config.timeout = 120 SSL配置(可选) # 根据需要配置是否跳过SSL证书校验 config.ignore_ssl_verification = True # 配置服务器端CA证书,用于SDK验证服务端证书合法性 config.ssl_ca_cert = ssl_ca_cert 客户端连接参数配置完成后需在初始化客户端client中配置“with_http_config(config)”相应的代码,详情请参见4.初始化客户端(二选一)中的client后的代码。 配置认证信息 配置AK、SK、project_id信息。华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。有两种认证方式,分别如下。 初始化认证信息: ak = os.environ.get("HUAWEICLOUD_SDK_AK") sk = os.environ.get("HUAWEICLOUD_SDK_SK") 认证用的 ak 和sk 硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 本示例以 ak 和 sk 保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 使用永久AK和SK credentials = BasicCredentials(ak, sk, project_id) 使用临时AK和SK credentials = BasicCredentials(ak, sk, project_id).with_security_token(security_token) 认证参数说明: ak、sk:访问密钥信息,获取方法请参见准备工作。 project_id:华为云项目ID,获取方法请参见准备工作。 security_token:临时认证场景下的安全票据,可以通过token获取或者通过委托授权获取。 初始化客户端(二选一) 指定region方式(推荐) # 增加region依赖 from huaweicloudsdkocr.v1.region.ocr_region import OcrRegion # 初始化指定云服务的客户端 {Service}Client ,以初始化OCR服务的 OcrClient 为例 client = OcrClient.new_builder() \ .with_http_config(config) \ .with_credentials(credentials) \ .with_region(OcrRegion.value_of("cn-north-4")) \ .build() 指定云服务endpoint方式 # 指定终端节点,以 OCR 服务北京四的 endpoint 为例 endpoint = "https://ocr.cn-north-4.myhuaweicloud.com" # 初始化指定云服务的客户端 {Service}Client ,以初始化OCR服务的 OcrClient 为例 client = OcrClient.new_builder() \ .with_http_config(config) \ .with_credentials(credentials) \ .with_endpoint(endpoint) \ .build() endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看 地区和终端节点 。 发送请求并查看响应 # 以调用通用表格识别接口 RecognizeGeneralTable 为例 request = RecognizeGeneralTableRequest() request.body = GeneralTableRequestBody( url="图片的url" ) response = client.recognize_general_table(request) print(response) 异常处理 表1 异常处理 一级分类 一级分类说明 二级分类 二级分类说明 ConnectionException 连接类异常 HostUnreachableException 网络不可达、被拒绝。 SslHandShakeException SSL认证异常。 RequestTimeoutException 响应超时异常 CallTimeoutException 单次请求,服务器处理超时未返回。 RetryOutageException 在重试策略消耗完成后,仍无有效的响应。 ServiceResponseException 服务器响应异常 ServerResponseException 服务端内部错误,Http响应码:[500,]。 ClientRequestException 请求参数不合法,Http响应码:[400, 500) # 异常处理 try: request = RecognizeGeneralTableRequest() response = client.recognize_general_table(request) print(response) except exceptions.ClientResponseException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
-
安装SDK 支持Python3及以上版本,执行python --version检查当前Python的版本信息。 使用SDK前,需要安装“huaweicloudsdkcore”和“huaweicloudsdkocr”,有两种安装方式,分别如下。 使用pip安装 #回显Successfully installed xxx表示安装成功 # 安装核心库 pip install huaweicloudsdkcore # 安装OCR服务库 pip install huaweicloudsdkocr 使用源码安装 SDK版本可通过 SDK中心 查询。 # 安装核心库 cd huaweicloudsdkcore-${version} python setup.py install # 安装OCR服务库 cd huaweicloudsdkocr-${version} python setup.py install
-
开始使用 导入依赖模块 package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; // 对用户身份进行认证 import com.huaweicloud.sdk.core.auth.BasicCredentials; // 请求异常类 import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; // 导入OCR客户端 import com.huaweicloud.sdk.ocr.v1.region.OcrRegion; import com.huaweicloud.sdk.ocr.v1.*; import com.huaweicloud.sdk.ocr.v1.model.*; 配置客户端连接参数 默认配置 // 使用默认配置 HttpConfig config = HttpConfig.getDefaultHttpConfig(); 网络代理(可选) // 根据需要配置网络代理,网络代理默认的协议为 `http` 协议 config.withProxyHost("proxy.huaweicloud.com") .withProxyPort(8080) .withProxyUsername("test") .withProxyPassword("test"); 超时配置(可选) // 默认连接超时时间为60秒,可根据需要调整 config.withTimeout(60); SSL配置(可选) // 根据需要配置是否跳过SSL证书验证 // 执行SDK时出现javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure报错,可添加此代码,跳过SSL证书验证 config.withIgnoreSSLVerification(true); 配置认证信息 配置AK、SK、project_id信息。华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。有两种认证方式,分别如下。 初始化认证信息: String ak = System.getenv("HUAWEICLOUD_SDK_AK"); String sk = System.getenv("HUAWEICLOUD_SDK_SK"); 认证用的 ak 和 sk 硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 本示例以 ak 和 sk 保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 如果没有设置环境变量,可以去掉System.getenv方法调用,直接填写对应的 ak、sk,例如:String ak = "ak"; String sk = "sk"。 使用永久AK和SK BasicCredentials basicCredentials = new BasicCredentials() .withAk(ak) .withSk(sk) .withProjectId(projectId); 使用临时AK和SK BasicCredentials basicCredentials = new BasicCredentials() .withAk(ak) .withSk(sk) .withSecurityToken(securityToken) .withProjectId(projectId) 认证参数说明: ak、sk:访问密钥信息,获取方法请参见准备工作。 projectId:华为云项目ID,获取方法请参见准备工作。 securityToken:临时认证场景下的安全票据,可以通过token获取或者通过委托授权获取。 初始化客户端(二选一) 指定region方式(推荐) // 增加region依赖 import com.huaweicloud.sdk.ocr.v1.region.OcrRegion; // 初始化客户端认证信息,使用当前客户端初始化方式可不填 projectId/domainId ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); // 初始化指定云服务的客户端 {Service}Client ,以初始化OCR服务的 OcrClient 为例 OcrClient Client = OcrClient.newBuilder() .withHttpConfig(config) .withCredential(auth) .withRegion(OcrRegion.valueOf("cn-north-4")) .build(); 指定云服务endpoint方式 // 指定终端节点,以OCR服务北京四的 endpoint 为例 String endpoint = "https://ocr.cn-north-4.myhuaweicloud.com"; // 初始化客户端认证信息,需要填写相应 projectId/domainId,以初始化 BasicCredentials 为例 BasicCredentials basicCredentials = new BasicCredentials() .withAk(ak) .withSk(sk) .withProjectId(projectId); // 初始化指定云服务的客户端 {Service}Client ,以初始化 Region 级服务OCR的 OcrClient 为例 OcrClient ocrClient = OcrClient.newBuilder() .withHttpConfig(config) .withCredential(basicCredentials) .withEndpoint(endpoint) .build(); endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看 地区和终端节点 。 发送请求并查看响应 // 以调用通用表格识别接口 RecognizeGeneralTable 为例 RecognizeGeneralTableRequest request = new RecognizeGeneralTableRequest(); GeneralTableRequestBody body = new GeneralTableRequestBody(); body.withUrl("图片的url"); request.withBody(body); try { RecognizeGeneralTableResponse response = client.recognizeGeneralTable(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } 异常处理 表1 异常处理 一级分类 一级分类说明 二级分类 二级分类说明 ConnectionException 连接类异常 HostUnreachableException 网络不可达、被拒绝。 SslHandShakeException SSL认证异常。 RequestTimeoutException 响应超时异常 CallTimeoutException 单次请求,服务器处理超时未返回。 RetryOutageException 在重试策略消耗完成后,仍无有效的响应。 ServiceResponseException 服务器响应异常 ServerResponseException 服务端内部错误,Http响应码:[500,]。 ClientRequestException 请求参数不合法,Http响应码:[400, 500) // 异常处理 try { RecognizeGeneralTableRequest request = new RecognizeGeneralTableRequest(); RecognizeGeneralTableResponse response = client.recognizeGeneralTable(request); System.out.println(response.toString()); } catch(ServiceResponseException e) { logger.error("HttpStatusCode: " + e.getHttpStatusCode()); logger.error("RequestId: " + e.getRequestId()); logger.error("ErrorCode: " + e.getErrorCode()); logger.error("ErrorMsg: " + e.getErrorMsg()); }
-
发票状态说明 状态 说明 可进行的操作 待审核 等待发票专员审核。1个工作日可完成审核。 撤销、详情、发票预览 已驳回 发票审核时被驳回,可在发票列表中查看驳回原因,客户也会收到驳回通知。 删除、详情、发票预览 开票中 正在开具发票。纸质票需要1-3个工作日,电子票一般实时开具。 该状态下的纸质票可以申请撤销。 撤销、详情、发票预览 撤销中 纸质票为“开票中”时发起撤销申请,需要发票专员审核,1-3个工作日可完成撤销。 详情、发票预览 已撤销 发票申请已经撤销成功,客户可以重新申请开票。 详情、发票预览 开票中(撤销失败) 客户发起的撤销申请被驳回,会导致发票撤销失败。客户可以在发票列表中查看撤销失败原因,也会收到撤销失败的通知。 详情、发票预览 待签收 纸质票已经邮寄给客户(具体邮寄时长以物流信息为准),客户收到发票后需要进行签收(单击操作列“确认”)。 确认、详情、发票预览 已开票 发票已开具完成。 “已开票”的电子票可以进行下载,也可以申请退票。 “已开票”的纸质票表示客户已经签收成功,该状态下可以申请退票。 下载(电子票)、退票、详情、发票预览 已开票(退票中) 客户发起退票,退票处理中。纸质票需要1-3个工作日。电子票一般实时开具。 下载(电子票)、详情、发票预览。 已开票(退票驳回) 客户发起的退票被驳回,可以在发票列表中查看驳回原因。 下载(电子票)、退票、详情、发票预览 已退票 退票已完成。 详情、发票预览
-
操作步骤 进入“发票管理”页面。 单击“华为云可开票金额”金额后面的“索取发票”。 选择签约主体(如: 华为云计算 技术有限公司/华为软件技术有限公司)页签。 根据实际需求,选择开票方式,申请开票。 按账单明细开票 选择“按账单明细开票”,勾选要开票的订单号/账期。 按订单/账单消费发生时间由近及远展示每一笔消费明细及对应可开票金额。 若按账单明细开票到达选择上限1000条,建议您尝试选择按月汇总开票。 支持按消费发生时间,选定日期范围、输入单个订单号或账期月份搜索查询消费明细及对应可开票金额。 支持按类型、产品类型和账号查询消费明细及对应可开票金额。 按账单明细开票(类型:订单消费) 预付费用户新购、续费、变配包年/包月产品,订单交易成功后可开具发票。 后付费用户新购、续费、变配包年/包月产品,产生的消费账单在次月3日出账后生成开票金额,建议次月4日10点后索取发票。 按账单明细开票(类型:账单) 按需结算单:按需消费不能实时开票,产生的消费账单在次月3日出账后生成开票金额,建议次月4日10点后索取发票。 月付结算单:客户购买和使用“半预付+月付”计费模式产品产生的账单在次月3日出账后生成开票金额,建议次月4日10点后索取发票。 按月汇总开票 选择“按月汇总开票”。勾选要开票的账单。 按账单月份由近及远展示每个月账单汇总费用情况及对应可开票金额。 支持按账期,选定日期范围搜索查询每个月账单汇总费用情况及对应可开票金额。 支持展开并查看月账单明细。 指定金额开票 选择“指定金额开票”,输入开票金额(输入值不能大于文本框中的提示金额),单击页面空白处。系统根据您输入的开票金额,按照消费时间由远及近进行匹配可开票的账单明细/按月汇总。 (可选)客户也可自行指定需要开票的账单。 单击“自定义修改”,选择消费记录类型(账单明细/按月汇总),在消费明细中选择需要开票的账单并指定开票金额。 当前指定开票总金额(即:客户自定义的开票金额总和-欠票金额)需与“输入开票金额”保持一致。 如下图所示:当前指定开票总金额=(-3.50+3.50+0.15)-0.00=0.15 核对待开票金额,单击“下一步”。 在确认发票信息和地址页面,新增或修改发票抬头信息、选择发票介质,填写备注信息,单击“下一步”。 新增发票抬头信息 单击“新增发票信息”,可新增发票抬头信息。 增值税发票仅面向中国大陆客户,港澳台及海外企业客户无法开具此类发票。 实名认证为个人的客户,只能创建个人或组织抬头的发票模板。 实名认证为企业的客户,只能创建企业或组织抬头的发票模板。开具企业发票时,发票抬头需与实名认证主体保持一致,如果需要开具其他企业抬头的发票,请先修改实名认证信息,或申请后台为您添加新的企业抬头模板,申请规则请参考企业发票抬头规则。 每个云账号只能设置1个有效的发票模板,如果需要新增发票模板,请联系客服进行申请。 修改发票抬头信息 修改发票类型(普通发票和专用发票切换):从“发票类型”下拉框中选择。 抬头类型为“个人”或“组织”时,只支持普通发票,不支持切换。 发票抬头是“企业”时,从专用发票切换成普通发票,直接从下拉框选择即可。 发票抬头是“企业”时,从普通发票切换成专用发票,从下拉框选择专票时,如果专票信息不完整,需要根据页面提示补充相关信息。 修改发票模板:单击操作列“修改”。 删除发票模板:单击操作列“删除”。 设置默认发票抬头:单击操作列“设置默认”。 选择发票介质 数电发票 客户可单击“设置”,选择数电票的接收邮箱。 如果没有合适的接收人,可进入“消息中心”进行操作。 只有验证过的邮箱才允许使用,如需验证邮箱,请进入消息中心进行操作。 电子票申请通过后,可以直接在费用中心进行下载。 电子发票 客户可单击“设置”,选择电子票的接收邮箱。 如果没有合适的接收人,可进入“消息中心”进行操作。 只有验证过的邮箱才允许使用,如需验证邮箱,请进入消息中心进行操作。 电子票申请通过后,可以直接在费用中心进行下载。 纸质发票 单击“新增收件地址”,可新增收件地址信息。也可单击“修改”或“删除“,对已新增的收件地址进行修改或删除。 纸质票申请通过后,华为云的客服人员会在3个工作日内将发票通过顺丰快递寄出。如果开票金额小于¥10.00,客户需要支付快递费用。 填写备注信息 备注信息会生成在发票的备注内容区域。 在发票预览页面,不同税率的发票会分页展示。 核对发票信息无误后,单击“提交”,完成开票申请。 图2 增值税普通发票样例 图3 增值税专用发票样例
-
注意事项 增值税发票仅面向中国大陆客户,港澳台及海外企业客户无法开具此类发票。 可开票产品包括 华为云产品 和在云商店购买的联营商品、华为商品。 增值税普通发票开具规则为:为顺应国家税务总局数电发票政策,自2024年11月底开始,当客户签约主体为华为云计算技术有限公司时,增值税普通发票将仅支持开具数电发票,不再支持开具纸质发票。当客户签约主体不是华为云计算技术有限公司时,增值税普通发票支持电子普票和纸质普票。 增值税专用发票开具规则为:为顺应国家税务总局数电发票政策,自2024年11月底开始,当客户签约主体为华为云计算技术有限公司时,增值税专用发票将仅支持开具数电发票,不再支持开具纸质发票。当客户签约主体不是华为云计算技术有限公司时,增值税专用发票仅支持纸质专票。 代金券消费不纳入可开票金额。 购买储值卡可以开票,但是储值卡消费不纳入可开票金额。 开票金额小于10元,且发票介质为纸质票时,客户自行承担快递费用。 一张发票只能有一个税率。当开具发票的产品税率有多个时,系统会自动生成多张发票。 只有同等税率的消费和欠票才可以冲抵。 客户申请合作伙伴代支付时,客户可以直接在费用中心开具发票,开具增值税发票后,不能进行退订操作。 按月汇总索取发票时,如果该账期为欠费状态,则需要还清欠款后才能进行开票操作。 代售类子客户请联系您关联的合作伙伴索取发票。 企业主客户代企业子客户开票,企业主客户和企业子客户关联关系为同一法人时,企业主客户代企业子客户开具的发票可以选择企业主客户创建的发票模板。 抬头类型为企业时,才可以开具增值税专用发票。
-
步骤四:修改客户端配置文件 开启SSL双向认证后,需要在客户端的“consumer.properties”和“producer.properties”文件中,分别修改服务端证书配置,并增加客户端证书配置。 security.protocol=SSL ssl.truststore.location=/opt/kafka_2.12-2.7.2/config/client.truststore.jks ssl.truststore.password=dms@kafka ssl.endpoint.identification.algorithm= #增加以下的客户端证书配置 ssl.keystore.location=/var/private/ssl/kafka/client.keystore.jks ssl.keystore.password=txxx3 ssl.key.password=txxx3 security.protocol配置证书协议类型,开启SSL双向认证时,必须设置为SSL。 ssl.truststore.location配置为client.truststore.jks证书的存放路径。 ssl.truststore.password为client.truststore.jks的密码。 ssl.endpoint.identification.algorithm为证书域名校验开关,为空则表示关闭。这里需要保持关闭状态,必须设置为空。 ssl.keystore.location配置为client.keystore.jks证书的存放路径。 ssl.keystore.password配置为client.keystore.jks的密码。 ssl.key.password配置为client.keystore.jks的密码。
-
约束与限制 如果“allow.everyone.if.no.acl.found”设置为“true”,且Topic未授权任何用户,此时所有的用户都可以订阅/发布此Topic。如果Topic已授权某一个或多个用户,此时只有授权的用户可以订阅/发布此Topic,其他未授权的用户不能订阅/发布此Topic。“allow.everyone.if.no.acl.found”在配置参数中修改。 如果“allow.everyone.if.no.acl.found”设置为“false”,此时只有授权的用户可以订阅/发布此Topic,其他未授权的用户不能订阅/发布此Topic。“allow.everyone.if.no.acl.found”在配置参数中修改。 如果Topic同时设置了“默认用户”权限和单个用户权限,取两者的并集。 单机实例不支持设置Topic权限。
-
步骤三:添加DNAT规则 在“公网NAT网关”页面,在新购买的公网NAT网关后,单击“设置规则”,进入公网NAT网关详情页。 在“DNAT规则”页签,单击“添加DNAT规则”,弹出“添加DNAT规则”对话框。 图3 公网NAT网关详情页 设置如下参数。 使用场景:选择“虚拟私有云” 端口类型:选择“具体端口” 支持协议:选择“TCP” 公网IP类型:选择“弹性公网IP”,在下拉框中选择已购买的弹性公网IP 公网端口:输入“9011” 实例类型:选择“自定义” 私网IP:输入获取Kafka实例的信息中记录的Kafka实例的一个内网连接地址 私网端口:输入“9011” 如果想要了解更多的参数信息,请参考添加DNAT规则。 图4 添加DNAT规则 单击“确定”,完成DNAT规则的添加。 DNAT规则添加成功后,在DNAT规则列表中查看此规则的状态,若“状态”为“运行中”,表示创建成功。 为获取Kafka实例的信息中记录的其他内网连接地址创建DNAT规则,每个DNAT规则需要设置不同的弹性公网IP。 创建DNAT规则的具体步骤参考2~4。 DNAT规则全部创建成功后,在“DNAT规则”页签,查看已创建的DNAT规则,并记录私网IP对应的弹性公网IP。 图5 DNAT规则列表
-
步骤五:验证接口连通性 参考使用客户端连接Kafka(关闭SASL)或者使用客户端连接Kafka(开启SASL),测试是否可以生产和消费消息。 测试接口连通性时,注意以下几点: 连接Kafka实例的地址为“advertised.listeners IP:9011”,以图6为例,连接Kafka实例的地址为“124.xxx.xxx.167:9011,124.xxx.xxx.174:9011,124.xxx.xxx.57:9011”。 在Kafka实例安全组的入方向规则中放通9011端口。 连接Kafka实例的客户端已开启公网访问功能。
-
Smart Connect监控指标 表5 Smart Connect支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) kafka_wait_synchronize_data 待同步Kafka数据量 Kafka任务的待同步数据量。 单位:Count ≥ 0 Kafka实例的Smart Connect任务 1分钟 kafka_synchronize_rate Kafka每分钟同步数据量 Kafka任务每分钟同步的数据量。 单位:Count ≥ 0 Kafka实例的Smart Connect任务 1分钟 task_status 任务状态 当前任务状态。 0:任务异常 1:任务正常 Kafka实例的Smart Connect任务 1分钟 message_delay 消息时延 消息到达源端的时间与到达目标端的时间之差。 单位:ms ≥ 0 Kafka实例的Smart Connect任务 1分钟 使用Smart Connect监控指标时,请注意如下几点: Kafka双向数据复制的Smart Connect任务在监控中会被拆分为2个任务,分别为“Smart Connect任务名_source_0”和“Smart Connect任务名_source_1”。 如果Topic中的消息在进行下一次数据同步前,已经全部老化,此时实际是没有待同步的Kafka数据,但是Kafka数据同步监控指标使用的是包含老化数据的offset值,“待同步Kafka数据量”会显示老化的消息数。
共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
推荐文章