@gitbeaker/rest 38.6.0 → 38.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -151,7 +151,7 @@ Available instantiating options:
151
151
  | `sudo` | Yes | `false` | [Sudo](https://docs.gitlab.com/ee/api/#sudo) query parameter |
152
152
  | `camelize` | Yes | `false` | Camelizes all response body keys |
153
153
  | `requesterFn` | Yes | @gitbeaker/rest & @gitbeaker/cli : fetch-based, The @gitbeaker/core package **does not** have a default and thus must be set explicitly | Request Library Wrapper |
154
- | `requestTimeout` | Yes | `300000` | Request Library Timeout in ms |
154
+ | `queryTimeout` | Yes | `300000` | Query Timeout in ms |
155
155
  | `profileToken` | Yes | N/A | [Requests Profiles Token](https://docs.gitlab.com/ee/administration/monitoring/performance/request_profiling.html) |
156
156
  | `profileMode` | Yes | `execution` | [Requests Profiles Token](https://docs.gitlab.com/ee/administration/monitoring/performance/request_profiling.html) |
157
157
 
@@ -235,7 +235,7 @@ Similarly, support for [Keyset pagination](https://docs.gitlab.com/ee/api/#keyse
235
235
  const { data } = await api.Projects.all({
236
236
  pagination: 'keyset',
237
237
  sort: 'asc',
238
- orderBy: 'created_by',
238
+ orderBy: 'created_at',
239
239
  });
240
240
  ```
241
241
 
@@ -402,6 +402,7 @@ projectsAPI.create({
402
402
  <td align="center" valign="top" width="3.84%"><a href="http://merorafael.info/"><img src="https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/3404989?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt="Rafael Mello"/></td>
403
403
  <td align="center" valign="top" width="3.84%"><a href="https://github.com/tbazin"><img src="https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/9104039?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt="Théis Bazin"/></td>
404
404
  <td align="center" valign="top" width="3.84%"><a href="http://spencersalisbury.com/"><img src="https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/8053224?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt="Spencer Salisbury"/></td>
405
+ <td align="center" valign="top" width="3.84%"><a href="https://simonecorsi.dev/"><img src="https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/5617452?v=4&h=25&w=25&fit=cover&mask=circle&maxage=7d" alt="Simone Corsi"/></td>
405
406
  </tr>
406
407
  </p>
407
408
 
package/dist/index.d.ts CHANGED
@@ -89,6 +89,7 @@ declare const MergeRequestLabelEvents: typeof Resources.MergeRequestLabelEvents;
89
89
  declare const MergeRequestMilestoneEvents: typeof Resources.MergeRequestMilestoneEvents;
90
90
  declare const MergeRequestDraftNotes: typeof Resources.MergeRequestDraftNotes;
91
91
  declare const MergeRequestNotes: typeof Resources.MergeRequestNotes;
92
+ declare const MergeRequestNoteAwardEmojis: typeof Resources.MergeRequestNoteAwardEmojis;
92
93
  declare const MergeRequests: typeof Resources.MergeRequests;
93
94
  declare const MergeTrains: typeof Resources.MergeTrains;
94
95
  declare const PackageRegistry: typeof Resources.PackageRegistry;
@@ -182,4 +183,4 @@ declare const Users: typeof Resources.Users;
182
183
  declare const UserSSHKeys: typeof Resources.UserSSHKeys;
183
184
  declare const Gitlab: typeof Resources.Gitlab;
184
185
 
185
- export { Agents, AlertManagement, ApplicationAppearance, ApplicationPlanLimits, ApplicationSettings, ApplicationStatistics, Applications, AuditEvents, Avatar, Branches, BroadcastMessages, CommitDiscussions, Commits, Composer, Conan, ContainerRegistry, DashboardAnnotations, Debian, DependencyProxy, DeployKeys, DeployTokens, Deployments, DockerfileTemplates, Environments, EpicAwardEmojis, EpicDiscussions, EpicIssues, EpicLabelEvents, EpicLinks, EpicNotes, Epics, ErrorTrackingClientKeys, ErrorTrackingSettings, Events, Experiments, ExternalStatusChecks, FeatureFlagUserLists, FeatureFlags, FreezePeriods, GeoNodes, GitLabCIYMLTemplates, GitignoreTemplates, Gitlab, GitlabPages, GoProxy, GroupAccessRequests, GroupAccessTokens, GroupActivityAnalytics, GroupBadges, GroupCustomAttributes, GroupDORA4Metrics, GroupHooks, GroupImportExports, GroupInvitations, GroupIssueBoards, GroupIterations, GroupLDAPLinks, GroupLabels, GroupMemberRoles, GroupMembers, GroupMilestones, GroupProtectedEnvironments, GroupPushRules, GroupRelationExports, GroupReleases, GroupRepositoryStorageMoves, GroupSAMLIdentities, GroupSCIMIdentities, GroupVariables, GroupWikis, Groups, Helm, Import, InstanceLevelCICDVariables, Integrations, IssueAwardEmojis, IssueDiscussions, IssueIterationEvents, IssueLabelEvents, IssueLinks, IssueMilestoneEvents, IssueNoteAwardEmojis, IssueNotes, IssueStateEvents, IssueWeightEvents, Issues, IssuesStatistics, JobArtifacts, Jobs, Keys, License, LicenseTemplates, LinkedEpics, Lint, Markdown, Maven, MergeRequestApprovals, MergeRequestAwardEmojis, MergeRequestContextCommits, MergeRequestDiscussions, MergeRequestDraftNotes, MergeRequestLabelEvents, MergeRequestMilestoneEvents, MergeRequestNotes, MergeRequests, MergeTrains, Metadata, Migrations, NPM, Namespaces, NotificationSettings, NuGet, PackageRegistry, Packages, PagesDomains, PersonalAccessTokens, PipelineScheduleVariables, PipelineSchedules, PipelineTriggerTokens, Pipelines, ProductAnalytics, ProjectAccessRequests, ProjectAccessTokens, ProjectAliases, ProjectBadges, ProjectCustomAttributes, ProjectDORA4Metrics, ProjectHooks, ProjectImportExport, ProjectInvitations, ProjectIssueBoards, ProjectIterations, ProjectLabels, ProjectMembers, ProjectMilestones, ProjectProtectedEnvironments, ProjectPushRules, ProjectRelationsExport, ProjectReleases, ProjectRemoteMirrors, ProjectRepositoryStorageMoves, ProjectSnippetAwardEmojis, ProjectSnippetDiscussions, ProjectSnippetNotes, ProjectSnippets, ProjectStatistics, ProjectTemplates, ProjectVariables, ProjectVulnerabilities, ProjectWikis, Projects, ProtectedBranches, ProtectedTags, PyPI, ReleaseLinks, Repositories, RepositoryFiles, RepositorySubmodules, ResourceGroups, RubyGems, Runners, Search, SecureFiles, ServiceData, SidekiqMetrics, SidekiqQueues, SnippetRepositoryStorageMoves, Snippets, Suggestions, SystemHooks, Tags, TodoLists, Topics, UserCustomAttributes, UserEmails, UserGPGKeys, UserImpersonationTokens, UserSSHKeys, UserStarredMetricsDashboard, Users };
186
+ export { Agents, AlertManagement, ApplicationAppearance, ApplicationPlanLimits, ApplicationSettings, ApplicationStatistics, Applications, AuditEvents, Avatar, Branches, BroadcastMessages, CommitDiscussions, Commits, Composer, Conan, ContainerRegistry, DashboardAnnotations, Debian, DependencyProxy, DeployKeys, DeployTokens, Deployments, DockerfileTemplates, Environments, EpicAwardEmojis, EpicDiscussions, EpicIssues, EpicLabelEvents, EpicLinks, EpicNotes, Epics, ErrorTrackingClientKeys, ErrorTrackingSettings, Events, Experiments, ExternalStatusChecks, FeatureFlagUserLists, FeatureFlags, FreezePeriods, GeoNodes, GitLabCIYMLTemplates, GitignoreTemplates, Gitlab, GitlabPages, GoProxy, GroupAccessRequests, GroupAccessTokens, GroupActivityAnalytics, GroupBadges, GroupCustomAttributes, GroupDORA4Metrics, GroupHooks, GroupImportExports, GroupInvitations, GroupIssueBoards, GroupIterations, GroupLDAPLinks, GroupLabels, GroupMemberRoles, GroupMembers, GroupMilestones, GroupProtectedEnvironments, GroupPushRules, GroupRelationExports, GroupReleases, GroupRepositoryStorageMoves, GroupSAMLIdentities, GroupSCIMIdentities, GroupVariables, GroupWikis, Groups, Helm, Import, InstanceLevelCICDVariables, Integrations, IssueAwardEmojis, IssueDiscussions, IssueIterationEvents, IssueLabelEvents, IssueLinks, IssueMilestoneEvents, IssueNoteAwardEmojis, IssueNotes, IssueStateEvents, IssueWeightEvents, Issues, IssuesStatistics, JobArtifacts, Jobs, Keys, License, LicenseTemplates, LinkedEpics, Lint, Markdown, Maven, MergeRequestApprovals, MergeRequestAwardEmojis, MergeRequestContextCommits, MergeRequestDiscussions, MergeRequestDraftNotes, MergeRequestLabelEvents, MergeRequestMilestoneEvents, MergeRequestNoteAwardEmojis, MergeRequestNotes, MergeRequests, MergeTrains, Metadata, Migrations, NPM, Namespaces, NotificationSettings, NuGet, PackageRegistry, Packages, PagesDomains, PersonalAccessTokens, PipelineScheduleVariables, PipelineSchedules, PipelineTriggerTokens, Pipelines, ProductAnalytics, ProjectAccessRequests, ProjectAccessTokens, ProjectAliases, ProjectBadges, ProjectCustomAttributes, ProjectDORA4Metrics, ProjectHooks, ProjectImportExport, ProjectInvitations, ProjectIssueBoards, ProjectIterations, ProjectLabels, ProjectMembers, ProjectMilestones, ProjectProtectedEnvironments, ProjectPushRules, ProjectRelationsExport, ProjectReleases, ProjectRemoteMirrors, ProjectRepositoryStorageMoves, ProjectSnippetAwardEmojis, ProjectSnippetDiscussions, ProjectSnippetNotes, ProjectSnippets, ProjectStatistics, ProjectTemplates, ProjectVariables, ProjectVulnerabilities, ProjectWikis, Projects, ProtectedBranches, ProtectedTags, PyPI, ReleaseLinks, Repositories, RepositoryFiles, RepositorySubmodules, ResourceGroups, RubyGems, Runners, Search, SecureFiles, ServiceData, SidekiqMetrics, SidekiqQueues, SnippetRepositoryStorageMoves, Snippets, Suggestions, SystemHooks, Tags, TodoLists, Topics, UserCustomAttributes, UserEmails, UserGPGKeys, UserImpersonationTokens, UserSSHKeys, UserStarredMetricsDashboard, Users };
package/dist/index.js CHANGED
@@ -24,14 +24,11 @@ function _interopNamespace(e) {
24
24
  var Resources__namespace = /*#__PURE__*/_interopNamespace(Resources);
25
25
 
26
26
  // src/index.ts
27
- async function defaultOptionsHandler(resourceOptions, { body, searchParams, asStream, sudo, method } = {}) {
28
- const options = await requesterUtils.defaultOptionsHandler(resourceOptions, {
29
- body,
30
- searchParams,
31
- asStream,
32
- sudo,
33
- method
34
- });
27
+ async function defaultOptionsHandler(resourceOptions, requestOptions = {}) {
28
+ const options = await requesterUtils.defaultOptionsHandler(
29
+ resourceOptions,
30
+ requestOptions
31
+ );
35
32
  if (resourceOptions.url.includes("https") && resourceOptions.rejectUnauthorized != null && resourceOptions.rejectUnauthorized === false) {
36
33
  if (typeof window !== "object") {
37
34
  const { Agent } = await import('https');
@@ -101,7 +98,12 @@ async function defaultRequestHandler(endpoint, options) {
101
98
  url.search = searchParams || "";
102
99
  const mode = getConditionalMode(endpoint);
103
100
  for (let i = 0; i < maxRetries; i += 1) {
104
- const response = await fetch(url, { ...opts, mode });
101
+ const response = await fetch(url, { ...opts, mode }).catch((e) => {
102
+ if (e.name === "TimeoutError" || e.name === "AbortError") {
103
+ throw new Error("Query timeout was reached");
104
+ }
105
+ throw e;
106
+ });
105
107
  if (response.ok)
106
108
  return parseResponse(response, asStream);
107
109
  if (!retryCodes.includes(response.status))
@@ -204,6 +206,7 @@ var {
204
206
  MergeRequestMilestoneEvents,
205
207
  MergeRequestDraftNotes,
206
208
  MergeRequestNotes,
209
+ MergeRequestNoteAwardEmojis,
207
210
  MergeRequests,
208
211
  MergeTrains,
209
212
  PackageRegistry,
@@ -401,6 +404,7 @@ exports.MergeRequestDiscussions = MergeRequestDiscussions;
401
404
  exports.MergeRequestDraftNotes = MergeRequestDraftNotes;
402
405
  exports.MergeRequestLabelEvents = MergeRequestLabelEvents;
403
406
  exports.MergeRequestMilestoneEvents = MergeRequestMilestoneEvents;
407
+ exports.MergeRequestNoteAwardEmojis = MergeRequestNoteAwardEmojis;
404
408
  exports.MergeRequestNotes = MergeRequestNotes;
405
409
  exports.MergeRequests = MergeRequests;
406
410
  exports.MergeTrains = MergeTrains;
package/dist/index.mjs CHANGED
@@ -2,14 +2,11 @@ import * as Resources from '@gitbeaker/core';
2
2
  import { createRequesterFn, presetResourceArguments, defaultOptionsHandler as defaultOptionsHandler$1 } from '@gitbeaker/requester-utils';
3
3
 
4
4
  // src/index.ts
5
- async function defaultOptionsHandler(resourceOptions, { body, searchParams, asStream, sudo, method } = {}) {
6
- const options = await defaultOptionsHandler$1(resourceOptions, {
7
- body,
8
- searchParams,
9
- asStream,
10
- sudo,
11
- method
12
- });
5
+ async function defaultOptionsHandler(resourceOptions, requestOptions = {}) {
6
+ const options = await defaultOptionsHandler$1(
7
+ resourceOptions,
8
+ requestOptions
9
+ );
13
10
  if (resourceOptions.url.includes("https") && resourceOptions.rejectUnauthorized != null && resourceOptions.rejectUnauthorized === false) {
14
11
  if (typeof window !== "object") {
15
12
  const { Agent } = await import('https');
@@ -79,7 +76,12 @@ async function defaultRequestHandler(endpoint, options) {
79
76
  url.search = searchParams || "";
80
77
  const mode = getConditionalMode(endpoint);
81
78
  for (let i = 0; i < maxRetries; i += 1) {
82
- const response = await fetch(url, { ...opts, mode });
79
+ const response = await fetch(url, { ...opts, mode }).catch((e) => {
80
+ if (e.name === "TimeoutError" || e.name === "AbortError") {
81
+ throw new Error("Query timeout was reached");
82
+ }
83
+ throw e;
84
+ });
83
85
  if (response.ok)
84
86
  return parseResponse(response, asStream);
85
87
  if (!retryCodes.includes(response.status))
@@ -182,6 +184,7 @@ var {
182
184
  MergeRequestMilestoneEvents,
183
185
  MergeRequestDraftNotes,
184
186
  MergeRequestNotes,
187
+ MergeRequestNoteAwardEmojis,
185
188
  MergeRequests,
186
189
  MergeTrains,
187
190
  PackageRegistry,
@@ -276,4 +279,4 @@ var {
276
279
  Gitlab
277
280
  } = API;
278
281
 
279
- export { Agents, AlertManagement, ApplicationAppearance, ApplicationPlanLimits, ApplicationSettings, ApplicationStatistics, Applications, AuditEvents, Avatar, Branches, BroadcastMessages, CommitDiscussions, Commits, Composer, Conan, ContainerRegistry, DashboardAnnotations, Debian, DependencyProxy, DeployKeys, DeployTokens, Deployments, DockerfileTemplates, Environments, EpicAwardEmojis, EpicDiscussions, EpicIssues, EpicLabelEvents, EpicLinks, EpicNotes, Epics, ErrorTrackingClientKeys, ErrorTrackingSettings, Events, Experiments, ExternalStatusChecks, FeatureFlagUserLists, FeatureFlags, FreezePeriods, GeoNodes, GitLabCIYMLTemplates, GitignoreTemplates, Gitlab, GitlabPages, GoProxy, GroupAccessRequests, GroupAccessTokens, GroupActivityAnalytics, GroupBadges, GroupCustomAttributes, GroupDORA4Metrics, GroupHooks, GroupImportExports, GroupInvitations, GroupIssueBoards, GroupIterations, GroupLDAPLinks, GroupLabels, GroupMemberRoles, GroupMembers, GroupMilestones, GroupProtectedEnvironments, GroupPushRules, GroupRelationExports, GroupReleases, GroupRepositoryStorageMoves, GroupSAMLIdentities, GroupSCIMIdentities, GroupVariables, GroupWikis, Groups, Helm, Import, InstanceLevelCICDVariables, Integrations, IssueAwardEmojis, IssueDiscussions, IssueIterationEvents, IssueLabelEvents, IssueLinks, IssueMilestoneEvents, IssueNoteAwardEmojis, IssueNotes, IssueStateEvents, IssueWeightEvents, Issues, IssuesStatistics, JobArtifacts, Jobs, Keys, License, LicenseTemplates, LinkedEpics, Lint, Markdown, Maven, MergeRequestApprovals, MergeRequestAwardEmojis, MergeRequestContextCommits, MergeRequestDiscussions, MergeRequestDraftNotes, MergeRequestLabelEvents, MergeRequestMilestoneEvents, MergeRequestNotes, MergeRequests, MergeTrains, Metadata, Migrations, NPM, Namespaces, NotificationSettings, NuGet, PackageRegistry, Packages, PagesDomains, PersonalAccessTokens, PipelineScheduleVariables, PipelineSchedules, PipelineTriggerTokens, Pipelines, ProductAnalytics, ProjectAccessRequests, ProjectAccessTokens, ProjectAliases, ProjectBadges, ProjectCustomAttributes, ProjectDORA4Metrics, ProjectHooks, ProjectImportExport, ProjectInvitations, ProjectIssueBoards, ProjectIterations, ProjectLabels, ProjectMembers, ProjectMilestones, ProjectProtectedEnvironments, ProjectPushRules, ProjectRelationsExport, ProjectReleases, ProjectRemoteMirrors, ProjectRepositoryStorageMoves, ProjectSnippetAwardEmojis, ProjectSnippetDiscussions, ProjectSnippetNotes, ProjectSnippets, ProjectStatistics, ProjectTemplates, ProjectVariables, ProjectVulnerabilities, ProjectWikis, Projects, ProtectedBranches, ProtectedTags, PyPI, ReleaseLinks, Repositories, RepositoryFiles, RepositorySubmodules, ResourceGroups, RubyGems, Runners, Search, SecureFiles, ServiceData, SidekiqMetrics, SidekiqQueues, SnippetRepositoryStorageMoves, Snippets, Suggestions, SystemHooks, Tags, TodoLists, Topics, UserCustomAttributes, UserEmails, UserGPGKeys, UserImpersonationTokens, UserSSHKeys, UserStarredMetricsDashboard, Users };
282
+ export { Agents, AlertManagement, ApplicationAppearance, ApplicationPlanLimits, ApplicationSettings, ApplicationStatistics, Applications, AuditEvents, Avatar, Branches, BroadcastMessages, CommitDiscussions, Commits, Composer, Conan, ContainerRegistry, DashboardAnnotations, Debian, DependencyProxy, DeployKeys, DeployTokens, Deployments, DockerfileTemplates, Environments, EpicAwardEmojis, EpicDiscussions, EpicIssues, EpicLabelEvents, EpicLinks, EpicNotes, Epics, ErrorTrackingClientKeys, ErrorTrackingSettings, Events, Experiments, ExternalStatusChecks, FeatureFlagUserLists, FeatureFlags, FreezePeriods, GeoNodes, GitLabCIYMLTemplates, GitignoreTemplates, Gitlab, GitlabPages, GoProxy, GroupAccessRequests, GroupAccessTokens, GroupActivityAnalytics, GroupBadges, GroupCustomAttributes, GroupDORA4Metrics, GroupHooks, GroupImportExports, GroupInvitations, GroupIssueBoards, GroupIterations, GroupLDAPLinks, GroupLabels, GroupMemberRoles, GroupMembers, GroupMilestones, GroupProtectedEnvironments, GroupPushRules, GroupRelationExports, GroupReleases, GroupRepositoryStorageMoves, GroupSAMLIdentities, GroupSCIMIdentities, GroupVariables, GroupWikis, Groups, Helm, Import, InstanceLevelCICDVariables, Integrations, IssueAwardEmojis, IssueDiscussions, IssueIterationEvents, IssueLabelEvents, IssueLinks, IssueMilestoneEvents, IssueNoteAwardEmojis, IssueNotes, IssueStateEvents, IssueWeightEvents, Issues, IssuesStatistics, JobArtifacts, Jobs, Keys, License, LicenseTemplates, LinkedEpics, Lint, Markdown, Maven, MergeRequestApprovals, MergeRequestAwardEmojis, MergeRequestContextCommits, MergeRequestDiscussions, MergeRequestDraftNotes, MergeRequestLabelEvents, MergeRequestMilestoneEvents, MergeRequestNoteAwardEmojis, MergeRequestNotes, MergeRequests, MergeTrains, Metadata, Migrations, NPM, Namespaces, NotificationSettings, NuGet, PackageRegistry, Packages, PagesDomains, PersonalAccessTokens, PipelineScheduleVariables, PipelineSchedules, PipelineTriggerTokens, Pipelines, ProductAnalytics, ProjectAccessRequests, ProjectAccessTokens, ProjectAliases, ProjectBadges, ProjectCustomAttributes, ProjectDORA4Metrics, ProjectHooks, ProjectImportExport, ProjectInvitations, ProjectIssueBoards, ProjectIterations, ProjectLabels, ProjectMembers, ProjectMilestones, ProjectProtectedEnvironments, ProjectPushRules, ProjectRelationsExport, ProjectReleases, ProjectRemoteMirrors, ProjectRepositoryStorageMoves, ProjectSnippetAwardEmojis, ProjectSnippetDiscussions, ProjectSnippetNotes, ProjectSnippets, ProjectStatistics, ProjectTemplates, ProjectVariables, ProjectVulnerabilities, ProjectWikis, Projects, ProtectedBranches, ProtectedTags, PyPI, ReleaseLinks, Repositories, RepositoryFiles, RepositorySubmodules, ResourceGroups, RubyGems, Runners, Search, SecureFiles, ServiceData, SidekiqMetrics, SidekiqQueues, SnippetRepositoryStorageMoves, Snippets, Suggestions, SystemHooks, Tags, TodoLists, Topics, UserCustomAttributes, UserEmails, UserGPGKeys, UserImpersonationTokens, UserSSHKeys, UserStarredMetricsDashboard, Users };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitbeaker/rest",
3
- "version": "38.6.0",
3
+ "version": "38.8.0",
4
4
  "description": "Cross Platform implementation of the GitLab API",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -56,8 +56,8 @@
56
56
  "release": "auto shipit"
57
57
  },
58
58
  "dependencies": {
59
- "@gitbeaker/core": "^38.6.0",
60
- "@gitbeaker/requester-utils": "^38.6.0"
59
+ "@gitbeaker/core": "^38.8.0",
60
+ "@gitbeaker/requester-utils": "^38.8.0"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@playwright/test": "^1.33.0",
@@ -66,5 +66,5 @@
66
66
  "tsup": "^6.7.0",
67
67
  "typescript": "^5.0.4"
68
68
  },
69
- "gitHead": "a31690e51e5add769a2adbc145bd2620a317dcbb"
69
+ "gitHead": "fecce64a1a754794ad6e133eca04f36215914495"
70
70
  }