华为云用户手册
-
请求示例 提交验收任务的样本评审意见。设置是否通过为“true”,评审分数为“A”。 { "comments" : [ { "worker_id" : "8c15ad080d3eabad14037b4eb00d6a6f", "sample_id" : "09ac49d5b06385849c8769fdcf0f6d60", "accept" : true, "comment" : "", "score" : "A" } ] }
-
URI POST /v2/{project_id}/datasets/{dataset_id}/workforce-tasks/{workforce_task_id}/acceptance/batch-comment 表1 路径参数 参数 是否必选 参数类型 描述 dataset_id 是 String 数据集ID。 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 workforce_task_id 是 String 标注任务ID。
-
响应示例 状态码:200 OK { "metadata" : { "id" : "6ccc15e6-8a81-4d8e-8bee-53401d850639", "name" : "test", "description" : "demo", "create_time" : 1731552542622, "workspace_id" : "0", "update_time" : 1731552542000 }, "statistic" : { "job_count" : 0 } }
-
请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 metadata 是 TrainingExperimentRequestMetadata object 训练实验创建参数 表3 TrainingExperimentRequestMetadata 参数 是否必选 参数类型 描述 name 是 String 实验名称,最大长度64,不支持特殊字符。 description 否 String 描述信息,最大长度256,不支持特殊字符。 workspace_id 否 String 工作空间ID,默认为0。
-
响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 metadata TrainingExperimentResponseMetadata object 训练实验数据。 statistic TrainingExperimentStatistic object 训练实验的统计数据。 表5 TrainingExperimentResponseMetadata 参数 参数类型 描述 name String 实验名称,最大长度64,不支持特殊字符。 description String 描述信息,最大长度256,不支持特殊字符。 workspace_id String 工作空间ID,默认为0。 create_time Integer 创建时间。 update_time Integer 更新时间。 id String 实验ID。 表6 TrainingExperimentStatistic 参数 参数类型 描述 job_count Integer 当前实验下的训练作业总个数。
-
问题现象 使用ChatGLM3-6B或GLM-4-9B模型创建全参微调的调优任务后,权重校验失败。 版本详情的报错信息如下: Modelarts.6206:Key fields describing the model structure are missing from config.json, or their values are inconsistent with standard open source
-
步骤二:创建OBS桶 登录OBS管理控制台,在桶列表页面右上角单击“创建桶”,创建OBS桶。例如,创建名称为“dataset-exeml”的OBS桶。 创建桶的区域需要与ModelArts所在的区域一致。例如:当前ModelArts在华北-北京四区域,在 对象存储服务 创建桶时,请选择华北-北京四。请参考查看OBS桶与ModelArts是否在同一区域检查您的OBS桶区域与ModelArts区域是否一致。 请勿开启桶加密,ModelArts不支持加密的OBS桶,会导致ModelArts读取OBS中的数据失败。 在桶列表页面,单击桶名称,进入该桶的概览页面。 单击左侧导航的“对象”,在对象页面单击“新建文件夹”,创建OBS文件夹。具体请参见新建文件夹章节。
-
步骤五:运行工作流 项目完成创建之后,会自动跳转到新版自动学习的运行总览页面。同时您的工作流会自动从数据标注节点开始运行。您需要做的是: 观察数据标注节点,待数据标注节点变为橙色即为“等待操作”状态。双击数据标注节点,打开数据标注节点的运行详情页面,单击“继续运行”。 在弹出的窗口中,单击“确定”,工作流会开始继续运行。当工作流运行到“服务部署”节点,状态会变为“等待输入”,您需要填写以下两个输入参数,其他参数保持默认。 计算节点规格:根据您的实际需求选择相应的规格,不同规格的配置费用不同,选择好规格后,配置费用处会显示相应的费用。 是否自动停止:为了避免资源浪费,建议您打开该开关,根据您的需求,选择自动停止时间,也可以自定义自动停止的时间。 图2 选择计算节点规格 图3 设置自动停止 参数填写完毕之后,单击运行状况右边的“继续运行”,单击确认弹窗中的“确定”即可继续完成工作流的运行。
-
步骤三:准备训练数据集 单击8类常见生活垃圾图片数据集,进入AI Gallery数据集详情页,单击右侧“下载”。 选择对应的云服务区域例如:华北-北京四,需要确保您选择的区域与您的管理控制台所在的区域一致。 进入“下载详情”页面,填写以下参数。 下载方式:ModelArts数据集。 目标区域:华北-北京四。 数据类型:系统会根据您的数据集,匹配到相应的数据类型。例如本案例使用的数据集,系统匹配为“图片”类型。 数据集输入位置:用来存放源数据集信息,例如本案例中从Gallery下载的数据集。单击图标选择您的OBS桶下的任意一处目录,但不能与输出位置为同一目录。 数据集输出位置:用来存放输出的数据标注的相关信息,或版本发布生成的Manifest文件等。单击图标选择OBS桶下的空目录,且此目录不能与输入位置一致,也不能为输入位置的子目录。 图1 下载详情 完成参数填写,单击“确定”,自动跳转至AI Gallery个人中心“我的下载”页签,单击按钮,查看下载进度,等待5分钟左右下载完成,单击展开下载详情,可以查看该数据集的“目标位置”。
-
ModelArts入门指引 本文旨在帮助您了解ModelArts的基本使用流程以及相关的常见问题,帮助您快速上手ModelArts服务。 面向不同AI基础的开发者,本文档提供了相应的入门教程,帮助用户更快速地了解ModelArts的功能,您可以根据经验选择相应的教程。 面向AI开发零基础的用户,您可以使用ModelArts在AI Gallery中预置的模型、算法、数据、Notebook等资产,零代码完成AI建模和应用。 如果您想了解如何使用ModelArts Standard一键部署现有的模型,并在线使用模型进行预测,您可以参考使用ModelArts Standard一键完成商超商品识别模型部署。 ModelArts Standard同时提供了自动学习功能,帮助用户零代码构建AI模型,详细介绍请参见使用ModelArts Standard自动学习实现垃圾分类。 面向AI工程师,熟悉代码编写和调测,您可以使用ModelArts Standard提供的在线代码开发环境,编写训练代码进行AI模型的开发。 如果您想了解如何在ModelArts Standard提供的Notebook开发环境中,完成AI开发全流程,您可以参考基于Codelab使用Standard Notebook实例进行AI开发。 如果您有自己的算法,想改造适配后迁移到ModelArts Standard平台上进行训练和推理,您可以参考使用自定义算法构建模型(手写数字识别)。 更多入门实践,请参考《ModelArts入门实践》章节。如果您有其他疑问,您也可以通过华为云社区问答频道来与我们联系探讨。
-
Step1 准备训练数据 本案例使用的数据是MNIST数据集,您可以在浏览器中搜索“MNIST数据集”下载如图3所示的4个文件。 图3 MNIST数据集 “train-images-idx3-ubyte.gz”:训练集的压缩包文件,共包含60000个样本。 “train-labels-idx1-ubyte.gz”:训练集标签的压缩包文件,共包含60000个样本的类别标签。 “t10k-images-idx3-ubyte.gz”:验证集的压缩包文件,共包含10000个样本。 “t10k-labels-idx1-ubyte.gz”:验证集标签的压缩包文件,共包含10000个样本的类别标签。
-
Step3 创建OBS桶并上传文件 将上一步中的数据和代码文件、推理代码文件与推理配置文件,从本地上传到OBS桶中。在ModelArts上运行训练作业时,需要从OBS桶中读取数据和代码文件。 登录OBS管理控制台,按照如下示例创建OBS桶和文件夹。 {OBS桶} # OBS对象桶,用户可以自定义名称,例如:test-modelarts-xx -{OBS文件夹} # OBS文件夹,自定义名称,此处举例为pytorch - mnist-data # OBS文件夹,用于存放训练数据集,可以自定义名称,此处举例为mnist-data - mnist-code # OBS文件夹,用于存放训练脚本train.py,可以自定义名称,此处举例为mnist-code - infer # OBS文件夹,用于存放推理脚本customize_service.py和配置文件config.json - mnist-output # OBS文件夹,用于存放训练输出模型,可以自定义名称,此处举例为mnist-output 创建的OBS桶所在区域和后续使用ModelArts必须在同一个区域Region,否则会导致训练时找不到OBS桶。具体操作可参见查看OBS桶与ModelArts是否在同一区域。 创建OBS桶时,桶的存储类别请勿选择“归档存储”,归档存储的OBS桶会导致模型训练失败。 上传Step1 准备训练数据中下载的MNIST数据集压缩包文件到OBS的“mnist-data”文件夹中。 上传数据到OBS中时,请不要加密,否则会导致训练失败。 文件无需解压,直接上传压缩包至OBS中即可。 上传训练脚本“train.py”到“mnist-code”文件夹中。 上传推理脚本“customize_service.py”和推理配置文件“config.json”到“mnist-code”的“infer”文件中。
-
Step6 预测结果 在“在线服务”页面,单击在线服务名称,进入服务详情页面。 单击“预测”页签,请求类型选择“multipart/form-data”,请求参数填写“image”,单击“上传”按钮上传示例图片,然后单击“预测”。 预测完成后,预测结果显示区域将展示预测结果,根据预测结果内容,可识别出此图片的数字是“2”。 本案例中使用的MNIST是比较简单的用做demo的数据集,配套算法也是比较简单的用于教学的神经网络算法。这样的数据和算法生成的模型仅适用于教学模式,并不能应对复杂的预测场景。即生成的模型对预测图片有一定范围和要求,预测图片必须和训练集中的图片相似(黑底白字)才可能预测准确。 图8 示例图片 图9 预测结果展示
-
准备工作 已 注册华为账号 并开通华为云,且在使用ModelArts前检查账号状态,账号不能处于欠费或冻结状态。 配置委托访问授权 ModelArts使用过程中涉及到OBS、SWR、IEF等服务交互,首次使用ModelArts需要用户配置委托授权,允许访问这些依赖服务。 使用华为云账号登录ModelArts管理控制台,在左侧导航栏单击“权限管理”,进入“权限管理”页面,单击“添加授权”。 在弹出的“添加授权”窗口中,选择: 授权对象类型:所有用户 委托选择:新增委托 权限配置:普通用户 选择完成后勾选“我已经详细阅读并同意《ModelArts服务声明》”,然后单击“创建”。 图1 配置委托访问授权 完成配置后,在ModelArts控制台的权限管理列表,可查看到此账号的委托配置信息。 图2 查看委托配置信息
-
操作流程 开始使用如下样例前,请务必按准备工作指导完成必要操作。 Step1 准备训练数据:下载MNIST数据集。 Step2 准备训练文件和推理文件:编写训练与推理代码。 Step3 创建OBS桶并上传文件:创建OBS桶和文件夹,并将数据集和训练脚本,推理脚本,推理配置文件上传到OBS中。 Step4 创建训练作业:进行模型训练。 Step5 推理部署:训练结束后,将生成的模型导入ModelArts用于创建模型,并将模型部署为在线服务。 Step6 预测结果:上传一张手写数字图片,发起预测请求获取预测结果。 Step7 清除资源:运行完成后,停止服务并删除OBS中的数据,避免不必要的扣费。
-
方式二:开通服务体验预置服务 您可以开通服务,体验和调用将优先消耗免费Token额度,免费额度用完后按实际用量计费。 登录ModelArts Studio控制台,在顶部导航栏选择目标区域。 在左侧导航栏,选择“模型推理”。 在“模型推理”页面的“预置服务”页签,单击“预约登记”。开放后您可以领取免费额度及获取付费 API服务 。 在“预置服务”页签,选择所需的服务,在操作列单击“开通服务”。 在“开通付费服务”页面,勾选目标服务,仔细阅读开通须知并勾选“我已阅读并同意上述说明,及《ModelArts Studio大模型即服务平台免责声明》”,然后单击“立即开通”。 如果未领取免费额度,开通付费服务时将默认领取,体验和调用将优先消耗免费额度,免费额度用完后开始按实际用量计费。 暂不支持关闭付费服务,未使用服务时不会产生费用。 在“模型推理”页面的“预置服务”页签,任选以下方式免费使用预置服务。 方式一:在“模型体验”页面进行推理。 在目标服务右侧,单击操作列的“在线体验”,跳转到“模型体验”页面,在右上角单击“参数设置”,按需配置相关参数,即可开始问答体验。操作指导请参见在MaaS体验模型服务。 表2 参数设置 参数 说明 温度/Temperature 设置推理温度。 数值较高,输出结果更加随机。 数值较低,输出结果更加集中和确定。 取值范围:0~2 默认值:1 核采样/top_p 设置推理核采样。调整输出文本的多样性,数值越大,生成文本的多样性就越高。 取值范围:0.1~1 默认值:1 top_k 选择在模型的输出结果中选择概率最高的前K个结果。 取值范围:1~1000 默认值:20 当操作列的“在线体验”置灰,可能的原因如下: 未领取免费额度且未开通服务。 未开通服务,Tokens的免费调用额度已使用完毕。 方式二:在业务环境中调用模型服务的API进行推理。 在目标服务右侧,单击操作列的“调用说明”,在“调用说明”页面中获取API地址和调用示例,在业务环境中调用API进行体验。操作指导请参见调用MaaS部署的模型服务。 预置服务默认启用 内容审核 ,且“调用说明”页面不显示该参数。 当调用模型服务的API,返回状态码“429 Too Many Requests”时,表示请求超过流控,请稍后重新调用。 (可选)如果您需要使用自定义模型部署模型服务,可以在“我的服务”页签,付费部署模型服务。具体操作,请参见使用MaaS部署模型服务。
-
常见问题 创建专属资源池时,能选到规格但最终创建时发生报错,提示无可用资源? 由于专属资源的可选规格是动态监测的,因此在极少数情况下会出现,规格在购买界面可以被选择,但由于没有及时支付和创建资源池,导致该规格售罄创建失败。 建议您在创建界面更换规格重新创建资源池。 为什么无法使用资源池节点上的全部CPU资源? 由于资源池节点上会安装系统、插件等内容,因此不能完全使用所有资源。例如:资源池节点是8U,节点分配给系统组件部分CPU,可用的资源会小于8U。 建议您在启动任务前,在该资源池的详情页中,单击“节点”页签,查看实际可用的CPU资源。
-
常见案例:复制数据卡死 问题现象 调用mox.file.copy_parallel复制数据时卡死。 解决方案 复制文件和文件夹均可采用: import moxing as mox mox.file.set_auth(is_secure=False) 复制单个大文件5G以上时可采用: from moxing.framework.file import file_io 查看当前moxing调用的接口版本:file_io._LARGE_FILE_METHOD,如果输出值为1则为V1版本,如果输出值为2,则为V2版本。 V1版本修改:file_io._NUMBER_OF_PRO CES SES=1 V2版本修改:file_io._LARGE_FILE_METHOD = 1,将模式设置成V1然后用V1的方式修改规避,也可以直接file_io._LARGE_FILE_TASK_NUM=1。 复制文件夹时可采用: mox.file.copy_parallel(threads=0,is_processing=False)
-
常见案例:训练中途卡死 问题现象1 检测每个节点日志是否有报错信息,某个节点报错但作业未退出导致整个训练作业卡死。 解决方案1 查看报错原因,解决报错。 问题现象2 作业卡在sync-batch-norm中或者训练速度变慢。pytorch如果开了sync-batch-norm,多机会慢,因开了sync-batch-norm以后,每一个iter里面每个batch-norm层都要做同步,通信量很大,而且要所有节点同步。 解决方案2 关掉sync-batch-norm,或者升pytorch版本,升级pytorch到1.10。 问题现象3 作业卡在tensorboard中,出现报错: writer = Sumarywriter('./path)/to/log') 解决方案3 存储路径设为本地路径,如cache/tensorboard,不要使用OBS路径。 问题现象4 使用pytorch中的dataloader读数据时,作业卡在读数据过程中,日志停在训练的过程中并不再更新日志。 解决方案4 用dataloader读数据时,适当减小num_worker。
-
常见案例:训练最后一个epoch卡死 问题现象 通过日志查看数据切分是否对齐,如果未对齐,容易导致部分进程完成训练退出,而部分训练进程因未收到其他进程反馈卡死,如下图同一时间有的进程在epoch48,而有的进程在epoch49。 loss exit lane:0.12314446270465851 step loss is 0.29470521211624146 [2022-04-26 13:57:20,757][INFO][train_epoch]:Rank:2 Epoch:[48][20384/all] Data Time 0.000(0.000) Net Time 0.705(0.890) Loss 0.3403(0.3792)LR 0.00021887 [2022-04-26 13:57:20,757][INFO][train_epoch]:Rank:1 Epoch:[48][20384/all] Data Time 0.000(0.000) Net Time 0.705(0.891) Loss 0.3028(0.3466) LR 0.00021887 [2022-04-26 13:57:20,757][INFO][train_epoch]:Rank:4 Epoch:[49][20384/all] Data Time 0.000(0.147) Net Time 0.705(0.709) Loss 0.3364(0.3414)LR 0.00021887 [2022-04-26 13:57:20,758][INFO][train_epoch]:Rank:3 Epoch:[49][20384/all] Data Time 0.000 (0.115) Net Time 0.706(0.814) Loss 0.3345(0.3418) LR 0.00021887 [2022-04-26 13:57:20,758][INFO][train_epoch]:Rank:0 Epoch:[49][20384/all] Data Time 0.000(0.006) Net Time 0.704(0.885) Loss 0.2947(0.3566) LR 0.00021887 [2022-04-26 13:57:20,758][INFO][train_epoch]:Rank:7 Epoch:[49][20384/all] Data Time 0.001 (0.000) Net Time 0.706 (0.891) Loss 0.3782(0.3614) LR 0.00021887 [2022-04-26 13:57:20,759][INFO][train_epoch]:Rank:5 Epoch:[48][20384/all] Data Time 0.000(0.000) Net Time 0.706(0.891) Loss 0.5471(0.3642) LR 0.00021887 [2022-04-26 13:57:20,763][INFO][train_epoch]:Rank:6 Epoch:[49][20384/all] Data Time 0.000(0.000) Net Time 0.704(0.891) Loss 0.2643(0.3390)LR 0.00021887 stage 1 loss 0.4600560665130615 mul_cls_loss loss:0.01245919056236744 mul_offset_loss 0.44759687781333923 origin stage2_loss 0.048592399805784225 stage 1 loss:0.4600560665130615 stage 2 loss:0.048592399805784225 loss exit lane:0.10233864188194275 解决方案 使用tensor的切分操作对齐数据。
-
(可选)启用ranktable动态路由 如果训练作业需要使用ranktable动态路由算法进行网络加速,则可以联系技术支持开启集群的cabinet调度权限。同时,训练作业要满足如下要求才能正常实现ranktable动态路由加速。 训练使用的Python版本是3.7、3.8或3.9。 训练作业的实例数要大于或等于3。 路由加速的原理是改变rank编号,所以代码中对rank的使用要统一。 需要确保训练作业的实例规格是节点满卡,如节点8卡场景,每个节点都必须是8卡,不能出现2卡或4卡场景。 将训练作业完成如下修改后,启动训练作业即可实现网络加速。 将训练启动脚本中的“NODE_RANK="$VC_TASK_INDEX"”修改为“NODE_RANK="${RANK_AFTER_ACC:-$VC_TASK_INDEX}"”。 将训练启动脚本中的“MASTER_ADDR="${VC_WORKER_HOSTS%%,*}"”修改为“MASTER_ADDR="${MA_VJ_NAME}-${MA_TASK_NAME}-${MA_MASTER_INDEX:-0}.${MA_VJ_NAME}"”。 在创建训练作业页面配置环境变量“ROUTE_PLAN”,取值为“true”,具体操作请参见管理训练容器环境变量。
-
安装VS Code软件 VS Code下载方式: 下载地址: https://code.visualstudio.com/updates/v1_85 图1 VS Code的下载位置 VS Code版本要求: 建议用户使用VS Code 1.85.2版本进行远程连接。 VS Code安装指导如下: 图2 Windows系统下VS Code安装指导 Linux系统下,执行命令sudo dpkg -i code_1.85.2-1705561292_amd64.deb安装。 Linux系统用户,需要在非root用户进行VS Code安装。 父主题: 通过VS Code远程使用Notebook实例
-
开启无条件自动重启 开启无条件自动重启有2种方式:控制台设置或API接口设置。 控制台设置 在创建训练作业页面,开启“自动重启”开关,并勾选“无条件自动重启”,开启无条件自动重启。开启无条件自动重启后,只要系统检测到训练异常,就无条件重启训练作业。如果未勾选“无条件自动重启”只是打开了“自动重启”开关,则表示仅环境问题导致训练作业异常时才会自动重启,其他问题导致训练作业异常时会直接返回“运行失败”。 图1 开启无条件重启 API接口设置 通过API接口创建训练作业时,在“metadata”字段的“annotations”中传入“fault-tolerance/job-retry-num”和“fault-tolerance/job-unconditional-retry”字段。“fault-tolerance/job-retry-num”赋值为1~128之间的任意整数,表示开启自动重启并设置自动重启次数,“fault-tolerance/job-unconditional-retry”赋值为“true”表示启用了无条件自动重启。 { "kind": "job", "metadata": { "annotations": { "fault-tolerance/job-retry-num": "8", "fault-tolerance/job-unconditional-retry": "true" } } }
-
从DWS导入数据到ModelArts数据集 ModelArts支持从DWS导入表格数据,用户需要选择对应的DWS集群,并输入需要对应的数据库名、表名以及用户名和密码。所导入表的schema(列名和类型)需要跟数据集相同。DWS的详细功能说明,请参考DWS用户指南。 图1 从DWS导入数据 集群名称:系统自动将当前账号下的DWS集群展现在列表中,您可以在下拉框中选择您所需的DWS集群。 数据库名称:根据选择的DWS集群,填写数据所在的数据库名称。 表名称:根据选择的数据库,填写数据所在的表。 用户名:输入DWS集群管理员用户的用户名。 密码:输入DWS集群管理员用户的密码。 从DWS导入数据,需要借助 DLI 的功能,如果用户没有访问DLI服务的权限,需根据页面提示创建DLI的委托。 父主题: 导入数据到ModelArts数据集
-
从DLI导入数据到ModelArts数据集 表格数据集支持从DLI导入数据。 从DLI导入数据,用户需要选择DLI队列、数据库和表名称。所选择的表的schema(列名和类型)需与数据集一致,支持自动获取所选择表的schema。DLI的详细功能说明,请参考DLI用户指南。 图1 DLI导入数据 队列名称:系统自动将当前账号下的DLI队列展现在列表中,用户可以在下拉框中选择需要的队列。 数据库名称:根据选择的队列展现所有的数据库,请在下拉框中选择您所需的数据库。 表名称:根据选择的数据库展现此数据库中的所有表。请在下拉框中选择您所需的表。 DLI的default队列只用作体验,不同账号间可能会出现抢占的情况,需进行资源排队,不能保证每次都可以得到资源执行相关操作。 DLI支持schema映射的功能,即导入的表的schema的字段名称可以不和数据集相同,但类型要保持一致。 父主题: 导入数据到ModelArts数据集
-
集群类别与类型说明 集群类别(category) 集群类型(type) provider供应商 华为云集群(self) CCE Standard集群(cce) huaweicloud CCE Turbo 集群(turbo) huaweicloud 本地集群(onpremise) 本地集群(baremetal) huaweicloud 多云集群(multicloud) 多云集群(aws) huaweicloud 附着集群(attachedcluster) 阿里云集群(ack) aliyun 微软云集群(aks) azure 亚马逊云集群(eks) aws 谷歌云集群(gke) googlecloud 腾讯云集群(tke) tencentcloud OpenShift集群(openshift) openshift 自建集群(privatek8s) privatek8s 父主题: 附录
-
城市码 110000:北京市 120000:天津市 130000:河北省 130100:石家庄市 130200:唐山市 130300:秦皇岛市 130400:邯郸市 130500:邢台市 130600:保定市 130700:张家口市 130800:承德市 130900:沧州市 131000:廊坊市 131100:衡水市 140000:山西省 140100:太原市 140200:大同市 140300:阳泉市 140400:长治市 140500:晋城市 140600:朔州市 140700:晋中市 140800:运城市 140900:忻州市 141000:临汾市 141100:吕梁市 150000:内蒙古自治区 150100:呼和浩特市 150200:包头市 150300:乌海市 150400:赤峰市 150500:通辽市 150600:鄂尔多斯市 150700:呼伦贝尔市 150800:巴彦淖尔市 150900:乌兰察布市 152200:兴安盟 152500:锡林郭勒盟 152900:阿拉善盟 210000:辽宁省 210100:沈阳市 210200:大连市 210300:鞍山市 210400:抚顺市 210500:本溪市 210600:丹东市 210700:锦州市 210800:营口市 210900:阜新市 211000:辽阳市 211100:盘锦市 211200:铁岭市 211300:朝阳市 211400:葫芦岛市 220000:吉林省 220100:长春市 220200:吉林市 220300:四平市 220400:辽源市 220500:通化市 220600:白山市 220700:松原市 220800:白城市 222400:延边朝鲜族自治州 230000:黑龙江省 230100:哈尔滨市 230200:齐齐哈尔市 230300:鸡西市 230400:鹤岗市 230500:双鸭山市 230600:大庆市 230700:伊春市 230800:佳木斯市 230900:七台河市 231000:牡丹江市 231100:黑河市 231200:绥化市 232700:大兴安岭地区 310000:上海市 320000:江苏省 320100:南京市 320200:无锡市 320300:徐州市 320400:常州市 320500:苏州市 320600:南通市 320700:连云港市 320800:淮安市 320900:盐城市 321000:扬州市 321100:镇江市 321200:泰州市 321300:宿迁市 330000:浙江省 330100:杭州市 330200:宁波市 330300:温州市 330400:嘉兴市 330500:湖州市 330600:绍兴市 330700:金华市 330800:衢州市 330900:舟山市 331000:台州市 331100:丽水市 340000:安徽省 340100:合肥市 340200:芜湖市 340300:蚌埠市 340400:淮南市 340500:马鞍山市 340600:淮北市 340700:铜陵市 340800:安庆市 341000:黄山市 341100:滁州市 341200:阜阳市 341300:宿州市 341500:六安市 341600:亳州市 341700:池州市 341800:宣城市 350000:福建省 350100:福州市 350200:厦门市 350300:莆田市 350400:三明市 350500:泉州市 350600:漳州市 350700:南平市 350800:龙岩市 350900:宁德市 360000:江西省 360100:南昌市 360200:景德镇市 360300:萍乡市 360400:九江市 360500:新余市 360600:鹰潭市 360700:赣州市 360800:吉安市 360900:宜春市 361000:抚州市 361100:上饶市 370000:山东省 370100:济南市 370200:青岛市 370300:淄博市 370400:枣庄市 370500:东营市 370600:烟台市 370700:潍坊市 370800:济宁市 370900:泰安市 371000:威海市 371100:日照市 371300:临沂市 371400:德州市 371500:聊城市 371600:滨州市 371700:菏泽市 410000:河南省 410100:郑州市 410200:开封市 410300:洛阳市 410400:平顶山市 410500:安阳市 410600:鹤壁市 410700:新乡市 410800:焦作市 410900:濮阳市 411000:许昌市 411100:漯河市 411200:三门峡市 411300:南阳市 411400:商丘市 411500:信阳市 411600:周口市 411700:驻马店市 419001:济源市 420000:湖北省 420100:武汉市 420200:黄石市 420300:十堰市 420500:宜昌市 420600:襄阳市 420700:鄂州市 420800:荆门市 420900:孝感市 421000:荆州市 421100:黄冈市 421200:咸宁市 421300:随州市 422800:恩施土家族苗族自治州 429004:仙桃市 429005:潜江市 429006:天门市 429021:神农架林区 430000:湖南省 430100:长沙市 430200:株洲市 430300:湘潭市 430400:衡阳市 430500:邵阳市 430600:岳阳市 430700:常德市 430800:张家界市 430900:益阳市 431000:郴州市 431100:永州市 431200:怀化市 431300:娄底市 433100:湘西土家族苗族自治州 440000:广东省 440100:广州市 440200:韶关市 440300:深圳市 440400:珠海市 440500:汕头市 440600:佛山市 440700:江门市 440800:湛江市 440900:茂名市 441200:肇庆市 441300:惠州市 441400:梅州市 441500:汕尾市 441600:河源市 441700:阳江市 441800:清远市 441900:东莞市 442000:中山市 445100:潮州市 445200:揭阳市 445300:云浮市 450000:广西壮族自治区 450100:南宁市 450200:柳州市 450300:桂林市 450400:梧州市 450500:北海市 450600:防城港市 450700:钦州市 450800:贵港市 450900:玉林市 451000:百色市 451100:贺州市 451200:河池市 451300:来宾市 451400:崇左市 460000:海南省 460100:海口市 460200:三亚市 460300:三沙市 460400:儋州市 469001:五指山市 469002:琼海市 469005:文昌市 469006:万宁市 469007:东方市 469021:定安县 469022:屯昌县 469023:澄迈县 469024:临高县 469025:白沙黎族自治县 469026:昌江黎族自治县 469027:乐东黎族自治县 469028:陵水黎族自治县 469029:保亭黎族苗族自治县 469030:琼中黎族苗族自治县 500000:重庆市 510000:四川省 510100:成都市 510300:自贡市 510400:攀枝花市 510500:泸州市 510600:德阳市 510700:绵阳市 510800:广元市 510900:遂宁市 511000:内江市 511100:乐山市 511300:南充市 511400:眉山市 511500:宜宾市 511600:广安市 511700:达州市 511800:雅安市 511900:巴中市 512000:资阳市 513200:阿坝藏族羌族自治州 513300:甘孜藏族自治州 513400:凉山彝族自治州 520000:贵州省 520100:贵阳市 520200:六盘水市 520300:遵义市 520400:安顺市 520500:毕节市 520600:铜仁市 522300:黔西南布依族苗族自治州 522600:黔东南苗族侗族自治州 522700:黔南布依族苗族自治州 530000:云南省 530100:昆明市 530300:曲靖市 530400:玉溪市 530500:保山市 530600:昭通市 530700:丽江市 530800:普洱市 530900:临沧市 532300:楚雄彝族自治州 532500:红河哈尼族彝族自治州 532600:文山壮族苗族自治州 532800:西双版纳傣族自治州 532900:大理白族自治州 533100:德宏傣族景颇族自治州 533300:怒江傈僳族自治州 533400:迪庆藏族自治州 540000:西藏自治区 540100:拉萨市 540200:日喀则市 540300:昌都市 540400:林芝市 540500:山南市 540600:那曲市 542500:阿里地区 610000:陕西省 610100:西安市 610200:铜川市 610300:宝鸡市 610400:咸阳市 610500:渭南市 610600:延安市 610700:汉中市 610800:榆林市 610900:安康市 611000:商洛市 620000:甘肃省 620100:兰州市 620200:嘉峪关市 620300:金昌市 620400:白银市 620500:天水市 620600:武威市 620700:张掖市 620800:平凉市 620900:酒泉市 621000:庆阳市 621100:定西市 621200:陇南市 622900:临夏回族自治州 623000:甘南藏族自治州 630000:青海省 630100:西宁市 630200:海东市 632200:海北藏族自治州 632300:黄南藏族自治州 632500:海南藏族自治州 632600:果洛藏族自治州 632700:玉树藏族自治州 632800:海西蒙古族藏族自治州 640000:宁夏回族自治区 640100:银川市 640200:石嘴山市 640300:吴忠市 640400:固原市 640500:中卫市 650000:新疆维吾尔自治区 650100:乌鲁木齐市 650200:克拉玛依市 650400:吐鲁番市 650500:哈密市 652300:昌吉回族自治州 652700:博尔塔拉蒙古自治州 652800:巴音郭楞蒙古自治州 652900:阿克苏地区 653000:克孜勒苏柯尔克孜自治州 653100:喀什地区 653200:和田地区 654000:伊犁哈萨克自治州 654200:塔城地区 654300:阿勒泰地区 659001:石河子市 659002:阿拉尔市 659003:图木舒克市 659004:五家渠市 659005:北屯市 659006:铁门关市 659007:双河市 659008:可克达拉市 659009:昆玉市 659010:胡杨河市 710000:台湾省 710100:台北市 710200:高雄市 710300:基隆市 710400:台中市 710500:台南市 710600:新竹市 710700:嘉义市 810000:香港特别行政区 820000:澳门特别行政区 unknown:未知 父主题: 附录
-
通过API网关调用Karmada API Karmada API 可以通过API网关调用,其URL格式为:https://{fleetname}.fleet.ucs.{Region}-dev.myhuaweicloud.com/{uri},其中有三个参数。 表1 URL中的参数说明 参数 描述 {fleetname} 舰队名称,可在控制台内舰队基本信息中获取。 {Region} 服务应用区域的URL,可以通过终端节点(Endpoint)获取。 示例:华北-北京四的Region为cn-north-4 {uri} 资源路径,也即API访问路径。从具体接口的URI模块获取,请参见Karmada API。 示例:根据需要调用的接口设置,例如需要查看一个Deployment的详情,则请求方法为GET,接口uri为apis/apps/v1/namespaces/default/deployments,其中{namespace}为集群命名空间名称,本示例为default。 登录U CS 控制台,单击目标容器舰队名进入“容器舰队信息”页面,在“舰队基本信息”中单击“kubectl”。 图1 kubectl连接信息 参照页面中的提示信息,选择对应的项目名称、虚拟私有云(VPC)、控制节点子网以及有效期,单击“下载”,下载kubectl配置文件。 下载下来的文件名为kubeconfig.json。 图2 kubectl连接联邦实例 kubeconfig.json文件中存在安全泄露风险,请您务必妥善保存。 kubectl配置文件有效期可根据实际需求选择,下拉列表内可选范围为:5年、1年、6个月、30天、15天、14天、13天...1天,最短为1天。 在执行机上安装和配置kubectl。 拷贝kubectl及其配置文件到上述所选的vpc和子网下的执行机的/home目录下。 登录到您的执行机,配置kubectl cd /home chmod +x kubectl mv -f kubectl /usr/local/bin mkdir -p $HOME/.kube mv -f kubeconfig.json $HOME/.kube/config 根据URL格式进行拼接,确定请求的URL。 {fleetname}为舰队名称,可在控制台内舰队基本信息中获取。 region为Web服务入口点的URL,可以通过终端节点(Endpiont)获取。 {uri}为资源路径,也即API访问的路径,从具体接口的URI模块获取,请参见Karmada API。 则调用接口查看联邦内所有deployment信息的URL示例如下: https://r******.fleet.ucs.cn-north-4-dev.myhuaweicloud.com/apis/apps/v1/namespaces/default/deployments 创建Admin Role 获取请求对应bearer token。 将如下内容保存为admin-role.yaml文件。 kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: admin annotations: rbac.authorization.kubernetes.io/autoupdate: "true" roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io subjects: - kind: ServiceAccount name: admin namespace: kube-system --- apiVersion: v1 kind: ServiceAccount metadata: name: admin namespace: kube-system labels: kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile 使用kubectl apply -f admin-role.yaml 创建对应的service-account及权限。 使用kubectl create token admin --namespace kube-system 获取账户对应bearer token。 设置环境变量token,其值为上一步获取的bearer token。 使用接口指定的请求方法,并设置请求Header参数。如果接口要求添加Body参数,可参考Karmada API添加接口对应的结构体。 例如使用curl命令调用创建Deployment接口,请求方法为POST,并添加对应的Body体。 示例:本示例将使用nginx.json文件,创建一个名为nginx的deployment负载,该工作负载使用nginx:latest镜像并包含两个Pod,每个Pod占用100mCPU、200Mi内存。在该工作负载创建完成后,您可以继续参考上述步骤,从Karmada API获取PropagationPolicy对应的URI,创建分发策略。 curl --location --request POST 'https://r*****.fleet.ucs.cn-north-4-dev.myhuaweicloud.com/apis/apps/v1/deployments' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer $token' \ --data @nginx.json 请求中包含的Header参数如下: 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),例如application/json Authorization 是 String 获取bearer token的方式请参见5。 nginx.json文件内容如下: { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "name": "nginx" }, "spec": { "replicas": 2, "selector": { "matchLabels": { "app": "nginx" } }, "template": { "metadata": { "labels": { "app": "nginx" } }, "spec": { "containers": [ { "image": "nginx:latest", "name": "container-0", "resources": { "limits": { "cpu": "100m", "memory": "200Mi" }, "requests": { "cpu": "100m", "memory": "200Mi" } } } ], "imagePullSecrets": [ { "name": "default-secret" } ] } } } }
-
调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目列表API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为 IAM 的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "project_name", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
-
状态码 正常 返回值 说明 200 OK GET和PUT操作正常返回。 201 Created POST操作正常返回。 202 Accepted 请求已被接受。 204 No Content DELETE操作正常返回。 异常 返回值 说明 400 Bad Request 服务器未能处理请求。 401 Unauthorized 被请求的页面需要用户名和密码。 403 Forbidden 对被请求页面的访问被禁止。 404 Not Found 服务器无法找到被请求的页面。 405 Method Not Allowed 请求中指定的方法不被允许。 406 Not Acceptable 服务器生成的响应无法被客户端所接受。 407 Proxy Authentication Required 用户必须首先使用代理服务器进行验证,这样请求才会被处理。 408 Request Timeout 请求超出了服务器的等待时间。 409 Conflict 由于冲突,请求无法被完成。 500 Internal Server Error 请求未完成。服务异常。 501 Not Implemented 请求未完成。服务器不支持所请求的功能。 502 Bad Gateway 请求未完成。服务器从上游服务器收到一个无效的响应。 503 Service Unavailable 请求未完成。系统暂时异常。 504 Gateway Timeout 网关超时。 父主题: 附录
共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