@stream-io/feeds-client 0.3.35 → 0.3.36

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.
@@ -311,12 +311,14 @@ export class FeedsApi {
311
311
  const body = {
312
312
  type: request?.type,
313
313
  feeds: request?.feeds,
314
+ create_notification_activity: request?.create_notification_activity,
314
315
  expires_at: request?.expires_at,
315
316
  id: request?.id,
316
317
  parent_id: request?.parent_id,
317
318
  poll_id: request?.poll_id,
318
319
  restrict_replies: request?.restrict_replies,
319
320
  skip_enrich_url: request?.skip_enrich_url,
321
+ skip_push: request?.skip_push,
320
322
  text: request?.text,
321
323
  visibility: request?.visibility,
322
324
  visibility_tag: request?.visibility_tag,
@@ -649,7 +651,11 @@ export class FeedsApi {
649
651
  async deleteActivityReaction(request: {
650
652
  activity_id: string;
651
653
  type: string;
654
+ delete_notification_activity?: boolean;
652
655
  }): Promise<StreamResponse<DeleteActivityReactionResponse>> {
656
+ const queryParams = {
657
+ delete_notification_activity: request?.delete_notification_activity,
658
+ };
653
659
  const pathParams = {
654
660
  activity_id: request?.activity_id,
655
661
  type: request?.type,
@@ -661,7 +667,7 @@ export class FeedsApi {
661
667
  'DELETE',
662
668
  '/api/v2/feeds/activities/{activity_id}/reactions/{type}',
663
669
  pathParams,
664
- undefined,
670
+ queryParams,
665
671
  );
666
672
 
667
673
  decoders.DeleteActivityReactionResponse?.(response.body);
@@ -712,6 +718,7 @@ export class FeedsApi {
712
718
  id: request?.id,
713
719
  };
714
720
  const body = {
721
+ handle_mention_notifications: request?.handle_mention_notifications,
715
722
  unset: request?.unset,
716
723
  set: request?.set,
717
724
  };
@@ -740,11 +747,13 @@ export class FeedsApi {
740
747
  };
741
748
  const body = {
742
749
  expires_at: request?.expires_at,
750
+ handle_mention_notifications: request?.handle_mention_notifications,
743
751
  poll_id: request?.poll_id,
744
752
  restrict_replies: request?.restrict_replies,
745
753
  skip_enrich_url: request?.skip_enrich_url,
746
754
  text: request?.text,
747
755
  visibility: request?.visibility,
756
+ visibility_tag: request?.visibility_tag,
748
757
  attachments: request?.attachments,
749
758
  collection_refs: request?.collection_refs,
750
759
  feeds: request?.feeds,
@@ -1067,9 +1076,11 @@ export class FeedsApi {
1067
1076
  async deleteComment(request: {
1068
1077
  id: string;
1069
1078
  hard_delete?: boolean;
1079
+ delete_notification_activity?: boolean;
1070
1080
  }): Promise<StreamResponse<DeleteCommentResponse>> {
1071
1081
  const queryParams = {
1072
1082
  hard_delete: request?.hard_delete,
1083
+ delete_notification_activity: request?.delete_notification_activity,
1073
1084
  };
1074
1085
  const pathParams = {
1075
1086
  id: request?.id,
@@ -1108,9 +1119,11 @@ export class FeedsApi {
1108
1119
  };
1109
1120
  const body = {
1110
1121
  comment: request?.comment,
1122
+ handle_mention_notifications: request?.handle_mention_notifications,
1111
1123
  skip_enrich_url: request?.skip_enrich_url,
1112
1124
  skip_push: request?.skip_push,
1113
1125
  attachments: request?.attachments,
1126
+ mentioned_user_ids: request?.mentioned_user_ids,
1114
1127
  custom: request?.custom,
1115
1128
  };
1116
1129
 
@@ -1193,7 +1206,11 @@ export class FeedsApi {
1193
1206
  async deleteCommentReaction(request: {
1194
1207
  id: string;
1195
1208
  type: string;
1209
+ delete_notification_activity?: boolean;
1196
1210
  }): Promise<StreamResponse<DeleteCommentReactionResponse>> {
1211
+ const queryParams = {
1212
+ delete_notification_activity: request?.delete_notification_activity,
1213
+ };
1197
1214
  const pathParams = {
1198
1215
  id: request?.id,
1199
1216
  type: request?.type,
@@ -1205,7 +1222,7 @@ export class FeedsApi {
1205
1222
  'DELETE',
1206
1223
  '/api/v2/feeds/comments/{id}/reactions/{type}',
1207
1224
  pathParams,
1208
- undefined,
1225
+ queryParams,
1209
1226
  );
1210
1227
 
1211
1228
  decoders.DeleteCommentReactionResponse?.(response.body);
@@ -1868,7 +1885,11 @@ export class FeedsApi {
1868
1885
  async unfollow(request: {
1869
1886
  source: string;
1870
1887
  target: string;
1888
+ delete_notification_activity?: boolean;
1871
1889
  }): Promise<StreamResponse<UnfollowResponse>> {
1890
+ const queryParams = {
1891
+ delete_notification_activity: request?.delete_notification_activity,
1892
+ };
1872
1893
  const pathParams = {
1873
1894
  source: request?.source,
1874
1895
  target: request?.target,
@@ -1880,7 +1901,7 @@ export class FeedsApi {
1880
1901
  'DELETE',
1881
1902
  '/api/v2/feeds/follows/{source}/{target}',
1882
1903
  pathParams,
1883
- undefined,
1904
+ queryParams,
1884
1905
  );
1885
1906
 
1886
1907
  decoders.UnfollowResponse?.(response.body);
@@ -1893,6 +1914,7 @@ export class FeedsApi {
1893
1914
  ): Promise<StreamResponse<UnfollowBatchResponse>> {
1894
1915
  const body = {
1895
1916
  follows: request?.follows,
1917
+ delete_notification_activity: request?.delete_notification_activity,
1896
1918
  };
1897
1919
 
1898
1920
  const response = await this.apiClient.sendRequest<
@@ -300,6 +300,17 @@ decoders.AppUpdatedEvent = (input?: Record<string, any>) => {
300
300
  return decode(typeMappings, input);
301
301
  };
302
302
 
303
+ decoders.AppealItemResponse = (input?: Record<string, any>) => {
304
+ const typeMappings: TypeMapping = {
305
+ created_at: { type: 'DatetimeType', isSingle: true },
306
+
307
+ updated_at: { type: 'DatetimeType', isSingle: true },
308
+
309
+ user: { type: 'UserResponse', isSingle: true },
310
+ };
311
+ return decode(typeMappings, input);
312
+ };
313
+
303
314
  decoders.Ban = (input?: Record<string, any>) => {
304
315
  const typeMappings: TypeMapping = {
305
316
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -1127,6 +1138,13 @@ decoders.GetActivityResponse = (input?: Record<string, any>) => {
1127
1138
  return decode(typeMappings, input);
1128
1139
  };
1129
1140
 
1141
+ decoders.GetAppealResponse = (input?: Record<string, any>) => {
1142
+ const typeMappings: TypeMapping = {
1143
+ item: { type: 'AppealItemResponse', isSingle: true },
1144
+ };
1145
+ return decode(typeMappings, input);
1146
+ };
1147
+
1130
1148
  decoders.GetBlockedUsersResponse = (input?: Record<string, any>) => {
1131
1149
  const typeMappings: TypeMapping = {
1132
1150
  blocks: { type: 'BlockedUserResponse', isSingle: false },
@@ -1617,6 +1635,13 @@ decoders.QueryActivityReactionsResponse = (input?: Record<string, any>) => {
1617
1635
  return decode(typeMappings, input);
1618
1636
  };
1619
1637
 
1638
+ decoders.QueryAppealsResponse = (input?: Record<string, any>) => {
1639
+ const typeMappings: TypeMapping = {
1640
+ items: { type: 'AppealItemResponse', isSingle: false },
1641
+ };
1642
+ return decode(typeMappings, input);
1643
+ };
1644
+
1620
1645
  decoders.QueryBookmarkFoldersResponse = (input?: Record<string, any>) => {
1621
1646
  const typeMappings: TypeMapping = {
1622
1647
  bookmark_folders: { type: 'BookmarkFolderResponse', isSingle: false },
@@ -1774,6 +1799,8 @@ decoders.ReviewQueueItemResponse = (input?: Record<string, any>) => {
1774
1799
 
1775
1800
  reviewed_at: { type: 'DatetimeType', isSingle: true },
1776
1801
 
1802
+ appeal: { type: 'AppealItemResponse', isSingle: true },
1803
+
1777
1804
  assigned_to: { type: 'UserResponse', isSingle: true },
1778
1805
 
1779
1806
  call: { type: 'CallResponse', isSingle: true },
@@ -1873,6 +1900,8 @@ decoders.StoriesFeedUpdatedEvent = (input?: Record<string, any>) => {
1873
1900
 
1874
1901
  decoders.SubmitActionResponse = (input?: Record<string, any>) => {
1875
1902
  const typeMappings: TypeMapping = {
1903
+ appeal_item: { type: 'AppealItemResponse', isSingle: true },
1904
+
1876
1905
  item: { type: 'ReviewQueueItemResponse', isSingle: true },
1877
1906
  };
1878
1907
  return decode(typeMappings, input);
@@ -365,6 +365,8 @@ export interface ActivityRequest {
365
365
 
366
366
  feeds: string[];
367
367
 
368
+ create_notification_activity?: boolean;
369
+
368
370
  expires_at?: string;
369
371
 
370
372
  id?: string;
@@ -377,6 +379,8 @@ export interface ActivityRequest {
377
379
 
378
380
  skip_enrich_url?: boolean;
379
381
 
382
+ skip_push?: boolean;
383
+
380
384
  text?: string;
381
385
 
382
386
  visibility?: 'public' | 'private' | 'tag';
@@ -467,8 +471,6 @@ export interface ActivityResponse {
467
471
 
468
472
  moderation_action?: string;
469
473
 
470
- selector_source?: string;
471
-
472
474
  text?: string;
473
475
 
474
476
  visibility_tag?: string;
@@ -543,6 +545,8 @@ export interface AddActivityRequest {
543
545
 
544
546
  feeds: string[];
545
547
 
548
+ create_notification_activity?: boolean;
549
+
546
550
  expires_at?: string;
547
551
 
548
552
  id?: string;
@@ -555,6 +559,8 @@ export interface AddActivityRequest {
555
559
 
556
560
  skip_enrich_url?: boolean;
557
561
 
562
+ skip_push?: boolean;
563
+
558
564
  text?: string;
559
565
 
560
566
  visibility?: 'public' | 'private' | 'tag';
@@ -582,6 +588,8 @@ export interface AddActivityResponse {
582
588
  duration: string;
583
589
 
584
590
  activity: ActivityResponse;
591
+
592
+ mention_notifications_created?: number;
585
593
  }
586
594
 
587
595
  export interface AddBookmarkRequest {
@@ -649,6 +657,8 @@ export interface AddCommentResponse {
649
657
 
650
658
  comment: CommentResponse;
651
659
 
660
+ mention_notifications_created?: number;
661
+
652
662
  notification_created?: boolean;
653
663
  }
654
664
 
@@ -756,6 +766,46 @@ export interface AppUpdatedEvent {
756
766
  received_at?: Date;
757
767
  }
758
768
 
769
+ export interface AppealItemResponse {
770
+ appeal_reason: string;
771
+
772
+ created_at: Date;
773
+
774
+ entity_id: string;
775
+
776
+ entity_type: string;
777
+
778
+ id: string;
779
+
780
+ status: string;
781
+
782
+ updated_at: Date;
783
+
784
+ decision_reason?: string;
785
+
786
+ attachments?: string[];
787
+
788
+ entity_content?: ModerationPayload;
789
+
790
+ user?: UserResponse;
791
+ }
792
+
793
+ export interface AppealRequest {
794
+ appeal_reason: string;
795
+
796
+ entity_id: string;
797
+
798
+ entity_type: string;
799
+
800
+ attachments?: string[];
801
+ }
802
+
803
+ export interface AppealResponse {
804
+ appeal_id: string;
805
+
806
+ duration: string;
807
+ }
808
+
759
809
  export interface Attachment {
760
810
  custom: Record<string, any>;
761
811
 
@@ -1208,6 +1258,8 @@ export interface CallResponse {
1208
1258
 
1209
1259
  join_ahead_time_seconds?: number;
1210
1260
 
1261
+ routing_number?: string;
1262
+
1211
1263
  starts_at?: Date;
1212
1264
 
1213
1265
  team?: string;
@@ -1254,8 +1306,12 @@ export interface CallSettingsResponse {
1254
1306
 
1255
1307
  geofencing: GeofenceSettingsResponse;
1256
1308
 
1309
+ individual_recording: IndividualRecordingSettingsResponse;
1310
+
1257
1311
  limits: LimitsSettingsResponse;
1258
1312
 
1313
+ raw_recording: RawRecordingSettingsResponse;
1314
+
1259
1315
  recording: RecordSettingsResponse;
1260
1316
 
1261
1317
  ring: RingSettingsResponse;
@@ -1906,6 +1962,10 @@ export interface CommentUpdatedEvent {
1906
1962
  user?: UserResponseCommonFields;
1907
1963
  }
1908
1964
 
1965
+ export interface CompositeRecordingResponse {
1966
+ status: string;
1967
+ }
1968
+
1909
1969
  export interface ConfigOverrides {
1910
1970
  commands: string[];
1911
1971
 
@@ -2347,9 +2407,15 @@ export interface EgressResponse {
2347
2407
 
2348
2408
  rtmps: EgressRTMPResponse[];
2349
2409
 
2410
+ composite_recording?: CompositeRecordingResponse;
2411
+
2350
2412
  frame_recording?: FrameRecordingResponse;
2351
2413
 
2352
2414
  hls?: EgressHLSResponse;
2415
+
2416
+ individual_recording?: IndividualRecordingResponse;
2417
+
2418
+ raw_recording?: RawRecordingResponse;
2353
2419
  }
2354
2420
 
2355
2421
  export interface EnrichedActivity {
@@ -3185,6 +3251,12 @@ export interface GetActivityResponse {
3185
3251
  activity: ActivityResponse;
3186
3252
  }
3187
3253
 
3254
+ export interface GetAppealResponse {
3255
+ duration: string;
3256
+
3257
+ item?: AppealItemResponse;
3258
+ }
3259
+
3188
3260
  export interface GetApplicationResponse {
3189
3261
  duration: string;
3190
3262
 
@@ -3455,6 +3527,14 @@ export interface Images {
3455
3527
  original: ImageData;
3456
3528
  }
3457
3529
 
3530
+ export interface IndividualRecordingResponse {
3531
+ status: string;
3532
+ }
3533
+
3534
+ export interface IndividualRecordingSettingsResponse {
3535
+ mode: 'available' | 'disabled' | 'auto-on';
3536
+ }
3537
+
3458
3538
  export interface IngressAudioEncodingResponse {
3459
3539
  bitrate: number;
3460
3540
 
@@ -3569,6 +3649,8 @@ export interface MarkActivityRequest {
3569
3649
  export interface MarkReviewedRequest {
3570
3650
  content_to_mark_as_reviewed_limit?: number;
3571
3651
 
3652
+ decision_reason?: string;
3653
+
3572
3654
  disable_marking_content_as_reviewed?: boolean;
3573
3655
  }
3574
3656
 
@@ -4584,6 +4666,28 @@ export interface QueryActivityReactionsResponse {
4584
4666
  prev?: string;
4585
4667
  }
4586
4668
 
4669
+ export interface QueryAppealsRequest {
4670
+ limit?: number;
4671
+
4672
+ next?: string;
4673
+
4674
+ prev?: string;
4675
+
4676
+ sort?: SortParamRequest[];
4677
+
4678
+ filter?: Record<string, any>;
4679
+ }
4680
+
4681
+ export interface QueryAppealsResponse {
4682
+ duration: string;
4683
+
4684
+ items: AppealItemResponse[];
4685
+
4686
+ next?: string;
4687
+
4688
+ prev?: string;
4689
+ }
4690
+
4587
4691
  export interface QueryBookmarkFoldersRequest {
4588
4692
  limit?: number;
4589
4693
 
@@ -4872,6 +4976,14 @@ export interface RankingConfig {
4872
4976
  functions?: Record<string, DecayFunctionConfig>;
4873
4977
  }
4874
4978
 
4979
+ export interface RawRecordingResponse {
4980
+ status: string;
4981
+ }
4982
+
4983
+ export interface RawRecordingSettingsResponse {
4984
+ mode: 'available' | 'disabled' | 'auto-on';
4985
+ }
4986
+
4875
4987
  export interface Reaction {
4876
4988
  activity_id: string;
4877
4989
 
@@ -4958,6 +5070,10 @@ export interface RecordSettingsResponse {
4958
5070
  quality: string;
4959
5071
  }
4960
5072
 
5073
+ export interface RejectAppealRequest {
5074
+ decision_reason: string;
5075
+ }
5076
+
4961
5077
  export interface RejectFeedMemberInviteRequest {}
4962
5078
 
4963
5079
  export interface RejectFeedMemberInviteResponse {
@@ -5012,7 +5128,9 @@ export interface Response {
5012
5128
  duration: string;
5013
5129
  }
5014
5130
 
5015
- export interface RestoreActionRequest {}
5131
+ export interface RestoreActionRequest {
5132
+ decision_reason?: string;
5133
+ }
5016
5134
 
5017
5135
  export interface ReviewQueueItemResponse {
5018
5136
  ai_text_severity: string;
@@ -5059,6 +5177,8 @@ export interface ReviewQueueItemResponse {
5059
5177
 
5060
5178
  activity?: EnrichedActivity;
5061
5179
 
5180
+ appeal?: AppealItemResponse;
5181
+
5062
5182
  assigned_to?: UserResponse;
5063
5183
 
5064
5184
  call?: CallResponse;
@@ -5127,6 +5247,10 @@ export interface RuleBuilderCondition {
5127
5247
 
5128
5248
  user_flag_count_rule_params?: FlagCountRuleParameters;
5129
5249
 
5250
+ user_identical_content_count_params?: UserIdenticalContentCountParameters;
5251
+
5252
+ user_role_params?: UserRoleParameters;
5253
+
5130
5254
  user_rule_params?: UserRuleParameters;
5131
5255
 
5132
5256
  video_content_params?: VideoContentParameters;
@@ -5274,12 +5398,16 @@ export interface SortParam {
5274
5398
  direction: number;
5275
5399
 
5276
5400
  field: string;
5401
+
5402
+ type: string;
5277
5403
  }
5278
5404
 
5279
5405
  export interface SortParamRequest {
5280
5406
  direction?: number;
5281
5407
 
5282
5408
  field?: string;
5409
+
5410
+ type?: '' | 'number' | 'boolean';
5283
5411
  }
5284
5412
 
5285
5413
  export interface SpeechSegmentConfig {
@@ -5331,9 +5459,12 @@ export interface SubmitActionRequest {
5331
5459
  | 'shadow_block'
5332
5460
  | 'unmask'
5333
5461
  | 'kick_user'
5334
- | 'end_call';
5462
+ | 'end_call'
5463
+ | 'reject_appeal';
5335
5464
 
5336
- item_id: string;
5465
+ appeal_id?: string;
5466
+
5467
+ item_id?: string;
5337
5468
 
5338
5469
  ban?: BanActionRequest;
5339
5470
 
@@ -5353,14 +5484,22 @@ export interface SubmitActionRequest {
5353
5484
 
5354
5485
  mark_reviewed?: MarkReviewedRequest;
5355
5486
 
5487
+ reject_appeal?: RejectAppealRequest;
5488
+
5489
+ restore?: RestoreActionRequest;
5490
+
5356
5491
  shadow_block?: ShadowBlockActionRequest;
5357
5492
 
5358
5493
  unban?: UnbanActionRequest;
5494
+
5495
+ unblock?: UnblockActionRequest;
5359
5496
  }
5360
5497
 
5361
5498
  export interface SubmitActionResponse {
5362
5499
  duration: string;
5363
5500
 
5501
+ appeal_item?: AppealItemResponse;
5502
+
5364
5503
  item?: ReviewQueueItemResponse;
5365
5504
  }
5366
5505
 
@@ -5387,6 +5526,8 @@ export interface TextContentParameters {
5387
5526
  export interface TextRuleParameters {
5388
5527
  contains_url?: boolean;
5389
5528
 
5529
+ semantic_filter_min_threshold?: number;
5530
+
5390
5531
  severity?: string;
5391
5532
 
5392
5533
  threshold?: number;
@@ -5397,6 +5538,8 @@ export interface TextRuleParameters {
5397
5538
 
5398
5539
  harm_labels?: string[];
5399
5540
 
5541
+ semantic_filter_names?: string[];
5542
+
5400
5543
  llm_harm_labels?: Record<string, string>;
5401
5544
  }
5402
5545
 
@@ -5535,9 +5678,13 @@ export interface TypingIndicatorsResponse {
5535
5678
  enabled: boolean;
5536
5679
  }
5537
5680
 
5538
- export interface UnbanActionRequest {}
5681
+ export interface UnbanActionRequest {
5682
+ decision_reason?: string;
5683
+ }
5539
5684
 
5540
- export interface UnblockActionRequest {}
5685
+ export interface UnblockActionRequest {
5686
+ decision_reason?: string;
5687
+ }
5541
5688
 
5542
5689
  export interface UnblockUsersRequest {
5543
5690
  blocked_user_id: string;
@@ -5549,6 +5696,8 @@ export interface UnblockUsersResponse {
5549
5696
 
5550
5697
  export interface UnfollowBatchRequest {
5551
5698
  follows: FollowPair[];
5699
+
5700
+ delete_notification_activity?: boolean;
5552
5701
  }
5553
5702
 
5554
5703
  export interface UnfollowBatchResponse {
@@ -5574,6 +5723,8 @@ export interface UnpinActivityResponse {
5574
5723
  }
5575
5724
 
5576
5725
  export interface UpdateActivityPartialRequest {
5726
+ handle_mention_notifications?: boolean;
5727
+
5577
5728
  unset?: string[];
5578
5729
 
5579
5730
  set?: Record<string, any>;
@@ -5588,6 +5739,8 @@ export interface UpdateActivityPartialResponse {
5588
5739
  export interface UpdateActivityRequest {
5589
5740
  expires_at?: Date;
5590
5741
 
5742
+ handle_mention_notifications?: boolean;
5743
+
5591
5744
  poll_id?: string;
5592
5745
 
5593
5746
  restrict_replies?: 'everyone' | 'people_i_follow' | 'nobody';
@@ -5596,7 +5749,9 @@ export interface UpdateActivityRequest {
5596
5749
 
5597
5750
  text?: string;
5598
5751
 
5599
- visibility?: string;
5752
+ visibility?: 'public' | 'private' | 'tag';
5753
+
5754
+ visibility_tag?: string;
5600
5755
 
5601
5756
  attachments?: Attachment[];
5602
5757
 
@@ -5686,12 +5841,16 @@ export interface UpdateCollectionsResponse {
5686
5841
  export interface UpdateCommentRequest {
5687
5842
  comment?: string;
5688
5843
 
5844
+ handle_mention_notifications?: boolean;
5845
+
5689
5846
  skip_enrich_url?: boolean;
5690
5847
 
5691
5848
  skip_push?: boolean;
5692
5849
 
5693
5850
  attachments?: Attachment[];
5694
5851
 
5852
+ mentioned_user_ids?: string[];
5853
+
5695
5854
  custom?: Record<string, any>;
5696
5855
  }
5697
5856
 
@@ -5841,6 +6000,8 @@ export interface UpsertActivitiesResponse {
5841
6000
  duration: string;
5842
6001
 
5843
6002
  activities: ActivityResponse[];
6003
+
6004
+ mention_notifications_created?: number;
5844
6005
  }
5845
6006
 
5846
6007
  export interface UpsertConfigRequest {
@@ -5984,6 +6145,12 @@ export interface UserDeactivatedEvent {
5984
6145
  user?: User;
5985
6146
  }
5986
6147
 
6148
+ export interface UserIdenticalContentCountParameters {
6149
+ threshold?: number;
6150
+
6151
+ time_window?: string;
6152
+ }
6153
+
5987
6154
  export interface UserMute {
5988
6155
  created_at: Date;
5989
6156
 
@@ -6162,6 +6329,12 @@ export interface UserResponsePrivacyFields {
6162
6329
  teams_role?: Record<string, string>;
6163
6330
  }
6164
6331
 
6332
+ export interface UserRoleParameters {
6333
+ operator?: string;
6334
+
6335
+ role?: string;
6336
+ }
6337
+
6165
6338
  export interface UserRuleParameters {
6166
6339
  max_age?: string;
6167
6340
  }