华为云用户手册
-
响应示例 状态码: 201 表示创建网格任务下发成功,开始创建网格 { "kind" : "Mesh", "apiVersion" : "v1", "metadata" : { "name" : "mesh-test-api", "uid" : "a1efdc3e-xxxx-xxxx-xxxx-94bef433347e", "creationTimestamp" : "2025-04-10T07:48:37Z" }, "spec" : { "type" : "InCluster", "version" : "1.18.7-r5", "config" : { "telemetryConfig" : { "metrics" : { "aom" : [ { "instanceID" : "602a5b7e-xxxx-xxxx-xxxx-4268c35b0424" } ] }, "accessLogging" : { "lts" : [ { "logGroupID" : "b884eaeb-xxxx-xxxx-xxxx-f442de73c392", "logStreamID" : "362e11e8-xxxx-xxxx-xxxx-0afdc68da7d2" } ] }, "tracing" : { "randomSamplingPercentage" : 1, "defaultProviders" : [ "zipkin" ], "extensionProviders" : [ { "name" : "zipkin", "zipkin" : { "service" : "zipkin.monitoring.svc.cluster.local", "port" : 9411 } } ] } }, "proxyConfig" : { "includeIPRanges" : "10.247.0.0/16" } }, "extendParams" : { "clusters" : [ { "clusterID" : "cb0ef541-xxxx-xxxx-xxxx-0255ac1001b7" } ] } }, "status" : { "phase" : "Creating" } }
-
响应参数 状态码: 201 表22 响应Body参数 参数 参数类型 描述 apiVersion String API版本,固定值“v1”,该值不可修改 kind String API类型,固定值“Mesh”或“mesh”,该值不可修改 metadata 表23 object 网格的基本信息,为集合类的元素类型,包含一组由不同名称定义的属性 spec 表24 object 集合类的元素类型,您对需要管理的网格进行详细描述的主体部分都在spec中给出。ASM通过spec的描述来创建或更新网格对象 status 表37 object 集合类的元素类型,用于记录网格在系统中的当前状态信息。 该参数为系统自动生成,不需要用户填写 表23 MeshMetadata 参数 参数类型 描述 name String 网格名称。 命名规则:以小写字母开头,由小写字母、数字、中划线(-)组成,长度范围4-64位,且不能以中划线(-)结尾 uid String 网格ID,资源唯一标识,创建成功后自动生成,填写无效 creationTimestamp String 网格创建时间 表24 MeshSpec 参数 参数类型 描述 type String 网格类型: InCluster: 集群内控制平面形态,基础版网格取值为InCluster version String 网格版本 extendParams 表25 object 服务网格扩展信息 ipv6Enable Boolean 网格是否支持IPV6 config 表27 object 网格配置。 表25 MeshExtendParams 参数 参数类型 描述 clusters Array of 表26 objects 网格内集群信息,仅基础版使用 表26 MeshCluster 参数 参数类型 描述 clusterID String 集群ID,资源唯一标识,通过该ID查询需要添加的集群 表27 MeshConfig 参数 参数类型 描述 proxyConfig 表28 object 网格数据面配置 telemetryConfig 表29 object 网格的可观测性配置 表28 ProxyConfig 参数 参数类型 描述 includeIPRanges String 拦截对外访问的地址范围,以半角英文逗号(,)分隔的IP网段 excludeIPRanges String 排除拦截对外访问的地址范围,以半角英文逗号(,)分隔的IP网段 excludeOutboundPorts String 排除拦截对外访问端口,以半角英文逗号(,)分隔的出站端口列表 excludeInboundPorts String 排除拦截访问服务的端口,以半角英文逗号(,)分隔的入站端口列表 includeOutboundPorts String 拦截对外访问端口,以半角英文逗号(,)分隔的出站端口列表 includeInboundPorts String 拦截访问服务的端口,以半角英文逗号(,)分隔的入站端口列表 表29 TelemetryConfig 参数 参数类型 描述 metrics 表30 object 应用指标配置,用于上报ASM网格指标数据。如果要启用该配置,集群需安装云原生监控插件。 accessLogging 表32 object AccessLog配置,用于上报ASM网格内Istio代理的访问日志。如果要启用该配置,集群需安装云原生日志采集插件。 tracing 表34 object Tracing配置,用于上报ASM网格内的调用链数据。 表30 Metric 参数 参数类型 描述 aom Array of 表31 objects AOM 实例配置。 表31 Aom 参数 参数类型 描述 instanceID String AOM实例ID。 表32 AccessLogging 参数 参数类型 描述 lts Array of 表33 objects LTS配置 表33 LtsConfig 参数 参数类型 描述 logGroupID String AccessLog日志组ID logStreamID String AccessLog输出日志流ID 表34 Tracing 参数 参数类型 描述 randomSamplingPercentage Float tracing采样率 defaultProviders Array of strings tracing默认上报的provider名称,必须与extensionProviders中的name字段匹配,或使用ASM预设的provider "apm-otel"。 如果使用"apm-otel",需确认当前region已支持 APM 2.0且网格版本大于1.18。 extensionProviders Array of 表35 objects 用户自配置provider,目前支持zipkin。 如果用户配置zipkin的provider,请保证网格版本大于等于1.15。 表35 TracingExtensionProvider 参数 参数类型 描述 name String provider实例name zipkin 表36 object zipkin provider自有配置 表36 ZipkinTracingProvider 参数 参数类型 描述 service String zipkin服务地址 port Integer zipkin服务端口 表37 MeshStatus 参数 参数类型 描述 phase String 网格状态,取值如下 Running:运行中,表示网格处于正常运行状态 Creating:创建中,表示网格正处于创建过程中 CreateFailed:创建失败 Deleting:删除中,表示网格正处于删除过程中 DeleteFailed:删除失败 Upgrading:升级中,表示网格正处于升级过程中 UpgradeFailed:升级失败 RollingBack:回滚中,表示网格正处于回滚过程中 RollbackFailed:回滚失败 updateTimestamp String 网格更新时间 状态码: 400 表38 响应Body参数 参数 参数类型 描述 errorCode String 错误码 最小长度:8 最大长度:36 errorMsg String 错误描述 最小长度:2 最大长度:512 状态码: 409 表39 响应Body参数 参数 参数类型 描述 errorCode String 错误码 最小长度:8 最大长度:36 errorMsg String 错误描述 最小长度:2 最大长度:512 状态码: 500 表40 响应Body参数 参数 参数类型 描述 errorCode String 错误码 最小长度:8 最大长度:36 errorMsg String 错误描述 最小长度:2 最大长度:512
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式) X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值 表3 请求Body参数 参数 是否必选 参数类型 描述 apiVersion 是 String API版本,固定值“v1”,该值不可修改 kind 是 String API类型,固定值“Mesh”或“mesh”,该值不可修改 metadata 是 表4 object 网格的基本信息,为集合类的元素类型,包含一组由不同名称定义的属性 spec 是 表5 object 集合类的元素类型,您对需要管理的网格进行详细描述的主体部分都在spec中给出。ASM通过spec的描述来创建或更新网格对象 表4 MeshMetadata 参数 是否必选 参数类型 描述 name 是 String 网格名称。 命名规则:以小写字母开头,由小写字母、数字、中划线(-)组成,长度范围4-64位,且不能以中划线(-)结尾 表5 MeshSpec 参数 是否必选 参数类型 描述 type 是 String 网格类型: InCluster: 集群内控制平面形态,基础版网格取值为InCluster version 是 String 网格版本 extendParams 是 表6 object 服务网格扩展信息 ipv6Enable 否 Boolean 网格是否支持IPV6 config 否 表12 object 网格配置。 表6 MeshExtendParams 参数 是否必选 参数类型 描述 clusters 是 Array of 表7 objects 网格内集群信息 表7 MeshCluster 参数 是否必选 参数类型 描述 clusterID 是 String 集群ID,资源唯一标识,通过该ID查询需要添加的集群 injection 否 表8 object sidecar注入配置 installation 是 表9 object 网格组件安装配置 表8 InjectionConfig 参数 是否必选 参数类型 描述 namespaces 否 表10 object 需要注入的命名空间 表9 InstallationConfig 参数 是否必选 参数类型 描述 nodes 是 表10 object 安装网格组件的节点 表10 Selector 参数 是否必选 参数类型 描述 fieldSelector 是 表11 object 字段选择器 表11 FieldSelector 参数 是否必选 参数类型 描述 key 是 String Key值 operator 是 String 操作符,仅支持取值"In" values 是 Array of strings Value值 表12 MeshConfig 参数 是否必选 参数类型 描述 proxyConfig 否 表13 object 网格数据面配置 telemetryConfig 否 表14 object 网格的可观测性配置 表13 ProxyConfig 参数 是否必选 参数类型 描述 includeIPRanges 否 String 拦截对外访问的地址范围,以半角英文逗号(,)分隔的IP网段 excludeIPRanges 否 String 排除拦截对外访问的地址范围,以半角英文逗号(,)分隔的IP网段 excludeOutboundPorts 否 String 排除拦截对外访问端口,以半角英文逗号(,)分隔的出站端口列表 excludeInboundPorts 否 String 排除拦截访问服务的端口,以半角英文逗号(,)分隔的入站端口列表 includeOutboundPorts 否 String 拦截对外访问端口,以半角英文逗号(,)分隔的出站端口列表 includeInboundPorts 否 String 拦截访问服务的端口,以半角英文逗号(,)分隔的入站端口列表 表14 TelemetryConfig 参数 是否必选 参数类型 描述 metrics 否 表15 object 应用指标配置,用于上报ASM网格指标数据。如果要启用该配置,集群需安装云原生监控插件。 accessLogging 否 表17 object AccessLog配置,用于上报ASM网格内Istio代理的访问日志。如果要启用该配置,集群需安装云原生日志采集插件。 tracing 否 表19 object Tracing配置,用于上报ASM网格内的调用链数据。 表15 Metric 参数 是否必选 参数类型 描述 aom 否 Array of 表16 objects AOM实例配置。 表16 Aom 参数 是否必选 参数类型 描述 instanceID 是 String AOM实例ID。 表17 AccessLogging 参数 是否必选 参数类型 描述 lts 否 Array of 表18 objects LTS配置 表18 LtsConfig 参数 是否必选 参数类型 描述 logGroupID 否 String AccessLog日志组ID logStreamID 否 String AccessLog输出日志流ID 表19 Tracing 参数 是否必选 参数类型 描述 randomSamplingPercentage 否 Float tracing采样率 defaultProviders 否 Array of strings tracing默认上报的provider名称,必须与extensionProviders中的name字段匹配,或使用ASM预设的provider "apm-otel"。 如果使用"apm-otel",需确认当前region已支持APM2.0且网格版本大于1.18。 extensionProviders 否 Array of 表20 objects 用户自配置provider,目前支持zipkin。 如果用户配置zipkin的provider,请保证网格版本大于等于1.15。 表20 TracingExtensionProvider 参数 是否必选 参数类型 描述 name 否 String provider实例name zipkin 否 表21 object zipkin provider自有配置 表21 ZipkinTracingProvider 参数 是否必选 参数类型 描述 service 否 String zipkin服务地址 port 否 Integer zipkin服务端口
-
响应示例 状态码: 200 表示获取网格列表成功 { "kind" : "MeshList", "apiVersion" : "v1", "items" : [ { "kind" : "Mesh", "apiVersion" : "v1", "metadata" : { "name" : "mesh-test-api", "uid" : "a1efdc3e-xxxx-xxxx-xxxx-94bef433347e", "creationTimestamp" : "2025-04-10T07:48:37Z" }, "spec" : { "type" : "InCluster", "version" : "1.18.7-r5", "config" : { "telemetryConfig" : { "metrics" : { "aom" : [ { "instanceID" : "602a5b7e-xxxx-xxxx-xxxx-4268c35b0424" } ] }, "accessLogging" : { "lts" : [ { "logGroupID" : "b884eaeb-xxxx-xxxx-xxxx-f442de73c392", "logStreamID" : "362e11e8-xxxx-xxxx-xxxx-0afdc68da7d2" } ] }, "tracing" : { "randomSamplingPercentage" : 1, "defaultProviders" : [ "zipkin" ], "extensionProviders" : [ { "name" : "zipkin", "zipkin" : { "service" : "zipkin.monitoring.svc.cluster.local", "port" : 9411 } } ] } }, "proxyConfig" : { "includeIPRanges" : "10.247.0.0/16" } }, "extendParams" : { "clusters" : [ { "clusterID" : "cb0ef541-xxxx-xxxx-xxxx-0255ac1001b7" } ] } }, "status" : { "phase" : "Running", "updateTimestamp" : "2025-04-10T07:58:43Z" } } ] }
-
响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 apiVersion String API版本,固定值“v1”,该值不可修改 kind String API类型,固定值“MeshList”,该值不可修改 items Array of 表4 objects 网格列表 表4 Mesh 参数 参数类型 描述 apiVersion String API版本,固定值“v1”,该值不可修改 kind String API类型,固定值“Mesh”或“mesh”,该值不可修改 metadata 表5 object 网格的基本信息,为集合类的元素类型,包含一组由不同名称定义的属性 spec 表6 object 集合类的元素类型,您对需要管理的网格进行详细描述的主体部分都在spec中给出。ASM通过spec的描述来创建或更新网格对象 status 表19 object 集合类的元素类型,用于记录网格在系统中的当前状态信息。 该参数为系统自动生成,不需要用户填写 表5 MeshMetadata 参数 参数类型 描述 name String 网格名称。 命名规则:以小写字母开头,由小写字母、数字、中划线(-)组成,长度范围4-64位,且不能以中划线(-)结尾 uid String 网格ID,资源唯一标识,创建成功后自动生成 creationTimestamp String 网格创建时间 表6 MeshSpec 参数 参数类型 描述 type String 网格类型: InCluster: 集群内控制平面形态,基础版网格取值为InCluster version String 网格版本 extendParams 表7 object 服务网格扩展信息 ipv6Enable Boolean 网格是否支持IPV6 config 表9 object 网格配置。 表7 MeshExtendParams 参数 参数类型 描述 clusters Array of 表8 objects 网格内集群信息 表8 MeshCluster 参数 参数类型 描述 clusterID String 集群ID,资源唯一标识,通过该ID查询需要添加的集群 表9 MeshConfig 参数 参数类型 描述 proxyConfig 表10 object 网格数据面配置 telemetryConfig 表11 object 网格的可观测性配置 表10 ProxyConfig 参数 参数类型 描述 includeIPRanges String 拦截对外访问的地址范围,以半角英文逗号(,)分隔的IP网段 excludeIPRanges String 排除拦截对外访问的地址范围,以半角英文逗号(,)分隔的IP网段 excludeOutboundPorts String 排除拦截对外访问端口,以半角英文逗号(,)分隔的出站端口列表 excludeInboundPorts String 排除拦截访问服务的端口,以半角英文逗号(,)分隔的入站端口列表 includeOutboundPorts String 拦截对外访问端口,以半角英文逗号(,)分隔的出站端口列表 includeInboundPorts String 拦截访问服务的端口,以半角英文逗号(,)分隔的入站端口列表 表11 TelemetryConfig 参数 参数类型 描述 metrics 表12 object 应用指标配置,用于上报ASM网格指标数据。如果要启用该配置,集群需安装云原生监控插件。 accessLogging 表14 object AccessLog配置,用于上报ASM网格内Istio代理的访问日志。如果要启用该配置,集群需安装云原生日志采集插件。 tracing 表16 object Tracing配置,用于上报ASM网格内的调用链数据。 表12 Metric 参数 参数类型 描述 aom Array of 表13 objects AOM实例配置。 表13 Aom 参数 参数类型 描述 instanceID String AOM实例ID。 表14 AccessLogging 参数 参数类型 描述 lts Array of 表15 objects LTS配置 表15 LtsConfig 参数 参数类型 描述 logGroupID String AccessLog日志组ID logStreamID String AccessLog输出日志流ID 表16 Tracing 参数 参数类型 描述 randomSamplingPercentage Float tracing采样率 defaultProviders Array of strings tracing默认上报的provider名称,必须与extensionProviders中的name字段匹配,或使用ASM预设的provider "apm-otel"。 如果使用"apm-otel",需确认当前region已支持APM2.0且网格版本大于1.18。 extensionProviders Array of 表17 objects 用户自配置provider,目前支持zipkin。 如果用户配置zipkin的provider,请保证网格版本大于等于1.15。 表17 TracingExtensionProvider 参数 参数类型 描述 name String provider实例name zipkin 表18 object zipkin provider自有配置 表18 ZipkinTracingProvider 参数 参数类型 描述 service String zipkin服务地址 port Integer zipkin服务端口 表19 MeshStatus 参数 参数类型 描述 phase String 网格状态,取值如下 Running:运行中,表示网格处于正常运行状态 Creating:创建中,表示网格正处于创建过程中 CreateFailed:创建失败 Deleting:删除中,表示网格正处于删除过程中 DeleteFailed:删除失败 Upgrading:升级中,表示网格正处于升级过程中 UpgradeFailed:升级失败 RollingBack:回滚中,表示网格正处于回滚过程中 RollbackFailed:回滚失败 updateTimestamp String 网格更新时间 状态码: 400 表20 响应Body参数 参数 参数类型 描述 errorCode String 错误码 最小长度:8 最大长度:36 errorMsg String 错误描述 最小长度:2 最大长度:512 状态码: 500 表21 响应Body参数 参数 参数类型 描述 errorCode String 错误码 最小长度:8 最大长度:36 errorMsg String 错误描述 最小长度:2 最大长度:512
-
功能概述 您可以使用KooCLI进行如下操作,管理您OBS中的数据: 表1 KooCLI集成OBS功能 功能 说明 桶基本操作 指定区域创建不同存储类型的桶、删除桶以及获取桶列表、桶配置信息等。 对象基本操作 管理对象,包括上传、下载、删除和列举对象等。 支持上传单个或批量上传多个文件或文件夹。 支持分段上传大文件。 支持增量同步上传、下载和复制对象。 支持复制单个对象或按对象名前缀批量复制多个对象。 支持移动单个对象或按对象名前缀批量移动多个对象。 支持对失败的上传、下载、复制等任务进行恢复。 日志记录 支持在客户端配置日志记录,记录对桶和对象的操作日志,方便统计与分析。
-
如何选择区域? 选择区域时,您需要考虑以下几个因素: 地理位置 一般情况下,建议就近选择靠近您或者您的目标用户的区域,这样可以减少网络时延,提高访问速度。不过,在基础设施、BGP网络品质、资源的操作与配置等方面,中国大陆各个区域间区别不大,如果您或者您的目标用户在中国大陆,可以不用考虑不同区域造成的网络时延问题。 曼谷等其他地区和国家提供国际带宽,主要面向非中国大陆地区的用户。如果您或者您的目标用户在中国大陆,使用这些区域会有较长的访问时延,不建议使用。 云服务之间的关系 如果多个云服务一起搭配使用,需要注意不同区域的云服务内网不互通。 例如 DataArts Studio (包括管理中心、 CDM 等组件)需要与 MRS 、OBS等服务互通时,如果DataArts Studio与其他云服务处于不同区域的情况下,需要通过公网或者专线打通网络;而在同区域情况下,同子网、同安全组的不同实例默认网络互通。 资源的价格 不同区域的资源价格可能有差异,请参见华为云服务价格详情。
-
什么是区域、可用区? 我们用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone)是同一区域内,电力和网络互相隔离的物理区域,一个可用区不受其他可用区故障的影响。一个区域内可以有多个可用区,不同可用区之间物理隔离,但内网互通,既保障了可用区的独立性,又提供了低价、低时延的网络连接。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。更多信息请参见华为云全球站点。
-
如何选择可用区? DataArts Studio实例中的数据集成CDM集群所在可用区。DataArts Studio实例通过数据集成CDM集群与其他服务实现网络互通。 第一次购买DataArts Studio实例或增量包时,可用区无要求。再次购买DataArts Studio实例或增量包时,是否将资源放在同一可用区内,主要取决于您对容灾能力和网络时延的要求。 如果您的应用需要较高的容灾能力,建议您将资源部署在同一区域的不同可用区内。 如果您的应用要求实例之间的网络延时较低,则建议您将资源创建在同一可用区内。
-
解决方案 PostgreSQL使用pgoutput插件进行增量逻辑解码,该插件依赖PUBLICATION。 查看发布的命令。 SELECT * FROM pg_publication; 如果名为dbz_publication的发布不存在,在启动migration作业后会自动用作业配置的账号创建publication,因此要提前给账号授权,或使用有权限的账号创建发布。 授权创建发布的命令: GRANT CREATE ON DATABASE "your_databasename" TO "your_user"; 创建发布的命令(如果不授权,需要手动创建发布): -- PostgreSQL版本大于等于13 CREATE PUBLICATION dbz_publication FOR ALL TABLES WITH (publish_via_partition_root = true) -- PostgreSQL版本小于13 CREATE PUBLICATION dbz_publication FOR ALL TABLES 如果名为dbz_publication的发布存在,要添加参数(PostgreSQL版本小于13可以忽略此操作)。 ALTER PUBLICATION dbz_publication SET (publish_via_partition_root = true); PostgreSQL增量位点启动和逻辑复制槽推进都需要查询数据库wal日志信息,需要获取pg_ls_waldir()函数查询权限。 确认作业配置的账号是否有执行pg_ls_waldir()函数的权限。 SELECT has_function_privilege('your_user', 'pg_ls_waldir()', 'EXECUTE'); SELECT pg_ls_waldir() -- 最直观判断是否能执行成功 如果没有权限,用超级用户(SUPERUSER)或具有 pg_monitor 角色权限的用户(root)授权。 GRANT pg_monitor TO your_user; -- 授权 REVOKE pg_monitor from your_user; -- 撤权 重新用作业配置的账号登录到数据库重复步骤1操作确认权限是否生效。 GaussDB 增量位点启动和逻辑复制槽推进都需要查询数据库wal日志信息,需要获取pg_ls_waldir()函数查询权限。 确认作业配置的账号是否有执行pg_ls_waldir()函数的权限。 SELECT pg_ls_waldir() -- 如果没权限,会报错:“only system/monitor admin can check WAL directory!” 如果没有权限,用超级用户(SUPERUSER)或具有 monitor 角色权限的用户(root)授权。 ALTER USER your_user MONADMIN -- 授权 ALTER USER your_user NOMONADMIN -- 撤权 重新用作业配置的账号登录到数据库重复步骤1操作确认权限是否生效。
-
setParticipantAvatarStyle: 接口描述 该接口用于设置与会者头像风格。 注意事项 该接口非必需调用,若不设置,则使用默认的头像。 方法定义 - (HWMSDKERR)setParticipantAvatarStyle:(HWMAvatarStyle *)avatarStyle; 参数描述 表1 HWMAvatarStyle参数说明 参数 是否必须 类型 描述 backgroundColor 是 UIColor * 背景色。 textColor 是 UIColor * 文字颜色。 nameShowType 是 HWMNameShowType 姓名显示风格。 avatarShape 是 HWMAvatarShape 头像形状。 phoneIcon 是 UIImage * pstn用户头像图片。 boardIcon 是 UIImage * 大屏头像图片。 表2 HWMNameShowType枚举说明 枚举值 描述 HWMNameShowTypeFirstName 显示拼音首字母(如果是英文名则显示首字母)。 HWMNameShowTypeFamilyName 显示姓氏(如果是英文名则显示首字母)。 表3 HWMAvatarShape枚举说明 枚举值 描述 HWMAvatarShapeCircle 圆形头像。 返回值 接口是否调用成功。 示例代码 HWMAvatarStyle *style = [[HWMAvatarStyle alloc] init]; style.backgroundColor = backgrounColor; style.textColor = textColor; style.nameShowType = nameShowType; style.avatarShape = HWMAvatarShapeCircle; style.phoneIcon = phoneIcon; style.boardIcon = boardIcon; HWMSDKERR result = [[HWMBizSdk getBizOpenApi] setParticipantAvatarStyle:style];
-
setParticipantAvatarStyle: 接口描述 该接口用于设置与会者头像风格。 注意事项 该接口非必需调用,若不设置,则使用默认的头像。 方法定义 - void setParticipantAvatarStyle(HWMAvatarStyle avatarStyle); 参数描述 表1 HWMAvatarStyle参数说明 参数 是否必须 类型 描述 backgroundColor 是 int 背景色。 textColor 是 int 文字颜色。 nameShowType 是 NameShowType 姓名显示风格。 avatarShape 是 AvatarShape 头像形状。 phoneIcon 是 Bitmap pstn用户头像图片。 boardIcon 是 Bitmap 大屏头像图片。 表2 NameShowType枚举说明 枚举值 描述 FIRST_LETTER 显示拼音首字母(如果是英文名则显示首字母)。 FAMILY_NAME 显示姓氏(如果是英文名则显示首字母)。 表3 AvatarShape枚举说明 枚举值 描述 CIRCLE 圆形头像。 返回值 接口是否调用成功。 示例代码 HWMAvatarStyle style = new HWMAvatarStyle(backgroundColor, textColor, HWMAvatarStyle.NameShowType.FAMILY_NAME, HWMAvatarStyle.AvatarShape.CIRCLE); HWMBizSdk.getBizOpenApi().setParticipantAvatarStyle(style);
-
setParticipantAvatarStyle: 接口描述 该接口用于设置与会者头像风格。 注意事项 该接口非必需调用,若不设置,则使用默认的头像。 方法定义 - (HWMSDKERR)setAvatarStyle:(HWMUISDKAvatarStyleModel *)avatarStyle; 参数描述 表1 HWMUISDKAvatarStyleModel参数说明 参数 是否必须 类型 描述 backgroundColor 是 NSString * 背景色。 textColor 是 NSString * 文字颜色。 nameShowType 是 HWMUISDKNameShowType 姓名显示风格。 avatarShape 是 HWMUISDKAvatarShape 头像形状。 phoneIconPath 是 NSString * 手机图标路径。 boardIconPath 是 NSString * 大屏图标路径。 表2 HWMUISDKNameShowType枚举说明 枚举值 描述 HWMUISDKFirstLetter 显示拼音首字母(如果是英文名则显示首字母)。 HWMUISDKFamilyName 显示姓氏(如果是英文名则显示首字母)。 表3 HWMUISDKAvatarShape枚举说明 枚举值 描述 HWMUISDKCircle 圆形头像。 返回值 接口是否调用成功。 示例代码 /// 设置头像风格 - (void)customAvatarStyle { HWMUISDKAvatarStyleModel *style = [[HWMUISDKAvatarStyleModel alloc] init]; style.backgroundColor = this.getBackgrounColor(); style.textColor = this.getTextColor(); style.nameShowType = this.getNameShowType(); style.avatarShape = this.getAvatarShaoe(); style.phoneIconPath = this.getPhoneIconPath(); style.boardIconPath = this.getBoardIconPath(); HWMSDKERR result = [[HWMBizSdk getBizOpenApi] setAvatarStyle:self.avatarStyleModel]; }
-
修订记录 表1 修订记录 日期 版本 修订内容 2025-5-27 110.3.12 1.问题修复,体验更稳定 具体使用请见110.3.12更新内容 2025-4-18 110.3.9 1.新增设置与会者头像风格接口 setParticipantAvatarStyle。 2.新增企业ID字段。 2025-3-28 110.3.5 1.新增返回会中全屏状态接口,详见返回会中全屏状态 2.新增会议开始时间startTimeStamp,废弃原有字段startTime,详见BookConfParam参数说明 3.功能开关枚举HwmEnableFeatureType新增枚举值HWM_ENABLE_FEATURE_HIDE_INVITE_RESULT_TOAST 是否隐藏与会者邀请结果提示开关和HIDE_OFFLINE_PARTICIPANT_LIST是否隐藏与会者列表未入会标签开关,详见枚举HWMEnableFeatureType说明 4.会中设置新增会中禁止截屏菜单项forbiddenScreenShotsMenu与会中水印菜单项waterMarkMenu,详见Android菜单功能说明 5.新增会中查询共享getSelfShareState接口、停止共享stopShare接口、拦截共享onSelfStartShareIntercept接口,详见查询本端共享状态、停止本端共享、自定义拦截共享 6.新增设置管理面 域名 对应的保底ip地址接口 SetGlobalGuaranteedIpAddresses,详见设置管理面保底ip地址 7.新增会议状态通知接口onConfStatusChanged,详见全局会议状态通知 8.适配AndroidTargetSDK 34 2025-3-14 100.12.16 问题修复,体验更稳定 具体使用请见100.12.16更新内容 2025-2-28 100.12.13 问题修复,体验更稳定 具体使用请见100.12.13更新内容 2025-2-26 100.12.12 问题修复,体验更稳定 具体使用请见100.12.12更新内容 2025-1-2 100.12.5 StartP2PConfParam新增是否来宾免密码入会isGuestJoinConfWithoutPwd、允许入会的用户类型confAllowJoinUser,具体请见HWMStartP2PConfParam说明 CalleeInfo新增被叫与会者类型hwmP2PAttendeeType,具体请见CalleeInfo说明 会议设置里新增字幕设置菜单,包含“字幕翻译语言”、“我正在说” 功能,废弃字幕翻译语言菜单,具体请见Android菜单功能说明 问题修复,体验更稳定。 2024-12-7 100.10.7 1.新增接口buildWaitingToolBarMenuItems自定义与会者等候中列表底部toolbar菜单 2.新增接口buildUnJoinedToolbarMenuItems自定义与会者未入会列表底部toolbar菜单 3.新增策略类ICallAllAttendeesStrategy自定义与会者未入会列表一键呼叫点击事件4.问题修复,体验更稳定。 具体使用请见100.10.7更新内容 2024-11-27 100.10.6 1. 问题修复,体验更稳定。 具体使用请见100.10.6更新内容 2024-11-13 100.10.5 1. 新增自定义指定场景文案接口setUiCustomTextHandler,详见自定义指定场景文案 2. 新增自定义指定场景图标接口setUiCustomImageHandler,详见自定义指定场景图标 3. 新增自定义虚拟背景图片添加按钮事件接口setVirtualBackgroundHandle,详见自定义虚拟背景图片添加按钮事件 4.允许共享按钮类名变更,如果定制了允许共享按钮,需要从SwitchMenu改为TextMenu。详见6.4.2.10-Android菜单功能说明 5. 问题修复,体验更稳定。 具体使用请见100.10.5更新内容 2024-10-31 100.9.7 问题修复,体验更稳定 具体使用请见100.9.7更新内容 2024-10-12 100.9.5 1.新增通知OnAddAttendeeNotify 添加与会者结果通知,详见添加与会者结果通知 2.新增会议开始时间startTimeStamp 、会议结束时间endTimeStamp,废弃原有字段startTime 、endTime,详见ConfBaseInfo参数说明、MeetingInfo参数说明、HWMP2PConfRecordInfo参数说明 3.头像拦截显示接口参数变动,请见头像拦截显示 4.会中信息MeetingInfo新增字段supportGuestInviteAttendee,普通与会者是否支持邀请与会者,详见MeetingInfo参数说明 5.账号状态变更通知增加CA证书校验失败onCaInvalid事件,收到通知请退出登录,详见账号状态变更通知 6.问题修复,体验更稳定。 具体使用请见100.9.5更新内容 2024-10-12 100.7.13 1.问题修复,体验更稳定。 具体使用请见100.7.13更新内容 2024-8-23 100.7.8 问题修复,体验更稳定 具体使用请见100.7.8更新内容 2024-8-16 100.7.6 问题修复,体验更稳定 具体使用请见100.7.6更新内容 2024-8-2 100.7.5 支持主持人设置入会后自动静音控制 新增通知OnMeetingInfoChanged会议信息更新,替代废弃通知onConfDetailNotify 新增虚拟背景模型文件夹,放到到assets目录下 具体使用请见100.7.5更新内容 2024-6-13 100.5.5 1.支持悬浮窗变化通知 2.获取会议详情接口增加时区字段 3.虚拟背景集成方式修改 具体使用请见100.5.5更新内容 2024-4-23 100.3.6 1.同步初始化接口,去除必须放在Application的onCreate()方法中限制 2.libs中8个aar合并为HWMSdk-release.aar 3.新增Android菜单功能说明 具体使用请见100.3.6更新内容 2024-2-17 90.12.7 问题修复,体验更稳定。 2024-1-5 90.12.5 废弃接口getVmrList,新增接口getVmrInfoList 新增共享vmr信息通知OnShareVmrInfoNotify 新增参数会议资源类型confResType,涉及创会信息CreateConfInfo、预约会议参数BookConfParam 新增立即会议记录通知OnP2PConfRecordNotify 新增获取错误提示接口GetErrorMessage,文案可用于提示 新增设置(会控)保底ip地址接口SetGuaranteedIpAddresses,支持下沉企业数据不上云或断网逃生 问题修复,体验更稳定。 具体使用请见90.12.5更新内容 2023-12-13 90.10.8 1.问题修复,体验更稳定。 2023-11-15 90.9.8 1.问题修复,体验更稳定 2023-10-27 90.9.7 1.问题修复,体验更稳定 2023-10-20 90.9.6 1.问题修复,体验更稳定 2023-10-7 90.9.5 新增会议最大与会人数限制concurrentParticipants,涉及创建会议参数CreateConfParam、预约会议参数BookConfParam、编辑会议参数EditConfParam、会议详情信息ConfDetailModel 问题修复,体验更稳定 具体使用请见90.9.5更新内容 2023-08-11 90.7.5 新增发起立即会议接口startP2PConf Random入会接口参数RandomJoinConfParam新增domain字段 新增扫码邀请大屏入会接口joinPairConf 创建会议接口createConf参数CreateConfParam新增isSpeakerOff字段 问题修复,体验更稳定 具体使用请见90.7.5更新内容 2023-6-2 90.6.5 1.会中设置项新增抢占共享权限按钮 2.新增是否支持同终端多应用登录参数isSupportMultiAppLogin 3.新增弱网信息上报接口onPoorNetworkQualityInfoNotify() 4.预约、编辑、创建、会议详情增加customInfo字段 5.新增错误码412100044服务器降级,接入方收到该错误码可以继续调用入会接口离线入会 6.startCall 接口废弃 7.问题修复,体验更稳定 具体使用请见90.6.5更新内容 2023-5-12 80.15.21 1.问题修复,体验更稳定 具体使用请见80.15.21更新内容 2023-3-24 80.15.5 1.问题修复,体验更稳定 具体使用请见80.15.5更新内容 2023-2-24 80.13.6 1. 问题修复,体验更稳定 具体使用请见80.13.6更新内容 2023-2-7 80.13.5 1. 上传头像接口限制上传文件的格式和大小,具体请见 上传个人头像 2. 新增设置语言接口,具体请见 设置语言 3. 问题修复,体验更稳定 具体使用请见80.13.5更新内容 2023-1-9 80.12.6 开启功能接口enableFeature 新增是否显示录制安全提示窗枚举值HWM_FEATURE_TYPE_CONFIRM_RECORD。具体请见枚举HWMEnableFeatureType说明 问题修复,体验更稳定。 具体使用请见80.12.6更新内容 2022-12-26 80.12.5 1. 修复多个问题 2022-11-22 80.10.6 1. 新增异步初始化接口,具体请见 异步初始化 具体使用请见80.10.6更新内容 2022-11-15 80.10.5 1. 预约周期会议接口废弃cycleCount字段,具体请见 预约周期会议 2. 获取云会议室列表和修改云会议室信息接口新增参数,具体请见 获取云会议室列表、修改云会议室信息 3. 新增设置共享权限接口setShareScreenPermission, 具体请见设置共享权限 具体使用请见80.10.5更新内容 2022-10-10 80.9.5 1. 编辑会议和会议详情新增字段isLiveOn是否开启直播。 2. 问题修复 具体使用请见80.9.5更新内容 2022-9-2 80.8.5 创建会议、预约会议、编辑会议支持设置来宾密码。 问题修复 具体使用请见80.8.5更新内容 2022-7-30 80.7.5 1. 问题修复 具体使用请见80.7.5更新内容 2022-6-15 80.5.11 1. 新增禁用提示音接口 2. 问题修复 具体使用请见80.5.11更新内容 2022-5-18 80.5.5 1. 预约会议、编辑会议、获取会议详情接口增加等候室开关功能,新增isOpenWaitingRoom字段 2. 问题修复 具体使用请见80.5.5更新内容 2022-4-15 70.16.5 新增周期会议相关接口 入会参数PasswordJoinConfParam 新增 isStopConflictConf字段,能够强制结束和当前VMR会议资源冲突的会议 会议通知栏支持在来电时可配置是否显示通知 sso 登录接口调整 错误码整改,发布新版本错误码描述以及新旧版本错误码对应关系。 具体使用请见70.16.5更新内容 2022-2-19 70.14.5 1. 预约、编辑会议支持设置“来宾在主持人之前加入会议”,并可设置提前入会时间,具体参数请见 预约会议参数说明 。 2. 预约云会议室时支持选择预约固定云会议室ID或随机云会议室ID,具体请见 VmrIdType枚举说明。 3.APPID登录支持指定部门ID,具体请见 AppIdAuthParam参数说明。 4. 问题修复 具体使用请见70.14.5更新内容 2022-1-19 70.13.5 1. 登录、登出接口新增uuid、account、thirdAccount字段,具体请见LoginResult类型说明、LogoutResult类型说明。如果是老版本升级到70.13.5版本,需要修改回调函数的定义。 2. 第三方视频推流接口支持MMR会议,具体请见第三方视频推流。 3. 业务 消息通知 中新增onConfIncoming接口,允许在入会前获取来电信息,具体请见业务消息通知。 4. 问题修复 具体使用请见70.13.5更新内容 2021-12-23 70.12.6 修复弱网情况下导致清晰度降低后不能恢复的问题 具体使用请见70.12.6更新内容 2021-12-15 70.12.4 1. RxJava升级到3.0.13版本 2. 问题修复 具体使用请见70.12.4更新内容 2021-12-3 70.11.5 1. 新增配置日志保存天数 2. HMS Scankit升级到2.1.0.300版本 3. 问题修复 具体使用请见70.11.5 更新内容 2021-10-22 70.10.5 1. 去除无效资源 2. 问题修复 具体使用请见70.10.5 更新内容 2021-09-16 70.9.5 1.新增SSO登录方式 2.移除tinypinyin库 具体使用请见70.9.5 更新内容 2021-08-28 70.8.6 问题修复,体验更稳定 2021-08-18 70.8.5 1.从此版本开始,Android SDK切换为AndroidX依赖 2.支持获取与会者列表(含网络研讨会) 具体使用请见70.8.5 更新内容 2021-07-16 70.7.5 1.支持会中设置本会场视频画面是否镜像 2.支持安卓11的API 30版本 3.okhttp升级到4.9.1 具体使用请见70.7.5 更新内容 2021-06-10 70.6.5 1.删除了ZXing的依赖 2.tinypinyin 升级到3.0.0 3.aspectjrt升级到1.9.6 4.gson升级到2.8.6 具体使用请见70.6.5 更新内容 2021-05-17 70.5.8 1.会中与会者和聊天模块适配横屏体验 2.支持聊天弹幕 具体使用请见70.5.8 更新内容 2021-04-15 70.4.5 1.预约会议接口添加返回值参数说明 2.sdk初始化约束,限制初始化必须在Application的OnCreate主线程中执行 3.新增获取用户当前状态接口 4.会中新增主持人邀请他人共享,主持人也可快速取消共享 5.移动端的前后摄像头切换按钮放到主界面上 6.会议日志大小优化 7.libs文件夹中aar文件整合,使用时需先清空之前历史版本文件,重新导入 具体使用请见70.4.5 更新内容 2021-03-12 70.3.5 1.移除会中自定义分享链接,自定义分享链接功能可以通过自定义会中分享面板实现 2.去掉短信权限的要求 3.错误码变更 4.观看共享时叠加发言人视频窗口,并支持下拉关闭 5.支持手机、平板同时登录 具体使用请见70.3.5 更新内容 2021-02-10 60.15.6 1.新增自定义来电自动处理接口 2.新增自定义设置来电响铃和震动 3.sdk 资源包aar依赖变更 4.自定义隐藏外部标签, 具体使用请见60.15.6 更新内容 2021-01-08 60.13.2 添加与会者 离开会议 结束会议 错误码更新 具体使用请见60.13.2 更新内容 2020-12-07 60.12.5 创建会议支持指定会议室(vmrId)和入会范围(joinConfRestrictionType) 错误码更新 新增头像上传接口 新增头像拦截接口,可以使用自己的头像显示 自定义菜单样例更新 具体参见60.12.5更新内容 2020-11-07 60.11.1 1、新增支持会议自动录制 2、新增自定义会议来电接听按钮显示 3、新增呼叫设置昵称 具体参见60.11.1更新内容 2020-10-15 60.10.5 1、 新增是否开启第三方数据采集配置: 2、 新增自定义接入站点: 3、 自定义会中分享面板参数变更: 4、 加入会议接口参数变更: 具体参见60.10.5更新内容 2020-09-04 60.8.1 1、初始化增加App ID,可以传入企业App ID 2、新增App ID登录、预约会议、编辑会议、会议列表、会议详情、取消会议等接口 3、新增自定义是否开启高清优先、自定义会议接听摄像头麦克风开关等配置接口。 4、创建会议参数新增是否开启录制。 5、问题修复,体验更稳定 具体参见60.8.1更新内容 2020-07-30 60.7.1 1、会议中UI界面优化,菜单目录结构和接口发生变更,逻辑更清晰 2、支持会议中成员文字聊天,支持自定义配置是否显示 3、会控菜单自定义接口优化,部分接口替换,使用更灵活 具体参见60.7.1更新内容 2020-06-29 60.6.4 新增如下接口 新增回调会中是否是主持人 新增接口当前是否是主持人 修改如下接口 部分接口修改 参照自定义底部菜单栏 2020-05-08 60.5.3 更新部分使用文档: 删除“创建会议(携带与会人信息)”接口,和“创建会议”接口合并 优化接口名称和结构 2019-11-12 6.1.223 修复部分已知问题 2019-08-31 6.1.203 新增如下接口 退出登录功能 修改如下接口 登录登录:接口参数发生变更,登录地址与端口不再需要传入 加入会议:加入会议接口与匿名入会接口合并,删除匿名入会接口,加入会议接口参数发生变更 2019-07-23 6.1.195 新增如下接口: 匿名入会:支持用户匿名入会(未登录场景下的入会)。 支持会议中返回到悬浮窗状态。 2019-04-13 6.1.27 新增如下接口: 创建会议(携带与会人信息):支持在创建即时会议的时候携带与会者,与会者会收到呼叫入会的来电。 新增如下能力: 来电接听:支持应用在前台收到其他人的来电接听后加入会议。 应用集成,详见基于应用的集成。 2019-03-29 6.1.23 首次发布。 父主题: Android SDK
-
步骤6:查看插件执行结果 流水线执行完成后,进入详情页面。 单击“二进制成分分析”阶段的“下载制品产物”任务,弹出侧滑框。 在侧滑框的“任务日志”页面,单击“详情”,页面跳转到开源治理服务对应构建包的扫描详情页面,即可查看扫描结果。 在侧滑框的“任务结果”页面,单击“二进制软件成分分析”可以直接查看部分扫描结果。 单击准出条件,可查看扫描结果是否满足设置的规则,从而控制流水线执行。 当扫描结果满足条件时,流水线继续执行。 当扫描结果不满足条件,流水线停止执行。
-
发布私有组件到Go私有依赖库 下载私有依赖库配置文件。 登录制品仓库,进入Go私有依赖库。单击页面右侧“操作指导”。 在弹框中单击“下载配置文件”。 配置代码仓库。 进入 代码托管服务 。创建Go语言代码仓库(操作步骤请参考创建云端仓库)。本文中使用仓库模板“Go Web Demo”创建代码仓库。 准备“go.mod”文件,并上传至代码仓库的根目录中。本文中使用的“go.mod”文件如下所示: 配置并执行编译构建任务。 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。 在页面中选择“空白构建模板”,单击“下一步”。 添加步骤“Go语言构建”。 编辑步骤“Go语言构建”。 工具版本按照实际选择,本文中选择“go-1.13.1”。 删除已有命令行,打开在步骤1中下载的配置文件,将文件中的“LINUX下配置go环境变量命令”复制到命令框中。 将配置文件中go上传命令代码段复制到命令框中,并参考Go Modules打包方式简介替换命令行中的参数信息(本文打包版本为“v1.0.0”)。 单击“新建并执行”,启动构建任务执行。 待页面提示“构建成功”时,进入私有依赖库,可找到通过构建任务上传的Go私有组件。
-
Go Modules打包方式简介 本文采用Go Modules打包方式完成Go组件的构建与上传。 打包命令主要包括以下几部分: 在工作目录中创建源文件夹。 mkdir -p {module}@{version} 将代码源拷贝至源文件夹下。 cp -rf . {module}@{version} 压缩组件zip包。 zip -D -r [包名] [包根目录名称] 上传组件zip包与“go.mod”文件到私有依赖库中。 curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/{filePath} -T {{localFile}} 根据打包的版本不同,组件目录结构有以下几种情况: v2.0以下版本:目录结构与“go.mod”文件路径相同,无需附加特殊目录结构。 v2.0以上(包括v2.0)版本: “go.mod”文件中第一行以“/vX”结尾:目录结构需要包含“/vX”。例如,版本为v2.0.1,目录需要增加“v2”。 “go.mod”文件中第一行不以“/vN”结尾:目录结构不变,上传文件名需要增加“+incompatible”。 下面分别对不同的版本举例说明: v2.0以下版本打包。 以下图所示“go.mod”文件为例。 在工作目录中创建源文件夹。 命令行中,参数“module”的值为“example.com/demo”,参数“version”自定义为1.0.0。因此命令如下: mkdir -p ~/example.com/demo@v1.0.0 将代码源拷贝至源文件夹下。 参数值与上一步一致,命令行如下: cp -rf . ~/example.com/demo@v1.0.0/ 压缩组件zip包。 首先,使用以下命令,进入组件zip包所在根目录的上层目录。 cd ~ 然后,使用zip命令将代码压缩成组件包。命令行中,“包根目录名称”为“example.com”“包名”自定义为“v1.0.0.zip”,因此命令如下: zip -D -r v1.0.0.zip example.com/ 上传组件zip包与“go.mod”文件到私有依赖库中。 命令行中,参数“username”、“password”、“repoUrl”均可通过私有依赖库配置文件获取。 对于zip包,参数“filePath”为“example.com/demo/@v/v1.0.0.zip”,“localFile”为“v1.0.0.zip”。 对于“go.mod”文件,参数“filePath”为“example.com/demo/@v/v1.0.0.mod”,“localFile”为“example.com/demo@v1.0.0/go.mod”。 因此命令如下(参数username、password、repoUrl请参照私有依赖库配置文件自行修改): curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/@v/v1.0.0.zip -T v1.0.0.zip curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/@v/v1.0.0.mod -T example.com/demo@v1.0.0/go.mod v2.0以上版本打包,且“go.mod”文件中第一行以“/vX”结尾。 以下图所示“go.mod”文件为例。 在工作目录中创建源文件夹。 命令行中,参数“module”的值为“example.com/demo/v2”,参数“version”自定义为“2.0.0”。因此命令如下: mkdir -p ~/example.com/demo/v2@v2.0.0 将代码源拷贝至源文件夹下。 参数值与上一步一致,命令行如下: cp -rf . ~/example.com/demo/v2@v2.0.0/ 压缩组件zip包。 首先,使用以下命令,进入组件zip包所在根目录的上层目录。 cd ~ 然后,使用zip命令将代码压缩成组件包。命令行中,“包根目录名称”为“example.com”“包名”自定义为“v2.0.0.zip”,因此命令如下: zip -D -r v2.0.0.zip example.com/ 上传组件zip包与“go.mod”文件到私有依赖库中。 命令行中,参数“username”、“password”、“repoUrl”均可通过私有依赖库配置文件获取。 对于zip包,参数“filePath”为“example.com/demo/v2/@v/v2.0.0.zip”,“localFile”为“v2.0.0.zip”。 对于“go.mod”文件,参数“filePath”为“example.com/demo/v2/@v/v2.0.0.mod”,“localFile”为“example.com/demo/v2@v2.0.0/go.mod”。 因此命令如下(参数username、password、repoUrl请参照私有依赖库配置文件自行修改): curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/v2/@v/v2.0.0.zip -T v2.0.0.zip curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/v2/@v/v2.0.0.mod -T example.com/demo/v2@v2.0.0/go.mod v2.0以上版本打包,且“go.mod”文件中第一行不以“/vX”结尾。 以下图所示“go.mod”文件为例。 在工作目录中创建源文件夹。 命令行中,参数“module”的值为“example.com/demo”,参数“version”自定义为“3.0.0”。因此命令如下: mkdir -p ~/example.com/demo@v3.0.0+incompatible 将代码源拷贝至源文件夹下。 参数值与上一步一致,命令行如下: cp -rf . ~/example.com/demo@v3.0.0+incompatible/ 压缩组件zip包。 首先,使用以下命令,进入组件zip包所在根目录的上层目录。 cd ~ 然后,使用zip命令将代码压缩成组件包。命令行中,“包根目录名称”为“example.com”“包名”自定义为“v3.0.0.zip”,因此命令如下: zip -D -r v3.0.0.zip example.com/ 上传组件zip包与“go.mod”文件到私有依赖库中。 命令行中,参数“username”、“password”、“repoUrl”均可通过私有依赖库配置文件获取。 对于zip包,参数“filePath”为“example.com/demo/@v/v3.0.0+incompatible.zip”,“localFile”为“v3.0.0.zip”。 对于“go.mod”文件,参数“filePath”为“example.com/demo/@v/v3.0.0+incompatible.mod”,“localFile”为“example.com/demo@v3.0.0+incompatible/go.mod”。 因此命令如下(参数username、password、repoUrl请参照私有依赖库配置文件自行修改): curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/@v/v3.0.0+incompatible.zip -T v3.0.0.zip curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/@v/v3.0.0+incompatible.mod -T example.com/demo@v3.0.0+incompatible/go.mod
-
前提条件 该功能需要使用编译构建CodeArts Build服务,需要购买CodeArts Build套餐,或者开通/购买软件开发生产线服务组合套餐(如果已经购买了软件开发生产线服务组合套餐,则无需再单独购买CodeArts Build套餐)。 已有可用项目。如果没有项目,请先新建CodeArts项目,例如项目名称为project01。 已创建GO格式私有依赖库。 添加当前账号对当前私有库的权限,请参考配置私有依赖库权限。
-
从NPM私有依赖库获取依赖包 以发布私有组件到NPM私有依赖库中发布的NPM私有组件为例,介绍如何从Npm私有依赖库中获取依赖包。 配置代码仓库。 进入代码托管服务,创建Node.js代码仓库(操作步骤请参考创建云端仓库)。本文使用模板“nodejs Webpack Demo”创建代码仓库。 参考发布私有组件到NPM私有依赖库,获取“.npmrc”文件并上传至需要使用Npm依赖包的代码仓库根目录中。 在代码仓库中找到“package.json”文件并打开,将依赖包配置到dependencies字段中,本文中配置的值为: "@test/vue-demo": "^1.0.0" 配置并执行编译构建任务。 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。 在页面中选择“空白构建模板”,单击“下一步”。 添加步骤“Npm构建”。 编辑步骤“Npm构建”。 工具版本按照实际选择,本文中选择“nodejs12.7.0”。 删除已有命令行,输入以下命令: export PATH=$PATH:/root/.npm-global/bin npm config set strict-ssl false npm install --verbose 单击“新建并执行”,启动构建任务执行。 待任务执行成功时,查看构建任务详情,在日志中找到类似如下内容,说明编译构建任务从私有依赖库完成了依赖包下载并构建成功。
-
NPM命令简介 在编译构建任务命令行中,还可以配置如下NPM命令,以完成其它功能: 删除私有依赖库中已存在的私有组件 npm unpublish @scope/packageName@version 获取标签列表 npm dist-tag list @scope/packageName 新增标签 npm dist-tag add @scope/packageName@version tagName --registry registryUrl --verbose 删除标签 npm dist-tag rm @scope/packageName@version tagName --registry registryUrl --verbose 命令行参数说明: scope:私有依赖库路径,查看方法请参考发布私有组件到NPM私有依赖库。 packageName:“package.json”文件中,name字段中scope之后的部分。 version:“package.json”文件中,version字段对应的值。 registryUrl:私有库配置文件中的对应scope的私有库地址url。 tagName:标签名称。 以发布私有组件到NPM私有依赖库发布的私有组件为例: scope对应的值为“test”。 packageName对应的值为“vue-demo”。 version对应的值为“1.0.0”。 因此,删除此组件的命令应为: npm unpublish @test/vue-demo@1.0.0
-
发布私有组件到NPM私有依赖库 下载私有依赖库配置文件。 登录制品仓库,进入NPM私有依赖库。单击页面右侧“设置仓库”,记录仓库的路径。 单击“取消”返回私有依赖库页面,单击页面右侧“操作指导”。 在弹框中单击“下载配置文件”。 在本地将下载的“npmrc”文件另存为“.npmrc”文件。 配置代码仓库。 进入代码托管服务,创建Node.js代码仓库(操作步骤请参考创建云端仓库)。本文使用模板“nodejs Webpack Demo”创建代码仓库。 进入代码仓库,将“.npmrc”文件上传至代码仓库的根目录中。 在代码仓库中找到“package.json”文件并打开,将在“编辑私有依赖库”页面中记录的路径信息添加到name字段对应的值中。 实际操作中,若出现name字段的值固定且不便修改的情况,则可以在“编辑私有依赖库”页面将该值配置到“添加路径”字段中。 配置并执行编译构建任务。 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。 在页面中选择“空白构建模板”,单击“下一步”。 添加步骤“Npm构建”。 编辑步骤“Npm构建”。 工具版本按照实际选择,本文中选择“nodejs12.7.0”。 删除已有命令行,输入以下命令: export PATH=$PATH:/root/.npm-global/bin npm config set strict-ssl false npm publish 单击“新建并执行”,启动构建任务执行。 待任务执行成功时,进入私有依赖库,可找到通过构建任务上传的NPM私有组件。
-
前提条件 该功能需要使用编译构建CodeArts Build服务,需要购买CodeArts Build套餐,或者开通/购买软件开发生产线服务组合套餐(如果已经购买了软件开发生产线服务组合套餐,则无需再单独购买CodeArts Build套餐)。 已有可用项目。如果没有项目,请先新建CodeArts项目,例如项目名称为project01。 已创建NPM格式私有依赖库。 已添加当前账号对当前私有库的权限,请参考配置私有依赖库权限。
-
在Maven私有依赖库的版本视图中查看归档的组件 进入目标私有依赖库,找到通过构建任务上传的Maven私有组件。 参考上述步骤,在代码仓库中设置组件版本,可将多个版本组件归档至私有依赖库。 单击“版本视图”。 在包列表中,可以查看从编译构建中获取软件包的版本数和最新版本。 单击“包名”,页面将显示该软件包最新版本的概览信息。 选择“文件列表”页签,在列表中可以单击目标组件操作列中的,可将组件下载到本地。 用户在本地对组件修改并设置新的版本号后,在目标私有依赖库中,单击“上传组件”,可将最新版本的组件上传至私有依赖库。 版本视图中的包列表显示对应组件最新上传的版本并统计版本归档过的数量。
-
通过编译构建发布Maven私有组件到私有依赖库 在代码仓库完成设置组件版本后,单击页面右上角“设置构建”,页面跳转至“新建构建任务”页面。 在页面中选择“空白模板”,单击“确定”。 单击“点击添加构建步骤”。搜索并添加步骤“Maven构建”。 编辑步骤“Maven构建”。 工具版本按照实际选择,本文中选择“maven3.5.3-jdk8-open”。 找到以下命令行,删除命令行前的#。 #mvn deploy -Dmaven.test.skip=true -U -e -X -B 找到以下命令行,在命令行前添加#。 mvn package -Dmaven.test.skip=true -U -e -X -B 在“发布依赖包到CodeArts私有依赖库”一栏勾选“配置所有pom”,并在下拉列表中选择与项目已关联的Maven私有依赖库maven01。 单击页面右上角“保存并执行”,执行构建任务。
-
背景信息 相对于开发过程中的“源代码”,制品仓库服务关注和管理开发产生的待部署的软件包。软件包通常是由源码编译构建或打包而成,其中涉及生命周期的元数据(如名称、大小等基本属性、代码库地址、代码分支信息、构建任务、构建者、构建时间)。在开发过程中,软件包会根据不同版本不断生成改进。 软件包及其属性的管理是发布过程管理的基础,也是软件开发过程中的重要资产,而能够及时查看软件包的版本记录也成为开发者面临的诉求。
-
前提条件 该功能需要使用编译构建CodeArts Build服务,需要购买CodeArts Build套餐,或者开通/购买软件开发生产线服务组合套餐(如果已经购买了软件开发生产线服务组合套餐,则无需再单独购买CodeArts Build套餐)。 已有可用项目。如果没有项目,请先新建CodeArts项目,例如项目名称为project01。 已添加当前账号对当前私有库的权限,请参考配置私有依赖库权限。
-
CodeArts Artifact最佳实践汇总 本文汇总了基于制品仓库(CodeArts Artifact)常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导,帮助用户深入了解CodeArts Artifact的各个功能。 表1 CodeArts Artifact最佳实践一览表 最佳实践 说明 通过编译构建任务发布Maven组件并按照版本归档至私有依赖库 相对于开发过程中的“源代码”,制品仓库服务关注和管理开发产生的待部署的软件包。软件包通常是由源码编译构建或打包而成,其中涉及生命周期的元数据(如名称、大小等基本属性、代码库地址、代码分支信息、构建任务、构建者、构建时间)。在开发过程中,软件包会根据不同版本不断生成改进。 软件包及其属性的管理是发布过程管理的基础,也是软件开发过程中的重要资产,而能够及时查看软件包的版本记录也成为开发者面临的诉求。本实践介绍如何通过编译构建任务发布Maven组件并按照版本归档至私有依赖库。 通过编译构建任务发布/获取NPM私有组件 私有依赖库管理各种开发语言对应的私有组件包(开发者通俗称之为私服)。由于不同的开发语言组件通常有不同的归档格式要求,私有依赖库目的就在于管理私有开发语言组件并在企业或团队内共享给其他开发者开发使用。 本实践介绍如何通过编译构建任务发布私有组件到NPM私有依赖库、如何从NPM私有依赖库获取依赖包完成编译构建任务。 通过编译构建任务发布/获取Go私有组件 本实践介绍如何通过编译构建任务发布私有组件到Go私有依赖库、如何从Go私有依赖库获取依赖包完成编译构建任务。 通过编译构建任务发布/获取PyPI私有组件 本实践介绍如何通过编译构建任务发布私有组件到PyPI私有依赖库、如何从PyPI私有依赖库获取依赖包完成编译构建任务。 通过Linux命令行上传/获取RPM私有组件 本实践介绍如何通过Linux命令行上传私有组件到RPM私有依赖库、如何从RPM私有依赖库获取依赖包。 通过Linux命令行上传/获取Debian私有组件 本实践介绍如何通过Linux命令行上传私有组件到Debian私有依赖库、如何从Debian私有依赖库获取依赖包。 迁移Nexus上的Maven/NPM/PyPI仓库至私有依赖库 制品仓库服务的私有依赖库支持通过页面手动上传下载私有组件,还支持与本地开发环境对接,通过本地开发环境上传下载私有组件。如果待上传的包太多,单个上传会很繁琐。通过私有依赖库提供的批量迁移工具可以提高上传效率,在易用性上能够更加便捷地从Nexus或其他类型仓库批量上传组件至私有依赖库。 迁移JFrog仓库至私有依赖库 JFrog仓库是一个用于存储和管理软件包的中央存储库,提供了一种集中式的方式来管理软件包,支持各种软件包管理工具,如Maven、Gradle、NPM、NuGet等。CodeArts Artifact的私有依赖库提供了批量迁移工具,支持将JFrog仓库迁移至私有依赖库。本实践介绍如何批量迁移JFrog仓库至私有依赖库。 迁移本地仓库数据至CodeArts Artifact私有依赖库 CodeArts Artifact提供了批量迁移工具,方便用户将本地磁盘中的Maven仓库数据、NPM仓库数据批量快速迁移至CodeArts Artifact私有依赖库中的Maven私有依赖库、NPM私有依赖库,从而在CodeArts Artifact进行更为统一高效的操作和运维。
-
发布私有组件到PyPI私有依赖库 下载私有依赖库配置文件。 登录制品仓库,进入PyPI私有依赖库。单击页面右侧“操作指导”。 在弹框中找到“发布配置”,单击“下载配置文件”。 在本地将下载的“pypirc”文件另存为“.pypirc”文件。 配置代码仓库。 进入代码托管服务,创建Python代码仓库(操作步骤请参考新建仓库)。本文使用模板“Python3 Demo”创建代码仓库。 进入代码仓库,将“.pypirc”文件上传至代码仓库的根目录中。 配置并执行编译构建任务。 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。 在页面中选择“空白构建模板”,单击“下一步”。 添加步骤“SetupTool构建”。 编辑步骤“SetupTool构建”。 工具版本按照实际选择,本文中选择“python3.6”。 删除已有命令行,输入以下命令: # 请保证代码根目录下有setup.py文件,下面命令将把工程打为whl包 python setup.py bdist_wheel # 设置当前项目根目录下的.pypirc文件为配置文件 cp -rf .pypirc ~/ # 上传组件至pypi私有库 twine upload -r pypi dist/* 如果上传时报证书问题,请在上述命令首行添加以下命令,设置环境变量跳过证书校验: export CURL_CA_BUNDLE="" 单击“新建并执行”,启动构建任务执行。 待任务执行成功时,进入私有依赖库,可找到通过构建任务上传的PyPI私有组件。
-
从PyPI私有依赖库获取依赖包 以发布私有组件到PyPI私有依赖库中发布的PyPI私有组件为例,介绍如何从PyPI私有依赖库中获取依赖包。 下载私有依赖库配置文件。 进入PyPI私有依赖库,单击页面右侧“操作指导”。 在弹框中找到“下载配置”,单击“下载配置文件”。 在本地将下载的“pip.ini”文件另存为“pip.conf”文件。 配置代码仓库。 进入代码托管服务,创建Python代码仓库(操作步骤请参考新建仓库)。本文使用模板“Python3 Demo”创建代码仓库。 进入代码仓库,将“pip.conf”文件上传至需要使用PyPI依赖包的代码仓库根目录中。 在代码仓库中找到“requirements.txt”文件并打开(若没有请新建文件),将依赖包配置添加到此文件中,本文中配置的值为: demo ==1.0 配置并执行编译构建任务。 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。 在页面中选择“空白构建模板”,单击“下一步”。 添加步骤“Setup Tool构建”。 编辑步骤“SetupTool构建”。 工具版本按照实际选择,本文中选择“python3.6”。 删除已有命令行,输入以下命令: # 可以通过此命令设置当前项目根目录下的pip.conf文件为配置文件 export PIP_CONFIG_FILE=./pip.conf # 下载pypi组件 pip install -r requirements.txt --no-cache-dir 单击“新建并执行”,启动构建任务执行。 待任务执行成功时,查看构建任务详情,在日志中找到类似如下内容,说明编译构建任务从私有依赖库完成了依赖包下载并构建成功。
-
前提条件 该功能需要使用编译构建CodeArts Build服务,需要购买CodeArts Build套餐,或者开通/购买软件开发生产线服务组合套餐(如果已经购买了软件开发生产线服务组合套餐,则无需再单独购买CodeArts Build套餐)。 已有可用项目。如果没有项目,请先新建CodeArts项目,例如项目名称为project01。 已创建PyPI格式私有依赖库。 已添加当前账号对当前私有库的权限,请参考配置私有依赖库权限。
共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